Teil IV, 3D-Drucker
- Details
- Zugriffe: 5661
Im vierten Teil werden wir uns mit dem "Auto Bed Leveling" befassen, neue Marlin Firmware installieren und die hierfür nötigen Umbauten am Drucker vornehmen.
Themen im Überblick
Auto Bed Leveling
Das "Auto Bed Leveling" erleichtert die Arbeit mit dem 3-D-Druck erheblich, wenn es erst einmal eingerichtet ist. Bei dieser Gelegenheit wird auch gleich die Kabelkette umgebaut. In diesem Beitrag wird gezeigt wie dies gemacht werden kann und welche zusätzlichen Teile hierfür benötigt werden.
Vor dem Beginn des Umbaus des Druckers, sollten alle erforderlichen Teile ausgedruckt werden. Sie können unten heruntergeladen werden.
Im Einzelnen sind dies:
Die folgenden Teile wurden bereits früher verwendet und können wiederverwendet werden. Ggf. müssen noch Kettenglieder ergänzt werden.
Der Kettengliedhalter für die linke Seite der X-Achse wird mit einer M3-Schraube mit dem Träger verschraubt. |
||
Die Kettenglieder stammen von Thingiverse und können dort heruntergeladen werden. Insgesamt werden 24 Kettenglieder für den Umbau gebraucht. |
Sind die Teile soweit gedruckt, kann mit dem Umbau begonnen werden. Die folgenden Bilder zeigen den Umbau.
Als Sensor wurde ein kapazitiever Näherungsschalter aus der Bucht mit der Bezeichnung LJC18A3-H-Z/BX NPN NO ausgewählt. Der Anschluss gestaltet sich recht einfach und kann der Skizze entnommen werden.
Neue Firmware Marlin V1.1.9
Inzwischen gibt es eine neue Firmware für den 3D-Drucker - Marlin V1.1.9. Diese soll nun in Verbindung mit dem "Auto Bed Leveling" Installiert werden. Worauf zu Achten ist, soll in diesem Betrag erläutert werden.
Dazu wurde das Softwarepaket von hier Github heruntergeladen.
Zuerst wird eine passende Configuration.h aus dem Verzeichnis "example_configurations/Geeetech/Prusa i3 pro B/noprobe" für den Drucker ausgewählt. Diese Datei eignet sich gut zur Anpassung an den kapazitieven Sensor und ist schon für die weiteren druckerspezifischen Einstellungen vorbereitet.
SCARA Printer
Der Name des Druckers, der im Display angezeigt werden soll.
#define CUSTOM_MACHINE_NAME "Pi3PB Probe" |
Endstop Settings
Einstellungen für die Endstops, der Sensor am Pin Z_MIN benötigt keinen Pullup Widerstand
// Enable pullup for all endstops to prevent a floating state //#define ENDSTOPPULLUPS #if DISABLED(ENDSTOPPULLUPS) // Disable ENDSTOPPULLUPS to set pullups individually //#define ENDSTOPPULLUP_XMAX //#define ENDSTOPPULLUP_YMAX //#define ENDSTOPPULLUP_ZMAX #define ENDSTOPPULLUP_XMIN #define ENDSTOPPULLUP_YMIN //#define ENDSTOPPULLUP_ZMIN //#define ENDSTOPPULLUP_ZMIN_PROBE #endif |
Für den Sensor wird der Pin Z_MIN_ENDSTOP verwendet. (s.o. Skizze)
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). #define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. |
Movement Settings
Die Z-Achse wurde mit Trapezgewindestangen versehen.
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 105 } // MXL, Z Trapez M8=8.0, 4 Gänge, MK8 |
Z Probe Settings
Der Z-Endschalter wird entfernt und der Anschluß für den Sensor verwendet.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN |
//#define Z_MIN_PROBE_ENDSTOP |
//#define PROBE_MANUALLY //#define MANUAL_PROBE_START_Z 0.2 |
#define FIX_MOUNTED_PROBE |
Der Abstand des Senesors wird in Bezug auf die Düse eingestellt. Der Zwert bleit auf Null, er wird später in Menü des Druckers eingegstellt.
#define X_PROBE_OFFSET_FROM_EXTRUDER -19 // X offset: -left +right [of the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER -46 // Y offset: -front +behind [the nozzle] #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] |
Beim Leveling wird jeder Punkt zwei mal getestet.
#define MULTIPLE_PROBING 2 |
Nur zum Test der Wiederholgenauigkeit.
// Enable the M48 repeatability test to test probe accuracy #define Z_MIN_PROBE_REPEATABILITY_TEST |
Die Abmessung des Druckbettes, sowie die Grenzen für das Homing werden hier eingestellt.
// The size of the print bed #define X_BED_SIZE 190 #define Y_BED_SIZE 200 // Travel limits (mm) after homing, corresponding to endstop positions. #define X_MIN_POS -12 #define Y_MIN_POS 0 #define Z_MIN_POS 0 #define X_MAX_POS (-X_MIN_POS+X_BED_SIZE) #define Y_MAX_POS (-Y_MIN_POS+Y_BED_SIZE) #define Z_MAX_POS 180 |
Bed Leveling
Die Art des Levelings.
#define AUTO_BED_LEVELING_LINEAR |
Einstellung der Grenzen des Levelings
// Set the boundaries for probing (where the probe can reach). #define LEFT_PROBE_BED_POSITION 30 // (wm) 10 #define RIGHT_PROBE_BED_POSITION (X_MAX_POS - X_PROBE_OFFSET_FROM_EXTRUDER - 14 - 30) #define FRONT_PROBE_BED_POSITION 10 // (wm) 15 #define BACK_PROBE_BED_POSITION (Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER - 25) |
LCD and SD Support
Die deutsche Sprache wird verwendet.
#define LCD_LANGUAGE de |
Die Drehrichtung des Drehgebers muss ggf. umgestellt werden.
#define REVERSE_ENCODER_DIRECTION |
Kein Lautsprecher, sondern ein Piezo-Pieper wird verwendet.
//#define SPEAKER |
//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 |
LCD / Controller Selection
Der Standart Controller wurde durch ein grafisches Display ersetzt.
//#define REPRAP_DISCOUNT_SMART_CONTROLLER |
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER |
Extra Features
#define FAN_SOFT_PWM |
Nachdem diese Änderungen durchgeführt sind, wird der Sketch auf den Drucker hochgeladen. Nun kann mit der Einstellung des Sensor begonnen werden.
Einstellung des Sensors
Der Sensor wird ein paar Millimeter oberhalb der Düse verschraubt. Als sinnvoll hat sich dabei erwiesen, den Sensor durch die Justierschraube so einzustellen (rot Led leuchtet gerade auf), dass die Düse beim Homing bzw. beim Leveling etwa 3 mm oberhald des Druckbettes verbleibt. So kann verhindert werden, dass beim Homing oder Leveling das Filamet vorzeitig auf das Druckbett gelangt. Die Differenz zur tatsächlich gewünschten Höhe der Düse über dem Druckbett für den Druck, wird dann im Menü des Druckers eingestellt und auch dort gespeichert.
Hierzu wird folgendermaßen vorgegangen:
Das Druckbett und der Druckkopf sollte auf seine normale Betriebstemperatur gebracht werden, um Temperatureinflüsse gering zu halten. Danach wird ein Homing (aller Achsen) durchgeführt. Nun sollte die Höhe der Z-Achse im Display mit "0" angezeigt werden. Jetzt wird der Druckkopf so lange, in kleinen Schritten, nach unten bewegt, bis sich ein dünner Papierstreifen, der sich zwischen Düse und Druckbett befindet, gerade noch mit leichter Zugkraft herausziehen lässt. Der relative Versatz des Druckkopfes in Z-Richtung, ist der Offset (Z-Versatz) der nun als negativer Wert im Menü unter "Einstellungen/Bewegung/Z-Versatz" eingetragen wird.
Nun muss diese Einstellung noch im EEPROM unter "Einstellungen/Bewegung/Konfig. speichern" abgelegt werden.
Nach erneutem Homing sollte im Display für Z der entsprechende Z-Versatz angezeigt werden.
Damit das Auto Bed Leveling auch beim Druck ausgeführt wird, muss in der Slicer-Software beim "Start-G-Code" die Anweisung für das Leveling "G29" ausgeführt werden.
G28 X0 Y0 ;move X/Y to min endstops G28 Z0 ;move Z to min endstops G29 ;Auto Bed Leveling |
Wichtig ist hierbei, dass "G29" nach "G28" eingetragen wird, denn "G28" (Homing) widerruft die Anpassungen des Levelings.
Download: | ||
STL-Dateien | X-Träger Kettengliedhalter links | |
X-Kettengliedhalter links | ||
Tragplatte hinten | ||
Kettengliedhalter | ||
Sensor- und Lüfterhalter | ||
Ringdüse | ||
Kettenglieder | Thingiverse | |