Dekodér pro 16 cívek

Vlastnosti dekodéru

    • spínání cívek lze nastavit buď na časový interval nebo trvale

    • sepnutý stav lze měnit buď na příkaz výhybka rovně nebo výhybka do odbočky

    • na jednu DCC adresu lze připojit více výstupů Arduina – cívek

    • změna CV bez nutnosti restartovat dekodéru

    • zápis do CV je potvrzován ACK

    • je možné číst hodnoty CV

Vyzkoušeno s centrálou DIGI-CZ NanoX-S88 http://www.digi-cz.info/ a řídícím softwarem JMRI http://jmri.org/.

Hardware

Napájení Arduino

Napájení Arduino je 5,4 V. Za konektorem je ochranná Schottky dioda proti přepólování.

Napájení cívek

Napájení cívek je 12 V stejnosměrných. Podle aplikace lze napájení cívek měnit podle parametrů použitého tranzistorového pole ULN2803A od 3,5 do 30 V=.

Jeden výstup tranzistorového pole lze zatížit 500 mA. Tuto hodnotu není možné překročit, jinak dojde ke zničení tranzistorů. Před použitím je třeba změřit odpor cívek a podle použitého napájecího napětí zkontrolovat proud cívkou. Obvod ULN2803A nelze použít pro napájení cívek přestavníků PECO.

Za napájecím konektorem je ochranná dioda proti přepólování. Tuto diodu je nutné dimenzovat na maximální možný odebíraný proud z dekodéru podle uvažovaného provozu.

Telefonní relé

U telefonních relé jsou hodnoty cívky napsané přímo na cívce. V mém případě je tam napsáno:

I - 600 - 10500 - 0,132 CuS

Což znamená: cívka navíjená od jádra - odpor cívky 600 Ω - počet závitů 10500 - průměr drátu 0,132 mm vodič měď a izolace smalt.

Při 12 V napájení poteče touto cívkou proud 20 mA. Pokud budou sepnuty všechny cívky, tak celkový proud bude 320 mA. Ochranná dioda napájení 12 V bude stačit 1 A.

Připojení DCC

Signál DCC je připojen přes obvod 6N137. Pro potvrzovací signál při programování je možné připojit obvod ACK ze zapojení Dekodér pro 15 serv https://sites.google.com/site/sidloweb/elektrika/16-dekoder-pro-15-serv

Při běžném provozu obvod ACK není potřeba a není připojen.

Seznam součástek

Seznam vybraných součástek

Nastavení dekodéru

Dekodér používá knihovnu NmraDcc http://mrrwa.org/ Program byl testován na verzi 1.3.0.

Dekodér si vezme 16 po sobě jdoucích adres pro 16 cívek.

Tabulka CV adresa

Hodnoty společné pro dekodér.

CV 1 a 9 – LSB a MSB adresu lze měnit podle pravidel NMRA v intervalu 1 – 2044.

LSB adresa v intervalu 0 – 255.

MSB adresa v intervalu 0 – 7.

Výsledná adresa se vypočítá LSB + MSB × 256.

CV2 – určeno pouze pro ladění. Pokud je změněná hodnota po nahrání nové verze programu, tak se provede výchozí nastavení CV hodnot. Pokud změna není zůstanou CV hodnoty nezměněny i po nahrání nové verze programu.

CV8 – zápis libovolné hodnoty do CV8 provede obnovu továrního nastavení.

Tabulka CV cívka

Hodnoty jednotlivě pro každou cívku.

Každá cívka zabere 4 CV čísla.

CV segment adresa – DCC adresa cívky se vypočítá ze vztahu:

DCC adresa = offset adresa + segment adresa

Offset adresa je adresa dekodéru, která je uložena v CV1 a CV9 (LSB a MSB). Každý výstup (pin) Arduina má přiřazenou vlastní segment adresu, která je z intervalu 0 – 15. Součtem těchto dvou čísel se získá DCC adresa konkrétního výstupu (pinu). Segment adresy se mohou u jednotlivých pinů opakovat.

CV opačný směr – výstupní pin reaguje na hodnotu BitState. Pro hodnotu 1 se přestaví po pozice ON, pro hodnotu 0 se přestaví do pozice OFF. Ve výchozím stavu jsou hodnoty ON = 1 a OFF = 0. Podle použitého zesilovače je možné tyto hodnoty otočit. Při nastavení CV otočný směr na hodnotu 1 bude výstup reagovat opačně.

CV doba sepnutí – výstup Arduina může být sepnut trvale nebo pouze určitý čas. Každý výstup se nastavuje individuálně.

Pokud bude v CV doba sepnutí hodnota 0, tak výstup bude sepnutý trvale až do doby příjmu opačného příkazu BitState. Při vypnutí dekodéru si tento pamatuje poslední pozici a po zapnutí se výstup nastaví do posledního stavu jako před vypnutím.

Pokud bude v CV doba sepnutí nenulová hodnota, potom bude doba sepnutí vypočtena podle vztahu:

doba sepnutí = CV hodnota × 0,128 s

Hodnota CV pro momentové sepnutí se může zadat v intervalu 1 – 255. Z toho je odvozena doba sepnutí 0,128 – 32,64 s. Cívka se po uplynutí stanovené doby vrátí do výchozí polohy. Pokud v této době přijde příkaz výhybka rovně, tak se cívka vrátí do výchozí polohy okamžitě.

CV poslední pozice – nenastavuje se. Požívá se pro zapamatování si poslední pozice serva při provozu. Uplatní se pouze u výstupů s nastavenou dobou sepnutí 0, tedy trvale.

Příklad nastavení dekodéru

Příklad nastavení dekodéru pro výhybku se dvěma cívkami na jedné DCC adrese a momentovým spínáním.

S tímto nastavením se cívky spínají tak, jak je ukázáno na přiloženém videu.

Přílohy

    • Program pro Arduino – Solenoid.ino

    • Schema zapojení Arduino – Solenoid_schema.zip

aktualizace 11. 11. 2017

vytvořeno 25. 9. 2016