Contact | Kontakt

Daniel Čejchan
mail@danol.cz

Categories | Rubriky

Admin

[CZ] Ovladač výhybek pro modelovou železnici

V tomto projektu jsem udělal menší upgrade na starou TT modelovou železnici, kterou mám po tátovi. Vytvořil jsem ovládací panel na přehazování výhybek, který se dá rychle a jednoduše přenastavit na libovolnou topologii trati, takže je ideální pro ty situace, kdy železnici stavíte jednou za čas na zemi v pokoji, když přijedou špunti na návštěvu.

Tento projekt byl současně mou prací do předmětu IMP.

Video

Jak to funguje

Ovládací panel disponuje dotykovou plochou o rozměrech cca 9×15 cm (realizováno šesti 4×4 dotykovými klávesnicemi). Přes tuto plochu se položí kus papíru se schématem železnice (nakreslený/vytištěný) a přístroj se naprogramuje tak, aby při dotyku v místech, kde jsou na schémátku výhybky, příslušné výhybky spínal. Výhybky jsou připojeny pomocí dupont konektorů na zadní straně přístroje.

Výchozí obrazovka

Uživatelské rozhraní je realizováno dvouřádkovým LCD displejem a rotačním enkodérem (točítkem). Na displeji se zobrazuje stav všech výhybek a vždy po dobu dvou sekund také poslední provedená akce. Stlačením enkodéru se přejde do struktury menu. Programování přístroje je demonstrováno ve videu.

Obrazovka menu

Ovladač se napájí pomocí USB portu (konektor mini-USB). Dále je také do přístroje potřeba zavést střídavé napětí pro spínání výhybek. Do přístroje lze zapojit až 10 výhybek.

Hardwarová realizace

Jádrem přístroje je čínský klon Arduina Nano. Můj má na sobě bohužel USB mini. Doporučuju kupovat pouze s USB mikro, protože to pak můžete zapojit do prakticky libovolné nabíječky; u mě je potřeba mít nabíječku s USB zdířkou.

Displej je připojen přes rozhraní I2C.

Relátka

Přepínání výhybek je realizováno relé deskou z Číny s osmi relátky. Na ovládání deseti výhybek potřebujeme vytvořit dvacet různých kombinací (každá výhybka potřebuje dvě kombinace). Toho je docíleno uspořádáním relátek do matice.

Schéma uspořádání relátek do matice

Klasickým uspořádáním relátek 4×4 bychom získali 16 kombinací. Další čtyři kombinace dostaneme tak, že zahrneme i stav, kdy není ve sloupci sepnuté žádné relátko. Při spínání výhybek je třeba tedy nejdřív sepnout sloupec a poté až řádek, protože kdyby se sepl nejdřív řádek, tak se nám spustí výhybka v nultém sloupci.

Relátka jsou potom připojena k posuvnému registru 74HC595 (abychom ušetřili ovládací piny).

Při prvním zapojení se všechno zdálo být OK, ale jakmile jsem připojil výhybky, relátka přestala správně fungovat. Tento problém jsem řešil velice dlouho. Relátka měla být galvanicky oddělená, navíc ještě za optočleny (zkoušel jsem relátka napájet z vlastního zdroje). Všude jsem přidal kondíky. Nic. K relátkům jsem přidal ochranné diody. Nic. Nakonec jsem nabyl názoru, že nějak blbne posuvný registr, ale ani výměna za nový nepomohla.

Po nějakém čase jsem našel tento článek, kde autor řešil úplně stejný problém a vyřešil ho. Haleluja! Přidání odporu a kondenzátoru ke store pinu posuvného registru blbnutí registru vyřešilo. Nicméně vyvstal další problém — při spínání relátek se občas restartovalo Arduino. Přidal jsem tedy RC filtry i na ostatní piny. S kondenzátorem na hodinovém signálu to nefungovalo, takže jsem tam místo toho přidal Schottkyho diodu proti +5V (na ochranu proti přepětí… snad). V elektronice jsem začátečník, takže nevím, jestli jsem to udělal správně, ale každopádně se zdá, že to funguje.

Dotyková klávesnice

Dotykové klávesnice jsou připojeny pomocí rozhraní SPI se společným rozvodem hodin — každá klávesnice tedy zabírá jeden pin na Arduinu. Na klávesnicích je nepraktické to, že mají elektroniku na stejné straně, jako jsou elektrody. Zespod se také přidělat nedají, protože z druhé strany jsou spoje vedoucí k elektrodám, kterých když se člověk dotkne, tak je to, jako by se dotkl elektrody (která je ovšem jinde).

Schéma

Firmware (Visual Studio + vMicro)

Schéma

Náklady

Součástka Dokumentace Cena
6x 16kanálová dotyková klávesnice s TTP229 http://bit.ly/2gObQP9 6×25 = 150 Kč
Přístrojová krabice http://bit.ly/2hSBDS9 105 Kč
Deska 8x relé http://bit.ly/2hAkVbr 94 Kč
Arduino nano (klon) http://bit.ly/2h58iE3 56 Kč
LCD displej 1602 + I2C adaptér http://bit.ly/2hppoPW 50 Kč
Krimpovací konektory, cín, lepidlo do tavící pisole, PCB desky, dráty, … 50 Kč
Rotární enkodér http://bit.ly/2hSCCSi 12 Kč
Posuvný registr 74HC595 http://bit.ly/2hSL8ka 2 Kč
CELKEM 519 Kč