G Code Commando’s in 3D Printing

G-code of G-code. Je hebt deze term waarschijnlijk al eerder gehoord of gelezen in de woordenlijst als je al eerder met 3D printen te maken hebt gehad. In dit artikel zal ik u vertellen wat een G-Code is en waar deze voor wordt gebruikt bij 3D printen. Ik zal u ook laten zien welke G-Code commando’s belangrijk voor u zijn als u wilt beginnen met 3D-printen of al begonnen bent.

G-Code-Wat is dit en waar wordt het voor gebruikt?

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

De slicer vertaalt het 3D-model in de 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.

Om dit te doen, zou de machine-relevante instellingen moeten worden herzien. Deze omvatten, bijvoorbeeld, de grootte van het printbed. Als deze instelling verkeerd is, zal de printer in het midden van het printbed beginnen en misschien zelfs er buiten met uw vriend.

Het is daarom gunstig om een basiskennis van G-codes te hebben, om onjuiste codes te begrijpen en ze zo nodig te verbeteren. Merk op dat sommige commando’s beginnen met de letter G, terwijl andere beginnen met een M.

De veelgebruikte G-Code commando’s en hun betekenis

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

G1-De Lineaire Beweging Commando

Uw 3D printer voert meestal het G1 commando uit. Daarom is het niet slecht om het eens nader te bekijken. G1 vertelt je printer om in een rechte lijn naar het volgende punt te gaan. Je kunt dit commando gebruiken om een of meer assen te besturen.

Note: De extruder wordt bestuurd zoals elke andere as. U kunt dus de materiaalstroom (extrusie) en het intrekken van het filament regelen.

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

Als u een E commando toevoegt, kunt u bepalen of de 3D printer onderweg ook moet extruderen, en zo ja, hoeveel. Merk op dat de extrusielengte verwijst naar het materiaal dat door de toevoer in de spuitmond wordt geperst. Dus als u uw printer vertelt om 10mm te extruderen, is de lengte die uit de matrijs komt niet 10mm, maar veel langer. Dit komt omdat het filament een diameter heeft van 1,75mm of 2,85mm en de matrijs meestal maar 0,4mm is. Om deze reden zijn de E-waarden van de slicer lager dan de afstand die de printer moet overbruggen.

Het F commando vertelt de printer met welke snelheid hij moet bewegen. Deze snelheid wordt altijd opgegeven in mm/min, zelfs als u in de snijplotter mm/s hebt geselecteerd. Wees dus niet verbaasd als de G-code de omgerekende waarden bevat.

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

Voorbeelden:

G1 X0 Y0 F3000 Drijf op het verwarmingsbed naar punt X=0, Y=0 met een snelheid van 3000 mm/min.
G1 Z10 F1000 Verplaats de Z-as naar de waarde Z=10mm met een snelheid van 1000 mm/min.
G1 X30 E10 F1600 Druk 10mm filament in de nozzle terwijl u op het verwarmingsbed rijdt naar punt X=30 mm met een snelheid van 1600 mm/min.

G4 pauzeert de druk voor een bepaalde tijd

Met het commando G4 heeft 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 P500 ; Wacht 500 milliseconden en doe niets in de tijd – Gedurende deze tijd worden alle printerparameters, zoals de temperatuur van de warmtebank, enz. worden gehandhaafd, dus je hoeft niet bang te zijn dat je print verpest wordt.

G21-veranderen van eenheden in millimeters

Het zou niet zo vaak voor moeten komen dat je dit commando moet gebruiken, omdat bijna alle 3D printers standaard in de eenheid werken. Het kan echter geen kwaad om deze code in gedachten te houden als blijkt dat uw printer op inches is ingesteld.

Values:

None

Example:

G21

G28-Takes the homing through

Dit commando zorgt ervoor dat uw 3D printer het zogenaamde homing uitvoert. Bij homing keert de printkop terug naar zijn “nulpunt”, dat hij heeft bereikt wanneer hij de eindstops voor alle assen (X, Y en Z) heeft bereikt. Dit is belangrijk omdat de printkop bij elke afdruk hetzelfde beginpunt zal hebben. De paden in de G-code worden gedefinieerd vanuit dit startpunt. Zonder deze verwijzing naar een specifiek punt, zou 3D printen niet redelijk zijn. Aan het einde van een afdruk wordt dit commando ook vaak uitgevoerd. Dit maakt het eenvoudig om de 3D-geprinte modellen te verwijderen.

Values:
Als geen waarden worden opgegeven, loopt de printer tot de eindstops van alle drie de assen. U kunt echter ook kiezen naar welke assen moet worden verplaatst door eenvoudig de letters X, Y, of Z toe te voegen.

Voorbeelden:

G28 Homing voor alle assen (X, Y en Z)
G28 X Y Homing voor de X- en Y-as
G28 Z Homing alleen voor de Z-as

G90 en G91 – hiermee stelt u de positioneringsmodus in (Positioneringsmodus).

Uw printer kan de positionering absoluut of relatief uitvoeren:

– Absolute positionering: Hier geeft u uw 3D-printer de exacte coördinaten voor X, Y of Z waarheen hij moet bewegen. Hiervoor gebruikt u het commando G90.
– Relatieve positionering: Hiermee geef je aan je 3D printer door hoe ver hij moet bewegen vanaf zijn huidige positie (X,Y,Z) in de (X,Y,Z) richting. Dit werkt met het commando G91.
– U zult waarschijnlijk vaker absolute positionering in uw G-codes tegenkomen, omdat de slicer de exacte coördinaten voor de drie assen al kent en deze gebruikt om de absolute positie te bepalen.

