G Code commando’s in 3D printen – Leer de taal van uw 3D printer!

G-code of GC-code. U hebt deze term waarschijnlijk al eerder gehoord of in de woordenlijst gelezen als u al een beetje bekend bent met 3D-printen. In dit artikel zal ik u vertellen wat G-code is en waar het voor gebruikt wordt bij 3D printen. Ik laat u ook zien welke G-code commando's belangrijk zijn voor u als u wilt beginnen met 3D printen of al begonnen bent.

G-code: Wat is het en waar wordt het voor gebruikt?

3D printer kan niet veel doen met de 3D modellen in de formaten .Stl, .obj enz., omdat daarin wel de geometrische vorm is opgeslagen, maar niet hoe de 3D printer met deze vorm moet omgaan. “Hoe snel moet het model in laag nummer 5 worden geprint?” en soortgelijke vragen moeten voor de 3D-printer worden beantwoord. De antwoorden staan in de G-code, die dus de taal is van de 3D-printer. Alleen met een G-code weet de printer wat hij moet doen.

De slicer vertaalt het 3D-model in G-code en voegt ook machine-relevante gegevens toe. Deze zijn exact gedefinieerd voor de gebruikte 3D printer. Dit betekent dat de G-code die u hebt gemaakt voor uw 3D printer kit, zoals de Creality CR-10 printer, niet zal werken voor uw vriend met een Ultimaker 2.

Daartoe zouden de voor de machine relevante instellingen moeten worden herzien. Deze omvatten bijvoorbeeld de grootte van het printbed. Als deze instelling onjuist is, zal de printer bij u in het midden van het printbed beginnen en bij uw vriend misschien zelfs erbuiten.

Daarom is het een voordeel een basiskennis van G-codes te hebben om foutieve codes te begrijpen en ze zo nodig te kunnen verbeteren. Merk op dat sommige commando's met de letter G beginnen en andere met een M.

De vaak gebruikte G-code commando's en hun betekenis

In het volgende zal ik u laten zien wat het betreffende G-code commando betekent, welke individualiseringen mogelijk zijn en hoe zo'n G-code commando eruit kan zien.

G1-De lineaire bewegingsopdracht

Het G1 commando is wat uw 3D printer meestal doet. Daarom is het niet slecht om het eens van dichterbij te bekijken. G1 vertelt de printer om in een rechte lijn naar het volgende punt te gaan. U kunt dit commando gebruiken om één of meer assen te besturen.

Opmerking: De extruder wordt net als elke andere as bestuurd. Hiermee kunt u de materiaalstroom (extrusie) en het intrekken van het filament regelen.

Waarden:
Als u X, Y en Z opgeeft, kunt u de printer vertellen naar welke punten moet worden verplaatst. Merk echter op dat deze commando's worden uitgevoerd volgens het type positionering (absoluut/relatief) en dus ofwel naar de exacte coördinaat ofwel naar de afstand tot het huidige punt gaan.

Als u een E commando toevoegt, kunt u aangeven of de 3D printer onderweg ook moet extruderen, en zo ja, hoeveel. Merk op dat de extrusielengte verwijst naar het materiaal dat door de feeder in de spuitmond wordt geduwd. Dus als je tegen je printer zegt dat hij 10 mm moet extruderen, is de lengte die uit de spuitmond komt niet ook 10 mm, maar veel langer. Dit komt doordat de gloeidraad een diameter heeft van 1,75 mm of 2,85 mm en het mondstuk meestal slechts 0,4 mm. Daarom zijn de E-waarden van de snijmachine kleiner dan de afstand die de printer moet overbruggen.

Het F commando vertelt de printer met welke snelheid hij de betreffende beweging moet uitvoeren. Deze snelheid wordt altijd aangegeven in mm/min, zelfs als u mm/s hebt gekozen in de snijmachine. Wees dus niet verbaasd als de geconverteerde waarden in de G-code staan.

