Quick G-Code Arc Tutorial: gör G02 & G03 lätt, undvik misstag

cirkulär interpolering är rörelse längs en cirkulär båge

har precis avslutat diskussionen linjär interpolering, eller rörelse i en rak linje, kommer vi nästa till cirkulär interpolering, vilket är rörelse längs en cirkulär båge. Annat än den ganska exotiska förmågan att följa en ”NURBS”-väg, stöder de flesta g-kodkontroller bara två typer av rörelse: linjär och cirkulär. Cirkulär interpolering är ganska lite mer krävande på din maskin eftersom två axlar måste samordnas exakt. Att rita en komplett cirkel innebär inte bara samordnad rörelse utan omvänd riktning vid var och en av de 4 kvadrantpunkterna. Dessa skulle vara de punkter som motsvarar 0, 90, 180 och 270 grader. Om maskinen har någon motreaktion alls, det kommer att vara uppenbart vid dessa omkastningar eftersom det kommer att bli ett fel i snittet där.

cirkulär rörelse är ett läge initierat via G02 och G03

liksom linjär rörelse (initierad av G00 och G01) är cirkulär rörelse ett läge initierat via G02 eller G03. G02 etablerar ett läge för medurs cirkulära bågar. G03 etablerar ett läge för moturs cirkulära bågar.

 G02 G03-lägen

definiera en båge för CNC-styrenheten

när antingen G02-eller G03-läget har upprättats definieras bågar i G-kod genom att identifiera deras 2 slutpunkter och centrum som måste vara lika långt från varje slutpunkt eller ett larm kommer att inträffa. Slutpunkterna är enkla. Den aktuella kontrollpunkten eller platsen när blocket startas etablerar en slutpunkt. Den andra kan fastställas av XYZ-koordinater. Centret är lite mer komplext.

definiera centrum Via IJK relativa förskjutningar

centret identifieras oftast genom att använda I, J eller K för att upprätta relativa förskjutningar från utgångspunkten för bågen till mitten. Här är en typisk medurs båge:

definiera en båge

definiera en bågs centrum med IJK…

denna båge börjar vid X0Y2 och slutar vid X2Y0. Det är centrum är på X0Y0. Vi kan ange det i g-kod så här:

G02 (Ställ in medurs bågläge)

X2Y0 I0J-2.0

I och J anger relativa koordinater från startpunkten till mitten. Med andra ord, om vi lägger till i-värdet till startpunktens X och J-värdet till startpunktens Y, får vi X och Y för mitten.

definiera mitten Via radien med ”R”

vi kan också definiera mitten bara genom att ange cirkelns radie. I detta fall, vår cirkel har en radie av 2, Så g-koden kan vara helt enkelt:

G02

X2Y0 R2

många av er kommer att besluta just här och nu att eftersom R är lättare att förstå och kortare att skriva, kommer du bara att använda R och glömma IJK. Men CNC-lärarna i världen kommer att föreslå att du föredrar IJK. Deras argument är att när du använder IJK får du en dubbelkontroll att din båge är korrekt.

varför?

eftersom styrenheten får beräkna en faktisk uppsättning koordinater för mitten via IJK. När den har centrumets koordinater kan den kontrollera att den är lika avlägsen från båda ändpunkterna. Kontrollen av var och en av dessa två avstånd är dubbelkontrollen. När det gäller ”R” – formatet har regulatorn ingen sådan dubbelkontroll. Det måste välja ett centrum som garanterar lika avstånd.

personligen vet jag inte Om jag håller med CNC-instruktörerna om att detta ger någon extra kontroll eller inte. Jag säger Gå med vilket tillvägagångssätt som är meningsfullt för din speciella situation, men du borde definitivt vara bekant och bekväm med båda. Du kommer att behöva vara bekväm med relativa koordinater ändå, eftersom de är förbaskade till hands. Kan lika gärna bli bekväm nu.

det är ungefär som att få höra att du bara ska använda 4-käftchucken på en svarv när du först börjar så att du blir väldigt bekväm att ringa in den. Det är en bra färdighet att vara bra på som maskinist!

variationer i Arc-Syntax för olika G-Koddialekter och lägen

när IJK inte är inkrementella och vad sägs om att ha både IJK och R? Plus, andra modala Shenanigans och Bågvariationer

