Metodyka programowania toru narzędzia według zadanej krzywej

27
Metodyka programowania toru narzędzia według zadanej krzywej Łukasz Pietras

description

Metodyka programowania toru narzędzia według zadanej krzywej. Łukasz Pietras. Interpolacja liniowo-kołowa. - PowerPoint PPT Presentation

Transcript of Metodyka programowania toru narzędzia według zadanej krzywej

Metodyka programowania toru narzędzia według zadanej krzywej

Łukasz Pietras

Interpolacja liniowo-kołowaInterpolacja tego typu stosowana jest powszechnie

w układach sterowania obrabiarek CNC. Umożliwia programowanie fragmentów prostoliniowych oraz łuków.

Często zdarza się, iż zarys obrabianych przedmiotów składa się z zarysów bardziej skomplikowanych takich jak:

• spirale• elipsy• sinusoidy• ewolwenty• itp.

Aproksymacja

Metoda polegająca na zastąpieniu zarysu teoretycznego zarysem złożonym z odcinków prostych lub łuków. Liczba i długość odcinków zależeć będzie od błędu aproksymacji wyrażającego dopuszczalne odchylenie zarysu teoretycznego od zarysu otrzymanego po aproksymacji.

Przykład aproksymacji okręgu za pomocą odcinków prostych

Metody aproksymacji stosowane w programowaniu CNC:

• Obliczenia ręczne (np. generowanie punktów w arkuszach kalkulacyjnych)

• Parametryczne programowanie• Obliczenia CAD/CAM (tzw. Postprocesing)

Programowanie parametryczne

Jest bardzo podobne do powszechnie stosowanych języków programowania komputerowego. Programowanie składa się z pętli, zmiennych, wyrażeń arytmetycznych, zastosowanych skoków do poszczególnych bloków, instrukcji warunkowych, podprogramów i wielu innych.

Etapy opracowania programu

1. Analiza matematyczna krzywej,2. Opracowanie algorytmu pracy programu,3. Zapis programu w języku układu sterowania

CNC,4. Testowanie i weryfikacja programu

bezpośrednio na układzie sterowania CNC.

Programowanie spirali Archimedesa

xo - przesunięcie początku spirali w osi X,

zo - przesunięcie początku spirali w osi Z,

C - stała charakteryzująca szybkość wzrostu promienia wodzącego,j - kąt określający położenie promienia wodzącego spirali (kąt bieżący),r - promień wodzący,x - współrzędna x punktu bieżącego,z - współrzędna z punktu bieżącego.

Porównanie

Na powyższych rysunkach przedstawiono różnicę w jakości odwzorowania spirali, w zależności od zagęszczenia punktów aproksymacji. Po lewej stronie widoczne odcinki proste, po prawej stronie widoczne jest wygładzenie.

Algorytm pisania programu do spirali• xo=100 => R1 podstaw wartość 100 pod parametr R1• zo=100 => R2 podstaw wartość 100 pod parametr R2• C=0.1 => R3 podstaw wartość 0.1 pod parametr R3• Dj=10 => R4 podstaw wartość 10 pod parametr R4 (zmiana kąta

bieżącego)• jp=0 => R5 podstaw wartość 0 pod parametr R5 (początkowy kąt spirali)• jk=360 => R6 podstaw wartość 360 pod parametr R6 (końcowy kąt spirali)• j=jp => R7 ustaw wartość początkową kąta bieżącego (czyli R7=0)• N100 WHILE jjk K200 początek pętli: DOPÓKI jjk wykonuj następne bloki• w przeciwnym razie skocz do bloku N200• r=Cj oblicz bieżący promień spirali• x= rsin j + x0 oblicz współrzędną x punktu bieżącego• z= rcos j + z0 oblicz współrzędną z punktu bieżącego• Wykonaj ruch narzędzia na obliczone współrzędne (x, z),• j = j + Dj powiększ kąt bieżący• Skocz do bloku N100• N200 M30 koniec programu

