giovedì 21 febbraio 2019

Un palmare multi loco per sistemi Xpressnet con Arduino Mega


Il progetto descritto di seguito riguarda un palmare per sistemi digitali che utilizzano il protocollo Lenz Xpressnet© tipico dei sistemi Roco, basato su Arduino Mega.
L’ idea parte dall’esigenza dei poter avere sottomano il controllo di più loco, ciascuna con la classica manopola dedicata. Tutti i palmari infatti hanno un solo potenziometro o encoder, e per poter controllare più loco occorre sempre scorrere un menù o cambiare indirizzo. Questo palmare invece mette a disposizione tre manopole dedicate e 4 tasti per ogni loco per i controlli essenziali della marcia (cambio di indirizzo, velocità, stop loco, cambio direzione, luci) in maniera diretta, i comandi cioè sono sempre disponibili. E' possibile inoltre leggere le CV del decoder.
Il progetto prevede come anticipato l’utilizzo un Arduino Mega (ho usato un clone cinese con interfaccia seriale/USB basata sul chip CH340) a causa dell’elevato numero di I/O richiesti e per eventuali espansioni future, una tastiera 4x4, un display LCD a 4 righe e 20 colonne con interfaccia I2C, tre encoder rotativi e un semplice circuito di interfaccia per il bus RS485 per connettersi al bus Xpressnet©.
Il software è molto semplice e intuitivo, esso utilizza le librerie messe a disposizione di Philipp Gahtow sul suo sito internet http://pgahtow.de al quale rinnovo i ringraziamenti per il supporto. Lo sketch può essere facilmente modificato per aggiungere altre funzioni, inserire altri encoder etc. Le funzioni della libreria di Philipp sono di facile comprensione una volta lette le direttive del protocollo.
Lo schema dei collegamenti è il seguente:


Lo schema dell’interfaccia con il busRS485 si basa sul chip MAX485 (o equivalente), anch’ esso molto comune in rete, è indicato nella figura seguente:

Il circuito fornisce l’alimentazione ad Arduino e al display sfruttando la tensione +12V messa a disposizione dal bus Xpressnet©, i pin TX/RX vanno connessi all’ interfaccia seriale 1 di Arduino, il pin EN che abilita/disabilita la trasmissione al pin 25.
Le connessioni con la tastiera e con gli encoder sono indicate all’ interno dello sketch. 
Il codice come anticipato è molto semplice, dopo la parte di inizializzazione, il loop principale prevede ciclicamente le seguenti operazioni:
I tasti del tastierino 4x4 sono organizzati in modo che ogni colonna numerica è relativa a ciascuna delle tre loco controllate dal palmare, mentre le righe rispettivamente controllano l’indirizzo della loco (prime due righe), la direzione (terza riga) e le luci (quarta riga). Il tasto “A” agisce come Stop di emergenza togliendo tensione ai binari, con il tatìsto "D" si entra in Service Mode per la lettura delle CV:
Gli encoder regolano la velocità della loco, premendo la manopola a mo’ di pulsante (tutti gli encoder hanno la funzione “push-button”) la velocità passa istantaneamente a 0.

Allo start-up il display visualizza la scritta di benvenuto e la data/ora della compilazione del file caricato su Arduino, un modo per tener traccia della versione sw caricata. Successivamente vengono visualizzate le info delle loco controllate:


Per ogni loco sono visualizzate le seguenti info: indirizzo, direzione, stato delle luci e velocità. Sulla parte desta sono indicati gli step attualmente in uso e in basso lo stato di alimentazione dei binari.
Il palmare utilizza di default la modalità a 28 step, tuttavia allo start-up tenendo premuto il tasto “D” è possibile cambiare gli step, il software infatti visualizza la schermata seguente:


Agendo sui tasti “A” e “B” si possono scegliere le seguenti modalità:

0  – 14 step

1  – 27 step

2  – 28 step (default)

3  – 128 step

Una volta scelto il numero di step con cui operare, premendo il tasto “D” il palmare va nella modalità operativa. La scelta degli step non è memorizzata in EEPROM.
Il palmare permette anche la lettura delle CV se connesso alle centrali dotate di tale funzione (purtroppo il Lokmaus/Multimaus non forniscono feedback). Premendo il tasto “D” si entra in Service Mode:


