Treni LEGO PF a ricarica automatica (1ª parte)

Siamo partiti dal tentare di recuperare i motori guasti dei treni 9V, e siamo finiti con pacchi batterie “custom”, treni convertiti agli elementi Power Functions™, ricarica wireless per le batterie “custom”.

Cosa volere di più? Dipende, di cose da fare ce ne sono, tante le idee da sviluppare. Supponiamo di essere ad una esposizione per appassionati, dove abbiamo il nostro diorama ferroviario, e immaginiamo di avere il nostro bel treno, convertito agli elementi Power Functions, che ogni minuto fa una fermata alla stazione, dove si posiziona automaticamente sopra la bobina di carica Qi-Charger e ricarica la batteria a bordo per qualche decina di secondi, per poi ripartire, ed andare avanti così fino a che la batteria si trovi, nonostante le microricariche periodiche, con la carica troppo bassa, per cui alla fermata successiva rimane sulla bobina di carica per il tempo necessario a ricaricare fino all’80% la batteria, per poi ripartire. Tutto questo senza alcun intervento da parte nostra, il treno cammina e si regola da solo.

Fantascienza? No, è fatto e collaudato, e vi presento il progetto, completo di tutte le istruzioni per farlo funzionare su tutti i diorami ferroviari. Inoltre, cosa non da poco, se abbiamo realizzato il pacco batterie “custom” con la ricarica wireless abbiamo già quasi tutti gli elementi necessari, non serve molto altro. L’unico problema è che a questo punto occorre qualcuno che ne sappia di resistenze, condensatori ed altri componenti elettronici, almeno per quanto riguarda il montaggio e l’uso degli strumenti minimi necessari per la costruzione ed il collaudo: saldatore a stagno per l’elettronica, tester, “bruciare” un programma su un Arduino.

Andiamo a cominciare, dopo le consuete
Avvertenze: niente di quello che viene scritto e detto qui ha una garanzia di funzionamento o di utilità. Le operazioni richiedono esperienza nel campo, mentre i componenti utilizzati hanno limiti e precauzioni d’uso, e vanno maneggiati solo da persone con specifiche competenze. Non mi assumo nessuna responsabilità né sul funzionamento né su eventuali danni a persone o cose che possano derivare da usi impropri o imprudenti di quanto qui descritto. Gli accumulatori al Litio hanno specifiche precauzioni d’uso, riferirsi alle schede tecniche dei rispettivi produttori.

Il progetto

Ho creato due varianti: una con Arduino Nano ed una con Digispark, un micro-microcontroller compatibile con Arduino. Sono entrambe valide, ed hanno le stesse funzioni. L’unica differenza è la dimensione: l’Arduino Nano è circa il doppio del Digispark, e visto che le dimensioni possono essere un problema, ho preferito avere le due versioni. Il primo prototipo è stato fatto con Arduino Nano, poi ho realizzato il secondo con il Digispark: presenteremo gli schemi elettronici per entrambi, le fasi di costruzione saranno praticamente identiche per le due varianti, tranne che nella realizzazione del circuito.

I requisiti di progetto sono:

  • Uso degli elementi Power Functions™
  • Alimentazione a batteria con il pacco “custom” creato in precedenza
  • Il treno deve essere in grado di localizzare autonomamente la bobina di carica Qi-Charger
  • Il treno deve tenere sotto controllo il livello di carica della batteria, e procedere alla carica completa se necessario
  • Le modifiche agli elementi LEGO® devono essere limitate a quelle già fatte per la ricarica wireless ed il pacco batterie “custom”, ossia: la bobina di carica integrata nel binario PF dritto; la bobina ricevente incollata alla piastra 2×4; il cavetto di prolunga PF tagliato per portare alimentazione al ricevitore del telecomando LEGO
  • Il treno deve rimanere controllabile con il telecomando a infrarossi standard LEGO
  • Limitare i costi

La soluzione proposta sfrutta il fatto che qualcuno ha utilizzato le specifiche del protocollo dei telecomandi LEGO (pubblicate da LEGO stessa, e reperibili ad esempio sul sito di Philippe “Philo” Hurbain) per rendere la libreria IRremote per Arduino capace di emulare i telecomandi LEGO, quindi useremo il protocollo del telecomando dei treni per comandare il nostro, senza modificare nulla nel telecomando, nel ricevitore o nel motore.

L’ostacolo maggiore è l’individuazione e l’allineamento alla bobina di carica Qi-Charger: non c’è altro modo per capire se le bobine sono allineate che controllare se dalla bobina ricevente escono i 5V. O almeno non c’è un modo semplice. Inoltre, cosa non da sottovalutare, ci possono volere fino a tre secondi dal momento in cui le bobine sono allineate al momento in cui arrivano i 5V in uscita dalla bobina ricevente. Abbiamo quindi bisogno prima di un sistema che ci avverta quando siamo nelle vicinanze della bobina di carica e di un modo per allineare le due bobine lentamente fino ad avere i 5V in uscita.

Dopo aver escluso un sensore di prossimità come quello utilizzato nell’automazione di base, avrebbe imposto troppe limitazioni alla configurazione del circuito ferroviario, tentato con un sensore di colori TCS3200, troppo sensibile alle variazioni delle condizioni di illuminazione, nonostante i LED integrati, e troppo ingombrante da piazzare sotto il locomotore, alla fine ho tentato con un sensore magnetico ad effetto Hall, e si è rivelata la soluzione migliore, a patto di usare magnetini al Neodimio di dimensione ridotta, anche se piuttosto potenti.

