równoczesna praca kilku osi

Dyskusje dotyczące najpopularniejszego programu sterującego maszynami CNC

ezbig
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 23
Posty: 2103
Rejestracja: 07 lip 2006, 00:31
Lokalizacja: mazowieckie

#21

Post napisał: ezbig » 24 lip 2013, 15:05

Ja tam żadnych wzorów nie proponowałem, tylko podałem zasadę tworzenia tego ruchu z wektorów. Robienie tego na piechotę to masochizm, ale da się. Poza tym żeby napisać skrypt generujący taki g-kod to trzeba sobie to ręcznie przeanalizować. Tylko dla mnie mach czy linuxcnc w takim zastosowaniu to atrapa. To już od razu można sobie machnąć program w jakimś języku i sterować impulsami przez port lpt, jak już musimy zaprzęgać do tego komputer z monitorem. Zdaje się, że jest jakiś gotowy program, który zapala led-y przez lpt według zaprogramowanych sekwencji. Nic nie stoi na przeszkodzie, żeby podłączyć do tego sterowniki.



Tagi:


Autor tematu
grze
Posty w temacie: 9

#22

Post napisał: grze » 24 lip 2013, 15:31

MlKl pisze:Z wypowiedzi autora wynika, że chce jednocześnie sterować w czasie realnym trzema niezależnymi narzędziami, czy też osiami. Tymczasem program typu Mach steruje zawsze jednym narzędziem na raz, wszystkie osie są na sztywno dowiązane do wierzchołka narzędzia. Program przelicza, o ile każda z nich ma się przesunąć, by ten wierzchołek poruszał się zaprogramowaną trasą.

W LinuxCNC jest HAL, czyli warstwa pośrednia między interpreterem g-codu a sterownikami, którą można wykorzystać do zaprogramowania sterowników z pominięciem interpretera g-code. Wtedy każdy ze sterowników działa osobno według własnego rozkładu jazdy, i wszystkie robią to równocześnie.
Czyżby tylko jedna osoba zrozumiała o co pytałem?
prościej chyba się nie da.

Awatar użytkownika

MlKl
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 9
Posty: 3705
Rejestracja: 15 sie 2010, 13:44
Lokalizacja: Błonie
Kontakt:

#23

Post napisał: MlKl » 24 lip 2013, 16:06

Tutaj wszyscy są zaprogramowani monotematycznie :)

W każdym razie nie osiągniesz tego, co potrzebujesz, przez prosty g-code zinterpretowany przez Macha, czy LinuxCNC. Jeżeli nie boisz się wyzwań, i łatwo się uczysz, HAL z LinuxCNC jest rozwiązaniem. Tomcat sporo przesadza z tym straszeniem - Linux wcale nie jest ani taki trudny, ani się nie psuje tak łatwo.


Autor tematu
grze
Posty w temacie: 9

#24

Post napisał: grze » 24 lip 2013, 17:29

A co to takiego ten HAL?
dużo będzie kombinacji z tym co chcę zrobić w HAL LinuxeCNC?


tomcat65
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 15
Posty: 1242
Rejestracja: 15 lis 2009, 02:46
Lokalizacja: Olsztyn
Kontakt:

#25

Post napisał: tomcat65 » 24 lip 2013, 18:08

W "Odysei kosmicznej 2001" tez był HAL i były z nim problemy, więc nie wiem, czy warto sie w to pakować :twisted:


ma555rek
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 19
Posty: 1214
Rejestracja: 15 paź 2007, 00:45
Lokalizacja: nie ważne

#26

Post napisał: ma555rek » 24 lip 2013, 19:11

Grze, napisz wreszcie co chcesz aby te osie robiły.
Czy mają się jednocześnie przesunąć każda z własną prędkością,
i każda o określony , inny dla każdej odcinek
i startować oraz zatrzymać się mają jednocześnie?.
A następnie wrócić na początek?
I od nowa ta sekwencja i tak ciągle te same skoki?
NO NAPISZ COŚ WYRAŻNIEJ.
Pasjonat


Autor tematu
grze
Posty w temacie: 9

#27

Post napisał: grze » 24 lip 2013, 19:21

Wydaje mi się że jasno to opisałem ,ale precyzując dokładnie chodzi mi o to wszystko o co pytasz.


ma555rek
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 19
Posty: 1214
Rejestracja: 15 paź 2007, 00:45
Lokalizacja: nie ważne

#28

Post napisał: ma555rek » 24 lip 2013, 20:04

