2. http://automodeloip.blogspot.com/ Página 1
CONTENIDO
INTRODUCCIÓN..................................................................................................................1
¿QUÉ NECESITAMOS?........................................................................................................1
DESARROLLO....................................................................................................................4
CONFIGURACIÓN DE EQUIPOS ...................................................................................... 4
TRASMISIÓN Y RECEPCIÓN DE DATOS............................................................................ 9
ACONDICIONAMIENTO DE VOLTAJES PARA LECTURA DE BATERÍAS ............................... 13
CONEXIÓN DE PINES DE ENTRADAS Y SALIDAS DEL ARDUINO.......................................... 2
ESQUEMÁTICOS..................................................................................................................1
DISEÑO DE PCB.................................................................................................................1
CODIGO EN ARDUINO................................................................................................1
CODIGO EN LABVIEW...................................................................................................1
IMÁGENES DEL PROYECTO CONCLUIDO.......................................................................2
3. http://relojcalendariotemyhum.blogspot.com/ Página 1
INTRODUCCIÓN
Un Automodelo IP, es un vehículo a escala desarrollado en Arduino y
controlado desde LabVIEW a través de comunicaciones inalámbricas
wifi, también llamada WLAN o estándares IEEE 802.11.
Este proyecto consiste en el diseño y construcción de un vehículo a
escala en la plataforma Arduino y control en la plataforma LabVIEW
2012 desde cero incluida la tarjeta Arduino, con funcionalidades
similares a un auto a escala mecánica y electrónicamente.
La tarjeta Arduino recibe y transmite la información necesaria para el
cálculo y control respectivo, como por ejemplo: control de velocidades
desde la 1ra hasta la 5ta marcha y reversa, control de direcciones
(izquierda y derecha) con luces intermitentes, control de ventiladores
para los circuitos electrónicos y motor, control de luces delanteras y
traseras, medida de niveles de energía de batería(s), y cálculo de
revoluciones por minuto (RPM).
El programa desarrollado en LabVIEW dispone de una interfaz idéntica a
un tacómetro vehicular, donde visualiza la velocidad actual del
vehículo, RPM, nivel de voltaje de la batería, etc.
4. http://relojcalendariotemyhum.blogspot.com/ Página 1
¿QUÉ NECESITAMOS?
Para este proyecto es muy indispensable disponer de un conjunto de
herramientas básicas de un laboratorio de electrónica: un soldador,
alambre de estaño, unos alicates de punta de aguja y cables.
Para el desarrollo de nuestro proyecto dispondremos de los siguientes
materiales:
1x Arduino UNO (o si prefieres puedes desarrollarla desde cero
para que el proyecto sea 100% original)
Un motor DC de 12 o 24 Voltios
1x WIZnet Serial-to-Ethernet Gateway - WIZ110SR (o por
preferencia se puede usar un Módulo Ethernet de Arduino).
1x servomotor
1x Router
1x Batería tipo Lipo de 11.1 Voltios a 4000 o 5000 mA
2x Kit de llantas
2x ventiladores de 5 Voltios
2x transitores TIP32, y 4 x TIP31
2x transitores 2N2222, 1 x BC548, 1 X 2N3906
1x transistor Mosfet IRF630
5x diodos 1N4007
2x diodos BY206
1x diodo Zener 1N4733A (5.1 Voltios)
2x Resistencias de 27 Ohms, y 1x 2.2Ohms. 2Watts C/U
4x Resistencias de 1KOhms, 1 x 100Ohms, 1 x 100KOhms, 3 x
4.7KOhms, 2 x 10KOhms, 2 x 220 Ohms, y 6 x 330Ohms. ¼ Watts C/U
5. http://automodeloip.blogspot.com/ Página 2
2x potenciómetros lineales de 50KOhms.
2x condensadores electrolíticos de 470uF,
1x condensador poliéster de 470 nF, 3 x 100uF, y 2 x 10uF
3x condensadores cerámicos de 100nF, 2 x 10nF, y 4 x 20nF
2x reguladores de voltaje 7805, y 1 x 7808
2x Leds de alto brillo blanco de 10mm, 2 Rojos de bajo brillo
10mm, y 4 amarillos de bajo brillo de 5mm,
1x Buzzer.
Regletas de espadines hembra y macho
3x Plugs DC
Moles de 3 y 4 pines (lo que sean necesarios)
Placa PCB (simple placa y doble)
Cable de red
Arduino UNO WIZnet WIZ110SR Router
Batería de Lipo Kit de llantas Ventilador de 5V
6. http://automodeloip.blogspot.com/ Página 3
Transistores Resistencias Potenciómetro lineal
Transistores Diodos
Condensadores
cerámicos
Condensadores
electrolíticos
Reguladores de
voltaje
Diodos LED
Buzzer Espadines hembra y
macho
Plugs DC
motor DC Molex PCB
7. http://automodeloip.blogspot.com/ Página 4
Servomotor Cable de red
DESARROLLO
CONFIGURACIÓN DE EQUIPOS
Con el objetivo de realizar la comunicación entre el prototipo y una
Laptop es necesario disponer de un módulo convertidor Serial a Ethernet
o Wifi. En este proyecto de usa una configuración entre la tarjeta Wiznet
WIZ110SR y un router para la comunicación entre la PC y la placa
Arduino. Es decir se crea una red LAN para dicha tarea.
A. CONFIGURACIÓN DEL MÓDULO WIZNET
Para realizar la tarea de transmisión de datos es necesario configurar
el módulo WIZ110SR como servidor, de tal manera que, permita a un
cliente conectarse a su red para el intercambiar de información
respectiva y que permita visualizarlos.
Los parámetros de configuración del servidor WIZ110SR son:
Dirección IP: 192.168.11.2
Máscara de Subred: 255.255.255.0
Puerta de enlace: 192.168.11.1
Dirección MAC: 0x00.0x08.0xDC.0x17.0xCF.0x3F
8. http://automodeloip.blogspot.com/ Página 5
Puerto local: 5000
Configuración serial del servidor WIZ110SR:
Velocidad de transmisión serial: 9600
Tamaño de bits de datos: 8 bits
Paridad: ninguna
Bit de parada: 1 bit
9. http://automodeloip.blogspot.com/ Página 6
B. CONFIGURACIÓN DEL ROUTER
Se puede usar cualquier router, basta que se pueda configurar para
diseñar la red, en m i caso dispongo de un router Trendnet TEW-6528Rp
de 300Mbps.
El router es configurado como un punto de acceso a la red, de tal
modo que ofrezca direcciones IP dinámicamente para que cualquier
host que pueda conectarse a él.
Tanto para User Name y Password es admin.
Para Wireless la configura es básica: canal, ancho de banda del
canal, y estándar 802.11 b/g/n. Se escoge el canal uno para evitar
interferencias entre otros redes y canales.
11. http://automodeloip.blogspot.com/ Página 8
C. CONFIGURACIÓN DE LA PC
Ingresamos al Centro de redes y recursos compartidos de la PC para
configurar el adaptador de red inalámbrico
Configuramos en propiedades el protocolo de internet versión 4
(TCP/IPv4).
De tal manera que ingresamos una dirección IP a la PC distinta a las
IP ya ocupadas (192.168.11.3), puerta de enlace que es la dirección IP
12. http://automodeloip.blogspot.com/ Página 9
del router (192.168.11.1) y la máscara de subred (225.225.225.0) para
estar en la misma red.
Si todo salió excelente podemos verificar la conectividad haciendo
ping desde la PC al módulo Wiznet
TRASMISIÓN Y RECEPCIÓN DE DATOS
Arduino trasmite y recibe información de la red LAN a través del
puerto serial del micro-controlador de para ser visualizada en un host las
variables de RPM y niveles de energía de la(s) batera(s), etc.
Un host se conecta a la red para trasmitir los datos de control al
prototipo como velocidades, direcciones, luces y buzzer mediante un
programa desarrollado en LabVIEW en protocolos TCP/IP disponibles en
las herramientas de la plataforma LabVIEW.
A. TRANSMISIÓN DE DATOS DESDE ARDUINO HACIA UN HOST
Arduino transmite su información por el puerto serial a una velocidad
de 9600 Baudios/s. Ojo es importante configurar el Modulo Wiznet y
Arduino a la misma velocidad, tamaño de datos, paridad, etc.
La trasmisión se la realiza durante cada 500 mili-seg. En una sola
trama de longitud estática como lo indica en la siguiente imagen:
13. http://automodeloip.blogspot.com/ Página 10
RPM en un tamaño de 3 digitos.
V1 y V2 trasmite el valor de voltaje en las baterías 1 y 2
respectivamente. Batería 1 es usada para energizar los circuitos, y
Bateria 2 es para el motor. Si prefieres puedes usar una sola batería para
conectar todo el proyecto y leer el nivel de voltaje en un solo punto de
la batería. V1 es conectado al puerto analógico 4 del Arduino y V2 al
puerto analógico 5 del Arduino.
V1 y V2 son trasmitidos en tamaños de 4 dígitos.
En importante trasmitir en tamaños de 21 caracteres toda la
información, de tal manera que no exista inestabilidad, desplazamiento
y lectura de datos erróneos al momento de recibir toda la información
en la plataforma LabVIEW.
B. RECEPCIÓN EN ARDUINO
Arduino recibe información desde cualquier host conectado a la red
para el control respectivo del prototipo:
Recibe el carácter ‘W’ para dar marcha al motor hacia
delante
Recibe el carácter ‘V’ para neutralizar marchas
Recibe el carácter ‘S’ para dar marcha al motor hacia tras
(giro reverso del motor).
14. http://automodeloip.blogspot.com/ Página 11
Recibe el carácter ‘0’ para realizar el cambio cero o neutral (el
motor no realizara la marcha hacia delante si este está en
cero)
Recibe el carácter ‘1’ para realizar el primer cambio (el motor
realizara la marcha hacia detente si la 1ra o hasta la 5ta están
activas)
Recibe el carácter ‘2’ para realizar el segundo cambio para
aumentar la velocidad.
Recibe el carácter ‘3’ para realizar el tercer cambio para
aumentar a velocidad media.
Recibe el carácter ‘4’ para realizar el cuarto cambio
Recibe el carácter ‘5’ para realizar el quinto cambio para
aumentar la velocidad máxima.
Recibe el carácter ‘A’ para dar giro a la izquierda, este
depende de cómo se conecta el servomotor. Y para la acción
intermitente de luces.
Recibe el carácter ‘H’ para neutralizar el giro del servomotor.
Recibe el carácter ‘D’ para dar giro a la derecha, y para la
acción intermitente de luces.
Recibe el carácter ‘G’ para el encendido de luces delanteras
Recibe el carácter ‘g’ para el apagado de luces delanteras
Recibe el carácter ‘F’ para el encendido de luces traseras
Recibe el carácter ‘f’ para el apagado de luces traseras
Recibe el carácter ‘T’ para el encendido del Buzzer
Recibe el carácter ‘t’ para el apagado del Buzzer.
C. TRANSMISIÓN DE DATOS DESDE LABVIEWHACIA UN ARDUINO
LabVIEW trasmite su información para el control del prototipo en el
protocolo TCP/IP disponibles en la paleta de funciones. LabVIEW 2012 o
una versión superior tiene que ser instalada en el computador que se
quiera conectar a la red.
15. http://automodeloip.blogspot.com/ Página 12
La información trasmitida es la información recibida por la tarjeta
Arduino, por ejemplo:
‘HV0tgf’
Donde ‘H’ es para no girar el vehículo, ‘V’ para neutralizar marchas,
‘0’ para no tener ningún cambio accionado, ‘t’ para apagar el buzzer,
‘g’ para apagar luces delanteras y ‘f’ para mantener apagadas las
luces traseras.
Los caracteres ‘W’, ‘S’, ‘A’ y ‘D’ son accionados por las teclas del
computador
Los caracteres ‘G’, ‘g’, ‘T’ y ’t’ son accionados por las teclas F2 y F3
del computador. F2 controla los caracteres ‘G’ y ‘g’, encendido o
apagado de las luces delanteras y F3 para el encendido y apagado del
buzzer.
Los caracteres ‘0’, ‘1’, ‘2’, ‘3’, ‘4’ y ‘5’ son accionados por las teclas
‘regpág’ y ‘avpág’ en HP o ‘PGUP’ y ‘PGON’ en cualquier computador.
‘regpág’ aumenta y ‘avpág’ decrementa los cambios que se desea.
16. http://automodeloip.blogspot.com/ Página 13
D. RECEPCIÓN DE DATOS EN LABVIEW
Como se ha mencionado antes, LabVIEW recibe toda la información
en una sola trama de longitud estática, por ejemplo:
RPM:120V1:0674V2:0509
Una vez recibida toda la información se desentrama cada variables
por separado para realizar los cálculos y visualizaciones respectivas
como por ejemplo: cálculo de velocidad actual del vehículo en cm/s,
RPM, niveles de energía en las baterías de 0 a 12V y de 0% al 100% tanto
para el motor como para los circuitos.
ACONDICIONAMIENTO DE VOLTAJES PARA LECTURA DE BATERÍAS
Es importante acondicionar los niveles de voltaje para lectura en los
puertos analógicos del Arduino de 0 a 5V. En nuestro caso se
acondiciona los niveles de voltajes para baterías de 11.5 voltios para 5
voltios de entrada en la tarjeta.
Entonces aplicando la ecuación de división de voltaje se obtendrá el
resultado de los potenciómetros.
𝑉𝑜𝑢𝑡 =
𝑅2
𝑅1 + 𝑅2
𝑉𝑖𝑛
𝑅1 =
( 𝑉𝑖𝑛 − 𝑉𝑜𝑢𝑡 ) 𝑅2
𝑉𝑜𝑢𝑡
𝑅2 = 10𝑘Ω, 𝑉𝑖𝑛 = 11.5𝑉, 𝑉𝑜𝑢𝑡 = 5𝑉
𝑅1 = 13𝑘Ω
17. http://relojcalendariotemyhum.blogspot.com/ Página 1
En LabVIEW se realiza el proceso inverso para obtener los niveles de
voltaje reales de las baterías, es decir de 5V a 11.5 voltios como nivel
máximo de la batería. Y adicionalmente se realiza un cálculo en
porcentaje de los niveles de energía de las baterías; como niveles
mínimos de las baterías es de 7.5V y máximos de 11.5V, es decir 7.5V =
0% y 11.5V = 100%.
50%
12
3
RV1
50k
R13
10k
50%12
3
RV2
50k
R14
10k
BAT1 BAT2
1
2
BATERIAS
CONN-SIL2
Acondicionamiento de baterias
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
5 6 7 8 9 10 11 12
Porciento(%)
Voltaje Bateria (V)
18. http://automodeloip.blogspot.com/ Página 2
Cuya ecuación es: 𝑦 = 25𝑥 − 187.5
CONEXIÓN DE PINES DE ENTRADAS Y SALIDAS DEL ARDUINO
La asignación de los pines de la tarjeta Arduino esa distribuida de la
siguiente manera:
1) Puerto Analógico A4 para batería 1, ya acondicionada
2) Puerto Analógico A2 para batería 2, ya acondicionada
3) Puerto digitales 0 (RX) y 1 (TX) para comunicación serial
4) Puerto D2 entrada para RPM
5) Puerto D3 salida para PWM del motor principal
6) Puerto D4 salida para control del motor en sentido horario
7) Puerto D5 salida para luces frontales
19. http://automodeloip.blogspot.com/ Página 3
8) Puerto D6 salida para control del motor en sentido anti- horario
9) Puerto D7 salida para control del ventilador 1
10)Puerto D8 salida para control del ventilador 2
11)Puerto D9 salida para control de luces traseras
12)Puerto D10 salida para Buzzer
13)Puerto D11salida para servomotor
14)Puerto D12 salida para luces intermitentes izquierda
15)Puerto D13 salida para luces intermitentes derecha.
23. http://automodeloip.blogspot.com/ Página 4
Placas de luces, Buzzer , servo, Fototransistor para PRM y acondicionamiento de voltajes para medir el nivel de voltaje en las baterías
R1
220
AK
LEFT 1
LED-YELLOW
AK
LEFT 2
LED-YELLOW
R3
330
R4
10k
AK FRONT1
LED-BLUE
AK
FRONT2
LED-BLUE
R2
220
AK
RIGHT1
LED-YELLOW
AK
RIGHT2
LED-YELLOW
R5
330
R6
10k
AK
T1
LED-RED
AK
T2
LED-RED
R7
330
R8
10k
Luces Frontales Luces intermitentes de Izquierda Luces intermitentes de Derecha Luces Traseras
Q1
BC548
BUZ1
BUZZER
R9
1.2k
1
2
3
RPM
CONN-SIL3
R10
330
R11
4.7k
Q2
2N3906
R12
1.2k
40%
12
3
RV1
1k
R13
10k
40%12
3
RV2
1k
R14
10k
1
2
3
SERVO
CONN-SIL3
1
2
3
4
FRO1
CONN-SIL4
1
2
3
4
TR1
CONN-SIL4
F
L
R
T
L
F
R
R
T
L
Servo
Servo
Buzz
Buzz
1
2
3
4
DIGITAL
CONN-SIL4
1
2
3
ANALOG/RPM
CONN-SIL3
BAT1 BAT2
RPM
RPM
BAT1
BAT2
1
2
3
4
PLA
CONN-SIL4
1
2
3
4
FRO2
CONN-SIL4
L
F
R
1
2
3
4
TR2
CONN-SIL4
L
T
R
L
F
T
R
1
2
BATERIAS
CONN-SIL2
Buzzer Acondicionamiento de baterias circuito del foto-transistor para RPM
Conexiones de molex