Detta är en annan av de platser där massor av obskyra saker händer och du behöver veta vad din kontroller kommer att göra utan att anta någonting. I allmänhet ska regeln vara att om du har både IJK och R i samma block, har R företräde och IJK ignoreras. Men det finns kontroller som inte fungerar exakt så, så se till att du vet vad som händer.

g-Wizard Editor låter dig ange flera parametrar i sitt inlägg som bestämmer hur bågar fungerar. Här är en skärmdump av installationsalternativen:

Arc alternativ för G-kod simulering

Låt oss gå över dessa alternativ:

– inkrementell vs absolut IJK: vi har diskuterat IJK som erbjuder koordinater i förhållande till utgångspunkten för Centrum. Lägg till i till X, J till Y och K till Z från startpunkten och du får mitten. Många kontroller har också möjlighet att IJK ska vara centrumets absoluta koordinater.

det vanligaste problemet att konfigurera en CAM Post eller CNC Simulator: Absolut vs relativ IJK

vi har alla haft erfarenhet av att titta på en backplot (eller värre, se den i själva verktygsrörelsen som är ganska skrämmande) och se jätten nästan kompletta cirklar och inget tecken på de välbekanta delrörelserna vi förväntade oss att se. Här är ett typiskt exempel:

dåliga bågar

gravera fil med dåliga postinställningar för bågar…

om du ser den typen av saker är det första att kontrollera absolut kontra relativ IJK för bågar. Inställningen måste matcha mellan vad kammen producerar och vad styrenheten eller simulatorn förväntar sig.

Prova vår G-kod Simulator och redaktör, gratis

fraktioner av en cirkel, kvadranter och styrenheter

det första med en båge är att det inte är möjligt att ange mer än en 360 graders båge. Det finns några undantag från detta på vissa kontroller för spiralformad interpolering (se nedan), bara för att det kan vara användbart för helixer. När en hel cirkel önskas, Ställ in start – och slutpunkterna lika med varandra:

G01 X3.25 Y2.0

G02 X3.25 Y2.0 i-1.25 J0

intressant kan du inte ange en hel cirkel med ”R” – notationen. Detta beror på att det finns ett oändligt antal cirklar som börjar och slutar vid samma punkt i en viss radie, så regulatorn har ingen aning om vad rätt cirkel kan vara.

det finns mer roliga affärer fortfarande med” R ” och större bågar. Till exempel kan en båge fortfarande ha en viss radie och medurs (eller moturs), men mitten är tvetydig om du reser mer än 90 grader. Till exempel:

R plus eller minus

om R är negativ tar den längre sökvägen (i gult). Positiv blir den kortare vägen.

med tanke på de två val som visas väljer styrenheten sökvägen baserat på radiens tecken. Negativa krafter ju längre båge, positiva desto kortare. Det negativa tecknet tvingar regulatorn att söka en livskraftig båge på mer än 180 grader.

vissa styrenheter är fortfarande touchier och programmerar inte en båge som korsar en kvadrantlinje. Därför är den största vinkeln en båge kan följa 90 grader, och den vinkeln får inte korsa 0, 90, 180 eller 270 grader. För vinklar på 90 grader som korsar en kvadrantlinje måste de delas upp i två delar, med kopplingen mellan bitarna precis på kvadrantlinjen.

fulla cirklar utan XYZ

fulla cirklar uppstår när start-och slutpunkterna är identiska och mitten anges via IJK (kom ihåg att R leder till ett oändligt antal cirklar). Med tanke på att du vill att start-och slutpunkten ska vara densamma kanske du inte behöver bry dig om att ange slutpunkten med XYZ. Vissa kontroller kan kräva det, men de flesta gör det inte. Här är ett enkelt g-kodprogram som producerar 3 cirklar på detta sätt:

N45 G0 X-2. Y. 75
N46 G1 Z -.5 F10.
N47 Y. 5 F30. S2000
N48 G2 J-1.1
N49 G1 Y. 75
N50 Z. 2
N51 G0 X. 75 Y-3.4
N52 G1 Z-.5 F10.
N53 X. 5 F30.
N54 G2 I-1.1
N55 X. 75
N56 Z. 2
N57 G0 X-4.75 Y-3.4
N58 G1 Z-.5 F10.
N59 X-4,5 F30.
N60 G2 I1. 1
N61 G1 X-4,75
N62 Z. 2

och här är vad bakplotten ser ut:

bågar utan XYZ för hela cirklar i g-kod

Tips för att göra Arc-programmering enklare: Börja med segment

