Servomotor rotacny a linearny encoder

Mex
Příspěvky: 10288
Registrován: 6. 2. 2014, 10:29

6. 2. 2022, 7:06

kamil11111 píše: 6. 2. 2022, 6:29 No hej, dajme tomu ze som to nastavil presne. Ale nesedí to tak či tak kvoli tym rozdielom teplot na skrutke. Tak som si myslel ze ten PID regulator stale meria rozdiel medzi skutočnou potrebou (1000 pulzov na 1mm) a realnou (zistil ze na 1 mm potrebuje len 999 puzlov) a tuto informaciu stale posiela driveru. Pochopil som to spravne? :D
A podle čeho a jak zjistí, že na 1mm potřebuje 999 pulzů?
kaba2
Příspěvky: 73
Registrován: 8. 12. 2007, 9:20
Bydliště: Vyškov

6. 2. 2022, 7:43

Rozdíl na šroubu v tomto případě regulační smyčku nezajímá. Ta regulace snímá odhylku z pravítka a snaží se dostat na požadovanou polohu. Tu polohu kontroluje cca 1000x za sekundu řídící systém. Ten ví že se má urazit dráha 1000mm. Regulační smyčka serva nebo driver krokoveho motoru s tím nepracuje. Ta dostává stále jen povel jak rychle se má točit a jakým směrem. Takže přímo počet kroků pro motor na 1 mm řídící systém nezná ale snímá polohu z toho pravítka a to buď v podobě počítání pulsů pokud je pravítko s inkrementálním výstupem , nebo si z něj vyčítá absolutní polohu . Ono taky pokud je to servo bez řízení step/dir tak se řídí rychlostně. U krokového motoru je to rychlostní řízení nahrazeno četností pulsů STEP. Tomuto polohování se říká řízení polohy v uzavřené smyčce. Klasické řízení krokového motoru kde je zadán počet pulsů je řízení polohy v otevřené smyčce. (Tam se projeví zmíněný problém se šroubem).
Kdyžtak mě někdo opravte pokud jsem to nevysvětlil přesně.
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22371
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

6. 2. 2022, 8:59

Psal jsi ze encoder pouze slouzi ke komutaci serva. Ne neslouzi. Slouzi take k mereni rychlostni smycky ktera je v drtivem mnozstvi pripadu v servu. Polohovka v systemu.
Mex píše: 6. 2. 2022, 6:21
robokop píše: 6. 2. 2022, 6:14 Ono je to v praxi v drtive vetsine jeste uplne jinak. ...
A v čem je prosím to "uplne jinak" proti tomu, co jsem napsal?

Napsal jsi přesto to samé, co jsem napsal v přechozím postu já.
Nikde jsem nepsal, kdo má kterou regulační smyčku řešit. Jestli driver nebo nadřízený systém.
V této teoretické rovině, o kterou se tazatel zajímal, je to jedno.
A v praxi to pak bude podle toho, co má k dispozici.
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22371
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

6. 2. 2022, 9:05

Zkusim to preformulovat, snad to bude srozumitelnejsi.
Ten system rizeni neresi odchylku ktera je mezi servem a pravitkem. Pravitko neni teplotne tak zavisle takze se poloha reguluje naprimo na nej.
Tj. System vi kdy kde chce but dle programu. A vi kde je v realu dle pravitka. Reguluje rychlost kterou prikazuje do pohonu podle aktualni odchylky pozadovane a skutecne polohy. Odchylka pravitka a encoderu tu tudiz nikde nefiguruje. Encoder je snimac ktery vyuziva driver k tomu aby si resil zda jemu prikazana rychlost odpovida te skutecne na hrideli. Poloha encoderu ho nezajima. Zajimaji ho otacky/min.
Vsechna prava na chyby vyhrazena (E)
Mex
Příspěvky: 10288
Registrován: 6. 2. 2014, 10:29

6. 2. 2022, 9:23

robokop píše: 6. 2. 2022, 8:59 Psal jsi ze encoder pouze slouzi ke komutaci serva. Ne neslouzi. Slouzi take k mereni rychlostni smycky ktera je v drtivem mnozstvi pripadu v servu. Polohovka v systemu.
Není nutné.
Klidně může být v driveru všechno.
Co je v systému a co v driveru není nijak striktně rozdělené. Jde o to, co dané komponenty umí a kde to vyjde líp.
A rychlostní regulátor klidně může být honěný lineárním pravítkem. Ten driver ani nepozná, odkud chodí pulzy. Jestli z rotačního nebo z lineárního enkodéru. Jsou to furt stejné pulzy, a v případě dobře udělané mechaniky budou navzájem i záměnné.

Stejně tak může být dokonce i rychlostní smyčka v systému. Sice to zrovna u CNC není příliš obvyklé, ale možné to je. Zrovna v současné době řeším (resp. rozhoduju se, jestli to vzít) nějaký systém pro řízení průmyslového stroje (ne CNC), kde bude všechno řídit systém, až na úroveň řízení momentu. Ale uznávám, že tohle není obvyklé, u CNC obzvlášť ne.

