Strona 1 z 1

Formuła dla trzeciej osi

: 24 kwie 2009, 22:30
autor: RadoslawStalowy
Cieniutko u mnie z matematyką a zaplanowałem taką konfiguracje.
Maszynka pracuje w dwóch osiach X/Y.Potrzebuję zasterować serwo głowicy (szyjącej) tak aby jej prędkość obrotowa była zsynchronizowana z prędkością posuwu.
W przypadku gdy nastawię stałą prędkość w konfiguracji nie ma problemu,ale może być taka sytuacja ,że użyję "dokałdnego stopu" i wtedy chcę aby głowica zwalniała i przyśpieszała synchronicznie z posuwem.
Plan jest taki aby serwo zasterować "stepem" z osi np.A lecz problem jaką zastosować formułę?
Może któryś z kolegów z mózgiem matematycznym wspomoże ,bo ja nie ogarniam!!
"Dla ułatwienia" wszystkie G-kody mam napisane z dystansem bezwzględnym i parametrami IJ przyrostowymi :)
Im wiecej dumam tym bardziej niemożliwym staje się!!

Re: Formuła dla trzeciej osi

: 25 kwie 2009, 20:17
autor: qqaz
RadoslawStalowy pisze:... Maszynka pracuje w dwóch osiach X/Y.... ..... może być taka sytuacja ,że użyję "dokałdnego stopu" i wtedy chcę aby głowica zwalniała i przyśpieszała synchronicznie z posuwem...."Dla ułatwienia" wszystkie G-kody mam napisane z dystansem bezwzględnym i parametrami IJ przyrostowymi
no i na samym początku kolega odpowiedział jak to ma być zrobione - bo jeżeli mamy Gkody to bez problemu będzie sterowanie predkością głowicy przez modyfikację Gkodu i wpisanie do niego odpowiedniej informacji. A jeżeli zmieniany będzie tryb CV to przecież prędkość głowicy też będzie odpowiednio dopasowywana przez maszynkę. I Gkodu to nie interesuje bo w nim zawarte są informacje o geometrii a dynamiką zajmuje się maszynka.
Żaden problem.
Tylko uszczególówić trzeba informację co widzi głowica - czy to jest silnik napędzajacy wałek i nim trzeba sterować czy wystarczy podawać częstotliwość.
Tak czy siak nietrudne :wink:

: 25 kwie 2009, 22:14
autor: RadoslawStalowy
Więc uściślę , nie chcę ingerować w G-cod ponieważ chcę aby pliki ,które już napisałem stosuje już na trzech maszynach szyjących,które zmodernizowałem były uniwersalne.
W poprzednich (pod dos-em) "wrzeciono" czyli moją głowicę szyjącą steruję komendami M3 M5 ,ponieważ wpiełem się w istniejący napęd (3-fazowy) i skutecznie go zasterowałem.
Generalnie klient zadowolony, pieniądze wypłacone ,maszyny pracują już prawie dwa lata i wszystko git! ale nie dla mnie!!
Problem w poprzednich maszynach jest taki,że jeśli zastosuję mniejszą akceleracje (a nieraz muszę ze względu na układ mechaniczny ,który już istniał) to program jak wiemy zwalnia i przyśpiesza za każdą linią G-codu,głowica tego nie widzi i zmienia się długość ściegu wykonanego.
Teraz zastosowałem Mach3 z kontrolerem USB ,no i pojawiły się nowe możliwości, i większe prędkości.
Świeżo oddana maszynka spisuje się wyśmienicie pod Machem ale tam mam wprowadzoną stałą prędkość posuwu głowica zasterowana M3 M5 i ścieg wykonany w każdym miejscu (łuk czy linia) idealny.
Jednak ta maszyna posiada głowicę szyjącą która ma prędkość 1000obr/min więc max posuw dla sciegu 8mm to 8000mm/min i to spokojnie krokóweczkami ze stałą prędkością posuwu osiągam.
Teraz buduje nową maszynę i tu chcę osiągnąć ok.15000mm/min na serwach a głowica szyjąca mojej konstrukcji będzie się obracać do 2000obr/min.też zasilona serwem.
Wiem,że nie mogę zastosować stałej predk. posuwu bo przy ostrym nawrocie całe to tałatajstwo ze swoją niemałą masą się poskada :)Muszę zastosować niższą akcelerację i dokładny stop a wtedy prędkość posuwu jak wiemy się zmienia.
Tak więc jak napisałem predkośc głowicy musi się zmieniać tak samo jak posuw aby uzyskać "równy" ścieg.
Aby nie mieszać w G-codzie wymyśliłem to tak aby M3 załączało Step z osi A na napęd głowicy tylko jaka formuła dla tej osi?
Zakładając f(A)=X+Y gdy maszyna porusza się osobno w osi X lub Y jest git bo A porusza się z tą samą prędkością i akceleracją, lecz gdy poruszający się razem XY(krzywa, łuk) to już lipa!!
Pewnie jest jakaś formuła, która by to ogarneła!!!!
Mach posiada wiele sposobów sterowania głowicą ale niestety w tym zastosowaniu żaden mi nie pomoże.
A gdy zacznę pisać do każdej maszyny innego rodzaju pliki to przy piątej już tego nie ogarnę :)

