Tuesday, September 2, 2014

Buses de Control

Como resumen del post anterior, explicaba que existen varios sistemas de comunicación con los trenes (DCC, Selectrix, Motorola,..), y se basan en una Central que con un Booster modula la corriente eléctrica para enviar comandos a las locomotoras, que a su vez tienen instalado un "chip" que lee estos comandos y actúa según las instrucciones recibidas. Pero no hay que pensar mucho cuál escoger según mi opinión, porque el DCC se ha hecho con la mayoría del mercado (al menos en la escala N) aunque no sea el mejor ni el mas versátil.

Luego vimos que debido a las carencias del DCC aparecieron otros buses muy sencillos para enviar información en sentido contrario (de los retromódulos a la central) como el RailCom y el S88. Pero actualmente también están totalmente desfasados, sobretodo el S88 que no tiene ni sistema de control de errores.



Y creo que de lo siguiente que hay que hablar a la fuerza es de los Buses de Control, antes de entrar ya de lleno en diseccionar los distintos elementos de los que se compone una maqueta digital. ¿Y por qué? Pues porque actualmente todo planteamiento de un sistema digital se basa en un Bus de Comunicaciones central por el que se comunican los diferentes elementos de la maqueta. Y todos los elementos, han de ser compatibles con este tipo de bus.

Logotipos de diferentes buses actuales

Así, en lugar de elegir en primer lugar la central digital que mas nos guste (y por aquí suele empezar todo el mundo), creo que el acercamiento mas correcto es elegir en primer lugar el Bus de comunicaciones. Para elegir el bus hay que examinar sus prestaciones, compatibilidad de fabricantes, número de centrales, módulos y retromódulos compatibles, prestaciones, compatiblidad también con los distintos softwares de control disponibles...

Pero antes de nada... ¿qué es un Bus? Citando wikipedia: "En arquitectura de computadores, un bus es un sistema de comunicaciones que transfiere datos entre componentes dentro de una computadora, o entre computadoras. Esta expresión engloba todos los componentes de hardware relacionados (cable, fibra optica,  etc.) y software, incluyendo los protocolos de comunicación."
Esto significa que en un bus se define el medio físico; tanto por dónde enviamos los datos, como ahora dos cables, ondas en el caso de la radio o la wi-fi, fibra óptica..), como los tipos de conectores usados (USB, microUSB, SUBD9, RJ12, ...) y cualquier otra característica física como las topologías soportadas.
También se define el protocolo de comunicaciones o dicho de otra manera, cómo circulan los datos por este medio físico y qué comandos tiene o cómo se forman los mensajes que se pueden enviar y recibir y todo lo referente al software y a la programación para poder enviar y recibir ordenes/comandos/mensajes.

Hay decenas de buses en el mercado, y muchos fabricantes han diseñado el suyo propio del que se guardan recelosos las especificaciones y protocolos como un gran secreto industrial para que todos los elementos de la maqueta se le tengan que comprar a él. Estos son de los primeros de los que tendríamos que huir por la falta de compatibilidad y versatilidad que nos puede ofrecer un único fabricante a menos que estemos totalmente seguros que sus productos cubrirán todas nuestras expectativas y estemos dispuestos a pagar sus precios.

En segundo lugar hay otra serie de buses que han creado grupos de usuarios y son totalmente abiertos y públicos, pero que en muchos casos todo el hardware tendrá que ser fabricado por nosotros mismos. A menos que tengamos grandes conocimientos tanto de electrónica como de programación, son una opción complicada.



Y el tercer tipo de buses del que tenemos que huir, son los basados en tecnologías antiguas. A mi entender, cualquiera que no esté basado en una arquitectura Peer to Peer (ver información de Peer to Peer). En las arquitecturas Peer to Peer (que se llaman Redes, mas que Buses) no existe la figura de un componente en la Red o el Bus que es "la cabeza" o "el master" y el resto que son "esclavos" o simples "oyentes"; al contrario, todos a la vez son "masters" y "esclavos", o dicho de otra manera, cualquiera de ellos se puede comunicar con cualquier otro o todos a la vez y enviar información a la vez de recibirla. Además ofrecen una topología ("manera de conectar") muy flexible, permitiendo enlazar todos los elementos uno detrás de otro (en línea), en estrella, arbol, o una combinación de varios de ellos:


Con esto se puede ver la gran importancia del Bus de comunicaciones (dejando de banda la comunicación DCC con las locomotoras, aquí repito que para mi no hay otras opciones válidas que no mejores), y cómo de fatal podría ser el error de elegir una Central porque es "chula" o está bien de precio y que nos obligue a usar un Bus de datos poco fiable, con pocas opciones de compra o que a largo plazo puede ser extremadamente caro.

No quiero dejar el tema tan abierto para que todo el mundo siga pensando "vale, muy bonito, pero qué bus utilizo?!?!?". Así mi recomendación personal, que creo que es la que mejor se puede adaptar a todo tipo de ferromodelistas, es Loconet:

* Es un bus tipo Peer to Peer
* Muy flexible en cuanto a la tipología, permite desde una simple y en línea hasta la utilización de concentradores y combinar con estrella o árbol
* Hay acceso a las especificaciones técnicas del Bus. Es propiedad de un único fabricante (licenciado a Digitrax), pero el protocolo es público. A nivel particular se puede acceder a las especificaciones y uno mismo programar o construirse lo que quiera.
* Múltiples fabricantes. Han cedido o vendido licencias a otros fabricantes para que sus elementos (Centrales, mandos de control, retromódulos, módulos de salidas, sonido...) sean 100% compatibles con Loconet.
* Opción de DIY (Do-it-yourself). Si os va el bricolaje y fabricaros vuestras propias placas electrónicas y módulos, hay muchos diseños publicados en internet.
* Compatible con Arduino. Para mi lo que mejor de todo, existe un shield Loconet para Arduino (Giling Computer Applications) con lo que cualquier Arduino podemos programarlo para que haga de retromódulo, de módulo de salidas, hacernos un mando propio, un fastclock, o cualquier otra cosa que se nos ocurra.

No quiero decir que sea absolutamente la mejor opción y la gran panacea, pero yo es la que tengo y la que recomiendo. He de confesar que si comenzara de nuevo, y porque me gusta mucho fabricarme yo mismo las cosas, utilizar Arduino y soy programador, tal vez escogería un C-BUS contradiciendo lo anteriormente dicho.

Pero como se trata de enseñar algo práctico, y en lo que se haya tenido experiencia y no sólo teoría, a partir de ahora hablaré de la combinación que yo conozco: DCC y Loconet