Vřetenový enkodér (trocha teorie)

Uživatelský avatar
Meki
Příspěvky: 559
Registrován: 20. 4. 2020, 11:37
Bydliště: Trojanovice

27. 4. 2025, 10:23

Momentálně mě budou čekat dvě vřetena s max. 8000ot/min a zároveň schopností se přesně zapolohovat. Celkem mi vrtá hlavou jak se to řeší v profi světě a jestli existuje i low-cost řešení pro nás co retrofitujeme stroje na LinuxCNC.

Například můj oblíbený optický inkrementální rotační enkodér Omron E6B2-CWZ3E zmákne 100kHz, to je při otáčkách 8000ot max. 750pr, nejbližší nižší vyráběná verze je 600pr, x4= rozlišení 2400 za otáčku. To už je ale odchylka 0.15° a při frézování 4hranu (na soustruhu) to může udělat rozdíl protilehlých ploch i o 0,079mm, navíc omron uvádí max. 6000ot takže smůla


Co mám motory od Mitsubishi a Fanucu tak tam se to řeší "ozubeným kolečkem a snímačem" netuším co to je za snímač, tipuju indukční ale nechce se mi věřit že by to indukce stíhala? Každopádně výstup takového enkodéru je 1Vpp SIN/COS. Přikládám foto snímače a výstupu.
P_20250427_204201_1.jpg
P_20250427_204144_1.jpg
Tento signál lze v systému ještě interpolovat ADC převodem, takže jestli to správně chápu tak např. 8bit převodník dokáže půlvlnu enkoderu rozdělit na 256poloh, celou pak na 512, při 256z kolečku enkodéru by to dělalo 131072poloh/ot, to je 0,00275....° čili 0,0014mm v případě předchozího příkladu s čtyřhranem

Zdá se mi to jako geniální řešení pro přestavby, nevím jak se dají sehnat ty snímače (alespoň jako náhradní díly si myslím že by šly splašit) ale kolečko si mohu teoreticky vyfrézovat a namontovat jej přímo na hřídel vřetena a nemusím řešit řemenice na enkodér bokem atd.
Asi největší problém je jak pracovat s tím signálem 1Vpp, když pominu předražené Heidenhain převodníky 1Vpp / TTL, netuším jestli by to stíhal nějaký mikroprocesor třeba typu STM32? popřípadě sestavit konkrétní IC? Našel jsem na EN foru jeden konkrétní šváb určený pro tuto aplikaci, třeba by to byla cesta:
https://cz.rs-online.com/web/p/analogov ... ky/2837513
1Vpp_to_TTL.PNG
A pak to jen poslat mesou do LinuxCNC

Snad počítám a uvažuju správně, prosím o opravu jestli se mýlím. Živí mě kovoobrábění, elektro se stále učím a přijde mi že čím víc elektroniku prozkoumávám, tak tím zjišťuju že méně a méně toho o ní vím :lol:
miv
Příspěvky: 1134
Registrován: 17. 9. 2019, 11:55

27. 4. 2025, 10:57

Šikovný systém měření takových signálů je měření času mezi jednotlivými pulzy inkrementálního snímače. Pak mi stačí i méně přesný snímač - třeba jen těch 2400 impulzů, ale mezipolohu mohu odhadnout s vysokou přesností, protože těžko se nějak podstatně změní rychlost otáčení mezi dvěma impulzy. Takže polohy od snímače jsou "přesné", mezipolohu zjistím měřením času od poslední hrany snímače. To zvládne kdejaký mikročip. STM32 naprosto jistě.
Uživatelský avatar
Meki
Příspěvky: 559
Registrován: 20. 4. 2020, 11:37
Bydliště: Trojanovice

27. 4. 2025, 11:39

Dobrý nápad ale potřeboval bych aby vřeteno umělo zastavit a stát, třeba při frézování poháněčkou na soustruhu, potřeboval bych aby motor mohl rychle reagovat na vychýlení vřetena z polohy když poháněčka zabere šponu

Zde je krásný a docela extrémní příklad na soustruhu:
https://youtu.be/NdNh30_YfII?si=wdfnIFPafzCjycBf

