k článku: ADAM - Ovladač lokomotiv pro Loconet
zo dňa 27.06.2010, autor článku: Zdeno Janeček
ahoj, zaujímavý počin, aj by som povedal, že sa mi páči. poprosím o odpoveď na tri otázky, napriek tomu že ma pravdepodobne považuješ za prešlachteného akademika :-). 1. ako sa správa tento ovládač v prípade, keď chce inicializovať adresu loko, ktorú už riadi iný ovládač? 2. tých deväť funkcií je vrátane f0? to jest f0 ja na 1? alebo sa svetlá zapínajú na "0" + 9 funkcií? 3. keď považuješ dispatch za prežitok (ktorý je určitým bezpečnostným prvkom), akým spôsobom je zabezpečené náhodné alebo úmyselné neprevzatie inej loko? tým nemám na mysli súvis s otázkou čís. 1. kombinácia "# > adresa > a", je na môj vkus prijednoduchá. existuje nejaký "hosť" mód, v ktorom nie je možné meniť adresu? vopred ďakujem. gáborm
1/ je to chranene stejne jako fred nebo fredi, teda zacne vsechno blikat a ovladac se neprihlasi. zrovna ted jsem opravoval chybu v programu, kdy zadavatel nahodil obe adresy stejne. tim padem se druhe loko neprihlasilo a ovladac zustal zablokovany. tohle jsou speky, ktere se daji vychytat jen pouzivanim. 2/ ano f0 je na 1 a dalsich 8 funkci nasleduje (2-9). pokud se podivas na protokol dcc, tak zakladni pakety prislusenstvi umoznuji jen 9 funkci, vcetne f0. dalsi funkce musi jit pres jine druhy paketu. i loconet 1.1 umoznuje jen 12 funkci v zakladnich paketech, dalsi funkce jdou jinymi pakety, ktere dokonce ani nejsou volne pristupne pro koncove pouzivatele.
3/ kazda centrala kontroluje adresy a pokud pride pozadavek pres bf na pouzitou adresu, tak posle zpatky kompletni paket e7, vcetne id cisla. takze ovladac to porovna se svojim id a exne. ---- uz jste opravili tu chybu, ze to dlouhe komentere tvrde oreze ?? radsi jsem to rozdelil.
ďakujem za odpovede. k 3., písal som, že nemám na mysli tento spôsob ochrany, keďže som sa naň pýtal v prvej otázke. náčrt situácie. na layout-e mám v depe mašinu, ktorej ovládač je už pol hodinu odpojený. adolescent v záchvate nudy čakajúci na povolenie odjazdu zo stanice voľne mačká ľubovoľnú kombináciu na adam-ovi (nerobme si ilúzie). v okamihu povolenia odjazdu pridá rýchlosť, jeho loko stojí a náhodne zmenená adresa loko sa na druhej strane layout-u začína pohybovať. čo s tým? gáborm
aby si ma nechápal tak, že hľadám chybu za každú cenu. naozaj sa mi to ľúbi, cenovo je to veľmi výhodné, hlavne keď sa to nejak vhodne zakrabičkuje. tým sa to stáva dosť zaujímavým aj pre modulovkárov a toto je naozaj reálne riziko použitia. ilúzie o poučení obsluhy si nerobím. gáborm
zajimavy napad, zaheslovat ovladac. ;-) --- zatim je to tak, ze to ma prava administratora, teda vsechno. je to urcene na domaci pouziti, teda neni to otestovane na velkem setkani. predpoklad nahodneho nebo zlovolneho jednani nebyl podkladem pro vyhotoveni tohoto ovladace. v zasade neni problem naprogramovat nejaky pin, kterym se ovladac zablokuje pred zmenou adresy a id. ale treba do velkych stanic by se urcite hodily dve zalohy na jednem ovladaci. zaheslovat to je otazkou tri prikazu, teda nic extra. dokonce by ten pin mohl byt verejne znamy, prece jenom stlacit nahodne 8 tlacitek v presnem poradi by byla obrovska smola.
ďakujem za ozrejmenie, ale railnet sú primárne stránky modulovkárov, takže každý nápad tu zverejnený je v prvej rade posudzovaný z tohoto uhlu pohľadu.
zdeno, pri všetkej úcte k tvojim schopnostiam, prosím zober nasledovné slová ako konštruktívny príspevok, nie ako útok proti tebe alebo proti tvojim nápadom. ak si pozorne pozrieš ako máš urobené budenie loconet: tak pri zapnutí zariadenia je výstup atmel v 3. stave, teda vysoký odpor. následne q3 je zavretý, naopak q2 otvorený: t.j. vysiela na loconet signál "break". inak povedané zasunutím adama dôjde na krátku dobu zablokovanie veškerej komunikácie na ln až do doby, kým sa atmel inicializuje, čo môžu byť rádove aj desiatky milisekúnd. signál "break" na ln znamená že všetky zariadenia prestanú komunikovať, a prípadne aktíve zar. čo malo "rozrobenú" komunikáciu musí začať odznova. nuž, neviem či je to takto správne. stačí pohľad na schémy freda a miniboxu, kde táto situácia nehrozí.
pokračovanie: iste, na domácom koľajisku je to šum-a-fuk, ale na modulisku, kde sa vyberajú zapínajú ovládače veľmi často, môže to znamenať riadne zabrzdenie ln. navyše: k blokovaniu ln dochádza počas zapínania, teda prechodového javu kontaktov. takže navyše máme ešte náhodný, falošný signál...
no obavam se, ze mas pravdu. --- resenim je pull-up odpor, ktery to bude okamzite tahat do "1". tim padem vystupni tranzistor se bude stejne tahat do "1" a nedojde k bloknuti sbernice. jeste to muzu vyresit prefazovanim txd a vyhodit jeden tranzistor. --- pridelal jsem jeden switch, ktery blokuje zadavani adresy a id. tim padem se nebude dat adam preprogramovat bez otevreni a odstraneni jumperu.
no nie som si istý, či som to pochopil: >resenim je pull-up - ten tam už je a robí tú šarapatu, lebo s nárastom napätia okamžite otvára q2. q2 by mal mať "pull down" a q3 by mal byť pnp emitor na + ak sa nemýlim, musel by som si to nakresliť...
vidím, že sa musím spresniť. či nie je dispatch jednoduchší som myslel ako otváranie krabičky kôli preprogramovaniu adresy loko ;-).
dispatch neni resenim hardware, --- je tam chyba v navrhu, kdy treti stav up blokuje loconet. ten pull-up musi jit primo na vyvod txd, teda pind.1 tim padem se bude s nabihanim napajeni otevirat q3 a zavirat q2. tim padem se vlastne vubec q2 vubec neotevre, protoze 0,7v nabehne v bazi q3 mnohem drive nez muze dojit k otevreni q2. hodil jsem to na osciloskop a je to tak. nekdy se tam objevi impuls o delce 60ns, coz je na hranici toho, co dokazu zmerit.. predtim to bylo okolo 5 - 20ms, coz je kurnik dost. --- jinak jsem se dival do datasheetu a nejde prefazovat usart. potom by se to muselo resit softwerovym uartem.
aha už to je jasné. ale aj tak - ak sa dva tranzistory počas prechodvého javu nábehu napájania preťahujú -kto z koho, tak z toho môžu byť len nepríjemné zákmity... stav oba zavreté a 3. stav pri nábehu mi pripadajú spoľahlivejšie... ak si to nameral že je to ok, v poriadku, otázka je ako to bude vyzerať pri inej dvojici tranzistorov a rozptyle parametrov a parazitných kapacít, mágie podobne...
muzes mi verit, ze se neuspokojim jen s jednim nebo dvoma meranimi. zasunul jsem konektor nekolik desitek krat a i tak, ze jsem zasunoval velmi pomalicku. neni tam zadna kapacita, ktera by to zbrzdila. dokonce jsem to hodil na dvojpaprsek osciloskop a ten ukazuje, ze napeti narusta na obou bazich stejne a v momente dosazeni bodu otevreni se ten druhy okamzite zavira. takze ten cas je opravdu v ns. ja mam jen 20mhz osciloskop a ten ma problem to zachytit a to jeste jen pomoci triggeru. --- ted jsem vytahnul fredy a ty to maji taky na hranici 150ns. tam to ale neni tranzistorem ale ten impuls primo vyrobi 16f84 pri nastaveni do "0", kdy zustane chvilku v "1" pri prechodu z tretiho stavu. v tomto je atmega omnoho lepsi.
prepac gabor, az ted jsem si to vsimnul. ;-) --- je to vsechno kompromis, pokud mas dispatch mod, zas musis chodit ku centrale, nebo miniboxu a nastavovat tu adresu. takze to ma vsechno sve vyhody a nevyhody. ja uprednostnuji variabilitu a jednoduchost. pokud bude ten objednavatel doma, urcite bude mit radsi vsechno pod palcem a v dosahu. pokud pujde na setkani, zablokuje adresu, ktera mu bude pridelena pro jeho loko a smytec. za celou dobu setkani se to nebude menit. --- ale pochybuji, ze on nekdy pujde na setkani, stavim mu kolejiste na doma a ten druhy ma kolejiste taky doma. --- jinak cena tohoto ovladace neni zrovna nizka. vychazi to na 20 euro v soucastkach.
Zobraziť článok ADAM - Ovladač lokomotiv pro Loconet