Per l’occasione ho fatto qualche altro test sulle batterie al Litio per individuare il metodo migliore per capire la carica rimanente, e ne è scaturito un altro grafico. La soluzione è misurare la tensione della batteria senza carico, o con un carico ridotto, cosa che si può fare agevolmente nel momento in cui il treno si ferma per cercare la bobina di ricarica.

Li-ion e Li-po a confronto

La differenza principale fra gli accumulatori cilindrici (tipo 18650, detti Li-ion) e quelli piatti (tipici dei droni, detti Li-po) è che in questi ultimi la tensione a vuoto rimane sempre sopra i 3,6V per calare bruscamente ad accumulatore scarico, mentre gli accumulatori 18650 anche dopo che la tensione scende sotto i 3,4V possiedono ancora parecchi minuti di autonomia, quindi non è possibile basarsi sulla tensione a vuoto per definire la carica rimanente.

Di contro, misurare la tensione sotto carico può essere poco indicativo perché il valore letto dipende da molti fattori differenti, fra cui il carico, la resistenza interna, la capacità totale. Fra l’altro, dato che i treni LEGO usano il metodo PWM per modulare la tensione di alimentazione del motore e definire la velocità di rotazione, i valori letti hanno delle vistose fluttuazioni, come si vede dal grafico sotto, per via del modo in cui è erogata la corrente, ossia ad impulsi.

Il comportamento sotto carico (blu) a confronto con i valori letti a vuoto (rosso)

Questo succede perché le letture dei valori possono capitare casualmente nel momento in cui il motore riceve un impulso o nell’intervallo fra due impulsi, ed i due valori differiscono abbastanza. Anche facendo la media di più letture, i valori risultano abbastanza instabili. A vuoto, invece, le letture sono abbastanza affidabili e stabili.

Quindi rimane il problema di come determinare il livello di carica, cosa per nulla facile. Come sempre, la strategia migliore è andare a vedere le specifiche delle batterie e la documentazione di chi conosce molto bene gli accumulatori al litio. Da qui scaturisce che in teoria un accumulatore al litio ha vita lunghissima se si mantiene la carica fra il 65% ed il 75%: in questa situazione la capacità dell’accumulatore non diminuisce di molto anche dopo 8000 ricariche, rimanendo al di sopra del 90%.

Dai grafici sopra appare evidente che almeno su accumulatori “nuovi” ci sia una certa coincidenza dei valori di tensione letti a vuoto fra Li-Ion e Li-po, per cui sfrutteremo questa caratteristica per mantenere le batterie dentro limiti di carica e scarica adeguati a garantirne la massima vita utile.

Lo schema elettronico

Ci sono due schemi, uno per l’Arduino Nano ed uno per il Digispark. Per comodità, guarderemo lo schema con il microcontroller Digispark, ma al netto dei differenti piedini del controller usati, lo schema è assolutamente identico.

Il microcontroller Digispark
Un Arduino Nano

Partendo dalla sezione in basso a sinistra abbiamo il blocco di alimentazione con la batteria al Litio, il modulo di carica TP4056, il modulo elevatore di tensione MT3608 e il connettore per la bobina ricevente Qi-Charger. Praticamente questo blocco è identico a quello realizzato con la carica wireless. Vi sono aggiunti una resistenza (R3) da 10kΩ ed un condensatore di filtro (C3), che portano la tensione della batteria (Vbat) fino al piedino P2 del microcontroller, un ingresso di lettura analogico, per poter leggere lo stato della batteria.

Una seconda resistenza (R1) da 1kΩ porta la tensione di carica (Vcharge) al piedino P4 del microcontroller. Dato che su questo collegamento la tensione può avere solo due valori, 0V quando le bobine di carica non sono allineate e 5V quando lo sono, è sufficiente una lettura digitale: verrà letto “1” logico quando è presente la tensione di carica, ossia quando le bobine di carica sono allineate.

Il sensore ad effetto Hall

L’uscita del modulo MT3608 alimenta il microcontroller, che ha a bordo un regolatore a 5V e fornisce alimentazione per i due componenti aggiuntivi: il sensore Hall A3144 e il LED multicolore programmabile WS2812B (di cui parleremo fra poco). Il sensore ad effetto di Hall quando rileva un campo magnetico cortocircuita verso massa l’uscita, per cui la colleghiamo al piedino P3 del microcontroller. Il piedino P3 sarà configurato internamente al microcontroller per avere una resistenza collegata al positivo di alimentazione, quindi sarà tenuto a livello logico “1”, e commuterà a “0” quando rileverà un campo magnetico.

Il piedino P1 del microcontroller (il 3 nell’Arduino) è collegato ad un LED infrarosso, che sarà utilizzato per impartire i comandi al ricevitore Power Functions. Il valore della resistenza R2 è di 390Ω, piuttosto alto, perché non serve grande potenza: il LED sarà praticamente attaccato alla cupoletta del ricevitore Power Functions. Anzi, se fosse troppo potente l’emissione del LED potrebbe interferire con altri treni nel diorama.

Una coppia di LED NeoPixel™ di tipo SMD

Il LED WS2812B è un NeoPixel™, programmabile usando un solo filo. Può definire un qualsiasi colore usando 24 bit, 8 per ogni colore. Lo useremo come indicatore visivo, un colore per ogni stato del microcontroller. E’ opzionale, e può essere omesso senza alcun impatto sulla funzionalità del circuito nel suo complesso. Se lo omettiamo possiamo anche togliere R4 e C4, necessari per evitare l’arrivo di disturbi sull’ingresso di comando del LED e dall’alimentazione a 5V.