Kod programu dla kąta do 360⁰%123N10 G90 S400 M03 (ustawienie parametrów pracy obrabiarki)N20 G54 G71 G95N30 T1 D1R1=100 R2=100 R3=0.1 (podstawienie parametrów zadania)R4=10 R5=0 R6=360R7=R5 (ustawienie początkowej wartości kąta bieżącego)N100 @136 R7 R6 K200 (pętla WHILE; dopóki R7R6 wykonuj pętlę)N110 R8=R3*R7 (obliczenie wartości promienia bieżącego)N160 @630 R9 R7 (obliczenie funkcji sinus: R9=sin R7)N170 @631 R10 R7 (obliczenie funkcji cosinus: R10=cos R7)R11=R8*R9+R1 (obliczenie współrzędnej X punktu bieżącego)R12=R8*R10+R2 (obliczenie współrzędnej Z punktu bieżącego)G1 X=R11 Z=R12 F0.3 (ruch roboczy narzędzia z interpolacją liniową)R7=R7+R4 (powiększenie kąta bieżącego R7 o wartość R4)@100 K-100 (koniec pętli, skok bezwarunkowy - powrót do bloku

100)N200 G53 T1 D0N210 M30 (koniec programu)

Elipsa

Cykloida

Krzywe Lissajous

