Rizeni servomotoru pomoci MCU

t256
Příspěvky: 2835
Registrován: 19. 1. 2012, 4:49

27. 6. 2016, 9:09

Dostalo se mi do ruky par servomotoru s drivery. Vzhledem k tomu ze jsem zatim pracoval jen s krokovymi motory, chtel bych se zeptat jakym zpusobem se tohle vlastne ridi? Pokud jsem pochopil po letmem pocteni manualu, otacky/smer se ridi napetim +-10V a ze serva leze kvadraturni signal o poloze ktery musim hlidat a vyhodnotit a podle toho menit napeti? Vstupy step/dir nebo neco podobneho jsem nenasel. Existuje nejake hotove reseni kde bych poslal jen napr udaj o rychlosti a poloze a o zbytek se postaral ten ridici system? Bude to do stroje ktery nebude rizen pomoci PC, takze zadny mach ani nic podobneho neprichazi v uvahu.
bronek999
Příspěvky: 521
Registrován: 6. 3. 2014, 6:50

27. 6. 2016, 11:39

Dostalo sa mi do ruky starsie auto. Nejde zaradit rychlost c.5?
Neviete co s tym moze byt? Ty co trosku poznaju auta mi prosim aspon napiste ci to moje vobec ty 5-tku ma.
Monteg
Příspěvky: 1481
Registrován: 30. 10. 2006, 5:37
Bydliště: LOUNY

27. 6. 2016, 11:56

Dostalo se mi do ruky par servomotoru s drivery
Bohužel do vašich rukou asi nikdo nevidí :D
testone
Sponzor fora
Příspěvky: 7212
Registrován: 3. 12. 2010, 5:56
Bydliště: Slaný

27. 6. 2016, 12:32

vážně
mezi řízením step-dir a +- 10V je zásadní principiální rozdíl:
step dir je informace o poloze, tj. o jakou vzdálenost má osa popojet, systém nepotřebuje ke své funkci znát skutečnou polohu osy, mlčky se předpokládá, že je tam, kam ji předchozími kroky poslal
+-10V je informace o rychlosti, jakou má osa jet, polohu je nutno získat z pravítka na ose nebo z rotačního snímače polohy na šroubu nebo na motoru, z rozdílu žádané a skutečné polohy ( a dalších vstupních údajů) nadřazený řídící systém počítá rychlost a směr (= velikost a polaritu napětí v rozsahu +-10V) kterou osa v daném okamžiku jede
pravítko na ose (informaci o poloze) u řízení +-10V nepotřebuješ například v situaci, kdy osou budeš jen jezdit tam a zátky po dráze definované např. koncáky a skutečná přesná poloha tě nezajímá
např. u posuvu stolu brusky typu "magnetka"
pak by stačilo to celé řídit jednoduchou reléovou logikou, která by na základě impulsů z koncáků měnila polaritu, rampy by obstaral RC článek a rychlost potenciometr
Obvykle se dějí věci obvyklé. Méně často se dějí věci neobvyklé a zcela vyjímečně se dějí věci vyjímečné...
Masturn 40 CNC, Hermle UWF1200H CNC a pár klasik
http://www.radialengine.cz" onclick="window.open(this.href);return false;
http://www.autopejsek.cz" onclick="window.open(this.href);return false;
Uživatelský avatar
Thomeeque
Příspěvky: 8913
Registrován: 30. 1. 2012, 10:20
Bydliště: Mimo ČR

27. 6. 2016, 12:57

bronek999, Monteg: bližší specifikace daných komponent by sice od věci určitě nebyla, ale to zadání je dostatečný.
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
lubos
Sponzor fora
Příspěvky: 5091
Registrován: 2. 5. 2007, 3:47
Bydliště: Praha

27. 6. 2016, 1:00

Thomeeque píše:bronek999, Monteg: bližší specifikace daných komponent by sice od věci určitě nebyla, ale to zadání je dostatečný.
Tak mu porad když je to dostatečné...
XpertMill, Gravos, Ninos, Galaad
IQ156
-1500Kč, -520Kč, -1čokoláda, - 28000Kč
www.freeair.cz www.rotexelectric.eu www.retrofitcnc.cz
Uživatelský avatar
Thomeeque
Příspěvky: 8913
Registrován: 30. 1. 2012, 10:20
Bydliště: Mimo ČR

27. 6. 2016, 1:04

OK.
t256 píše:ze serva leze kvadraturni signal o poloze ktery musim hlidat a vyhodnotit a podle toho menit napeti?
Ano (pokud ten driver neumožňuje něco sofistikovanějšího). Víc ti snad řekne někdo, kdo si se servy hraje a třeba bude znát i to hotový řešení.
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
K_73
Příspěvky: 267
Registrován: 10. 4. 2014, 5:43
Bydliště: Praha

27. 6. 2016, 1:55