Agendo sul encoder 1, si potrà scegliere la CV da leggere e premendo la manopola a mo’ di pulsante verrà visualizzato il valore della CV:
Una volta terminate le operazioni di lettura, premendo il tasto “D” si ritorna alla modalità operativa.
Ecco l' elenco dei componenti:
-  Arduino Mega (per il prototipo è stato usato un clone)
-  Display LCD 20x4 con interfaccia I2C come questo
-  Keypad 4x4  link
-  Encoder rotativo KY-040 link

Per l 'interfaccia con il bus Xpressnet, i componenti da assemblare sono i seguenti:
- Connettore RJ-12
- circuito integratro MAX485 o equivamente
- circuito integrato LM7805  (case TO220)
- 2 condensatori 100uF 25V
- 1 diodo 1N4004 o equivalente

Queste alcune foto della realizzazione del prototipo:




Aggiornamento 19/03/2019

Antonino ha aggiornato il suo palmare con una comodissima funzione per la scrittura delle CV, trasformando di fatto il palamre TriLok in una completa stazione DCC! Cliccate sul link qui sotto per leggere il post corrispondente.






A presto!
  

sabato 26 maggio 2018

Motorizzazione FS E402B DelPrado

Tempo fa un editore di nome DelPrado mise ion commercio una collana chiamata "Locomotive del mondo", composta da 100 locomotive statiche in scala N 1:160. Tra le locomtive proposte spiccano quelle italiane, tra le quali troviamo anche la E402B in livrea di origine, la cassa devo dire appare ben fatta a parte i pantografi che delgi ATR90 FS hanno ben poco, e sono terribilmente grossolani.

L'idea è quella di fornire una degna motorizzazione a questa loco per poterla finalmente vederla sfrecciare nel mio plastico.

Innanzitutto occorre procurarsi la cassa DePrado reperibile sul mercato dell'usato, reperibile anche all'estero.


Aperta la confezione ho rimosso la loco dalla base espositiva mediante una vitina sul fondo, quindi ho separato la cassa dal telaio folle, sempre mediante due viti poste sul fondo. A questo punto non rimane che fresare completamente tutto l'interno mediante un minitrapano ed una fresetta, per fare in modo che il telaio alloggi perfettamente nella cassa.

Come motorizzazione ho scelto una BR120 su base Minitrix, ma va beniussimo anche Fleishmann. Lavorando di fresa e lima per rastremare le estremità il telaio calza perfettamente nella cassa.
Dal telaio folle Delprado vanno recuperate le fiancate dei carrelli avendo cura di non romperle nella rimozione.




Dal telaio motorizzato separare i due carrelli, con l'occasione procedere anche ad una accurata pulizia. L'obbiettivo è quello di rimuovere le fiancate originali e predisporre la sede per l'incollaggio delle fiancate precedentemente rimosse.


fare attenzione a posizionare correttamente le boccole, anche se al vero il carrello ha un passo leggermente diverso dall'originale ma alla vista non si nota. Prestate attenzione perchè le fiancate DelPrado vanno accorciate in quanto altrimenti interferiscono con la cassa causando spiacevoli deragliamenti dovuti ad una non corretta rotazione del carrello stesso.

Visto il buon dettaglio ho preferito lasciare la cassa in livrea di origine così come esce dalla confezione, tuttavia i pantografi sono veramente inguardabili, per questo mi sono procurato l'ottimo kit Lineamodel riproducente una coppia di pantografi ATR90, realizzato in fotoincisione di alpacca.

Il kit si presenta abbastanza semplice ma date le dimensioni ad alcuni potrebbe fare un pò di timore.



Per prima cosa occorre saldare la vite dii fissaggio M1 sulla base. a seguire si assemblano i bracci inferiori e superiori del pantografo, quindi la base porta-strisciante.


 



a questo punto il pantografo va dipinto in Rosso Segnale ed applicato lo strisciante non verniciato.






Ed ecco il modello finito pronto per essere utilizzato, avanti con i commenti!

Modello terminato con pantografi Lineamodel

Fari accesi sui binari prima di rimuovere i pantografi originali

giovedì 26 ottobre 2017

Sessione Rocrail





Piccolo video dimostrativo di una breve sessione di circolazione in modalità automatica con Rocrail, con gestione dei segnali luminosi e degli itinerari