Veel 3D printers hebben alleen de waarden nodig voor de assen die daadwerkelijk bewogen moeten worden. Als u alleen de X-as wilt laten bewegen, voegt u X toe en een F-waarde voor de snelheid.

Voorbeelden:

G1 Code voorbeeldBeschrijving
G1 X0 Y0 F2400Verplaats op het verwarmingsbed naar punt X=0, Y=0 met een snelheid van 2400 mm/min
G1 Z10 F1200Verplaats de Z-as naar de waarde Z=10mm met een snelheid van 1200 mm/min
G1 X30 E10 F1800Druk 10 mm gloeidraad in het mondstuk terwijl je op het verwarmingsbed beweegt naar het punt X=30 mm met een snelheid van 1800 mm/min.

G4-Pauzeer afdrukken voor een bepaalde tijd

Met het commando G4 hebt u de mogelijkheid uw printer voor een bepaalde tijd te pauzeren.

Waarden:

P000– De printer wacht een bepaalde tijd in milliseconden

S000– De printer wacht een bepaalde tijd in seconden (Dit commando is alleen van toepassing op Repetier, Marlin, RepRap Firmware en Smoothieware).

Voorbeelden:

G4 Code voorbeeldBeschrijving
G1 P500Wacht 500 milliseconden en doe gedurende deze tijd niets – Gedurende deze tijd worden alle printerparameters zoals de temperatuur van de warmtebank enz. gehandhaafd, zodat u zich geen zorgen hoeft te maken dat uw afdruk wordt verpest.

G21-Wijziging van de eenheden in millimeters

Eigenlijk zou het niet zo vaak moeten voorkomen dat u dit commando moet gebruiken, omdat bijna alle 3D printers standaard zijn ingesteld op de eenheid [mm] werk. Het kan echter geen kwaad om deze code in gedachten te houden als u denkt dat uw printer op inches is ingesteld.

Waarden:

Geen

Voorbeeld:

G21

G28-Doet het doelzoekende

Dit commando zorgt ervoor dat uw 3D printer de zogenaamde homing uitvoert. Bij homing keert de afdrukkop terug naar zijn “nulpunt”, dat hij heeft bereikt wanneer hij de eindaanslagen voor alle assen (X, Y en Z) heeft benaderd. Dit is een belangrijke bewerking omdat de printkop dan voor elke afdruk hetzelfde startpunt heeft. De paden in de G-code worden gespecificeerd vanaf dit vertrekpunt. Zonder deze verwijzing naar een specifiek punt zou 3D-printen niet redelijk kunnen gebeuren. Aan het eind van een afdruk wordt dit commando ook vaak uitgevoerd. Dit maakt het gemakkelijk om de 3D-geprinte modellen neer te halen.

Waarden:
Als geen waarden worden opgegeven, beweegt de printer naar de eindaanslagen van alle drie de assen. U kunt echter ook zelf bepalen welke assen het moet benaderen door eenvoudig de letters X, Y of Z toe te voegen.

Voorbeelden:

G20 Code VoorbeeldBeschrijving
G28Homing voor alle assen (X, Y en Z)
G28 X YBestemming voor de X- en Y-as
G28 ZHoming alleen voor de Z-as

G90 en G91 – De modus voor positionering instellen (Positioning Mode)

Uw printer kan de positionering zowel absoluut als relatief uitvoeren:

  • Absolute positionering: Hier geeft u uw 3D printer de exacte coördinaten voor X, Y of Z waarheen hij moet bewegen. Om dit te doen, gebruik het commando G90.
  • Relatieve Positionering: Dit vertelt uw 3D printer hoe ver hij moet bewegen vanaf zijn huidige positie (X,Y,Z) in de (X,Y,Z) richting. Dit werkt met het commando G91.

Je zal waarschijnlijk vaker de absolute positionering in je G-codes terugvinden, omdat de slicer de exacte coördinaten voor de drie assen al kent en ze gebruikt om de absolute positie te bepalen.

Waarden:
Geen.

Voorbeelden:

