Central digital por 12 Euros
#1
Hola,

Abro este hilo para compartir con vosotros cómo montarse una central digital por 12 euros. Si, repito, 12 euros. Ya delanto que de salida y por ese precio tendréis mas prestaciones que un Multimaus, ya que por ejemplo tendréis via de programación independiente para leer y escribir CVs. Y además, no es necesario soldar nada.

En este primer post os enseño como hacer el montaje básico, que no es mas que una traducción de la página https://sites.google.com/site/dccppsite/home ya que el proyecto y el código básico no es mío. En futuros post iré ampliando las posibilidades de la central para añadirle un bus Loconet y otras funcionalidades, pero este montaje que os explico lo aprovecharéis al completo para futuras versiones. Las características de esta central son:
  • Soporta el set completo de instrucciones del standard NMRA DCC
  • Direcciones cortas y largas de locomotora
  • 128 pasos de velocidad
  • 2048 direcciones de accesorios 
  • Programación en la vía principal
  • Escritura de bytes en CVs
  • Escritura de bits de variables
  • Control simultáneo de hasta 12 locomotoras (2 Amperios máximo)
  • Control de todas las funciones de decoders de la F0-F28
  • Programación en vía especial de programación, con lectura y escritura de bytes y bits
  • Información de consumo y detección de cortos

En primer lugar, la lista de materiales necesarios:

- Un motor shield r3. Yo lo he comprado en ebay.com por menos de 5eur con envío incluido. Os dejo el link aqui.
[Imagen: Screen%20Shot%202016-01-02%20at%2010.34....&width=320]
- Un arduino MEGA 2560, que vale menos de 8 euros por ebay.com. Aquí os dejo también el link. Con la versión de Arduino UNO, que sólo vale 3 euros, también funciona perfectamente. Pero para las ampliaciones que pienso hacerle a la central es mejor disponer de la versión MEGA 2560. Así que por 5 euros de diferencia mejor id a este tipo de Arduino directamente.

[Imagen: Screen%20Shot%202016-01-02%20at%2010.12....&width=400]

- Una fuente de alimentación de 12V, en mi caso estoy utilizando una fuente de alimentación de un ordenador viejo. Por los cables amarillo y negro nos da 12Vcc. Pero cualquier transformador de 12V continua que nos de 2Amperios de salida mínimo nos valdrá para escala N. Si fuera para escala HO, entonces el transformador sería mejor que fuera de 15 a 20Vcc.

Software:

Para preparar la central y manejara necesitaréis el siguiente software que es gratuito:
- Arduino IDE: Este es un programa necesario para cargar el programa de la central en el Arduino. Sólo lo utilizaremos una vez para cargar el programa, y en el futuro si queremos instalarle actualizaciones. Lo bajáis de la página oficial de Arduino y lo instaláis: https://www.arduino.cc/en/Main/Software
- Programa Base STation DCC++: Este es el programa que cargaremos en el Arduino mediante el Arduino IDE, os lo podéis bajar de la página oficial https://sites.google.com/site/dccppsite/, o haciendo click aquí directamente.
- JMRI: Este es el programa para manejar locomotoras, programar decos, etc. En futuras versiones la central será compatible con otros, pero de momento tal y como han hecho el software sólo es compatible con JMRI. Vais a la página http://jmri.sourceforge.net/download/index.shtml y os bajáis la versión para vuestro sistema operativo del apartado "Production Release". Veréis que hay version para Windows, Java y Mac OS.


Montaje:

Más fácil imposible:
0- Primero cortad el pad que hay bajo la placa del motor shield marcado como Vin. Esto es porque vamos a alimentar el motor shield con una fuente externa, en lugar de coger los 12V directamente del arduino:

[Imagen: MotorShield_R3_Back_450px.jpg]

1- Pincháis el motor shield encima del Arduino. Sólo hay una manera de pincharlo de manera que los pines coincidan, así que no os podéis equivocar. Además al lado de cada pin en cada placa pone el número. Simplemente fijaros que el pin 0 del motor shield quede pinchado encima del pin 0 del Arduino y listo.
2- Tenéis que hacer un puente uniendo los pines 10 y 12, y otro puente uniendo los pines 5 y 13 sobre el motor shield, tal y como se ve en la siguiente foto:

[Imagen: DSC_2838.JPG]

3- Conectar la fuente de alimentación. El motor shield tiene una bornera de tornillos. En las dos borneras del extremo pone "VIN" y "GND". Al VIN conectáis el positivo de la fuente de 12Vcc, y al GND el negativo.
4- Conectar a la vía. Las salidas de la bornera del motor shield A+ y A- son las que hay que conectar a cada carril de la vía.
5- Conectar la vía de programación. Podéis coger un trozo de via aparte, y conectáis las salidas de la bornera del motor shield B+ y B- a este trozo de vía. Aquí es donde pondremos la locomotora que queramos programar.
6- Conectar al PC: con el mismo Arduino os vendrá un cable USB, que hemos de conectar al PC

