Mit der Nutzung unseres Shops erklären Sie sich damit einverstanden, dass wir Cookies verwenden.   Mehr Informationen
Einverstanden

Cbot3D und BLTouch Auto Bed Leveling

Einsatz des BLTouch Sensors mit Cbot3D Druckern

Zum heutigen Zeitpunkt kann der BLTouch Sensor nur mit folgenden Cbot3D Druckern verwendet werden:

  • Cbot3D C-K1 / C-K1x
  • Cbot3D C-D1 / C-D1x

Die Modelle C-K2 und C-N1 bleiben vorläufig aussen vor, da diese ein anderes Mainboard haben, welches den BLTouch (noch) nicht unterstützt.
Sobald sich dies ändert werden wir die notwendigen Informationen nachliefern.

Wichtig: Bevor mit dem Umbau begonnen wird sollte die Halterung für den Sensor gedruckt werden.

BLTouch Halterung für Cbot3D Drucker

Die Halterung passt auf jeden Cbot3D-Drucker!

Aktualisieren der Firmware

Bevor der BLTouch montiert und verwendet wird muss die Board-Firmware (Marlin) des Druckers aktualisiert werden.
In diesem Fall geht das leider nicht mehr einfach über eine SD-Speicherkarte, sondern muss über den Computer unter Verwendung der Arduino Programmiersoftware erfolgen (ist aber auch keine Hexerei).

Für das weitere Vorgehen gehe ich davon aus, dass die Arduino-Treiber auf dem Computer installiert sind. Dies kann z.B. beim Installieren von Cura erfolgen.

Download Arduino IDE und der U8glib Bibliothek

Zuerst muss die Arduino IDE auf dem Computer installiert werden. Ich habe die Version 1.8.5 verwendet.
Die IDE kann hier heruntergeladen werden:

https://www.arduino.cc/en/main/software

Am einfachsten geht es mit dem entsprechenden Installer-Paket.

Installation der U8glib Bibliothek

Der Cbot3D verwendet die zusätzliche Grafikbibliothek U8glib. Diese muss in der Arduino IDE zusätzlich installiert werden.

Laden Sie die Bibliothek hier herunter und speichern Sie das ZIP-Archiv U8glib.zip auf der Festplatte ab.

U8glib Bibliothek

Die Bibliothek wird installiert indem in der Arduino IDE Sketch -> Include Library -> Add .ZIP Library ausgeführt und damit das eben heruntergeladene Archiv in die Arduino IDE eingebettet wird.

Download der Firmware

Die für die Cbot3D-Drucker angepasste Marlin-Firmware-Version kann hier heruntergeladen werden:

Einfach das entsprechende Archiv herunterladen und auf die Festplatte entpacken (z.B. in einen Ordner C:\Arduino).

Firmware flashen

  1. Verbinden Sie den 3D-Drucker mit dem Computer über ein USB-Kabel.
  2. Starten Sie jetzt die Arduino IDE und öffnen Sie die Datei Marlin.ino im Unterordner Marlin der auf der Festplatte entpackten Marlin-Firmware.
  3. Wählen Sie unter Tools -> Board das Board mit der Bezeichnung Arduino/Genuino Mega or Mega 2560.
  4. Wählen Sie unter Tools -> Processor den Eintrag ATmega2560 (Mega 2560).
  5. Wählen Sie unter Tools -> Port die Schnittstelle, über welche sich der Drucker ansprechen lässt. Die entsprechende Schnittstelle muss in der Liste aufgeführt sein, ansonsten ist der Drucker nicht verbunden, nicht eingeschaltet oder der Arduino-Treiber nicht installiert.
  6. Wählen Sie unter Tools -> Programmer den Eintrag Arduino as ISP.
  7. Um nun die Firmware auf den Drucker zu übertragen wählen Sie Sketch -> Upload. Die Firmware wird zuerst compiliert und dann direkt auf den Drucker übertragen. Das Ganze dauert ca. 1 - 2 Minuten. Am unteren Rand des Arduino-Programmfensters kann der Fortschritt überwacht werden. Wenn in der türkisfarbenen Zeile Done Uploading angezeigt wird ist der Vorgang abgeschlossen.
  8. Bevor der BLTouch montiert ist sollte jetzt möglichst kein Home-Z auf dem Drucker ausgeführt werden!

Montage des Sensors

Damit der Sensor mit dem Mainboard verbunden werden kann muss das Bodenblech des Druckers abmontiert werden. Legen Sie dazu den Drucker vorsichtig auf die Seite.

Der vorhandene Endschalter für die Z-Achse kann ausgebaut oder wenigsten etwa 5 mm nach oben verschoben werden, damit er nicht in den Weg kommt.

  1. Entfernen Sie die Lüfterdüse auf der rechten Seite des Extruders, indem Sie die 2 versenkten Schrauben durch die Löcher in der Düse hindurch lösen (2 oder 2.5 mm Inbus).
  2. Lösen Sie auch die Halteschraube, mit welcher der Turbolüfter am Montagebügel befestigt ist.
  3. Der Original-Montagebügel wird nun ersetzt durch die BLTouch-Halterung, die Sie sich hoffentlich im Vorfeld ausgedruckt haben. Schrauben Sie das System wieder zusammen.
  4. Befestigen Sie nun den BLTouch Sensor mit 2 Schrauben M3 x 8 und 2 Muttern M3 an der dafür vorgesehenen Stelle am Montagebügel.
  5. Führen Sie die Kabel des BLTouch entlang des Kabelbaums zum Mainboard. Beim C-D1 müssen die Kabel verlängert werden. Entsprechende Kabel finden Sie bei uns im Shop.
  6. Der 3-polige Stecker des BLTouch kommt jetzt auf die Kontaktreihe D11 und zwar so, dass das rote Kabel zur Aussenseite des Mainboards zeigt.
  7. Der 2-polige Stecker des BLTouch kommt auf die Anschlussbuchse des Z-Endschalters, so wie in der folgenden Abbildung gezeigt:
    (Bild einfügen!!!)

