Vai al contenuto
GianCann

Power Function & Micro:Bit - Un altro sistema per il controllo dei treni

Recommended Posts

4 minuti fa, Pix ha scritto:

A questo punto non capisco perché non utilizzare sensori touch o sensori di prossimità custom e non LEGO

In effetti è solo per una questione di principio... cercar di minimizzare al massimo i componenti esterni anche se, d'altra parte, già utilizzare il micro:bit e "tagliare" i cavi PF/9V per fare i collegamenti manda "a quel paese" la 'questione di principio' 😞
Probabilmente farò uso dei reed (5 sensori li ho pagati  € 7,99 su Amazon ed ho pure speso troppo...) e compatterò il tutto, lasciando comunque la logica degli hot-point.

Maledetta LEGO: cosa diamine ti costava fare un sistema più intelligente per giocare con i tuoi treni? 😄 😄 😄

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
5 minuti fa, GianCann ha scritto:

...Maledetta LEGO: cosa diamine ti costava fare un sistema più intelligente per giocare con i tuoi treni? 😄 😄 😄

Si sono dimostrati degli assoluti incompetenti.
E' questo quel che succede quando non hai concorrenza alla spalle, e chi lavora in ambienti dove "se non ti aggiorni perdi clienti" sa di cosa parlo.
Gli bastava comprare la Vengit e importare l'sBrick.

Spiace perché TLG era precursore dell'automazione con i 12V, da lì è stato solo un declino.

Detto questo, anche l'NXT era ed è pieno di difetti, per sistemarlo e produrre l'EV3 hanno dovuto far partecipare gli AFOL al progetto (vedi Daniele...). Perché non fare la stessa cosa con i treni? comunque ora sono un pò OT... 😐

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
22 minuti fa, Pix ha scritto:

Spiace perché TLG era precursore dell'automazione con i 12V, da lì è stato solo un declino

In effetti, ogni volta che vedo un sistema 12V, mi chiedo come mai LEGO abbia abbandonato questa strada 🙂
Se avessero portato avanti quell'idea, con le tecnologie odierne, sai cosa avrebbero potuto fare?
E invece ci ritroviamo con il Boost e con un telecomando Bluetooth con portata di 4 metri. Complimenti TLG!

Comunque, dobbiamo farcene una ragione ed arraggiarci: se vogliamo restare prettamente legati al mondo LEGO abbiamo RCX/NXT/EV3, ognuno con i suoi limiti e le sue complicazioni.
E se devo "adattare" loro, tanto vale realizzarsi una soluzione personalizzata e più semplice da gestire.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Tornando a parlare del progetto basato sul micro:bit, vediamo ora quali sono i componenti necessari per implementarlo.

Partiamo dalla versione PF, ovvero con motore alimentato dal pacco batterie LEGO a 9V.

