SW korekce geometrie - pravouhlost os ...

RadekV
Příspěvky: 87
Registrován: 27. 3. 2008, 6:27
Bydliště: Šumperk

19. 4. 2009, 9:16

Ahoj, hledal jsem ale nenašel nikde diskuzi, jestli jde v EMC2 SW upravit uchylky v geometrii stroje. Jistě to jde udělat v HW, ale moc se mi do toho nechce abych si to nerozhasil jeste vic, nez to je. Pokud to někde bylo řešeno, tak se omlouvám.

Děkuji Radek
Naposledy upravil(a) RadekV dne 20. 4. 2009, 10:38, celkem upraveno 1 x.
Uživatelský avatar
Radek-B
Příspěvky: 2144
Registrován: 13. 9. 2006, 11:09
Bydliště: V:Karlovice
Kontaktovat uživatele:

20. 4. 2009, 6:41

Radeeee

doporucuju cist.. kdyby to bylo aspon v jine casti fora, tak by to bylo pochopitelnejsi :D

http://www.c-n-c.cz/viewtopic.php?t=2235

RADEK
modernizace/repase CNC strojů a zařízení
automatizace/konstrukce
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22432
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

20. 4. 2009, 7:17

jeste jde o to jestli jde jeen o vuli nebo i o odchylky od praveho uhlu

coz by se melo dat udelat pomoci rovnic ktere definuji vztah os
coz prave EMC tusim ma a pouziva se to na hexapodech a pod.
Vsechna prava na chyby vyhrazena (E)
k
Příspěvky: 814
Registrován: 12. 8. 2008, 12:00
Bydliště: Kosice SK

20. 4. 2009, 7:36

pre EMC si mozete nadefinovat kompletny kinematiku stroja . ale bez pisania "softu" to nejde. (jedine ze si vystacite s uz napisanymi modulmi)

Musite napisat priamu a inverznu transformaciu zo suradnic tzv "jointov" (to su vlastne realne fyzicke pozicie) na tzv "axes" co su normalne kartezianske suradnice ktore su ovladane z G-kodu resp. manualneho modu.

Normalne sa pouziva tzv. trivialna kinematika ktora mapuje 1:1 joints<->axes.

Celkom zaujimava moznost je pridat si na klasicky 3-osi stroj jednu "softwarovu" rotacnu os. Viac info z vzdojakoch EMC v casti src/emc/kinematics/rotatekins.c
Uživatelský avatar
Radek-B
Příspěvky: 2144
Registrován: 13. 9. 2006, 11:09
Bydliště: V:Karlovice
Kontaktovat uživatele:

20. 4. 2009, 9:16

A ja to tu chtel smazat aby se diskuze rozvinula na to tema uz v tom zalozenem vlaknu.

R
modernizace/repase CNC strojů a zařízení
automatizace/konstrukce
k
Příspěvky: 814
Registrován: 12. 8. 2008, 12:00
Bydliště: Kosice SK

20. 4. 2009, 9:42

ja by som nechal obe vlakna kym povodne sa riesil len backslash a pripadne nepresnost skrutky .. tak skor ci neskor niekto zasiahne do zmien v kinematike ktora je zas skor predmetom tohoto vlakna.

aj ked z povodnej otazky vobec nie je jasne ake korekcie boli pozadovane ;)
RadekV
Příspěvky: 87
Registrován: 27. 3. 2008, 6:27
Bydliště: Šumperk

20. 4. 2009, 10:35

JJ omlouvám se. Rád bych kompenzoval mechanicky nepresnou polohu os vudci sobe. Resp. jak tu bylo psáno nemám osy v pravém úhlu.

Asi bych měl nejdříve zjistit nepřesnost. Pokud mi někdo poradí, jak na to? mám hodinky se stojánkem, ale ty mi tu možná nepomůžou... nevím

Díky, Radek
k
Příspěvky: 814
Registrován: 12. 8. 2008, 12:00
Bydliště: Kosice SK

20. 4. 2009, 11:19

Pokial sa tyka EMC a zaradenia tejto korekcie doneho postup je asi nasledovny:

1. naucit sa skompilovat klasicke EMC ..
2. - upravit bud povodny trivkins.c
- jednoduchsie sa javi uprava rotatekins.c s tym ze rotacna korekcia pojde len na jednu os nie na obe
(porovnajte si trivkins.c a rotatekins.c velmi lahko najdete co asi je treba upravit).

3. zaradit novy rotatekins do hal-u namiesto trivkins
4. menenim rotacnej osi za jazdy menite korekciu.

(este jedna vec , finalne je dobre, si potom rotatekins.c nahradit povodnym rotatekins.c a svoju novu kinematiku si pomenovat inac. do hlavneho Makefile potom zapiste este targety pre svoju novu kinematiku a tak po prekompilovani vznikne novy modul ktory zavediete do halu svojeho stroja).

Meranie stroja .. neporadim rpesne kedze nepoznam aku deformaciu presne xcete korigovat .. ale vdaka tomu ze mozete za jazdy menit korekciu to snad dokazete skor ci neskor vyladit.
RadekV
Příspěvky: 87
Registrován: 27. 3. 2008, 6:27
Bydliště: Šumperk

20. 4. 2009, 11:45

Dekuji, uf... myslel jsem si, ze se nekde do souboru doplni namerena uchylka. V zakladu se mi jedna o rozdilny uhel mezi osou X a Y. Na 100 mm pojezdu X se mi jevi 0.1 mm deformace rozmeru. Asi si budu muset neco nakreslit, nebo svrat, abych mel z ceho merit.