En el siguiente post os enseño como cargar el programa en el arduino, configurar el JMRI y mover vuestra primera locomotora con esta centra.

Como os decía, todo esto hasta aquí es un trabajo impresionante que han hecho la gente de DCC++ y yo simplemente os lo traduzco. Todo lo que voy poniendo lo pruebo personalmente antes de postearlo, pero igualmente esto es un proyecto "hazlo tu mismo" y en el que no se pueden dar garantías ni pedir responsabilidades a nadie. Podéis ver los videos de DCC++ donde explican toda la teoría detrás del montaje de esta central en su canal de youtube:





Espero que os animéis y os sea útil. Saludos,
Dani
Responder
#2
Muchas gracias maestro. Por ese precio, intentaré seguir tus mensajes y hacer la central digital.
Rafa
Responder
#3
Aun tratándose de escala N, una alimentación de 12 V para un sistema DCC a mí me parece insuficiente. Para vía de programación seguramente lo será, pero para rodaje de locomotoras los decos necesitan más voltaje para ser capaces de entregar un máximo de 12 V al motor de la locomotora.

En la web que tú has puesto recomiendan de 15 a 20 V, que me parece más lógico
https://sites.google.com/site/dccppsite/the-system, si bien parece que recomiendan los 12 V del puerto USB para alimentar el módulo principal de Arduino, pero >15V para alimentar el módulo de potencia.

¿Te funciona bien a ti con 12V? ¿Las locomotoras que no tengan configurado límite de velocidad alcanzan la misma velocidad máxima con tu sistema que con otro de alguna marca comercial? Es que esto último me extrañaría que ocurriera.

Saludos

[Imagen: Screen%20Shot%202016-01-14%20at%2010.19.59%20PM.png]
Responder
#4
El puerto USB entrega 5 voltios y un máximo de 500 mAh en algunos casos, a todas luces insuficiente para este menester, simplemente se usa para alimentar la placa, es necesaria alimentación independiente para corrientes superiores.
La alimentación de una locomotora en escala N debería ser siempre de 12v máximo, aunque los motores no sufren en absoluto con un par de voltios más, hay fabricantes que recomiendan no exceder de este voltaje.
Si haces una prueba verás que en una circulación acorde con la escala nunca pasarás de 9 - 10 voltios en la vía, hablamos en analógico, ahora una experiencia, yo estaba trabajando alimentando la central con 12 v sin ningún problema, la que utilizaba en Z, pero resulta que una loco nueva Fleischmann con su decoder Viessman no cumple los estandares y por debajo de 10 voltios interpretaba corriente analógica, cambiando continuamente de estado y una circulación totalmente erratica, las demás locos con Digitrax y otros decos, sin problemas.
Este es el único motivo por el que debes alimentar a mayor voltaje, mi central Digitrax establece la corriente de salida en 12,8V entre lo que entre, dentro de sus límites, claro.


Gracias Dani por el aporte y una pregunta, con un Nano y un shield de estas caracteristicas:

Placa de expansión para Arduino Nano 3.0 (Shield Nano UNO).
    Entradas analógicas/Digitales con VCC/GND

    13 Puertos IO digitales preparados para módulos digitales o servos
    6 Puertos analógicos preparados pasa sensores o entrada
    Pines para comunicaciones I2C y UART
   

Sería operativo o debería ser concretamente el que tu citas.
Gracias.
Responder
#5
Hola,


K*Foudrus: Como dice Jordi, para escala N, 12 voltios es correcto aunque si hablamos de H0 es mejor de 15 a 18V. El esquema de la página está pensado para H0, pero en el texto ya dice: "For N-scale, 12-15 volts should be fine.  For HO or greater, 15-18 volts is recommended". Con mi central Intellibox se recomienda también utilizar 12V de alimentación para escala N y 15V para H0. Yo las pocas pruebas que he hecho me funciona perfectamente, y me está dando la misma tensión a vía que me da la central Intellibox con la que he movido hasta ahora locomotoras de todos los tipos, con decos Uhlenbrock, Digitrax, D&H y LaisDCC. Si me encontrara algún problema en seguida os lo diría, pero de momento me funciona perfectamente.

