Un plastico multiprotocollo

Ovvero: come far andare d'accordo XpressNet e LocoNet. Di Mauro Bignamini (Maggio 2011)
 
Premessa

Poco più di un anno fa ho deciso di realizzare il mio primo plastico domestico in H0; vista la ridotta disponibilità di spazio in casa (la struttura occupa un'area di 240 x 110 cm) ho pensato di realizzare una stazione di testa di una linea secondaria con un piccolo scalo merci. Per movimentare un po' il traffico ho previsto una stazione nascosta a quattro binari e una racchetta di ritorno; la struttura è ovviamente a più livelli per lasciare massimo spazio al piano di stazione.

Il plastico è stato concepito fin dall'inizio per il funzionamento in digitale con il preciso intento di utilizzare un PC per la gestione centralizzata e automatizzata di scambi e accessori; l'idea alla base del progetto è quella di lasciare all'operatore umano la possibilità di giocare con i convogli merci (sia sui binari dello scalo che sul resto del tracciato) mentre il PC si occupa della gestione del traffico passeggeri tra la stazione di testa e la stazione nascosta, alternando i vari treni e gestendo tutta la parte di segnalazione. Come si può intuire dal progetto, un buon 80% del tracciato è nascosto, pertanto ho dovuto considerare fin da subito la questione retroazione: se la gestione del traffico passeggeri deve essere regolamentata dal PC mentre l'operatore umano muove i convogli merci è indispensabile sapere in ogni momento qual è lo stato delle varie sezioni del tracciato, in maniera da impedire spiacevoli incontri tra convogli diversi! Dopo parecchie ore di letture e ricerche sul web, ho deciso di adottare il circuito S4 proposto da DCCWorld per la rilevazione dell'assorbimento. La cosa però ha richiesto un pizzico di lavoro extra per poter utilizzare in maniera efficace i diversi standard di comunicazione tra i vari elementi del plastico. Di seguito trovate una breve descrizione del mio lavoro e degli ottimi risultati ottenuti fino ad ora.

 
Azione...

La scelta della centrale digitale per la gestione dei treni è stata praticamente obbligata: non potendomi permettere una costosa Intellibox, con un paio di aste su eBay sono riuscito a portare a casa una centrale ROCO con MultiMaus ad un prezzo decisamente abbordabile.

Per l'interfacciamento della centrale al PC, la soluzione più semplice e immediata è l'ottima GenLI di Paco. Il circuito può essere facilmente realizzato in casa, il file HEX per il PIC è disponibile liberamente e la documentazione è chiara e anche in italiano. Consiglio di collegare la GenLI alla porta slave della centrale e lasciare il MultiMaus sulla porta master. Un altro accorgimento che, nel mio caso, ha eliminato dei blocchi occasionali della GenLI riguarda l'indirizzo XpressNet da assegnare all'interfaccia: di default essa utilizza l'indirizzo 29, ma ho rilevato una totale stabilità di tutto il sistema assegnando alla GenLI l'indirizzo 30. Tutto è stato poi testato sia con un PC desktop (quindi con una seriale legacy) che con un portatile tramite un adattatore USB/seriale.

Per quanto riguarda il software, le prime prove sono state fatte con RocRail, ma alla fine ho deciso di utilizzare TrainController Bronze per il quale esiste un chiaro e dettagliato manuale ufficiale. La GenLI si configura semplicemente come una Lenz LI100 su porta seriale.

 
... e reazione

Se la parte relativa al controllo risulta molto semplice da implementare, la gestione della retroazione è un po' più articolata. Devo confessare che ho impiegato un bel po' di tempo prima di capire che qualsiasi soluzione avessi scelto, non sarebbe stata in alcun modo interfacciabile direttamente alla centrale ROCO: tutte le soluzioni analizzate richiedevano la realizzazione di un ulteriore elemento che "terminasse" il bus a cui collegare i vari sensori e, in ogni caso, tutte le informazioni raccolte dal tracciato non potevano essere gestite dalla centrale ROCO ma dovevano essere gestite da un'altra entità. Fortunatamente TrainController permette l'utilizzo di più sistemi digitali per la gestione del plastico, quindi la soluzione più ragionevole è quella di dedicare il bus XpressNet al solo controllo del plastico, mentre tutta la parte di retroazione deve essere gestita da un sistema diverso. Le alternative a mia disposizione erano il bus s88 oppure il bus LocoNet. Dopo un po' di ricerche sul web, sono approdato sul sito del Plastico di Davide e Luca e lì è scattata la scintilla! Così ho deciso di utilizzare i circuiti S4 (sensori di assorbimento) di DCCWorld su bus LocoNet interfacciandoli al PC tramite il LocoBuffer USB di Hans DeLoof.

Attenzione: il LocoBuffer non è una centrale, anche se il manuale a questo proposito è un po' ambiguo. Infatti, sul circuito è presente una sezione opzionale denominata "current source for Loconet" che l'autore invita a montare se non si possiede una centrale digitale LocoNet; questa sorgente, però, alimenta solo la linea del bus che trasporta il segnale digitale (fili 3 e 4 del cavo LocoNet) e serve per garantire che il livello del segnale sia sempre adeguato anche nel caso di collegamenti in cascata di diversi dispositivi. Lo standard LocoNet richiede che l'alimentazione per i dispositivi connessi al bus sia fornita sui fili 1 e 2 (e dualmente 6 e 5) con una tensione continua di 12-15 Volt, cosa che il LocoBuffer trascura e si limita semplicemente a cortocircuitare i pin corrispondenti sui due connettori RJ12 (si veda lo schema qui a lato).

Per ovviare a questo inconveniente possiamo sfruttare la stessa sorgente che utilizziamo per alimentare il LocoBuffer: basta utilizzare uno spezzone di piattina a 6 fili e crimpare sul connettore RJ12 solo i fili 1 e 2, collegandoli poi alla morsettiera di alimentazione del LocoBuffer stesso. Nella foto qui a lato si può vedere la piattina dedicata all'alimentazione del bus che parte dal connettore di alimentazione a sinistra, passa sotto al circuito stampato ed entra nella porta LocoNet in basso a destra. L'altra porta LocoNet viene utilizzata per il collegamento della cascata di circuiti S4.

Ora che abbiamo "trasformato" il LocoBuffer da semplice interfaccia a centrale LocoNet, possiamo collegare i circuiti S4 e concentrarci sull'ultimo passo: la programmazione degli indirizzi. Ovviamente la programmazione deve essere fatta sfruttando il bus LocoNet, quindi dovrà essere il PC ad inviare le infomazioni tramite il LocoBuffer. Per effettuare questa operazione ho utilizzato l'ottimo software free Railroad Automation, un programma totalmente dedicato al controllo su bus LocoNet che mette a disposizione anche una comoda finestra nella quale monitorare tutti i pacchetti che transitano sul bus.

Grazie a questo software la programmazione dell'indirizzo base e dell'indirizzo di broadcast può essere facilmente effettuata piazzando nella finestra principale uno scambio e andando ad assegnare ai due stati dello scambio gli indirizzi desiderati. Nello screenshot a lato si può vedere come l'indirizzo base 1 sia stato assegnato allo stato "Straight" dello scambio sotto forma di numero di "Switch"; per programmare tale valore nel circuito S4 basta premere il pulsante sul circuito stesso e, quando il LED lampeggia, inviare il comando "Straight" da Railroad Automation. A questo punto il circuito S4 si aspetta l'indirizzo di broadcast: inviando il comando "Diverging" il relativo numero di "Switch" verrà acquisito come indirizzo di broadcast.

A questo punto, per verificare che la programmazione ha avuto successo basta semplicemente inviare di nuovo uno dei due comandi di scambio e controllare cosa viene visualizzato nell'area denominata "Loconet Packets Log" (parte bassa dello schermo). Se tutto è andato liscio, dovremmo vedere una riga che riporta lo stato del sensore di assorbimento con indirizzo 1 (nel caso dell'esempio fatto sopra). Se modifichiamo il valore dello stato "Straight" del nostro scambio e proviamo a ridare il comando, possiamo leggere lo stato di quel sensore. Se invece diamo il comando "Diverging" mandiamo una richiesta in broadcast, quindi il circuito S4 dovrebbe risponderci con lo stato di tutti e quattro i sensori di assorbimento. Nello screenshot a fianco potete vedere l'output del programma ottenuto mandando una richiesta sul mio plastico (indirizzo di broadcast 1970): avendo al momento collegato due circuiti S4, ottengo lo stato di tutti gli otto sensori di assorbimento, dall'indirizzo 1 all'indirizzo 8.

 
Tutti Insieme

