Progetto DCC decoder per deviatoi/accessori
Moderatore: liftman
-
- Socio GAS TT
- Messaggi: 6299
- Iscritto il: martedì 4 settembre 2012, 18:16
- Nome: Mauro
- Regione: Estero
- Città: Madrid (España)
- Stato: Non connesso
Progetto DCC decoder per deviatoi/accessori
Mi incuriosisce la sfida a programmarmi un Arduino Uno Rev.3 in un decoder DCC in grado di pilotare motori per deviatoi, ma ci devo arrivare da solo, pur con tutti gli aiuti del caso.
Al di là che siano motori a bobina, lenti o servo, sono arenato al momento al problema di decodificare e interpretare i pacchetti di segnali in arrivo dal bus DCC.
In pratica ho adottato uno schema frequentemente riportato in rete per connettere il bus DCC alle porte digitali di Arduino con un sistema otpoisolato per evitare guai visti i diversi voltaggi.
Lo schema è questo
Immagine:
36,99 KB
Ho caricato librerie e sketch da questo sito e in effetti il tutto funziona:
http://www.mynabay.com/dcc_monitor/
Posso vedere a monitor (seriale) i vari pacchetti DCC che cambiano man mano che invio comandi ad un ipotetico decode deviatoi.
Immagine:
121,35 KB
Pur essendoci in rete altri esempi, quello che non riesco a capire è come diversificare un comando impartito allo stesso indirizzo per la deviata o il corretto tracciato.
Mi spiego, ci sono esempi in rete in cui ad ogni indirizzo si associa un'azione di arduino. Ma se allo stesso indirizzo arrivano due comandi opposti, deviata e corretto tracciato appunto, come faccio a distinguere tali due comandi e di conseguenza impartire ad esempio un "HIGH" in un pinoutput per deviata e un altro "HIGH" in un secondo pinoutput per il corretto tracciato?
Grazie a chi mi potrà dare un suggerimento
-
- Socio GAS TT
- Messaggi: 2005
- Iscritto il: martedì 22 maggio 2012, 13:07
- Nome: Carlo
- Regione: Piemonte
- Città: Bellinzago Novarese
- Stato: Non connesso
Re: Progetto DCC decoder per deviatoi/accessori
non conosco nello specifico la libreria e gli sketch che hai scaricato, ma tempo fa quando per curiosità avevo studiato l'interfaccia tra arduino e DCC, per comandare gli accessori usavano il pacchetto dcc delle "funzioni", quindi F0, F1, F2, ecc che possono valere 1 o 0 (deviata o corretto tracciato).
-
- Socio GAS TT
- Messaggi: 6299
- Iscritto il: martedì 4 settembre 2012, 18:16
- Nome: Mauro
- Regione: Estero
- Città: Madrid (España)
- Stato: Non connesso
Re: Progetto DCC decoder per deviatoi/accessori
a furia di cercare le decodifiche sono riuscito a capire lo sketch di Papeniglio che ho modificato e che ai primi test sembra funzionare egregiamente.
http://www.papeniglio.net/elettronica/decoder-dcc/
Da questo sketch si parte per comandare ad ogni indirizzo un relè monostabile; ora sono di fretta ma farò tutta una serie di prove e poi relazionerò......
Stay tuned!
-
- Messaggi: 886
- Iscritto il: venerdì 12 giugno 2015, 12:06
- Nome: matteo
- Regione: Veneto
- Città: San Bonifacio
- Stato: Non connesso
Re: Progetto DCC decoder per deviatoi/accessori
Docdelburg ha scritto:
Grazie Carlo,
a furia di cercare le decodifiche sono riuscito a capire lo sketch di Papeniglio che ho modificato e che ai primi test sembra funzionare egregiamente.
http://www.papeniglio.net/elettronica/decoder-dcc/
Da questo sketch si parte per comandare ad ogni indirizzo un relè monostabile; ora sono di fretta ma farò tutta una serie di prove e poi relazionerò......
Stay tuned!
Non ti ferma nessuno!
-
- Messaggi: 97
- Iscritto il: venerdì 18 novembre 2011, 21:15
- Nome: Fabio
- Regione: Campania
- Città: Napoli
- Stato: Non connesso
Re: Progetto DCC decoder per deviatoi/accessori
Ho utilizzato il progetto Rudy sul mio plastico senza alcuna difficoltà.
La IB con la IB Switch ci lavorano senza problemi.
Prossimo step gli S88......
-
- Socio GAS TT
- Messaggi: 6299
- Iscritto il: martedì 4 settembre 2012, 18:16
- Nome: Mauro
- Regione: Estero
- Città: Madrid (España)
- Stato: Non connesso
Re: Progetto DCC decoder per deviatoi/accessori
Fabio_C ha scritto:
Buongiorno,
Ho utilizzato il progetto Rudy sul mio plastico senza alcuna difficoltà.
Buongiorno Fabio,
concordo che il progetto di Rudy è il più calzato per le nostre necessità; in effetti permette di dare un impulso a due uscite di Arduino con un indirizzo unico in modo da muovere correttamente un motore a solenoide. Ovviamente lo fa a soli 5V e servono sovrastrutture che diano un impulso di maggior potenza.
Quello che non ho capito, nella mia ignoranza circa il linguaggio C, è come replicare correttamente le istruzioni dell'indirizzo 1 per avere fino a 6 indirizzi diversi. Sono riuscito a cambiare i punti di output ma replicando le istruzioni mi chiede definizioni che non so.
DECODER SOLENOIDI.doc (34,41 KB)
-
- Messaggi: 97
- Iscritto il: venerdì 18 novembre 2011, 21:15
- Nome: Fabio
- Regione: Campania
- Città: Napoli
- Stato: Non connesso
Re: Progetto DCC decoder per deviatoi/accessori
Arduino con DCC Sniffer
Relè d'interfaccia con i motori a solenoide Hornby/Peco dotati di circuito a scarica capacitiva
Sottoriportato lo sketch contenete 8 deviatoi
Code.txt (10,13 KB)
-
- Socio GAS TT
- Messaggi: 6299
- Iscritto il: martedì 4 settembre 2012, 18:16
- Nome: Mauro
- Regione: Estero
- Città: Madrid (España)
- Stato: Non connesso
Re: Progetto DCC decoder per deviatoi/accessori
Tu però, per avere porte digitali oltre la 13 hai evidentemente un Mega, giusto?
Io arrivo a 6 motori con le porte digitali; potrei usare anche le analogiche?
-
- Messaggi: 830
- Iscritto il: domenica 6 dicembre 2015, 8:30
- Nome: Marco
- Regione: Piemonte
- Città: Moncalieri
- Stato: Non connesso
Re: Progetto DCC decoder per deviatoi/accessori
a volte penso che non sò come intervenire, non capisco a volte dite che di elettronica non sapete nulla e poi si scopre che siete programmatori della nasa...
Non ho letto gli sketc ma secondo me basta un banale datashift per moltiplicare le uscite ad Arduino...
Ma quà sul forum non c'è H0Master che ha pubblicato cose simili? Non trovo più la discussione sennò la linkavo.
Ciao Marco
-
- Messaggi: 97
- Iscritto il: venerdì 18 novembre 2011, 21:15
- Nome: Fabio
- Regione: Campania
- Città: Napoli
- Stato: Non connesso
Re: Progetto DCC decoder per deviatoi/accessori
Docdelburg ha scritto:
Grazie Fabio, mi hai tolto qualche dubbio!
Tu però, per avere porte digitali oltre la 13 hai evidentemente un Mega, giusto?
Io arrivo a 6 motori con le porte digitali; potrei usare anche le analogiche?
Uso 8 deviatoi (maxaccesories) tab 0 a 7 con indirizzo DCC da 10 a 16 (il 9 é libero e usato x alcuni test)
Il primo lo chiamo tab (0) in DCC 10 e le uscite Arduino sono quelle pin 6e5 ecc...
A volte le uscite non sono in sequenza per esempio DCC 12 per non scablare i relè con i comandi di Normale\Rovescio ho fatto prima ad invertirli via software, sai noi della NASA facciamo cosí :geek:
-
- Socio GAS TT
- Messaggi: 4966
- Iscritto il: venerdì 28 ottobre 2011, 0:59
- Nome: Edgardo
- Regione: Lombardia
- Città: Muggiò
- Età: 60
- Stato: Non connesso
Re: Progetto DCC decoder per deviatoi/accessori
Docdelburg ha scritto:
Grazie Fabio, mi hai tolto qualche dubbio!
Tu però, per avere porte digitali oltre la 13 hai evidentemente un Mega, giusto?
Io arrivo a 6 motori con le porte digitali; potrei usare anche le analogiche?
Si, tecnicamente e limitatamente al funzionamento di Arduino, le 6 uscite PWM D3,D5,D6,D9,D10,D11 (non analogiche) dell'UNO sono configurabili anche come digitali, quindi arrivi a 12 (D2-D13). Sarebbero 14 con la D0 e la D1, ma queste ultime sono usate per la comunicazione seriale tra PC e Arduino.
Inoltre è possibile utilizzare i 6 pin di ingressi analogici A0-A5 come pin digitali definendoli nel seguente modo:
Pin 14 = Analog in 0
Pin 15 = Analog in 1
Pin 16 = Analog in 2
Pin 17 = Analog in 3
Pin 18 = Analog in 4
Pin 19 = Analog in 5
Es. Per dichiarare A0 come uscita digitale:
pinMode(14,OUTPUT);
oppure come ingresso digitale:
pinMode(14,INPUT);
e i soliti comandi di scrittura/lettura:
digitalWrite();
digitalRead();
arrivando così a 18 porte I/O digitali
http://alessandro-riva-elettronica.blog ... -come.html
http://www.mauroalfieri.it/informatica/ ... ogici.html
-
- Messaggi: 830
- Iscritto il: domenica 6 dicembre 2015, 8:30
- Nome: Marco
- Regione: Piemonte
- Città: Moncalieri
- Stato: Non connesso
Re: Progetto DCC decoder per deviatoi/accessori
topic.asp?TOPIC_ID=12113
P.S. Io ivece appartengo alla categoria Copia/incolla!
Marco
-
- Messaggi: 4065
- Iscritto il: domenica 26 aprile 2015, 17:22
- Nome: Salvatore
- Regione: Emilia Romagna
- Città: Bologna
- Ruolo: Moderatore
- Stato: Non connesso
Re: Progetto DCC decoder per deviatoi/accessori
-
- Messaggi: 148
- Iscritto il: mercoledì 31 dicembre 2014, 13:52
- Nome: Antonino
- Regione: Campania
- Città: Castellammare di Stabia
- Stato: Non connesso
-
- Messaggi: 4065
- Iscritto il: domenica 26 aprile 2015, 17:22
- Nome: Salvatore
- Regione: Emilia Romagna
- Città: Bologna
- Ruolo: Moderatore
- Stato: Non connesso
Re: Progetto DCC decoder per deviatoi/accessori
http://www.rmweb.co.uk/community/index. ... nts/page-2
il file col codice che hai postato qui sul forum, nel link che mi hai indicato, purtroppo in txt me lo legge tutto di seguito ed è piuttosto problematico riuscire ad ordinare le varie righe, penso che sia lo stesso che hai pubblicato sul forum inglese, è un progetto molto interessante ed è quello che era mia intenzione fare, se ho capito bene c'è la possibilità di poterlo usare sia in analogico che in DCC, correggimi se sbaglio.
-
- Messaggi: 148
- Iscritto il: mercoledì 31 dicembre 2014, 13:52
- Nome: Antonino
- Regione: Campania
- Città: Castellammare di Stabia
- Stato: Non connesso
Re: Progetto DCC decoder per deviatoi/accessori
ciao
-
- Messaggi: 4065
- Iscritto il: domenica 26 aprile 2015, 17:22
- Nome: Salvatore
- Regione: Emilia Romagna
- Città: Bologna
- Ruolo: Moderatore
- Stato: Non connesso
Re: Progetto DCC decoder per deviatoi/accessori
verificando il codice mi segnala un problema di poca memoria rimasta disponibile, se si usa arduino uno o nano col rischio di eventuali malfunzionamenti, con il mega invece è tutto ok, inoltre leggevo sul forum inglese che la tua modifica con registrazione in memoria col tempo potrebbe esaurire il numero di uso della memoria dell'arduino, se ho capito bene dopo non si può più programmare la scheda e tanto meno usarla per quello scopo.
-
- Messaggi: 148
- Iscritto il: mercoledì 31 dicembre 2014, 13:52
- Nome: Antonino
- Regione: Campania
- Città: Castellammare di Stabia
- Stato: Non connesso
Re: Progetto DCC decoder per deviatoi/accessori
Scritture e cancellazioni della EEPROM hanno un numero limitato di cicli, se non sbaglio per Arduino la ATMEL dichiara 100.000 cicli, dopodichè si potrebbero avere difficoltà nello scrivere e leggere dati.
In pratica, una volta memorizzate le posizioni dei servo, potrai farlo altre 100.000 volte. Secondo me può bastare
ciao
-
- Messaggi: 4065
- Iscritto il: domenica 26 aprile 2015, 17:22
- Nome: Salvatore
- Regione: Emilia Romagna
- Città: Bologna
- Ruolo: Moderatore
- Stato: Non connesso
Re: Progetto DCC decoder per deviatoi/accessori
-
- Messaggi: 148
- Iscritto il: mercoledì 31 dicembre 2014, 13:52
- Nome: Antonino
- Regione: Campania
- Città: Castellammare di Stabia
- Stato: Non connesso
Re: Progetto DCC decoder per deviatoi/accessori
ciao