Jordi: Como el Nano a nivel de hardware casi no tiene diferencia con el UNO, debería funcionar aunque no lo he probado. Ambas placas comparten el mismo procesador (ATmega328P) así que cuentan con las mismas interrupciones, timers y pines de E/S. Pero tal vez haya que adaptar algo del programa, en los defines donde mira el tipo de placa solo busca si es un UNO o un MEGA. Usando un UNO o un Nano lo que sí te encontrarás es que si luego quieres añadirle un bus loconet o hacer algo con temporizadores o interrupciones no podrás porque están todas ocupadas con el software del DCC++. Por eso recomiendo ir a un MEGA que si tiene mucha mas potencia de procesador y muchas mas E/S por lo que nos permitirá añadir pulsadores de paro/marcha, leds, un display para mostrar el consumo y estado de la central, una botonera y un potenciometro para manejar locomotoras.... en la cabeza también tengo la idea de poder tener un interruptor y que cambie de modo digital a modo analógico para aquellos que quieran un sistema mixto analógico/digital. Pero bueno, a todo esto a ver si llego que yo siempre me lanzo mucho..... XDDDD

Saludos,
Dani
Responder
#6
Gracias Dani, el caso es que donde tengo la maqueta la central es una Ibertren que solo permite 10 direcciones y para no andar con la Digitrax de un lado a otro veo esta solución muy factible.
Como ya expuse en un post hace bastante tiempo, tengo 2 portátiles antiguos con XP pero que manejan correctamente JMRI y la circulación mediante el PR3 y la central, Arduino tampoco necesita muchos recursos, así que es una opción económica para tenerla en la maqueta.
Pepe también necesita una solución similar, tiene el Multimaus por lo que no puede leer las cv's, el preguntarte por el Nano es porque tengo uno y el shield citado, que estoy utilizando para automatizar un paso a nivel mediante servos, como el funcionamiento es correcto pedí 2 Nanos más, este lo utilizaré para desvíos, ya que me ha servido de banco de pruebas. Sonrisa
Responder
#7
Me parece perfecto para eso Jordi. Ya probaré cuando tenga tiempo también con el Nano, aunque con un UNO si que puedo garantizar que funciona. Entonces tienes, por 3 euros del UNO mas los 5 euros del motor shield, una pequeña central DCC para usar con JMRI o que puedes usar también de programador independiente. Si es una maqueta pequeña con pocos trenes y un par de módulos para manejar desvios por DCC o semáforos, da de sobras con una inversión de risa.

Id contando como os va y poned alguna foto cuando lo tengáis montado!!!
Responder
#8
Es un Iberama, concretamente el 550 mutado, a lo sumo 2 circulaciones y maniobras a la vez, aunque en la vía puedan haber más composiciones no circularán a la vez
Responder
#9
NOTA: Acabo de actualizar la primera entrada del hilo porque se me olvidó mencionar que hay que poner dos cables para puentear cuatro pines del Arduino (10 con 12, y 5 con 13):

[Imagen: DSC_2838.JPG]
Responder
#10
Gracias, en el video del enlace se aprecia el puente.
Responder
#11
Gracias por el aporte 
Responder
#12
Gracias por el aporte, es muy interesante, lo voy probar en cuanto tenga un ratico.
Estoy a la espera de tus avances.
Gracias.
Responder
#13
Muchas gracias!! Que pasada!! Lo intentare hacer!!
Responder
#14
Pregunta ¿JMRI Es el programa para el PC?
Gracias anticipadas.
Saludos
Responder
#15
Hola Juan José, exacto. Es un software gratuito para programar decos, manejar locomotoras o poder dibujar el diagrama de vias para manejar los desvíos entre otras cosas.
Responder
#16
(23-02-2016, 15:29)***** escribió:  Hola Juan José, exacto. Es un software gratuito para programar decos, manejar locomotoras o poder dibujar el diagrama de vias para manejar los desvíos entre otras cosas.

Confundido Entonces es similar a rocrail? Hace lo mismo o más? Cómo los compararías?
Javier
Responder
#17
Yo personalmente diría que JMRI hace menos, pero lo que hace lo hace muy bien.

Rocrail va más allá, porque maneja trenes en automático, es capaz de regular la luz ambiente según la hora para simular condiciones meteorológicas, se pueden crear horarios y rutas automáticas de trenes, gestiona los semáforos, organiza el tráfico por tipos de tren, épocas, .... gestiona la iluminación de casas y farolas también según el reloj de la maqueta, efectos de sonido,..... además de todo lo que hace JMRI (programar decos cargando los perfiles del fabricante del decoder, manejar locomotoras en manual, crear y manejar un panel de control, ...).

Yo uso Rocrail para todo, pero no quiero desmerecer para nada las funciones de JMRI, que están hechas y acabadas perfectamente. Lo que pasa es que no llega a toda una gestión automática y completa de la maqueta.

Saludos,
Dani
Responder
#18
(23-02-2016, 16:43)***** escribió:  Yo personalmente diría que JMRI hace menos, pero lo que hace lo hace muy bien.