To jak ovládat servodriver skutečně hodně závisí na tom, jaké rozhraní daný typ poskytuje. Pokud je to jen čistě analogový servodriver, tak platí to co už tu bylo napsáno.
Ale pokud jde o nějaký digitální model který umí "elektronic gearing", tak tam je možné že půjde řídit i pomocí step/dir signálů stejně jako driver pro KM.
V módu "electronic gearing" je polohová zpětná vazba zavedená do servodriveru a ten se sám stará o to aby ujel potřebnou vzdálenost (tu má definovanou jako jeden krok) po přijmutí step impulzu.
Ale bez znalosti toho co se ti dostalo do ruky těžko radit.
t256
Příspěvky: 2835
Registrován: 19. 1. 2012, 4:49

27. 6. 2016, 3:48

Omlouvam se za ponekud nejasne zadani, jde o driver SMT-BSI-220/30 od Infranor. Bohuzel jsem k tomu nekam "zalozil" dokumentaci a na internetu nemuzu momentalne nic najit. Melo by jit o analogovy driver starsiho data vyroby. Pokud si vzpominam nema to ani zadnou komunikacni linku s PC, nastaveni se provadi trimry na driveru.
t256
Příspěvky: 2835
Registrován: 19. 1. 2012, 4:49

27. 6. 2016, 4:43

Dokumentace se nasla, zapojeni driveru je jako na obrazku.
Z driveru (ne ze serva jak jsem puvodne psal) jdou signaly AB+Z, to by mel byt udaj o poloze, nebo se mylim?
Nemusel bych se pak otravovat s pravitky.
Přílohy
sch.JPG
Uživatelský avatar
Thomeeque
Příspěvky: 8913
Registrován: 30. 1. 2012, 10:20
Bydliště: Mimo ČR

27. 6. 2016, 5:10

Je to údaj o poloze, ale inkrementální, musíš zahoumovat vůči nějakýmu home switchi a pak přičítat-odčítat na základě A/B pulzů (Z /index/ je něco jako home switch natočení hřídele).

Jinak z obrázku to vypadá, že potřebuješ přesně takový řízení, jaký jsi popsal, nic sofistikovanějšího (např. ten "electronic gearing") z driveru asi vymáčknout nelze.
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22397
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

27. 6. 2016, 5:46

Budes muset napsat pid regulator pro kazdou osu kterej ti bude regulovat rychlost na vystupu mcu podle zadane hodnoty a skutecne prijate z pravitek
Zadana poloha se musi taky nekde vzit takze musis nejak interpolovat polohu stroje

Toliko obecne
Rozepisovat konkretni navod na cele tohle reseni je nesmysl
Pro inspiraci se podivej do zdrojaku linuxcnc
Je to opensource takze to najdes na netu
Je to presne toto reseni akorat ne pro mcu
Ale bezi to napr. Na raspberry
Vsechna prava na chyby vyhrazena (E)
t256
Příspěvky: 2835
Registrován: 19. 1. 2012, 4:49

27. 6. 2016, 6:38

Neco jako PID regulator tam snad je, viz blokove schema. Moznosti ladeni budou ale asi nevalne, dela se to jen jednim trimrem.
Konkretni navod urcite nechci, mi jde jen o zakladni principy. Nikdy jsem se servodrivery nedelal a tak chytam zakladni informace ktere jsem tu nenasel. Budou to dost specificke stroje, takze se s rizenim budu muset poprat sam.

Jakym zpusobem se driver jako tento krmi vstupnimi udaji? Kdyz si nastavim rozliseni enkoderu na treba 2048pulzu/ot tak bude pri 4000ot/min frekvence pulzu kolem 130kHz. To prece nemuze PC stihat ani citat, natoz vyhodnocovat kvadraturni signal. Existuje nejaky pokud mozno levny ridici system do ktereho bych jednoduse poslal napriklad udaje o delce drahy a zrychleni a o nastavovani rychlosti pomoci +-10V a kontrolu enkoderu uz by se postaral sam? Asi by nebyl problem to napsat, ale proc ztracet cas necim uz vymyslenym. Jen nevim co mam hledat.
Přílohy
block.JPG
K_73
Příspěvky: 267
Registrován: 10. 4. 2014, 5:43
Bydliště: Praha

27. 6. 2016, 7:01

Ten regulátor v servodriveru je ale součástí "speed loop" protože ten driver dokáže autonomně řídit pouze rychlost toho servomotoru.
Ty bys musel v MCU kterým to chceš řídit implementovat PID regulátor jako součást "position loop" která bude řídit požadovanou polohu (pro každou osu extra).
Osobně si myslím, že pokud s tím nemáš zkušenosti, tak se u toho celkem zapotíš.
Hotové řešení existuje, jak psal Robokop - Linux CNC + MESA 5i25 + MESA 7i77
RaS
Příspěvky: 8589
Registrován: 26. 3. 2009, 9:12
Bydliště: Úvaly

27. 6. 2016, 7:02

nebo zkus to pidicnc s raspberry nebo na čem to běží..
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
Odpovědět

Zpět na „Servomotory“