Test

Nachdem die Firmware aktualisiert und er Sensor angeschlossen ist können wir einen ersten Test fahren.

Einschalttest

Nach dem Einschalten des Druckers führt der Sensor einen Selbsttest durch. Dabei wird der Bolzen des Sensors aus- und wieder eingefahren und der Sensor leuchtet danach in dauerrot.
Der gleiche Test wird übrigens auch durchgeführt, wenn der Computer über USB mit dem Drucker verbunden wird.

Direkte Ansteuerung des Sensors

Wer ein entsprechendes Programm instaliert hat, mit dem GCode-Befehle direkt an den Drucker geschickt werden können (z.B. Pronterface bzw. mit der Arduino IDE) kann die Funktionsweise des Sensors ganz komfortabel mit diesem Programm überprüfen, indem folgende GCode-Befehle an den Drucker gesendet werden:

BLTouch GCode Befehle
Befehl Funktion
M280 P0 S10 Fährt den Bolzen aus. Das Licht erlischt.
M280 P0 S90 Fährt den Bolzen ein. Der Sensor leuchtet in dauerrot.
M280 P0 S120 Selbsttest. Der Bolzen fährt wiederkehrend ein und aus. Der Sensor leuchtet rot.
Das Spiel geht so lange bis einer der obigen Befehle gesendet oder ein Alarm ausgelöst wird,.
M280 P0 S160 Alarm löschen.
Wenn der BLTouch einen Fehler erkennt blinkt er in rot um eine Störung anzuzeigen.
Mit diesem Gcode kann der Alarm zurückgesetzt werden.

 

Homing Test

Als nächstes gehen Sie in's Menü Home auf dem Drucker und wählen Home All.
Der Drucker muss jetzt in den Achsen X und Y auf die Nullposition fahren. Danach bewegt sich der Druckkopf in die Mitte des Druckbetts und positioniert die Z-Achse mit Hilfe des BLTouch Sensors.

Wenn das wie gewünscht funktioniert sind wir schon fast am Ziel.

Kalibrierung

Um eine möglichst exakte Ausrichtung des Sensors und damit den perfekten Abstand zwischen Düse und Druckbett zu erreichen muss der BLTouch noch kalibriert werden, bzw. der Z-Offset muss richtig eingestellt werden.
Da dieser Vorgang vom Touchscreen-Display leider nicht unterstützt wird müssen wir einen Computer zu Hilfe nehmen und mit einem USB-Kabel mit dem Drucker verbinden.

Am einfachsten geht die Kalibrierung mit unserem Maja3D Printing Tool! Wie das geht steht in der Bedienungsanleitung des Programms.
Wer es trotzdem lieber in Handarbeit erledigen möchte liest hier einfach weiter.

Grundsätzlich sollte das Druckbett in sich natürlich schon eben ausgerichtet sein und nicht völlig schräg in der Weltgeschichte herum stehen.

Um die für die Kalibrierung erforderlichen GCode-Befehle an den Drucker senden zu können benötigen wir ein entsprechendes Programm, wie z.B. Pronterface. Alternativ geht das auch sehr gut mit der Arduino IDE über den Menüpunkt Tools -> Serial Monitor. Allerdings müssen hier noch die Schnittstellenparameter korrekt eingestellt werden auf Newline und 115200 baud. Danach kann der zu sendende Befehl jeweils in der Eingabezeile oben am Fensterrand eingegeben und mit Send übermittelt werden.

  1. Senden Sie zuerst den Befehl M851 an den Drucker und notieren Sie sich den aktuell eingestellten Z-Offset. Dies einfach so um festzustellen, ob sich etwas geändert hat.
  2. Falls der aktuelle Z-Offset nicht 0.00 mm ist senden Sie den Befehl M851 Z0 an den Drucker, um den Offset auf 0 einzustellen.
  3. Senden Sie jetzt den Befehl G28 an den Drucker. Der Drucker führt jetzt einen Nivelliervorgang durch.
  4. Senden Sie jetzt den Befehle G0 Z0 an den Drucker. Die Düse fährt jetzt in die 0-Position.
  5. Als nächstes muss jetzt der Abstand der Düse zum Druckbett gemessen oder geschätzt werden.
  6. Senden Sie jetzt den Befehl M851 Zzzz an den Drucker wobei zzz durch den vorher gemessenen bzw. geschätzten Wert ersetzt werden muss (also. z.B. M851 Z-0.7).
  7. Wiederholen Sie die Schritte 3 bis 6 allenfalls mit leicht angepasstem zzz Wert, bis der Düsenabstand stimmt.
  8. Um die Einstellung auf dem Mainboard zu speichern senden Sie jetzt noch den Befehl M500 an den Drucker.

Anpassungen im Start-GCode

Damit das Auto Bed Leveling beim Starten eines Drucks ausgeführt wird müssen wir noch den entsprechenden Befehl im Start-GCode des Slicers (Cura, Repetier-Host, Simplify3d etc.) einfügen.

Dazu müssen folgende Befehle im Startcode eingefügt werden:

  • G28
  • G29
  • M280 P0 S90

copyright: 3D-Druckerzentrum Schweiz 2018