Loconet / DCC s použitím arduino

Vše pro digitální provoz - dotazy, praxe, návody, postupy, normy, kompatibilita atd.

Moderátoři: Michal Dalecký, Jarda H., Rudolf

Re: Loconet / DCC s použitím arduino

Příspěvekod Mafo » stř 18 bře, 2020 6:53 pm

Takze ovl. panel pre Hornu Stubnu (HS) bude ovladany Arduinom UNO + fremoLNshield. Panel bude mat 48 tlacitok (ovladanie vyhybiek a stavanie ciest od-do) a 128 ks roznych LED (navesti, obsadenost usekov, stavy vyhybiek).
Tlacitka su vyriesene cez analogove vstupy A0-A5, ale problem su LED, je ich vela. Najjednoduchsie (aj najblbejsie) riesenie je pouzit 16 ks 74HC595 (8 bit posuvne registre), ale chcelo by to napad :)
Mozno nieco na sposob (zdroj internet):
Přílohy
264682d7132c53d113bb1af9324ee059.jpg
Mafo
 
Příspěvky: 69
Registrován: ned 28 lis, 2010 6:19 pm

Re: Loconet / DCC s použitím arduino

Příspěvekod zdeno » stř 18 bře, 2020 7:17 pm

Mafo píše:ale chcelo by to napad :)

silene monstrum, proc neudelas analog, bylo by to jednodussi a snadnejsi dratovani ??
---
Co tak pouzit neco hotove, treba :
https://www.aliexpress.com/item/32759833605.html?spm=a2g0o.productlist.0.0.70014585NOlW8T&algo_pvid=8809faff-602d-430f-bb09-34758c2559a8&algo_expid=8809faff-602d-430f-bb09-34758c2559a8-50&btsid=0ab6fb8815845586085264789e963d&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_
----
Jinak existuje spousta verzi a druhu, ktere se daji pouzit na zobrazeni kolejiste.
Uživatelský avatar
zdeno
 
Příspěvky: 3021
Registrován: pon 11 črc, 2011 8:54 am

Re: Loconet / DCC s použitím arduino

Příspěvekod Mafo » stř 18 bře, 2020 8:00 pm

zdeno píše:
Mafo píše:ale chcelo by to napad :)

silene monstrum, proc neudelas analog, bylo by to jednodussi a snadnejsi dratovani ??
---
Co tak pouzit neco hotove, treba :
https://www.aliexpress.com/item/32759833605.html?spm=a2g0o.productlist.0.0.70014585NOlW8T&algo_pvid=8809faff-602d-430f-bb09-34758c2559a8&algo_expid=8809faff-602d-430f-bb09-34758c2559a8-50&btsid=0ab6fb8815845586085264789e963d&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_
----
Jinak existuje spousta verzi a druhu, ktere se daji pouzit na zobrazeni kolejiste.

Analog neprichadza do uvahy, lebo navestidla, aj vyhybky maju svoju DCC adresu a aj stavanie ciest od/do tym nedas....
Pozeral som aj tie LCD panely, su male, alebo tazke a tlacitka tam nedam.....

EDIT: primatne ovladanie je cez TC/jmri, toto bude doplnok ;-)
Mafo
 
Příspěvky: 69
Registrován: ned 28 lis, 2010 6:19 pm

Re: Loconet / DCC s použitím arduino

Příspěvekod zugi » stř 18 bře, 2020 10:12 pm

zdeno píše:Jinak existuje spousta verzi a druhu, ktere se daji pouzit na zobrazeni kolejiste.


IMHO asi nejde o zobrazení schematu kolejiště.
Záměr asi je jednotlivé diody "mapovat" různým stavům/prostředkům (návěstidlo/cesta vyhýbky/obsazená kolej/apod) a pak je umístit ve schématu na ovl.panelu

Nešlo by pro to použít RGB diody WS2812?
https://www.aliexpress.com/item/32964969844.html
https://www.aliexpress.com/item/32878302621.html
Jednotlivě na alikovi cca 10USD/100ks, případně vypreparovat z pásku. Jsou to 5050/2020, takže celkem malé a když se dají bokem vedle sebe, mohli by v pohodě zobrazovat ty návěstidla. Jen to pájení bude trochu piplačka.
Vše na 3 drátech, jen při tom množství asi bude potřeba 5V mimo stabilizátor arduina. Datový by neměl být problém.
Pro arduino jsou knihovny, výhodou je libovolná zobrazená barva.
Mapování bude v tabulce obdobné, ať jde o matici nebo sérii.

