Control del circuito RLY08 desde Visual Basic por USB
Por Pablo Pompa
El circuito RLY08 tiene 8 reles que se pueden conectar y desconectar a voluntad en función de
las ordenes recibidas desde un puerto serie o bien desde un bus I2C. Tal y como se ha hecho con otros circuitos con bus I2C,
lo que se va a hacer es controlar este circuito de control de reles por USB desde una aplicación realizada en Visual Basic
6.0 y que permite controlar el encendido y apagado de los reles.
El circuito de interfaz USBI2C proporciona la conexión entre el PC y el circuito RLY08,
además también suministra los 5V de alimentación necesarios para el funcionamiento del mismo, por lo
que todo el conjunto se alimenta directamente desde el bus USB del ordenador y no es necesaria ningún tipo de fuente
de alimentación externa. El circuito USBI2C se conecta al ordenador con la ayuda de un cable
USB de tipo AB y una vez instalados los controladores necesarios (consultar la página del producto
aquí) el circuito aparece en el PC como si fuera un puerto serie, por lo que a efectos del programa de control,
todas las ordenes se envían a un puerto serie.
La Electrónica
Desde el punto de vista del montaje, lo único que hay que hacer es conectar el circuito RLY08 con el circuito USBI2C con
un cable de 4 hilos. Como este último ya incluye las resistencias de polarización necesarias para el funcionamiento
del bus I2C, basta con realizar las conexiones entre todos los pines para que esté listo. El pin de modo del RLY08
no es necesario conectarlo y se puede quedar libre, aunque se ha preferido hacerlo para mayor compatibilidad en las conexiones.
Para mayor claridad se muestra a continuación el esquema eléctrico del montaje en el que queda patente su
sencillez.
El programa
El programa de control esta escrito utilizando Visual Basic 6, que es uno de los lenguajes mas conocidos y populares entre
los aficionados a la robótica por su facilidad de uso y sencillez de aprendizaje. Se incluye el proyecto completo
tanto en versión compilada y lista para instalar en cualquier ordenador con Windows, como el código fuente
comentado para facilitar su comprensión y entendimiento.
Como puede verse en la imagen se tiene una representación gráfica del estado de los relés haciendo que los
leds se enciendan cuando el led correspondiente este activado, tal y como ocurre en el circuito real. Esto se solo un efecto
gráfico y no es importante para controlar los reles desde el punto de vista de la programación.
EL botón "Status" muestra la versión actual del circuito RLY08 y actualiza el estado de los reles de la pantalla con el
que tiene el circuito actualmente. También muestra el valor correspondiente en decimal al estado de los relés. El resto de
los botones son bastante autoexplicativos y no necesitan mas comentarios.
Aunque en principio el programa está diseñado para controlar un solo circuito RLY08, recuerde que se pueden colocar hasta
8 circuitos en el mismo bus I2C, con lo que se tienen un total de 64 reles. Si se quieren manejar mas de 8 reles, es necesario
adaptar el programa, bien seleccionando el número de módulo como un parametro mas, o bien cambiando la interfaz para acceder
directamente a cada uno de los relés. Esto ya es una cuestión de las necesidades de cada uno y que se puede resolver fácilmente
partiendo del programa mostrado.
Para facilitar el cambio de dirección de los diferentes circuitos, se ha incluido un botón "Cambiar Dirección" que
como su nombre indica lo que hace es cambiar la dirección interna del circuito RLY08 conectado al bus I2C. Para ello
se selecciona el valor actual del circuito ( por defecto es 0X70) y el valor nuevo. Es muy importante que solo haya un circuito
conectado al puerto I2C cuando se haga el cambio de dirección, de lo contrario se obtendrían resultados impredecibles.
Recuerde que es necesario que cada circuito tenga su única dirección dentro del bus I2C. Los valores permitidos
son 70, 72, 74, 76, 78, 7A, 7C y 7E. Una vez cambiada la dirección del RLY08, es conveniente escribir la nueva dirección
en alguna parte del mismo de forma que sea fácilmente identificable y así evitar confusiones.
Puede descargar el programa RLY08I2C completo incluyendo el código fuente aquí.
|