HTX012 – Central DCC++ con Loconet

Introducción

En este nuevo capítulo vamos a describir como realzar una central digital completamente funcional con tan solo 3 componentes.

Como bien sabéis, si habéis leído mis capítulos anteriores, desgraciadamente me quede sin la DR5000 que tan bien funcionaba. Es cierto que algunas funcionalidades iban bien como era precisamente la generación de la señal DCC pero siempre que se controlara la central por el puerto USB o usando Loconet sobre TCP aunque el propio puerto Loconet no funcionaba.

Esta central que os comento está ampliamente descrita en muchos foros de internet y es que con tan solo una placa de Arduino (UNO o Mega) y un escudo MotorShield es posible generar una señal DCC completa según la normativa NMRA para vía principal y para vía de programación.

Proyecto

Por estos mundos de internet existen varias centrales basadas en Arduino. La más conocida y una de las primeras que se dieron a conocer es la DCC++ que tiene su proyecto en Github donde podéis descargar los archivos originales. Este proyecto hace tiempo que no se actualiza.

Por otro lado y debido a que el proyecto anterior se quedó parado, ha surgido también el proyecto DCC-EX que amplia mucho más las características de la central original incluyendo por ejemplo la posibilidad de integrar un servidor WiThrottle para manejar los trenes mediante una aplicación móvil de nuestro teléfono.

A pesar de ser magníficos proyectos y con mucho futuro por delante (al menos el DCC-EX) había una característica que ninguno de los proyectos incluye de fábrica y no es más que conectividad Loconet.

Pero como en muchas otras ocasiones Dani Guisado ya había pensado en eso. Ha conseguido integrar la biblioteca Loconet para Arduino con la central DCC++ creando una sencilla (y muy barata) central digital controlable vía Loconet.

Quiero hacer un paréntesis para expresar públicamente a Daniel Guisado su ayuda desinteresada ante las dudas que me he ido encontrando por el camino y por su puesto por todos sus grandes proyectos que tan buenos ratos me está haciendo pasar. MUCHAS GRACIAS!

Tened en cuenta que esta central es para integrarla en una red Loconet ya existente. Ella sola, por si misma, no genera ninguna red Loconet ni se pueden manejar otros componentes a través de ella.

El listado de materiales que necesitamos son los siguientes:

MotorShield

Lo primero que debemos «apañar» es el MotorShield.

Su función es transformar la señal generada por el arduino que irá a unos 5V a una señal DCC normalizada. Esto se realiza mediante el uso de un puente H que se alimenta con una tensión más elevada de lo que un arduino puede soportar. Para la escala N suele ser de unos 12V en corriente continua. Para otras escalas puede ser de 14V a 24V.

Si se alimenta el MotorShield con 12V esa misma tensión de entrada le puede llegar al arduino por la patilla de Vin y fundirlo literalmente. Por este motivo hay que cortar la entrada de Vin del MotorShield para evitar que dicha tensión llegue al Vin del arduino.

En la imagen anterior se puede ver marcado en rojo lo que debemos cortar con ayuda de un cutter afilado o la punta de unas tijeras. Para estar seguros de que se ha hecho correctamente, con un polímetro medimos si hay continuidad entre los dos contactos marcados.

Con este «apaño» hecho ya podemos alimentar nuestro MotorShield con la tensión que necesitemos. La entrada de esa alimentación está marcada con Vin y GND en los terminales de bloque atornillables. Las salidas marcadas como A+A- corresponden a la salida para la vía principal y B+B- a la salida para la vía de programación.

A continuación pasamos al Arduino Mega.

Arduino Mega 2560

Al arduino no hay que hacerle nada de bricolaje. Solo hay que conectarlo al PC mediante su cable USB y cargarle el sketch de la central.

Para eso nos descargaremos el sketch desde aquí:

o desde el Github de Dani Guisado y lo cargamos en el Mega.

En este punto tengo que hacer una parada para comentar una cosa que no me funcionó con el sketch. El diseño original de la central viene con 3 botones para encender la central, apagarla o hacer una parada de emergencia. Esos 3 botones van a unos pines del Mega y por alguna razón que desconozco, a mi no me han funcionado bien. Cuando intentaba encender la central desde RocRail, automáticamente se me apagaba y nunca llegaba a dejar la alimentación activa en la vía.

Creo que es problema de mi placa Mega que internamente debe tener algún defecto de fábrica y cortocircuita los pines de encendido y apagado.

De todas formas esos botones se pueden poner de forma externa conectados también a la red Loconet, así que para mi no es importante tenerlos.

Para deshabilitar esos botones hay que entrar en el archivo Config.h y donde pone #define NO_BUTTONS hay que poner cualquier otro número distinto de 0. Yo he puesto un 1

Tan solo queda compilar y subirlo.

Con esto nada más ya tendríamos la central perfectamente lista y preparada para funcionar.

El MotorShield habría que pincharlo en su sitio (solo entra de una forma) y alimentarlo con una fuente de 12V en corriente continua. Conectarle cables para la vía de programación y la vía principal y por último alimentar/conectar la placa de arduino al PC por USB.

Mediante aplicaciones como RocRail o JMRI se puede configurar la central como una central DCCpp, configurarle el puerto serie al que está conectada y empezar a manejarla. Por el monitor serie también se le pueden enviar comando por teclado, aunque teniendo las aplicaciones es tontería meter comandos a mano.

No me detengo en explicar como se configura en las aplicaciones porque el fin de esta central no es terminar conectada por USB al PC sino estar integrada en la red Loconet y ser manejada por este bus.

