Znaleziono 23 wyniki

autor: ezbig
31 lip 2013, 22:36
Forum: Mach 2 / 3 / 4 (ArtSoft software)
Temat: równoczesna praca kilku osi
Odpowiedzi: 111
Odsłony: 8205

Przecież pokazałem jak pisać kod na wszystkie osie, aby było niezależnie. To raczej nie jest sterowane mach-em, ale w mach-u poradziłby sobie tak jak opisałem to wcześniej. Tylko w przypadku takiej maszyny nie wiem jak to potem odnieść do osiąganego kształtu.

To mi łatwie sobie w mach-u wyobrazić:
[youtube][/youtube]
autor: ezbig
31 lip 2013, 13:36
Forum: Mach 2 / 3 / 4 (ArtSoft software)
Temat: równoczesna praca kilku osi
Odpowiedzi: 111
Odsłony: 8205

k-m-r1 pisze:I dalej wszyscy mącicie w około a nie ma konkretów
Napisałem krok po kroku jak to tworzyć. Napisałem konkretny g-kod do tego, a ty dalej swoje. Jeśli osie dodatkowe ABC działają tak jak napisałem (a tego nie jestem pewien) to napisz jaki chcesz ruch mieć w tych dodatkowych, osiach to ci dopiszę. Skoro rozmawiamy czy "da się" to rozmawiamy o zasadach. Konkrety to już wykorzystanie tych zasad.
autor: ezbig
30 lip 2013, 23:04
Forum: Mach 2 / 3 / 4 (ArtSoft software)
Temat: równoczesna praca kilku osi
Odpowiedzi: 111
Odsłony: 8205

grze pisze:A więc, czy można ustawić równoczesną pracę 3/5 osi z różnymi prędkościami? :mrgreen:
Pozostałe są obrotowe, a na tym to już się nie znam (jeszcze nie korzystałem z nich i ne zgłębiałem tematu). Domyślam się tylko, że jak zadam jakiś kąt obrotu, to jest on zsynchronizowany z czasem ruchu w pozostałych osiach. Bo chyba już żadnej interpolacji tu nie ma. Zakładając że tak jest, to wcale nie byłoby takie trudne policzenie dodatkowych osi. W zasadzie to nic nie trzeba liczyć.

Chcesz osiągnąć konkretną prędkość w osi A to musisz podać taki skok wartości, aby na danym odcinku czasu uzyskać wymaganą prędkość. Trochę masło maślane :). Chodzi o to, że jak pozostałe osie jadą przez 60 sek., a chcesz uzyskać prędkość 100 dla tej osi, to skok wartości kąta musi być: 100 x 360 st / skok śruby na tej osi w mm (czyli wyjdzie F100 dla tej osi). Małym utrudnieniem jest to, że ruch dla niej może trwać np. 30 sek. - musimy w takim przypadku dodać nowy przedział czasowy (tak jak to robiłem w poprzednim przykładzie przy zmianach prędkości i kierunków osi) i podzielić 60 sekundowy ruch pozostałych osi na dwa 30 sekundowe odcinki. W pierwszym będzie dopisana oś obrotowa, a w drugim już nie.

Niech mnie ktoś oświeci czy dobrze myślę z tymi osiami obrotowymi - czy są one tylko zsynchronizowane, czy też uczestniczą w jakiejś interpolacji?
autor: ezbig
29 lip 2013, 20:27
Forum: Mach 2 / 3 / 4 (ArtSoft software)
Temat: równoczesna praca kilku osi
Odpowiedzi: 111
Odsłony: 8205

grze pisze:pierwsza i trzecia wypowiedź wydaje mi się że wszystko na temat
Wydaje ci się, a zobacz ile było wątpliwości. Wszystko, to opisujesz konkretny ruch osi (prędkości, jakie przesunięcia, czy to się ma powtarzać). Najlepiej w punktach jak byś pisał przepis na ciasto (lub inaczej, napisz algorytm ruchu). Mi się wydaje, że dobrze zrozumiałem o co ci chodzi, ale widać każdy rozumie inaczej pewne niedookreślenia. Sam już teraz mam wątpliwości.

Jakbyś napisał co konkretnie ta maszyna ma robić, to byłoby mniej pisania i gdybania. Np. lepi pierogi, wbija gwoździe czy zaplata warkocze. To jakaś tajemnica handlowa?
autor: ezbig
29 lip 2013, 13:24
Forum: Mach 2 / 3 / 4 (ArtSoft software)
Temat: równoczesna praca kilku osi
Odpowiedzi: 111
Odsłony: 8205

