G-kode-kommandoer i 3D-print

G-kode eller G-kode. Du har sikkert hørt dette udtryk før eller læst det i ordlisten, hvis du har beskæftiget dig med 3D-printing før. I denne artikel vil jeg fortælle dig, hvad en G-kode er, og hvad den bruges til i 3D-printing. Jeg vil også vise dig, hvilke G-kode-kommandoer der er vigtige for dig, hvis du vil begynde at 3D-printe eller allerede er begyndt.

G-kode – hvad er det, og hvad bruges det til?

3D-printere kan ikke gøre meget med 3D-modeller i formaterne .stl, .obj osv. fordi de gemmer den geometriske form, men ikke hvordan 3D-printeren skal håndtere denne form. “Hvor hurtigt skal modellen udskrives i lag nummer 5?” og lignende spørgsmål skal besvares for 3D-printeren. Svarene findes i G-koden, som er 3D-printerens sprog. Kun med en G-kode ved printeren, hvad den skal gøre.

Sliceren oversætter 3D-modellen til G-koden og indsætter også maskinrelevante data. Disse blev defineret nøjagtigt til den anvendte 3D-printer. Det betyder, at den G-kode, du har oprettet til dit 3D-printerkit som f.eks. en Creality CR-10-printer, ikke vil fungere for din ven med en Ultimaker 2.

For at gøre dette skal de maskinrelevante indstillinger revideres. Disse omfatter f.eks. størrelsen af printbedet. Hvis denne indstilling er forkert, vil printeren starte midt i printbedet og måske endda uden for det hos din ven.

Det er derfor en fordel at have et grundlæggende kendskab til G-koder for at kunne forstå forkerte koder og om nødvendigt forbedre dem. Bemærk, at nogle kommandoer starter med bogstavet G, mens andre starter med et M.

De hyppigt anvendte G-kodekommandoer og deres betydning

I det følgende vil jeg vise dig, hvad den respektive G-kodekommando siger, hvilke individualiseringer der er mulige, og hvordan en sådan G-kodekommando kan se ud.

G1-Den lineære bevægelseskommando

Din 3D-printer udfører G1-kommandoen det meste af tiden. Derfor er det ikke dårligt at tage et nærmere kig på den. G1 fortæller din printer, at den skal bevæge sig i en lige linje til det næste punkt. Du kan bruge denne kommando til at styre en eller flere akser.

Bemærk: Ekstruderen styres som alle andre akser. Så du kan styre materialestrømmen (ekstrudering) og tilbagetrækningen af filamentet.

Værdier:
Hvis du angiver X, Y og Z, kan du fortælle printeren, hvilke punkter den skal bevæge sig til. Bemærk dog, at disse kommandoer udføres i henhold til positioneringstypen (absolut/relativ) og således enten bevæger sig til den nøjagtige koordinat eller afstanden til det aktuelle punkt.

Hvis du tilføjer en E-kommando, kan du bestemme, om 3D-printeren også skal ekstrudere undervejs, og i så fald hvor meget. Bemærk, at ekstruderingslængden henviser til det materiale, der presses ind i dysen af feederen. Så hvis du fortæller din printer, at den skal ekstrudere 10 mm, er den længde, der kommer ud af dysen, ikke 10 mm, men meget længere. Det skyldes, at filamentet har en diameter på 1,75 mm eller 2,85 mm, og at matricen normalt kun er 0,4 mm. Af denne grund er E-værdierne fra sliceren lavere end den afstand, som printeren skal bygge bro over.

F-kommandoen fortæller printeren, hvilken hastighed den skal bevæge sig med. Denne hastighed angives altid i mm/min, også selv om du har valgt mm/s i sliceren. Så du skal ikke blive overrasket, hvis G-koden indeholder de omregnede værdier.

Mange 3D-printere har kun brug for værdierne for de akser, der rent faktisk skal flyttes. Hvis du kun vil have X-aksen til at bevæge sig, skal du tilføje X og en F-værdi for hastigheden.

Eksempler:

G1 X0 Y0 F3000 Kør på varmesengen til punktet X=0, Y=0 med en hastighed på 3000 mm/min.
G1 Z10 F1000 Før Z-aksen til værdien Z=10mm med en hastighed på 1000 mm/min.
G1 X30 E10 F1600 Press 10 mm filament i dysen, mens du kører på varmesengen til punktet X=30 mm med en hastighed på 1600 mm/min.

