Hírek:

Fontos tudnivalók a migrációval kapcsolatban, kérlek olvasd el:

A régi fórumról áthozott hozzászólásoknál a felhasználó neve adatvédelmi megfontolásokból véletlenszerűen generált értékekre lett  lecserélve. Ez akkor tud a valódi értékre visszaállni, ha az adott felhasználó a régi fórumon nyilatkozik, hogy beleegyezik az adatainak az új fórumra továbbításához, majd ezután itt a régi felhasználónevével és email címével regisztrál.
8~20 óra között, 1~30 percen belül megtörténik a jóváhagyás, 30 percenként ellenőrizd email fiókodat (SPAM-ot is) mindenképp kapsz mail-t, a sikeres regisztrácioról, vagy a hibáról és, hogy mi a teendőd.
Nézd meg  "A régi fórumról, az új fórumra költözés útmutatót."
A régi fórumon használt email címmel de más felhasználói azonosítóval érkező regisztrációs kérelmek törlésre kerűlnek.

Main Menu

Encoder használata

Indította gaben, 2024 április 09, 16:29

Előző téma - Következő téma

e3h0cv4ph

Azt értem, (és egyetértek vele) hogy az orsón lévő pontosabb eredményt ad a mozgásról, csak azt nem értem, hogy hogyan küszöbölöd ki a rángatózást a két encoderjel alapján, hogyan avatkozol be a szervó magánéletébe, hogy ne azt csinálja amit alapesetbe meg kéne csinálnia, ez itt akérdés számomra.

4um5b65d

Ez egy nehéz kérdés, de erre egy nagyon profi elektronikásnak kell megadnia a választ.
De az alapelv valami olyasmi lenne,hogy:  
1 - Kiindulási pont - Minden áll egyhelyben.
2 - Motor elindul jobbra, de a motor enkóder
tiltva van. A mechanika megmozdul és az orsó enkóder "számolja" az elmozdulást.
3 - Elértük a kívánt pozíciót az orsó enkóder szerint. Motor állj. Teszem azt a példaként 10 inclementet túlfutott.
4 - Vezérlő érzékeli a túlfutást és a motort indítja visszafelé. Az orsó enkóder semmit nem érzékel mert még a holtjátékot kell lefutnia a motornak. Eddig a pontig a motor enkóder még tiltva van.
5 - Motor "kiforogta" a holtjátékot, majd megmozdul a mechanika amit érzékel az orsó enkóder és a vezérlő, de már az első inclement elmozdulásnál az orsó enkóder érzékelését letiltja és a maradék 9 inc-et a motor enkóder "számlálná"
 
Valami ilyesmire gondoltam....
 
Remélem nem teljes hülyeség....hátha valakinek ötletet ad és beugrik még valami más is....

x4rhew5r3

Természetesen meg lehet próbálni. Ezzel nem is akarok vitatkozni.
Azt mondod, hogy a motoron is van enkóder, meg van a vezetéken is. A motoron lévő, az "csak" a hajtás szervójának a visszacsatolása. A vezetéken lévő az a pályaszámítónak a visszacsatolása. Sőt ha nincs a vezetéken útmérő, akkor a motor vezérlője adja tovább a pályaszámítónak az enkóder jelét.  
Egy dolog a recegés, és megint más a kottyanás kompenzáció. A recegés csinálja a tartónyomatékot, ha azt kiszeded, akkor mi tartaná a pozícióban a motort?
A másik a kottyanás. Esztergán kiválóan működhet a kottyanás kompenzáció, ott kézzel is úgy csináljuk, hogy mindig egy irányból vesszük a fogást.
Marónál vegyük azt az esetet, hogy a kottyanásra merőlegesen halad a maró. A vezérlő nem kap step jelet, mert a kotyogó tengelyen nincs elmozdulás, a vezeték enkódere meg a kottyanás holtterében adja az impulzusokat, merthogy itt a mechanika hibája. Milyen döntési algoritmust lehetne felállítani, hogy a motor enkódere mikor követi a step jelet, és mikor meg csak a kompenzáció miatt mozog a motor, és jönnek a motor-enkóder impulzusok?

4um5b65d

persze itt most azonos enkóder és 1:1-es áttétel van feltételezve. más áttételnél csak a számadatok változnának...

4um5b65d

esztergán sem egyirányból történik...Egy íves felületekkel teletűzdelt hullámos formát nem lehet egyirányból kezelni...

4um5b65d

Többször át kellett olvasnom az írásodat mire megértettem a mondandód...
Ha elfogadható az, hogy az ipari gépen ez működik akkor csak két lehetőség van.
Vagy megoldották a problémát algoritmus szinten vagy nincs túlfutása a mechanikának....
 

e3h0cv4ph