Aquí es donde necesitaremos una interfaz para conectar la red Loconet a nuestra central y ya de paso alimentarla directamente por esta red mediante Loconet-T.

En un futuro también le pondré una salida de Loconet-B para conectarla a los booster Loconet. HTX013 en desarrollo.

HTX012

Se podría poner como interfaz una HTX001 alimentada por Loconet-T y funcionaría perfectamente. De hecho las pruebas realizadas han sido con esta placa como interfaz. Pero dicha central tiene algunas opciones extra que aporta más información visual sobre el estado de la misma como son unos LEDs de estado. Rojo para parada de Emergencia, Verde para encendido y Amarilla para apagado.

Para aprovechar estas características he preferido diseñar una nueva placa que encaja perfectamente con estas opciones y le he incluido un conector Loconet-T que en los pines 1 y 6 va a tener 12V para alimentar la propia placa, el arduino y el MotorShield.

Los pines de transmisión y recepción de Loconet están ubicados en los pines 47 y 48 del Mega (en el UNO están en el 7 y 8) , le he puesto el estabilizador de tensión para pasar de los 12V del Loconet a los 5V que necesita Arduino apara funcionar correctamente así como unos LEDs de estado la señal de Loconet. (Al final lo he eliminado porque me daba un fallo eléctrico).

Si no queréis mandar a fabricar la placa, la podéis montar en una placa perforada con forma de Mega. En realidad solo se va a necesitar una sola interfaz a no ser que queráis montaros varias centrales y usarlas a modo de booster.

OJO a este detalle que os acabo de comentar. La central manejada vía Loconet se puede usar como central «esclava» con la capacidad de generar la misma señal DCC que en el resto de la maqueta pero para su tramo aislado. Tiene su propio MotorShield que alimentará el tramo de vía aislado y recibirá las órdenes por el mismo cable Loconet.

Es cuestión de plantearse si por el precio que tiene todo el montaje merece la pena comprar un booster o instalar otra central DCC++ Loconet para que genere la señal DCC.

Montaje

El montaje de la placa es sencillo, pero hay que tener cierta precaución al tener que usar siempre un soldador.

Con el diseño de la placa que tenemos en el PDF vamos a ir ubicando los componentes en su sitios correspondientes y con mucha paciencia iremos poniendo puntos de soldadura en las vías por donde salen las patillas de los componentes. Se pueden usar estas patillas que sobran para doblarlas e ir dando forma a las «pistas» que haremos con todos los alambritos que sobran de otros proyectos. Si somos más de cables, pues iremos puenteando las conexiones entre los componentes, pero pienso que puede quedar una buena madeja de cables si no se hace bien.

Para las pistas que se cruzan sobre otras se aislará con cinta aislante o algún otro material que tengamos a mano y que cumpla su función. En mi caso he usado el cartoncillo donde vienen enganchados los componentes electrónicos.

Recomiendo ir empezando por la parte de alimentación que transforma la entrada de 12V que viene de los pines 1 y 6 del Loconet a los 5V que usaremos para alimentar la placa de arduino.

Comprobaremos que tenemos unos 5V estabilizados.

Una vez sabemos que tenemos la tensión correcta, terminamos de poner el resto de componentes y vamos comprobando de vez en cuando que la tensión la seguimos teniendo estable y no hemos provocado ningún cortocircuito.

Para facilitaros la labor y que quede un poco más estético he diseñado una pequeña placa que se acopla perfectamente al espacio sobrante de nuestra central DCC++. Tiene las mismas características que la que habéis visto en las fotos anteriores salvo que no tenéis que ir haciendo las pistas con los alambritos sobrantes.

Solo mandarla a fabricar y soldar los componentes.

Recomendaciones:

Aunque los componentes usados son los normales de orificio pasante, os quiero dejar unas pautas a la hora de soldar para que os quede perfecto ( y no cometer los mismos errores que yo)

  • Empezad por el estabilizador de tensión 7805 que va por la parte de abajo y luego por el diodo D3 que va por la parte superior.
  • Los condensadores C5 y C6 son polarizados!! Vigilad la posición para mantener esta polaridad. Con que sean de 16V sería suficiente y así evitamos que sean demasiado gordos. Yo le he puesto uno de 25V y sobresale un poco de su sitio.
  • El transistor tiene las patillas muy juntas, así que mejor soldar las patillas de los extremos por una cara y la patilla central por la cara opuesta a las anteriores. Así evitáis posibles cortocircuitos entre las pitas.

Cuando esté todo soldado, pinchamos nuestra HTX012 al arduino y junto a esta le ponemos el MotorShield.

Recordar que para el arduino Mega se debe puentear el pin 2 con el 13.

El conjunto montado quedaría tal que así:

Como podeis ver, todo queda más estético.

Ahora tan solo habría que conectar al MotorShield la alimentación de 12V en continua, los cables de las vías (principal y programación) y el cable Loconet. Nada más. Todo el conjunto toma la alimentación de los 12V que tiene el Loconet-T en sus pines 1 y 6.

Os dejo un vídeo para que veáis como funciona:

Descargas:

A continuación os dejos los archivos para fabricaros vosotros la placa:

Sketch:

Gerbers:

Esquema y placa:

Espero que sea de utilidad.

2 comentarios

    • Hello!
      I don’t have it for sale. I have published the gerber files so that you can send them to be manufactured by companies like JLCPCB or PCBWay, which are very economical. Sorry for the inconvenience.

Responder a Jean BYA Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *