Obsah:

Modelová železnica - Riadiaca stanica DCC využívajúca Arduino :: 3 kroky
Modelová železnica - Riadiaca stanica DCC využívajúca Arduino :: 3 kroky

Video: Modelová železnica - Riadiaca stanica DCC využívajúca Arduino :: 3 kroky

Video: Modelová železnica - Riadiaca stanica DCC využívajúca Arduino :: 3 kroky
Video: Modulova stanica H0 2024, November
Anonim
Image
Image
Arduino Code - riadiaca stanica s klávesnicou
Arduino Code - riadiaca stanica s klávesnicou

Aktualizované v auguste 2018-pozrite si nový návod:

Aktualizácia 28. apríla 2016: Teraz schopnosť 16 výhybiek / bodov ovládať veliteľskú stanicu. Výhybky T1 - T8 sú k dispozícii pomocou tlačidla „B“Výhybky T9 - T16 sú k dispozícii pomocou tlačidla „C“

Aktualizácia 10. marca 2016:

Teraz bola do veliteľskej stanice pridaná možnosť riadenia 8 výhybiek / bodov. Kód Arduino bol zodpovedajúcim spôsobom aktualizovaný pomocou štandardného paketu NMRA pre výhybky (tiež na základe štúdie dátových paketov Lenz / Atlas Compact na riadenie výhybiek).

Výhybky T1 - T8 sú k dispozícii pomocou tlačidla „B“

Pozrite si pokyny k použitému obvodu prijímača paketov údajov a vyžaduje sa kód Arduino.

Aktualizácia 18. januára 2016:

Do obvodu som pridal odpor snímajúci prúd (1k5 ohm) a kondenzátor (10 uf) a upravil kód Arduino, aby prerušil napájanie, keď je detekovaný špičkový prúd> 3200 mAmps. Špecifikácia mostíka H uvádza výstupný snímací prúd 377 uA na 1 A v záťaži.

1,5 k ohmový odpor dodá 0,565 voltov na ampér na analógovom pine 6. S 1023 krokmi na analógovom vstupe to poskytne 0,565 * 1023/5 = 116 na ampérové zaťaženie.

A = 100 * (analógové čítanie (AN_CURRENT)) / 116; A = A * 10; (výsledkom bude miliampér)

Zaťažovací prúd v miliampéroch je zobrazený na TFT

Plná klávesnica 4x4 obsahuje funkcie F1 až F8 a ďalších 10 lokomotív (1-19) pomocou klávesu '#' (na pridanie 10 k numerickým klávesám začínajúcim od loco 10).

Arduino kód obsahuje štandard NMRA pre inštrukčné bajty.

Viď odkaz

www.nmra.org/sites/default/files/s-9.2.1_20…

(strana 6 je obzvlášť dôležitá)

Pakety sú usporiadané podľa počtu rýchlostných krokov, dlhej / krátkej adresy a pokynov skupiny funkcií.

Všetkým bajtom inštrukcií predchádza preambula „1“bitov 11111111 (alebo nečinný paket), za ktorými nasleduje;

napr. 4 bajtová adresa 0 00000011 0 00111111 0 10000011 0 10111111

zodpovedá loco 3, 128 rýchlostných krokov, smer dopredu a krok rýchlosti 3 (koncový bajt je kontrola chýb XOR)

napr. 3 -bajtová adresa 0 00000011 0 10010000 0 10110011

zodpovedá loco 3, funkčná skupina 1, FL svieti plus XOR byte (bit '0' oddeľuje každý bajt)

Pozrite si priložené demonštračné video pre loco 12.

Funkcie F1 - F8 sú k dispozícii pomocou klávesu „A“, DIR (klávesa „*“= smer) FL (kláves „0“= svetlá) a klávesu „#“poskytujú lokomotívam 10 až 19 na numerickej klávesnici. Kľúč „D“sa teraz používa na „núdzové zastavenie“.

Vďaka rôznym poskytovateľom na webe za zdroje informácií DCC a kódu Arduino.

Tento projekt bol inšpirovaný najmä Michaelom Blankom a jeho „jednoduchým DCC - veliteľskou stanicou“

www.oscale.net/en/simpledcc

Klávesnica membránového spínača s maticou 4x4 matice 16 (ebay) 1,75 GBP

2,2 palcový 240x320 sériový modul SPI TFT LCD displej (ebay) 7,19 GBP

UNIVERZÁLNY 12V 5A 60W NAPÁJACÍ ADAPTÉR (ebay) 6,49 GBP

Nano V3.0 pre Arduino s CH340G 5V 16M kompatibilným ATmega328P (ebay) 2 x 3,30 GBP = 6,60 GBP

Modul ovládača motora LMD18200T pre Arduino R3 (ebay) 6,99 GBP

Konektory, drôt, doska vero, potenciometer približne 3,50 GBP

Spolu 32,52 libier

Základná veliteľská stanica bez obrazovky tft a 1 x nano by stála 22,03 libry

[Poznámka: Na displej TFT je možné pridať pamäťovú kartu a zmeniť kód tak, aby sa zobrazovali obrázky vybraných motorov, aj keď kódy knižnice je potrebné upraviť, aby sa vytvorila väčšia pamäť pre skicu. Aktuálna veľkosť náčrtu je maximálna pre TFT Arduino Nano]

Pôvodný kód Arduino od Michaela Blanka bol pre jeden motor, iba vpred / vzad bez ovládania funkcií, bez klávesnice a bez displeja.

Upravil som kód tak, aby zahŕňal 1 - 19 motorov, obrazovku, smer, svetlá, 8 funkcií, núdzové zastavenie a automatické obmedzenie prúdu.