Adesso tutti gli elementi del plastico sono collegati e configurati; non resta che lanciare TrainController e aggiungere il LocoBuffer alla lista dei sistemi digitali collegati. Lasciamo come sistema primario il "Lenz Digital Plus / LI100", ovvero la GenLI collegata alla seriale, e aggiungiamo come sistema secondario il generico "LocoNet" specificando la porta COM virtuale creata dai driver LocoHDL.

Dopo aver creato lo schema del tracciato nella switchboard di TrainController, dividiamo il tracciato nei vari blocchi che corrispondono alle tratte collegate al circuito S4. Andando nelle proprietà dei singoli blocchi è possibile creare un "Contact Indicator" (attenzione a non lasciarsi ingannare dalla denominazione: per TrainController questi indicatori possono essere sensori di contatto o di assorbimento indifferentemente) al quale, tramite l'apposita finestra, è possibile associare il relativo indirizzo LocoNet. Riporto qui a lato la finestra delle proprietà di un indicatore (in particolare del terzo sensore del secondo modulo S4 presente sul mio plastico, indirizzo LocoNet 7). Molto utile la presenza in questa finestra del campo "Test" rappresentante un LED rosso che può mostrarci fin da subito lo stato del sensore che stiamo visualizzando: in questo caso il LED è spento, quindi la tratta è libera.

Terminata la configurazione degli indirizzi, possiamo divertirci a far girare i nostri convogli nella maniera che più preferiamo: in modalità manuale potremo usare il MultiMaus per comandare le locomotive e TrainController per gestire gli scambi e tenere sott'occhio i movimenti dei convogli; in modalità automatica (usando ad esempio l'Autotrain by drag & drop) possiamo lasciare totalmente la gestione dei convogli e del tracciato al PC e goderci lo spettacolo dei treni!!

 
chi volesse rimanere aggiornato sull'avanzamento del mio progetto può curiosare sul mio blog all'indirizzo www.papeniglio.net
 
Nota:
Mentre io litigavo con le alimentazioni del locobuffer, DCCWorld ha realizzato un kit di una interfaccia seriale/usb/loconet equivalente al locobuffer che però alimenta in maniera direttamene il bus senza troppi artifici!


Dai un voto a questa pagina:

Rating: 2.3/5 (135 votes cast)

(Unobtrusive) AJAX Star Rating Bar Homepage