G4 sætter trykket på pause i et bestemt tidsrum

Med kommandoen G4 har du mulighed for at sætte din printer på pause i et bestemt tidsrum.

Værdier:

P000 – Printeren venter i et bestemt tidsrum i millisekunder.

S000 – Printeren venter i et bestemt tidsrum i sekunder (denne kommando gælder kun for Repetier, Marlin, RepRap Firmware og Smoothieware)

Eksempler:

G4 P500 ; Vent 500 millisekunder og gør intet i tiden – I løbet af denne tid er alle printerparametre som f.eks. varmelagertemperatur osv. opretholdes, så du behøver ikke at bekymre dig om, at dit print bliver ødelagt.

G21-ændring af enheder i millimeter

Det burde ikke ske så ofte, at du skal bruge denne kommando, fordi næsten alle 3D-printere arbejder i denne enhed som standard. Det kan dog ikke skade at huske denne kode, hvis det ser ud til, at din printer er indstillet til tommer.

Værdier:

Ingen

Eksempel:

G21

G28-Tager homing igennem

Denne kommando sørger for, at din 3D-printer udfører den såkaldte homing. Ved homing vender printhovedet tilbage til sit “nulpunkt”, som det har nået, når det har nået slutstoppene for alle akser (X, Y og Z). Dette er vigtigt, fordi printhovedet vil have det samme startpunkt for hvert print. Banerne i G-koden er defineret fra dette startpunkt. Uden denne reference til et specifikt punkt ville 3D-udskrivning ikke være fornuftig. Ved afslutningen af et print udføres denne kommando også ofte. Dette gør det nemt at fjerne de 3D-printede modeller.

Værdier:
Hvis der ikke er angivet nogen værdier, kører printeren til slutstoppene for alle tre akser. Du kan dog også vælge, hvilke akser der skal køres til, ved blot at tilføje bogstaverne X, Y eller Z.

Eksempler:

G28 Homing for alle akser (X, Y og Z)
G28 X Y Homing for X- og Y-akserne
G28 Z Homing kun for Z-aksen

G90 og G91-indstiller positioneringstilstanden (Positioneringstilstand).

Din printer kan udføre positioneringen enten absolut eller relativ:

– Absolut positionering: Her giver du din 3D-printer den nøjagtige koordinat for X, Y eller Z, som den skal bevæge sig til. Til dette bruger du kommandoen G90.
– Relativ positionering: Dette fortæller din 3D-printer, hvor langt den skal bevæge sig fra sin nuværende position (X,Y,Z) i (X,Y,Z)-retningen. Dette fungerer med kommandoen G91.
– Du vil sandsynligvis oftere finde absolut positionering i dine G-koder, fordi sliceren allerede kender de nøjagtige koordinater for de tre akser og bruger dem til at bestemme den absolutte position.

Værdier:
None.

Eksempler:

G90 Brug absolut positionering for alle tre akser
G1 X10 F3000 Kør på varmesengen til punktet X=10mm med en hastighed på 3000 mm/min (F3000)
G1 X20 F3000 Kør på varmesengen til punktet X=20mm med en hastighed på 3000 mm/min.
G91 Anvend relativ positionering for alle tre akser
G1 X10 F3000 Før fra den aktuelle position på varmebænken 10 mm til højre med en hastighed på 3000 mm/min.
G1 X10 F3000 Før yderligere 10 mm til højre fra den aktuelle position på varmesengen med en hastighed på 3000 mm/min.

G92-Bestemmelse af den aktuelle position (Current Position)

Brug denne kommando, hvis du ønsker at definere den aktuelle position for dine akser. På denne måde kan du kompensere for forskydninger i visse akser. Denne kommando bruges ofte i forbindelse med ekstruderen, dvs. E-aksen, til at bestemme filamentets position. Du kan overskrive den aktuelle filamentposition, og alle andre kommandoer relateret til ekstruderen vil tage denne position som referencepunkt.

Værdier:
Angiv den absolutte koordinat for den akse, du ønsker at overskrive med G92-kommandoen. Dette virker for X, Y, Z og også E. Hvis du udelader en akse, vil dens værdi ikke blive overskrevet med den aktuelle position.

Eksempler:

G92 E0 Sæt den aktuelle filamentposition til E=0 i ekstruderen.
G1 E10 F800 Extruderet filament med en længde på 10 mm

M104- og M109-kommandoer til indstilling af ekstruderens temperatur