[ Dodano: 2009-04-25, 22:31 ]
Zaraz zaraz przecież f(A)=X+Y powinno działać .
Gdy przyrasta tylko X przyrasta A a na przekątnej dodaje przyrosty X i Y i daje na A Puls o dobrej wartości.
Tylko co na łukach ? Muszę to jutro podpiąć i sprawdzić.
G-kody w czwartej połówce czyli f(A)=(-X)+Y ,czy dobrze kombinuje??

: 25 kwie 2009, 22:47
autor: qqaz
Tak dokładniej to:
A=pierwiastek(Xkwadrat + Ykwadrat)
Tylko dlaczego Gkod z informacją o A ma coś złego robić w maszynie która nie obsługuje osi A. Zwyczajnie ją pominie. I zmodyfikowane Gkody powinny chodzić też w starszych wersjach sterowania - tak mi się wydaje ale kolega łatwo to zweryfikuje.
Ale z innej beczki. Jak wyobrażasz sobie wyjęcie z maszyny wartości X oraz Y i z nich skorzystania? Impulsy STEP w obu osiach w postaci szpilek na wtyczce LPT są nieprzydatne - muszą być przetworzone a na to nie ma czasu gdy już maszynka idzie. Będzie wtedy tylko jakieś przybliżenie i to oscylujace - raz za duże , raz za małe, czyli finalny efekt taki jak dotychczas. Niestety trzeba ingerować w Gkod.

: 25 kwie 2009, 23:10
autor: RadoslawStalowy
Zaraz zaraz, przecież nic nie muszę wyciągać.
W Machu w zakładce formuły zaznaczam uruchom wpisuję formułę ,którą kolega zweryfikował na oś A ,dedykuję piny dla osi A i mam gotowy sygnał dla serwa głowicy bez zmiany istniejących plików (a jest ich już setki i stąd problem).
Sygnał napewno generuje bo sprawdzałem,można nawet wykonać test po wpisaniu formuły, zprawdze tylko jak to wyjdzie w praktyce.
Musze przyznać ,że Mach jest przydatny i w dużych i małych zastosowaniach, nie żałuję dwóch zakupionych licencji,

: 26 kwie 2009, 15:53
autor: qqaz
Zawsze się czegoś ciekawego można dowiedzieć. Można bliżej z tymi formułami?. Tak krok po kroku jak kolega ma zamiar to zrobić?

[ Dodano: 2009-04-26, 16:29 ]
jasne, dla Macha 3, a ja szukam w M2

: 26 kwie 2009, 18:50
autor: RadoslawStalowy
Tak w Mach3 , wszystko chodzi fajnie nawet gdy wpiszę w formułę A=-X+Y ,oś A generuje Step ,który mogę wykorzystać do napędu mojej głowicy .
Tylko jak za pomocą klawiatury wpisać formułę A=pierwiastek z Xkwadrat+Ykwadrat???, bo ta będzie najodpowiedniejsza (choć nie idealna).
Może kolega ma plan jak to "klawiszowym slangiem" ma wyglądać??
Napisałem nie idealna bo na łukach G2 G3 będzie to prędkość od punktu początkowego do końcowego łuku "po prostej" czyli mniejsza niż faktyczna prędkość posuwu, musiałbym wprowadzić do formuły parametry I,J ale to mnie przerasta!!!
Po pierwszych próbach jestem zadowolony a ten drobny uchył jest do przełknięcia.
.........Teraz doczytałem w formule nie można użyć parametrów I,J.......lekka lipa!
Jest jakiś pomysł na dopracowanie mojego planu??

[ Dodano: 2009-04-26, 18:57 ]
no nie taki "drobny uchył" przy dużym łuku jest znaczna różnica...........i kolejna nie przespana noc.........

: 26 kwie 2009, 19:53
autor: qqaz
A=(x^2+y^2)^0.5
RadoslawStalowy pisze: .........Teraz doczytałem w formule nie można użyć parametrów I,J.......lekka lipa!
Jest jakiś pomysł na dopracowanie mojego planu??

[ Dodano: 2009-04-26, 18:57 ]
no nie taki "drobny uchył" przy dużym łuku jest znaczna różnica...........i kolejna nie przespana noc.........
wracamy do modyfikacji Gkodu