Jen nápad... :)
TT/IV-V.epocha , poslední měsíce/roky ve stavu ReadOnly :'(
Uživatelský avatar
zugi
 
Příspěvky: 143
Registrován: pát 07 bře, 2008 8:59 pm

Re: Loconet / DCC s použitím arduino

Příspěvekod JenikPluto » čtv 19 bře, 2020 6:53 am

Ja jsem pro tenhle ucel pouzil cipy WS2811, podle rozmisteni LEDek na panelu jsem udelal DPS s potrebnym poctem cipu (3 diody / cip), ktere jsou propojeny tremi vodici (+, -, data). K temhle plosnakum jsem pak pripojoval normalni 3 mm THT LEDky.

Jinak jak pise zugi...

JP
JenikPluto
 
Příspěvky: 441
Registrován: pát 08 lis, 2013 10:19 am
Bydliště: Kladno

Re: Loconet / DCC s použitím arduino

Příspěvekod zdeno » čtv 19 bře, 2020 7:35 am

OT
co tak pouvazovat nad tim, pouzit samotne Arduino 2560 jako budic dvojbarevnych a dvojvyvodovych LED 3mm ??
Tak zabezpeciš 3 barvy , zelena, cervena a oranzova. Plus ruzne blikani, ktere je mozne vyuzit na vselico jine.
A to pouze na dvou dratech pro jednu LEDku.
---
Atm2560 ma volnych zhruba 60 vyvodu a teda dokaze obslouzit naprimo 30 LEDek.
A navic by to mohlo byt rizene primo Loconetem s velmi jednoduchym programem. Teda by to ovladaly stejne prikazy jako od JMRI.
Asi bych sel cestou nekolika Atm2560, ktere by nebyl problem zapojit paralerne.

EDIT
jinak existuje aj ovladani jen jednim pinem na procesoru, kdy se zapoji LEDka do delice napeti z odporu 1k2 a 820 ohmu, kdy cervena je proti 2V a zelena proti 3V.
Uživatelský avatar
zdeno
 
Příspěvky: 3021
Registrován: pon 11 črc, 2011 8:54 am

Re: Loconet / DCC s použitím arduino

Příspěvekod Mafo » čtv 19 bře, 2020 12:45 pm

Nad Mega2560 tiez uvazujem, ze cast LED bude multiplexovana a cast priamo na piny. Este treba overit, ci multiplexonaie v preruseni nebude kazit komunikaciu s loconetom.
---
Kolega Belgarad poradil MAX7219 - tym by Arduino nemuselo multiplexovat (len sa SW neda nastavit intenzita LED). Musim este vyskusat, ci rozne LED budu svietit priblizne rovnako.
---
Co sa tyka LED:
18ks zelena, zlta, biela (navestidla vchodove a odchodove)
3ks biele (zriadovacie navestidla)
15ks cernene (obsadenost usekov)
56ks oranzova (stav vyhybiek)

Este ma napadlo vytvorit PCB v tvare ovl. panelu, pouzit SMD LED, mikro tlacitka a nechat aj nakreslit relief layoutu (ako popisova vrstva) :D
Mafo
 
Příspěvky: 69
Registrován: ned 28 lis, 2010 6:19 pm

Re: Loconet / DCC s použitím arduino

Příspěvekod zdeno » čtv 19 bře, 2020 1:17 pm

Mafo píše:Este treba overit, ci multiplexonaie v preruseni nebude kazit komunikaciu s loconetom.

Pokud je soft UART dobre udelany, tak jede v globalnim zakazu preruseni.
Takze pokud budes multiplexovat v hlavnim programu, tak by to nemelo vadit nicemu.
---
Problem bude, pokud nasadis i jina preruseni, ktera jsou kriticka na casy do 600uS, to by mohllo delat problemy.
Napriklad serva, ktera maji interval 1 - 2ms s rozlisenim po 100uS na uhel ramene serva.
Ty v kombinaci se soft UARTem nebudou dobre fungovat na stejnem procesoru.
---
Jinak soft UART je pozustatek na doby minule, kdy to jeden clovek vymyslel a nasledne to vsichni od nej odpisuji.
Tehdy ne kazdy procesor mel hard USART a muselo se to vselijak obkecat.
Jeste vysilani bych pochopil, ale proc se nepouziva hard USART na prijem je mi dodnes podivne. Tam se nesleduji kolize, respektive se jen sleduje kontrolni EXOR. A taky start a stop bit.
Navic kazdy slusny programovaci jazyk ma osetrene bufferovani prijmu, takze nehrozi strata dat, jako u soft UART.
Pritom prave nahodnost prijmu je ten nejvetsi problem, protoze vysilani si procesor dokaze osetrit sam v pohode, potoze vysilani blokuje prijem Loconetu.
Uživatelský avatar
zdeno
 
