Manuale d'uso

DAC-A110


Caratteristiche hardware del decoder

 

Questo decoder e' stato pensato per unire un basso costo ad una grande flessibilita' di funzionamento. Viene impiegato un microcontrollore a basso costo per implementare tutte le funzioni e pochi componenti standard di larghissimo uso e basso costo. Alla semplicita' dell'hardware corrisponde una completezza delle funzioni firmware che consente il comando di dispositivi complessi e con molteplici aspetti operativi.

  

Caratteristiche dell'hardware

          Ingresso DCC optoisolato, max 30 mA di carico sulla linea DCC, microcontrollore disaccoppiato dalla parte di potenza per massima immunita' ai disturbi

         Ingresso di alimentazione indipendente dalla parte DCC:

         Per la versione AC (corrente alternata) ingresso 5-40VAC

         Corrente in uscita dal decoder:

         Per la versione AC (corrente alternata) 3A per uscita,

         Gestione dell' acknowledge per rilettura delle CV

         PCB a doppio strato, tecnologia SMD

         Dimensioni 80x60mm, 4 fori di fissaggio da 3mm

 

 

Connessione del decoder

 Il decoder deve essere connesso seguendo il seguente schema:



 

Il carico (lampade, bobine di scambi, motori...) dovranno essere connessi tra l'uscita (ad esempio OUT1) e il comune piu' vicino all'uscita stessa (COM 1 & 2).

 

Attenzione: l'ingresso DCC non potra' essere usato per alimentare anche la parte di potenza. Per l'alimentazione usare esclusivamente un alimentatore in alternata con frequenza 50Hz.

   

Parametri globali del decoder

 I parametri globali del decoder sono i seguenti:

 Indirizzo Decoder.

 

Indirizzo DCC= CV1+CV9*64

 

in cui la CV1 puo' assumere tutti i valori da 0 a 63, mentre la CV9 puo' assumere i valori da 0 a 7. Per questo il range di indirizzi utili per il decoder sara' da 1 a 510 (0 non e' valido e 511 e' riservato al broadcast). Se l'utente specifica valori al di fuori di questi range il decoder considerera' comunque solamente i bit corretti cioe' i primi 6 bit di CV1 ed i primi 3 bit di CV9. Ogni volta che un pacchetto DCC indirizzato al decoder viene comandato sulla linea il decoder lo segnala con uno spegnimento del LED di presenza DCC per 100ms.

 

Quindi se CV1=7 e CV9=2 l'indirizzo DCC del decoder sara' 7+2*64=135

 

Tempi di attivazione delle uscite. I tempi di attivazione delle uscite sono specificati nelle CV3,CV4,CV5 e CV6. Ci sono solo 4 CV per 8 uscite quindi piu' uscite dovranno avere lo stesso tempo di attivazione: le norme NMRA raccomandano di implementare questa associazione:

 

CV3 – Tempo in centinaia di millisecondi per l'attivazione delle uscite 1 e 2

CV4 – tempo in centinaia di millisecondi per l'attivazione delle uscite 3 e 4

CV5 – tempo in centinaia di millisecondi per l'attivazione delle uscite 5 e 6

CV6 – tempo in centinaia di millisecondi per l'attivazione delle uscite 7 e 8

 

Il decoder per accessori e' completamente compatibile con tale schema. Il valore delle CV3-CV6 e' espresso in multipli di 100ms. Il valore 0 implementa l'attivazione continua dell'uscita, senza ritorno allo stato disattivato. Il range utile varia da 1 a 255 per le CV3-CV6 quindi l'impulso piu' lungo comandabile sara' di 25.5 secondi e il piu' breve 100 ms.

 

Quindi se CV3=3, le uscite associate a questo tempo di attivazione (default 1 e 2) rimarranno attivate per 3*100ms = 300ms.

 

 Versione del firmware. La CV7 contiene la versione del firmware di programmazione del PIC. Attualmente la versione e' la 1.0, quindi questa CV conterra' il valore 10. Tale CV non ha effetti sul funzionamento del decoder e' solo una informazione all'utente.

 

Produttore del decoder. La CV8 contiene l'identificativo del produttore del decoder. In questo caso il decoder e' un prodotto “fai da te” quindi il codice e' il 13 e la CV conterra' tale valore. Tale CV non ha effetti sul funzionamento del decoder, e' solo una informazione all'utente. Scrivendo un qualsiasi valore dentro questa CV si otterra' la re-inizializzazione del decoder ai suoi valori di default alla successiva riaccensione.


Programmazione semplificata (solo per versioni con tasto di programmazione). Premendo il tasto in figura si entrera' nella modalita' di programmazionde dell'indirizzo DCC. In questa modalita' il LED della presenza DCC lampeggera' velocemente. Premendo nuovamente il tasto si uscira' dalla modalita' programmazione. Premendo il tasto per almeno 5 secondi (fine del lampeggio) si otterra' il reset del decoder e l'inizializzazione delle CV ai valori di default.


