15

Decodificadores DCC baratos con Arduino

Buenas a todos!!!  Ya está listo mi primer decodificador DCC de bajo coste realizado con Arduino.

Arduino_nano_shield

Arduino nano con Shield para servos

Al fin termine mi primer decodificador DCC basado en Arduino. Aunque ya existían programas para esta misma función y como soy un poco “metomentodo” y no me terminaba de convencer el resultado final, decidí hacer mi propio programa. Una de las diferencias más notables de mi programa es que a diferencia de los que ya había visto descargado y probado y aunque funciona perfectamente hay una cosa que no he podido “arreglar” y es el movimiento de los servos, que si, van a su sitio, pero el servo se queda haciendo un ruido bastante molesto sobre todo cuando tienes más de uno.

 

Para eliminar el ruido de los servos he tenido que cambiar algunas cosillas… buenos más que algunas. Para ello he utilizado la función servox.detach(); Con esto hacemos que el servo no se quede “agarrado” una vez hemos movido el servo, es decir, lo apaga. Creo que esto es algo bastante importante a la hora de consumo energético, ya que el servo al no recibir ninguna señal, tiene un consumo mínimo.

Arduino más instalación de unos transistores para alimentar los reles para hacer los cambios de luces de los semaforos

Arduino más instalación de unos transistores para alimentar los reles para hacer los cambios de luces de los semáforos

Esta es la parte de abajo del garaje para locomotoras S4 es el servo que mueve la puerta y ACC5 son las luces del garaje

Esta es la parte de abajo del garaje para locomotoras S4 es el servo que mueve la puerta y ACC5 son las luces del garaje

Instalación de un decoder de funciones Arduino

En las fotos se puede ver que es un circuito sencillo y el coste total del decodificador es absolutamente ridículo si lo comparamos con los decoficadores que hay en el mercado voy a intentar poner el coste total de los componentes

  • Arduino nano :      2€ aprox en Ebay.com
  • Shield Arduino :    2€ aprox en Ebay.com
  • 4 servos 9g :          8€ (2€ unidad) en Ebay.com
  • Interface 6n137 :   0,5€ aprox en Ebay.com
  • Transistores :         0,2€ aprox en Ebay.com

Si sumamos todo esto nos da un total de 12,7€ es decir para motorizar 4 desvíos, nos saldría el desvío a unos 3€!!! y eso que estoy tirando por encima.

Para conectar el Arduino con nuestro programa necesitamos este circuito:

Una de las cosas que he notado usando este circuito es un problema con la central DCC++ cuando esta se alimenta a 12V que misteriosamente no funciona, en contra usando la central Prodigy Express en la que el transformador entrega 15V funciona perfectamente y incluso con DCC++ y una fuente de 9V. Para el próximo sustituiré R1 de 1K por una algo más grande de 2K2. Subiré el resultado cuando haga más pruebas. Ahora estoy actualizando los módulos y estoy con la fuente de 9V y sin problemas, pero cuando este todo terminado pondré una de 12V a 16V para alimentar todo el conjunto y poder tener 3 o 4 locomotoras funcionando sin problemas.

conexión 6N137 con shield de Arduino NANO

Este es el esquema de como vamos a conectar los decodificadores al circuito de vías:

conexion_central_dcc-_y_decodificadores

Comprobando lectura del 6N137 con la central DCC++ y Sniffer

Bien este programa en particular es para el control de 3 desvíos, unas puertas para el garaje y las luces del mismo.

Si alguien más esta interesado en que tenga alguna función más podemos hacer un programa a medida de sus necesidades.

Descargar Decodificador de accesorios 4 servos + semáforos

Descargar Decodificador accesorios 4 servos + 3semaforos + 2luces + soldadura con arco

Descargar NmraDcc Loco Decoder V1 

Y aquí un par de vídeos de como funciona:

 

También podéis encontrar información muy útil en las siguientes Webs:

(Visitado 3.730 veces, 3.399 visitas hoy)

