Stránka 27 z 28

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

PříspěvekNapsal: stř 18 bře, 2020 6:53 pm
od Mafo
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):

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

PříspěvekNapsal: stř 18 bře, 2020 7:17 pm
od zdeno
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.

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

PříspěvekNapsal: stř 18 bře, 2020 8:00 pm
od Mafo
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 ;-)

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

PříspěvekNapsal: stř 18 bře, 2020 10:12 pm
od zugi
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... :)

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

PříspěvekNapsal: čtv 19 bře, 2020 6:53 am
od JenikPluto
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

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

PříspěvekNapsal: čtv 19 bře, 2020 7:35 am
od zdeno
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.

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

PříspěvekNapsal: čtv 19 bře, 2020 12:45 pm
od Mafo
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

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

PříspěvekNapsal: čtv 19 bře, 2020 1:17 pm
od zdeno
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.

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

PříspěvekNapsal: čtv 19 bře, 2020 2:15 pm
od zugi
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.

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

PříspěvekNapsal: čtv 19 bře, 2020 2:53 pm
od belgarat
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 ;)

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

PříspěvekNapsal: čtv 19 bře, 2020 5:47 pm
od Mafo
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).

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

PříspěvekNapsal: čtv 19 bře, 2020 7:30 pm
od radeksindy
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.

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

PříspěvekNapsal: čtv 19 bře, 2020 7:41 pm
od belgarat
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.

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

PříspěvekNapsal: čtv 19 bře, 2020 8:49 pm
od zdeno
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
....

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

PříspěvekNapsal: sob 21 bře, 2020 7:31 pm
od Mafo
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 ?