Questo a grandi linee il funzionamento del circuito. Quello con l’Arduino Nano è assolutamente identico, a parte la dimensione fisica e la presenza di altri piedini, che però non utilizzeremo.

Il protocollo del telecomando

Spendiamo qualche parola per il protocollo del ricevitore ad infrarossi Power Functions, servirà a capire alcune parti del programma. Il ricevitore è pensato per funzionare con sostanzialmente due modalità:

  • quella del telecomando #58122 tipico dei set Technic, con le due levette a tre posizioni: centro (posizione di riposo), avanti e indietro. In questo caso il trasmettitore deve inviare continuamente impulsi al ricevitore, che tiene attivo il motore corrispondente fino a quando non lasciamo la levetta, che ritorna in posizione di riposo. Questa modalità ha in tutto tre velocità dei motori collegati al ricevitore: tutto avanti, fermo, tutto indietro.
  • quella del telecomando #64277 tipico dei treni, con i due commutatori rotativi e i due pulsanti di arresto. Il trasmettitore invia soltanto il comando in caso di variazione dei controlli, ed il ricevitore mantiene lo stato fino a quando non arriva un differente comando. Questa modalità ha un controllo più esteso dei motori, permettendo sette differenti velocità in avanti, sette all’indietro e lo stop, oltre alla “frenata”, una modalità in cui il motore viene alimentato in modo da esercitare una azione frenante, a differenza di quando semplicemente si toglie la corrente ed il treno si ferma per inerzia. In realtà le velocità utilizzabili sono meno, dalla 2 alla 7, con la 1 il motore pare riceva troppa poca energia per mettersi in moto.

Utilizzeremo quindi la seconda modalità, specifica per i treni.

Il funzionamento del treno

Per poter funzionare, il treno richiede che il circuito ferroviario sia configurato in un certo modo:

  • Circuito chiuso, non importa quanto complesso o lungo, basta che sia chiuso
  • In un punto dove il circuito è rettilineo va posizionata la bobina di ricarica, ad esempio di fronte ad una stazione, utilizzando uno dei metodi proposti in precedenza.
  • Poco prima della posizione della bobina, tipicamente a due segmenti di binario dritto di distanza secondo il senso di marcia del treno, va piazzato un magnetino ad indicare la prossimità della bobina stessa

Il comportamento del treno è ciclico:

  • Supponendo di avere la batteria carica all’avvio, il treno marcia normalmente per un tempo prefissato alla velocità di crociera.
  • Trascorso quel tempo, il treno si mette alla ricerca della posizione del magnetino, riducendo leggermente la velocità per non mancarlo.
  • Trovato il magnetino, riduce ulteriormente la velocità fin quasi a fermarsi e cerca la bobina di ricarica, che dovrebbe essere poco distante
  • Trovata la bobina di ricarica, si ferma per un tempo prefissato, se la batteria non è scarica.
  • Se invece la batteria è scarica, si ferma sulla bobina di ricarica fino alla carica completa
  • Terminato il tempo di ricarica, il treno si riavvia gradualmente e ritorna alla velocità di crociera.

I tempi e le velocità sono definiti con delle costanti nella parte iniziale del programma, e possono essere modificati a piacere.

Il software

Il programma è, semplificando al massimo, una macchina a stati molto semplice.

In testa al programma c’è una sezione di configurazione che deve essere modificata per adattarla alle nostre esigenze. I valori che ho inserito sono tali da andare perfettamente in molte situazioni, per esempio utilizzando i treni originali LEGO. Se però vogliamo motorizzare un nostro treno, o il circuito è particolare, è necessario metterci le mani e adattare i valori alle nostre esigenze. Vediamo ora il funzionamento del programma, e sicuramente dopo il significato delle costanti sarà meno oscuro.

All’accensione il sistema rimane per quindici secondi nello stato STARTUP, in cui rimane fermo (ci consente di aggiustare le cose prima di partire a razzo). In questa fase se il sensore magnetico rileva il magnete il LED di segnalazione si accende con luce bianca. Questo è utile per capire se il magnete è posizionato correttamente e viene rilevato dal treno.

Allo scadere del tempo, viene controllato se si trova ancora sopra il magnete, ed in questo caso passa allo stato MANUAL, ossia il microcontroller si disattiva ed il treno è utilizzabile come un normale treno Power Functions. Se non rileva il magnete, fa un controllo sulla presenza della tensione di carica, ossia se il treno si trovi allineato con la bobina Qi-Charger, in quel caso procede alla carica completa della batteria (vedi sotto lo stato FULL_CHARGE). Questo è utile quando il treno dovesse trovarsi con la batteria scarica e lo vogliamo forzare a caricarla del tutto prima di partire.

Se invece non rileva la presenza della tensione di carica, controlla il livello di carica della batteria, e nel caso sia sufficiente, passa allo stato di marcia normale (RUN) e si avvia accelerando gradualmente. Se invece la carica della batteria è troppo bassa, rimane fermo e passa allo stato di ALARM.

