Stránka 1 z 1
jak dostat cca 500 až 1000 logických úrovní do PC ?
Napsal: 29 pro 2010, 22:51
od individummm
Dobrý den.
Jsem železniční modelář a buduji rozsáhlé kolejiště. V současné době pracuji na zabezpečovacím zařízení. Na kolejích mám řadu snímačů a čidel, které mají ovládat kolejové obvody, semafory, vyhýbky a podobně....
.
Informace z čidel jsou vždy logické 0 a 1 . Technické provedení signálu pro mne není těžké změnít. Pravděpodobně budu používat TTL 0 a +5V nebo +- 12V-
Stějně jako ovládání každého zařízení je 0 nebo 1.
Jelikož se jedná o čtyři stanice a řadu dalších odbočných kolejí. Bylo by jakékoliv řízení logiky pomocí relé nebo integorvaných obvodů natolik složité, že se jeho realizací ani nezabývám.
.
O vše by se měl postarat chytrý program, který pozdějí napíšu.
PROBLÉMEM JE:
Že nevím jak dostat takové velké množství logických úrovní do PC. Nevím jaké zařízení použít a přes jaký port.
Principielně si koloběh zatím představuji nějak takto:
ČIDLO -> převodník logické úrovně .> MULTIPLEXER -> sériový port -> Program na PC
ale co použít jako mezičlánek počítače a stovek logických úrovní....
Díky všem.
(jsem absolvent SPŠ elektrotechnické) píšu abyste věděli na jaké úrovni komunikavat. Ne abych se chlubil
Mějte se pěkně a PF 2011
zDENA nOVÁK
Napsal: 29 pro 2010, 22:56
od mikollar
chces to obojsmerne? Bud by slo pouzit jednocip ktory by cez mux skenoval urovne a posielal cez RS232, alebo pouzit LPT a pomocou neho riadit mux a cez pin vycitavat urovne, pri LPT by slo pouzit viac muxov a sucasne vycitavat viac vstupov
Napsal: 29 pro 2010, 23:16
od Zaky
Ahoj,
když zrealizuješ to multiplexování, půjde to vůbec nějak rozumně zadrátovat ? Pokud zvládneš zprogramovat nějaké jednočipy, viděl bych lepší roztahat napájení a data sběrnicově a pro určité bloky vždy využít jednočip s krátkou kabeláží, v extrému jednočip pro každé zařízení a pak vše rozlišovat adresami na té sběrnici.
Michal
Napsal: 29 pro 2010, 23:55
od Bernard
Existují obvody vstupu/výstupu dat adresovatelné po sériové zběrnici, třeba po 1-wire:
http://www.maxim-ic.com/datasheet/index.mvp/id/4588
Tím se dá drátování hodně zjednodušit.
Napsal: 30 pro 2010, 06:16
od Mourek
Digitalizace železničních modelů je samozřejmě ke koupi ale pokud si chceš udělat sám nic ti nebrání. Hledej na webu, najdeš pro inspiraci dost. Používá se pro tyhle zařízení dekodér ktarý másvou adresu a je to osazeno nějakým jednočípem. Totéž i v lokomotivě. Pokud chceš můžu se během dne hodit pár odkazů
Doplnění dotazu
Napsal: 30 pro 2010, 10:05
od individummm
ano má jít o oboustranou komunikaci. Dejme tomu cca 500 vstupů a 500 výstupů.
Připojené k počítači ideálně přes sériový port. V horším i USB.
Čili nějaké zařízení které má zkrátka několikset adresovatelných vstupů a výstupů, které lze ovládat z počítače.
Jinak to ,,MOUREK,, : nejde o mi digitalizaci kolejiště v klasickém slova smyslu to vůbec, to jsi mě nepochopil. Máš pravdu. Klasické digitální řízení kolejiště funguje tak, že kolej je vlastně datová sběrnice pro dekodér umístěný v mašince.
ALE já mám analogové řízení. Informace o tom, zdali mašinka pojede nebo ne ji nepředávám pomocí dekodéru v mašince ale klasickým připojením nebo odpojením napájecího napětí v koleji...
Ale jde mi o řízení těchto kolejových úseků. Samozřejmě na něterých kolejových úsecích je napětí jen za určitých podmínek. a právě tuto logiku chci nechat na počítači.
RESUME:
Takže skutečně potřebuji nějaký obvod (nebo přístroj) Který by měl spoustu vstupů a výstupů. Ideálně zatižitelné třeba 10mA na nějaké relé, to už ale vymýšlím

