Qualche giorno di novembre 2015
Adriano trova in soffitta in una scatola, o forse in una busta, un
vecchio trenino LIMA appartenuto al padre quando aveva circa la stessa
età di Adriano, cioè 30 anni fa. E' l'inizio della nostra storia.
Gennaio 2016
Dopo molta insistenza Adriano riesce a convincermi a giocare col
trenino. I tratti di binario trovati in soffitta e altri,
comprati usati su Ebay vengono assemblati su una tavola. Per adesso
pensiamo semplicemente di farlo camminare con la speranza che si
stanchi presto.
Febbraio 2016
Dopo un'operazione di maquillage qualcosa inizia a muoversi.
Marzo 2016
Adriano non si è stancato. Dobbiamo andare avanti. Decidiamo di
costruire un sistema interamente digitale. A tale scopo individuiamo
il microcontroller Arduino
nano che ritenevamo abbastanza piccolo da poter essere
installato a bordo delle locomotive.
Giugno 2016
Pensiamo di usare i relè per invertire il verso di marcia.
Non riusciamo a trovarne di abbastanza piccoli. Un problema da risolvere in seguito. Per adesso andiamo avanti
senza retromarcia.
Gennaio 2017
La prima locomotiva, con le dovute modifiche, viene messa in funzione.
Il driver, comprendente: microcontroller, modulo di comunicazione e un
mosfet per azionare il motore sono installati su un tender
autocostruito.
Fa tutto quello che ci si aspetta.
Ma!. Non è tutto oro quello che lucica.
Prima di tutto con quel tender è orrenda, poi basta una piccola
perdita di contatto con i binari, il microcontroller si spegne e si
ferma tutto. Risolveremo anche questo problema.
Febbraio 2017
Andiamo avanti nel campo degli impianti fissi: disponiamo alcuni Arduino
nano lungo il percorso del treno.
Pensiamo di usare il protocollo I2C
per comunicare con loro. A tale scopo occorre collegare tutti i
microcontroller con una coppia di conduttori (oltre al conduttore di
massa)
Maggio 2017
Le comunicazioni con il protocollo I2C si dimostrano
abbastanza aleatorie.
Settembre 2017
Abbiamo individuato il circuito così detto H-bridge per
l'alimentazione dei motori. Esso permette di invertire il verso di
rotazione senza disporre di una tensione negativa.
Le dimensioni sono ancora tali da dover installare il driver sul
tender.
Gennaio 2108
Sostituiamo Arduino nano col microcontroller WEMOS D1.
Questo contiene un modulo WIFI per cui le comunicazioni con la
locomotiva possono avvenire col protocollo TCP/IP
(quello usato in Internet)
Le dimensioni sono tali tuttavia da non consentire di montarlo sulla
locomotiva.
Settembre 2108
Con l'introduzione di tutti i microcontrollori i problemi riscontrati
sulla comunicazione I2C sono diventati non più tollerabili. La
lunghezza dei cavi e le capacità parassite non consentono
evidentemente un funzionamento affidabile.
Abbiamo deciso quindi di abbandonare il protocollo I2C e utilizzare lo
UART ovvero la comunicazione seriale standard.
Contrordine
Alla fine abbiamo deciso di abbandonare il colloquio con fili e
abbiamo optato per la comunicazione wireless. A malincuore abbiamo
abbandonato Arduino nano per i moduli WEMOS-D1, gli stessi
cioè montati sulle locomotive. Avendo questi una logica a 3.3 V
abbiamo dovuto cambiare svariate cose.
Novembre 2108 I
supercondensatori avendo una capacità molto alta si
prestano ad essere usati come accumulatori di carica.
Essendo disponibili in dimensioni sufficientemente ridotte possono
evitare lo spegnimento del microcontroller in caso di contatti
difettosi.
Giugno 2109
Procediamo anche nel campo del materiale rotabile. Come
microcontroller abbiamo deciso di usare ESP12-F
è sufficientemente piccolo da poter, con un driver DRV-8833 ,
essere sistemato all'interno della locomotiva (almeno delle nostre).
Non ha la presa USB da usare per la programmazione. Dobbiamo quindi
predisporlo con un connettore che consenta di caricare il programma
senza doverlo rimuovere dalla locomotiva. Fortunatamente questo è
possibile senza un sostanziale aumento delle dimensioni.
Settembre 2019
Finora non abbiamo parlato del software sebbene anche esso abbia
richiesto tempo e impegno.
A questo punto il programma di interfaccia, scritto in python,
è praticamente pronto. Esso è in grado di gestire due locomotive.
Rimangono alcune criticità come esempio il monitor in tempo reale
della velocità che richiede una certa attività di messa a punto.
Anche i programmi dei microcontroller sono pronti. Sono stati scritti
in C
usando Arduino IDE. Anche questi necessitano di un affinamento.
Dicembre 2019
Il progetto del driver della locomotiva è concluso.
Gli ultimi problemi sulla misura della velocità sono stati risolti.
Marzo 2020
Inizia la reclusione da coronavirus.
I bambini non frequentano la nostra casa e, nonostante il maggior
tempo a disposizione i lavori sono fermi.