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!

2 commenti:

  1. Il progetto è molto interessante. Ho letto diversi interventi sull'utilizzo di Arduino per utilizzarlo nel DCC fermodellistico. In un forum di DCCWorld ho notato molta resistenza ed, a mio parere, una certa presunzione di avere dalla propria parte la verità assoluta in relazione alla propria posizione pro-PIC ad anti-Arduino. Le guerre di religione non hanno mai portato bene a nessuno. Le novità, la curiosità intellettuale e la progettazione sono sempre in sè meravigliose. Ho un tracciato in soffitta, che devo completare. E' tutto su di un livello. Ho motori Conrad comandati da decoder DCC accessori (per pilotare i deviatoi ed il tracciato è sezionato (su una rotaia) in blocchi la cui occupazione è controllata dai moduli di assorbimento RS8 di Paco . Il sistema DCC è Lenz LZV100 + LH100. Interfaccio il sistema Lenz dcc col PC attraverso la LI101F ed usando la versione demo (5.8 o Silver) di TrainContoller. Non so se verrò mai a capo di una prima "sistemata" per poi pensare ad abbellire ciò che è nudo e piuttosto inguardabile. A me interessano gli automatismi, del resto so bene che come "plasticista" valgo davvero zero! Ciò che mi interessa moltissimo è la possibilità , usando Arduino, di assegnare il giusto evento (verde-giallo-rosso) ad un segnale luminoso in funzione dell'occupazione o meno di un blocco. Mi piacerebbe poter impostare con Arduino un segnale a rosso se un blocco A è occupato a verde se è libero, tenendo presente il verso di percorrenza del treno e quindila discriminante di blocco precedente e blocco successivo rispetto a quello che il treno, in un certo istante, sta occupando. Vorrei usare solo il verde ed il rosso per non complicarmi la vita ... a me basta giocare un po' perchè della fedeltà al reale non mi importa granchè. Magari , ma è un successivo ulteriore passo poter gestire anche i deviatoi ( cioè i motori Conrad) con Arduino usando TrainController.
    Quindi sono molto curioso di avere notizie sullo sviluppo del progetto. Buon lavoro e grazie per quanto hai messo on line.

    RispondiElimina
  2. Gianni ti ringrazio per gli apprezamenti, il progetto continua a breve pubblichero' altri interessanti aggiornamenti

    RispondiElimina