3d-proto.de verwendet Cookies. Indem Sie hier fortfahren, stimmen Sie dieser Verwendung zu. Mehr Informationen OK
  • HOME
  • PROJEKTE
    • DIY 3D-DRUCKER
    • PREVIEW DIY LASERCUTTER
    • DIY WANDKUNST
    • 2-RAD ROBOTER
    • DUAL PARK EXTRUDER
    • BLUETOOTH MONITORING
    • PRUSA GEHÄUSE
    • DACHBODEN WINDE
    • CHRONO
  • DIY 3D DRUCKER
    • CORE XY 3D-DRUCKER
    • HOTEND
    • TOOLKETTE
    • KALIBRIERUNG
    • FIRMWARE KONFIG
    • EXTRUDER
    • ANTRIEB
    • FILAMENT ÜBERSICHT
  • DIY 3D SCANNER
    • DIY CICLOP
  • DIY LASER CUTTER
    • CUTTER ENGRAVER
  • DIY MODERNE KUNST
    • DIY WANDKUNST
  • TIPPS & TRICKS
    • ANTI OOZE
    • SUPPORT MAT.
    • STEPPER TRIM
    • HEATBED TRIM
    • AUTOBED LVL
    • ANTI WARPING
  • SHOP & KONTAKT
    • Ciclop 3D-Scanner
    • Autobed-Level Set
    • 3D-Drucker & V-Slot Set
    • Treiber TMC2130
    • LaserCutter
    • KONTAKT
    • IMPRESSUM
    • WIDERRUFSRECHT

  • HOME
  • SHOP
  • KONTAKT


PROJEKTE

  • DIY 3D-DRUCKER
  • DIY LASERCUTTER
  • DIY WANDKUNST
  • 2-RAD ROBOTER
  • DACHBODEN WINDE
  • DIY SCANNER: CICLOP
  • PRUSA I3 GEHÄUSE
  • DUAL PARKING EXTRUDER
  • ALEKSAND CHRONO
  • BLUETOOTH ÜBERWACHUNG


3D DRUCK auf YOUTUBE

  • ÜBERBLICK
  • ABS VIDEO
  • PLA SOFT VIDEO
  • Flex ECO PLA VIDEO
  • BENDLAY VIDEO
  • HIPS VIDEO


TIPPS UND TRICKS zum 3D-DRUCK

  • AUTOBED LEVELING
  • ANTI OOZING STRATEGIE
  • SCHRITTMOTOR TREIBER EINSTELLEN
  • SUPPORT-MATERIAL
  • HEIZBETT TRIMMEN
  • WARPING VERHINDERN

MARLIN FIRMWARE

  • SCHRITTE/MM EINSTELLEN

3D-Proto Highlights

Neues Projekt

Home > Tipps & Tricks: Autobed-Leveling mit Marlin

Auto-bedleveling mit Marlin Firmware und induktivem Sensor, capazitivem Sensor oder Servo-Endschalter

Um das ständige ausrichten des Druckbetts bei RepRap Druckern und Bausätzen zu verhindern, unterstützt die Marlin Firmware das sog. Auto-bedleveling.
Höhenabweichungen in Z-Richtung werden dann mit vertikal Bewegungen während des Druckprozess über die Software ausgeglichen.
Die Prozedur funktioniert gut und hat meinen Druckprozess deutlich verbessert und beschleunigt. Im Folgenden werden drei Varianten dargestellt, dass Auto-bedleveling umzusetzen.

Die Auto-bedleveling Funktion in Aktion mit einem a.) induktiven Sensor, b.) kapazitiven Sensor und c.) Endschalter und Servo.
Hier die Vor -und Nachteile und die Videos:

Variante Ind. Sensor Kap. Sensor Servo
Genauigkeit + + 0 (mech. Teile)
Preis 0 (mit Alu Heizbett) + (Glasplatte oder MK3 +

Variante a: Auto bedleveling mit ind. Sensor. Variante b: Auto bedleveling mit cap. Sensor. Variante c: Auto bedleveling mit Servo-Endschalter.

Alle Hardware Komponenten als Paket (Induktiver oder kapazitiver Sensor + präzisionsgefräste Aluminium Platte + Spannungsteiler + 2Pol Kabel) können im 3D-Proto Shop als Bausatz bestellt werden.

Artikelbeschreibung Preis zzgl. Versand Versandkosten Rechtliches Paypal Zahlung
Gesamtkosten
Autobed-Leveling Set mit Kap. Sensor
Spannungsteiler + Dupont Kabel
15,90 € zzgl. Versand Deutschland: 2,60 €
Österreich: 3,70 €
Sonstige EU: 3,70 €
14-Tage-Widerrufsrecht
Gesamtpreis inkl. Versand


Artikelbeschreibung Preis zzgl. Versand Versandkosten Rechtliches Paypal Zahlung
Autobed-Leveling Set mit MK3-Platte 35,00 € zzgl. Versand 3,95 € innerhalb Deutschlands.
Innerhalb der EU auf Anfrage
14-Tage-Widerrufsrecht

1.) Änderung der Hardware bei Variante a und b.

