Soy de los que piensan que el método de descarga por condensador es probablemente la mejor elección para mover un desvio.
Sus ventajas, como la protección total al desvio ( especialmente aquellos que carecen de interruptores de fin de carrera) o la posibilidad de utilizar transformadores tan pequeños como de 0,4 A superan ampliamente sus pocos contras.
Aprovechando las prestaciones de la libreria NmraDcc.h (http://mrrwa.org/) para Arduino junto con una muy económica placa arduino pro mini (unos 3 € en ebay, con envio incluido) me ha llevado a abordar este proyecto, un módulo de descarga capacitiva configurado como decoder de accesorios y controlado por la central digital. El coste total del montaje es de menos de 10 € y puede aunar la afición tanto por el modelismo ferroviario con la electrónica.
Pienso que podría ser un proyecto idoneo para principiantes que con ganas e inquietudes quieran introducirse en este fascinante ámbito que la plataforma Arduino nos brinda, realizando un montaje útil y práctico. Por ello y para reducir la complejidad, he usado sólo componentes convencionales y placa de circuito impreso de una sola cara, aún así las dimensiones del montaje son reducidas, incluso más pequeñas que dispositivos comerciales (y mucho más caros). También para facilitar integración y eliminar al máximo los incomodos y engorrosos conexionados en la maqueta o instalación, el módulo incorpora su propia fuente de alimentación que extrae la tensión para su funcionamiento de las mismas vias digitales.
Los condensadores cuya descarga mueve las bobinas de los desvios, se alimentan también con corriente alterna de las mismas vias, permitiendo usar tan sólo dos cables para el desvio en lugar de los tres usuales. La idea es ubicar el montaje en las proximidades del desvio como unidad propia o autónoma y con ella minimizar el impacto del cableado en la maqueta, inspirándose en aquel paradigma (no del todo afortunado ; ) que reza: "digital? solo dos cables"
En esta imágen podemos examinar el proyecto en el esquema de bloques:

Como vemos, tiene cuatro partes:
- Alimentación 5 Vcc:
Para obtener la tensión continua he utilizado un montaje muy clásico cuyo corazón es un conocidisimo 7805. El integrado proporciona 5 V estabilizados al resto de los circuitos del proyecto. El único inconveniente de los reguladores lineales como los 78xx es su poca eficiencia cuando hay un gran diferencial de voltaje entre su entrada y salida y el consumo de corriente es relativamente elevado. La ventaja es la extremada simplicidad de construcción para fuentes de alimentación.
En el presente caso, la corriente máxima con el relé enclavado es próxima a 140 mA, por lo que no se requiere gran esfuerzo de disipación de calor. Sin el relé activado la intensidad es de unos 55 mA. La tensión de alimentación es extraida de las mismas vias digitales por lo tanto no es necesario un transformador o alimentador adicional.
- interface arduino - DCC:
He utilizado el circuito propuesto por el proyecto mrrwa.org; un rápido optoacoplador 6N137 extrae los pulsos del canal físico y los entrega al arduino para su procesado a través del pin 2 (interrupción 0 del Arduino). El uso de un optoacoplador garantiza el aislamiento galvánico entre las vias y el arduino.
- Arduino pro mini:
el "cerebro" de todo el sistema junto con el sketch o programita que se encarga, a partir de la libreria de más bajo nivel NmraDcc.h, manejar el desvio y controlar las demás lineas de entrada/salida del Arduino.
- circuito de descarga capacitiva:
Consta de dos condensadores de 4700 uF que son alimentados de la misma tensión alterna de las vias digitales y que un relé activado por el pin 12 del arduino, que a su vez es gobernado por una tecla de función (F0) del mando de la central, mueve el motor de los desvios. En el desvio se conectan dos diodos, uno por cada bobina con la polaridad adecuada. Esta disposición permite ahorrarnos un cable por cada desvio de la maqueta, reduciendo la maraña de conexiones tan poco agradable y siempre complicada.
Al respecto, este proyecto es válido tanto para escala HO ó N. Para el caso de 1/160, los condensadores pueden manejar tres desvios simultáneos; para HO sólo tengo un antiguo desvio Lima, (yo soy basicamente "enero" ; ) ávido de corriente y desprovisto de interruptores de fin de carrera, y lo mueve con gran fuerza, como podremos comprobar en el video del final de este artículo a modo de demostración.
En esta imagen podemos ver el esquema eléctrico completo:

Para su realización practica, he diseñado una placa de circuito impreso:

Los principales criterios de diseño han sido la máxima facilidad de construcción y las mínimas dimensiones del circuito impreso. Por ello he evitado el uso de componentes electrónicos SMD y placas de doble cara. He tenido que realizarla a "mano alzada" ya que los programas de diseño de CI me daban placas casí del doble de tamaño! Tan sólo tres puentes nos aseguran la correcta interconexión. El resultado han sido dimensiones muy razonables de la placa y como no hay demasiada disipación de calor los componentes pueden estar muy juntos y próximos entre si. Sólo el integrado regulador adquiere cierta temperatura; por ello he dispuesto que el 7805 quede totalmente al exterior, facilitando su refrigeración. También, y siempre buscando maximizar resultados, para la indicación visual del desvio he usado un diodo led bicolor (rojo-verde) de dos pins en lugar de dos leds (que necesitan su resistencia limitadora, cableado ...). La realización de la placa se puede acometer incluso con un simple rotular permanente fino, de hecho el prototipo asi se ha hecho. También se puede efectuar el montaje en alguna placa de puntos, aunque siempre es preferible la placa exprofeso.
Esta imagen muestra la disposición de los componentes en la placa de circuito impreso:

En esta imagen vemos el prototipo construido:

Esta otra imagen muestra el interconexionado:

Como he comentado, la idea es instalar el módulo en las proximidades del desvio y "olvidarse" de él, sin más conexionados adicionales por la maqueta. Cabe decir que este proyecto está pensado para instalaciones que siguen el planteamiento de "digital rodante, resto analógico", aunque en este caso con un poco de extensión de dicho modelo.
Desde este enlace podemos descargar el software:
http://usuaris.tinet.cat/cpg/deco-desviament/software-desviament.zip
El fichero zip descargado contiene la libreria NmraDcc y el sketch del programa.
En la documentación de la libreria, hallamos interesantes funciones, incluidas las de locomoción. Para el caso que nos ocupa he utilizado la notifyDccFunc que informa del estado de las teclas de función de la Central. He usado un artificio (corriente en programación) para reconocer la sola pulsación de una tecla, indistintamente de su estado. La rutina notifyDccFunc() sólo informa la tecla pulsada y su estado. A partir de la variación del estado, el evento correcto se puede capturar y proceder de la manera que queramos.
El código he procurado documentarlo en lo posible. Puntos importantes son la dirección que estableceremos como deco. Por defecto, es la 5.
En lo demás no tiene mayor complicación.
Listado de componentes:
R1= 1,5 K
R2= 10 K
R3= 10 K
R4= 330
R5= 2,2 K
R6= 1 K
R7= 1 K
todas las resistencias de 1/6 W (coste total 0,20 €)
C1= 270 pF cerámico miniatura (0,02€)
C2= 470 uF electrolitico 25V (0,12€)
C3= 100 nF 63V plástico miniatura desacoplo CI (0,10 €)
C4= 4700 uF electrolitico 25V (0,44 €)
C5= 4700 uF electrolitico 25V (0,44 €)
D1= 1N4148 (0,01 €)
D2= 1N4148 (0,01 €)
D3= 1N4007 (0,05 €)
D4= 1N4007 (0.05 €)
PD1= puente diodos circular 80 V 1,5 A ref. 082664 (0,13€)
T1= BC337 (0,04 €)
IC1= 6N137 (0,62 €)
IC2= LM7805 (0,23 €)
L1= led bicolor verde 3mm 2 pines LB3RV (0,35€)
bornera 2 polos REGLETA 2 CONTC. R=5 PCB RBV2 (0,25 €)
RL1= Rele 5V DC - 2P, 1C, 10A - Power Relay SRD-05 (1,70 €)
http://www.ebay.es/itm/201517593113?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT
arduino mini 2,59
http://www.ebay.es/itm/PRO-MINI-ATMega328-16MHZ-5V-Bootloader-Pin-Header-Compatible-100-ARDUINO-B0019-/201500735857?hash=item2eea613971
En parentesis está el precio de cada pieza; la referencia del coste es de la tienda Diotronic, veterano comercio del ramo de la electrónica, y es sólo a titulo indicatrivo (no tengo relación con la tienda ; ) en alguna piezas consigno el código de producto de Diotronic.
Las resistencias son de 1/6 W. El condensador C3 deberia ser del tipo miniatura, del utilizado para desacoplo de circuitos integrados.
Hay componentes como el relé que son dependientes de las dimensiones del circuito impreso. No obstante el relé elegido es muy común y económico. Indico un enlace a ebay donde lo podemos adquirir en España. Igualmente facilito un enlace en la misma tienda española de ebay donde podemos comprar el arduino pro mini.
Por último, un video de test del módulo en funcionamiento:
El montaje propuesto sólo usa parte de las capacidades del arduino y todavia nos queda memoria y recursos para ampliar funcionalidades, en este sentido es un proyecto abierto.
Saludos ; )