:) a bo to pierwszy taki temat? Często ktoś o coś zapyta nieskałdnie, ludzie znajdują coraz wymyślniejsze rozwiązania. Każdy swojego broni, a autor chciał tak, z ciekawości zapytać i boi się teraz odezwać, bo mu to do niczego nie było potrzebne :)
autor: ezbig
29 lip 2013, 09:33
Forum: Mach 2 / 3 / 4 (ArtSoft software)
Temat: równoczesna praca kilku osi
Odpowiedzi: 111
Odsłony: 8205

Napisałem na końcu bardzo istotną uwagę. Program musi być skonfigurowany tak, żeby silniki pracowały bez rampy. W mach-u wiem że to możliwe, a chyba linuxCNC też pozwala na takie ustawienie. Przy małych prędkościach to możliwe. Chyba, że niezależnie od tego program i tak staje na każdej linii kodu (ale chyba tak to nie ma).
autor: ezbig
29 lip 2013, 04:05
Forum: Mach 2 / 3 / 4 (ArtSoft software)
Temat: równoczesna praca kilku osi
Odpowiedzi: 111
Odsłony: 8205

grze pisze:Mnie zależy na ustawieniu różnych prędkości dla trzech osi /nieduża maszynka, nie ploter/, czyli jena oś idzie z prędkością np f150 o zadaną wartość następie się cofa, druga porusza się z prędkością f50 też o zadaną wartość i trzecia z f100. Zależy mi aby osie pracowały równocześnie.
Nie wiem tomcat65 czy celowo pominąłeś "/nieduża maszynka, nie ploter/", bo dla mnie to istotna informacja, że to jest jakaś maszyna, ale nie jest to ploter. Wszyscy się zafiksowali, że to ma być jakaś udziwniona frezarka, czy tokarka, gdzie osie pracują w powiązany sposób. Przecież ta maszyna może równie dobrze przesuwać jakieś pudełka.
tomcat65 pisze:I nie wiadomo czego się trzymać, czy stałej prędkości w osiach,co da zawsze jednoznaczny ruch po przekątnej prostopadłościanu, czy stałej wypadkowej prędkości.
Przecież z punktu g-kodu to zawsze będzie ruch po przekątnej prostopadłościanu o stałej wypadkowej prędkości. W wyniku czego planer w mach-u czy linuxCNC wygeneruje ruch silników z prędkościami posuwu wcześniej zakładanymi. Tylko to opisuje nam jeden mały fragment kiedy wszystkie silniki jadą w jedną stronę. Cały ruch to nie tylko wypadkowa, ale i złożenie kilku ruchów.

Każda sytuacja zakończenie ruchu osi lub zmiana kierunku to nowa linia kodu. Zmiana kierunku dla osi to w praktyce - jeśli np. Z szło od 0 do 100, to teraz musi wrócić do 0. W przestrzeni wektor prędkości wypadkowej obróci się, ale składowe wartości bezwzględne prędkości po XYZ będą te same (czyli X i Y idą do przodu, a Z będzie teraz wracać). grze nic nie pisze, że przy powrocie powrocie zmienia się prędkość, ale to nie jest problem (tylko wtedy trzeba będzie policzyć nową prędkość wypadkową dla wszystkich osi).

Każde zatrzymanie jednej osi wymaga nowej linii g-kodu i obliczenia nowej prędkości wypadkowej.

Weźmy dane z tego co podał grze:
1. "jedna oś idzie z prędkością np f150 o zadaną wartość następie się cofa"
- niech to będzie oś X, nie ma zadanej wartości - niech będzie 90, cofa chyba do 0
2. "druga porusza się z prędkością f50 też o zadaną wartość"
- niech to będzie oś Y, nie ma zadanej wartości - niech będzie 75
3. "i trzecia z f100"
- oś Z, nie ma zadanej wartości - niech będzie 45

Zbierzmy to razem:
F150 X0 -> X90 -> X0
F50 Y0 -> Y75 -> stop
F100 Z0 -> Z45 -> stop

Teraz tłumaczymy na właściwy g-kod:

1. Najpierw trzeba określić czasy ruchów osi.

F150 X0 -> X90 - 0,6 min, X90 -> X0 - 0,6 min
F50 Y0 -> Y75 - 1,5 min
F100 Z0 -> Z45 - 0,45 min

2. Mamy punkty na osi czasu, gdzie się coś zmienia (silnik staje lub zmienia kierunek) - tworzymy g-kod.

0 - 0,45 min - kończy ruch oś Z, a w tym czasie:
- X przejedzie do 0,45 x 150 = 67,5
- Y przejedzie do 0,45 x 50 = 22,5

Liczmy prędkość wypadkową jak jadą wszystkie osie:

F= sqrt(150^2+50^2+100^2)= 187,08

