Digitalno in računalnik

Na temo elektronike in digitalne tehnike na področju železniške makete.
Odgovori
miro34
Vajenec
Vajenec
Prispevkov: 33
Pridružen: 21.11.2007, 9:03
Kraj: Nova Gorica

Digitalno in računalnik

Odgovor Napisal/-a miro34 »

Dober dan!

Kaj bi rabil kot minimum, da bi upravljal promet preko računalnika (ker se mi zdi, da je to najcenejša rešitev - popravite me, če se motim). Ali je brez računalnika enostavnejše za strogi minimum?

Pa še neka podrobnost me muči. Kako deluje odklop in priklop vagonov. S "ta novimi" sklopkami je to možno kjerkoli, ali le na določenem mestu. Se te sklopke da namestiti na katerokoli lok. oz vagon.

Hvala za odgovore, Miro.
Gorchi
Kontrolni
Kontrolni
Prispevkov: 6518
Pridružen: 23.10.2006, 12:25
Kraj: Cerklje na Gorenjskem

Odgovor Napisal/-a Gorchi »

Pozdravljen Miro!

Ne verjamem, da je čisti minimum za upravljanje prometa računalnik, prej bi rekel, da kaj v smislu Roco MultiMaus ali Fleischmann ProfiBoss (mimogrede, ga kdo že ima???). Žal kakih izkušenj z digitalnim vodenjem (še) nimam, je pa bila debata, ki je na žalost na pol pobrisana:
viewtopic.php?t=2458. Začela pa se je nekako takole kot je tukaj.
Poglej prispevke od g. Kunaverja na njegovi spletni strani in boš našel marsikaj.
Potem pa, če razumevanje jezika naših "južnih bratov" ni problem, skoči še na exSFRJ forum malih železnic, na hrvaški forum v zvezi z modeli in na srbski forum. Tu boš našel kar nekaj, upam pa, da bo še kdo tukaj lahko kaj pomagal. Mimogrede, podal sem direktne povezave na podforume s to tematiko, ne bo pa nič narobe, če se še malo razgledaš naokoli!

Lp,
Goran
Goran
miro34
Vajenec
Vajenec
Prispevkov: 33
Pridružen: 21.11.2007, 9:03
Kraj: Nova Gorica

Odgovor Napisal/-a miro34 »

Hvala za odgovor. Tema je aktualna in literature se najde dovolj, le "tiste" podrobnosti so kot ponavadi skrite.
ukunaver
Strojevodja II
Strojevodja II
Prispevkov: 74
Pridružen: 21.11.2007, 19:49
Kraj: Ljubljana
Kontakt:

Re: Digitalno in računalnik

Odgovor Napisal/-a ukunaver »

miro34 napisal/-a:Dober dan!

Kaj bi rabil kot minimum, da bi upravljal promet preko računalnika (ker se mi zdi, da je to najcenejša rešitev - popravite me, če se motim). Ali je brez računalnika enostavnejše za strogi minimum?
.....
Hvala za odgovore, Miro.
Miro!

Najprej moramo razjasniti eno stvar: ali želiš upravljati centralo z računalnikom ali pa želiš centralo nadomestiti z računalnikom.

