G-Code Übersicht

3D Drucker verarbeiten sogenannten G-Code. Dieser ist eine genormte Sprache, welche unter Anderem auch in der Industrie bei CNC Maschinen zum Einsatz kommt. Er beschreibt auf einfache Art und Weise, was die Maschine tun soll. Ein Beispiel: G1 Z10 Y30 X15 bedeutet. G1 Lineare Bewegung and die Koordinaten Z10 Y30 X15. Interessande Links zu diesem Thema:

Tips und Tricks

Das Tuning der meisten Werte kann im Speicher des Gerätes vorgenommen werden. Wenn die Werte in Ordnung sind, können sie anschliessend mit M500 im EEPROM dauerhaft gespeichert werden. Falls die Werte in der Firmware selbst angepasst werden sollen, ist es empfehlenswert diese erst mit den unten angegebenen Methoden zu ermitteln und erst am Schluss die Firmware neu zu schreiben. Dies hat keine anderen Vorteile als weniger (Zeit-)Aufwand. Nach dem upload der Firmware sollten IMMER die Werte aus der Firmware mit M502 wiederhergestellt werden. Ansonsten kann es sein, dass sich Einstellung doppelt so stark oder gar nicht auswirken.

Extruder Motor Kalibrieren

  • Marlin Configuration.h: DEFAULT_AXIS_STEPS_PER_UNIT
M503 ; Aktuelle Werte aus dem Memory anzeigen (M92 X100.00 Y100.00 Z100.00 E158.00) 

G92 E0 ; Setzt die aktuelle position des Extruders auf 0 
G1 E100 F90 ; Bewegt das Filament 100mm nach vorne 

; Falls das Filament jetzt z.B. 123mm verschoben wurden rechnet man folgendes: 
; (158 * 100) / 123 = 128 (Muss auf ganze Zahlen gerundet werden!)   

M92 E128.00 ; Setzt die Werte im Memory 
M500 ; Speichere die Werte im EEPROM

PID Tuning

  • Marlin Configuration.h: DEFAULT_Kp, DEFAULT_Ki, DEFAULT_Kd
M303 S190 C10 ; Startet das PID tuning für 190°C mit 10 durchgängen
M301 P22.04 I1.65 D73.67 ; Setzt die Werte im Memory 
M500 ; Speichert die Werte im EEPROM

Für das HeadBed muss bei den Befehlen noch „E-1“ mitgegeben werden

Home offset

Zur Konfiguration der Druckebaren höhe.

  • Marlin Configuration.h: MANUAL_Z_HOME_POS
Recv: echo:Home offset (mm): 
Recv: echo: M206 X0.00 Y0.00 Z6.20

Delta Drucker Einstellungen

Zum Einstellen der Druckergeometrie, falls die Grösse der Objekte oder diese Konvex / Konkav rauskommen.

  • Increase horizontal radius (DELTA_RADIUS)) when model is convex (bulge in the middle)
  • Increase DELTA_DIAGONAL_ROD when model is larger then expected
  • Marlin Configuration.h: DELTA_DIAGONAL_ROD, DELTA_RADIUS, DELTA_SEGMENTS_PER_SECOND
Recv: echo:Delta settings: L=delta_diagonal_rod, R=delta_radius, S=delta_segments_per_second 
Recv: echo: M665 L319.80 R175.10 S160.00

Z-Probe Offset

Wie viel Weg legt der Druckkopf zurück, bis der Z Min Endstop anschlägt. Dies ist wichtig beim Auto bed leveling.

  • Marlin Configuration.h: Z_PROBE_OFFSET_FROM_EXTRUDER
Recv: echo:Z-Probe Offset (mm): 
Recv: echo: M851 Z0.50

Commands

G4 ; Sleep Pnnn (milliseconds) or Snnn (seconds if supported) 
G28 ; Move to Origin (Home) 
G29 ; Bed Autolevel 
G92 ; Set Position
M84 ; Turn off motors 
M106 ; Fan On 
M107 ; Fan Off 
M115 ; Read firmware information 
M119 ; Get Endstop Status 
M206 ; Set home offset 
M301 ; Set PID parameters (example: M301 P22.04 I1.65 D73.67) 
M303 ; Run PID tuning (example: M303 S190 C10) 
M500 ; stores paramters in EEPROM 
M501 ; reads parameters from EEPROM 
M503 ; reads (shows) current settings from Memory (not EEPROM) 
M502 ; reverts to the default "factory settings" 
M851 ; Set Z-Probe Offset 
M999 ; Restart after being stopped by error