Radek
k
Příspěvky: 814
Registrován: 12. 8. 2008, 12:00
Bydliště: Kosice SK

20. 4. 2009, 12:00

ono by to mozno slo spravit aj bez komplilacie len zmenou HAL-u (os X sa bude natacat nnormalne cez rotatekins ale os Y resp. joint 1 sa linkne napriamo cez HAL, musim to odskusat ale najskor cez weekend.. )
RadekV
Příspěvky: 87
Registrován: 27. 3. 2008, 6:27
Bydliště: Šumperk

21. 4. 2009, 10:19

super ! Jsem zvedav, jak dopadnes.

Diky, Radek
Uživatelský avatar
bobik
Příspěvky: 4564
Registrován: 11. 12. 2007, 7:48
Bydliště: Okres Klatovy

19. 9. 2009, 5:36

Docela by mě zajímalo, jestli někdo pokročil v problému korekce odchylky kolmosti os.
k
Příspěvky: 814
Registrován: 12. 8. 2008, 12:00
Bydliště: Kosice SK

21. 9. 2009, 7:54

Vzhladom na to, ze si EMC skoro stale kompilujem z najnovsich zdrojakov, je pre mna bezproblemove si akekolvek korekcie doprogramovat do vlastnej kinematiky.

Pokial ide o to prelikovanie cez HAL .. neskusal som to .. nebolo kedy.

Ak niekto nutne tuto vec potrebuje, tak radsej nacrtnem sposob ako si napise vlastnu kinematiku. Prva vec je aby ste zvladli kompilaciu EMC. Navody priamo na linuxcnc.org

Teraz ku vlastnej kinematike:

Na zaciatok si v subore definicie svojeho stroja zmente trivkins na "rotatekins" .. ale pozor .. vznikne niekolko veci ktore pri trivkins neexistuju a pri rotatekins ano .. (resp. pri akejkolvek inej kinematike ktora nie je identicka .. co je pripad len trivkins). Musite dokladne pochopit axis a jeho prepinanie (menu View -> joint mode/ World mode) aby ste vedeli kedy a preco vam jogguje len jeden motor (joint) a kedy sa jogguje s kinematikou (axe). Dalej upozornim, ze rotatekins preto aby bezala potrebuje prv ako sa prepnete do rezimu world mode nahomovat vsetky suradnice.

kedze mne uteka stol len v jednej suradnici, a rotatekins pracuje s oboma, tak potrebujeme malicku zmenu:

Teraz kusok kodu z rotatekins.c :

dopredna transformacia jae takato:
pos->tran.x = joints[0] * cos(c_rad) - joints[1] * sin(c_rad);
pos->tran.y = joints[0] * sin(c_rad) + joints[1] * cos(c_rad);
pos->tran.z = joints[2];

inverzna:
joints[0] = pos->tran.x * cos(c_rad) - pos->tran.y * sin(c_rad);
joints[1] = pos->tran.x * sin(c_rad) + pos->tran.y * cos(c_rad);
joints[2] = pos->tran.z;


V principe ak viem, ze mi stol uteka o 0.5 stupna pre os X staci zmenit, obe transformacie takto:

dopredna:
c_rad = 0.5 *M_PI/180;
pos->tran.x = joints[0] * cos(c_rad) - joints[1] * sin(c_rad);
pos->tran.y = joints[1];

inverzna:
c_rad = -0.5 *M_PI/180;
joints[0] = pos->tran.x * cos(c_rad) - pos->tran.y * sin(c_rad);
joints[1] = pos->tran.y;

Prekompilujem, spustim, nahomujem, prepnem do world suradnic a ked joggujem x, y, tak fyzicka os x (joint[0]) dostava pohyb podla x aj y suradnice. Y os ostava priamo zviazana s joint[1].

Na svojom stroji pouzivam upravenu rotatekins uz dlhsi cas, vyhodne prave pri upnuti obrobkov nie rovnobezne so suradnicovym systemom stroja.
Uživatelský avatar
bobik
Příspěvky: 4564
Registrován: 11. 12. 2007, 7:48
Bydliště: Okres Klatovy

21. 9. 2009, 10:47

pro k: Děkuji ti. Takže odchylka kolmosti os je řešitelná. I když jsem na sebe zvědav, zda to zmáknu.
k
Příspěvky: 814
Registrován: 12. 8. 2008, 12:00
Bydliště: Kosice SK

22. 9. 2009, 8:13

bobik píše:pro k: Dìkuji ti. Takže odchylka kolmosti os je øešitelná. I když jsem na sebe zvìdav, zda to zmáknu.

Asi najtazsie je zacat si kompilovat vlastne jadro + RTAI .. potom ked to clovek zmakne .. je dobre naucit sa stahovat git verziu EMC a tu si vediet skompilovat. toto ale odporucam zvladnut kazdemu co to s EMC mysli vazne .. GIT verzia obsahuje prakticky stale najnovsie EMC.. co sa o live CD alebo distribucnom "stable" EMC neda povedat ..

Pripadne doplnky a zmeny v EMC kode su potom dobre drzatelne v GIT systeme, nezanikaju ani pri stahovani novsich verzii emc.
Odpovědět

Zpět na „LinuxCNC - drive pod nazvem EMC2“