Příspěvky: 3021
Registrován: pon 11 črc, 2011 8:54 am

Re: Loconet / DCC s použitím arduino

Příspěvekod zugi » čtv 19 bře, 2020 2:15 pm

Mafo píše:Kolega Belgarad poradil MAX7219 - tym by Arduino nemuselo multiplexovat (len sa SW neda nastavit intenzita LED).


Pro rozsireni PWM vystupu ArduinoNano jsem pouzil TLC5940. Lze to serializovat, jen oproti WS to sezere vic pinu.
OT: hrál jsem si s osvetlenim schodiste ala kosmicka lod, postupne rozsvecovat jednotlive schody s nabehem a dobehem. Bylo to celkem jednoduche prave diky TLC5940.
TT/IV-V.epocha , poslední měsíce/roky ve stavu ReadOnly :'(
Uživatelský avatar
zugi
 
Příspěvky: 143
Registrován: pát 07 bře, 2008 8:59 pm

Re: Loconet / DCC s použitím arduino

Příspěvekod belgarat » čtv 19 bře, 2020 2:53 pm

TLC5940 je super - hral jsem si s nim teda kvuli servum, ale puvodne to je LED driver. Ono jde spis o pozadavky ... pokud se chteji mixovat barvy nebo delat efekty typu fade-in (na pultu ??), tak ten MAX neni moc vhodny

Mimochodem - https://hackaday.com/2011/07/20/output- ... e-arduino/ (=https://github.com/elcojacobs/ShiftPWM)
ale myslim ze krome tech LEDek uz toho CPU moc zvladat nebude ;)
TT ep. IVa-b; analog + NanoX, DR5000. Pseudoprogramator, pindac nesmyslu
http://modelwiki.klfree.net
belgarat
 
Příspěvky: 2372
Registrován: čtv 27 pro, 2012 9:36 pm
Bydliště: Hřebeč u Kladna

Re: Loconet / DCC s použitím arduino

Příspěvekod Mafo » čtv 19 bře, 2020 5:47 pm

belgarat píše:TLC5940 je super - hral jsem si s nim teda kvuli servum, ale puvodne to je LED driver. Ono jde spis o pozadavky ... pokud se chteji mixovat barvy nebo delat efekty typu fade-in (na pultu ??), tak ten MAX neni moc vhodny

Mimochodem - https://hackaday.com/2011/07/20/output- ... e-arduino/ (=https://github.com/elcojacobs/ShiftPWM)
ale myslim ze krome tech LEDek uz toho CPU moc zvladat nebude ;)


Jediny efekt - blikanie. Inak len On alebo Off. Ale musi byt moznost nastavit intenzitu (nocny/denny rezim).
Mafo
 
Příspěvky: 69
Registrován: ned 28 lis, 2010 6:19 pm

Re: Loconet / DCC s použitím arduino

Příspěvekod radeksindy » čtv 19 bře, 2020 7:30 pm

Zdeno: Pokud je soft UART dobre udelany, tak jede v globalnim zakazu preruseni.

To asi těžko, protože minimálně interupt přerušní kvůli přesnému časování délky bitu potřebuješ. Druhý se používá pro CD. Ale už procesory veFREDI jsou tak rychlé (tj. cca od roku 2006), že obsluha obsluha softUART je bezproblematická. SoftUART umožňuje dodržet všechny priority, hlavně včas stopnout a zareagovat na kolizi, včetně zaručení dostatečně rychlého přístupu po vypršení CD. První FREDy z roku 1996, kde byl k dispozici akorát 16F84 s jedním časovačem, to bylo jiné maso.

Mafo: Pro svoje nádraží jsem do pultu dal také Mega2560, zatím mi piny na LED provizorně stačí, ale do finálného řešení jsem se rozhodl pro obsluhu LED diod na pultu věnovat jeden LocoNet modul s 16 výstupy. Přijde mi to nejkoncepnější rozhodnutí, které hardwarově primitivní, ani není zase tak drahé, programátorsky nevyžaduje nic navíc.
radeksindy
 
