Strona 1 z 4

Zero maszynowe

: 06 lis 2020, 15:49
autor: tuxcnc
Napotkałem problem i nie wiem co o nim myśleć.
Otóż używałem do tej pory Linuxcnc i tam było tak jak być powinno.
To znaczy w pliku konfiguracyjnym podawało się dla każdej osi HOME_OFFSET, czyli odległość od krańcówki referencyjnej do początku maszynowego układu współrzędnych, który dzięki temu był ustalony jednoznacznie i niezależnie od innych ustawień.
Teraz kupiłem sobie chińską frezareczkę CNC3018, którą steruje GRBL a krańcówek referencyjnych w standardzie nie ma.
Po zamontowaniu krańcówek puściłem cykl HOME i maszyna pojechała w kierunku +X,+Y, czyli szukała krańcówek w prawym górnym rogu stołu.
To jeszcze nic strasznego, bo może komuś pasować akurat tam je umieścić ...
Ponieważ jest możliwość odwrócenia kierunku szukania krańcówek, więc to zrobiłem i maszyna zbazowała się prawidłowo, znaczy się najechała na krańcówki i wróciła po milimetrze.
Niestety tutaj pojawił się problem, bo współrzędne maszynowe pokazywały X-199,Y-199,Z-1.
O ile w zetce niech sobie będzie minus jeden, to w X i Y wartości kompletnie z sufitu.
Zacząłem szukać HOME_OFFSET, ale w tym sterowaniu czegoś takiego nie ma.
Po dość długich i nerwowych poszukiwaniach sprawa się wyjaśniła.
Otóż GRBL uważa że zero maszynowe jest w górnym prawym rogu stołu, a jeśli krańcówki referencyjne są w lewym dolnym rogu stołu, to są w pozycji minus X soft limit i minus Y soft limit.
Faktycznie, Chińczyk uznał że skoro krańcówek nie zamontował, to limitów też nie musi ustawiać i było 200,200,200, czyli kompletnie od czapy.
Po wpisaniu limitów 301,181,35 wszystko zaczęło mieć ręce i nogi, czyli po bazowaniu maszyna stawała w pozycji maszynowej -300,-180,-1.
Nawiasem mówiąc, jest to także dokładnie pozycja Z-probe.
Gdyby to tylko o to chodziło, tobym sprawę olał i po prostu pamiętał że czujnik wysokości narzędzia jest w takich właśnie koordynatach maszynowych.
Tylko tyle, że ja w takich sprawach jestem zasadniczy i nie toleruję ukrytych zależności pomiędzy parametrami.
Raz w życiu udało mi się przefrezować stół, właśnie dlatego że jakiś debil piszący program sterujący wymyślił sobie dwa niezależne offsety osi Z (to był program do plotera obsługujący pliki HPGL).
Tutaj jest podobna sytuacja, zmieniając soft limity przesuwa się maszynowy układ współrzędnych, co się musi skończyć pięknym dzwonem przy pomiarze narzędzia.

Najzwyczajniej uważam, że taka sytuacja jest niedopuszczalna.

A teraz do rzeczy.
Poszukałem informacji na forum GRBL i się dowiedziałem, że to jest przemysłowy standard, tak musi być, a jak mi się nie podoba, to sobie mogę przekompilować GRBL.
No to chciałbym się spytać, czy faktycznie ktoś się z tym spotkał i we wszystkich maszynach ruch w maszynowym układzie współrzędnych odbywa się na ujemnych wartościach X,Y,Z i tylko LInuxcnc jest tutaj wyjątkiem ?
A jak to jest na maszynach przemysłowych ?

Re: Zero maszynowe

: 06 lis 2020, 16:39
autor: Steryd
Nudzisz się.
Faktycznie większość maszyn wszystkie współrzędne maszynowe ma w -, chodzi o pomyłkę braku znaku
(stąd też jest zasada w programowaniu że Z0 przyjmuje się w najwyższym miejscu).

Re: Zero maszynowe

: 06 lis 2020, 16:57
autor: tuxcnc
Steryd pisze:
06 lis 2020, 16:39
chodzi o pomyłkę braku znaku
A tego to nie rozumiem.

Re: Zero maszynowe

: 06 lis 2020, 17:14
autor: TOP67
A dlaczego chcesz zmieniać soft limity? To jest raczej stała wartość dla konkretnej maszyny.
Zresztą oś Z, która jest najbardziej wrażliwa na dzwony, masz dobrze (krańcówka u góry).

To -1 w osi Z, to nie jest zero maszynowe, tylko właśnie -1. Zero jest dokładnie w momencie gdy zadziałała krańcówka.

Re: Zero maszynowe

: 06 lis 2020, 19:15
autor: tuxcnc
Chyba się nie rozumiemy.
Mówiąc przykładowo, mam w rogu pokoju kwiatek. Wydaje mi się oczywiste, że jednoznacznie określę jego położenie podając odległość od ścian, natomiast ktoś mi każe mierzyć od szafy i łóżka.
Owszem, mebli raczej nie przestawiam, ale przecież mogę to zrobić.
Wracając do frezarki, mam na stałe zamontowane krańcówki referencyjne, mam na stałe zamontowany Z-probe, mam ruch we współrzędnych maszynowych G53, czyli wszystko co potrzeba żeby trafić frezem w czujnik niezależnie od używanych offsetów.
Teraz ktoś mi mówi, że jak przestawię SOFT limit, to będę musiał przepisać wszystkie programy najeżdżające na czujnik przez G53, bo krańcówki są gdzie były, czujnik jest gdzie był, ale adres się zmienił.
No i to podobno jest standard i inaczej być nie może.
Więc pytam czy faktycznie jest na to jakaś norma, czy tylko komuś się tak wydaje ?

