Elektrika‎ > ‎

16 Dekodér pro 15 serv

Vlastnosti dekodéru

  • po zapnutí napájení nedochází k zákmitu serva
  • po zapnutí napájení nedochází k velkému proudovému nárazu
  • v koncové poloze nedochází k vrnění serva
  • serva se přestavují postupně
  • přestavování je signalizováno LED diodou
  • je možné nastavit koncovou polohu serva a rychlost přestavování
  • je možné změnit směr otáčení serva
  • změna CV bez nutnosti restartovat dekodér
  • 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/.

Konstrukce dekodéru je rozdělena na tři desky.

DCC Arduino 15 servo

Deska Arduino

Deska Arduino obsahuje připojení napájení, připojení DCC signálu a Arduino.

Jako ochranná dioda proti přepólování je použita Schottky dioda s úbytkem napětí 0,4 V. Z tohoto důvodu se na svorky P2 připojuje stabilizované napětí 5,4 V.

Schema Arduino

Seznam součástek pro obvod Arduino

Seznam vybraných součástek

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

Deska PWR

Serva jsou napájeny tranzistory. Použil jsem MOSFET P-typ tranzistor 1 A. Je možné změnit zapojení na bipolární tranzistory obdobných parametrů. Potom je potřeba změnit v programu příslušné řádky.

Deska tranzistorů je zkonstruována pro tři serva. Na jednu desku Arduina je možné připojit až pět desek s tranzistory. Celkem je tak možno obsluhovat patnáct serv.


Schema PWR

Seznam součástek pro obvod PWR

Seznam vybraných součástek

 označení  typ poznámka
 Q1, Q2, Q3  IRF9120  MOSFET P-type 1 A
 R11, R21, R31  2k7  
 R12, R22, R32  10k  
 R13, R23, R33  1k0  

Deska ACK

Pro potvrzení zápisu hodnot CV se používá potvrzovací mechanizmus v servisním módu (programování). Pro tento účel je připravena potvrzovací deska. Deska se připojuje na kablíku s konektorem. Připojuje se pouze v čase nastavování CV hodnot dekodéru. V operačním módu (běžný provoz) obvod není potřeba a deska může být odpojena. Jednu desku je možné používat pro více dekodérů.

Při návrhu desky jsem měl problém s hodnotou zatěžovacího odporu. Podle normy MNRA S 9.2.3 je pro potvrzení příkazu potřeba zvýšit odběr dekodéru o 60 mA na dobu 6 ms. To by odpovídalo odporu asi 200 Ω. Bohužel toto zapojení nefungovalo s centrálou DIGI-CZ NanoX-S88. Postupně jsem musel snižovat hodnotu odporu a zvyšovat proud potvrzovacího signálu. Skončil jsem u hodnoty odporu 56 Ω. S tímto odporem je hodnota odebíraného proudu 285 mA při napětí zdroje 16 V. To už překračuje dovolený proud v servisním módu, který je 250 mA po dobu 100 ms dle stejné normy. Pokud by u jiného typu centrály byly problémy s nadproudovou ochranou, potom by bylo nutné zvýšit hodnotu zatěžovacího odporu na 100 Ω. Některé centrály mají problémy detekovat délku pulzu 6 ms. U těchto centrál je potřeba prodloužit délku pulzu na 10 – 20 ms. Tyto hodnoty je nutné s konkrétní centrálou zjistit zkusmo.

Na desce je použit drátový rezistor v keramickém tělísku s výkonem 5 W. Na potvrzovací impulz 6 ms by stačil výkonově i menší odpor. Úmyslně jsem zvolil odpor s výkonem pro trvalý proud. Během ladění aplikací nefunguje vše na první pokus. Omylem může dojít k nevypnutí potvrzovacího impulzu a proud odporem potom teče delší dobu. U poddimenzovaného odporu potom dojde k jeho spálení. S dostatečně dimenzovaným odporem k žádnému zničení obvodu nedojde.


Schema ACK

Seznam součástek pro obvod ACK

Seznam vybraných součástek

 označení  typ poznámka
 IC1  PC817  
 R1  470R  
 Q1  BC337  
 D1, D2, D3, D4    1 A
 R2  56 Ω  5 W

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 15 po sobě jdoucích adres pro 15 serv.

Tabulka CV adresa

Hodnoty společné pro dekodér.

 číslo CV
 popis výchozí hodnota
 1  LSB adresa
 30
 2  Auxiliary activation
 pouze pro ladění
 7  Verze software
 16
 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 – 1006.
LSB adresa v intervalu 0 – 63.
MSB adresa v intervalu 0 – 31.
Výsledná adresa se vypočítá LSB + MSB × 64.

CV 2 – 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 servo

Hodnoty jednotlivě pro každé servo.

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

Každé servo zabere 5 CV čísel.

CV rovně – hodnota výchylky serva pro pozici rovně. Mění se v intervalu 1 – N, kde N musí být menší než hodnota výchylky odbočka.

CV odbočka – hodnoty výchylky serva pro pozici odbočka. Mění se v intervalu M – 179, kde M musí být větší než hodnoty výchylky rovně.

CV pomalost – pomalost otáčení serva. Větší hodnota zpomalí otáčení, menší hodnota zrychlí otáčení.

CV poslední pozice – nenastavuje se. Požívá se pro zapamatování si poslední pozice serva při provozu.

CV opačný směr – nastavení hodnoty na 1 se změní směr otáčení serva – prohodí se pozice rovně a odbočka. Nastavením na 0 se vrátí původní směr otáčení.

Nastavování hodnot

Nastavování CV hodnot je možné provádět libovolným ovladačem, který umí programovat. Nastavování koncových poloh serv, rychlost a směr otáčení se provádí zkusmo. Velmi se k tomu hodí program JMRI.

JMRI programming

V programu JMRI spustit okna Jednoduchý programátor – Simple Programmer, Ovládání výhybek – Turnout Control a Monitor XpressNet – Xpressnet Traffic.

V okně Jednoduchý programátor – Simple Programmer se do jednotlivých CV čísel přiřazují požadované hodnoty.

V okně  Monitor XpressNet – Xpressnet Traffic je možné sledovat a kontrolovat, že zápis nebo čtení proběhlo korektně.

V okně  Ovládání výhybek – Turnout Control je možně okamžitě vyzkoušet jak se chová právě nastavená hodnota.

Přílohy

  • program pro Arduino – Servo.zip
  • zapojení obvodu Arduino – S15.zip
  • zapojení obvodu PWR – S15-PWR.zip
  • zapojení obvodu ACK – S15-ACK.zip


aktualizace 9. 7. 2016
aktualizace 8. 7. 2016
vytvořeno 6. 7. 2016

ċ
S15-ACK.zip
(40k)
Petr Šídlo,
6. 7. 2016 4:17
ċ
S15-PWR.zip
(48k)
Petr Šídlo,
6. 7. 2016 4:17
ċ
S15.zip
(77k)
Petr Šídlo,
8. 7. 2016 6:38
ċ
Servo.zip
(4k)
Petr Šídlo,
6. 7. 2016 4:17
Comments