Tento soustruh má synchronní elektrovřeteno a snímač polohy je řešený právě tím ozubeným kolečkem s snímačem. Obdivuju že se to v praxi dá stihnout, že je ta servosmyčka tak rychlá a zareaguje dostatečně rychle že se na videu vřeteno neklepe, aby to netupilo VBD, nekazilo povrch a rozměry atd. Ale třeba se pletu, třeba to není tak žhavé a setrvačnost sklíčidla dostatečně ztlumí kmitání/vibrace a motor v klidu stihne zareagovat. (Né vždy se dá použít brzda vřetena).

Ale nelze takto polohu při nulových otáčkách hlídat a ta tak může lítat v příkladu těch 0,15°
Dawe
Příspěvky: 2854
Registrován: 8. 10. 2013, 6:18

27. 4. 2025, 11:55

Ten sin/D je na zpracovani relativne slozity. Podobne jako resolvery.

Pri tvych pozadavcich na presnost a rychlost a pokud dokazes enkoder umistit aspon kousek dal od motoru mimo nestacionarni magneticke pole, bych zkusil moderni presne magneticke enkodery.
Pred delsi dobou jsem psal o "klonech" Omronu E6B2 , ktere nejsou opticke inkrementalni, ale jsou osazene cinskym magnetickym encderem SC60224.
viewtopic.php?p=493959

Ta implementace byla chybujici, spatna, snimac je jen 12bit s absolutni presnostni jen pul stupne, ale existuji i modernejsi a papirove daleko lepsi podobne 360° magneticke enkoder IC s plne digitalnim vystupem (SPI, SENT,...).
A dost mozna je nektery cinan uz dnes vyrabi. CHtel jsem se pred casem rozhlidnout, jestli nejsou podobne E6B2 klony s nekterym z nich uz na trhu:

TMR technologie:
- AMS (dnes Osram)- rada AS54xx (projit a checknoutAS5420 a 5440, obecne jen 14bit, ale +/-0.05deg total error??)
-MDT TMR3109 - 23bit! 7600 rpm, and up to 30,000 rpm reduced accuracy. ale jen +/-0.2deg accuracy
-MDT TMR3108 - 17bit, 40000rpm!, /+-deg 0.04 repeatability, nelinearita tbd. najit!
-MDT TMR2901 - weak magnet varianta. asi horsi
-MDT TMR3111 -23 bit!, 40000rpm!, +/- 0.05deg nelinearity!, 0.03 repeatability, 0.5deg defenzivni thermal drift, ale bude lepsi! najit!


AMR a GMR technologie:
uz nic
TOS S28, DIY CNC, Holzmann ZS-40HS, Prusa Mk3s+MMU2s, Bambu X1C Combo
miv
Příspěvky: 1134
Registrován: 17. 9. 2019, 11:55

28. 4. 2025, 1:09

Meki píše: 27. 4. 2025, 11:39 Dobrý nápad ale potřeboval bych aby vřeteno umělo zastavit a stát, třeba při frézování poháněčkou na soustruhu, potřeboval bych aby motor mohl rychle reagovat na vychýlení vřetena z polohy když poháněčka zabere šponu

Zde je krásný a docela extrémní příklad na soustruhu:
https://youtu.be/NdNh30_YfII?si=wdfnIFPafzCjycBf

Tento soustruh má synchronní elektrovřeteno a snímač polohy je řešený právě tím ozubeným kolečkem s snímačem. Obdivuju že se to v praxi dá stihnout, že je ta servosmyčka tak rychlá a zareaguje dostatečně rychle že se na videu vřeteno neklepe, aby to netupilo VBD, nekazilo povrch a rozměry atd. Ale třeba se pletu, třeba to není tak žhavé a setrvačnost sklíčidla dostatečně ztlumí kmitání/vibrace a motor v klidu stihne zareagovat. (Né vždy se dá použít brzda vřetena).

Ale nelze takto polohu při nulových otáčkách hlídat a ta tak může lítat v příkladu těch 0,15°
Ano, při nízkých (nebo nulových) otáčkách je nutné mít snímač s přesností danou požadavkem na minimální detekovatelnou diferenci. Pak žádná chytrost nefunguje.
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22863
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