Re: Zero maszynowe

: 06 lis 2020, 20:28
autor: TOP67
Tylko po co masz przestawiać Soft Limity?
Standardem jest to, że zero znajduje się w prawym górnym rogu stołu, a współrzędne maszynowe nigdy nie przyjmują dodatnich wartości. Same krańcówki można umieścić z dowolnej strony, bo znając wymiary maszyny (zapisane w soft limit), łatwo obliczyć przeciwną wartość.

Jedynie w osi Z czasami przestawiam soft limit. Normalnie mam taki, żeby nie zarysować stołu. Ale czasami potrzebuję coś przewiercić na wylot nad rowkiem teowym i wtedy zwiększam limit.

Re: Zero maszynowe

: 06 lis 2020, 21:41
autor: tuxcnc
TOP67 pisze:
06 lis 2020, 20:28
Tylko po co masz przestawiać Soft Limity?
(...)
Jedynie w osi Z czasami przestawiam soft limit. Normalnie mam taki, żeby nie zarysować stołu. Ale czasami potrzebuję coś przewiercić na wylot nad rowkiem teowym i wtedy zwiększam limit.
Drugi raz zadajesz to samo pytanie, a potem sam sobie odpowiadasz ...
No w takim stylu to ciężko będzie dyskutować ...
Tak, po to są SOFT limity, żeby ich używać w zależności od potrzeb.
Natomiast zero maszynowe jest stałą i niezmienną cechą danej maszyny.
I to w tej stałej niezmienności leży problem, bo czy zero jest na rogu czy na środku stołu, to się można przyzwyczaić, ale kiedy raz jest tu a raz tam, to nie da rady.
Poza tym to nie pytam jak jest w GRBL, bo już się dowiedziałem.
Pytam czy jest na to jakaś norma, albo inne logiczne wytłumaczenie tego kretyńskiego pomysłu z przeliczaniem soft limitów na zero maszynowe.

Re: Zero maszynowe

: 08 lis 2020, 12:05
autor: tuxcnc
Dzisiaj znalazłem kolejną konsekwencję tej kretyńskiej konwencji.
Otóż nie wiedziałem dlaczego bCNC tak idiotycznie wyświetla podgląd ...
Teraz stało się to jasne.
Jeżeli zero maszynowe jest w prawym górnym rogu stołu, to dowolny program operujący na dodatnich współrzędnych X,Y musi znajdować się poza stołem.
Wygląda to np. tak :
Obrazek
Po wydaniu polecenia G92X199Y199 zaczyna wyglądać normalnie :
Obrazek
Ale po przerwaniu połączenia z maszyną wraca do kretyńskich ustawień :
Obrazek
To się dzieje na takim testowym GRBL skompilowanym z domyślnymi ustawieniami i nie podłączonym do żadnej maszyny. (200x200x200 to domyślna wielkość przestrzeni roboczej)

Mnie już naprawdę przestaje interesować czy to faktycznie jest jakiś standard, po prostu zaczyna mnie ta funkcjonalność wyprowadzać z równowagi i mam w planach przekompilować GRBL żeby się jej pozbyć.
Ciekawe tylko jak będzie z wgraniem do chińskiego kontrolera, bo gniazdka do programatora to tam chyba nie ma ...

Re: Zero maszynowe

: 08 lis 2020, 13:19
autor: TOP67
Powinno dać się przeprogramować normalnie przez USB i Arduino IDE.

Re: Zero maszynowe

: 08 lis 2020, 15:28
autor: tuxcnc
TOP67 pisze:
08 lis 2020, 13:19
Powinno dać się przeprogramować normalnie przez USB i Arduino IDE.
Też tak myślę, ale teraz zmiana planów.
W bCNC są parametry $140-$142 (offsety krańcówek bazowych), które nie są zapisywane do GRBL, ale zmieniają podgląd.
Wygląda na to, że wpisując tam same zera dostaję to co chcę, czyli znacznik narzędzia ustawia mi się po milimetrze od krańcówek, co odpowiada faktycznemu położeniu narzędzia nad Z-probe, a g-kod jest wczytywany zgodnie z zerem układu G54, czyli X+11 i Y+6 od krańcówek, a na dolnym lewym rogu stołu (tak mam ustawiony offset G54).
Jest to intuicyjne i niczego nie trzeba przeliczać.
Niestety sam bCNC intuicyjny nie jest i trudno dojść co jest od czego i dlaczego.
Teraz męczę się z Z-probe, wszystko idzie w dobrą stronę, ale powoli.
bCNC ma też oczywiste zalety, jest lekki, ma sporo funkcji i nawet podgląd z kamery, co jest naprawdę użyteczną funkcjonalnością. Kamerkę zamówiłem typu "endoscope" o średnicy 5,5mm, da się ją wcisnąć tak że nawet widać jej nie będzie.
Niestety problem powiązania współrzędnych maszynowych z soft limitami pozostaje.

Obrazek