No to masz
maszynka :
ilość impulsów dla każdej osi np 100/1mm
(dla jasności aby się przesunęło o 1mm to program wygeneruje 100 impulsów do sterownika silnika.
pomijam rampy rozruchowe i ograniczenia predkości

trajektoria:
1 oś x --skok 100mm predkość 100mm/min
2 oś y --skok jakiś - prędkość 50mm/min

Program w osi x ruszy silnikiem i będzie to trwało przez czas T=S/V=100[mm] / 100[mm/min]=1[min]
Czyli po 1 min zatrzyma oś x
Ale chcesz aby w osi y było w tym czasie ileś tam mm ruchu z predkością 50mm/min
No to robimy
Mach będzie kręcił taką prędkość jaką sobie wyliczy z podanego w Gkodzie posuwu.
Ten posuw rozłoży na składową da osi X - i ma mu wyjść 100mm/min oraz na składową osi Y i ma mu wyjść 50mm/min
Ruch będzie trwał 1 min (m jak wcześniej wyliczyłem przyjmując jako podstawę oś X)
Czyli oczekiwane 50mm/min będzie wtedy gdy program będzie myślał że przez 1 min ma przesunąć punkt o 50 mm
tak więc postać Gkodu dla tego fragmentu wygląda tak:
g00
Fcoś tam - (później wyliczę
x100y50

Z tego ruchu program mysli że punkt wykona skok S=(x*x+y*y)exp2 ( pierwiastek z sumy kwadratów) czyli
S=(100*100+50*50)exp2=111,8mm
I ten skok ma być w czasie 1 min
Tak wiec do Gkodu trzeba wstawić posuw o wartości
F=111,8mm/1min czyli
f=111,8

G01F111,8
x100y50

Przy takim Gkodzie będziesz miał prędkość
dla x=100mm/min
dla y 50mm/min

Pozostaje tylko oczekiwania aby ruch na Y był w tym czasie na odcinku takim jakim chcesz
Ale zażądałeś aby to było jednocześnie - start i stop.
To oznacza że określony jest czas ruchu i z niego wyjdzie jaka będzie droga przy założonej predkości na osiach. i koniec
Możesz założyć ze osie mają wykonać określony skok w tym samym czasie - wtedy bedzie Ci się zmieniać odpowiednio prędkość na pozostałych osiach.

Dla trzech osi liczysz tak samo tylko trzeba trzecią oś wyliczyć wraz z wypadkową dwóch wcześniejszych.
A kol. Tomcat też może tym razem już ze "wzorów" coś skorzystać bo na razie to nie ogarnia.
Pasjonat

Awatar użytkownika

k-m-r1
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 12
Posty: 1417
Rejestracja: 23 cze 2008, 10:38
Lokalizacja: OOL lub DW
Kontakt:

#29

Post napisał: k-m-r1 » 24 lip 2013, 20:05

MlKl, czy możesz zapodać więcej informacji na temat HAL-a???
co to jest i z czym sie je jakie wymagania i możliwosci

grze, Można ustawić prace osi z różnymi prędkościami ale to w odpowiednich warunkach

jeśli chcesz pracować osiami z rożną predkoscią to nie problem ale problem będzie z odległością oraz synchronizacją ot wszystko na temat
[b]MACH3 cnc[/b]Tworzenie Makr do palników magazynków THC OHC inne[b]EKRANY dla firm producentów maszyn[/b] Budowa sprzedaż wypalarki plazma gaz obrotnice Elektrodrążarki Frezarki Tokarki Giętarki3D inne wg zlecenia 888 708 196 Tomek Komor [email protected]


tomcat65
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 15
Posty: 1242
Rejestracja: 15 lis 2009, 02:46
Lokalizacja: Olsztyn
Kontakt:

#30

Post napisał: tomcat65 » 25 lip 2013, 12:50

ma555rek pisze:kol. Tomcat też może tym razem już ze "wzorów" coś skorzystać bo na razie to nie ogarnia.
Kol. tomcat nie aspiruje do roli omnibusa i nie musi ogarniać wszystkiego, zwłaszcza wydumanych nazw na określenie prostych czynności. Ach, ta wymyślna nazwa - składanie wektorów. Tak jak pisuardesa zamiast babci klozetowej. Ktoś chciał błysnąć, a wyszło? no cóż. Bo co zaproponowano: Obliczanie drogi do przebycia w funkcji czasu czyli prędkość na podstawie zwykłego twierdzenia Pitagorasa, czyli a kwadrat pluc b kwadrat = c kwadrat. Rzeczywiście, komplikacja obliczeń taka, że BIGBLUE wysiada, o napisaniu g-kodu nie wspomnę, bo przekracza to ludzkie możliwości. Chwała Bogu jest ktoś kto to potrafi. Uf, świat uratowany :twisted:
Opisana metoda, choć szumnie nazwana, jest prostsza niż budowa cepa. Za to wyjątkowo upierdliwa, bo nie dość, że liczenie dla każdej linii kodu to jeszcze uwzględnianie najwolniejszej osi w danej konfiguracji. No gratulacje.
I co ważniejsze, wszystko to nie ma sensu.
Bo odpaliłem Mach'a i zrobiłem to, co pisałem na początku, czyli ograniczenie predkości osi. I działa to tak, jak powinno. Chcemy jechac osią x - jedzie 150, z - 50, czyli tyle ile ustawione. Żadna nie przekroczy założonej dla niej prędkości. Po przekątnych zgodnie z obliczeniami, które są niepotrzebne, bo program sam policzy. Jadąc przekątną kwadratu, szybsza oś zwalnia do wolniejszej, inaczej się nie da kol.ma555rek. Chyba, że w nieeuklidesowej przestrzeni. Ale na razie pracujemy w układzie kartezjanskim.
Czy znów zaproponujesz jakąś ekstarwagancko nazwaną teorię?

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Mach 2 / 3 / 4 (ArtSoft software)”