28. 4. 2025, 6:22

Ty indukcni snimace to stihaji. Bohuzel jaou nesmirne drahe.
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
Thomeeque
Příspěvky: 9312
Registrován: 30. 1. 2012, 10:20
Bydliště: Mimo ČR

28. 4. 2025, 7:44

Meki píše: 27. 4. 2025, 10:23 Každopádně výstup takového enkodéru je 1Vpp SIN/COS.
Tento signál lze v systému ještě interpolovat ADC převodem, takže jestli to správně chápu tak např. 8bit převodník dokáže půlvlnu enkoderu rozdělit na 256poloh, celou pak na 512, při 256z kolečku enkodéru by to dělalo 131072poloh/ot, to je 0,00275....° čili 0,0014mm v případě předchozího příkladu s čtyřhranem
Pokud by to byl lineární ADC a na jeho vstupu přímo ta sinusovka, tak tato úvaha není úplně správná, protože změna úhlu bude mezi různými napěťovými úrovněmi pro sinusovku různá (největší na vrcholech, nejmenší ve středu). Leda by z toho signálu ještě před převodníkem nějak vykouzlili pilu.
Uživatelský avatar
Meki
Příspěvky: 559
Registrován: 20. 4. 2020, 11:37
Bydliště: Trojanovice

28. 4. 2025, 8:13

Dawe píše: 27. 4. 2025, 11:55 Ten sin/D je na zpracovani relativne slozity. Podobne jako resolvery.

Pri tvych pozadavcich na presnost a rychlost a pokud dokazes enkoder umistit aspon kousek dal od motoru mimo nestacionarni magneticke pole, bych zkusil moderni presne magneticke enkodery.
Pred delsi dobou jsem psal o "klonech" Omronu E6B2 , ktere nejsou opticke inkrementalni, ale jsou osazene cinskym magnetickym encderem SC60224.
viewtopic.php?p=493959

Ta implementace byla chybujici, spatna, snimac je jen 12bit s absolutni presnostni jen pul stupne, ale existuji i modernejsi a papirove daleko lepsi podobne 360° magneticke enkoder IC s plne digitalnim vystupem (SPI, SENT,...).
A dost mozna je nektery cinan uz dnes vyrabi. CHtel jsem se pred casem rozhlidnout, jestli nejsou podobne E6B2 klony s nekterym z nich uz na trhu:

TMR technologie:
- AMS (dnes Osram)- rada AS54xx (projit a checknoutAS5420 a 5440, obecne jen 14bit, ale +/-0.05deg total error??)
-MDT TMR3109 - 23bit! 7600 rpm, and up to 30,000 rpm reduced accuracy. ale jen +/-0.2deg accuracy
-MDT TMR3108 - 17bit, 40000rpm!, /+-deg 0.04 repeatability, nelinearita tbd. najit!
-MDT TMR2901 - weak magnet varianta. asi horsi
-MDT TMR3111 -23 bit!, 40000rpm!, +/- 0.05deg nelinearity!, 0.03 repeatability, 0.5deg defenzivni thermal drift, ale bude lepsi! najit!


AMR a GMR technologie:
uz nic
Díky za info, to vypadá hodně dobře. Zkusím se na to podívat
robokop píše: 28. 4. 2025, 6:22 Ty indukcni snimace to stihaji. Bohuzel jaou nesmirne drahe.
To na mé fotce bude asi indukční že? našel jsem to čidlo jako náhradní díl okolo 3 až 5tis kč
Thomeeque píše: 28. 4. 2025, 7:44 Pokud by to byl lineární ADC a na jeho vstupu přímo ta sinusovka, tak tato úvaha není úplně správná, protože změna úhlu bude mezi různými napěťovými úrovněmi pro sinusovku různá (největší na vrcholech, nejmenší ve středu). Leda by z toho signálu ještě před převodníkem nějak vykouzlili pilu.
jo to mě nenapadlo, každopádně u toho čipu IC-NV s tím nějak pracují, asi tam je limit té interpolace kde pak u vrcholu každé střídy začnou ty jednotlivé polohy splývat, zbytek už se asi dá pošefovat vhodným naprogramováním toho ic převodníku



