Inkrementální enkodéry serv

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

3. 1. 2017, 3:31

Mám docela díry ve vědomostech o enkodérech serv. Pomohl by mi je prosím nějaký servař vyplnit?

Drivery pro serva s inkrementálními enkodéry často požadují enkodéry s výstupy ABZUVW.
Máte někdo praktickou zkušenost, jestli se dají takové drivery nějak oblbnout, aby jim stačilo jen ABZ? Tedy jestli tu informaci UVW použijí jen po startu a pak uz jedou jen podle ABZ, nebo jestli komutaci při provozu provádějí stále pomocí UVW?
Skoro by se nabízelo, že to použijí jen po startu, protože existují serva s multiplexovaným výstupem (viz dále), ale kdo ví.

A jestli někdo měl takové servo/enkodér rozdělané - jak jsou ty komutační výstupy UVW dělané? Jsou to prostě další 3 dráhy na enkodéru nebo je to nějak nafixlové třeba pomocí Hallovek?
Technicky by asi šlo oboje, Hallovky by asi byly jednodušší, ale zase by enkodér nemohl být samostatný nezávislý blok, navíc by se asi dost špatně řešila synchronizace Z a U. A mimochodem - dá se obecně spolehnout na to, že poloha Z je přesně na začátku U?
Kdyby to byly ty Hallovky, tak by zase bylo asi zajištěno, že poloha pólů vůči signálům UVW bude vždy sedět.

A jak vůbec servo po startu využívá tu informaci UVW? Servo s inkrementálním enkodérem po startu neví kde je. Podle UVW sice zhruba může určit svou polohu, ale opravdu jenom zhruba. Takže by se dalo čekat, že sebou servo cukne a podle toho se zkalibruje. Ale serva, která jsem měl v ruce, sebou necuknou. Nejsou to ale serva v oblasti CNC a jedou v rychlostním režimu, tam to může být jinak.
Jak je to u vašich serv? Cuknou sebou po startu?
Nebo se prostě počítá s tím, že první část otáčky probíhá s neoptimální komutací, a teprve po najetí třeba na Z se zapne plnohodnotná komutace?

A ještě k těm multiplexovaným enkodérům: dělají se enkodéry, které mají jen 3 výstupní linky, ale přesto jsou ABZUVW. Funguje to nějak tak, že po zapnutí napájení enkodéru se tam na chvíli objeví informace UVW, po nějaké době se pak ty linky přepnou na ABZ. Ale nevím, jak je to univerzální řešení. Jestli to všechny multiplexované enkodéry dělají stejně, nebo to má každý jinak. A jak je vůbec definovaný ten okamžik, kdy se přepne informace z UVW na ABZ? Někde jsem četl nějakou zmínku, že je to snad kolem 0.5 sekundy. Ale platí to obecně?
Třeba Tamagawa na to má nějaký patent, že po startu tam přenese informaci UVW v datovém tvaru jen po dvou linkách (kromě UVW tam přenáší i identifikaci typu serva a asi i další věci). Ale myslím, že to nebude ten způsob, jak to dělají ostatní, už minimálně proto, že by za to Tamagawě asi museli platit (když na to má patent).

Předem díky za případnou osvětu.
RaS
Příspěvky: 8589
Registrován: 26. 3. 2009, 9:12
Bydliště: Úvaly

3. 1. 2017, 5:24

kutil_tim píše:no nečetl jsem celý text a úvahu == příliš velká zátěž na pozornost a přemýšlení v novém roce
doufám že odpovídám k věci
já měl enkodér kde bylo abz a pravděpodobně místo uvw bylo abz s čarou
a byly to negativní pulzy
není to náhodou ono ?
pokud mě tedy do driveru nedojde negativní pulz po pozitivním pak bude asi nějaký error
tak si to radši přečti celé :D
věčný rýpal,který musí mít poslední slovo, odpůrce low-cost zařízení končících v naprosté většině případů v hromadě šrotu
uživatelé hýbátek, kteří mají z mých příspěvků celoživotní trauma nechť si mé příspěvky VYPNOU
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22385
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

