zerowanie/bazowanie - skypt/działanie w mach3?

Dyskusje dotyczące najpopularniejszego programu sterującego maszynami CNC

Autor tematu
Hrumque
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 291
Rejestracja: 25 mar 2013, 19:15
Lokalizacja: Opole

zerowanie/bazowanie - skypt/działanie w mach3?

#1

Post napisał: Hrumque » 08 cze 2014, 09:05

Pod przyciskiem "ref all" jest sobie skrypcik, który bazuje wszystkie osie. To całkiem dobrze działa... ale mogło by pewnie lepiej.
W moim przypadku bazowanie mam na czujnikach, które są równocześnie krańcówkami "endstop" (X min, Ymin oraz Zmax), i problemem bywa to, że niezależnie od ustawionej (w homing) prędkości bazowania (lub inaczej dojazdu do soft-limitów, oraz ich rozmiaru w mm) podczas bazowania "przejeżdża" mi maszyna za daleko. Potem oczywiście wraca, ale...
Wygląda to tak, jakby odpowiedź na sygnał z czujnika była opóźniona, ale to nie prawda. Na oscyloskopie widzę, że od wyzwolenia krańcówki do zniknięcia STEP mija jakieś 0.5s, i odległość jaką "przejeżdża" MACH za daleko - dokładnie tyle samo cofa i ustawia jako zero, z całkiem przyzwoitą powtarzalnością.
Chciałem znaleźć w ustawieniach ten zakres "przejeżdżania" przez zero w celu bazowania, ale nigdzie nie widzę... Więc chciałem obejrzeć skrypt bazujący (zwłaszcza że jest pod przyciskiem edytowalnym), ale tam tylko:

Kod: Zaznacz cały

DoButton( 24 )
DoButton( 23 )
DoButton( 22 )
DoButton( 25 )

DoOEMButton(133)
DoOEMButton(134)
DoOEMButton(135)
co prosto się tłumaczy przez screen-editora (DoButton(24) = Zero_Z, itd), ale nadal nie wiem gdzie siedzi/jak wygląda skrypt Zero_Z bo może w nim jest to jakoś zaszyte?



Tagi:


bubels
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 2
Posty: 523
Rejestracja: 15 sie 2004, 23:24
Lokalizacja: Poznań

#2

Post napisał: bubels » 08 cze 2014, 10:24

Pamiętaj o tym że twój napęd ma jakąś rampę przyśpieszenia i hamowania.
W momencie kiedy dostaje sygnał o tym że znajduje się nad pozycją home mach rozpoczyna procederu wyhamowania. Wiedząc już dokładnie ile kroków mija od pozycji home do faktycznego zatrzymania napędu wraca o tą samą ilość kroków z kontrola czy znów zadziałała krańcówka home.

Zaznaczam że nie używam Macha ale na zdrowy rozsądek to jest najskuteczniejsza forma rozwiązania problemu precyzyjnego bazowania.
Apeluje o wpisywanie lokalizacji w profil! Czasem okazuje się że mieszkamy po sąsiedzku. Jako pasjonaci, hobbyści możemy sobie pomóc nie tylko anonimowo przez forum....


Autor tematu
Hrumque
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 291
Rejestracja: 25 mar 2013, 19:15
Lokalizacja: Opole

#3

Post napisał: Hrumque » 08 cze 2014, 11:22

bubels pisze:Pamiętaj o tym że twój napęd ma jakąś rampę przyśpieszenia i hamowania.
W momencie kiedy dostaje sygnał o tym że znajduje się nad pozycją home mach rozpoczyna procederu wyhamowania. Wiedząc już dokładnie ile kroków mija od pozycji home do faktycznego zatrzymania napędu wraca o tą samą ilość kroków z kontrola czy znów zadziałała krańcówka home.

