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
  • 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

B. CONFIGURACIÓN DEL ROUTER

Se puede usar cualquier router, basta que se pueda configurar para diseñar la red, en mi 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.


Para la red LAN definimos las direcciones IP dinámicamente para que las entregue a los equipos que se conecten ya sea por cable o por wifi.


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:


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).
  • 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 LABVIEW HACIA 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.
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.

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.





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%.


Cuya ecuación es: y=25x-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 de PWM del motor principal
  6. Puerto D4 salida para de control del motor en sentido horario
  7. Puerto D5 salida para de luces frontales
  8. Puerto D6 salida para de 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

No hay comentarios:

Publicar un comentario