Programowanie maszyn sterowanych numerycznie CNC, podstawy programowania parametrycznego dla sterowników FANUC i Sinumerik, porady, wskazówki, przydatne wzory i tabele, podstawy obsługi aplikacji CAD/CAM oraz symulatorów CNC.

G02, G03 - interpolacja kołowa

G02, G03 – interpolacja kołowa

Wykonywanie łuków za pomocą interpolacji kołowej G02/G03, jest jedną z podstawowych czynności programistycznych dla obrabiarek CNC. Kluczem do prawidłowego zaprogramowania takiej obróbki jest znajomość kilku elementów :
Tabela otworów pod gwint

Tabela otworów pod gwint

Otwory pod gwinty – tabela doboru wierteł pod gwinty
Alfabet CNC

Alfabet CNC

Znajomość alfabetu CNC, czyli gkodu (g code) , jest czymś, bez czego nie można myśleć o profesjonalnym programowaniu maszyn CNC. Oczywiście bycie dobrym programistą to również posiadanie wiedzy z zakresu materiałoznawstwa, czy matematyki, ale gkod jest swego rodzaju ‚spoiwem’, które łączy wszystkie te elementy w jedną, funkcjonalną całość – program....


Znalazłem ostatnio w pracy chwilkę czasu na zabawę parametrami i „uczyniłem” programik, który raczej nikomu się nie przyda, ale który fajnie pokazuje, jak prostymi środkami (parametrami) można ułatwić sobie życie (czyt. zafundować sobie kilka godzin laby).

Często tokarze podrzucają nam szczęki, z prośbą o sfrezowanie w sposób jak na załączonym obrazku, podając z reguły kąt β (beta), oraz wymiar A.


jaw_drawing
Dotychczas wyglądało to tak, że po zamocowaniu takiej szczęki pod odpowiednim kątem w imadle, frezowanie przeprowadzało się „z ręki”, sprawdzając suwmiarką wymiar ‚A’, czy jest już taki, jak oczekujemy. Oczywiście żadna szczęka, a jest ich 3 w zestawie, nie była taka sama. A wymiar ‚A’ nie zawsze był idealny (choć to na szczęście w niczym nie przeszkadzało). Nie muszę oczywiście wspominać, że w ten sposób spędzało się przy maszynie kilka ładnych godzin. Stąd też pomysł na program.

jaw_drawing3

Korzystając z prostych zależności trójkąta, można wyliczyć głębokość, na jaką musimy sfrezować każde naroże szczęki, aby otrzymać oczekiwaną wartość A (czerwona linia na rysunku – oznaczmy ją jako Z). Mając kąt β (beta), wiemy, że wartość kąta α (alfa) wynosi:

α = 90 - β

Korzystając z z trygonometrii, wyznaczamy równanie na Z:

sinα= Z/x >> Z = xsinα

Możemy również wyliczyć wartość x, z prostego równania:

B = A + 2x >> x = (B-A)/2

Podstawiając powyższe do naszego równania na Z. ostatecznie otrzymujemy:

Z = sinα(B-A)/2
inaczej
Z = sin(90-β)(B-A)/2

Wystarczy teraz każdą zmienną w równaniu (β,B,A) przyporządkować parametrom.

#1=β
#2=B
#3=A

Nasze równanie, będzie więc wyglądało tak:

Z = sin(90-#1)(#3-#2)/2
inaczej
Z = sin[90-#1]*([#2]-[#3])/2

Niestety Fanuc ma problemy z liczeniem bardziej złożonych równań, tak jak to nasze. Musimy więc rozbić je na części składowe i każdej z nich przyporządkować parametr:

#7=[#3]-[#2]
#8=#7*SIN[90-#1]
#9=#8/2

Oczywiście możemy przydzielić parametry takim elementom jak nasza baza w Z0 (punkt startowy), wartośc kolejnych zagłębień narzędzia (w naszym przypadku 0,5mm), czy dystans na jakim będziemy frezować (u nas wynosi on 150mm). Mając wszystkie powyższe parametry, piszemy program:


%
O1003(JAWS)

G00G90G80G40G17
G21
G54G00G90

N1T1M6
M01
G00G90X0Y0S1000M03
G43H1D1Z50.M08
G0Z5.

G1Z0F100

(***** ALTER VARIABLES IF NEEDED *****)
#1=30(ANGLE OF CUT)
#2=40(JAW WIDTH)
#3=10(MACHINED END WIDTH)

#4=-0.5(DEPTH OF ONE CUT)
#5=150(DISTANCE FOR ‚Y’-JAW DIM + TOOL DIAM + SAFETY GAP)
#6=0(BASE POINT)

(***** DO NOT ALTER *****)
#7=#2-#3
#8=#7*SIN[90-#1]
#9=#8/2
#10=#6-ABS[#4]

G1Z[#6]
N666G1X0Y0F100
G1Z[#10]
G91G1Y-[#5]
G90
#10=#10-ABS[#4]
#11=ABS[#9]-ABS[#10]
IF[#11LT0]GOTO999
G1Z[#10]
G91G1Y[#5]
G90
#10=#10-ABS[#4]
#11=ABS[#9]-ABS[#10]
IF[#11GE0]GOTO666

N999G0Z5.
G0Y0
G1Z-[#9]F100
G91G1Y-[#5]
G90

G00G90Z100.M09
G53Z0M19
G53X400.Y-2.
M30
%

Powyższy program, po przetestowaniu, został „żywcem” ściągnięty z maszyny, zawiera więc komentarze w jęz. angielskim, za które przepraszam. Mam nadzieję, że wszystko jest mimo to jasne i zrozumiałe.

IMG_0103IMG_0102

Poprzedni wpisDraftSight, darmowa alternatywa dla AutoCAD

Skomentuj

Musisz by zalogowany by moc komentowa..