G90 code voorbeeldBeschrijving
G90Gebruik absolute positionering voor alle drie de assen
G1 X10 F3600Verplaats op het verwarmingsbed naar het punt X=10mm met een snelheid van 3600 mm/min (F3600)
G1 X20 F3600Verplaats op het verwarmingsbed naar punt X=20mm met een snelheid van 3600 mm/min

G91 Code voorbeeldBeschrijving
G91Gebruik relatieve positionering voor alle drie de assen
G1 X10 F3600Verplaats van de huidige positie op het verwarmingsbed 10 mm naar rechts met een snelheid van 3600 mm/min
G1 X10 F3600Verplaats van de huidige positie op het verwarmingsbed nog eens 10 mm naar rechts met een snelheid van 3600 mm/min

G92-Fixeren van de huidige positie (Huidige positie)

Gebruik dit commando indien u de huidige positie van uw assen wilt bepalen. Op deze manier kunt u compenseren voor offsets in bepaalde assen. Deze befel wordt vaak gebruikt in combinatie met de extruder, d.w.z. de E-“as”, om de positie van het filament te bepalen. U kunt dit gebruiken om de huidige filament positie op te heffen en alle verdere commando's met betrekking tot de extruder zullen deze positie als referentiepunt gebruiken.

Waarden:
Bepaal de absolute coördinaat voor de as die u wilt overschrijven met het commando G92. Dit werkt voor X, Y, Z en ook E. Als u een as weglaat, wordt de waarde ervan niet overschreven met de huidige positie.

Voorbeelden:

G92 Code voorbeeldBeschrijving
G92 E0Zet de huidige filament positie op E=0 in de extruder.
G1 E10 F800Extrudeer filament met een lengte van 10mm

M104 en M109 commando's voor extruder temperatuur instelling

Deze twee G-code commando's worden gebruikt om de temperatuurinstelling van de extruder in te stellen.

  • M104: Dit commando start het opwarmen van de extruder en maakt directe uitvoering van verdere commando's mogelijk.
  • M109: Dit commando resulteert in wachten tot de gewenste temperatuur van de extruder is bereikt. Alleen dan kunnen verdere commando's worden uitgevoerd.

U zult waarschijnlijk vaker het G-code commando M109 zien, anders kan het gebeuren dat de afdruk begint voordat de gewenste temperatuur zelfs maar bereikt is.

Zijn de G-codes voor elke 3D printer zo?

Hoewel M104 en M109 meestal worden gebruikt, zijn er ook gevallen waarin andere commando's worden gebruikt. Dit gebeurt bijvoorbeeld wanneer de printer .x3g-codes leest in plaats van .gcode-bestanden. Dan wordt M133 gebruikt in plaats van het M109 commando. Sommige 3D printers (Flashforge Dreamer, Dremel of vergelijkbaar) gebruiken het M6 commando. Dit hangt af van de gebruikte firmware.

Waarden:

  • Met de S-waarde kunt u de temperatuur van de extruder in graden Celsius instellen (S190= 190 graden Celsius).
  • Het gebruik van de T-waarde is het beste als uw 3D printer meerdere extruders heeft en u een specifieke extruder op de gewenste temperatuur wilt brengen. Normaal gesproken is T0 dan de rechter extruder, terwijl T1 dan de linker extruder beschrijft.

Voorbeelden:

M104 Code voorbeeldBeschrijving
M104 S190 T0Begin T0 op te warmen tot 190 graden Celsius.
G28 X0Voer de homing voor de X-as uit terwijl de extruder nog aan het opwarmen is.
M109 S190 T0Wacht tot T0 de temperatuur van 190 graden Celsius heeft bereikt om dan verdere commando's te kunnen uitvoeren.

M106 Ventilatorsnelheidsregeling (Ventilatorsnelheid instellen)

Met het M106 commando kunt u de snelheid van de componentenventilator van uw 3D printer instellen. Uw printer kan ook een ventilator hebben die de extruder koelt. U moet dus eerst controleren of u de juiste ventilator bedient. Het is ook mogelijk dat u nog geen componentventilator hebt geïnstalleerd.