3. 1. 2017, 5:32

Neni to jen negace k abz?
Vsechna prava na chyby vyhrazena (E)
K_73
Příspěvky: 267
Registrován: 10. 4. 2014, 5:43
Bydliště: Praha

3. 1. 2017, 5:32

Moje zkušenost (hlavně produkty Kollmorgen) je ta, že signály UVW jsou hallovky a nemají nic společného s enkodérem. Hallovky jsou umístěny přímo v motoru a měří úhel natočení magnetického pole rotoru s maximální chybou +/- 30° (elektricky) To znamená, že driver po startu zná komutační úhel s přesností +/- 30° (elektricky) Tato chyba je dostatečně malá na to, aby jí byl driver schopen korigovat bez "znatelného" pohybu hřídele. K tomu už použije signál z enkodéru (ABZ, sin/cos) Jakmile zjistí nežádoucí pohyb (impulz z enkodéru) tak provede korekci. Výsledkem je, že se hřídel serva po zapnutí prakticky nehne a drží výchozí mechanický úhel natočení. Synchronizace index pulzu Z a fáze U je nepodstatná, není k ní žádný důvod. Pokud by tam ty hallovky nebyly tak by chyba komutačního úhlu po startu mohla být až +/- 180° (elektricky) a to už by ten driver nebyl schopen v dostatečně krátké době zkorigovat (došlo by k nechtěnému pohybu hřídele po startu). Kollmorgen umí i feedback bez informace o absolutní poloze hřídele (ABZ, sin/cos) V tomto případě po startu driver provede sekvenci krátkých pohybů hřídele omezeným proudem ke zjištění komutačního úhlu. Tento druh zpětné vazby je ale nepoužitelný v případě, že má servo po startu okamžitě generovat kroutící moment bez pohybu hřídele. O multiplexovaných enkodérech nic nevím.
3pajky
Příspěvky: 217
Registrován: 26. 12. 2015, 7:22

3. 1. 2017, 5:35

Pripojil by som sa k vlaknu, dufam ze nevadi. Uwv som nikde nepostrehol, tak s tym nepomozem.
Ja mam servo yaskawa, ma to enkoder s napajanim 5V a datovou dvojdrotovou diferencialnou seriovou linkou, chcel som to pripojit k menicu mitsubishi, ale vyhodilo to encoder error, tak som skusal merat enkoder osciloskopom.. Seriovu linku, ale enkoder nevysle ani bit, tak neviem ci je fuc, alebo caka na povel od menica???
Mex
Příspěvky: 10287
Registrován: 6. 2. 2014, 10:29

3. 1. 2017, 5:43

@kutil_tim:
To je něco jiného. U A a A' atd. se jedná o diferenciální signál, v praxi se najčastěji používá RS422. Každý signál se vysílá na 2 dráty, vždy jako přímá informace na jeden drát a jako negovaná na druhý drát. Přijímač pak nevyhodnocuje úroveň linky proti zemi, ale vzájemný rozdíl mezi těmi dvěma dráty např. A a A'.
Důvod je jednoduchý - pokud se na linku dostane nějaké rušení, tak rušivý signál se přičte k oběma drátám, ale jejich vzájemný rozdíl je pořád stejný, takže se signál přenese správně.

Takže v případě enkodéru ABZUVW má kabel většinou celkem 12 vodičů, plus napájení a stínění.

Signály A a B přenášejí nejpodrobnější a nejpřesnější informaci o poloze (např. 4000 impulzů na otáčku), Z přenáší index, tedy 1 pulz na otáčku.
Linky UVW přenášejí informaci pro komutaci cívek, tedy něco jako "fáze" u 3-fázového motoru. Např. u běžného třeba 6-ti pólového serva každá z těch linek 3x za otáčku sepne a vypne.
Mex
Příspěvky: 10287
Registrován: 6. 2. 2014, 10:29