Ještě jedna myšlenka jak by se to dalo "ošidit" . Ono to přesné polohování potřebuju jen asi do 1000ot/min, nad tyto otáčky už nefrézuju, větší otáčky už jen soustružím a možná občas řežu malý jemný závit ale na to mi stačí asi i 256ppr. Co takhle osadit dva enkodéry, jeden 4096PR a a druhý třeba 600PR, zkoušel někdo? Pro nízké otáčky by LinuxCNC bral polohu z 4096PR a ten druhý 600PR by sloužil pro komutaci motoru a pro řídící systém u velkých otáček.
Asi by bylo relativně snadné řešení osu rozdvojit, u soustruhu rozlišovat vřeteno (linuxCNC by používal 600PR) a u frézovacích operací aktivovat C, zreferovat a po frézování opět vypnout a soustružit. Líbilo by se mi to bez toho referování, je to strojní čas navíc, ale třeba by to šlo stihnout ještě při dotáčení vřetena než se vřeteno zastaví.
Dawe
Příspěvky: 2854
Registrován: 8. 10. 2013, 6:18

28. 4. 2025, 2:00

Meki>
Za malo. Jestli najdes, tak pozor na to magneticke pole a na spravny neferomagneticky drzak magnetu. Jinak jde linearita do kopru. Dal je dulezite drzet IC i magnetu, narozdil od optickeho onkoderu, stabilni teplotu. Muze byt vyssi, ale stabilni.

S tim dvojitym enkoderem se to nekdy dela(lo), prvni ma pruchozi hridel, druhy je za nim. Nedovedu rict kde, ale videl jsem to na (myslim) starsim Hurco NC soustruhu.


Jeste bych ti poradil, koupit za par korun ty napodobeniny E6B2-cwz1x s 1000PPR a vyzkouset si jejich sirku pasma. Mozna te nektery prekvapi a bude stihat tech 8000rpm, prestoze specka origo Omronu je nizsi.
Ony jsou velmi ruzne implementovane, s jinymi kolecky, elnikou i optikou. Viz moje foto. Nektere maji i velmi rychla hradla, dost mozna pujdou vyrazne pres 100kHz. Vychazelo by ti to rozliseni pak aspon pod 5 stovek. Ale nezkousel jsem, ja je provozuju do 4800rpm (~80kHz).
Ta mala loziska 8000rpm daji bez potizi, mechanicky limitujici mohou byt u nekterych provedeni ty tenke stencily- foliova kolecka . U tech tlustsich bych se mechaniky nebal vubec. viz foto
Přílohy
enkodery Omron E6B2 porovnani vystupu incremental encoder optical magnetic (8).jpg
enkodery Omron E6B2 porovnani vystupu incremental encoder optical magnetic (13).jpg
TOS S28, DIY CNC, Holzmann ZS-40HS, Prusa Mk3s+MMU2s, Bambu X1C Combo
Uživatelský avatar
zz912
Příspěvky: 1475
Registrován: 25. 5. 2008, 7:16

28. 4. 2025, 2:53

V brotheru máme Atas resolver a Delta driver s resolverovou kartou.
LinuxCNC - MESA 7i96
zz912.webnode.cz
Uživatelský avatar
Meki
Příspěvky: 559
Registrován: 20. 4. 2020, 11:37
Bydliště: Trojanovice

28. 4. 2025, 5:27

Dawe píše: 28. 4. 2025, 2:00 Meki>
Za malo. Jestli najdes, tak pozor na to magneticke pole a na spravny neferomagneticky drzak magnetu. Jinak jde linearita do kopru. Dal je dulezite drzet IC i magnetu, narozdil od optickeho onkoderu, stabilni teplotu. Muze byt vyssi, ale stabilni.

S tim dvojitym enkoderem se to nekdy dela(lo), prvni ma pruchozi hridel, druhy je za nim. Nedovedu rict kde, ale videl jsem to na (myslim) starsim Hurco NC soustruhu.