Amit te láttál azon az ipari gépen, ott volt kottyanása az áttételnek? Nem lhet, hogy csak vaélami biztonsági okból tettekkét encodert? Mit tudsz arról a gépről?

4um5b65d

Én még nem láttam olyan ipari gépet ahol áttétel lett volna. De a golyós orsó az ott is kottyan, az pedig egy ugyanolyan késedelmi hibát okoz mint egy áttétel és úgy sejtem a problémát ugyanúgy kell megoldani csak ott lineáris az egyik enkóder és a golyós orsó kotyit tartják rendben vele, a hobbi gépnél meg az áttétel nyúlását kell rendbeszedni vele.

4um5b65d

Amiket láttam az mind lineárissal enkóderrel volt szerelve....kivéve egy esztergát ami keresztirányba csak forgóval. Viszont ott fel lehetett venni akár mm-enként a golyosorsó kottyanási hibáit egy listára és azt automatikusan hozzászámolta minden irányváltáskor. És emlékszem rá mikor a kolléga éppen 0,05-t állítot be erre a kottyanásra. Lehet hogy a keresztszán motorja ezt az 5 századot folyamatosan ide -oda forogva "fixen" tartotta ???

e3h0cv4ph

Ha jól tudom egy új golyósorsó nem kottyanik, nemhiszem, hogy a gyártó cég emiatt tenne két encodert a gépére.
 
Én még mindíg azt állítom, hogy a motorra szerelt encodert kell bekötni a vezérlőbe és a külső elektronika figyeli mindkét encoder jelét ill. a step jeleket is és ha a kívánt pálya (amit az orsó encoderből tud) nem megfelelő akkor plusz vagy mínusz step jeleket ad a vezérlőnek. (és akkor nincs motor ide-oda citálás) Persze ez azt feltételezi hogy a PC felől jövő step jelek ezen az elektronikán keresztül menjenek és tudja őket felülbírálni (hozzáadni kivonni), ez viszont késleltetést,  bonyolítást, és bizonytalanságot visz a rendszerbe.
Szerintem ennek a feladatnak nincs tökéleteen jó megoldása. (a kérdés melyik ujjamat harapjam meg)

4um5b65d

Hát a golyós orsó is kottyanhat, hisz az is csak egy mechanika, kopni az is kopik. Ha belegondolsz a csapágyat is cserélni kell időnként...És szerintem ezt egy profi gépnél meg kell oldani valahogy, mert egy 24 órában dolgozó ipari cnc 2 év után már komoly pontatlansággal küzdene ha nem figyelnének oda erre. Igaz egy ilyennél a 0,01mm tévedés már komolynak számíthat , 0,02mm meg már használhatatlanná teheti az adott feladatra...

4um5b65d

Közben itt mégegyszer végiggondoltam a Te verziódat...szerintem annak csak akkor lenne létjogosultsága, ha az említett holtjáték minden időpillanatban ugyanannyi lenne. De ez a két enkóderes dolog épp a szíj áttételes mechanikák miatt került szóba ahol az sosem állandó. Egy hirtelen fékezésnél jóval töbet vetemedik a szíj mint egy "lágy kanyarban"...Ezt nem tudnád sehogy sem kézben tartani...

Szedlay Pál

Nem akarok beleszólni csak itt egy két dokumentum a témához. Az első egy vezérlőhöz csatlakoztatható opcionális egység amely csak egy tengelynél képes erre a kompenzációra, hogy mi módon nem tudom.
 
http://www.yaskawa.com/site/dmservo.nsf/link2/TKUR-5PJHJ3/$file/SIE-C718-5_03.pdf
 
 
A másik egy hardveres vezérlő kártya amely az összes tengelyre tudja ezt. Ebben az esetben nem step6dir jellel történik a szabályzás hanem sebesség szabályzásra kell bekörni a vezérlőt és mind a két encodert(tengelyenként) a motion controllerbe.
 
 
http://www.galilmc.com/products/accelera/dmc18x6.html
 
 
http://www.galilmc.com/support/appnotes/miscellaneous/note5437.pdf
 

D.Laci

Megfogadtam, hogy szakmai dolgokba nem szolok bele, de évekkel ezelőtt szóvá tettem a Mach lineáris kompenzáció képességét, azzal valószínű kilehet kerülni a kisebb kottyanást. Egy próbát talán megérne….

3k74cecek

A Lineáris kompenzácó csak a mozgató orsó linearitás hibájának a kompenzálására való.
Avval kottyanást nem lehet semmi módon kivédeni.
A kottyanásra a Mach-ban a backlash való. Ez viszont csak konstans holtjátékot tud kompenzálni.
A szíj nyúlása azonban terhelésfüggő.  
Aztán ne felejtsük el, hogy a holtjáték szoftveres kompenzálása sosem lesz tökéletes.
Most nem mélyedek bele, mert bonyolult lenne úgy leírni, hogy ne lehessen belekötni.