Počítadlo pulzů realizované Mesou

Odpovědět
Uživatelský avatar
zz912
Příspěvky: 1348
Registrován: 25. 5. 2008, 7:16

17. 3. 2022, 11:44

Zdravím,

na stroj, kde byl nefunkční starý řídící systém, jsem integroval LCNC s Mesou 7i96. Problém je v tom, že občas stroj začne ztrácet kroky, ale s původním řídícím systémem to nedělal. Výhoda je, že to stroj dělá docela často, takže lze při různých pokusech zapínání a vypínání stroje tento stav docílit. Když už tento stav nastane dochází na jedné ose k výrazné ztrátě kroků. Motor se místo 10-ti otáček otočí o 9.5 otáčky a nazpátek třeba o 10.25 otáčky. Když se stroj vypne a zapne, tak začne fungovat normálně. Zkoušeli jsme mezi sebou různě prohazovat drivery, ale chování systému je stále nahodilé.

Jelikož také nevěřím na duchy, tak bych chtěl dokázat správnost generování pulzů z Mesa karty. Popřípadě se nějak posunout dál.

Kdysi slavná firma MexLAB zde psala o tom, že by chtěla vytvořit počítadlo STEP/DIR pulzů pro kontrolu generování půlzů různých elektronických systémů. Pokušel jsem se ji ukecat o realizaci vývoje. Vývojové oddělení nadšeně souhlasilo, technický ředitel byl skeptický, marketingové oddělení hlásilo, že nebude odbyt a finanční ředitel to z důvodů časových kapacit zavrhnul.

Když jsem kdysi prohlížel manuál driveru hostmot2, tak jsem našel informaci, že encodér Mesa karet lze přepnout do režimu čtení STEP/DIR signálů.
(bit r/w) counter-mode

Set to False (the default) for Quadrature. Set to True for Step/Dir (in which case Step is on the A pin and Dir is on the B pin).
Ideální by bylo mít druhou nezávislou Mesa kartu s velkým počtem encodérových vstupů (např. 7i95) + samostatné PC a tam vyhodnocovat virtuální polohy všech os a porovnávat je s kontrolovaným řídícím systémem, který stroj řídí. Pak by šlo dělat spoustu pokusů na nalezení zdroje problému.

Ovšem až dnes tento plán dostal dostatečnou prioritu, abych se jím začal zabývat. Bohužel teď mám jen jednu 7i96, která má jeden encodérový vstup, takže si budu muset vystačit jen s tímto. Potřeboval bych poradit, jak zapojit jeden STEP výstup do ENCODER vstupu.

Kód: Vybrat vše

konektor STEP		konektor ENCODER
+5V				IDX-
DIR+				IDX+
DIR-				+5V
STEP+				ENCB-
STEP-				ENCB+
GND				GND
				ENCA-
				ENCA+
V návodu v Mese je:
ENCODER INPUT MODE
The 7I96s high speed encoder input can be programmed for differential or single
ended mode operation. W2, W3 and W4 set the encoder input mode. When W2,W3,and
W4 are in the right hand position, the encoder input is mode is differential. When W2,W3,
and W4 are in the left hand position, the encoder input mode is single ended or "TTL".
Note that W2 controls the input mode for the ‘A’ signal, W3 controls the input mode for the
‘B’ signal and W4 controls the input mode for the index signal.
Pokud tomu dobře rozumím, tak bych měl všechny jumpery W2, W3 a W4 přepnout doleva a propojit jen:

Kód: Vybrat vše

DIR+	& ENCB+
STEP+	& ENCA+
???

Chtěl bych poprosit zde zkušenější elektrotechniky pro kontrolu mých myšlenkových pochodů, zda to můžu takto zapojit.

Zapojení driverů používám single-ended se společnou zemí.
LinuxCNC - MESA 7i96
zz912.webnode.cz
t256
Příspěvky: 2819
Registrován: 19. 1. 2012, 4:49

17. 3. 2022, 12:02

S mesa kartami nedelam, ale pokud ti jde jen o pocitani pulzu, tak to zvladne vicemene kazdy citac ktery koupis za par kacek na ebay pripadne arduino a programek na par radku. Proto asi zminena firma spravne usoudila, ze to bude prodelecny projekt.
Mex
Příspěvky: 10288
Registrován: 6. 2. 2014, 10:29

17. 3. 2022, 12:06

Napřed trocha spekulace, protože už jsem starší a paměť už mi moc neslouží.
Nezařízli jsme tehdy případné další pokusy z nějakého objektivního důvodu? Jako že už to nebylo potřeba nebo tak něco?
Dokonce si něco vybavuju, že jsem na tom začal i něco dělat.
Ale fakt už si to přesně nepamatuju.
Co teda mám určitě to je pomalá varianta pomocí SW čítání. Ta je ale vhodná tak do frekvence STEP cca 30 kHz.

Teď trochu z reálného světa: mám 3 univerzální otevřené Mesy. Tedy takové, které nemají na sobě žádné převodníky ale mají jen vytažené piny hradlového pole. Takže jinými slovy je možné na každém pinu udělat víceméně libovolnou funkcionalitu. Tedy třeba vstupy pro 3 IRC čítače.
Jedna Mesa je na LPT (7i90), jedna na Ethernet (7i93) a jedna do PCI slotu (5i25).
Kdyby ses mi zaručil hlavou a svou manželkou nebo dcerou (tedy něčím, co je ve věkovém rozpětí 20-40 let), že mi ji nezničíš a nepoškrábeš, tak Ti ji můžu půjčit.