Most LMD18200T môže prenášať až 3 ampéry, vďaka čomu je vhodný pre všetky stupne vrátane stupnice G (záhradné vláčiky). Sieťový napájací zdroj a elektronika sú vhodné iba na vnútorné použitie, pokiaľ nie je všetko odolné voči poveternostným vplyvom. Mám veliteľskú stanicu v letohrádku s koľajnicovými spojovacími drôtmi vychádzajúcimi cez stenu na koľaj.

Krok 1: Arduino Code - príkazová stanica s klávesnicou

Ďakujem tvantenna2759 za upozornenie na 2 chyby v schéme zapojenia, kde sa kód Arduino nezhodoval s káblami, teraz aktualizované (21. októbra 2017).

Teraz bolo na veliteľskú stanicu pridaných 16 výhybiek. Pozrite si pokyny v schéme zapojenia výhybiek / bodov pomocou modulu Arduino Mini Pro.

Upravený kód vrátane ovládania výhybiek je uvedený nižšie.

Balíček dekodéra základného príslušenstva je: 0 10AAAAAA 0 1AAACDDD 0 EEEEEEEE 1 Z analýzy paketu používaného Lenzom (Compact / Atlas) na riadenie bodov som použil nasledujúci binárny formát paketov pre bajty 1 a 2: tunAddr = 1 Výhybka 1a: 1000 0001 1111 1000 / Výhybka 1b: 1000 0001 1111 1001 Výhybka 2a: 1000 0001 1111 1010 / Výhybka 2b: 1000 0001 1111 1011 Výhybka 3a: 1000 0001 1111 1100 / Výhybka 3b: 1000 0001 1111 1101 Výhybka 4a: 1000 0001 1111 1110 / Výhybka 4b: 1000 0001 1111 1111 tunAddr = 2 ----------------------------------------- ---------------------------------------------------------- ----------------- Účasť 5a: 1000 0010 1111 1000 / Účasť 5b: 1000 0010 1111 1001 Výhybka 6a: 1000 0010 1111 1010 / Účasť 6b: 1000 0010 1111 1011 Účasť 7a: 1000 0010 1111 1100 / Výhybka 7b: 1000 0010 1111 1101 Výhybka 8a: 1000 0010 1111 1110 / Výhybka 8b: 1000 0010 1111 1111 ----------------------- ---------------------------------------------------------- ---------------------------------- Účasť 9a: 1000 0011 1111 1000 / Účasť 9b: 1000 0011 1111 1001 atď. …

Extrakt z upraveného kódu: Pridajte ďalšie 2 aktualizácie správy „struct“Vyhnite sa dodatku_tun1 (štruktúra správy & x) {x.data [0] = 0x81; // dekodér príslušenstva 0x80 & adresa 1 x.data [1] = 0; }

neplatné doplnok_tun2 (štruktúrovaná správa & x) {x.data [0] = 0x82; // dekodér príslušenstva 0x80 & adresa 2 x.data [1] = 0; }

Pridať novú prázdnotu pre výhybky: boolean read_turnout () {delay (20);

boolean changed_t = false; get_key ();

if (key_val> = 101 && key_val <= 404 && turn == 1) {

údaje = 0xf8; // = binárne 1111 1000

doplniť_tun1 (správa [1]);

}

if (key_val> = 505 && key_val <= 808 && turn == 1) {

údaje = 0xf8; // = binárne 1111 1000

doplniť_tun2 (správa [1]);

}

if (key_val == 101 && turn == 1) {

ak (tun1 == 1) {

údaje | = 0; // t1a

changed_t = true;}

if (tun1 == 0) {

údaje | = 0x01; // t1b

changed_t = true;}

}

if (key_val == 202 && turn == 1) {

ak (tun2 == 1) {

údaje | = 0x02; // t2a

changed_t = true;

}

if (tun2 == 0) {

údaje | = 0x03; // t2b

changed_t = true; }

}

if (key_val == 303 && turn == 1) {

ak (tun3 == 1) {

údaje | = 0x04; // t3a

changed_t = true;

}

ak (tun3 == 0) {

údaje | = 0x05; // t3b

changed_t = true;}

}

if (key_val == 404 && turn == 1) {

ak (tun4 == 1) {

údaje | = 0x06; // t4a

changed_t = true;

}

ak (tun4 == 0) {

údaje | = 0x07; // f4b

changed_t = true;}

}

if (key_val == 505 && turn == 1) {

ak (tun5 == 1) {

údaje | = 0; // t5a

changed_t = true;

}

if (tun5 == 0) {

údaje | = 0x01; // t5b

changed_t = true;}

}

atď ………………….

Krok 2: Arduino Code - TFT displej

Arduino Code - TFT displej
Arduino Code - TFT displej
Arduino Code - TFT displej
Arduino Code - TFT displej
Arduino Code - TFT displej
Arduino Code - TFT displej
Arduino Code - TFT displej
Arduino Code - TFT displej

Okruh displeja zostáva rovnaký s upraveným kódom na zobrazenie stavu 16 výhybiek. Poznámka: Kód knižnice zaberá takmer všetku pamäť kódu skici, pričom ponecháva malý priestor pre nové funkcie. Ak má niekto účinnejší súbor knižnice pre TFT, ktorý sa tu používa, dajte mi vedieť.

Krok 3: Ovládač výhybky

Ovládač výhybky
Ovládač výhybky
Ovládač výhybky
Ovládač výhybky

Pozrite si návod, ako vytvoriť ovládač Výhybka / Body.

Kompletný obvod ovláda 16 bodov a 15 doplnkov, ako sú svetlá, zvuky, gramofón atď.

Odporúča: