sabato 9 marzo 2013

Interfaccia DCC per Arduino

Come primo passo per utilizzare Arduino con il DCC si rende necessaria la realizzazione di uno shield di interfaccia per poter permettere ad Arduino di interpretare correttamente i pacchetti provenienti dal bus DCC.

La cosa è abbastanza semplice e il tutto si riduce nello schema molto semplice riportato qui sotto.

Si può notare come il bus DCC sia disaccoppiato da Arduino mediante un photocoupler il quale trasferisce il segnale sul pin 2 mediante due resistori di pull-up.

Questa interfaccia presenta anche una morsettiera a 5 poli per il collegamento dei moduli I/O mediante il DAC-BUS.

I tre jumper inseriscono o meno i resistori di bilanciamento del bus, da inserire qualora sia presente più di un modulo di espansione o in presenza di problemi di comunicazione

Per lo sviluppo del PCB ho scelto la soluzione "shield", ovverosia un fattore di forma standard con i connettori a pettine per innestare la scheda direttamente sui connettori di Arduino.

Ecco il PCB a doppia faccia

LATO SALDATURA - BOTTOM
LATO COMPONENTI - TOP
SERIGRAFIA



Il montaggio della scheda non presenta nessun tipo di difficoltà trattandosi di componenti semplici e ben distanziati tra loro. Vi consiglio prima di procedere con la saldatura di prepararvi tutti i componenti

Procedere prima con i ponticelli di passaggio tra le due facce, poi i componenti passivi (diodi - resistenze), qini lo zoccolo per l'integrato, i pettini e per ultimi i componenti più voluminosi come i morestti e il portafusibile.
Alla fine del montaggio questo è il risultato:



Qui la scheda accoppiata correttamente con Arduino. Fate attenzione al morsetto di ingresso del segnale DCC, potrebbe interferire con lo schermo della porta USB di Arduino, vi consiglio di interporre un pezzo di nastro isolante.



Per testarne il funzionamento, all'interno del pacchetto MRWWA, (ne ho parlato nell'articolo precedente) è contenuto uno sketch chiamato DCC Tester. Caricatelo in Arduino, aprite il monitor seriale e se il risultato è quello della foto siete sulla buona strada! Quelli che vedete sono i pacchetti DCC riconosciuti da Arduino.



Se volete il PDF del PCB, lista componenti e altre informazioni scrivetemi pure a stefagnani at gmail.com (sostituite at con @) sarò lieto di rispondervi!

sabato 2 marzo 2013

DCC e Arduino

Parte del fascino che ha il fermodellismo è indubbiamento legato ,oltre che al collezionismo, anche alla realizzazione e gestione del plastico. Buona parte della costruzione di un plastico è dedicata alla realizzazione dell'impianto elettrico.

Il digitale ha poi aperto nuovi orizzonti e prospettive alla gestione dell'esercizio ferroviario nei nostri "micromondi".

Esiste un progetto in rete chiamato MRWWA (Model Railroading With Arduino) che si prefigge di fornire una sorta di Framework per lo sviluppo di applicazioni basate sul protocollo di comunicazione DCC, quindi contiene tutte quelle funzioni necessarie per gestire al meglio le informazioni provenienti dal bus DCC.

Scheda Arduino UNO
 
Il punto di partenza che vorrei realizzare è semplicemente adattare una scheda Arduino che funga da decoder DCC per pilotare accessori elettromagnetici quali motori per deviatoi, relè ausiliari ecc. ecc.
Non mi addentro per ora nel comando dei rotabili mediante questo sistema per una serie di motivazioni, primo fra tutti è che ci sono già dispositivi che svolgono questa funzione egregiamente. Tuttavia è vero che ci sono in commercio anche decoder per accessori ad un costo ancora accettabile ovvero circa 35€ per comandare 4 deviatoi.

Allora quale è il senso di questo progetto?

Sostanzialmente la possbilità di gestire numerosi uscite per pilotare qualsiasi cosa dal bus DCC e la possibilità di gestire ingressi e di creare logiche programmate per interagire con le uscite.
Questo apre nuovi orizzonti per le automazioni che altrimenti sarebbero difficili da realizzare. Di seguito elenco i punti di forza di questo progetto


  • Modularità: gli I/O saranno di tipo distribuito, collegati tra loro da un bus di segnale. Il master sarà una scheds Arduino opportunamente programmata.
  • Economia: stimo un costo di circa 1 euro per uscita e circa 0,5€ per ingresso più il costo della scheda Arduino (circa 20€)
  • Versatilità: Possibilità di realizzare logiche di funzionamento anche complesse per far interagire ingressi con uscite, ad esempio una versatile gestione degli itinerari (anche con consensi esterni come nella realtà) senza ricorrere a tediose e chiuse matrici di diodi hardware. 
  • Indirizzamento: raccolgo uno stato per dirottarlo in più modi, ad esempio aquisisco lo stato di un deviatoio e gestisco più uscite indirizzate ad un sinottico, ad un modulo S88 per la retroazione, a relè per la polarizzazione del cuore ecc. ecc., il tutto con un unico contatto proveniente dal deviatoio.
Insomma le potenzialità ci sono e il progetto è già partito, buona parte del software è già stato sviluppato, sono in cantiere la realizzazione dei primi moduli per il comando di accessori elettromagnetici fino a 4A, un modulo ingressi ed un modulo pilotaggio per LED.

Modulo 8 Ingressi
Modulo 8 uscite per accessori elettromagnetici


A presto!