Znaleziono 2 wyniki

autor: achcnc
25 gru 2017, 20:31
Forum: LinuxCNC (dawniej EMC2)
Temat: Pisanie G-code pod LinuxCNC
Odpowiedzi: 123
Odsłony: 59855

Re: Pisanie G-code pod LinuxCNC

Nie mogę się opanować ;-)
Toczę na kle. Program dochodzi do zmiany narzędzia. Odsuwam kieł , zdejmuję wałek, mocuję czujnik, mocuję ręcznie nóż, zeruję, odsuwam czujnik, zakładam wałek, dosuwam kieł ... Tylko o co chodziło temu gościowi, który coś wspominał o jakimś jednym uchwycie, chyba majaczył ... I kto by tam się tą osią Z przejmował ...

Czyli podsumowując, jak nie mam precyzyjnego imaka szybkozmiennego, to każde wkręcenie noża jest zasadniczo nowym nożem, który muszę skalibrować. Generanie nie bardzo mam na czym ani jak, bo program mi stoi na zmianie narzędzia i jak na razie to w czasie działania G-codu ręczne sterowanie w celu wyzerowania nie bardzo widzę. Ale może się mylę. Stąd było moje pytanie, czy w takim wypadku dzielić program na dwa, a "pomiędzy" pobawić się w kalibrowanie nowego noża, czy też da się to zrobic "pośrodku"?

Zszedłem do tokarki i widzę, że nóż dochodzi do 1/3 uchwytu (od skrzyni przekładniowej patrząc).
Mając jakieś tam sterowanie osią obrotu wrzeciona (encoder + falownik/inverter/pwm - aczkolwiek zakładam na razie tylko encoder i obrót ręką) mogę ustawić wrzeciono tak, że nóż ma do dyspozycji boczną powierzchnię do zerowania X i czołową powierzchnię do zerowania Z.

LinuxCNC z G-code umożliwia automatyczne zerowanie (akurat widziałem dla zerowania frezu we frezarce na pinach zwrotnych sterownika poprzez zwieranie, aczkolwiek na czujniku wychyłu będzie dokładniej), ale pewnie musiałbym podłożyć przed pomiarem płytki stykowe, izolowane od uchwytu, które po dotknięciu narzędziem zamykają obwód. Albo opuszczane ramię z czujnikiem odchylenia dwukierunkowym, jak na filmie "adam Fx". Nie wiem, jak przepuszczają prąd spieki ceramiczne, stąd czujnik wychyłowy. Nie wiem czy czujnik "Czujnik wysokości/długości narzędzia Mach3 CNC" się nada, ale płytka pomiarowa na magnesie neodymowym, przykładana na czas pomiaru bardziej mi się podoba. ALE jak nie styk nie styknie, to coś się musi ugiąć, i chciałbym zdobyć czujnik z czujnikiem właściwym i awaryjnym wyłącznikiem - po zbyt głębokim wjechaniu w czujnik. Jeden dopasowany do krzywizny walca uchwytu, a drugi płaski. Chyba muszę sobie zrobić ...
Obrazek Obrazek

Problem jest jeden - jest to poza zakresem bezpiecznym ruchu (bezkolizyjnym z wrzecionem), definiowanym jako prostokąt. Jest na to jakieś rozwiązanie w LinuxCNC? Specjalny zakres do zerowania? Już to widzę: Jedna definicja tokarki do zerowania, druga do toczenia i taki hip-hop. W sumie jest to nawet jakieś rozwiązanie dla amatorskiego wytoczenia czegoś raz na miesiąc ... o ile działa.

A jeśli chodzi o kod typu "G38.2 Xcoś F25", to nie mam jak sprawdzić na symulatorze ... Po ustawieniu w pozycji max od osi i jak najbliżej skrzyni, nóż ma się posuwać do czujnika i ustawić aktualną odległość końca narzędzia od osi obrotu. Analogicznie Z. Zgodnie z dokumentacją LinuxCNC działa, przykład trochę innego użycia w katalogu examples/smartprobe.ngc ("skaner 3D"). Jeszce nie wiem, co znaczą te "506x" ...

Kod: Zaznacz cały