Values:
None.

Voorbeelden:

G90 Gebruik absolute positionering voor alle drie de assen
G1 X10 F3000 Drijf op het verwarmingsbed naar punt X=10mm met een snelheid van 3000 mm/min (F3000)
G1 X20 F3000 Rijd op het verwarmingsbed naar het punt X=20mm met een snelheid van 3000 mm/min.
G91 Gebruik relatieve positionering voor alle drie de assen
G1 X10 F3000 Verplaats de huidige positie op het verwarmingsbed 10mm naar rechts met een snelheid van 3000 mm/min.
G1 X10 F3000 Verplaats nog eens 10mm naar rechts vanaf de huidige positie op het verwarmingsbed met een snelheid van 3000 mm/min.

G92-Bepaling van de huidige positie (Current Position)

Gebruik dit commando als u de huidige positie van uw assen wilt vastleggen. Op deze manier kunt u offsets in bepaalde assen compenseren. Dit commando wordt vaak gebruikt in combinatie met de extruder, d.w.z. de E-as, om de positie van het filament te bepalen. U kunt de huidige filament positie overschrijven en alle andere commando’s met betrekking tot de extruder zullen deze positie als referentiepunt nemen.

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

Voorbeelden:

G92 E0 Zet de huidige gloeidraadpositie op E=0 in de extruder.
G1 E10 F800 Extrudeer filament met een lengte van 10mm

M104 en M109 commando’s voor de extruder temperatuur instelling

Deze twee G-Code commando’s worden gebruikt om de temperatuur instelling van de extruder in te stellen.

– M104: Dit commando start met het verwarmen van de extruder en maakt de directe uitvoering van verdere commando’s mogelijk.
– M109: Dit commando wacht tot de gewenste extrudertemperatuur is bereikt. Pas dan kunnen verdere commando’s worden uitgevoerd.

Het G-Code commando M109 komt waarschijnlijk vaker voor, omdat anders de druk kan beginnen voordat de gewenste temperatuur is bereikt.

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

Weliswaar worden M104 en M109 zeer vaak gebruikt, maar er zijn 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 M109. Sommige 3D printers (Flashforge Dreamer, Dremel of vergelijkbaar) gebruiken dan het M6 commando. Dit is afhankelijk van de gebruikte firmware.

Values:

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

Voorbeelden:

M104 S190 T0 Start de verwarming van T0 naar 190 graden Celsius.
G28 X0 Voer de homing voor de X-as uit terwijl de extruder nog aan het verwarmen is.
M109 S190 T0 Wacht tot T0 de temperatuur van 190 graden Celsius heeft bereikt, om verdere commando’s te kunnen uitvoeren.

M106 fan speed control (Ventilatorsnelheid instellen)

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

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

Voorbeelden:

M106 S255 Zet de ventilatorsnelheid op 100%.
M106 S127 Zet de ventilatorsnelheid op ca. 50%. (255/2=127,5)
M106 S0 Zet de ventilator volledig uit.

M140 en M190-G Code Commando’s voor de temperatuurinstelling van het verwarmingsbed (Bed Heating Commando’s)

Met de M140 en M190 commando’s bepaalt u de temperatuurinstelling van het verwarmingsbed analoog aan de M104 en M109 commando’s zoals hierboven beschreven.

– M140: Dit commando start met het verwarmen van het verwarmingsbed en stelt u in staat andere commando’s direct uit te voeren.
– M190: Dit commando wacht tot de gewenste temperatuur van het verwarmingsbed is bereikt. Pas dan kunnen verdere commando’s worden uitgevoerd.

Merk op dat het opwarmen van het verwarmingsbed enige tijd kan duren. Wees niet verbaasd als uw 3D printer tijdens het printen (bij M190) plotseling pauzeert totdat het verder gaat.

Vaak wordt het M140 commando aan het begin van de G-code geplaatst om de andere commando’s zoals homing etc. uit te kunnen voeren. Voordat de druk echter begint, moet een M190 commando worden geplaatst om een stabiele temperatuur voor de eerste laag te garanderen.

Geldt dit voor elke 3D printer?

Zoals bij de M104 en M109 commando’s hangt dit ook af van de gebruikte firmware. Als uw 3D printer .x3g files leest dan wordt M134 gebruikt in plaats van M190 en Flashforge Dreamer, Dremel of soortgelijke printers gebruiken M7.

Values:

Met de S-waarde kunt u de temperatuur van het verwarmingsbed in graden Celsius instellen (S30= 30 graden Celsius). Aangezien de meeste 3D printers slechts één verwarmingsbed hebben, zijn verdere aanpassingen e.d. niet nodig.

Voorbeelden:

M140 S50 Start met het verwarmen van het verwarmingsbed tot 50 graden Celsius.
G28 Voer de homing voor alle assen uit en verwarm gelijktijdig het verwarmingsbed tot 50 graden Celsius.
M190 S50 Wacht tot de temperatuur van 50 graden Celsius voor het verwarmingsbed is bereikt, om daarna verdere commando’s te kunnen uitvoeren.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.