Jinak pokud budeš dělat pokusy, tak si nastav i na výstupu Mesy stepgen s IRC výstupem místo STEP/DIR.
Pak to na enkodérový vstup propojíš přímo.

EDIT: Teď, když jsem to dopsal a odeslal, jsem si uvědomil, že si to můžeš udělat i sám.
Pokud si správně pamatuju, tak Mesa 7i96 má na sobě i konektor s vyvedenými otevřenými piny. Tak si udělej IRC čítače tam. A můžeš to udělat možná i na té samé kartě, která ti honí tu reálnou mašinu.
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22371
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

17. 3. 2022, 12:15

Kontrolovat mesu zda generuje spravne pulzy bych se vyprdnul a hledal problem nekde jinde.
Uz jsem zazil ze jsem mel prilis kratke pulzy a neprolezlo to prez optocouplery driveru. A nekdy to chodilo a jindy to delalo chyby. Bylo to nejak hranicni a proto to nekdy slo a jindy ne.
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
zz912
Příspěvky: 1348
Registrován: 25. 5. 2008, 7:16

17. 3. 2022, 2:49

robokop píše: 17. 3. 2022, 12:15 Kontrolovat mesu zda generuje spravne pulzy bych se vyprdnul a hledal problem nekde jinde.
Uz jsem zazil ze jsem mel prilis kratke pulzy a neprolezlo to prez optocouplery driveru. A nekdy to chodilo a jindy to delalo chyby. Bylo to nejak hranicni a proto to nekdy slo a jindy ne.
Teď je mám asi krátké:
delka_impulzu.png
delka_impulzu.png (9.06 KiB) Zobrazeno 1866 x
Kontroloval jsem to s návodem driveru a odpovídalo to. Ovšem asi to nebude nic proti ničemu to zvýšit.

Spočítal jsem, že nejdelší krok (step On-time + Space)při maximální rychlosti stroje může být 71 428ns.
(10m/min, 84pulzů/mm)

Kolik bys navrhoval vyzkoušet?
10 000
10 000
15 000
15 000
?
LinuxCNC - MESA 7i96
zz912.webnode.cz
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22371
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

17. 3. 2022, 3:31

Klidne ale to nahore v obrazku by mohlo byt v pohode
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
zz912
Příspěvky: 1348
Registrován: 25. 5. 2008, 7:16

17. 3. 2022, 3:33

robokop píše: 17. 3. 2022, 3:31 Klidne ale to nahore v obrazku by mohlo byt v pohode
Ten horní obrázek je právě současný stav. Vyzkoušíme, uvidíme.
LinuxCNC - MESA 7i96
zz912.webnode.cz
lubbez
Příspěvky: 3146
Registrován: 21. 6. 2012, 9:26
Bydliště: Praha

17. 3. 2022, 4:02

S Mesou nepracuju, ale předpokládám že ty čísla udávají počet nS. Tedy 5us/5us (tisíce ns jsem převedl na jednotky us) - to je kmitočet 100kHz, což by měl vzít skoro každý čínský driver, tedy pokud je korektně připojený. Asi bych neřešil pulzy z Mesy, ale právě to připojení k optočlenu na driveru. V podstatě je důležitý jenom STEP, protože na DIR je kmitočet řádově nižší a pokud jedeš jedním směrem tak nulový :D
Zase pokud máš maximum na 70us, je možná zbytečné tak tlačit na pilu.
Uživatelský avatar
Radhard
Příspěvky: 287
Registrován: 1. 7. 2020, 10:19
Bydliště: Praha
Kontaktovat uživatele:

17. 3. 2022, 5:27

Asi bych ověřil jak ty pulsy v reálu vypadají (osciloskopem). Změřil bych předstih signálu DIR než příjde další STEP. Pak už to musí být být dráty/jiný hw.

BTW, pokud bych se přeci jen rozhodl počítat pulsy a jejich směr, tak něčím jiným a pokud možno hw nezávislým. Např. pomocí nějakého ARM kitu s výstupem měřených dat přes sériovou linku je to projekt na jedno odpoledne ;-)
Uživatelský avatar
zz912
Příspěvky: 1348
Registrován: 25. 5. 2008, 7:16

17. 3. 2022, 5:48

Situace je takova, ze kolegovi masina fungovala a nikdy nezazil ztratu kroku. Odesel mu ridici system a ja mu ho defakto za cenu nafty k němu vyměnil za Mesu. Vse zustalo puvodni a najednou masina zacala ztracet kroky. Tím ze to byla sluzba defakto na kamaradske urovni a jeste k tomu ma ten borec kamarada elektrotechnika, ktery se chce do světa LCNC taky dostat, tak verim ze chybu najdou a dobre to dopadne. Ovsem kdybych chtel delat integraci LCNC na kseft tak jsem v haji. Od tohoto kolegy jsem si odvezl cennou zkusenost, ze je potreba si na zacátku vyjasnit ocekavani a pak nemusi byt tolik otazníků na konci cesty. Ovsem nabizet neelektrotechnikovi ze mu rozchodim LCNC s tím, ze garantuji pohyb os jen na obrazovce je .....
LinuxCNC - MESA 7i96
zz912.webnode.cz
Uživatelský avatar
zz912
Příspěvky: 1348
Registrován: 25. 5. 2008, 7:16

17. 3. 2022, 5:52

Rozvadec je udelan od cinana silene. Draty STEP DIR v nestinenych vodicich kolem trafa o prurezu vhodnym tak na 60W žarovku. Ale predtim to fungovalo.
LinuxCNC - MESA 7i96
zz912.webnode.cz
Odpovědět

Zpět na „LinuxCNC - drive pod nazvem EMC2“