15 comentarios

  1. Hola, yo no utilizo digital sino analógico, ¿esto serviría para analógico?
    Muchas gracias.

    • Buenas Francisco! Pues valdría para todo el tema de accesorios o automatizaciones, pero no para locomotoras, es decir podrías controlar desvíos, luces, efectos etc con un Arduino y rocrail por ejemplo. Ese bus de datos no iría conectado a las vías sino a un cable que conectaría todos los decodificadores Arduino. O si ya tienes una central digital manejar todos los accesorios desde ahí. En resumen, tendrías que tener los dos sistemas, analógico para las locomotoras y digital para accesorios.
      Lamento haber tardado en responder!!!
      Saludos!!!

    • Buenas Carlos!!! no entiendo muy bien tu pregunta del sketch, El Scketch que hay en la sección de descargas de esta pagina para el DCC Comand Station es simplemente una pequeña traducción del programa original, pero en esencia es exactamente igual que el original, no hay ninguna modificación.
      Los Sketchs de los decodificadores son para arduinos independientes de la central DCC conectados a la linea DCC. A ver si encuentro un rato y hago un pequeño esqueña de como irían conectados para que se pueda entender mejor.
      Hay un booster para el el sistema DCC++??? No lo sabia, me puedes pasar el link para que le eche un vistazo???

      Muchas Gracias por tus comentarios, si tienes más preguntas no dudes en consultarlas, intentaremos responderlas todas y cada una de ellas.

  2. Hola, fenomenal la información y los enlaces que provees.
    En la foto del decoder no consigo identificar por donde alimentas (+5v) la shield.
    Los cables rojo y negro son el Bus DCC y loc ables verde/blanco/amarillo que salen de la foto van a un posible servo de desvío en paralelo con el S3. Correcto?
    Muchas gracias por compartir.

    • Buenas Miguel, en esa foto la shield no esta alimentada, el cable de alimentación iría en el jack hembra del shield. lo demás es todo correcto, los rojos y negros son el BUS y los otros, verde/blanco/amarillo alimentan otro servo para un cruce. Si tienes cualquier otra duda aquí sera un placer contestarla. Saludos!!!

  3. Hola, gracias y felicitaciones por mostrar tu trabajo.
    Tengo una central DCC ++ y acabo de montar un Decoder basado en el proyecto Mynabay con el 6N137. He conectado una fuente de alimentación de 12V, ya he conectado una de 15V y no puedo que el Arduino Serial Monitor detecte movimiento. Ya reemplaza el R1 por uno de 2K y nada.

    Me puede ayudar a averiguar cuál debería ser el problema?

    gracias

    Miguel

    • Buenas Miguel, imagino que habrás comprobado que funcione correctamente los trenes. Prueba a cortar el Vin que va desde el Shield del motor a Arduino teniendo que alimentar el Arduino desde el USB y el Shield con el transformador. Arduino no funciona con más de 12V, es muy probable que si alimentas Arduino con la alimentación del Shield durante mucho tiempo el regulador de tensión termine quemándose (ya me paso con uno que tenia en el coche, con el alternador 14,1V termino por quemar el regualdor). Si esto no funciona prueba con uno de 9V al menos para comprobar que el circuito esta bien.
      En el shield del DCC++ que aparece en las fotos no tiene Vin para cortar en la placa, así que cuando estoy probando puedo quitarlo y ponerlo.
      Espero haber sido de ayuda, si sigue sin funcionar podemos ver otras opciones.
      Saludos!!!

  4. Buenas tardes, magnifico trabajo el que realizas.
    Una pregunta, tengo pedido un Nano y la placa shield, y ya tengo hecho la interfaz de arduino, y voy a controlar solo 4 servos. Respecto a la interfaz, esta claro que dos cables van a las vías, pero la duda que tengo es la conexión del cable GND, el cable del Pin2 y del cable 5V, la realizas a la placa Shield?.y no al Nano, verdad?.
    Gracias

    • Buenas Ricardo, si, como dices, van al SHIELD, en él, hay una línea solo para GND y otra para +5v junto a todos los pines E/S del SHIELD, así puedes conectar servos directamente, o como he hecho, conectar un sensor que necesite alimentación. Luego cuando lo instalas en la maqueta solo alimentas el SHIELD con 5 o 12v y el alimenta al NANO, super cómodo!!!

  5. Si alimento a 12v tengo que hacer algo o simplemente conecto a 12v? Es por si quemó el Nano

  6. Buenas Ricardo! Puedes conectarlo sin problemas según especificaciones:
    -Voltaje de entrada (recomendado) 7-12 V
    -Voltaje de entrada (límites) 6-20 V
    Vigila las polaridades!!! es lo único que haría de tu Arduino una plaquita para piezas…. Saludos!!!

  7. No soy muy ducho en el tema, tengo un enchufe a 12v, con Jack. Osea que tan solo, lo conecto al enchufe de la SHIELD y ya,no?

Deja un comentario

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