Passiamo ad elencare gli stati di funzionamento:

  • STARTUP – è il tempo di attesa iniziale definito con la costante TR_STARTUP in secondi, in cui il treno rimane immobile in attesa. Se al termine di questo tempo rileva di essere sopra il magnete, passa allo stato MANUAL, se invece rileva di essere sopra la bobina di ricarica passa allo stato CHARGE_FULL, altrimenti passa allo stato RUN se la batteria non è scarica. Se la batteria è scarica passa allo stato ALARM.
  • RUN – è la marcia normale del treno alla velocità TR_FULLSP, ossia la velocità di crociera massima. Consiglio di usare i valori 6 o 7 (7 è il massimo). Non viene letto alcun sensore, la durata della marcia dipende solo dal valore impostato nella costante TR_RUNTIME in secondi. In questo stato il LED di stato è verde brillante.
  • SEARCH – Trascorso il tempo TR_RUNTIME, il treno passa alla ricerca del magnetino, leggendo il sensore ad effetto Hall. La velocità passa a TR_SCRSP (consiglio 4 o 5) ed il LED diventa blu. Se non trova il magnetino, dopo un intervallo di tempo pari al doppio della marcia normale (TR_RUNTIME) passa allo stato di ALARM e si ferma.
  • LOCATE – Trovato il magnetino, il treno passa alla ricerca della bobina di carica. Avanza a piccoli scatti alla velocità TR_SLOWSP (consiglio 2 o 3) controllando la presenza della tensione di carica. Il LED è celeste. Se trascorre il tempo TR_PADSRC senza trovare la bobina torna allo stato SEARCH. Se per tre volte esegue il ciclo SEARCH/LOCATE senza trovare la bobina di carica, torna allo stato RUN se la batteria non è scarica, altrimenti passa ad ALARM e si ferma.
  • CHARGE – Trovata la bobina di carica, il treno rimane fermo per il tempo minimo definito da TR_CHARGE, con il LED di colore viola. Il tempo viene aumentato o diminuito in funzione della tensione della batteria a vuoto: se tende a scendere, il tempo di ricarica viene aumentato, se invece supera una certa soglia viene diminuito, proprio per mantenere la batteria entro i limiti di capacità di cui parlavamo sopra. Terminata la carica, torna allo stato RUN ed alla velocità di crociera. Se invece la batteria è scarica passa allo stato CHARGE_FULL
  • CHARGE_FULL – quando la batteria è scarica, il treno si ferma per la ricarica completa, il LED passa al colore arancio. Rimane in questo stato fino a che la tensione della batteria non supera i 4,1V circa. Poi passa allo stato CHARGE_FULL2
  • CHARGE_FULL2 – Per assecondare il profilo di carica delle celle al litio, terminata la prima parte della carica, in cui la tensione cresce fino ad un certo valore, si passa alla seconda fase, in cui la tensione è pressoché costante. Il LED è giallo. Non avendo modo di misurare lo stato della carica direttamente, il treno rimane in questo stato per un tempo fisso e predeterminato definito da TIME_FULLCHARGE. Se dovesse succedere di esagerare con il tempo, non succede niente, semplicemente perché il circuito TP4056 ferma la carica quando la batteria è piena, quindi non c’è pericolo di rovinare nulla.
  • MANUAL – In questo stato il treno diventa a tutti gli effetti un treno Power Functions: il microcontroller rimane inerte e non cambia più il proprio stato, e possiamo manovrare il treno con il telecomando. Per riportarlo in modalità automatica occorre resettare il microcontroller: nel caso dell’Arduino Nano, c’è il pulsantino di Reset per questo, mentre nel Digispark occorre togliere alimentazione. In questo stato il LED è verde, meno luminoso dello stato RUN.
  • ALARM – Se per qualche motivo il treno rileva che la batteria ha bisogno di essere caricata e non riesce a trovare il magnetino o la bobina di ricarica, per non rovinare la batteria scaricandola troppo passa a questa modalità, fermandosi e segnalando con il LED rosso la situazione di blocco. Il treno è manovrabile con il telecomando Power Functions, e possiamo portarlo sopra la bobina di ricarica: in questo caso il microcontroller passa allo stato CHARGE_FULL.

La configurazione

Vediamo i parametri di funzionamento del software e il loro significato.

  • MOTOR – Può essere RED o BLUE, tutto maiuscolo. Definisce il canale usato nel ricevitore infrarosso Power Functions per il controllo del motore del treno. Predefinito è BLUE.
  • IRCHANNEL – Definisce il canale del ricevitore Power Functions. Può essere 0, 1, 2 o 3, e corrispondono rispettivamente ai canali 1, 2, 3 e 4. Insieme al valore MOTOR sopra permette di differenziare il treno controllato, specialmente per evitare interferenze con i treni vicini. Se abbiamo più di un treno controllato automaticamente è consigliabile usare un canale differente per ogni treno. Predefinito è 0
  • TR_RUNTIME – E’ il tempo in secondi per cui il treno rimane nello stato RUN. Se ad esempio abbiamo un circuito molto corto e vogliamo che il treno si fermi ad ogni giro alla stazione abbasseremo questo valore al di sotto del tempo in cui il treno compie un giro. Predefinito è 50 secondi.
  • TR_CHARGE – E’ il tempo minimo di sosta per ricarica sulla bobina Qi-Charger. Il valore corretto è dipendente da quante energia viene consumata dal treno durante il TR_RUNTIME. Se il treno è molto pesante, servirà un tempo di permanenza più lungo. Il software ha un sistema di autoregolazione per cui aumenta o diminuisce il tempo di ricarica in funzione del consumo, portandolo fino al triplo. Se vediamo che il treno aumenta il tempo di fermata, vuol dire che il consumo è elevato, quindi il treno pesa troppo, o che la batteria al Litio si sta invecchiando. Predefinito è 30 secondi. I valori scelti qui sono tali che il treno merci #60052 con una batteria Li-po da 1200mAh gira per ore senza cambiare il tempo di ricarica.
  • TR_FULLSP – E’ la velocità di crociera del treno. Può valere da 2 (minimo) a 7 (piena velocità). Predefinita è 6.
  • TR_SRCSP – E’ la velocità assunta dal treno quando è in ricerca del magnete che indica la prossimità della bobina di ricarica. I valori vanno sempre da 2 a 7. Consigliati 4 o 5, predefinito è 5. Nei test da me fatti, il treno rileva il magnete anche alla massima velocità, per precauzione ho preferito abbassare leggermente la velocità del treno. Anche qui molto dipende dal treno e dal suo peso.
  • TR_SLOWSP – E’ la velocità assunta dal treno quando fa i piccoli aggiustamenti per allinearsi con la bobina di ricarica. Dato che procede a “impulsi”, se il treno ha un certo peso, potrebbe essere necessario aumentare questo valore. Predefinita è 2 (la minima). Anche qui è calibrata per il treno merci, ed a ogni “impulso” il treno avanza di poco meno di un centimetro.
  • TR_STARTUP – E’ il tempo che passa da quando il treno è alimentato a quando inizia il ciclo marcia/ricarica, in secondi. In questo tempo iniziale è possibile effettuare una ricarica completa o didattivare del tutto l’automatismo, come spiegato sopra nella descrizione del funzionamento. Predefinito a 15 secondi.
  • TIME_FULLCHARGE – Come spiegato sopra, questo è il tempo in cui viene effettuata la ricarica completa a tensione costante. Il tempo predefinito equivale a 30 minuti. Considerando che la corrente di ricarica è di 1A massimo, possiamo fare un calcolo approssimato dicendo che ogni ora equivalgono a 1000mAh di capacità, se l’accumulatore è da 2000mAh in 60 minuti la carichiamo a circa metà capacità. Usando un accumulatore da 1200mAh in 30′ arriviamo anche qui a circa metà capacità. Più semplicemente basta aggiungere 30′ ogni 1000mAh di capacità della batteria, per mantenere l’accumulatore nella fascia 50-80% al fine di massimizzare la vita utile.
  • TR_PADSRC – E’ il tempo in secondi per cui il treno cerca l’allineamento con la bobina di carica. Se entro questo tempo non la trova, come spiegato sopra,, torna allo stato di SEARCH. Predefinito è 15 secondi.

