Elektrika‎ > ‎

17 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/.

DCC Arduino 16 solenoids



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

 označení  typ
 poznámka
 U1  Arduino ProMini  kompatibilní deska
 U2, U3  ULN2803A  
 IC1  6N137  
 D1, D3  1N5817  Schottky dioda
 D2  1N4148  
 C1, C3  100 nF  Keramický kondenzátor
 C2  470 μF  Elektrolytický kondenzátor
 C4  220 pF  Keramický kondenzátor
 R1  1k5  
 R2, R3  10k  


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.

 číslo CV  popis  výchozí hodnota
 1  LSB adresa  50
 2  Auxiliary activation  pouze pro ladění
 7  Verze softvare  10
 8  ID výrobce  13
 9  MSB adresa  0

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.

 popis  segment adresa  opačný směr  doba sepnutí  poslední pozice
 výchozí hodnota  0 – 15  0  8  0
 cívka  0  129  130  131  132
 1  133  134  135  136
 2  137  138  139  140
 3  141  142  143  144
 4  145  146  147  148
 5  149  150  151  152
 6  153  154  155  156
 7  157  158  159  160
 8  161  162  163  164
 9  165  166  167  168
 10  169  170  171  172
 11  173  174  175  176
 12  177  178  179  180
 13  181  182  183  184
 14  185  186  187  188
 15  189  190
 191  192

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.

 Adresa dekodéru 50  Offset adresa  CV1  50
 CV9  0
 Adresa výhybky 58  Segment adresa
 CV161  8
 pin D12 rovně
 CV162  0
 doba sepnutí 1,024 s
 CV163
 8
 Segment adresa
 CV165  8
 pin D13 odbočka
 CV166  1
 doba sepnutí 1,024 s
 CV167  8


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

ċ
Solenoid.ino
(9k)
Petr Šídlo,
25. 9. 2016 11:47
ċ
Solenoid_schema.zip
(105k)
Petr Šídlo,
25. 9. 2016 11:47
Comments