Montag, 14. Juli 2014

Acceleration und Jerk

Zwei Einstellungen der Firmware beeinflussen das Verhalten des 3D Druckers erheblich, und die möchte ich jetzt etwas genauer analysieren.

Acceleration

Wenn man Beschleunigung nicht berücksichtigt, dann erzeugt das Slicer Programm einfach GCode der quasi von 0-100 in 0 sekunden beschleunigen müsste. Das ganze läßt sich zwar in Software leicht realisieren, aber wenn es um physikalische Bewegungen geht, wie etwa die Steuerung eines Schrittmotors ist das eigentlich nicht möglich. Der Schrittmotor, bzw. die ganze Achse hat nun einmal eine gewisse Trägheit die eine unedliche Beschleuinigung verhindert.
Zu diesem Zweck gibt es folgende Parameter in der Marlin Firmware, die unbedingt geändert werden müssen, da sie in der Default Einstellung viel zu hoch sind:

#define DEFAULT_MAX_ACCELERATION      {180,180,10,200}    // X, Y, Z, E maximum start speed for...
#define DEFAULT_ACCELERATION          60    // X, Y, Z and E max acceleration in mm/s^2 for printing moves
#define DEFAULT_RETRACT_ACCELERATION  60   // X, Y, Z and E max acceleration in mm/s^2 for retracts

DEFAULT_ACCELERATION definiert die Standardbeschleunigung und  DEFAULT_MAX_ACCELERATION die obere Grenze.
Bei einer Suche im Internet habe ich auch User gefunden welche die Werte noch wesentlich niedriger angesetzt haben.
Sind die Werte zu hoch, so kann es durchaus sein, dass der Motor Schritte ausläßt und deshalb Fehler im Druck passieren, sind die Werte zu niedrig, so beeinträchtigt das die Druckgeschwindigkeit. Es bleibt also durchaus Raum für Trial and Error.
Will man die obigen Werte als GCODE dann sind folgende M-Codes zu verwenden

M201 X180 Y180 Z10 E200 # DEFAULT_MAX_ACCELERATION
M204 S60 T60 # DEFAULT_ACCELERATION and DEFAULT_RETRACT_ACCELERATION

Die M-Codes können übrigens auf http://reprap.org/wiki/G-code#M201_-_Set_max_printing_acceleration nachgelesen werden.

Jerk

Jerk ist der maximale Geschwindigkeitsunterschied, der ohne Beschleunigung ausgeführt werden kann. Wenn JERK zum Beispiel 20.00 mm/s wäre und eine Geschwindigkeitsänderung von 0-20 mm/s benötigt wird, dann kann dies ohne Beschleunigung ausgeführt werden.

// The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
#define DEFAULT_XYJERK                20.0    // (mm/sec)
#define DEFAULT_ZJERK                 0.4     // (mm/sec)
#define DEFAULT_EJERK                 5.0    // (mm/sec)

Wie üblich ist die Z-Achse die Trägste und kann nicht so schnell bewegt werden, der Extruder ist ebenso unabhängig einstellbar.
Der Begriff JERK kommt aus den GRBL Wurzeln von Merlin.
Bei mir sind diese Werte (noch) default.

Keine Kommentare:

Kommentar veröffentlichen