Author |
Topic |
Raffaele Picollo
Italy
1086 Posts |
Posted - 21 August 2017 : 19:08:41
|
Il bus I2C è progettato per fare poca strada, pochi centimetri (io ho provato con successo anche 1m, ma mi sembra un miracolo), poi puoi usare la RS232 (10mt max 15mt) oppure RS485 (molto meglio ma da non presente sulle schede Arduino), che penso sia quella usata da Mario, che a questo punto deve svelarci il segreto delle sue diavolerie con uno schema... |
Raf |
|
|
Mario Puleo
Italy
1304 Posts |
Posted - 22 August 2017 : 17:56:14
|
Niente I2C, niente RS232, niente RS485, è semplicemente una cascata di registri a scorrimento, due da 8 bit ( cioe' 16 bobine da comandare ) per ogni modulo. Arduino manda serialmente i bit corrispondenti alle bobine da accendere o non accendere, quando li ha mandati tutti manda un comando di caricamento, vengono memorizzati e si attivano le bobine. Ho provato a mettere i moduli in cascata, ogni modulo riceve il segnale, lo pulisce, usa i bit destinati a lui, e lo manda avanti al modulo successivo e sembra funzionare anche con 5 metri di cavo in mezzo. Finora ne ho provati quattro in cascata e funzionano. Arduino usa tre uscite per comandare tutto e ci mette un millesimo di secondo a comandare 5 moduli, quindi basta un Arduino nano. Quello che non funziona bene sono i motori degli scambi K, li avevo quasi tutti bloccati dai fondo corsa ossidati. Li ho messi in corto e il modulo li comanda con un impulso come fanno i K83. Volendo si può usare anche come contatto permanente come i K84. E adesso bisogna provarli intensivamente in esercizio, perché sul banco non ci sono tutti i disturbi di un plastico. |
Mario |
|
|
Marino Di fazio
Italy
1393 Posts |
Posted - 10 October 2017 : 18:08:30
|
Il lavoro di "arduinizzazione" della mia stazione continua. Ho terminato la parte di gestione di una parte degli scambi da computer.
|
Marino |
|
|
Marino Di fazio
Italy
1393 Posts |
Posted - 10 October 2017 : 18:13:26
|
con un click sul disegno dello scambio il software tramite seriale invia al primo arduino (uno) un codice che a seconda della funzione che richiede tramite una connessione i2c all'arduino mega relativo attiva il relè associato allo scambio. Tutto il progetto verrà realizzato con questo sistema per azionare scambi, gestire semafori (anche marmotte), sganciavagoni, frenature etc.
|
Marino |
|
|
Marino Di fazio
Italy
1393 Posts |
Posted - 10 October 2017 : 18:18:23
|
quote: Originally posted by Mario Puleo
Niente I2C, niente RS232, niente RS485, è semplicemente una cascata di registri a scorrimento, due da 8 bit ( cioe' 16 bobine da comandare ) per ogni modulo. Arduino manda serialmente i bit corrispondenti alle bobine da accendere o non accendere, quando li ha mandati tutti manda un comando di caricamento, vengono memorizzati e si attivano le bobine. Ho provato a mettere i moduli in cascata, ogni modulo riceve il segnale, lo pulisce, usa i bit destinati a lui, e lo manda avanti al modulo successivo e sembra funzionare anche con 5 metri di cavo in mezzo. Finora ne ho provati quattro in cascata e funzionano. Arduino usa tre uscite per comandare tutto e ci mette un millesimo di secondo a comandare 5 moduli, quindi basta un Arduino nano. Quello che non funziona bene sono i motori degli scambi K, li avevo quasi tutti bloccati dai fondo corsa ossidati. Li ho messi in corto e il modulo li comanda con un impulso come fanno i K83. Volendo si può usare anche come contatto permanente come i K84. E adesso bisogna provarli intensivamente in esercizio, perché sul banco non ci sono tutti i disturbi di un plastico.
Mario, quando hai una giornata libera se mi vieni a trovare proviamo ad integrare il tuo sistema a quanto ho fatto tramite computer. |
Marino |
|
|
Raffaele Picollo
Italy
1086 Posts |
Posted - 10 October 2017 : 19:13:11
|
Marino scusa, non ho capito del perché tu impieghi due Arduino |
Raf |
|
|
Marino Di fazio
Italy
1393 Posts |
Posted - 10 October 2017 : 19:57:51
|
quote: Originally posted by Raffaele Picollo
Marino scusa, non ho capito del perché tu impieghi due Arduino
Il mio impianto ha una cinquantina di scambi, per ogni scambio uso due pin digitali, poi una quindicina di segnali, a tutto questo devo aggiungere una quindicina di pedali, 5 o 6 sganciavagoni più le frenature e le tratte di occupazioni. Lavorando su più schede Arduino posso lavorare in modo asincrono, con Arduino Uno gestisco il sistema di blocco con Arduino Mega tutto quello che viene attivato tramite relè. Anche la programmazione degli sketch (si chiamano così?) mi rimane più semplice.
|
Marino |
|
|
Marino Di fazio
Italy
1393 Posts |
Posted - 11 October 2017 : 09:10:17
|
quote: Originally posted by Raffaele Picollo
Marino scusa, non ho capito del perché tu impieghi due Arduino
Scusa Raf, ma lo "Shift Register " potrebbe risolvermi il problema del numero dei pin limitati? |
Marino |
|
|
Mario Puleo
Italy
1304 Posts |
Posted - 11 October 2017 : 09:24:41
|
Lo shift register ti espande il numero di pin fin che vuoi. E' quello che ho fatto nel mio controllo motori, tre pin di Arduino controllano decine di bobine. Si puó fare anche in lettura. |
Mario |
|
|
Marino Di fazio
Italy
1393 Posts |
Posted - 03 December 2017 : 14:12:30
|
Continuo il lavoro sul progetto Arduino per la gestione della mia stazione. Il grosso del lavoro per il momento è sulla parte software che posso fare anche da casa in quanto allo stato attuale il modulo non è ancora inserito in modo fisso sul plastico.
1) ingressi per la gestione delle 6 tratte di frenatura (il plastico gestisce sei tratte quindi 5 treni). 2) ingressi per i sei pedali Marklin che dicono dove stanno passando i treni. 3) Arduino uno, la scheda principale del modulo, riceve comandi dall'impianto tramite i pedali e dal PC. Dice ad Arduino Mega cosa fare tramite una comunicazione I2c. 4) Arduino Mega, attiva tramite le schede rele scambi, segnali, frenature, itinerari. 5-6) le prime due schede relè.
Il prossimo passo che spero di fare a fine settimana è di iniziare a fare qualche prova con il modulo inserito nell'impianto, anche se a dire il vero qualche prova è già stata fatta. |
Marino |
|
|
Topic |
|