Rocrail va más allá, porque maneja trenes en automático, es capaz de regular la luz ambiente según la hora para simular condiciones meteorológicas, se pueden crear horarios y rutas automáticas de trenes, gestiona los semáforos, organiza el tráfico por tipos de tren, épocas, .... gestiona la iluminación de casas y farolas también según el reloj de la maqueta, efectos de sonido,..... además de todo lo que hace JMRI (programar decos cargando los perfiles del fabricante del decoder, manejar locomotoras en manual, crear y manejar un panel de control, ...).

Yo uso Rocrail para todo, pero no quiero desmerecer para nada las funciones de JMRI, que están hechas y acabadas perfectamente. Lo que pasa es que no llega a toda una gestión automática y completa de la maqueta.

Saludos,
Dani

Muchas gracias por la aclaración, Dani! Yo era escéptico, pero una vez probado, ya no uso casi otra cosa que rutas programadas, así que me quedo con rocrail Sonrisa
Javier
Responder
#19
Bueno, aquí va la última parte. Cómo cargamos el programa en el Arduino cuando ya lo tenemos todo montado:

Cuando conectéis el Arduino con el cable USB al ordenador os detectará un nuevo puerto serie, que según cada uno será el COM3, COM4, o cualquier otro número. Vais a la carpeta donde habéis descomprimido el Programa Base STation DCC++, y hacéis doble click en el fichero DCCpp_Uno.ino:

[Imagen: 2016-02-21%2B23_14_37-Notificaci%25C3%25B3n%2Bnueva.png]

Entonces se abrirá el Arduino IDE, y lo primero es configurar el modelo de Arduino que estamos usando, que puede ser el Arduino UNO o el Arduino MEGA. Esta configuración está en Tools (Herramientas) -> Board (placa). A continuación, y dentro del mismo menú, vais a la opción Port (puerto) y seleccionáis el COM que vuestro ordenador haya detectado al conectar la placa Arduino:

[Imagen: 2016-02-21%2B23_18_24-DCCpp_Uno.png]


Finalmente, sólo hay que hacer click en el botón de carga del programa, que es el siguiente:

[Imagen: 2016-02-21%2B23_23_24-Blogger_%2BClub%2B...ntrada.png]

Un led de la placa Arduino parpadeará unos segundos, y al finalizar aparecerá un mensaje conforme el programa se ha cargado correctamente. Y ya está!

Ahora ya podemos abrir el JMRI, y configuramos que nuestra central es la DCC++, por puerto serie y el mismo número de COM que hemos usado con el Arduino IDE para cargar el programa. En primer lugar tendréis que ir al menú Actions y seleccionar Power Control. En la pantalla que se muestra, tenemos un botón para encender y apagar la central. Al encenderla, los 4 leds del motor shield tienen que iluminarse.

A partir de aquí, ya podemos dar de alta nuestra locomotoras y usar la opción Throttle para abrir una pantalla donde controlar la locomotora o la opción Program para configurar las CV. La ventaja es que no es necesario conocer cada número de CV para lo que sirve, porque este programa nos lo muestra en pantalla.

También veréis un menú con el titulo DCC++ con varias utilidades como un visualizador del consumo de la vía o un monitor de tráfico entre otros.


[Imagen: DSC_2835.JPG]

Espero que la disfrutéis!!
Responder
#20
Otro detalle más para guardar, gracias por hacerlo tan fácil.
Responder


Posibles temas similares...
Tema Autor Respuestas Vistas Último mensaje
  Duda kit de iniciacion digital jose_jaen 0 83 25-12-2017, 18:04
Último mensaje: jose_jaen
  Decodificar Startrain 319. Central Digital KASPER 2 302 10-10-2017, 14:41
Último mensaje: rezjat
  Central Roco 10764 sin tension en via JefeOro 3 429 03-10-2017, 16:16
Último mensaje: JefeOro
  Vía de estación doble sentido con rocrail: Utilidad del tramo central rezjat 1 389 08-09-2017, 16:48
Último mensaje: rezjat
  Estado del arte para detección ocupación de bloques en digital rezjat 8 1,867 18-08-2017, 22:22
Último mensaje: jlaries52
  Consulta central digital y accesorios caseros pablintino 6 1,243 17-05-2017, 18:25
Último mensaje: pablintino
  Ensalzando el digital leptrain 18 1,929 16-04-2017, 23:28
Último mensaje: rezjat
  Paso de analógico a digital (Conector NEM) Pecetero 11 2,568 04-04-2017, 18:03
Último mensaje: viermi
  Central Arduino y paradas Pecetero 6 1,806 01-03-2017, 19:01
Último mensaje: rezjat
  Central Digikeijs DR5000: mis impresiones cerveser 8 1,685 28-02-2017, 10:04
Último mensaje: cerveser

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)