0

Librería DCC++EX

Muy buenas a todos, hoy traigo a la librería DCC++EX.

DCC++EX es la más completa y actualizada y de todas las librerías DCC que existen actualmente en la red. Y desde hace poco estrenan su versión 3.1.0.

Digamos que es la versión con esteroides de esta central un gran trabajo desde el otro lado del charco que puede con casi todas las opciones que puedas imaginar. Desde comunicación WiFi a pantallas OLED y LCD. Puede correr en diferentes microcontroladores, añadir boosters de alimentación. También incluye muchos comandos nuevos, sobre todo para el tema de diagnóstico.

Desde que conocí la central he estado ‘cacharreando’ con ella, añadiendo y quitando, ahora por fin lo tengo todo centralizado. Estas son las piezas que la conforman y como van conectadas:

  • Arduino Mega 2560
  • Shield estándar L298P 2 canales, 2A/canal.
  • Fuente alimentación externa 5v 2A.
  • Módulo Bluetooth HC-06 (RX2/TX2)
  • Módulo WiFi ESP866 con firmware NONOs (RX1/TX1)
  • Pantalla OLED 128*64 I2C
  • Max 471 sensor de corriente

Esto es la central principal, bien tengo también una pantalla secundaria que es la encargada de mostrar los datos de lo que está pasando en la maqueta. Está segunda fase consta de:

  • Arduino UNO
  • Shield LCD 3.5″ 320*480
  • Módulo receptor 433Mhz RF

Instalación

Para instalar la Librería DCC++EX tiene disponible un instalador… No lo he usado… Llamadme mayor pero prefiero la manera tradicional de instalación, bajar los archivos desde las fuentes Github CommandStation-EX Descargamos los archivos en el disco duro, descomprimimos la carpeta «CommandStation-EX-master» con los archivos a nuestra carpeta de librerías habitual. Curiosamente, y puede que sea por la configuración de mi pc, cuando intento buscar el ejemplo o la librería en las librerías disponibles, no hay rastro de una carpeta ejemplo. En su lugar, en la misma carpeta de la librería, se encuentra el archivo: CommandStation-EX.ino.

Archivo Config.h

Desde aquí configuramos la central y sus «plugins» como el módulo WiFi o la pantalla OLED.

El el apartado WiFi podremos configurar como servidor o como cliente… Para entendernos, puedes conectarte directamente al módulo con una IP parecida a la del router generalmente la 192.168.4.1. La otra opción es como si fuera un dispositivo normal y corriente conectado a nuestro router habitual y nos conectamos a el con otro dispositivo como DCCppCab.

Cuál es mejor? Pues para un uso moderado con una maqueta sencilla que se usa de vez en cuando creo que la opción de conexión por router es la más sencilla. De hecho, es mi caso. Aunque tiene una peculiaridad, mi red para estas cosas las maneja un ESP32 con un software que lo convierte en punto de acceso. De esta manera tengo una red solo para esto. Como apunte lo uso para casi todo y me sorprende lo bien que va incluso viendo YouTube.

Una vez aclarado esto, en el archivo cambiaremos las siguientes líneas…

#define MOTOR_SHIELD_TYPE STANDARD_MOTOR_SHIELD
#define IP_PORT 2560
#define ENABLE_WIFI true
#define WIFI_SSID "NOMBREdelaRED"
#define WIFI_PASSWORD "password"
#define OLED_DRIVER 128,64

MOTOR_SHIELD_TYPE -> Aquí ponemos el tipo de motor shield que usamos. Esta parte de la configuración se complementa con el archivo «MotorDrivers.h» donde, además podemos «afinar» el Motor Shield que estamos usando. En mi caso al no tener medidor de corriente en la vía de programación y al principio no funcionaba bien al saltar la protección por cortocircuito. Estos son los Motor Shield predefinidos:

STANDARD_MOTOR_SHIELD
POLOLU_MOTOR_SHIELD
FUNDUMOTO_SHIELD
FIREBOX_MK1
FIREBOX_MK1S
IBT_2_WITH_ARDUINO

IP_PORT-> Puerto que usaremos para conectarnos al modulo WiFi

ENABLE_WIFI -> Activa el uso del módulo WiFi.

WIFI_SSID: Nombre de la red, por ejemplo VodafonXXX o MovistaXXX.

WIFI_PASSWORD: la contraseña que usemos para conectarnos al router.

OLED_DRIVER: Activa la pantalla Oled, en mi caso de 128×64. Esta pantalla mostrará datos sobre la conexión ( ip, puerto) o la RAM.

Instalar modulo WiFi:

Ya he comentado en otra entrada del blog, Conectando DCC con WiFi ESP8266, como conectar el modulo a la central. En este caso la cosa cambia

un poco, ya que tendremos que programar el firmware. El firmware que a día de escribir esto la versión es la 1.7.4 “NonOS AT” y lo puedes descargar aquí. Para esto podemos usar esptool.py en Linux y Flash download tool para el caso de windows.

En mi caso al usar Ubuntu he usado esptool.py de la siguiente manera:

esptool.py --port /dev/ttyUSB0 write_flash -fs 1MB -ff 40m -fm dio 0x00000 boot_v1.7.bin 0x01000 at/512+512/user1.1024.new.2.bin 0xfc000 esp_init_data_default_v08.bin  0x7e000 blank.bin 0xfe000

Este comando puede variar dependiendo de donde estén almacenados los archivos en las carpetas y dependiendo también del tipo de ESP que estemos usando tienes más información sobre como usar esptool.py en su web oficial. Parece más lioso de lo que es.

En mi opinión, esta versión es la librería más completa y con más opciones que he encontrado de todas. A nivel usuario los problemas que me han ido surgiendo, como el que he comentado arriba del consumo en la vía de programación, son sencillos de solucionar. Por otro lado, si queremos «trastear» con el código, es un poco más complicado que en versiones anteriores por la gran cantidad de archivos que tiene. (Imagino que por mi costumbre con LocoDuino).

Otra de las cosas buenas que tiene es la comunidad que hay detrás. Esta comunidad tiene actualizada la central prácticamente cada al día a nivel beta y cada poco sacan una release con todas las mejoras. Por desgracia en Español no hay tanta información.

También incluye soporte para pantallas Oled y LCD lo que a mi, que me encantan las pantallas, me parece todo un acierto. Me gustaría que se pudiera mostrar más información como por ejemplo el comando que entra por el monitor serial de esta manera se podría prescindir del monitor serial. Esto es algo que investigaré si es una opción o hay que implementarlo.

JMRI es un software muy importante para DCC++EX, Tanto, que tiene su propio apartado en la librería. Aquí estoy realmente verde. Únicamente lo he instalado y realizado unas pocas pruebas.

Y hasta aquí sería mi experiencia con la central DCC++EX. Espero que os guste e iré actualizando!!

Saludos!!!

(Visitado 11 veces, 1 visitas hoy)

Deja una respuesta

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