G38.2Z#8
(LOG,G1 X#5061 Y#5062 Z#5063) 
ale się dowiem.
Czy ktoś tak robi, czy wydziwiam? Gdybe te zmienne (wartości) dało się wpisywać dynamicznie we właściwości narzedzia, to nie trzeba parametryzować kodu różnicą w długości narzędzi.

I jeszcze te wredne noże do toczenia z lewa na prawo, albo z czubkiem gdzieś w centrum. Zeruję na kwadrat i poprawka zmierzona ręcznie, wbita w definicję noża (np. płytka okrągła - połowa średnicy to przesunięcie zera na stałe wbite)?
autor: achcnc
23 gru 2017, 00:03
Forum: LinuxCNC (dawniej EMC2)
Temat: Pisanie G-code pod LinuxCNC
Odpowiedzi: 123
Odsłony: 59855

Re: Pisanie G-code pod LinuxCNC

Zakładając, że w końcu zmienię moją tokarkę DIY0820 (zwaną hobby 500 itp.) na CNC, to mam wcześniej pytanie. Jak ustawiać położenie czubka narzędzia? W osi X, gdyby nie ten przeszkadzacz w postaci konika, to bym na końcu łoża dojechał do czujnika w osi wrzeciona i miałbym pozycję X. Potem odrobinę w lewo (albo w prawo) i mam pozycję Z z prostopadłego czujnika (podłączone do sygnałów zwrotnych płyty sterującej). Z tego dostaję 0 czubka noża. I bym to wrzucił w program? Offsetem?
Ale mam konika.
Wracam do pozycji bazowej i toczę od wybranego offsetu (czy tak?). Toczę w stali nożem do toczenia zgrubnego. Dochodzę do "zmień narzędzie na nóż do toczenia wykańczającego". I co teraz z punktu widzenia G-code?
a) wykazując nadprzyrodzone zdolności umieszczam nowy nóż dokładnie tak samo, jak poprzednika
b) wrzucam procedurę wykrywania położenia (demontuję przy tym konika przez anihilację - żeby nie uszkodzić czujnika)
c) korzystam z czujnika laserowego zamocowanego na sztywno w przestrzeni i o dziwo działa
d) robię jak zwykle - dosuwam ręcznie do czegoś walcowatego, aż nie zacznie dotykać, zapamiętuję pozycję, odjeżdżam ręcznie, mierzę średnicę i odległość "czymś tam" i wprowadzam do programu jako parametry, punkt odniesienia się przesuwa (offset?) i jedziemy.
e) kończę stary program i zaczynam nowy program "wykańczak", starając się wcześniej wyzerować nóż identycznie jak poprzedni

Pytanie, jak to zrobić? A dokładniej jak to zrobić systemowo, standardowo, bo przez wklejenie wartości do przeliczenia jako zmienne w programie pewnie się da. Ewentualnie czy zmieniacie narzędzia w tokarce w programie G-code? Czy z uwagi na wskazany problem mam pod CNC wszystko od początku do końca toczyć jednym nożem, np. płytką VCMT?

Przykład:
Jeszcze bazowanie i offset. Mam pole robocze symulatora tokarki -100, 5 (x) i -200, 5 (z) (aczkolwiek powinno chyba być trochę inaczej, bo jak przejadę na drugą stronę osi X?) . Ustawiam offset X na 100 i mam parametry osi X od osi obrotu. "g0 x5" odsunie nóż o 5 mm od osi w stronę tokarza i na podglądzie mam parametr "Dia" 10, co jest tym, o co walczyliśmy. Teraz zmieniam nóż na taki 2mm dłuższy. Zmieniam offset na 98, czy tak? Wtedy rozjadą mi się wskazania na ekranie, ale toczyć będzie poprawnie. Tyle, że offsetu w czasie działania programu w trybie krokowym nie mogę zmienić ... Jeśli w stosunku do aktualnej pozycji poprzedniego noża, to zmieniam offset o -2. A jak od bazy, to 98 (baza na 0,0). Czy to jest zgodne ze sztuką?

Przykład 2

Wrzucam wirtualną stalkę do toczenia walca. Wirtualnie wystaje mi na 10mm od punktu "0" osi X w stronę osi obrotu wrzeciona. Tokarka ma pole robocze -110,5 i -200, 5 . Ładuję symulator tokarki.
I teraz co jakimi parametrami mam ustawić, żeby było dobrze i wygodnie. Jak zbazuję na 0,0 i dam offset X 100, gdzie oś obrotu wrzeciona mam na -10, to jest to ustawienie do "0" noża wzorcowego. Mogę dać offset "100 - wystawanie_noża" i będzie dobrze, ale czy tak właśnie się powinno robić?

Jak wygląda sekwencja przygotowania do uruchomienia G-code?
1. mocuję wałek
2. nawiercam nawiertakiem
3. podpieram kłem
4. Wałek zaczyna się mniej więcej na Z-37
5. Zakładam nóż.

Jeśli wałek ma 40 mm średnicy, a chcę przetoczyć na 38mm na długości 150mm, to sam G-code to trywiał, ale jak zadaję parametry startowe noża w tym wypadku? Musiałem go obmierzyć wcześniej? Toczę płytko, mierzę i wprowadzam poprawkę dla noża, licząc na palcach? Jako Offset X? Początek wałka na Z też jako offset? Kamar wspominał o przycisku. Jak w tym wypadku można go użyć? Tylko do offsetu osi Z?


Czy też trzeba polubić parametryzowanie całego kodu aktualnie zmierzonym przesunięciem geometrii narzędzia?

Wróć do „Pisanie G-code pod LinuxCNC”