Modulo S88 Locoduino
No puedo empezar este entrada del blog sin antes agradecer a Juan G. por su magnifica información y paciencia para todas las pruebas que hemos hecho para poder publicar esta entrada.
¿Que es un retromodulo?:
El retromodulo es el encargado de decirle a la central que pasa en la maqueta. Consta de unas entradas con detectores, que pueden ser por consumo en la red DCC con cantones, o por activación de una barrera infrarroja o un pulsador.
Mi experiencia con este tipo de módulos era nula, así que he tenido que empezar a entenderlos desde 0.
El bus S88:
El bus S88 consiste en encadenar los módulos entre sí. Funciona con un voltaje entre 4,5 y 5v (por lo tanto, completamente compatible con Arduino).
La longitud máxima entre dos módulos no debe exceder los 5 m, aún así es necesario asegurarse de que el cable del bus no esté demasiado cerca de ambientes perturbadores (corriente de tracción, 220v).
La cantidad máxima de sensores en un bus S88 está limitada a 512. El direccionamiento de sensores es simple. Cada módulo tiene 8 o 16 sensores. Comenzamos la numeración con el primer módulo (valor = 1) y su primer sensor (dirección 1:1), luego incrementamos en 1 en cada sensor siguiente en el encadenamiento hasta el valor 16 (1:16), luego pasamos a 2 (2:1) y así sucesivamente módulo 16. La siguiente foto deLDT-infoCenter presenta el principio de este encadenamiento.
Red de retromodulos S88
Los módulos S88 transmiten mediante 6 pines de conexión y generalmente se utiliza un conector como los del teléfono (RJ12) o ethernet (RJ45). Para poder alimentar el módulo S88 la alimentación también va incluida en estos cables teniendo esta disposición final:
Significado de las 6 conexiones del bus S88:
pin 1: datos (blanco) - salida de datos a otro módulo o a la unidad de control
pin 2: GND (marrón) - GND
pin 3: reloj (verde) – parte superior del reloj
pin 4: PS (amarillo) – señal de inicio del reloj PS
pin 5: Reinicio (púrpura) - reinicio de conteo
pin 6: V+ (rosa) – Alimentación de 4,5 a 5V
Bus S88
Fuente: Locoduino.org
Cable RJ45 para S88
Fuente: Lormedy.free.fr/S88
Bus S88 con Arduino
En la web de Locoduino, el usuario Ruud Boer propone lo siguiente:
cada Arduino corresponde a un módulo que puede tener 16 sensores para un UNO/Nano o 64 sensores para un MEGA.
El encadenamiento de Arduinos se realiza de la siguiente manera:
- El primer Arduino conecta su pin 1 al pin 1 del bus S88
- Otros Arduinos conectan su pin 1 al pin 0 del Arduino anterior.
La interfaz con el bus S88 se realiza en los pines 0 a 3, Gnd y Vin de la siguiente manera:
- Pin 0 (rx): Entrada de otro Arduino
- Pin 1 (tx): Salida a la estación de control o a otro Arduino
- Pin 2 (int0): Interrupción del reloj del bus S88 (en todos los Arduinos de la cadena)
- Pin 3 (int1): Interrupción de la señal PS del bus S88 (en todos los Arduinos de la cadena)
- Gnd: Masa común (en todos los Arduinos en el encadenamiento)
- Vin: Fuente de alimentación S88 (en todos los Arduinos de la cadena)
Los comandos que maneja el módulo
Respuestas es caso de error:
</p>
Si el bus S88 está totalmente desconectado, todos los bits leídos están a 1.
Si lee módulos esclavos que no están conectados a sensores, los bits correspondientes estarán en 0.
Estas son las lineas que cargaremos en el módulo Arduino NANO o UNO
Y estas son las lineas para la biblioteca UNO_S88.h
Y para el archivo UNO_S88.cpp
Descargar biblioteca para placa NANO/UNO
También existe una biblioteca especifica para la placa MEGA que aunque no tocare en esta entrada Descargar biblioteca para placa MEGA
Imágenes de Locoduino
Fuente original: La rétro-signalisation sur Arduino (Frances)
Fuente original: Le bus S88 (Frances)