Krzywe Lissajous powstają w wyniku złożenia dwóch ruchów drgających w kierunkach wzajemnie prostopadłych o częstościach kołowych p i q, gdzie p i q są liczbami całkowitymi.

)sin( 11 tpAx

)sin( 22 tqAy

Krzywe są wpisane w prostokąt, którego środek pokrywa się z początkiem układu współrzędnych. Boki prostokąta są równoległe do osi 0X i 0Y i położone są po ich obu stronach w odległościach równych odpowiednio A1 i A2. Stosunek częstości drgań p i q jest równy stosunkowi liczby punktów styku krzywej Lissajous z dwoma bokami prostokąta mającymi wspólny wierzchołek czyli bokami równoległymi odpowiednio do osi 0Y i 0X.

N5 G90 S400 M03 (ustawienie parametrów pracy obrabiarki)N15 G54 G71 G94N20 T1 D1 F300R1=75 (ampliduda A1)R2=50 (ampliduda A2)R3=1 (wartość p)R4=3 (wartość q)R5=1 (wartość )R6=90 (wartość kąta 1)

R7=0 (wartość kąta 2)

R8=0 (wartość początkowa parametru t=t1 )

R9=360 (wartość końcowa parametru t=t2 )

R10=0.5 (przyrost parametru t )R11=R8 (chwilowa wartość parametru t )R20=360 (parametr pomocniczy )R29=360 (parametr pomocniczy )N50 @136 R11 R9 K400 (wykonuj instrukcje wewnątrz pętli dopóki t<=t2 )

N60 R12=R3*R5*R11+R6 (obliczenie wartości nawiasu R12=(p t+1 ))

N70 @125 R12 R20 K100 (jeżeli wartość R12=(p t+1 )360 skocz do N100)

N80 @630 R30 R12 (obliczenie wartości funkcji sinus)N90 R16=R30*R1 (mnożenia przez amplitudę R16=A1*sin(p t+1 )

N95 @100 K200 (skok do bloku N200)N100 R13=R12/R29 (dzielenie wartości R12 przez 360)N110 @622 R13 (obliczenie części całkowitej)

N120 R14=R13*R29 (mnożenie części całkowitej przez 360)N130 R15=R12-R14 (R15 jest kątem zredukowanym <360 stopni)N150 @630 R30 R15 (wartość f. sinus ze zredukowanego kąta R15)N160 R16=R30*R1 (mnożenie przez amplitudę R16=A1*sin(p t+1 )

N200 R17=R4*R5*R11+R7 (obliczenie wartości nawiasu R17=(q t+2 ))

N220 @125 R17 R20 K250 (jeżeli wartość (q t+2 )360 skocz do N250)

N230 @630 R31 R17 (obliczenie wartości funkcji sinus)N240 R18=R31*R2 (mnożenia przez amplitudę R18=A2*sin(q t+2 )

N245 @100 K300 (skok do bloku N300)N250 R19=R17/R29 (dzielenie wartości w nawiasie przez 360N260 @622 R19 (obliczenie części całkowitej)N270 R21 R19*R29 (mnożenie części całkowitej przez 360))N280 R22=R17-R21 (wynik R21 zostaje odjęty od wartości nawiasu R17)N290 @630 R31 R22 (wartość f. sinus ze „zredukowanego” kąta R22)N295 R18=R31*R2 (mnożenia przez amplitudę R18=A2*sin(q t+2 )

N300 G01 X=R16+90 Z=R18+190 (ruch na obliczone współrzędne + przesunięcie)N310 R11=R11+R10 (do parametru t zostaje dodany przyrost tN320 @100 K-50 (powrót do bloku N50)N400 M30 (zakończenie programu)

CAD/CAM

• Procesor – jest początkowym etapem programowania. Zadaniem procesora jest: Odczytać program napisany w specjalnym języku programowania. Następnie rozwiązanie instrukcji technologicznych pierwszego poziomu. Wyznaczenie trajektorii ruchu narzędzi z uwzględnieniem korekty toru ze względu na ich promień. Utworzenie danych pośrednich.

• Postprocesor – zajmuje sie tłumaczeniem danych zawartych w procesorze na dane maszynowe. Innymi słowy postprocesor zamienia kod źródłowy na kod sterujący w odpowiedniej maszynie

Computer Aided Manufacturing

Oprogramowanie typu CAM (Computer Aided Manufacturing – komputerowo wspomagane wytwarzanie) – umożliwia generowanie programów technologicznych, praktycznie dla dowolnych części, na podstawie utworzonego wcześniej modelu geometrycznego oraz wprowadzonych informacji technologicznych.

System GTJ jest przeznaczony do autonomicznego programowania obrabiarek sterowanych numerycznie. Pozwala on rozwiązywać zarówno problemy geometryczne (wyliczanie ich współrzędnych punktów, profili) jak i technologiczne (korzystanie z wcześniej zdefiniowanych baz danych, materiałowych i narzędziowych) występujące przy projektowaniu procesów technologicznych na obrabiarkach CNC.

Opis technologii obróbki polega na zdefiniowaniu narzędzia kreśleniu zakresu wykonywanych nim cykli. Dane narzędzia (wymiary, parametry skrawania itp.), mogą być zadawane w programie lub te_ pobierane przez procesor GTJ ze specjalnie w tym celu utworzonych, baz danych narzędziowych. Przetwarzanie programu opisującego obróbkę części, napisanego w języku GTJ, odbywa sie dwuetapowo, przez procesor języka GTJ, a następnie przez postprocesor dopasowujący wyniki pracy procesora do wymogów konkretnej obrabiarki CNC.

Procesor ma za zadanie odczytywanie napisanego programu obróbki części, sprawdzenie ewentualnych bledów i ich identyfikacja, obliczanie geometryczne i wydruk postaci kanonicznej elementów określonych w programie obróbki wyznaczenie trajektorii ruchów poszczególnych narzędzi, utworzenie danych pośrednich CLP (Command Line Processing)

Postprocesor ma za zadanie sprawdzenie możliwości realizacji danych CLF (Cutter Location File) na danej obrabiarce, formatowanie bloków programu sterującego obróbka, zapis gotowego programu w pamięci dyskowej. Struktura instrukcji GTJ jest językiem alfanumerycznym2 i składa sie z instrukcji pisanych w oddzielnych liniach, z których każda posiada swój numer.

Przykład