Jeste bych ti poradil, koupit za par korun ty napodobeniny E6B2-cwz1x s 1000PPR a vyzkouset si jejich sirku pasma. Mozna te nektery prekvapi a bude stihat tech 8000rpm, prestoze specka origo Omronu je nizsi.
Ony jsou velmi ruzne implementovane, s jinymi kolecky, elnikou i optikou. Viz moje foto. Nektere maji i velmi rychla hradla, dost mozna pujdou vyrazne pres 100kHz. Vychazelo by ti to rozliseni pak aspon pod 5 stovek. Ale nezkousel jsem, ja je provozuju do 4800rpm (~80kHz).
Ta mala loziska 8000rpm daji bez potizi, mechanicky limitujici mohou byt u nekterych provedeni ty tenke stencily- foliova kolecka . U tech tlustsich bych se mechaniky nebal vubec. viz foto
dívám se na alíku po magnetických a narazil jsem na tento:
https://www.aliexpress.com/item/1005008 ... 21%211%210

Dle popisu umí až 8000ot a dokonce to umí 17bit :shock: .
Sice nemá klasický výstup TTL diferenciální (zmínka tam je ale v tabulce je v kolonce pod TTL vodič RX a TX), asi to je tím že při 17bit a 8000ot/min už by to dělalo frekvenci 17,5MHz pokud správně počítám, což už ani mesa s 10MHz nepřečte. Zkusil bych tu verzi s RS485. Sice za 7tis kč to není nejlevnější na hraní, ale asi si udělám předčasné vánoce :lol: . Chtěl bych zkusit i maximálku těch E6B2-cwz1x, snad si na to experimentování najdu čas a nepůjde to od pošťačky do šuplíku kde se na to bude prášit :?

Koukám že máš taky oscík od rigola, zkoušel jsi některé funkce jako počítání pulzů na otáčku v případě enkodéru? Mi to nějak nesedělo
Uživatelský avatar
Meki
Příspěvky: 559
Registrován: 20. 4. 2020, 11:37
Bydliště: Trojanovice

28. 4. 2025, 5:39

zz912 píše: 28. 4. 2025, 2:53 V brotheru máme Atas resolver a Delta driver s resolverovou kartou.
jaké to má rozlišení?
myslím že pro komutaci je to super ale nevím jak to zmákne přesné polohování

S resolverem jsem se ještě nesetkal, přijde mi že se dnes už resolvery skoro nepoužívají. I klasické enkodéry s výstupem který lze jednoduše číst/kontrolovat osciloskopem (TTL, 1Vpp SIN/COS) už mizí, vše se zabalí do sběrnice už v motoru a do driveru to lítá po nějaké uzavřené sběrnici o nezdokumentovaném protokolu, možnost diagnostiky nulová...

Co jsem se ptal v profcomu jestli umí pracovat s tím 1Vpp SIN/COS který jsem zmiňoval výše, tak mi psali že karta do C2000 na to je ale nedoporučují to, že to není spolehlivé a mám to raději nahradit klasickým TTL. Už jsem se po tom pak nepídil jestli to umí i interpolovat těch pár 256pulzů.
venca.black
Příspěvky: 122
Registrován: 11. 11. 2009, 10:45
Bydliště: praha 5

28. 4. 2025, 8:22