Questi sono i parametri configurabili ed il loro significato.

Ci sono anche altri parametri, ma sono calibrati per il circuito così com’è ora e per le librerie software impiegate. Se si intende cambiarli occorre sapere dove e come mettere le mani, pena il non funzionamento, o peggio il guasto.

Nella prossima parte vedremo i prototipi e le soluzioni costruttive adottate.
(Fine della prima parte)

Annunci

Treni LEGO® e batterie al litio: ricarica wireless

(N.B.: modificata la parte sulla bobina trasmettitore dopo la pubblicazione)

Dopo aver realizzato il nostro pacco batterie al litio in versione minima, un altro appassionato è andato oltre, aggiungendo il circuito di ricarica, basato sul modulo TP4056, e un contenitore stampato in 3D.

E allora io rilancio: aggiungo un caricabatteria wireless.

Prima però, le consuete
Avvertenze: niente di quello che viene scritto e detto qui ha una garanzia di funzionamento o di utilità. Le operazioni richiedono esperienza nel campo, mentre i componenti utilizzati hanno limiti e precauzioni d’uso, e vanno maneggiati solo da persone con specifiche competenze. Non mi assumo nessuna responsabilità né sul funzionamento né su eventuali danni a persone o cose che possano derivare da usi impropri o imprudenti di quanto qui descritto. Gli accumulatori al Litio hanno specifiche precauzioni d’uso, riferirsi alle schede tecniche dei rispettivi produttori.

Chi carica?

Esiste una tecnologia utilizzata nei telefoni cellulari in grado di trasferire piccole potenze a breve distanza senza utilizzare alcun contatto elettrico, chiamata Qi-Charging (da qui il pietoso gioco di parole nel titolo).

A destra il trasmettitore, a sinistra la bobina ricevente Qi-charger

Funziona per mezzo di circuiti risonanti, ossia un circuito composto da una bobina ed un condensatore: se si mettono vicini due circuiti con la stessa frequenza di risonanza e se ne alimenta uno con corrente alla frequenza di risonanza, l’altro entrerà in risonanza, appunto, trasferendo una buona fetta della corrente attraverso lo spazio fra le due bobine. Il trasferimento di energia è tanto più efficiente quanto più sono identici i due circuiti e la frequenza della corrente corrisponde alla frequenza di risonanza. Un po’ lo stesso principio per cui se si mettono vicine due chitarre, se sono perfettamente accordate, pizzicando una corda su una, la stessa corda sull’altra inizia a vibrare.

Razzolando su Amazon, ho trovato diversi esempi di sistemi a basso costo per adattare un qualsiasi telefonino per essere caricato con questa tecnologia, ed i prezzi sono relativamente economici:

  • L’unità trasmettitore – a partire da 7 euro, fino a meno di 10 euro, ne esistono di vari tipi, tutti adatti. Non spenderemo di più, non ne vale la pena. Ho provato questo tipo e questo. Non è compreso l’alimentatore, ma è sufficiente un qualsiasi caricabatterie USB da 2A a 5V. Attenzione che l’alimentatore deve erogare 2A, non 1A.
  • L’unità ricevente – I prezzi sono più o meno gli stessi dell’unità trasmittente. Personalmente ho provato questo e questo.

Per quello che ho potuto vedere sono equivalenti, e non vale la pena spenderci di più. Fra l’altro i circuiti sono praticamente tutti uguali, al netto di pochi dettagli. Privilegeremo il ricevitore più piccolo possibile, anche se la dimensione esterna, come vedremo, non è molto indicativa, dato che le dimensioni interne sono standardizzate.