Příspěvky: 2515
Registrován: stř 25 dub, 2007 12:50 pm

Re: Loconet / DCC s použitím arduino

Příspěvekod belgarat » čtv 19 bře, 2020 7:41 pm

Mafo píše:Jediny efekt - blikanie. Inak len On alebo Off. Ale musi byt moznost nastavit intenzitu (nocny/denny rezim).


ten jas MAX splnuje - ale myslim bud pro cely segmenty a nebo pro vsechny rizene LED. Blikani (tak aby ho videl clovek) je v pohode ... to tak casto nedelas. Ale zustava to cenove hledisko.
TT ep. IVa-b; analog + NanoX, DR5000. Pseudoprogramator, pindac nesmyslu
http://modelwiki.klfree.net
belgarat
 
Příspěvky: 2372
Registrován: čtv 27 pro, 2012 9:36 pm
Bydliště: Hřebeč u Kladna

Re: Loconet / DCC s použitím arduino

Příspěvekod zdeno » čtv 19 bře, 2020 8:49 pm

radeksindy píše:Zdeno: Pokud je soft UART dobre udelany, tak jede v globalnim zakazu preruseni.
To asi těžko, protože minimálně interupt přerušní kvůli přesnému časování délky bitu potřebuješ.

to zalezi na zpusobu obsluhy, pokud tam dáš vypocitany čas "Timeout 60uS", tak preruseni nepotrebujes.
Jinak pri vysilani CD kontrolujes jen na uplynuti a vysilas, potom je to zbytecne a blbost, protoze kazda hrana resetuje cas CD, zpetnym prijmem na kontrolu.
Takze CD a vysilani nejsou v konfliktu a z principu nikdy nemuzou byt.
---
JInak vcasny pristup po uplynuti CD povazujem za velmi dulezity a proto ho obsluhujem v ASM :
lds r20,{txd}
znova:
sbis gpior0.0 'priznak gpior0.0 se nahazuje na citaci priorit, ktera je odvozena od adresy DCC, teda by mela byt jedinecna.
rjmp znova

sts, udrx,r20 'teda na zapis do vysilaciho registru mi staci 4 strojove cykly, teda 1uS pri 4MHz. x - je volba 1 az 4 u Atm2560
....
Uživatelský avatar
zdeno
 
Příspěvky: 3021
Registrován: pon 11 črc, 2011 8:54 am

Re: Loconet / DCC s použitím arduino

Příspěvekod Mafo » sob 21 bře, 2020 7:31 pm

belgarat píše:
Mafo píše:Jediny efekt - blikanie. Inak len On alebo Off. Ale musi byt moznost nastavit intenzitu (nocny/denny rezim).


ten jas MAX splnuje - ale myslim bud pro cely segmenty a nebo pro vsechny rizene LED. Blikani (tak aby ho videl clovek) je v pohode ... to tak casto nedelas. Ale zustava to cenove hledisko.

MAX7219 som rozbehol v Arduine, je na to sikovna kniznica LedControl, da sa SW nastavit aj jas. Asi pouzijem 2-3ks, kazdy jasovo prisposobim k danym typom LED.
Vsetko uz chodi na cca 80% (prehadzovanie vymen, stavanie ciest, senzory, navestidla, aj odposluch ext. LN komunikacie), ale mam problem so stracanim loconet sprav, ktore vysiela DR5000. V Monitore LocoNet v JMRI ich vidim vsetky, do Arduina prejde len cca 95%. Vacsinou z dvojice:
Kód: Vybrat vše
19:49:30.810: [B0 48 11 16]  Requesting Switch at LT201 to Thrown (Output On).
19:49:30.980: [B0 48 01 06]  Requesting Switch at LT201 to Thrown (Output Off).

pride len 1.
Ocesal som SW len na prijem LN sprav a ich vypis na konzolu, ale nepomohlo. HW je podla webu, jedine, co mam ine, tak som nahradil LM393 tymto LM2903.
Upodozrievam trochu aj LN kniznicu...
Nejaky napad ?
Mafo
 
Příspěvky: 69
Registrován: ned 28 lis, 2010 6:19 pm

PředchozíDalší

Zpět na DCC v praxi

Kdo je online

Uživatelé procházející toto fórum: Leoš Vobořil a 20 návštevníků