Arduino TCO – ovládací pult s Arduinem na XpressNet

Text převzaný z dccmm.cz


Arduino TCO – pomocí tohoto zařízení můžete ovladat až 60 vyhýbek,světel, atd. (60 různých adres)

Pro zapojení je potřeba pouze pár pasivních součástek a převodník rozhraní XpressNet za použití známého obvodu MAX485 nebo levnější náhrady SN75176 plus vhodná patice 8pin. Pak samotný konektor RJ11 6P/4C nebo RJ11 6p/6C (spodní plastové západky pod plošným spojem pájkou rozplácněte). Dva kusy jednořadých oboustranných kolíků, které rozlámete dle potřeby a jeden kus dvouřadých kolíků. Vhodnou deskou je pak tato Arduino Mega2560 + kabel USB.Z pasivních součástek budete potřebovat odpory 2x 4k7 a 3x 470, z kondenzátorů 2x 100n keramika, 1x universální dioda 1N4007 a 1x LED 5mm.


DPS je vlastně pouze rozvod pinů ke svorkovnicím pro 60 tlačítek pro ovládání příslušenství + 3 tlačítka pro změnu stavu systému (provoz / zastavení provozu / vypnutí) a 2 LEDky pro indikaci stavu systému (svítí ON / bliká ON / svítí OFF). DPS má na spodní straně u každého tlačítkového vstupu navíc plošku, kde je možné osadit SMD kondenzátor 1n velikost 0805. Tyto kondenzátory je možné osadit, pokud by se vám dostávalo nějaké rušení na vstupy a docházelo by k náhodné aktivaci. Já je neosazoval a ani obrovské vzniklé vrabčí hnízdo z kabelů tímto netrpělo. Zákmity jsou jinak programově ošetřeny. DPS je možné vyrobit i jednostranně, ale přijdete na 4 vstupech o možnost filtračních kondenzátorů a je třeba drátkem dopropojit GND (zem) z konektoru RJ11 pin 2 se zbytkem DPS. Mé zbylé DPS pak budou nabídnuté na konci článku. Výsledek práce pak můžete vidět na následujících fotkách.


Deska obsahuje konektor pro připojení sběrnice XpressNet, z této sběrnice je ovladač kolejiště TCO napájen. V případě potřeby je možné rozpojením propojky JP1 odpojit napájení z této sběrnice a napájet TCO z externího zdroje 7,5 – 12V DC. Indikační led se připojují katodou na společné svorky GND a anody LED diod jsou připojeny na svorky Lo (LED ON – zapnutý stav) a Lf (LED OFF – stav vypnutý). Pro tlačítka ovládání stavu kolejiště jsou určeny svorky On (tlačítko plného provozu), svorka Off (tlačítko vypnutí provozu) a Em (tlačítko Emergency – okamžité zastavení). Druhé póly tlačítek se připojí opět k některé svorce GND. Svorky číslo 1 až 60 jsou pak pro připojení tlačítek, které budou ovládat příslušenství kolejiště. viz hodně zjednodušený obrázek


Zde právě na rozdíl od jiných provedení TCO, které většinou nepoužívají MCU, neznamená označení vstupů i adresy, ale opravdu pouze vstup, který v programu můžeme nastavit na libovolnou adresu (1-256) například výhybky (výměny). Výhodou tohoto řešení je několik, především nemusíte tlačítkové vstupy vynechávat, protože adresy mohou být přiřazeny i na přeskáčku. (já osobně mám vyreservovaný rozsah pro jedno nádraží a 1-25, pro druhé 30-39 a pro ostatní výhybky mimo nádraží pak rozsah 40-50, lépe se mi to pak pamatuje). Pokud tedy v budoucnu budu chtít nějakou výhybku přidat prostě použiji volné dva vstupy a těm přiřadím odpovídající adresu a nemusím zbytečně vynechávat vstupy na TCO. Další výhodou je možnost při změně adresy nějaké z výhybek, že není potřeba přepojovat podle toho tlačítka, ale stačí jen v programu změnit přiřazené nové adresy a za pomocí USB kabelu a PC během pár sekund nahrát změněný program do TCO. A to vše díky použití Arduino desky (obsluhu zvládají i děti, které se za pomoci těchto desek osvojují programování a základy elektroniky).


Jedná z možnosti, jak do Arduina nahrát už přeložený program pro TCO je pomocí software Xloader. Je to ale vhodné jen v případě, že chcete pult TCO jen vyzkoušet se základním nastavením. Pro správnou funkci Xloaderu je potřeba nainstalovat prostředí Arduino IDE (tím do systému nahrajeme ovladače pro detekci Arduina desky). Stažený software Xloader pouze stačí rozbalit do nějaké složky. Nyní připojíme Arduino desku a vyčkáme na instalaci ovladačů. Teprve pak spustíme software Xloader.exe , vybereme typ desky “Mega(ATMEGA2560)“. Zvolíme COM port, ve většině případů to bude to větší číslo pokud bude na výběr a posledním krokem je vybrání souboru HEX. Klikneme na tlačítko “Upload” a vyčkáme na konec přenosu (do pár desítek sekund by měl být přenos dokončen). Doporučuji programovat Arduino vždy bez přidaných schieldů, tím se vyhnete možným překvapením.

Druhá možnost je klasicky přes software Arduino IDE viz. navody.arduino-shop.cz


Soubory ke stažení:

Knihovna pro Arduino IDE : Knihovna RBD_Button-master
Knihovna pro Arduino IDE: Knihovna RBD_Timer-master
Knihovna pro Arduino IDE : Knihovna - XpressNet Client
Program pro Arduino IDE : TCO_pult. v0.21.ino - zdrojový kód
Program pro přímé nahrání Xloaderem : TCO_pult.v0.21.ino.mega_.hex - přeložený HEX
Software Xloader: XLoader - hex uploader do Arduina
PCB deska : TCO Arduino PCB v pdf

PCB možno koupit na dirtypcbs.com min. 10ks


Rozpis součástek
Název PočetObchodKód produktu
SN75176BP (MAX485) 1GME433-014
SOKL 81GME823-011
RJ konektor WEBP 6-4 LP1GME833-045
Oboustranný kolík S1G30 2,54mm 2 GME433-014
Oboustranný kolík S2G36 2,54mm 1GME832-035
ADAM TECH EB59A-1-02-A-R 1TMEEB59A-1-02-A-R
RM 4k7 2GME110-089
RM 470R 1GME110-065
CK 100n/63V 2GME120-060
Dioda 1N4007 2GME220-002
LED 5MM 2GME511-325