Il trasmettitore ha due differenti versioni: quello a singola bobina e quello a più bobine. Quello multi-bobina dovrebbe permettere un allineamento meno critico, ma per quello che ho potuto vedere (ne ho comprato uno per provare, questo) non è molto più efficiente di quello a singola bobina, e, come vedremo fra poco, potrebbe essere molto più complicato da sistemare.

Come utilizzarlo

Ho realizzato un prototipo che ho usato per i primi esperimenti, e ne ho realizzato un altro per una versione ancora più sofisticata di cui parleremo appena terminati i collaudi in corso (non voglio dire di più, è una sorpresa).

L’idea di base è di inserire il trasmettitore, o meglio la sua bobina, su un tratto di binari, mentre il ricevitore va inserito sotto il locomotore, o comunque nella stessa carrozza dove sta il pacco batterie. Dobbiamo però prima considerare alcuni requisiti per il funzionamento del sistema Qi-Charger:

  • La distanza di funzionamento fra le bobine è meno di 8mm, e non devono esserci ostacoli metallici fra ricevitore e trasmettitore.
  • Non devono esserci oggetti metallici di qualsiasi tipo nei pressi sia del ricevitore che del trasmettitore: interferiscono con la risonanza.
  • Al momento della ricarica il posizionamento deve essere abbastanza preciso e rimanere stabile per tutto il tempo di ricarica.
  • Il trasmettitore è piuttosto ingombrante, e posizionato sotto il binario rimane troppo distante dalla bobina ricevente, per cui va posizionato in modo differente. Dovremo smontarlo per poterlo fare.
  • Lo stesso succede per la bobina ricevente: è piuttosto grande, sicuramente più larga di un treno standard LEGO®, e troppo lunga per poterla posizionare fra i due carrelli del locomotore, per cui anche qui dovremo smontare la bobina e lavorarci sopra.

Ma andiamo con ordine.

Il trasmettitore

Tutti i trasmettitori Qi hanno grossomodo la stessa struttura:

  • La bobina di trasmissione
  • Un foglio di materiale ferromagnetico (di solito ferrite)
  • Il circuito elettronico di gestione

Il foglio di materiale ferromagnetico è parte integrante della bobina di trasmissione e deve essere accoppiato alla bobina. Aprendo un trasmettitore per Qi-charger la situazione è più o meno quella in foto.

Il trasmettitore aperto.
La bobina con sotto il foglio di materiale ferromagnetico.

Il primo problema è che la bobina col foglio di materiale ferromagnetico ha un diametro di 5cm precisi (le dimensioni fanno parte dello standard), mentre lo spazio fra i due binari LEGO è circa 3,5cm.

Confronto fra bobina e binario LEGO PF™

Si può agire in due modi in un solo modo:

  • Con un minitrapano possiamo tagliare una traversina di un binario dritto PF, ed assottigliare le due “travi” in modo da poterci inserire il gruppo bobina/foglio di ferrite dal basso. La superficie della bobina dovrà essere posizionata più o meno all’altezza dei bottoncini delle traversine. Renderà un po’ debole quel segmento di tracciato, e dovremo seviziare in modo irreparabile un elemento LEGO.
  • Stacchiamo la bobina dal foglio di ferrite, delicatamente la deformiamo per farla diventare ovale per entrare fra le due “travi”. Spezziamo il foglio di ferrite (è molto fragile e si può fare tranquillamente con le dita) alla dimensione che entra esattamente sotto la bobina e incolliamo il tutto ad una delle traversine con la colla a caldo. Non rovineremo nulla (la colla a caldo si toglie abbastanza facilmente), ma dovremo confidare nella capacità del sistema Qi-charger di tollerare un imperfetto allineamento di trasmettitore e ricevitore, diminuendo leggermente l’efficienza.

Scegliete tranquillamente fra le due alternative, sono praticamente equivalenti. Io ho preferito la colla a caldo, ma solo perché sono oggettivamente incapace di usare un minitrapano con la precisione necessaria per creare l’alloggiamento della bobina nel tracciato.

(Edit del 2 novembre 2017)
Alla fine ho dovuto gettare la spugna: l’ovalizzazione della bobina trasmittente e la rottura del fogli di ferrite rende troppo critico il sistema, e l’allineamento è delicato e difficoltoso, al punto che anche se perfettamente allineati il collegamento è instabile e inizia a fluttuare, rendendo la carica inefficace. L’unico sistema affidabile è mantenere la geometria della bobina di trasmissione (quella di ricezione non viene toccata). Qui sotto possiamo vedere il binario preparato per accogliere la bobina “nuda”. Non occorre separare bobina e foglio di ferrite, anzi lo lasciamo intatto.

Il binario modificato per accettare la bobina
La bobina in posizione

Guardando le foto sopra (oltre ad avere conferma della mia incapacità a manovrare un minitrapano…) viene il dubbio che probabilmente non è necessario tagliare la traversina, ma solo assottigliarla dal basso. Io ho preferito tagliarla per sicurezza, ma comunque non interferisce con la carica, visto che è di plastica. Inoltre ho constatato con una certa sorpresa che nonostante le “sevizie” il binario ha ancora una buona rigidità strutturale, che può essere incrementata usando una colla a caldo o meglio una colla epossidica a due componenti per fissare la bobina, ma non è necessario: si può usare anche un pezzetto di quella pasta adesiva per incollare le foto all’album, o il mastice adesivo per il lavabo o il piano cottura della cucina, costa praticamente niente ed è un ottimo adesivo, rimovibile all’occorrenza. Lo scopo è soltanto tenere in posizione la bobina, niente di più.