Waarden:
Hier bepaalt de S-waarde de snelheid van de ventilator, waarbij 0=uit en 255=100% snelheid.

Voorbeelden:

M106 Code voorbeeldBeschrijving
M106 S255Zet de ventilatorsnelheid op 100%.
M106 S127Stel de ventilatorsnelheid in op ca. 50%. (255/2=127,5)
M106 S0Schakel de ventilator volledig uit.

M140 en M190-G Codecommando's voor het instellen van de temperatuur van het verwarmingsbed (Bedverwarmingscommando's)

Met de M140 en M190 commando's bepaalt u de temperatuurinstelling van het verwarmingsbed op dezelfde manier als met de hierboven beschreven M104 en M109 commando's.

  • M140: Dit commando start het opwarmen van het verwarmingsbed en maakt directe uitvoering van andere commando's mogelijk.
  • M190: Dit commando zorgt ervoor dat het systeem wacht tot de gewenste temperatuur van het verwarmingsbed is bereikt. Alleen dan kunnen verdere commando's worden uitgevoerd.

Merk op dat het enige tijd kan duren voor het verwarmingsbed is opgewarmd. Wees niet verbaasd als uw 3D-printer tijdens het printen (voor M190) plotseling pauzeert totdat hij weer aanslaat.

Vaak wordt het M140-commando aan het begin van de G-code geplaatst om vervolgens de andere commando's zoals homing enz. te kunnen uitvoeren. Voordat het afdrukken begint, moet echter een M190-commando worden geïnstalleerd om een stabiele temperatuur voor de eerste laag te garanderen.

Geldt dit voor elke 3D printer?

Net als bij de M104 en M109 commando's hangt dit ook af van de gebruikte firmware. Als uw 3D printer .x3g bestanden leest dan wordt M134 gebruikt in plaats van M190 en voor Flashforge Dreamer, Dremel of vergelijkbare printers wordt M7 gebruikt.

Waarden:

Met de S-waarde kunt u de temperatuur van het verwarmingsbed in graden Celsius instellen (S30= 30 graden Celsius). Aangezien de meeste 3D-printers alleen een verwarmingsbed hebben, is geen verdere afstelling e.d. nodig.

Voorbeelden:

M140 / M190 code voorbeeldBeschrijving
M140 S50Begin het verwarmingsbed te verwarmen tot 50 graden Celsius.
G28Voer de homing voor alle assen uit en verwarm tegelijkertijd het verwarmingsbed tot 50 graden Celsius.
M190 S50Wacht tot de temperatuur van 50 graden Celsius is bereikt voor het verwarmingsbed om dan verdere opdrachten te kunnen uitvoeren.

Meer GCode commando's voor uw 3D printer volgen.

G-Code in 3D printen: FAQ

Hier zijn enkele vragen die vaak worden gesteld.

De gemakkelijkste manier is natuurlijk het gebruik van een snijmachine. Hiermee wordt een 3D-model (.stl/.obj… ) omgezet in een machine-leesbare taal. Alle snijmachines kunnen de Gcode maken. U hoeft er alleen maar voor te zorgen dat u ofwel uw printer selecteert in de bestaande profielen van de slicer of deze handmatig aanmaakt en bijvoorbeeld de grootte van de printbedden, het aantal hotends, enz. specificeert.

Nee, u kunt Gcodes maken via AutoCad, maar deze zijn niet in de eerste plaats bedoeld voor 3D-printen. Gebruik Slicer hiervoor in de plaats.

Normaal gesproken kunt u de gebruikte geheugenkaarten of USB-sticks vullen met de juiste G-codes en de printer starten. U kunt de printgegevens echter ook via WiFi naar sommige 3D-printers sturen – steeds vaker ook via on-board oplossingen. Daartoe moeten zij de functies via de Wifi-module inschakelen. Maar het is ook mogelijk om uw 3D printers te verbinden met Octo Print en Raspberry.