3. 1. 2017, 5:52

K_73 píše:Moje zkušenost (hlavně produkty Kollmorgen) je ta, že signály UVW jsou hallovky a nemají nic společného s enkodérem. Hallovky jsou umístěny přímo v motoru a měří úhel natočení magnetického pole rotoru s maximální chybou +/- 30° (elektricky) To znamená, že driver po startu zná komutační úhel s přesností +/- 30° (elektricky) Tato chyba je dostatečně malá na to, aby jí byl driver schopen korigovat bez "znatelného" pohybu hřídele. K tomu už použije signál z enkodéru (ABZ, sin/cos) Jakmile zjistí nežádoucí pohyb (impulz z enkodéru) tak provede korekci. Výsledkem je, že se hřídel serva po zapnutí prakticky nehne a drží výchozí mechanický úhel natočení. Synchronizace index pulzu Z a fáze U je nepodstatná, není k ní žádný důvod. Pokud by tam ty hallovky nebyly tak by chyba komutačního úhlu po startu mohla být až +/- 180° (elektricky) a to už by ten driver nebyl schopen v dostatečně krátké době zkorigovat (došlo by k nechtěnému pohybu hřídele po startu). Kollmorgen umí i feedback bez informace o absolutní poloze hřídele (ABZ, sin/cos) V tomto případě po startu driver provede sekvenci krátkých pohybů hřídele omezeným proudem ke zjištění komutačního úhlu. Tento druh zpětné vazby je ale nepoužitelný v případě, že má servo po startu okamžitě generovat kroutící moment bez pohybu hřídele. O multiplexovaných enkodérech nic nevím.
Ono to bude jak kde.
Určitě jsou serva, kde zaručují pozici Z přesně na začátku U. Ale je dobré vědět, že třeba Kollmorgen to nepotřebuje a tedy asi ani tak negeneruje, jak píšeš. Hodně důležité to asi bude zvlášť tehdy, kdyt enkodér neposílá UVW, takže se může odpíchnout aspoň od toho Z.
To, že UVW dělají Hallovkama máš skutečně jednoznačně zjištěno? Určitě totiž existujé enkodéry, které to dělají pomocí enkodérového disku. Pak by to znamenalo, že je v tom ještě větší bordel a každý si to dělá jak chce.
Díky za info.
Mex
Příspěvky: 10287
Registrován: 6. 2. 2014, 10:29

3. 1. 2017, 5:56

3pajky píše:Pripojil by som sa k vlaknu, dufam ze nevadi. Uwv som nikde nepostrehol, tak s tym nepomozem.
Ja mam servo yaskawa, ma to enkoder s napajanim 5V a datovou dvojdrotovou diferencialnou seriovou linkou, chcel som to pripojit k menicu mitsubishi, ale vyhodilo to encoder error, tak som skusal merat enkoder osciloskopom.. Seriovu linku, ale enkoder nevysle ani bit, tak neviem ci je fuc, alebo caka na povel od menica???
Ve světě 2-drátových sériových enkodérů je ještě mnohem větší bordel, než mezi inkrementálními. Existuje mnoho "standardů", tedy v praxi si to každý výrobce dělá po svém a vzájemná kompatibilita není.
Zrovna od Yaskawy myslím popis někde mám. Kdyby Ti na tom záleželo, tak bych ho zřejmě vyhrabal.
Většinou je to skutečně tak, že driver musí enkodér o informaci napřed požádat, takže samo od sebe tam neleze nic.
K_73
Příspěvky: 267
Registrován: 10. 4. 2014, 5:43
Bydliště: Praha

3. 1. 2017, 6:38