Ahoj ,
a co zkusit třeba něco takového : třeba Heidenhain EQN1125.
Tenhle mám z nějakýho serva , je absolutní 13 bitů/ot=8192 poloh/ot.
a 12bitů=4096 rozlišitelných otáček ( to bys asi nepotřeboval ).
Výstup je EnDat 2.2 ( protokol je ještě ve starších manuálech a potom už ne :( ).

Můj pokus na videu byl 80mikrosekund pro kompletní přečtení té celé absolutní polohy , takže by se stačilo kdekoliv vřetenem zastavit a pak jenom dotočit .
Mechanická odolnost se uvádí 12 000 ot/min.
Heidenhain_ABS_moje.mp4
(4.1 MiB) Staženo 53 x
( Možná bych našel i ten protokol s poznámkama ).
Dawe
Příspěvky: 2854
Registrován: 8. 10. 2013, 6:18

29. 4. 2025, 12:33

Meki> no vidis zes nasel zajimave magneticke. Cena je u toho Briteru opravdu dost vysoka na to, jen tak na blind zkusit. :D Nezahlidl jsem nikde ani na webu info o pouzitem IC, to bych se snazil z nich dostat, nez bych to koupil. Treba to bude zrovna ten MDT TMR3108. Oni sice v popisu pisou 0.025deg presnost pres otacku a dvojnasobnou opakovatelnost, ale kdovi jaka bude total accuracy.
Kdyz neco zjistis, napis pls.

Interface u tech 14b+ ma smysl jen rychly seriovy, TTL uz ne.
Koukám že máš taky oscík od rigola, zkoušel jsi některé funkce jako počítání pulzů na otáčku v případě enkodéru? Mi to nějak nesedělo
Ten counter na Rigolu DSxxxxZ sedet uplne asi nebude, kdyz natahnes timebase tak abys mohl udelat otacku, bude to na nej moc dlouhe myslim. Ty mas verzi s LA, mozna tim by to slo, jestli umi LA+counter. Mel jsem MSO8000 a ten na to mel myslim nejaky tool.

trochu OT:
Ja ted mam i mladsiho brasku, Rigol DHO924S. Ten uz ma dotykovy displej, bezi na linuxu s Androidem.
Trochu jsem ho hackul a tam se da pomoci API te appky ktera na nem bezi delat uz daleko vic. Bode diagramy, opravdu rychle FFT do 600MHz, 50MHz AWG, LVDS logicky analyzator,....
Napajeni ma z USB-C powerbanky (takze galv. oddeleny kdyz chces)... Dodelal jsem do kernelu ovladace na wifi+BT dongle - takze ted je mobilni a bez jedineho dratu na siti a zaroven jeste i s pripojenou BT myskou a klavesnici. Na LAN ho pres jeho webserver vidis a ovladas pres jakykoliv prohlizec. Je maly, lehoucky, na rameni s rychloupinakem supermobilni.
Dohral jsem tam i launcher, tak na scopu bezi treba Kodi a tak. Vyhral jsem si. :lol:
RIgol DHO924S  vs DS1054z .(2).jpg
Rigol DHO924S VESA Alza Ergo Premium drzak 1-9kg (2).jpg
Rigol DHO924S web google (Win+B).jpg


Nicmene, pro ty inkrementalni kvadraturni enkodery je lepsi nez scope, si proste postavit (nebo koupit) prevodnik.
Ja k tomu pouzivam takovy "multi konvertor".
Krabicku k vzajemne konverzi 16bit analogu , PWM, SENT, frekvence, kvadraturniho enkoderu s konfigurovatelnym poctem hran,.... apod.
Konfigurovat se da pres seriovku resp. USB VCP z PC a daji se zaroven utilitkou vycitat a ukladat data se samplingem par set Hz. Je k tomu jednoducha sdk a utilitka je v Labview. Ma i vystup na ruzne displeje s konfigurovatelnym obsahem. A bezi to na vetsi xmega. Jestli umis STM tak to ber jako inspiraci, to bude pro tebe asi brnkacka, ten muj delal kamos pred asi 15lety. Kontroloval jsem si tim treba retrofitovana serva, kam jsem daval prave E6B2 enkodery. A nebo spolu s 50mm linearnim snimacem pouzival pro kontrolu opakovatelnosti pohybu ruznych os.
viz videa pro predstavu:
https://youtu.be/LTpiBOmIsfg
https://www.youtube.com/watch?v=HHyUNneMV6k
https://youtu.be/5txgQHGYrug
TOS S28, DIY CNC, Holzmann ZS-40HS, Prusa Mk3s+MMU2s, Bambu X1C Combo
lapa
medaile za lepsi forum
Příspěvky: 2886
Registrován: 6. 5. 2009, 7:18
Bydliště: Praha

29. 4. 2025, 9:21

Tak a uz i z osciloskopu bude televizni poplatek - tos to zavaril ... :lol:
Ale samozrejme obdivuji sikovnost.
Kostka těžko vysvětlí úsečce, natož bodu, že život má i jiné dimenze než má ten jejich ...
Odpovědět

Zpět na „Ostatní elektronika“