Faremo attenzione a far passare i fili che vanno dalla bobina al circuito di controllo sotto il binario, altrimenti verranno tranciati dal passaggio del treno dopo un po’ di giri, oltre a rovinare le ruote del treno.

La bobina inserita, vista da sopra.

Il circuito elettronico può trovare posto in una piccola struttura nascosta di fianco ai binari. Visto che qui faremo fermare il locomotore, può essere una stazione o un binario di parcheggio servito da uno scambio. Non ho dubbi che troveremo un punto dove nasconderlo nel nostro diorama ferroviario.

Senza rovinare nulla

Grazie a un altro AFOL socio ItLUG (Giovanni, LegoAmaryl nel Forum di ItLUG), che ha suggerito l’uso dei binari #3228c, fra l’altro presenti nello stesso set #60052 del treno merci. Ci sono dei problemi di allineamento, data la differente modalità di incastro, ma lavorando con i cosiddetti “jumper” ho provato a sostituire il binario “seviziato” con uno costruito, soluzione meno indigesta agli AFOL.

I pezzi necessari per la soluzione “AFOL-approved”

L’unica controindicazione è che non sarà possibile attaccare i pezzi ad una baseplate, perché saranno sfalsati di mezzo bottoncino. Si può ovviare rinunciando alle traversine ed usando jumper sotto i binari per parte della lunghezza, anche se risulta forse meno gradevole dal punto di vista estetico.

Il binario con la bobina piazzata sotto.

Qui sopra il risultato completo. Non c’è bisogno di tagliare o incollare nulla, al più usare un po’ di quella pasta adesiva di cui parlavamo sopra per tenere ferma la bobina.

Il ricevitore

La reale dimensione della bobina ricevente è abbastanza più piccola della dimensione esterna. Basta mettere in controluce il ricevitore per sincerarsene.

Il ricevitore in controluce. Il rettangolo a destra è la bobina

Il tutto è composto da tre elementi:

  • La bobina ricevente, con annesso foglio di ferrite
  • Il circuito elettronico di controllo
  • Il cavetto piatto con la spina microUSB, fragilissimo

Dato che lo spessore è intorno al millimetro, per racchiudere i vari componenti sono usati due fogli di plastica adesiva accoppiati. Separarli è abbastanza facile: tirando da un lato il cavetto e aiutandosi con l’unghia, si separano i due fogli a partire dal cavetto.

L’interno. Notare che la bobina ha un verso e sotto ha il foglio di ferrite.

Poi occorre tagliare il foglio di plastica in modo da poter piegare il circuito e farlo aderire al retro della bobina. Attenzione che la bobina ha un verso: il lato ricevente è quello dove si vedono i fili, l’altro ha il foglio di ferrite che lo scherma, quindi se sbagliamo lato non funzionerà. Il lato “buono” è quello con i rettangoli concentrici disegnati sopra il foglio di plastica protettivo e deve essere affacciato verso la bobina trasmettitore. Praticamente le due bobine devono “vedersi”. Plastica, carta, legno sono “trasparenti”, ma metalli e ferrite costituiscono uno schermo impenetrabile.

Il taglio da eseguire, lungo la linea rossa

Nella foto sopra si vedono i contatti di uscita dei 5V: quello centrale è il negativo, i due laterali sono il positivo. Sono così perché il ricevitore è in due versioni, uno anche con la spina microUSB rovesciata, quindi lo stesso cavetto, ma saldato rovesciato. Potete tranquillamente dissaldare il cavetto con un normale saldatore per elettronica, il circuito stampato regge il calore.

Dopo, i due fogli di plastica protettiva vanno tagliati a filo sia della bobina che del circuito elettronico, in modo da ridurre le dimensioni il più possibile senza impattare sul funzionamento. Possiamo anche togliere del tutto i fogli protettivi, solo che la bobina sarà esposta e diventa facile rovinarla, è piuttosto delicata. Io ho preferito tenere solo quelli sulla bobina, e tagliarli a filo fra il circuito elettronico e la bobina stessa, lasciando a nudo il circuito: è meno esposto, una volta ripiegato dietro la bobina.

Ho poi sostituito il cavetto con uno un po’ più lungo e meno fragile, perché quello originale è veramente delicato e troppo corto. Attenzione a rispettare la polarità, di solito hanno il negativo al centro dei tre contatti e i due laterali sono il positivo dei 5V. Ho preso una piastra 2×4 e l’ho incollata con la colla a caldo sopra la bobina con il circuito ripiegato sopra ed il cavetto nascosto sotto la piastra.

Il ricevitore adattato e finito. Notare il circuito ripiegato dietro la bobina e la piastra 2×4
Il lato “caldo” della bobina, quello che va messo verso il trasmettitore

Ecco il risultato finito. Basta collegare il cavetto all’ingresso del modulo TP4056 e siamo pronti.

Il sistema di carica

Il modulo TP4056 è pensato per caricare un singolo elemento Li-Ion a partire da un’alimentazione da 5V, diretta o via cavetto microUSB, infatti ha un connettore microUSB a bordo.

Il modulo ha tutto quello che serve per caricare una cella Li-Ion senza pericoli e utilizzando le specifiche consigliate da tutti i maggiori produttori di batterie. La corrente di carica è limitata a 1A, per cui qualsiasi batteria 18650 con capacità minima di 1800mAh viene caricata perfettamente e correttamente.

schema-collegamenti-PF2
Lo schema totale del circuito con il modulo di carica.

Qui sopra uno schemino di come va collegato al circuito che abbiamo realizzato nel pacco batterie “custom” al litio.