Variante a. und b.):
Ein aktiver Abstandssensor kann für die Abmessung der Normalen an mindestens drei Punkten des Heizbeds genutzt werden. Vorraussetzung hierfür ist bei Variante a. die Verwendung einer leitfähigen Druckbett-Oberfläche (z.B. das Aluminium MK3 oder MK2 mit Aluminium Platte) während Varinate b. auch auf einer Glasplatte funktioniert.
Beide Abstandssensoren müssen über einen Spannungsteiler an das Printerboard angeschlossen werden, um die Ausgangsspannung zu reduzieren. Geeignete Halterung für den jeweiligen Sensor kann selbst gedruckt werden (stl-file für einen Sensor mit M12 Gewinde) und sollte ca. 1mm oberhalb der Hotend-Düsenspitze liegen.

Beim MK3 Alu Heizbett kann oftmals der Thermistor in SMD direkt auf die Platine gelötet werden. Empfohlen wir hier der Epcos B57621C104J62 in der Größe 1206. Die passende Kennlinie für Marlin (thermistortables.h) findet ihr hier.
Einfach eure aktuelle thermistortables.h Datei damit überschreiben und in Configuration.h die Kennlinie 8 wählen.

#define TEMP_SENSOR_BED 8 //in thermistortables.h ist hier B57621C104J62 abgelegt


Induktiver Sensor
Kapazitiver Sensor
Spannungsteiler Platine

Variante c.) Mit einem Servo-Motor für das Auto-bedleveling (z.B. der Tower Pro SG90 (Pinnbelegung: Rot-5V, Orange-PWM, Braun-GND). Der SG90 wird bereits mit geeigneten Schrauben zur Montage eines Endstopp-Halters geliefert.
Dieser Servo-Motor kann außerdem an das genutzte Printerboard direkt angeschlossen werden. Während beim RAMPS 1.4-Board eine der Servo-Pinreihe direkt genutzt werden kann (5V muss hierbei durch einen Jumper für die Servo-Reihe "freigeschaltet" werden) muss beim Rumba Board umgepinnt werden (GND und 5V auf dem Stecker tauschen).
Der Endschalter für die Z-Achse (bestenfalls mit Rollen-Kipphebel) muss nun mit einer geeigneten Halterung (für einen Makerfarm Prusa i3 gibt es das stl-file hier) an den Servo-Motor befestigt werden. Der Servo-Motor wird dann an den X-Schlitten montiert, so dass das Endstopp bei ausgefahrenem Arm (90° Sollwinkel) unter dem Hotend liegt und bei eingefahrenen Arm (0° Sollwinkel) im rechten Winkel zum Hotend absteht.

2.) Software Anpassung in der neuen Marlin Firmware (1.1.4):

Für Variante a. und b. mit den aktiven induktiven oder kapazitiven Abstandssensor wird kein Pull-up für den z-Endstop benötigt.

//#define ENDSTOPPULLUPS // 3DP: Auskommentieren um Pull-Ups zu aktivieren
#if DISABLED(ENDSTOPPULLUPS)
// fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined
//#define ENDSTOPPULLUP_XMAX
//#define ENDSTOPPULLUP_YMAX
//#define ENDSTOPPULLUP_ZMAX
#define ENDSTOPPULLUP_XMIN//3DP: Pullup set
#define ENDSTOPPULLUP_YMIN//3DP: Pullup set
//#define ENDSTOPPULLUP_ZMIN
//#define ENDSTOPPULLUP_ZMIN_PROBE
#endif

Die nächsten zwei Codezeilen hängen von der Sensor oder Schaltervariante ab. Alle Sensoren gibt jeweils als Öffner (NC) und Schließer (NO).