Zaznaczam że nie używam Macha ale na zdrowy rozsądek to jest najskuteczniejsza forma rozwiązania problemu precyzyjnego bazowania.
No to brzmi rozsądnie (sprawdzę wpływ prędkości % w softlimits na ten czas opóźnienia), ale w takim razie przydałoby się osobne ustawianie prędkości bazowania oraz prędkości "w niebezpiecznej odległości od limitu" - albo po prostu własny skrypt bazowania, z własną logiką zwolnienia odpowiednio wcześniej (albo np z kilkukrotnym najazdem i uśrednieniem pozycji wykrytej) itd. Bo tak - jak ustawie prędkość przy limitach na 1% - to będzie mi okrutnie zwalniać przy normalnej pracy (gdzie mógbły jeździć dużo szybciej, a bazowanie robi się rzadko i na spokojnie - więc lepiej by było powolne...


bubels
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 2
Posty: 523
Rejestracja: 15 sie 2004, 23:24
Lokalizacja: Poznań

#4

Post napisał: bubels » 08 cze 2014, 12:18

Moim zdaniem ten algorytm wynika między innymi z tego że nigdy nie wiesz skąd będziesz jechał na ten home.

Idealna sytuacja była by wtedy gdy przed home była by krańcówka dzięki której napęd program "wiedział by" jestem 50mm przed i zwalniam tak by wjechać z minimalną prędkością na home. Za tym oczywiście jeszcze emgr_limit zabezpieczający.

Tylko tu problem rodzi lpt ze zbyt małą ilością I/O. Stoi więc jeszcze wielki potencjał i spory rynek do zagospodarowania w dziadzinie zewnętrznych kontrolerów usb/eth.

Uruchomiłem teraz ploter 3150x2200 z prędkościami przejazdowymi na poziomie 25m/min a to daję 416mm/s. Napęd ma taką moc że nie "stanie" na kolizji.

Przypadkowo skosiłem wystającą śrubę m8 wyginając ją w idealną literę L i napęd nie zatrzymał się (prędkość 12m/min). Tu krańcówka by nie pomogła bo to wina operatora (moja).

To obrazuje że przy pewnych konstrukcjach niezawodność krańcówek jest priorytetową sprawą. Bo gdy operator zawiedzie kolizja skończy się serwisem.
Apeluje o wpisywanie lokalizacji w profil! Czasem okazuje się że mieszkamy po sąsiedzku. Jako pasjonaci, hobbyści możemy sobie pomóc nie tylko anonimowo przez forum....


Autor tematu
Hrumque
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 291
Rejestracja: 25 mar 2013, 19:15
Lokalizacja: Opole

#5

Post napisał: Hrumque » 08 cze 2014, 22:26

bubels pisze:Moim zdaniem ten algorytm wynika między innymi z tego że nigdy nie wiesz skąd będziesz jechał na ten home.
No nie, jakoś mniejwięcej wiadomo - najpierw Z-tka (by była jak najwyżej), potem reszta osi, i wiadomo przecież (jakieś tam machine coordinates mamy) gdzie jesteśmy, tak plus-minus, i są softlimity ustawione - jak jestem mam np X na 400mm, to wystarczy że profilaktycznie 350mm od potencjalnej krańcówki zwolnię, i jej "szukam po omacku" (jakby się coś rozkalibrowało i nie była w 0 tylko +/- te kilkanaście mm w bok). Raczej nie biorę pod uwagę, że ktoś odłączy zasilanie, i ręcznie zakręci napędem na drugi koniec stołu (a nawet jakby - to są endstopy dające gruby halt)
Idealna sytuacja była by wtedy gdy przed home była by krańcówka dzięki której napęd program "wiedział by" jestem 50mm przed i zwalniam tak by wjechać z minimalną prędkością na home. Za tym oczywiście jeszcze emgr_limit zabezpieczający.
Tylko tu problem rodzi lpt ze zbyt małą ilością I/O. Stoi więc jeszcze wielki potencjał i spory rynek do zagospodarowania w dziadzinie zewnętrznych kontrolerów usb/eth.
No mam kartę USB, 16 wejść, z czego 1 to e-stop, 6szt to krańcówki (ale można by je spiąć nawet razem, do jednego wejścia bo to tylko endstop), 3szt to bazowanie xyz, 1szt to sonda touch-probe, 1szt to sonda długości narzędzia. Jeszcze mam 4 wolne, a mogę mieć 9 wolnych. Tylko po co komplikować mechanikę, jak tutaj wystarczy trochę logiki dodać. (bo tą bardziej skomplikowaną mechanikę i czujniki - też by trzeba dodatkowo oskryptować przecież)

Uruchomiłem teraz ploter 3150x2200 z prędkościami przejazdowymi na poziomie 25m/min a to daję 416mm/s. Napęd ma taką moc że nie "stanie" na kolizji.

Przypadkowo skosiłem wystającą śrubę m8 wyginając ją w idealną literę L i napęd nie zatrzymał się (prędkość 12m/min). Tu krańcówka by nie pomogła bo to wina operatora (moja).

To obrazuje że przy pewnych konstrukcjach niezawodność krańcówek jest priorytetową sprawą. Bo gdy operator zawiedzie kolizja skończy się serwisem.
No to są jeszcze przecież sprzęgła zrywalne/z uślizgiem przy przekroczeniu momentu, można zastosować. Albo zdublować bezpieczeństwo krańcówki w czysto hardwarowy sposób (choćby zwierające STEP w pozycji ostatecznej nieprzekraczalnej). Zabezpieczeń można wiele, byle nie przesadzić, i nie tworzyć upierdliwości, bo zaraz się okaże że jakiś pomysłowy operator je poobchodzi/wyłączy, by ułatwić sobie pracę...

ODPOWIEDZ Poprzedni tematNastępny temat

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