La dimensione del tutto è compatibile con l’alloggiamento all’interno del locomotore riservato al pacco batterie PF. Faremo passare il cavetto che arriva dal ricevitore Qi-Charger dal foro inferiore nel pianale del locomotore, dove passa già il cavetto che alimenta il motore.

La bobina va posizionata in modo tale che rimanga circa 1mm sopra il profilo superiore dei binari, in modo da non interferire con le curve o eventuali dettagli estetici del percorso.

IMG_20170521_110752
La bobina ricevitore installata sotto il locomotore.

Qui sopra un esempio di posizionamento della bobina ricevente sotto il locomotore del treno merci #60052. Lo spazio fra i carrelli e la bobina è sufficiente a far eseguire al treno le curve senza impedimenti.

Una possibile sistemazione è usare uno scambio ferroviario e creare un binario di parcheggio parallelo al binario principale, con i respingenti al termine, posizionati in modo che quando il locomotore vi arriva a contatto la bobina di trasmissione e quella di ricezione si allineano ed inizia la carica. La conferma è doppia: sul circuito che alimenta la bobina di trasmissione si accende un LED che indica l’avvenuto allineamento, mentre sul modulo TP4056 si accende un LED rosso ad indicare che arrivano i 5V in ingresso e la batteria è in carica, di solito ci voglio un paio di secondi per avere l’inizio della carica. Quando la batteria è completamente carica si spegne il LED rosso e si accende quello verde, sempre sul modulo TP4056.

Quanto costa

Trasmettitore e ricevitore Qi-Charger costano dai 16 ai 20 euro in coppia. Il modulo TP4056 si trova su Amazon a prezzi variabili fra 80 centesimi (pacco da 10 a 8 euro) e 3 euro (esemplare singolo). Se abbiamo già realizzato il pacco batteria “custom” con circa 20 euro convertiamo il tutto alla ricarica wireless. Se invece ci accontentiamo del solo modulo TP4056 con pochi centesimi aggiungiamo la funzione di ricarica USB al pacco batterie, come ha già fatto Pivan, l’appassionato LEGO che ha realizzato il pacco batterie con la stampa 3D.

Con due treni modificati possiamo andare avanti alternando (uno in carica ed uno in movimento) per una giornata intera, non male.

Sono un giocattolo, risolvo problemi

Una situazione nota agli AFOL, ed estremamente frustrante, è quando ci si trova a parlare con un non-AFOL di quanto i mattoncini LEGO® non siano un semplice giocattolo ma qualcosa di molto più complesso e versatile, e l’interlocutore mostra un atteggiamento di sufficienza e di compatimento, della serie “hai un’età in cui dovresti aver smesso di giocare da un pezzo…”.

Il fatto che NASA ed ESA usino LEGO per sperimentare applicazioni per le future missioni spaziali, purtroppo, non sembra essere un fatto rilevante, probabilmente anche perché molto distante dalla nostra esperienza quotidiana.

Kroll Ontrack, una società molto nota nell’ambiente del recupero dati e dell’Informatica Forense, si è trovata qualche anno fa alle prese con un problema non da poco: un cliente aveva bisogno di recuperare i dati da oltre cinquemila nastri magnetici inzuppati d’acqua. Per capire le dimensioni del problema, basta tenere conto che un moderno nastro magnetico per dati è lungo svariate centinaia di metri (una cartuccia Ultrium-5 arriva a 800 e passa metri), che moltiplicati per il numero delle cartucce in questione fanno alcune migliaia di chilometri di nastro da pulire a mano, non esistendo apparecchiature specifiche per questo compito. In sostanza, anche mettendo tutto il personale a pulire nastro, segreterie ed ufficio paghe compresi, non sarebbe mai riuscita a consegnare al cliente il lavoro in tempi ragionevoli.

Uno degli ingegneri che lavora in Kroll, mentre col figlio costruiva un bulldozer di LEGO Technic, ha avuto quello che si chiama un “momento LEGO”, ossia ha trovato una soluzione semplice ed elegante ad un problema complesso.

Il video mostra la soluzione, realizzata interamente con pezzi standard LEGO (a parte i tamponi per la pulizia e, ovviamente, il nastro). Visto il basso costo, il meccanismo è stato replicato varie volte ed ha permesso di completare il lavoro in tempi ragionevoli.

Forse non sarà l’argomento definitivo, ma certamente citare i 600.000 dollari intascati da Kroll Ontrack per il lavoro eseguito sono piuttosto convincenti. Alla faccia del giocattolo.

Riferimenti

L’articolo riportato dal profilo Twitter di LEGO.

La notizia riportata da un giornale locale.

Un articolo su come giocare con LEGO sia uno stimolo per la creatività.

1,21 Gigawatt finalmente in mattoncini, grande Giove!

Il team di LEGO® CUUSOO® ha deliberato il prossimo modello creato da un fan che verrà commercializzato come set ufficiale: la DeLorean “truccata” da “Doc” Brown di Ritorno al Futuro.

La DeLorean del secondo episodio di Ritorno al Futuro, in mattoncini (è una bozza, il modello definitivo sarà parecchio differente)
La DeLorean del secondo episodio di Ritorno al Futuro, in mattoncini (è una bozza, il modello definitivo sarà parecchio differente)

Qui c’è l’annuncio sul blog di CUUSOO, e questo sotto è il video di presentazione:

Il gruppo di fan che ha proposto il modello della DeLorean ha deciso che devolverà alla Fondazione Michael J. Fox per la ricerca sulla cura del morbo di Parkinson la percentuale che gli spetta come ideatore del set per ogni esemplare venduto.

La commercializzazione è prevista per la metà del 2013, nulla si conosce ancora sul modello definitivo e sul prezzo.