Disse to G-kodekommandoer bruges til at indstille temperaturindstillingen for ekstruderen.

– M104: Denne kommando starter med opvarmning af ekstruderen og giver mulighed for direkte udførelse af yderligere kommandoer.
– M109: Denne kommando venter, indtil den ønskede ekstrudertemperatur er nået. Først derefter kan der udføres yderligere kommandoer.

G-kodekommandoen M109 kan sandsynligvis ses oftere, da trykket ellers kan starte, før den ønskede temperatur er nået.

Er G-koderne for alle 3D-printere sådan?

Mens M104 og M109 bruges meget ofte, er der også tilfælde, hvor andre kommandoer bruges. Dette sker f.eks. når printeren læser .x3g-koder i stedet for .gcode-filer. Så anvendes M133 i stedet for M109. Nogle 3D-printere (Flashforge Dreamer, Dremel eller lignende) bruger i så fald M6-kommandoen. Dette afhænger af den anvendte firmware.

Værdier:

Med S-værdien kan du indstille ekstruderens temperatur i grader Celsius (S190= 190 grader Celsius).
T-værdien bruges bedst, hvis din 3D-printer har flere ekstrudere, og du ønsker at indstille en bestemt temperatur til den ønskede værdi. Normalt er T0 den højre ekstruder, mens T1 beskriver den venstre ekstruder.

Eksempler:

M104 S190 T0 Start opvarmning fra T0 til 190 grader Celsius.
G28 X0 Udfør homing for X-aksen, mens ekstruderen stadig er ved at blive opvarmet.
M109 S190 T0 Venter, indtil T0 har nået en temperatur på 190 grader Celsius, for at kunne udføre yderligere kommandoer.

M106 Fan Speed Control (Set Fan Speed)

Med M106-kommandoen kan du indstille hastigheden på komponentens blæser i din 3D-printer. Bemærk, at din printer muligvis også har en ventilator, der køler ekstruderen. Så du bør først se, om du har den rigtige blæser. Det er også muligt, at du endnu ikke har installeret en komponentblæser.

Værdier:
Her bestemmer S-værdien blæserens hastighed, hvor 0=off og 255=100% middelhastighed.

Eksempler:

M106 S255 Sæt blæserhastigheden til 100 %.
M106 S127 Sæt blæserhastigheden til ca. 50 %. (255/2=127,5)
M106 S0 Sluk for blæseren helt.

M140 og M190-G Kodekommandoer til temperaturindstilling af varmesengen (Bed Heating Commands)

Med M140- og M190-kommandoerne bestemmer du temperaturindstillingen af varmesengen analogt til M104- og M109-kommandoerne, som beskrevet ovenfor.

– M140: Denne kommando starter med at opvarme varmesengen og giver dig mulighed for at udføre andre kommandoer direkte.
– M190: Denne kommando starter med at opvarme varmesengen og giver dig mulighed for at udføre andre kommandoer direkte: Denne kommando venter, indtil den ønskede temperatur for varmesengen er nået. Først derefter kan der udføres yderligere kommandoer.

Bemærk, at opvarmning af varmesengen kan tage noget tid. Bliv ikke overrasket, hvis din 3D-printer pludselig holder pause under udskrivning (ved M190), indtil den fortsætter.

Ofte er M140-kommandoen placeret i begyndelsen af G-koden for at kunne udføre de andre kommandoer som homing osv. Før trykket starter, skal der dog installeres en M190-kommando for at sikre en stabil temperatur for det første lag.

Gælder dette for alle 3D-printere?

Som med M104- og M109-kommandoerne afhænger dette også af den anvendte firmware. Hvis din 3D-printer læser .x3g-filer, bruges M134 i stedet for M190, og Flashforge Dreamer, Dremel eller lignende printere bruger M7.

Værdier:

Med S-værdien kan du indstille temperaturen på varmesengen i grader Celsius (S30= 30 grader Celsius). Da de fleste 3D-printere kun har ét varmeseng, er det ikke nødvendigt med yderligere justeringer osv.

Eksempler:

M140 S50 Start med at opvarme varmesengen til 50 grader Celsius.
G28 Udfør homing for alle akser og opvarm samtidig varmelegemet til 50 grader Celsius.
M190 S50 Venter, indtil temperaturen på 50 grader Celsius for varmesengen er nået, for derefter at kunne udføre yderligere kommandoer.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.