Prostě princip je, že jsou 3 smyčky, polohová, rychlostní a momentová.
Kde a jak jsou dělané je už věc implementace.

Já netvrdím, že nemáš pravdu v popisu řízení.
Ale tvrdím, že tvůj shazovací výrok, že je to "uplne jinak" nebyl pravdivý a nebyl na místě.
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22371
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

6. 2. 2022, 9:29

Psal jsi ze se encoder pouziva jen na komutaci. Nikdy jsem nic takoveho nevidel. Proto jsem na to tak reagoval.
Co se tyce tveho zobecneneho popisu ano. Je mozne mit i rychlostni smycky v systemu a dalsi jine exotiky ale vetsinou je to z nejakeho duvodu nevyhodne.

V praxi jsou bezne dve az tri varianty z veskerych variant co ty tu uvadis. Dve nejcastejsi jsem uvedl. Cokoli jineho je dost exotika.
Vsechna prava na chyby vyhrazena (E)
misob
Příspěvky: 40
Registrován: 14. 4. 2016, 8:02

23. 3. 2022, 8:02

Ahojte
a teraz trochu iná situácia:
Čo ak použijem servomotor ktorý budem riadiť v rýchlostnom režime + - 10V ale nemám žiadne optické pravítko ktoré by som ešte pripojil do riadiaceho systému aby mal informáciu o skutočnej polohe.
Bude to chodiť presne ? (samozrejme keď zanedbám nepresnosť mechaniky)
Alebo by to chodilo presnejšie v polohovom režime Step /Dir ?
Bolo mi povedané že je jedno či použijem rýchlostný alebo polohový režim ak mám aj pravítko, ktoré je pripojené do riadiaceho systému ako spätná väzba o polohe. Ale nieje mi jasné ako sa to bude správať bez pravítka.
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22371
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

23. 3. 2022, 8:34

predpokladam ze tedy zpetnou vazbu vezmes z toho encoderu serva
potom to bude chodit urcite dobre
s pravitkem zamozrejme lepe protoze to meri az polohu stolu takze se kompenzuje teplotni prodlouzeni sroubu atd...
bude to co se presnosti a dynamiky vzdy lepsi nez krokac (paklize to bude spravne naladene, paklize spatne tak to bude i horsi)
Vsechna prava na chyby vyhrazena (E)
misob
Příspěvky: 40
Registrován: 14. 4. 2016, 8:02

23. 3. 2022, 9:52

Konkrétne chcem ten servomotor v rýchlostnom režime dať na 4-tú os. Zabudovanie nejakého ďalšieho kruhového enkódra na mechaniku 4-tej osi by bolo asi zbytočne komlikované a drahé. Je to sprevodované cez harmonickú prevodovku s pomerom 1:32 takže tej presnosti mechaniky sa nejako nebojím. Takisto nejaká dynamika a zotrvačnosť ma v tomto prípade asi moc nemusí trápiť. To že pripojím enkóder serva paralelne aj do riadiaceho systému ma tiež napadlo ale ešte som to nikdy v praxi neskúsil. Ale teoreticky by to malo fungovať. Skúšal to tu už niekto ?
Možno by som to pre istotu oddelil aspoň optočlenmi.
A čo ak by sa stalo keby som do riadiaceho systému nepripojil enkóder a iba by som veril servu ?
Je nejaký rozdiel či použijem polohové alebo rýchlostné riadenie ak nemám spatnú väzbu o aktuálnej polohe do riad. systému ?
A je nejaký rozdiel či použijem polohové alebo rýchlostné riadenie ak mám spätnú väzbu o aktuálnej polohe do riad. systému ?
Mex
Příspěvky: 10288
Registrován: 6. 2. 2014, 10:29

23. 3. 2022, 12:16

misob píše: 23. 3. 2022, 9:52 Konkrétne chcem ten servomotor v rýchlostnom režime dať na 4-tú os. Zabudovanie nejakého ďalšieho kruhového enkódra na mechaniku 4-tej osi by bolo asi zbytočne komlikované a drahé. Je to sprevodované cez harmonickú prevodovku s pomerom 1:32 takže tej presnosti mechaniky sa nejako nebojím. Takisto nejaká dynamika a zotrvačnosť ma v tomto prípade asi moc nemusí trápiť. To že pripojím enkóder serva paralelne aj do riadiaceho systému ma tiež napadlo ale ešte som to nikdy v praxi neskúsil. Ale teoreticky by to malo fungovať. Skúšal to tu už niekto ?
Možno by som to pre istotu oddelil aspoň optočlenmi.
A čo ak by sa stalo keby som do riadiaceho systému nepripojil enkóder a iba by som veril servu ?
Je nejaký rozdiel či použijem polohové alebo rýchlostné riadenie ak nemám spatnú väzbu o aktuálnej polohe do riad. systému ?
A je nejaký rozdiel či použijem polohové alebo rýchlostné riadenie ak mám spätnú väzbu o aktuálnej polohe do riad. systému ?
Možná jsem ten dotaz nepochopil správně.
Rychlostní řízení řídí rychlost. Polohové řídí polohu.
Tak pokud chceš u té 4. osy řídit jen rychlost otáčení (a použít ji třeba na něco jako soustruh), tak ti stačí rychlostní řízení.
Pokud chce řídit polohu, do jaké se má osa natočit, tak potřebuješ polohové řízení.
Jestli ho udělá samotný driver, nebo zavedeš regulační smyčku přes systém, to už záleží na možnostech jaké máš. Co umí driver a co systém, a jak dobře.