Variante a.: Induktiver Sensor LJ12A3-4-Z/BX ist ein NPN-Schliesser -> "true"
Variante b.: Kapazitiver Sensor LJC18A3-BZ/AX ist ein NPN-Öffner -> "false"
Variante c.: 2 Pinniger Endschalter als Öffner (Sig, GND) -> "false"

#define Z_MIN_ENDSTOP_INVERTING true // "true" Variante a., "false" bei Var. b. und c.
...
...
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // "true" Variante a., "false" bei Var. b. und c.

Der Min-Endstop ist gleichzeitig auch der Abstandssensor oder Servo-Taster:

#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN //3DP: keine Aenderung, weil Probe den Zmin Pin verwendet
...
...
#define FIX_MOUNTED_PROBE //3DP: Kommentarzeichen entfernen

Abstand des ind. oder cap. Sensors zum Hotend abmessen und im folgenden eintragen.
Dabei kann für den Z-Offset die folgenden Prozedur angewendet werden:
1.) Mit "G28" alle Achsen zurücksetzen. (Home all axis)
2.) Mit "G92 Z10" die Z-Achsen Position auf 10mm Höhe setzen ohne die Achse zu bewegen.
3.) In 0,1mm Schritten den Abstand vom Hotend zum Heizbett verringern bis nur noch ein Papierblatt dazwischen passt.
4.) Mit "M114" aktuelle Z-Position abfragen und das Delta als negativen Wert im folgenden eintragen
z.B. Z_PROBE_OFFSET_FROM_EXTRUDER = -(10mm - 9,2mm):

#define X_PROBE_OFFSET_FROM_EXTRUDER -25 //in mm
#define Y_PROBE_OFFSET_FROM_EXTRUDER 0
#define Z_PROBE_OFFSET_FROM_EXTRUDER -0.8 //Hier das gerade ausgemessene Delta eintragen.

XY-Geschwindigkeit sollte verringert werden, um keine Geschwindigkeitsbegrenzung zu erreichen.

#define XY_TRAVEL_SPEED 2000

Einschalten des 3-Punkte Autobed Levelings für ein planes Druckbett (Glasplatte oder präzisionsgefräste Platte).

#define AUTO_BED_LEVELING_3POINT //3DP: Enable

Definition der Testpunkte (in mm) für die Prozedur (passt für ein Druckbett mit 200x200mm Fläche). Diese werden angefahren und ausgemessen. Hier sollte man testweise mit kleinen Werten beginnen, damit der Sensor nicht aus dem Druckbett herausfährt.

#define ABL_PROBE_PT_1_X 15 //3DP: 200x200mm Heizbett (Sensor befindet sich 25mm rechts vom Hotend)
#define ABL_PROBE_PT_1_Y 160 //3DP: 200x200mm Heizbett (Sensor befindet sich 25mm rechts vom Hotend)
#define ABL_PROBE_PT_2_X 15 //3DP: 200x200mm Heizbett (Sensor befindet sich 25mm rechts vom Hotend)
#define ABL_PROBE_PT_2_Y 20 //3DP: 200x200mm Heizbett (Sensor befindet sich 25mm rechts vom Hotend)
#define ABL_PROBE_PT_3_X 130 //3DP: 200x200mm Heizbett (Sensor befindet sich 25mm rechts vom Hotend)
#define ABL_PROBE_PT_3_Y 20 //3DP: 200x200mm Heizbett (Sensor befindet sich 25mm rechts vom Hotend)

Nach dem Homing nicht in das Bettzentrum fahren, um beim Nullpunkt mit der Prozedur zu beginnen. Sonst kann es sein, dass das Hotend während dessen außerhalb des Druckbetts fährt. Die homing feedrate sollte verringert werden.

#define Z_SAFE_HOMING_X_POINT (0) //3DP: (X_MAX_LENGTH/2) mit 0 ersetzen
#define Z_SAFE_HOMING_Y_POINT (0)
...
...
#define HOMING_FEEDRATE_XY (30*60) //3DP: 40->30
#define HOMING_FEEDRATE_Z (2*60) //3DP: 4->2

3.) Änderung des Start G-Codes in Slic3r für alle Varianten

Zu Beginn des G-Codes muss nun G28 (Home all axis) und G29 (Auto-Bed-Leveling) durchgeführt werden. Unter Slic3r kann dies über den Custom G-Code im Fenster Start G-Code umgesetzt werden. Und fertig!

G28; home all axes: Unbedingt vorher durchführen.
G29; Auto bed level

Kommentare zum Tipp - Comments