V prvem primeru potrebuješ program za upravljanje makete (npr. Train Controller firme Railroad & Co - http://www.freiwald.com/, JMRI - http://jmri.sourceforge.net/ ali WinLok, ki ga žal ne razvijajo več - http://www.complexitymanager.com/digi_m ... ok_2_1.htm) ter vmesnik med centralo in računalnikom. Seveda moraš imeti vse kretnice motorizirane in če hočeš karkoli avtomatizirati potrebuješ detektorje zasedensti ali kontaktne senzorje in povratne module. To vse skupaj ni poceni, nudi pa seveda veliko možnosti - vsekakor pa je cenejše avtomatizirati z računalnikom, kot pa s posebno "pametno" elektroniko.

V drugem primeru pa računalnik namesto centrale tvori tok DCC ukazov. Ker sodobni računalniki ne omogočajo izvajanja programov v realnem času in ker je tvorjenje signala časovno zelo kritično opravilo, večina projektov doma narejenih central uporablja mikrokontrolerje (npr.: MiniBOX - http://home.no.net/paolsen/mj/minibox/minibox_en.html ali MiniDCC - http://www.minidcc.com/). Od meni znanih projektov uporabljata PC (pod operacijskim sistemom DOS) kot generator DCC signala: TMWDCC - http://www.geocities.com/CapeCanaveral/7706/tmwdcc.html ter njegov predhodnik projekt MB-DCC - http://web.syr.edu/~mobrandt/dcc-mb/dccmbhom.htm. Pa še pri teh projektih je potrebno narediti kar nekaj harwerskih dodatkov, tako da ne gre samo za PC in program na njem. Glavni problem teh doma narejenih postaj je varovanje pred prenapetostmi, kratkim stikom, motnjami in podobno. Pri profesionalnih centralah je to običajno narejeno zelo kvalitetno, pri domačih projektih pa je kvaliteta vprašljiva. Glede na to, da se na poprečni maketi vrti kar nekaj dragih dekoderjev, morda doma narejena centrala ni ravno prava rešitev. Seveda je gradnja doma narejene centrale lahko zelo zanimiva, če te prav to privlači, če pa želiš vlake predvsem vozit pa ne. Drug problem (no, kakor za koga) je namreč, da pri samogradnji mine kar precej časa preden boš lahko pognal prvi vlak. Tretji problem pa je, da večine teh doma narejenih central ni mogoče priključiti na računalniške programe za vodenje makete (ki sem jih omenil v prejšnjem odstavku). Tudi sam sem na začetku moje DCC "kariere" razmišljal o samogradnji centrale, vendar sem se zaradi omenjenih vzrokov preselil en nivo višje - na samogradnjo komponent, ki s centralo in med seboj komunicirajo - torej stacionarnih dekoderjev in javljalnih modulov ter pisanje programa za vodenje makete. Samogradnjo centrale same (tudi če je na PCju) ti torej odsvetujem.

Strogi minimum je poceni centrala, ki ima priključek na računalnik.

lep pozdrav
Uroš
Gorchi
Kontrolni
Kontrolni
Prispevkov: 6518
Pridružen: 23.10.2006, 12:25
Kraj: Cerklje na Gorenjskem

Re: Digitalno in računalnik

Odgovor Napisal/-a Gorchi »

ukunaver napisal/-a:Ker sodobni računalniki ne omogočajo izvajanja programov v realnem času in ker je tvorjenje signala časovno zelo kritično opravilo, večina projektov doma narejenih central uporablja mikrokontrolerje
No na tole se pa nikakor ne morem podpisati in tudi ne strinjati razen, če mi nekako ne utemeljiš te izjave... Za začetek mi povej, kaj potem CT dela v realnem času ali pa čisto enostavni digitalni ortopanski rentgenski aparat - v realnem času? Vsekakor pa verjamem, da sta RS232 in Centronics prepočasna za frekvenco signalov, ki se vnese v napajanje.
Goran
ukunaver
Strojevodja II
Strojevodja II
Prispevkov: 74
Pridružen: 21.11.2007, 19:49
Kraj: Ljubljana
Kontakt:

Re: Digitalno in računalnik

Odgovor Napisal/-a ukunaver »

Gorchi napisal/-a:
ukunaver napisal/-a:Ker sodobni računalniki ne omogočajo izvajanja programov v realnem času in ker je tvorjenje signala časovno zelo kritično opravilo, večina projektov doma narejenih central uporablja mikrokontrolerje
No na tole se pa nikakor ne morem podpisati in tudi ne strinjati razen, če mi nekako ne utemeljiš te izjave... Za začetek mi povej, kaj potem CT dela v realnem času ali pa čisto enostavni digitalni ortopanski rentgenski aparat - v realnem času? Vsekakor pa verjamem, da sta RS232 in Centronics prepočasna za frekvenco signalov, ki se vnese v napajanje.
Gorchi!

Izraz "izvajanje programa v realnem času" v računalništvu pomeni, da se v vsakem trenutku izvajanja programske kode da natančno (tja do mikrosekunde) ugotoviti koliko časa se koda izvaja in da ima program popolno kotrolo nad prekinitvami (interupi), ki jih prožijo zunanji timerji. To pa je v bistvu možno, če se na procesorju izvaja hkrati samo en program (npr. v DOSu ali v mikrokontrolerjih). Vsi večopravilni operacijski sistemi pa programom, ki tečejo v njih dodeljujejo procesorski čas v različno dolgih kosih, katera dolžina je odvisna od zasedenosti procesorja in števila programov. Tako so na Windowsih ti kosi dolgi od nekaj do nekaj 10 milisekund. Pri tvorjenju signalov kot je DCC, kjer so posamezni biti dolgi cca. 60 mikrosekund (1000 mikrosekund=1 milisekunda) mora program vsaj vsakih 60 mikrosekund nekaj narediti (zamenjati polariteto el. napetosti na izhodu). Če se program izvaja 10 milisekund, potem pa miruje 10 milisekund, v času mirovanja (to je 10.000 mikrosekund) zamudi oddajanje 166 tih bitov (=10.000/60), ki bi jih moral medtem oddati. To je razlog zakaj pod Windowsi ni mogoče napisati programa, ki bi direktno krmilil DCC. Celo direktno krmiljenje RS232 ni možno iz običajnega windows programa. Samo redki driverji v jedru operacijske sistema tečejo "v realnem času", večina naprav, ki pa potrebujejo procesiranje v realnem času (grafična kartica, mrežna kartica, RS232, USB) pa ima svoje lastne procesorje, ki tečejo v realnem času in počnejo točno to, čemur so namenjeni.

Centronics je nekoliko drugačna zgodba, ker pri njem protokol ni asinhron (torej se tok podatkov ne zanaša na nek vnaprej določen časovni takt) ampak "pogovor" (handshaking) med dvema napravama koordinira posebna linija. Zato izmenjava podatkov ni odvisna od hitrosti tako da je kar nekaj naprav, ki jih lahko krmilimo iz običajnega windows programov preko centroncs porta (ob uporabi določenih driverjev, ki zaobidejo zaščito hardwera na Windowsih). Tak je na primer moj (doma narejeni) programator mikrokontrolerjev, ki ga upravljam z (na internetu dobljenim) programom.

Snemanje CT v realnem času ali prenos slike v realnem času je seveda mišljeno na nekoliko drugačni časovni skali. Tukaj je realni čas mišljen nekaj trenutkov (recimo nekaj 100 ms) po tem ko je bila slika dejansko posneta s kamero v nasprotju z klasičnim razvijanjem fotografske slike, ki traja 10 min.

V bistvu se procesiranje signala za RS232 in DCC glede na časovno zahtevnost bistveno ne razlikujeta. Pravzaprav je DCC precej počasen (zaradi zmanjševanja vplivov motenj) in ustreza redu velikosti 16.000 baudov (bit/s), medtem, ko gre hitrost RS232 tudi tja do 115.200 baudov. Program, ki lahko generira RS232 tok podatkov, bi zlahka tvoril DCC tok podatkov, le sam format podatkov je drugačen, zato z RS232 driverji ni mogoče oddajati DCC protokola.

Upam, da sem bil vsaj približno dovolj jasen, ker je to na kratko težko dobro razložiti.

Lep pozdrav
Uroš
Gorchi
Kontrolni
Kontrolni
Prispevkov: 6518
Pridružen: 23.10.2006, 12:25
Kraj: Cerklje na Gorenjskem

Odgovor Napisal/-a Gorchi »

Uroš,
po svoje se sicer strinjam vendar sem še vedno mnenja, da je program v Windowsih na sedanjem računalniku sposoben brez problema poganjat DCC. Res pa je, v tem se oba strinjava, da direktno iz portov, ki so na voljo na osebnem računalniku, ni mogoče krmiliti DCC makete. In sem mnenja, da je bolj to tisti glavni vzrok, zakaj pod nujno rabimo neko škatlico (magari s PIC krmilnik), ki bo ukaze iz PCja spreminjalo v dejanski DCC signal.

Kot primer naj navedem programček, ki sem ga napisal za prijatelja za pogon hidravlike, ki ima virtualno kabino A320, gnano s 6 PCji. Program sem napisal v Delphiju 7, podatke pobiram iz MS Flight Simulatorja in ga preko RS232 vmesnika pošiljam v elektroniko na kateri je en PIC krmilnik in nekaj malega pasivnih elementov, ta pa dejansko prevaja ukazno vrstico v signale za vodenje 3 hidravličnih valjev. Minimalni čas med dvema vrsticama, ki je mogoč (zaradi omejitve samega FSja), je 50 ms. Programček dejansko dobi podatke o trenutnem stanju v Flight Simulatorju, obdela pospeške in nekaj simulacij (pospeševanje/zaviranje, vožnja po tleh) ter jih pošlje na RS 232 kot ukaze za premik valja na določeno pozicijo.

Če mene vprašaš, bi lahko čisto brez problemov zadeva delovala realno časovno. Aja, ravnokar sem se spomnil še enega projekta iz Elektor Elektronics in sicer gre za IR oddajnik po Philips protokolu za krmiljenje televizorjev, CDjev, DVDjev... Kolikor se spomnim je ves čar tega vezja v enem specialnem oddajniku (ki ga ni lahko dobiti pri nas), poleg njega pa je nekaj pasivnih elementov in se vse skupaj poveže na USB vmesnik. Govorim po spominu seveda. Impulzi, ki se oddajajo, so modulirani na frekvenci 32-38 kHz, resda dolgi nekaj milisekund a v tem času je kar nekaj podatkov vmes. Mislim, da bi tudi ta projekt pasal v tako kategorijo...

Vseeno pa pod črto povedano velja, da za krmiljenje makete na eni strani potrebujemo program z vso logiko spremljanja pozicij vlakov, kretnic, signalov itd. in na drugi strani posebno elektroniko, ki ukaze računalnika pošilja po tirih in po žicah na maketo ter prebira podatke s senzorjev in jih pošilja nazaj na računalnik. Brez tega ne verjamem, da bo kdajkoli šlo, vprašanje pa je seveda, preko katerega vmesnika se bodo škatlice povezale. In konec koncev, vsa silna teorija o kateri lahko razglabljamo lep čas je nepomembna za končnega uporabnika. Imamo črne škatle brez katerih ne gre pa amen ;)
Goran
ukunaver
Strojevodja II
Strojevodja II
Prispevkov: 74
Pridružen: 21.11.2007, 19:49
Kraj: Ljubljana
Kontakt:

Odgovor Napisal/-a ukunaver »

Gorchi napisal/-a:Uroš,
po svoje se sicer strinjam vendar sem še vedno mnenja, da je program v Windowsih na sedanjem računalniku sposoben brez problema poganjat DCC. Res pa je, v tem se oba strinjava, da direktno iz portov, ki so na voljo na osebnem računalniku, ni mogoče krmiliti DCC makete. In sem mnenja, da je bolj to tisti glavni vzrok, zakaj pod nujno rabimo neko škatlico (magari s PIC krmilnik), ki bo ukaze iz PCja spreminjalo v dejanski DCC signal.

Kot primer naj navedem programček, ki sem ga napisal za prijatelja za pogon hidravlike, ki ima virtualno kabino A320, gnano s 6 PCji. Program sem napisal v Delphiju 7, podatke pobiram iz MS Flight Simulatorja in ga preko RS232 vmesnika pošiljam v elektroniko na kateri je en PIC krmilnik in nekaj malega pasivnih elementov, ta pa dejansko prevaja ukazno vrstico v signale za vodenje 3 hidravličnih valjev.

......
Goran!

Mislim, da se v principu strinjava, le malo se razlikujeva pri pogledu na koncept. To kar opisuješ je natanko to, kar sem napisal v prvem postu. Rabiš procesiranje v realnem času, ki ga v tvojem primeru (in v večini doma narejenih centralah) opravlja mikrokontroler (PIC, Atmel...). Seveda pri DCC protokolu ni dovolj da mikrokontroler samo predela ukaz, ki ga je prejel in ga pošlje na tračnice ampak ga mora tudi ponavljati, kar pomeni, da mora hraniti zadnje podatke o vsaki aktivni lokomotivi (hitrost, funkcije) in jih ciklično pošiljati na tračnice. Ko to narediš, si naredil centralo in PC v tem primeru funkcionira le kot upravljalnik - throttle (in morda kot vmesnik za komunikacijo z drugimi napravami). Kako dobro je pa implementiran DCC protokol in kako dobro so izvedene vse elektronske zaščite na ojačevalnem delu centrale je pa seveda vprašanje, zaradi katerega sem skeptičen glede samogradnje centrale.

Glede na to, da je bilo originalno vprašanje ali obstaja program, ki bi računalnik spremenil v centralo, je odgovor še vedno: na Windowsih NE - poleg PCja rabiš še en procesor, ki dejansko generira signal (v realnem času) in ojačevalec, da lokomotive lahko sploh vozijo. Ker pa kombinacija PC/Windows + mikrokontroler zelo zaplete razvoj in uporabo, so doma narejene centrale večinoma zgrajene samo z uporabo mikrokontrolerja. Morda obstaja kje takšna kakšna kombinacija, vendar še nisem slišal zanjo.

Če hočeš upravljati maketo samo z računalnikom (brez klasičnih upravljalnikov) je najbolje, da kupiš kakšno centralo, ki nima vgrajenega upravljalnika (npr. kakšno Digitraxovo) in jo priklopiš na PC s programom za krmiljenje makete.

Lep pozdrav vsem

Uroš
Odgovori