när jag lägger ut en verktygsbana föredrar jag att lämna bågarna till sist. I stället för varje båge sätter jag helt enkelt ett linjesegment vars slutpunkter motsvarar bågens slutpunkter. Detta gör det enkelt att snabbt få ihop den grova skissen av verktygsbanan, och det verkar ofta göra det lättare att sedan gå tillbaka och konvertera linjerna till bågar när grundstrukturen redan är på plats.

spiralformad interpolering

en spiral är en båge som kontinuerligt rör sig i en tredje dimension, som en skruvgänga. Med spiralformad interpolering specificerar vi en sådan båge med G02/G03 för att flytta skäraren längs en spiral. Detta kan göras för Gängfräsning, interpolering av ett hål eller en mängd andra ändamål. Här är en backplot från ett 1/4 ”NPT thread mill-program:

1/4" NPT trådkvarn

Helix för Gängfräsning…

här är ett exempel på koden från gängfräsprogrammet:

G01 G91 Z-0.6533 F100.
G01 G42 D08 X0. 0235 Y-0,0939 F10.
G03 X0. 0939 Y0. 0939 Z0. 0179 R0.0939
G03 X-0.1179 Y0.1179 Z0.0179 R0.1179
G03 X-0.1185 Y-0.1185 Z0.0179 R0. 1185
G03 X0.1191 Y-0,1191 Z0.0179 R0.1191 F16.
G03 X0. 1196 Y0.1196 Z0.0179 R0.1196
G03 X-0,1202 Y0.1202 Z0.0179 R0.1202 F26.
G03 X-0,1207 Y-0,1207 Z0.0179 R0.1207
G03 X0.1213 Y-0,1213 Z0.0179 R0.1213
G03 X0.1218 Y0.1218 Z0.0179 R0.1218
G03 X-0,0975 Y0.0975 Z0.0179 R0.0975

detta är ” R ” (radie) format för bågarna, och notera att det finns en Z-koordinat för att ange en djupändring för slutpunkten för varje båge. Denna kod använder relativ rörelse (G91), så varje ”Z0.0179″ flyttar skäraren 0.0179” djupare.

g-Wizard Editor ger några riktigt användbar information för att hjälpa till med att förstå Spiral interpolation. Här är tipset från den tredje raden (första bågflyttningen):

Tips för spiralinterpolering

notera trådhöjden här beräknas som 0,1 ”

GVI kommer att mäta och berätta för helixhöjden, som i detta fall är 0,100″. Det kan vara användbart för att identifiera vilken typ av tråd som mals. Vi kan också se att denna speciella båge går från 270 grader till en scosh mer än noll (0, 1 grader).

vi återkommer trådfräsning i mycket mer detalj i ett senare kapitel som helt ägnas åt ämnet. För tillfället ville vi bara att du skulle vara bekant med tanken att du kan göra helixer såväl som platta tvådimensionella bågar.

att göra verktygsbanor din maskin blir lyckligare med

när skäraren ändrar riktning, lägger den till en viss stress. Skäraren kommer att bita in i materialet antingen mer eller mindre än det hade varit, beroende på om riktningarna ändras mot arbetsstycket (eller oklippt material) eller bort från det. Din maskin blir mycket lyckligare om du programmerar en båge snarare än en plötslig rät riktningsändring. Även en båge med en mycket liten radie gör det möjligt för regulatorn att undvika att ändra riktning direkt, vilket kan lämna ett märke i mål i bästa fall och orsaka prat eller andra problem i värsta fall. För små riktningsändringar kan det inte vara värt det. Men ju mer abrupt förändringen, med 90 grader är mycket abrupt, desto större är sannolikheten att du ska använda en båge för att underlätta genom svängen.

bågar är också ett användbart sätt att komma in i snittet, snarare än att ha skärparen rakt in. För information om hur du går in i skäret med en båge, se verktygsbanan från kursen Fräsfoder och hastigheter.

övningar

1. Gräva ut din CNC-styrmanual och gå igenom arc-inställningarna för att ställa in GWE för att matcha din kontrolls sätt att fungera.

2. Gör lite Etch-A-sketch-experiment med GWE. Skapa några verktygsbanor som innehåller bågar tills du är bekväm att skapa dem.

Nästa Artikel: Kör Gwe G-Code Simulator

prova den kostnadsfria testversionen av G-Wizard G-Code Editor…