Esempio:  Dopo premuto il tasto si invia dal Multimaus un comando di "corretto tracciato" per l'accessorio all'indirizzo 15. Quindi:

CV1 = (((15 - 1) mod 64) div 4) = 3 

CV9 = (15 div 64) = 0

Sara' il valore delle CV1 e CV9 al termine della programmazione. Quindi il decoder rispondera' ai pacchetti indirizzati agli indirizzi da (3 * 4)+1 = 13 a 16.



Pacchetti DCC decodificati

 

Reset

Preambolo

0000.0000

0000.0000

0000.0000

 

 

 

 

 

La ricezione di questo comando causa in tutti i decoder la disattivazione in maniera permanente di tutte le uscite.

 

Basic accessory packet (compreso broadcast)

Preambolo

10aa.aaaa

1bbb.cddd

eeee.eeee

 

 

 

 

 

Questo comando invia le sequenze di attivazione o disattivazione delle singole uscite.

b.bbaa.aaaa: e' l'indirizzo del decoder (1-510), con 0 indirizzo non valido e 511 broadcast.

ddd: uscita da modificare, e in dettaglio  000 => uscita 1, ... , 111 => uscita 8

c: modifica sull'uscita: 0 => OFF, 1 => ON

eeee.eeee: byte di controllo, ha valore (10aa.aaaa xor 1bbb.cddd)

 

 

Service Mode (Direct Mode) con modalita' sia byte che bit

Preambolo

1110.ccvv

vvvv.vvvv

dddd.dddd

eeee.eeee

 

 

 

 

Questo comando programma le CV sul “binario” di programmazione, a cui deve essere connesso solo il decoder in programmazione, dal momento che non viene inviato l'indirizzo del decoder e quindi tutti i decoder collegati saranno programmati nello stesso modo . Viene generato impulso di acknowledge alla fine della programmazione o alla fine della verifica, quindi e' possibile la rilettura delle CV programmate.

cc: tipo di operazione: 00=> N/A ,01 => leggi CV, 10 => operazioni sui bit, 11 => scrivi CV

vv.vvvv.vvvv: indirizzo della CV: 00.0000.0000 => CV1, 11.1111.1111 => CV1024. In questo decoder sono implementate le prime 128 CV, da CV1 a CV128. Come da raccomandazione NMRA le CV si possono accedere indifferentemente sia con indirizzo CV1-CV128 che con indirizzo CV513-CV641.

dddd.dddd: valore da scrivere nella CV. Nel caso cc=10 allora dddd.dddd si deve interpretare come xxxf.hggg dove ggg: bit da modificare all'interno della CV, e in dettaglio  000 => bit 0, ... , 111 => bit 7, f = 0 per verificare il bit  e f = 1 per scrivere il bit e h nuovo valore del bit da modificare (se f=1) oppure bit da confrontare con quello della CV (se f=0).

eeee.eeee: byte di controllo, ha valore (1110.ccvv xor vvvv.vvvv xor dddd.dddd)

 

Lista delle CV implementate

 

CV

Default

 

Commento

Versione

1

1

La CV1[5..0] contiene i 6 LSB dell'indirizzo del decoder

1.0

2

-

Attivazione ausiliaria (non implementata)

 

3

3

Periodo di attivazione delle uscite 1 e 2 espresso in centinaia di millisencondi. Se programmato a 0 l'uscita rimane attiva indefinitamente.

1.0

4

3

Come la CV precedente per le uscite 3 e 4.

1.0

5

3

Come la CV precedente per le uscite 5 e 6.

1.0

6

3

Come la CV precedente per le uscite 7 e 8.

1.0

7

10

Versione del firmware (solo lettura): 1.0

1.0

8

13

Codice Costruttore (solo lettura): public domain e DIY. Scrivendo un qualsiasi valore in questa CV si inizializzera' il decoder ai valori di default (successiva accensione).

1.0

9

0

La CV9[2..0] contiene i 3 MSB dell'indirizzo del decoder

1.0

10

1

Modo di funzionamento del decoder:

0: 8 uscite attivate individualmente dalla centralina in modalita' "toggle": premendo il tasto di deviata/corretto tracciato si accendera' e spegnera' di conseguenza il carico.

1: 4 coppie da 2 uscite, mutualmente esclusive (1/2, 3/4, 5/6 e 7/8).. Settare a 1 se si vogliono pilotare degli scambi a doppia bobina: premendo il tasto deviata/corretto tracciato si attivera' la bobina corrispondente.

1.0

11-18

16

Non usate. Non modificare il valore di default.    

1.0 

19

6

Durata dell'impulso di acknowledge in millisecondi

1.0

20

2

Timeout tra due comandi in modalita' "toggle". Il valore 2 corrisponde a 500 millisecondi.

1.0