Una "mensola" punto a punto in scala N
Moderatori: adobel55, lorelay49, cararci, MrMassy86
- Edgardo_Rosatti
- Socio GAS TT
- Messaggi: 4974
- Iscritto il: venerdì 28 ottobre 2011, 0:59
- Nome: Edgardo
- Regione: Lombardia
- Città: Muggiò
- Età: 60
- Stato: Non connesso
Re: Una "mensola" punto a punto in scala N
In questo aggiornamento vedremo come è strutturato l'impianto di gestione dei treni e faremo anche qualche esperienza con l'uso di Arduino.
Non è mia intenzione fare un tutorial sull'uso di Arduino, in quanto non sono un esperto in elettronica, ma solo uno smanettone.
Per prima cosa dobbiamo decidere come vogliamo muovere i nostri treni sul diorama; in questo caso abbiamo 4 loco singole che viaggeranno
avanti e indietro alternandosi su un tracciato ben definito.
Il tracciato è composto da 2 tronchini da un lato e 3 tronchini dall'altro per un totale di 5 tronchini e un singolo binario centrale che li collega tutti.
Con questa configurazione, potranno fare la "spola" un massimo di 4 motrici, in quanto un tronchino dovrà essere lasciato sempre libero.
In un tracciato come questo, abbiamo 3 deviatoi che utilizzano dei motori elettromagnetici che verranno gestiti in modo automatico da Arduino.
Inoltre, abbiamo anche 5 segnali che fanno capo ai 5 tronchini, gestiti sempre da Arduino.
Infine, dovremo utilizzare necessariamente dei sensori di presenza per capire dove si trovano le motrici; nel mio caso ben 6 sensori del tipo a raggi infrarossi.
Prima di parlare del circuito vero e proprio, vorrei evidenziare la differenza che c'è tra due tecniche di base per la progettazione dei circuiti elettrici:
- logica cablata;
- logica programmabile.
Progettare un circuito elettrico usando la logica cablata, consente di risolvere problemi circuitali tramite un complesso sitema di cablaggi e componenti elettrici
ben definiti. In questo caso, il circuito funzionerà per come è stato progettato.
Usando la logica programmabile, il circuito elettrico sarà composto da un microcontrollore centrale e da tutti i componenti necessari collegati ad esso. Sarà poi il
software caricato sul microcontrollore a gestire il tutto.
Tuttavia, si potrebbe pensare che in fondo non cambi poi molto o quasi tra i due metodi.
Cioè, se devo accendere una lampadina tramite un interruttore o un pulsante, alla fine il risultato non cambia. Anzi, la logica cablata potrebbe essere anche più
semplice ed economica.
Ma se uso la logica programmabile, posso trasformare il circuito in un temporizzatore semplicemente modificando il software, cosa che nella logica cablata non
sarebbe possibile, a meno che non si modifichi il circuito stesso.
Per muovere i treni sul diorama, dobbiamo dare tensione alle rotaie e questo lo facciamo tramite due relè che forniscono 12 volt alle rotaie in base
al senso di marcia voluto.
Altri relè si occuperanno della gestione dei 5 segnali/sezionamenti e dei 3 deviatoi.
Come facciamo a comandare un relè tramite Arduino?
Arduino dispone di un certo numero di porte chiamate di Input/Output e che servono proprio ad interfacciarsi col mondo esterno.
Queste porte possono essere configurate in diversi modi e utilizzano delle definizioni ben precise.
Quando sono di tipo OUTPUT, consentono di gestire il funzionamento un dispositivo esterno, per es. un motore elettrico, un led, un relè, un servocomando, ecc.
Qiando sono di tipo INPUT invece, consentono di rilevare dati dall'esterno tramite sensori.
Alcune porte sono in grado di inviare o leggere segnali analogici (PWM), mantre altre segnali digitali.
Per far partire un treno da uno stazionamento provvisto di segnale e sezionamento classici o per comandare un deviatoio, possiamo utilizzare una uscita di tipo
digitale a cui avremo collegato un relè.
Le uscite digitali di Arduino hanno due stati; alto (HIGH) e basso (LOW), cioè acceso e spento (in informatica si possono usare anche i termini
vero e falso). Quando lo stato di una porta è alto, sul relativo pin sono presenti 5 Volt CC, mentre quando è basso 0 Volt CC.
Questi valori di tensione, come avrete intuito, non bastano per comandare un deviatoio, in quanto tensione e corrente sono troppo deboli.
In questo caso è utile utilizzare un driver di gestione che "legga" lo stato dell'uscita e possa pilotare un relè a 12 Volt o motori elettrici con tensioni anche superiori.
Un semplicissimo driver per comandare relè è formato da 2 resistenze, un transistor e un diodo. Aggiungendo anche un led e una resistenza possiamo avere
anche un controllo visivo dello stato del relé.
Nel mio caso, i relè utilizzati sono da 12 Volt CC e azionano una coppia di deviatori, così sono in grado di comandare il motore elettromagnetico di un deviatoio
e di gestire un segnale con relativo sezionamento contemporaneamente.
Riassumendo, nel nostro circuito avremo 2 relè per l'aimentazione rotaie avanti e indietro, 3 relè per i motori elettromagnetici dei deviatoi e 5 relè pe i 5
tronchini di stazionamento, per un totale di 10 relè.
I componenti necessari saranno:
-una scheda a microcontrollore tipo Arduino Nano (in alternativa va bene anche qualsiasi altro tipo di Arduino);
-10 resistenze da 4700 ohm 1/4 watt;
-10 resistenze da 10000 ohm 1/4 di watt;
-10 transistor NPN tipo BC547;
-10 diodi al silicio tipo 1N4007 o similari.
Facoltativo per i led spia dei relè:
-10 resistenze da 1000/2200 ohm 1/4 di watt (*);
-10 diodi led rossi diametro 3 mm (**).
(*) il valore può cambiare in base al tipo di led usato.
(**) É possibile usare qualsiasi tipo di led inserendo una resistenza di valore opportuno.
Per alimentare il tutto, utilizzeremo una sorgente di 12 Volt CC collegata alla presa VIN di Arduino e ai relè dei driver. Lo schema prevede il prelievo diretto di
tutte le tensioni di controllo in uscita dai relè.
Il funzionamento del driver è molto semplice.
Quando l'uscita digitale di Arduino è HIGH, manda 5 Volt alla base del transistor BC547 tramite le resistenze, il transistor si eccita e chiude il circuito tra collettore
ed emettitore.
A questo punto, la corrente può scorrere all'interno della bobina del relè che eccitandosi a sua volta fa chiudere i contatti del doppio commutatore a cui
saranno collegati segnale e sezionamento relativo.
Il diodo al silicio collegato al collettore del transistor serve a lo proteggerlo da eventuali scariche di corrente provenienti dal relè in fase di azionamento.
Il led rosso si accenderà quando il relè verrà alimentato dal transistor.
Il prossimo passo sarà quello di scrivere il software che esegua un test di funzionamento dei 10 relè.
- Edgardo_Rosatti
- Socio GAS TT
- Messaggi: 4974
- Iscritto il: venerdì 28 ottobre 2011, 0:59
- Nome: Edgardo
- Regione: Lombardia
- Città: Muggiò
- Età: 60
- Stato: Non connesso
- IpGio
- Socio GAS TT
- Messaggi: 3770
- Iscritto il: domenica 20 maggio 2018, 9:22
- Nome: Giorgio
- Regione: Lombardia
- Città: Nerviano
- Ruolo: co-amministratore
- Stato: Non connesso
Re: Una "mensola" punto a punto in scala N
Personalmente guardo con interesse a cosa si può fare con Arduino ma mi limito ad adottare soluzioni DCC.
L'importante è divertirsi e imparare cose nuove e grazie al cielo il nostro hobby ci da infinite possibilità dovendo essere un poco di tante cose... falegname, elettricista, smanettone e... pastore.
IpGio
N/TT/H0-Ep.III-IT GASTT/FIMF
IpGio I plastici di Gio https://www.gtg3b.it
- FrancoV
- Messaggi: 1558
- Iscritto il: sabato 15 febbraio 2020, 17:45
- Nome: Franco
- Regione: Piemonte
- Città: Bosconero
- Stato: Non connesso
Re: Una "mensola" punto a punto in scala N
LI PECURI .. . LI PECURI .... LI PECURI (vediamo chi coglie la citazione )Edgardo_Rosatti ha scritto: ↑martedì 12 aprile 2022, 0:06 Mini aggiornamento figure scenario:
IMG_20220411_235859.jpg
- Egidio
- Messaggi: 13966
- Iscritto il: giovedì 17 maggio 2012, 13:26
- Nome: Egidio
- Regione: Abruzzo
- Città: Ortona
- Stato: Non connesso
Re: Una "mensola" punto a punto in scala N
- IpGio
- Socio GAS TT
- Messaggi: 3770
- Iscritto il: domenica 20 maggio 2018, 9:22
- Nome: Giorgio
- Regione: Lombardia
- Città: Nerviano
- Ruolo: co-amministratore
- Stato: Non connesso
Re: Una "mensola" punto a punto in scala N
ALTO GRADIMENTO.FrancoV ha scritto: ↑martedì 12 aprile 2022, 12:18LI PECURI .. . LI PECURI .... LI PECURI (vediamo chi coglie la citazione )Edgardo_Rosatti ha scritto: ↑martedì 12 aprile 2022, 0:06 Mini aggiornamento figure scenario:
IMG_20220411_235859.jpg
Giorgio Bracardi...
La grande Radio RAI con una trasmissione che ha segnato una grande passato nel nostro paese.
Con personaggi mitici inventati e portatl nel quotidiano da Arbore e Buoncompagni...
Che ricordi... rivoglio Scarpantibus...
IpGio
N/TT/H0-Ep.III-IT GASTT/FIMF
IpGio I plastici di Gio https://www.gtg3b.it
- Egidio
- Messaggi: 13966
- Iscritto il: giovedì 17 maggio 2012, 13:26
- Nome: Egidio
- Regione: Abruzzo
- Città: Ortona
- Stato: Non connesso
Re: Una "mensola" punto a punto in scala N
IpGio ha scritto: ↑martedì 12 aprile 2022, 13:31ALTO GRADIMENTO.FrancoV ha scritto: ↑martedì 12 aprile 2022, 12:18LI PECURI .. . LI PECURI .... LI PECURI (vediamo chi coglie la citazione )Edgardo_Rosatti ha scritto: ↑martedì 12 aprile 2022, 0:06 Mini aggiornamento figure scenario:
IMG_20220411_235859.jpg
Giorgio Bracardi...
La grande Radio RAI con una trasmissione che ha segnato una grande passato nel nostro paese.
Con personaggi mitici inventati e portatl nel quotidiano da Arbore e Buoncompagni...
Che ricordi... rivoglio Scarpantibus...
IpGio
Con i vostri riferimenti mi avete fatto fare un gran salto nel passato....... Saluti. Egidio.
- FrancoV
- Messaggi: 1558
- Iscritto il: sabato 15 febbraio 2020, 17:45
- Nome: Franco
- Regione: Piemonte
- Città: Bosconero
- Stato: Non connesso
Re: Una "mensola" punto a punto in scala N
- Edgardo_Rosatti
- Socio GAS TT
- Messaggi: 4974
- Iscritto il: venerdì 28 ottobre 2011, 0:59
- Nome: Edgardo
- Regione: Lombardia
- Città: Muggiò
- Età: 60
- Stato: Non connesso
Re: Una "mensola" punto a punto in scala N
Per testare la scheda ho scritto questo codice di test che accende e spegne tutti i relè collegati, muove il servo di 180° avanti e indietro e legge i valori presenti sulle porte analogiche
collegate ai sensori IR.
Ho aggiunto un'uscita per il led semaforo del PL che si può collegare direttamente ad Arduino tramite una resistenza da 330 ohm, quindi il progetto ora sfrutta tutte le porte digitali e 6 porte analogiche.
Codice: Seleziona tutto
/*
PUNTO A PUNTO IN SCALA N (C) 2022 EDGARDO ROSATTI
*/
#include <Servo.h>
Servo servoPL; //creo un oggetto servo chiamato "servoPL"
#define avanti 2 //relè marcia avanti
#define indietro 3 //relè marcia indietro
#define segnale1 4 //relè segnale 1
#define segnale2 5 //relè segnale 2
#define segnale3 6 //relè segnale 3
#define segnale4 7 //relè segnale 4
#define segnale5 8 //relè segnale 5
#define dev1 9 //relè deviatoio 1
#define dev2 10 //relè deviatoio 2
#define dev3 11 //relè deviatoio 3
#define PLout 12 // uscita servo passaggio a livello
#define semaforo 13 //semaforo PL
#define T1 A0 // ingesso sensore IR tronchino 1
#define T2 A1 // ingesso sensore IR tronchino 2
#define T3 A2 // ingesso sensore IR tronchino 3
#define T4 A3 // ingesso sensore IR tronchino 4
#define T5 A4 // ingesso sensore IR tronchino 5
#define PLin A5 // ingesso sensore IR passaggio a livello
int valT1; //valore letto su A0
int valT2; //valore letto su A1
int valT3; //valore letto su A2
int valT4; //valore letto su A3
int valT5; //valore letto su A4
int valPL; //valore letto su A5
int pos=0; //posizione del servo
void setup() {
Serial.begin(9600); //Inizializzazione della porta seriale a 9600 baud
Serial.println ("Porta seriale OK");
pinMode(avanti,OUTPUT); //imposto tutti i pin da D2 a D13 come uscite digitali
pinMode(indietro,OUTPUT);
pinMode(segnale1,OUTPUT);
pinMode(segnale2,OUTPUT);
pinMode(segnale3,OUTPUT);
pinMode(segnale4,OUTPUT);
pinMode(segnale5,OUTPUT);
pinMode(dev1,OUTPUT);
pinMode(dev2,OUTPUT);
pinMode(dev3,OUTPUT);
pinMode(PLout,OUTPUT);
pinMode(semaforo,OUTPUT);
servoPL.attach(12); //collego il servo al pin D12
}
void loop() { //inizio dei test
digitalWrite(avanti,HIGH);
Serial.println ("Avanti ON");
delay (300);
digitalWrite(avanti,LOW);
Serial.println ("Avanti OFF");
delay (1000);
digitalWrite(indietro,HIGH);
Serial.println ("Indietro ON");
delay (300);
digitalWrite(indietro,LOW);
Serial.println ("indietro OFF");
delay (1000);
digitalWrite(segnale1,HIGH);
Serial.println ("Segnale 1 ON");
delay (300);
digitalWrite(segnale1,LOW);
Serial.println ("Segnale 1 OFF");
delay (1000);
digitalWrite(segnale2,HIGH);
Serial.println ("Segnale 2 ON");
delay (300);
digitalWrite(segnale2,LOW);
Serial.println ("Segnale 2 OFF");
delay (1000);
digitalWrite(segnale3,HIGH);
Serial.println ("Segnale 3 ON");
delay (300);
digitalWrite(segnale3,LOW);
Serial.println ("Segnale 3 OFF");
delay (1000);
digitalWrite(segnale4,HIGH);
Serial.println ("Segnale 4 ON");
delay (300);
digitalWrite(segnale4,LOW);
Serial.println ("Segnale 4 OFF");
delay (1000);
digitalWrite(segnale5,HIGH);
Serial.println ("Segnale 5 ON");
delay (300);
digitalWrite(segnale5,LOW);
Serial.println ("Segnale 5 OFF");
delay (1000);
digitalWrite(dev1,HIGH);
Serial.println ("Deviatoio 1 ON");
delay (300);
digitalWrite(dev1,LOW);
Serial.println ("Deviatoio 1 OFF");
delay (1000);
digitalWrite(dev2,HIGH);
Serial.println ("Deviatoio 2 ON");
delay (300);
digitalWrite(dev2,LOW);
Serial.println ("Deviatoio 2 OFF");
delay (1000);
digitalWrite(dev3,HIGH);
Serial.println ("Deviatoio 3 ON");
delay (300);
digitalWrite(dev3,LOW);
Serial.println ("Deviatoio 3 OFF");
delay (1000);
digitalWrite(semaforo,HIGH);
Serial.println ("Semaforo acceso");
delay (300);
digitalWrite(semaforo,LOW);
Serial.println ("Semaforo spento");
delay (1000);
Serial.println("Prova del servo PL 0-180 gradi");
for (pos = 0; pos <= 180; pos += 1) { //escursione del servo da 0 a 180 gradi
servoPL.write(pos);
delay(15);
}
Serial.println("Prova del servo PL 180-0 gradi");
for (pos = 180; pos >= 0; pos -= 1) { //escursione del servo da 180 a 0 gradi
servoPL.write(pos);
delay(15);
}
delay(1000);
valT1= analogRead(T1);
Serial.print("Tronchino 1 = ");
Serial.println(valT1);
delay(10);
valT2= analogRead(T2);
Serial.print("Tronchino 2 = ");
Serial.println(valT2);
delay(10);
valT3= analogRead(T3);
Serial.print("Tronchino 3 = ");
Serial.println(valT3);
delay(10);
valT4= analogRead(T4);
Serial.print("Tronchino 4 = ");
Serial.println(valT4);
delay(10);
valT5= analogRead(T5);
Serial.print("Tronchino 5 = ");
Serial.println(valT5);
delay(10);
valPL= analogRead(PLin);
delay(10);
Serial.print("Passaggio a livello = ");
Serial.println(valPL);
delay (1000);
}
I commenti sono dopo il simbolo // o tra i simboli /* e */
I valori sulle 6 porte di ingresso analogiche dovrebbero essere circa 0 per 0 Volt in uscita dal sensore IR e circa 1023 per 5 Volt.
In questo caso, gli ingressi non sono collegati ed i valori fluttano in modo casuale.
-
- Messaggi: 3212
- Iscritto il: giovedì 1 ottobre 2015, 23:14
- Nome: FM
- Regione: --
- Città: --
- Età: 67
- Stato: Non connesso
Re: Una "mensola" punto a punto in scala N
- FrancoV
- Messaggi: 1558
- Iscritto il: sabato 15 febbraio 2020, 17:45
- Nome: Franco
- Regione: Piemonte
- Città: Bosconero
- Stato: Non connesso
Re: Una "mensola" punto a punto in scala N
A me facevano morire dal ridere tutti, ma in particolare Ermanno Catenacci e il Dr. MarsalaIpGio ha scritto: ↑martedì 12 aprile 2022, 13:31
ALTO GRADIMENTO.
Giorgio Bracardi...
La grande Radio RAI con una trasmissione che ha segnato una grande passato nel nostro paese.
Con personaggi mitici inventati e portatl nel quotidiano da Arbore e Buoncompagni...
Che ricordi... rivoglio Scarpantibus...
IpGio
- Edgardo_Rosatti
- Socio GAS TT
- Messaggi: 4974
- Iscritto il: venerdì 28 ottobre 2011, 0:59
- Nome: Edgardo
- Regione: Lombardia
- Città: Muggiò
- Età: 60
- Stato: Non connesso
Re: Una "mensola" punto a punto in scala N
- FrancoV
- Messaggi: 1558
- Iscritto il: sabato 15 febbraio 2020, 17:45
- Nome: Franco
- Regione: Piemonte
- Città: Bosconero
- Stato: Non connesso
Re: Una "mensola" punto a punto in scala N
- Edgardo_Rosatti
- Socio GAS TT
- Messaggi: 4974
- Iscritto il: venerdì 28 ottobre 2011, 0:59
- Nome: Edgardo
- Regione: Lombardia
- Città: Muggiò
- Età: 60
- Stato: Non connesso
Re: Una "mensola" punto a punto in scala N
- FrancoV
- Messaggi: 1558
- Iscritto il: sabato 15 febbraio 2020, 17:45
- Nome: Franco
- Regione: Piemonte
- Città: Bosconero
- Stato: Non connesso
Re: Una "mensola" punto a punto in scala N
Infatti non ce l'avevo con te (che magari hai anche apprezzato) .... ma con qualcuno che ha lo stesso senso dell'umorismo di un pilone di cemento armato.Edgardo_Rosatti ha scritto: ↑venerdì 15 aprile 2022, 22:40 No Franco, lo scherzo l'ho accettato figurati, anzi una birretta anche a te
-
- Messaggi: 3212
- Iscritto il: giovedì 1 ottobre 2015, 23:14
- Nome: FM
- Regione: --
- Città: --
- Età: 67
- Stato: Non connesso
Re: Una "mensola" punto a punto in scala N
- FrancoV
- Messaggi: 1558
- Iscritto il: sabato 15 febbraio 2020, 17:45
- Nome: Franco
- Regione: Piemonte
- Città: Bosconero
- Stato: Non connesso
Re: Una "mensola" punto a punto in scala N
In questo caso ritiro tuttoCriss Amon ha scritto: ↑sabato 16 aprile 2022, 14:47 Scusate se mi intrometto: Franco, il tuo messaggio si è cancellato non intenzionalmente, ma per una ragione tecnica. Dovendo togliere dei video inesistenti, si è agito sul messaggio (probabilmente non c'era altro modo) ed è andato via pure il tuo massaggio (hai risposto "Citando")! Ciao!!!
- IpGio
- Socio GAS TT
- Messaggi: 3770
- Iscritto il: domenica 20 maggio 2018, 9:22
- Nome: Giorgio
- Regione: Lombardia
- Città: Nerviano
- Ruolo: co-amministratore
- Stato: Non connesso
Re: Una "mensola" punto a punto in scala N
Chiaramente con il messaggio eliminato si perde il contenuto (testo + oggetto video).
Spero di aver chiarito la dinamica...
IpGio
N/TT/H0-Ep.III-IT GASTT/FIMF
IpGio I plastici di Gio https://www.gtg3b.it
- adobel55
- Socio GAS TT
- Messaggi: 11066
- Iscritto il: venerdì 18 novembre 2011, 15:51
- Nome: Adolfo
- Regione: Lazio
- Città: Roma
- Ruolo: Moderatore
- Stato: Non connesso
Re: Una "mensola" punto a punto in scala N
che hai contro i piloni di cemento armato ?
- FrancoV
- Messaggi: 1558
- Iscritto il: sabato 15 febbraio 2020, 17:45
- Nome: Franco
- Regione: Piemonte
- Città: Bosconero
- Stato: Non connesso
Re: Una "mensola" punto a punto in scala N
Nulla, finchè stanno su' ,.... ammetterai però che passarci del tempo insieme non è così divertente
- Edgardo_Rosatti
- Socio GAS TT
- Messaggi: 4974
- Iscritto il: venerdì 28 ottobre 2011, 0:59
- Nome: Edgardo
- Regione: Lombardia
- Città: Muggiò
- Età: 60
- Stato: Non connesso
Re: Una "mensola" punto a punto in scala N
ma non saprei cosa inserirvi sopra; pensavo a dei semplici alberi, ma se avete qualche idea da suggerire l'accetto volentieri.
Lo scenario non dovrà superare una altezza massima di 12 cm, che è l'alteza del fondale.
Non volgio fare pubblicità, ma ho ordinato una scatola di alberi "zeechium-Aristata Teloxis" qui:
https://www.dioramapresepe.com/prodotto ... -sea-moss/
magari può interessare a qualcuno.
-
- Messaggi: 3212
- Iscritto il: giovedì 1 ottobre 2015, 23:14
- Nome: FM
- Regione: --
- Città: --
- Età: 67
- Stato: Non connesso
Re: Una "mensola" punto a punto in scala N
Ciao!
- Andrea
- Socio GAS TT
- Messaggi: 23418
- Iscritto il: mercoledì 26 ottobre 2011, 19:42
- Nome: Andrea
- Regione: Lombardia
- Città: Milano
- Ruolo: Amministratore
- Stato: Non connesso
Re: Una "mensola" punto a punto in scala N
A mio avviso alberi, cespugli od arbusti, ci starebbero bene in un'area simile.Edgardo_Rosatti ha scritto: ↑sabato 16 aprile 2022, 23:20 ma non saprei cosa inserirvi sopra; pensavo a dei semplici alberi, ma se avete qualche idea da suggerire l'accetto volentieri.
Sta venendo bene Ed, bravo.
- adobel55
- Socio GAS TT
- Messaggi: 11066
- Iscritto il: venerdì 18 novembre 2011, 15:51
- Nome: Adolfo
- Regione: Lazio
- Città: Roma
- Ruolo: Moderatore
- Stato: Non connesso