piszemy:

F187,08
G1 X67,5 Y22,5 Z45

0,45 - 0,6 min - oś Z stoi, oś X zmieni kierunek, ale zanim to zrobi dojedzie do 90,
a Y przejedzie do 0,6 x 50 = 30

Liczymy prędkość:

F= sqrt(150^2+50^2+0^2)= 158,11

kolejna linia:

F158,11
G1 X90 Y30

0,6 - 1,2 min - kończy ruch oś X na 0, oś Y przejedzie 1,2 x 50 = 60

Prędkość wypadkowa się nie zmienia (dalej 158,11)

kolejna linia:

G1 X0 Y60

1,2 - 1,5 min - oś X stoi, oś Y kończy ruch na 75

Dla jednej osi prędkości nie trzeba liczyć, ale jak ktoś chce to może policzyć ;) - wyjdzie 50

kolejna linia:

F50
G1 Y75


Cały kod:

Kod: Zaznacz cały


G0 X0 Y0 Z0

F187,08 G1 X67,5 Y22,5 Z45
F158,11 G1 X90 Y30
F158,11 G1 X0 Y60
F50 G1 Y75

Mam nadzieję, że się tam gdzieś nie machnąłem po drodze :). Prościej już tego rozpisać chyba nie umiem. Może ktoś to sprawdzi na maszynie, sam jestem ciekaw (tylko maszyna musi sterować silnikami bez rampy, bo nic z tego nie wyjdzie).
autor: ezbig
28 lip 2013, 22:47
Forum: Mach 2 / 3 / 4 (ArtSoft software)
Temat: równoczesna praca kilku osi
Odpowiedzi: 111
Odsłony: 8205

W zasadzie to autor powinien określić co on rozumie przez "równocześnie". Ja milcząco założyłem, że równocześnie startują i poruszają się z różnymi prędkościami, a skoro mają różne prędkości odcinki do pokonania to nie muszą się równocześnie zatrzymać. Chyba że drogi zostaną tak dobrane, że to nastąpi. W każdym bądź razie moje wywody uwzględniają dowolną sytuację "równoczesności".
autor: ezbig
28 lip 2013, 22:12
Forum: Mach 2 / 3 / 4 (ArtSoft software)
Temat: równoczesna praca kilku osi
Odpowiedzi: 111
Odsłony: 8205

tuxcnc pisze: Jeśli w jednej osi miało by jechać tam i z powrotem, a pozostałe tylko tam i wszystko w określonym czasie, to faktycznie to co napisałeś miało by sens, ale trzeba by było założenia zrobić w jednej osi, a resztę osi dopasować.
Czyli 2*Y/t=X/t=Z/t .
Mając zadane wszystkie przesunięcia i prędkość (lub czas) w jednej osi, pozostałe prędkości wychodzą z układu równań i nie można ich dowolnie założyć.
To tutaj jest problem, bo z tego co autor wątku napisał, można wywnioskować że żąda rzeczy niemożliwej.
Ja zrozumiałem, że chce kręcić silnikami z prędkościami, które są ustalone i wykonuje nimi konkretne powtarzalne ruchy. Napisałem przykład prosty, ale te ruchy mogą być dowolnie skomplikowane. Można określić prędkość dla każdej osi niezależnie, można ustalić odcinki przejazdu osi też niezależnie. Można też zatrzymywać dowolne silniki jak się chce. W tym układzie można wszystko określić, nie wiem dlaczego uważasz, że prędkości pozostałych osi są uzależnione od pozostałych. Ja pokazałem, że nie są zależne.
autor: ezbig
28 lip 2013, 20:43
Forum: Mach 2 / 3 / 4 (ArtSoft software)
Temat: równoczesna praca kilku osi
Odpowiedzi: 111
Odsłony: 8205

tuxcnc pisze:Miałeś pojechać tam a nie jakieś ruchy frykcyjne robić.
Chyba już wątek ci się urwał, bo takie założenia przedstawiał autor na początku, więc to uwzględniłem. Jaki masz problem z "pojechaniem tam"? Jak ruch ma się zatrzymać w osi Y to wystarczy przeliczyć nowe prędkości dla pozostałych, a Y niech stoi.

[ Dodano: 2013-07-28, 20:45 ]
grze pisze:Mnie zależy na ustawieniu różnych prędkości dla trzech osi /nieduża maszynka, nie ploter/, czyli jena oś idzie z prędkością np f150 o zadaną wartość następie się cofa, druga porusza się z prędkością f50 też o zadaną wartość i trzecia z f100. Zależy mi aby osie pracowały równocześnie.

Wróć do „równoczesna praca kilku osi”