Zatáhnout výstupy enkodéru do driveru i do systému lze, pokud máš běžný kvadraturní enkodér (ABZ) nebo jiný s jednosměrnou komunikací.
A samozřejmě pokud máš jak v systému ten enkodér připojit a číst.
U chytrých enkodérů, které komunikují datově, už to je docela obtížné. A dneska je bohužel trend do nových výrobků používat spíš chytré enkodéry.
Vyjde to výrobně levněji a má to potenciálně vyšší možnosti. Často je ale komunikační protokol uzavřený.
Oddělovat enkodér optrony asi není moc dobrý nápad, řekl bych. A celkem k tomu ani není důvod.

Pokud máš zpětnou vazbu o poloze do systému, a pokud by to bylo bráno ze stejného enkodéru, tak asi nedává moc smysl použít polohové řízení na driveru a ještě to nějak honit přes systém. Co tím získáš navíc? Snad jen informaci o odchylce, ale tu se dobře naladěné servo snaží řešit samo. A pokud ji vyřešit nemůže, tak prostě zahlásí alarm.

Pokud tvoje servo umí polohové řízení a další enkodér tam instalovat nebudeš, tak bych ho prostě nechal jet v polohovém režimu a nic dalšího neřešil.
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22371
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

23. 3. 2022, 1:33

Jestli ten driver mas tery rychlostni analogovy pouzij jeho vystupni piny z encoderu a zapoj je do systemu. Mam to takto na desitkach masin. Je to bezna ekonomicka konfigurace. Dnes se vetsina masin nedela s pravitkama takze to maji z encoderu motoru a funguji dobre. Da se s nimi delat na setinky. Jen kdyz se masina ohriva tak se musi davat casteji korekce. To u tve osy nepredpokladam ze nastane.
Vsechna prava na chyby vyhrazena (E)
misob
Příspěvky: 40
Registrován: 14. 4. 2016, 8:02

24. 3. 2022, 8:32

Vďaka za vaše odpovede, konečne v tom budem mať jasno.
Tú 4 - tú os budem používať na frézovanie takže to musí polohovať presne.
Ak to mu správne rozumiem tak:

Ak mám pripojené odmeriavanie polohy aj do riadiaceho systému tak je jedno či riadim servo rýchlostne alebo polohovo (pri polohovom to bude presné aj bez odmeriavania ak sa zmierim s malou nepresnosťou mechaniky)

Ak ale nemám pripojené odmeriavanie polohy aj do riadiaceho systému tak pri rýchlostnom riadení to bude chodiť dosť nepresne - resp. to bude úplne nepoužiteľné keďže to kontroluje iba rýchlosť serva a nie polohu.

S mojim riadiacim systémom to dokážem riadiť iba analógovo + - 10V takže musím použiť rýchlostný režim a budem musieť nejako rozpitvať konektor alebo kábel od nekódera budúceho serva aby som sa odtiaľ pripojil aj do riad. systému. A musím dať pri kúpe pozor aby to servo malo inkrementálny enkóder čo dáva obyčajné impulzy.
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22371
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

24. 3. 2022, 9:55

Asi to nejak moc resis
Z principu to polohove a rychlostne bude cca stejne presne v obou pripadech kdy pouzijes encoder motoru
O neco presnejsi by to bylo s odmerovacim krouzkem ale to jsme vyloucili
Vsechna prava na chyby vyhrazena (E)
Mex
Příspěvky: 10288
Registrován: 6. 2. 2014, 10:29

24. 3. 2022, 3:31

Kdybys napsal konkrétní typ systému, driveru a serva, tak bys asi dostal lepší odpovědi.
Ale zase na druhé straně tady sis v tom udělal jasno, což je možná ještě důležitější.
misob
Příspěvky: 40
Registrován: 14. 4. 2016, 8:02

24. 3. 2022, 9:08

Mex píše: 24. 3. 2022, 3:31 Kdybys napsal konkrétní typ systému, driveru a serva, tak bys asi dostal lepší odpovědi.
Ale zase na druhé straně tady sis v tom udělal jasno, což je možná ještě důležitější.
Mám LinuxCNC a mesa karty 5i25 a 7i77 na ktorej mám voľné ešte 2 analógové výstupy + - 10V a vstupy na 2 inkrementálne enkódre.
Rozmýšľam nad kúpou tohto serva a driveru : https://www.ebay.com/itm/123873160847
A tu je manuál : https://www.ato.com/Content/Images/uplo ... manual.pdf

Ak tomu dobre ruzumiem tak ten driver má originál výstupy s A, B a Z fázou ktoré pripojím do riad. systému (strana 20)
Odpovědět

Zpět na „Servomotory“