LinuxCNC a LPT porty v rezimu IN

Odpovědět
rollfree
Příspěvky: 484
Registrován: 3. 12. 2008, 1:23
Bydliště: Brno

27. 7. 2013, 10:45

Poridil jsem si PCI kartu se 2 LPT porty
http://www.inter-store.cz/produkt/Axago ... .html#desc" onclick="window.open(this.href);return false;
Funguje to luxusne, za malo penez hodne muziky.

Potrebuju hodne vstupnich linek, tak budu asi oba porty provozovat v rezimu input (v rezimu output pojede LPT port na mainboardu).
Jenze LPT porty prece jen nejsou univerzalni I/O porty, ale je to "ohnuti" portu, urcenych puvodne pro tiskarnu, pro jine pouziti. Takze na rozdil od univerzalnich I/O portu, ktere se po resetu nastavi do vstupniho rezimu (aby nedoslo k pripadne kolizi), tak LPT porty se defaultne nastavi do vystupniho rezimu. Pro tiskarnu OK, ale pro CNC spatne. Do okamziku, nez obsluzny SW (zde LinuxCNC) nastavi port do vstupniho rezimu, pracuji proti sobe 2 vystupni zarizeni - LPT port (prozatim v rezimu OUT) a elektronika v CNC.

Da se k tomu principialne pristoupit treba takhle:
1 - CNC zapinat az prikazem z LinuxCNC, tj. cely stroj povesit na nejake relatko
2 - doplnit do CNC oddelovaci 3-stavovy buffer (x125, x244, x245, x541 atd.) a ten aktivovat z LinuxCNC az po spravnem nastaveni portu
3 - dat tam aspon seriove omezovaci odpory
4 - neresit to a spolehat na to, ze to nestaci shoret
Pri tom zapinani z LinuxCNC (moznosti 1 a 2) by to chtelo doplnit nejakou inteligenci, protoze stav linek po resetu neni predikovatelny. Takze to spinat bud nejakou nezvyklou kombinaci signalu, nebo tam dat jednochip a prikaz pro sepnuti mu "zakodovat" nejakou sekvenci signalu na nejakem pinu.

Nejjednodussi je tam vrazit jen ty omezovaci odpory (moznost 3), tak to asi v prvnim priblizeni udelam takhle.

Jak to resite vy?
Soustruh Noell E0177 (Sandra), jenom kličky
Frézka 3040z (Fiona), LinuxCNC
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22883
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

28. 7. 2013, 7:30

koupime si mesu
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
Cjuz
Příspěvky: 2433
Registrován: 17. 2. 2013, 6:27
Bydliště: Předklášteří
Kontaktovat uživatele:

28. 7. 2013, 9:50

robokop píše:koupime si mesu
Tohle je správná odpověď a celkem jsem se zasmál :)


Myslím že stroj který potřebuje více než 30 signálů již není určený pro LPT. A co se týká oddělení používají se běžně třístavové budiče sběrnice. Při zapnutí jsou ve stavu vysoké impedance a je fuk co je na nich připojeno. Až se CNC nahodí tak se přepnou na výstup a je to.
PS: a stojí do desetikačky
Na konci poznávacího procesu je omyl zcela vyvrácen a my nevíme nic. Zato to víme správně.
rollfree
Příspěvky: 484
Registrován: 3. 12. 2008, 1:23
Bydliště: Brno

28. 7. 2013, 4:20

Cjuz píše:Myslím že stroj který potřebuje více než 30 signálů již není určený pro LPT.
Nemyslim si to. Pokud to nejsou zadne extra rychle signaly, tak to neni pro procesor zadny velky problem. Zdaleka nejvetsi real-time zatez a nejvyssi pozadavky na presnost stale bude mit generovani STEP.
Cjuz píše:A co se týká oddělení používají se běžně třístavové budiče sběrnice. Při zapnutí jsou ve stavu vysoké impedance a je fuk co je na nich připojeno. Až se CNC nahodí tak se přepnou na výstup a je to.
PS: a stojí do desetikačky
Jasne, cena soucastky nehraje roli. Jednak je to spis do petikacky, navic jich mam plny suplik. Ale znamena to udelat nejake jejich inteligentni rizeni (viz muj prvni post), jednoduche sepnuti nejakou vystupni linkou rozhodne nestaci, protoze BIOS a nasledne Linux jeste pred startem LinuxCNC si na linkach delaji co chteji.

Nakonec tam asi skutecne vrazim nejaky 3-stavovy buffer, a jeste za neho dam nejake male seriove odpory (220-470R). Spinani udelam jednochipem. A kdyz uz tam bude, tak do neho strcim jeste zpetnou vazbu pro PWM rizeni otacek vretene podle realne zmerenych otacek. Puvodne jsem tam chtel udelat jen "preklad" PWM z frekvence 100Hz na 15kHz PWM (prave pro snizeni real-time zateze LinuxCNC), to by se veslo do nejmensi ATtiny. Ale s tim rizenim bufferu a merenim otacek vretene tak vrazim ATmega8 a zrejme k nemu prilepim jeste LCD displej.
A mimochodem jen tou zmenou frekvence PWM z nejakych kHz na 100Hz myslim usetrim procesoru vic zateze, nez pridam snimanim dalsich 30 vstupnich linek.
Soustruh Noell E0177 (Sandra), jenom kličky
Frézka 3040z (Fiona), LinuxCNC
oscar
Příspěvky: 1220
Registrován: 2. 5. 2010, 8:50
Bydliště: Perníkovice

28. 7. 2013, 4:38