Signál bych si kdyžtak samozřejmě zesílil.
DÍKY VŠEM ZA VÁŠ ČAS.
To bernard
Napsal: 30 pro 2010, 10:08
od individummm
Díky něco takového. Musím ale někde taky vygooglit nějaký víc users friendly popis. Kdybys někde viděl nějaké praktické zapojení toho obvodu by l bych vděčen. Zatím všem hoj a pevné nervy při přípravě silvestra.
Napsal: 30 pro 2010, 10:48
od Atlan
Ak zapojis niekolko CD4021BC do serie vies vycitat stavy na jeho vstupoch Povolis praralelny zapis tym sa stavy so vstppch zapisu do IO potom zvolis seriovy a privadzanim impulzov na CLK nacitas vsetky stavy ktore sa zapisali pocet impulzov CLK zavisi od poctu vstupov.
NA vystup mozes pouzit napr 4094 (74hc4094 vecsi prud)seriovo tam posles data....aktivne sa stanu privedenim log 1 na strobe vstup.
Vsetko by slo ovladat poomocou serioveho portu, len by si potreboval skoro vsetky signaly ktore port poskytuje ale slo by to.
+ nejake ochrane zenerky a diody na vstup 4021....
Napsal: 30 pro 2010, 13:52
od kevin_mitnick
Kdyz kamos pred par lety resil neco obdobneho, taky nejdriv zkousel natahat vse (vstupy a vystupy) do pocitace a ridit to cele softwarem. Pak zjistil, ze pri vice supravach na kolejisti to proste ten soft nema sanci stihat (512 vstupu budes i pri kvalitnim multiplexu cist vic nez vterinu).
Pak skoncil pri asi 15 samostatnych ridicich obvodech s jednochipem, kde kazdy obvod ridil jistou cast kolejiste a pres sbernici posilal udaje na PC a prijmal povely. Kazdy obvod byl samostatny (treba jeden MCU ridil komplet autoblok pro 2 koleje a 6 useku na "sire trati" - semafory, kontakty useku, rampy a PWM rozjezdu/dojezdu), dalsi MCU ridil stanici (z PC dostal nastaveni vlakove cesty na prijezd vlaku na treti kolej a z MCU sli povely pro vyhybky a semafory).
jak dostat cca 500 až 1000 logických úrovní do PC ?
Napsal: 30 pro 2010, 22:08
od valasek
Mít zařízení s tisíci kontakty nebude ani levné, ani malé.
Řešení profi ? Snad jedině PLC automat s mnoha vstupně výstupními kartami.
Řešení amatérské: Když jsem se na podobný úkol připravoval já (a připravuji se dosud, zatím to pouze skládám a ověřuji "v hlavě"), inspirovaly mne knihy, jejichž autorem je Burkhard Kainka. Takže já volím řešení pomocí sériově zapojených posuvných registrů - pro vstup 4021 a pro výstup 4094. Jako (snad) rozumné mechanické řešení mne napadlo vytvořit "vstupně - výstupní modul" - např. s 16 vstupy a 16 výstupy (tj. čtyři IO + výstupní tranzistory a event. vstupní optočleny) a tyto moduly dávat do fochů vedle sebe a propojit. Výhody jsou nasnadě - v případě poruchy měním jen jeden modul a ne všechno.
Jelikož jsem "postižen" osmibitovou érou, program musím psát (nic jiného neumím) v QUICK-BASICu a zkompilovat pro DOS. Takže na to stačí teoreticky i notebook 486 se sériovým portem a DOSem z diskety. Žádný sériový protokol, ale pěkně ovládat přímo jednotlivé piny na sériovém portu.
Co se týče rychlosti přenosu -ten nijak tragicky pomalý nebude, ale chtělo by to vyzkoušet. Zpracování získaných informací - to už bude docela záhul na vyhodnocovací algoritmy. Ale dnešní počítače jsou pro tyto účely úúúúúúúúúúžasně rychlé.
Ale stejně - 500 vstupů/výstupů bude i jen "mechanicky" docela brutalita při jakémkoli způsobu řešení. Při posuvných registrech to např. znamená 63 x IO_4094 pro výstup a 63 x IO_4021 pro vstup.
P.S.: Kdybyste věděli, jak se to dnes řeší na železnici! Řízejí jedné stanice = čtyři řídící počítače (dva jedou, dva jsou záložní), hafo prováděcích počítačů (tuším, že pro každou výhybku jeden). Prostoru se od dob "reléového" řízení neušetří a když vyplivne klimatizace, tak to v létě kolabuje. A o třísknutí blesku raději ani neuvažovat... Ale je to konstruováno na bezpečnost a možnost dálkového řízení (z CDP Přerov je řízena trať od Břeclavi až k Ostravě), ne na miniaturizaci.
Napsal: 09 led 2011, 12:22
od MartasBrno
kevin_mitnick píše:Kdyz kamos pred par lety resil neco obdobneho, taky nejdriv zkousel natahat vse (vstupy a vystupy) do pocitace a ridit to cele softwarem. Pak zjistil, ze pri vice supravach na kolejisti to proste ten soft nema sanci stihat (512 vstupu budes i pri kvalitnim multiplexu cist vic nez vterinu).
Pak skoncil pri asi 15 samostatnych ridicich obvodech s jednochipem, kde kazdy obvod ridil jistou cast kolejiste a pres sbernici posilal udaje na PC a prijmal povely. Kazdy obvod byl samostatny (treba jeden MCU ridil komplet autoblok pro 2 koleje a 6 useku na "sire trati" - semafory, kontakty useku, rampy a PWM rozjezdu/dojezdu), dalsi MCU ridil stanici (z PC dostal nastaveni vlakove cesty na prijezd vlaku na treti kolej a z MCU sli povely pro vyhybky a semafory).
Osobně se přimlouvám za toto řešení, použít jednoduchou spolehlivou sběrnici s širokými možnostmi adresace a odolností proti rušení. Opravdu mne nadchla ta možnost autonomie, kdy se zadá MCU vlaková cesta a on sám dekóduje a sám postaví celou cestu. Toto neksutečně ušetří PC software a drátování a umožní variabilitu. PC už nebude určovat který drát má mít jakou úroveň, ale pouze přednese požadavek na hotové dílo, případně si může počkat na potvrzení, že je cesta postavena. Určitě bude vhodnější MCU, než běžné digitály, které nejsou variabilní a každá chyba = rekonstrukce. Dokonce i závory na přejezdech by měl řešit k tomu určený MCU, který sám v závislosti na postavené cestě a poloze vlaku přejezd ovládne, nikoliv, aby počítač přes port blikal ledkami a hýbal závorami. Tohle může dopadnout velmi zajímavě
Ke komunikaci bych viděl RS232, případně redukovaný na USB přes obvod FT232. Je vyzkoušený a funguje dobře.
Co se týká realizace, přimlouval bych se za vyvinutí MCU univerzálního modulu, který se pak nechá obohatit multiplexními vstupy / výstupy na přídavné kartě. Unifikovaný návrh by stačil pro všechny aplikace, pouze pro konkrétní potřebu by se osadil potřebným počtem karet se vstupy / výstupy. Vše na místě použití, žádné dlouhé káble. Jen ta měď se umí solidně prodražit. A té práce...
Realizace výstupů? Asi bych se vyhnul koupi stovky relátek, sice je výběr, ale cena, váha, spolehlivost... Myslím že vhodná koncepce rozvodu + spínání otevřeným kolektorem musí fungovat. Jen je třeba umravnit všechny cívky diodami. Nakonec i místo tranzistorů lze použíto pole ULNxxxx, což jsou obvody vhodné k buzení větších zátěží (výhybky, světla, menší pohony).
I2C
Napsal: 22 led 2011, 23:16
od 67kapa
Použil bych sběrnici I2C,jen dva dráty,stačí použít expandéry PCF8574.Jedn IO má 3 vstupy jako specifickou adresu,8 výstupů,takže v základním zapojení můžeš ovládat 64 výstupů,no jednoduchým rozšířením za pomoci jednoho toho samého expanderu jich můžeš ovládat 8 x 64,což by ti mohlo stačit,pokud ne,přidáš další.Nebo použij expander MCP23016,ten má vstupů 16.Perfektní na tom je,že si každý pin můžeš nakonfigurovat buď jako vstup,nebo jako výstup.Navíc pro tuhle sběrnici existují další periferie,jako analogové převodníky,hodinové obvody,převodníky na displej...takže do budoucna je klidně můžeš připojit.Protokol I2C není složitý,v tomto případě by byl jeden master,ostatní slave.
Abych nezapomněl...
Napsal: 22 led 2011, 23:26
od 67kapa
Samozřejmě bych v případě vstupů (třeba i výstupů) použil galvanické oddělení pomocí optočlenů,tím se vyhneš zničení těchto expanderů.Další dovrou věcí je to,že si jednotlivé moduly rozmístíš pod panelem kolejiště na místo,kam to zrovna potřebuješ a tyto moduly jednoduše propojíš právě jen dvěma vodičema.To ti zaručí minimalizaci počtu vodičů pod celým panelem.Jinak jak tu někdo psal,samozřejmě to jde mutiplexerem na jedné straně a demultiplexerem na straně druhé (dřív např. MH74151,MH74154),ale navíc už taháš adresové vodiče,rušení je tím pádem nasnadě.