- Pacco batteria 9v (pile AAA)
- Motore treno PF
- Sensori di tocco RCX 879 (x4) - (in alternativa, è possibile utilizzare le varianti 879c02 / 879c03 / 879c04 o il modello 2974c01
- Microcontrollore micro:bit (€ 18,99 su Amazon.it, oppure € 21,67 completo di cavetto USB e pacco batteria 2x stilo AAA, con connettore adattore al micro:bit)
- Regolatore di tensione MP1584EN (€ 1,5 l'uno - su Amazon.it vendono un bundle da 6 pezzi a € 8,99)
- driver PWM per motori DC DVR8833 (€ 3,3 l'uno - su Amazon.it vengono un bundle da 3 pezzi, a € 8,99)
- Cavetti PF/9v 8886 (€ 3,99 l'uno)

Se si ha dimestichezza con saldatore e stagno, i collegamenti possono essere effettuati (con un po' di attenzione) direttamente sul micro:bit. Altrimenti, alla lista della spesa, è necessario aggiungere una schedina di break-out dove innestare il micro:bit ed accedere ai pin di I/O in modo più comodo.

Dato che il mio progetto finale prevede l'uso di più micro:bit per gestire scambi e passaggi a livello, ho acquistato più schede di break-out, diverse tra loro per dimensioni/caratteristiche.
Ecco quelle che ho preso (dalla più piccola, alla più grande):
- SparkFun micro:bit breakout (pagata  circa € 6,30 su Robot Italy)
MakerHawk BBC micro:bit breakout (€12,99 su Amazon.it)
Micro: bit Breakout Board (Octopus: bit) (€15,99 su Amazon.it)

Nota: L'ultima è più costosa, ma ha delle caratteristiche in più, come la conversione 3.3v/5v per collegarsi anche a sensori che richiedono obbligatoriamente la tensione 9v e un connettore che per ogni pin replica anche i pin VCC/GND per semplificare la connessione ai vari sensori. D'altra parte, il lato negativo è la dimensione più grossa rispetto le altre.
Su AliExpress c'è un modello di scheda di breakount abbastanza compatta, con la linea di connettori a 3 pin (VCC/GND/PINx) e, soprattutto, compatibile con i pin technic LEGO.

A parte un modello di scheda di break-out (la prima dell'elenco), ho acquistato tutto il materiale su Amazon.it spendendo sicuramente di più rispetto ad altri canali.
Su AliExpress ad esempio, se non si ha fretta, si può risparmiare sicuramente qualcosa...
Dato che avevo voglia di sperimentare subito, mi son dovuto adeguare ai prezzi Amazon con il vantaggio di ricevere i vari componenti in un tempo variabile da 1 a 3 giorni.

Come si evince dall'elenco, sono necessari ulteriori due componenti elettronici, oltre al micro:bit.

Il micro:bit lavora a 3.3v e può essere alimentato direttamente da due batterie AA collegate all'ingresso di alimentazione 3.3v oppure tramite un cavetto USB (5v).
Io ho voluto alimentarlo direttamente dal pacco batterie LEGO e quindi ho pensato di usare un regolatore variabile già pronto (per chi mastica di elettronica, può banalmente usare un LM7803 ed un paio di condensatori). Nulla vieta comunque di usare un portabatterie per 2 stilo ed alimentare separatamente il micro (vedremo nello sviluppo del progetto che userò anche questa soluzione).

L'altro componente esterno al micro:bit è un driver PWM per motori in tensione continua (come i PF/9v LEGO).
Questa schedina deve essere alimentata con la tensione di lavoro del motore (quindi 9v) e collegata al micro:bit tramite 2 fili: uno connesso alla massa (GND), l'altro al pin di uscita che useremo per pilotare la velocità del motore.
Anche i due fili che alimentano il motore vanno collegati a questa schedina.

Sostanzialmente (senza entrare troppo nei tecnicismi del sistema PWM), questa scheda riceve un "segnale" a 3.3v modulato dal micro:bit e lo trasforma in un segnale modulato a 9v per alimentare il motore.
In base alla modulazione, viene banalmente variata la velocità del motore.
Questo componente è essenziale (a prescindere dall'uso della scheda di logica, che sia micro:bit, Arduino o altro).

Lo schema elettrico è il seguente.

Collegamento elettrico.png

Per collegare tutti i componenti tra loro abbiamo più possibilità e tutto dipende da quanto vogliamo che sia pulito e/o modulabile/riusabile il nostro sistema.
Molto dipende anche dai sensori che si vogliono utilizzare (il sensore 879 richiede il cavetto esterno tipo 9v, ma esiste anche in versione con cavo integrato 2974c01 -2x4 stud-, ma il suo costo non è irrisorio).

Per collegare pacco batteria/motore e sensori di tocco al resto dei componenti io ho utilizzato alcuni cavetti 8886 che ho appositamente tagliato 😞
Il cavo 8886, oltre a essere una prolunga per il sistema PF, ha infatti anche la funzione di adattatore con il vecchio sistema 9V.
(esiste anche la versione 8871, lungo 50cm)

8886_1.jpg

Come si vede dalla foto, il sistema PF prevede 4 cavi.
Normalmente, i due fili esterni portano la tensione 9V ai vari dispositivi collegati in cascata, mentre i due interni (identificati dalle sigle C1 e C2) controllano il motore collegato.
Applicando la tensione 9v su questi due cavi interni, in base alla polarità applicata sugli stessi (GND-9V o 9V-GND) si inverte il senso di rotazione del motore.

connettore.png

Tagliando 4 cavi 8886 ho potuto collegare i sensori 879 (usando la parte del cavo con connettore 9V) al micro:bit.
Con 2 delle restati "metà parti" dei cavi tagliati (lato connettore PF), ho potuto collegare il pacco batteria alle schede elettroniche (usando i due fili esterni) e il motore alla scheda DVR8833 (usando i due fili interni).

Per un approfondimento sullo schema del cavetto PF vi rimando all'articolo LEGO PF Wire Hacking.

Questo schema, ripeto, è relativo alla versione PF.

Ora sto lavorando alla versione 9v, che prevede l'uso di due micro:bit, meno cablaggi a bordo treno, e l'uso di sensori "reed" in alternativa ai sensori di tocco 879.
...al prossimo aggiornamento 😉

Se avete domande o dubbi, son a disposizione.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Analizzata l'automazione di un treno con motore PF e pacco batteria a bordo del convoglio, vediamo ora come pilotare un circuito con motore 9V introducendo ulteriori componenti al nostro sistema: passaggi a livello e scambi.

La comodità del sistema RC/PF è soprattutto quella di far percorrere contemporaneamente sullo stesso tracciato più treni (anche in direzioni opposte) e l'uso dei binari "flex" che offrono qualche vantaggio in più nella geometria di un circuito (anche se spesso e volentieri sono utilizzati in modo osceno 😄 )
Altro punto a favore è quello di poter disegnare tracciati impossibili da realizzare con il sistema 9V per via dei cortocircuiti elettrici che si verrebbero a creare (pensate ad un loop che rientra sullo stesso binario).

Lo svantaggio del sistema RC, in occasione di un evento espositivo, è quello del consumo di batterie (in parte bypassabile con le batterie ricaricabili) e del sistema di controllo IR, non sempre affidabile.

In un grande diorama city con un circuito ferroviario, solitamente, ci sono sempre almeno 2/3 treni che girano in continuazione.

Per questo motivo, ho sempre preferito utilizzare i binari 9V e relativi motori e nell'arco degli anni ho accumulato un discreto numero di binari/scambi/motori di questo tipo.

È quindi sempre stata mia intenzione automatizzare questo tipo di sistema oer renderlo più "dinamico". Ribadisco che sulla rete/youtube e su questo stesso forum, esistono vari progetti/esempi e documentazione sull'argomento e che il mio progetto è "uno dei tanti" con la differenza che si basa su un microcontrollore semplice da programmare/cablare.

Come detto in uno dei post precedenti, il mio cruccio è quello di non vedere fili elettrici in giro per il diorama 🙂
Per quanto si possa tentare di nasconderli, son sempre evidenti...
E poi, cambiando ogni volta il layout di un diorama, cambia anche il circuito ferroviario e le  distanze tra scambi/passaggi a livello/stazioni.

Per tale motivo, quando vidi che il micro:bit integrava un semplice sistema di comunicazione radio, ho ritenuto che fosse il candidato ottimale per lo scenario "distribuito" che avevo in mente.

In linea generale, i sistemi di controllo dei treni basati su Arduino/Raspberry, prevedono un sistema "centrale" (Arduini, appunto) che dirama sensori ed attuatori lungo in circuito e ne controlla lo stato e le azioni in funzione del passaggio dei treni.

La mia idea, invece, è quella di un sistema distribuito, dove esistono più micro:bit sparsi per il circuito (ognuno con una/due funzioni specifiche di cui occuparsi) e connesso via radio con i restanti micro:bit, agendo in base a comandi scambiati tra di loro.

Ecco lo schema che sto realizzando:

Diorama 9V-v2-new-2.png

Ovviamente il circuito è qui rappresentato come un "ovale" ma nella realtà, il disegno sarà più articolato e può prevedere più moduli (PL/Scambi/Stazioni). La posizione dei PL e degli scambi è assolutamente indicativa. Nello schema ho indicato anche i vari "hot point" che mi serviranno per controllare la posizione del treno e/o le funzioni da attivare.

Il funzionamento che voglio ottenere è semplice: alternare due treni nella percorrenza del circuito, azionando le sbarre dei passaggi a livello prima del loro transito.
Altra caratteristica, e la possibilità di modificare la velocità come visto per il circuito in versione PF.

L'alternanza dei treni è ottenuta tramite parcheggio di uno dei due su un binario di "servizio" che viene abilitato/disabilitato mediante uno scambio.

Gli scambi, infatti, funzionano anche da "interruttori di corrente" e permettono di isolare una parte del circuito.

Per molto di voi questo concetto è abbastanza chiaro, ma lo ripeto a beneficio di chi non conosce bene il sistema 9V:
Uno scambio può avere due posizioni: P0 (aperto) e P1 (chiuso).
Nella posizione P0, è come se lo scambio non esistesse... il treno transita regolarmente sulla parte di binario dritto dello scambio (a prescindere dalla direzione di marcia).

Binario2.png

Nella posizione P1, il treno in ingresso sullo scambio (ovvero in arrivo dalla parte "corta" dello scambio) viene deviato sul lato destro (o sinistro).
Il transito del treno proveniente dal senso opposto di ingresso dello scambio non è in alcun modo influenzato dalla posizione della levetta e dalla parte di arrivo.

Binario1.png

Quando lo scambio è in posizione P0, la tensione sulla deviazione viene scollegata e il tronco del binario è quindi non alimentato (sempreché non ci sia qualche altro punto di alimentazione sul tronco deviato).

Sfrutterò quindi questa caratteristica per interrompere la corsa di un treno, nel momento in cui avrà "ingaggiato" interamente il binario di servizio.

(continua appena posso)

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

@GianCann guarda un po' questo video... alcuni tizi su un forum hanno trovato il modo di pilotare il nuovo hub dei treni nuovi (Power Up) che è bluetooth. 

https://youtu.be/Tyzo_hHFiUc

link al forum:

https://www.eurobricks.com/forum/index.php?/forums/topic/162288-powered-up-a-tear-down/&page=5

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora

  • Navigazione recente   0 utenti

    Non ci sono utenti registrati da visualizzare in questa pagina.

×