rollfree: a proc to neresi ten ARM? tam problem s nejakymi 30ti draty prece nebude :D :D :D
rollfree
Příspěvky: 484
Registrován: 3. 12. 2008, 1:23
Bydliště: Brno

28. 7. 2013, 5:31

oscar píše:rollfree: a proc to neresi ten ARM? tam problem s nejakymi 30ti draty prece nebude :D :D :D
ARM zatim umi jenom vrtat podle Excellon dat.
V teto chvili na nem dalsi vyvoj neprobiha, nestiham. Jeste ani kameru jsem nestacil zapojit.
Soustruh Noell E0177 (Sandra), jenom kličky
Frézka 3040z (Fiona), LinuxCNC
testone
Sponzor fora
Příspěvky: 7381
Registrován: 3. 12. 2010, 5:56
Bydliště: Slaný

28. 7. 2013, 5:35

na obou CNC strojích kterým jsem měl tu čest se podívat pod sukni, je "bezpečnostní relé", má dva vstupy, pro sepnutí musí dostat dva signály ve správném pořadí
má to tu funkci, že poté, co naběhne řídící systém - a tím jednoznačně definuje své IN-OUT stavy atd, pošle na jednom ze svých výstupů signál "připraven" do bezpečnostního relé (to je první signál), a zároveň vyzve obsluhu k ručnímu "sepnutí relé", to je druhý signál
smyčka "sepnutí relé" je vedena přes všechny STOPy atd.
pokud při startu stroje na toto bezpečnostní relé přijdou ( a zůstanou) tyto dva signály ve správném pořadí, pak bezpečnostní relé sepne a pomocí svého kontaktu zapne výkonovou část pohonů a teprve tehdy (= je-li vše korektně naběhnuto) se stroj může začít hýbat
snad jsem to pochopil a popsal správně
tato relé se běžně vyrábějí a prodávají, stojí cca 4000,-, je to bedýnka s jednoduchou logikou z diod, zpožďovacích kondů, odporů a běžných relé
jsem přesvědčen, že použití něčeho takového vyžaduje nějaká bezpečnostní norma
Obvykle se dějí věci obvyklé. Méně často se dějí věci neobvyklé a zcela vyjímečně se dějí věci vyjímečné...
Masturn 40 CNC, Hermle UWF1200H CNC a pár klasik
http://www.radialengine.cz" onclick="window.open(this.href);return false;
http://www.autopejsek.cz" onclick="window.open(this.href);return false;
rollfree
Příspěvky: 484
Registrován: 3. 12. 2008, 1:23
Bydliště: Brno

28. 7. 2013, 5:56

Spojit to jeste s nejakym externim tlacitkem, ktere by podminovalo zapnuti vykonove casti, stoji za zvazeni.
Diky za tip.
Soustruh Noell E0177 (Sandra), jenom kličky
Frézka 3040z (Fiona), LinuxCNC
Uživatelský avatar
Cjuz
Příspěvky: 2433
Registrován: 17. 2. 2013, 6:27
Bydliště: Předklášteří
Kontaktovat uživatele:

28. 7. 2013, 6:22

Pokud se bavíme o hoby strojích nemá smysl o bezpečnostním relé uvažovat - stejně asi nedodržíte všechny podmínky pro správnou (bezpečnou) funkci celého okruhu, je to velice obsáhlá záležitost.
Nejjednodužší bezpečnostní funkce, často používaná u čínských výrobků je dva kontakty na stopce které vypnou přívod napájení.
Jestli jde o to mít možnost zastavit stroj když se vše zblázní tak je častější reakcí obsluhy hlavní vypínač :)

A to že tři LPT linux zvládne je sice pravda, ale pokud můj stroj má už tolik linek na startu tak bych přemýšlel dopředu - nač ladit něco na LPT když můžu mít hned od začátku klid a rezervu.
Na konci poznávacího procesu je omyl zcela vyvrácen a my nevíme nic. Zato to víme správně.
rollfree
Příspěvky: 484
Registrován: 3. 12. 2008, 1:23
Bydliště: Brno

28. 7. 2013, 6:44

Ja to nechci pojmout jako bezpecnostni rele se vsim vsudy.
Jen kdyz uz tam bude jednochip, ktery na zaklade nejak zakodovaneho signalu od PC otevre 3-stavove buffery, tak ten signal muze taky povolit signaly ENA na driverech a PWM pro vreteno. A to externi tlacitko tam bude proto, aby proste obsluha musela potvrdit, ze i ona je ready. Stoji to jenom tlacitko, LEDku a kousek dratu ze suplikovych zasob, tak proc ne.

S tim "definitivnim" resenim, cimz je asi myslena nektera karta Mesa, mam trochu dusevni problem. Tohle reseni pomoci FPGA mi moc nejde pod nos, mnohem vic by se mi libilo nejake reseni s externi "krabickou" na USB nebo Ethernetu, at uz by to byl kompletni interpolator (neco ve stylu Gravosu) nebo jen nejaka podpora pro generovani STEP/DIR na nizsi urovni (PC posle zadani, krabicka bez velke inteligence vyrobi presne casovane pulzy, veskere planovani ale zustava na PC).
Otevrenost LinuxCNC je hodne silny argument, tak se mozna casem s nejakou Mesou smirim. Zatim to ale zkusim jen s LPT a dal budu hledat nejake jine reseni (napr. vetev LinuxCNC na RaspberryPi, ktera pouziva stepgeny na open-source reseni s PIC32).
Soustruh Noell E0177 (Sandra), jenom kličky
Frézka 3040z (Fiona), LinuxCNC
Odpovědět

Zpět na „Ostatní elektronika“