Hardware Loconet

Como ya he comentado en otras ocasiones, después de buscar y rebuscar información para poder elegir un bus de datos para mi módulos, finalmente opté por el bus Loconet.

En el mercado existen infinidad de productos disponibles, todos compatibles con este protocolo y que se pueden intercambiar entre ellos en la misma instalación.

Entre todos esos productos, existen algunos que te los puedes construir tu mismo o vienen en forma de kits para que los termines de montar en casa. De todos estos, los que están diseñados para ser programados con Rocrail son las placas de Peter Giling entre las que puedes encontrar infinidad de opciones.

Personalmente me ha gustado la solución propuesta por Dani Guisado en su magnífico blog del Club N Caldes, el cual recomiendo que visitéis. Dicha solución consiste en usar Arduinos como "unidad de control" de los productos ofrecidos por Peter Giling. 

Hablar ahora de Arduino enfocado al modelismo ferroviario sería una barbaridad por la cantidad de contenido que se podría mencionar, así que me centraré en la parte que nos ocupa, el bus Loconet.

Entre Dani Guisado y Peter Giling, han diseñado la placa GCA185 que no es más una interfaz para conectar un Arduino con el bus Loconet. Esto es posible también a una librería especial de Arduino que se encarga de interpretar los mensajes que se envían por el bus Loconet. La librería la tenéis disponible en la web de MRRWA o pinchando aquí.

Gracias al trabajo realizado por Dani Guisado, podemos tener los programas para cargar en los Arduinos y que se puedan programar con Rocrail como si de otra placa de Peter Giling se tratara, pero con un costo mucho más asequible. En el blog de Dani podréis encontrar los diferentes programas o directamente aquí.

Respecto a la parte hardware que es el motivo de este post, hay que remitirse igualmente a la web de MRRWA donde se pueden ver el esquema necesario para pode conectar un Arduino al bus Loconet


Con este sencillo esquema y los programas de Dani, podemos tener la mayoría de decodificadores que existen para conectar con el bus Loconet.

Rápidamente me puse manos a la obra y en una protoboard comprobé el perfecto funcionamiento del esquema programado en un Arduino UNO.




El siguiente paso, pero solo por asegurarme y dar una vuelta de tuerca más al asunto, fue diseñar y construir una placa física pero con la característica de poder "instalar" tanto un Arduino UNO como un Arduino NANO. Así nació la primera placa HTX003 v1.0


El funcionamiento era el esperado ya que se ha seguido el esquema básico de MRRWA y las explicaciones dadas en el propio código del programa escrito por Dani. Es importante este punto ya que puede llevar a errores con los pines usados en las placas. Me explico. El esquema de MRRWA termina con dos etiquetas de Tx y Rx que si se lee el programa de Dani corresponden a los pines 7 y 8 respectivamente. En otros programas que circulan por la red, alguno de estos pines pueden variar. He comentado que esto es importante ya que antes de diseñar esta placa, realicé otra sin ver antes el programa de Dani y el detalle de que hay que conectar los pines 7 y 8 de Arduino. Con tofo esto mandé a fabricar una placa mucho más pequeña que la actual (solo usaba un Arduino NANO) con un error de diseño. El Arduino NANO tiene unos pines llamados Tx y Rx, lo que me llevó al error de hacer corresponder estos pines con los del esquema anterior. ERROR!!! El Arduino hacía cosas raras....y creo que me he cargado el bootloader de las NANO. 


Al menos ya se que errores no cometer.

El nuevo diseño (espero que esta vez sin errores) lo he realizado teniendo en cuenta lo descrito anteriormente, la concordancia entre los pines reales y los del esquema y la opción de usar tanto el Arduino UNO como el Arduino NANO.

Aun están en proceso de fabricación, pero os adelanto el diseño que tendrá la HTX003.


Mi placa está diseñada para poder ser alimentada tanto por el propio bus Loconet, como por alimentación externa de 12V DC. Un estabilizador bajará la tensión de ambas entradas a los 5V necesarios para que todo funcione. De esta forma no forzamos el estabilizador interno de Arduino y que se recaliente innecesariamente. Los Arduinos están alimentados por el pin de 5V, no por el Vin.


Si todo sale bien, en posible que la siguiente revisión que haga de esta placa le ponga en lugar de los conectores RJ12 que normalmente usa Loconet, los DB9 que tienen las placas de Peter Giling y que el Club N Caldes usa en su normativa.

Como todo lo recibido y aprendido ha sido gracias a otras personas que muy amablemente me han cedido parte de su tiempo para dedicármelo a dudas y cuestiones varias, todos los diseños que haga estarán disponibles para su descarga y que cada uno se los fabrique como quiera. Lo que viene siendo la filosofía Open Hardware.



Como detalle, indicar que a partir de ahora todas mis placas vendrán con un pequeño logo que he diseñado a modo de distintivo ( o más bien capricho, jejeje)


Seguiré informando en cuanto estén las nuevas placas HTX003



Comentarios

Entradas populares de este blog

HTX004 - Gestor de bucles de retorno

HTX003 - Shield Loconet

HTX002 - Sensores de ocupación