Mex píše:Ono to bude jak kde.
Určitě jsou serva, kde zaručují pozici Z přesně na začátku U. Ale je dobré vědět, že třeba Kollmorgen to nepotřebuje a tedy asi ani tak negeneruje, jak píšeš. Hodně důležité to asi bude zvlášť tehdy, kdyt enkodér neposílá UVW, takže se může odpíchnout aspoň od toho Z.
To, že UVW dělají Hallovkama máš skutečně jednoznačně zjištěno? Určitě totiž existujé enkodéry, které to dělají pomocí enkodérového disku. Pak by to znamenalo, že je v tom ještě větší bordel a každý si to dělá jak chce.
Díky za info.
Jasně, bude záležet na implementaci jednotlivých výrobců. Ale rozcházel jsem třeba lineární motor kde jedna komutační perioda byla 32mm a jako zpětná vazba bylo sin/cos pravítko s periodou 1mm. Tam ten Z pulz byl během jedné elektrické otáčky 32x takže jako informace pro komutaci nepoužitelný. On ten Z pulz je spíš informace pro polohový controller ať už integrovaný v servodriveru nebo pro nadřazený řídící systém.
Zatím všechny motory s ABZUVW co jsem měl v ruce měly hallovky ale netvrdím, že to nemůže být jinak. Určitě jsem neměl v ruce všechny motory co kdy kdo vyrobil :)
Mex
Příspěvky: 10287
Registrován: 6. 2. 2014, 10:29

3. 1. 2017, 7:09

Ano, u ABZUVW to skutečně nemá moc smysl. U ABZ nebo multiplexovaného ABZ/UVW by to smysl mohlo mít.
Myslel jsem něco takového (lepší obrázek zrovna nemám po ruce):
Z_UVW.jpg
Každopádně moc díky za informace.
3pajky
Příspěvky: 217
Registrován: 26. 12. 2015, 7:22

3. 1. 2017, 7:35

Mex..

Ak to mas v elektronickej forme, tak zo zaujimavosti by to bodlo, ale pocitam ze bez menica yaskawa to aj tak neroztocim.
Mex
Příspěvky: 10287
Registrován: 6. 2. 2014, 10:29

3. 1. 2017, 8:30

Tak jsem si to popletl, spletl jsem si to s Tamagawou.
Yaskawa má absolutní enkodéry dělané jinak, má tam sice taky sériovou linku, ale kromě toho tam má i inkrementální signály. Teda aspoň ty enkodéry, ke kterým něco mám.
Takže je otázka, jestli to tvoje servo má skutečně enkodér Yaskawa (i když je to servo Yaskawa), nebo nějaký jiný. Běžně to prodávají třeba s EnDatem, Hiperface atd., takže to může být i něco úplně jiného.
3pajky
Příspěvky: 217
Registrován: 26. 12. 2015, 7:22

3. 1. 2017, 8:48

To ze som nenasiel ziadny popis co to vlastne je a cim to komunikuje. Ma to len jednu diferencialnu linku, endat pokial dobre pamatam pouziva 2. Nechcel som to rozoberat. Ked som videl cenu toho serva, tak je mi to trochu luto.
Inak je to SGMAS-08ACAHC61.
Kazdy si pouziva co chce, uz ma rozculuju.
Mex
Příspěvky: 10287
Registrován: 6. 2. 2014, 10:29

3. 1. 2017, 9:03

Ano, EnDat 2.2 používá 2 linky. Ale třeba Hiperface DSL, Tamagawa, Fuji a mnoho dalších používají jenom 1 linku. A každý z nich to má jinak.
Mex
Příspěvky: 10287
Registrován: 6. 2. 2014, 10:29

3. 1. 2017, 11:01

Tak jsem se na to ještě chvíli díval, a už i Yaskawa má od řady Sigma III sériové 2-drátové enkodéry.
Ale jejich komunikační protokol jsem zatím nenašel.

Tak se ten trend používání uzavřených sériových protokolů nepříjemně šíří. Za chvíli už bude nemožné připojit motor k jinému driveru, než od stejného výrobce (a to ještě jedině pokud si to ten výrobce bude přát).
Většina technického světa jde cestou standardizace, ale tady je to naopak.
Odpovědět

Zpět na „Servomotory“