Neulich gab es den BL-Touch mit Blitzversand beim großen Fluss. Da hab ich nicht lange nachgedacht und mit Blick auf meinen Creality CR-10 einen bestellt. Da ich hier aber noch unschlüssig bin welches Board ich hier verbauen möchte, vermutlich wird es aber doch ein RepRap-Board, habe ich den BL-Touch mal an meinen ANET A8 geschraubt für den Test. Der arme ANET, immer muss er herhalten… Den Sensor an sich bekommt man auch günstiger, primär über ALI-Express. Allerdings dann mit 14 Tagen Lieferzeit und mehr 🙁

Der BL-Touch ist ein Sensor der mit einem feinen Stift arbeitet und direkt den Abstand zur Oberfläche erfühlt. Dies erledigt er mit einem feinen Stift den er per Magnet ein und ausfährt. Der Sensor ist relativ „filigran“ (netteres Wort für nicht gerade stabil) konstruiert und sollte daher mit Vorsicht montiert und in Betrieb genommen werden. Da keine Anleitung oder Etwaiges beiliegt, hatte ich selbst erstmal einen Unfall und musste den BL-Touch erstmal reparieren^^ Das ist aber ein anderes Thema… Soviel sei aber gesagt: Lasst die Finger von diesem Stift und zieht Ihn nicht heraus oder macht sonst Etwas damit wo eure Finger dabei eine Rolle spielen. Das mag er nicht!

Zurück zum Thema:

Was Ihr braucht für RAMPS 1.4 und den BL-Touch:

Dieser Artikel zeugt Euch wie Ihr den BL-Touch an einem RAMPS-Board in Betrieb nehmt und was Ihr dafür braucht. Wenn Ihr ein RAMPS bereits installiert habt, dann braucht Ihr wirklich nur den BL-Touch. Ansonsten empfehle ich Euch diesen Artikel für den Aufbau mit einem RAMPS-Board. Hilfreiches Zubehör gibt allerdings schon noch. Eventuell habt Ihr das aber ja sowieso im Haus:

Schritt 1: Tauschen desZ- Endstops gegen den BL-Touch

Zunächst schauen wir uns an wie wir den BL-Touch mit unserem RAMPS-Board verbinden. Da ich hier ziemlichen Kabelsalat habe beim Testaufbau, zu Übersicht besser am Schaltbild vom REPRAP-Wiki. Für uns interessant sind die Pins des Z-Endstops. Diesen Endstop ersetzen wird durch den BL-Touch:

Auto-Leveling mit BL-Touch am RAMPS 1.4 und Marlin – läuft!

Hier verbinden wir die beiden Adern für die Schaltsignale des BL-Touch. Denkt daran, die Kabel für eure spätere Bedürfnisse entsprechend zu verlängen. Dazu knippst Ihr am besten ein gutes Stück Kabel samt Stecker ab und und verlängert dieses mit einem Adernpaar, in dem Ihr ein ausreichend langes Stück Kabel einlötet. Danach könnt Ihr die Adern für das Schaltsignal aufstecken.

Auto-Leveling mit BL-Touch am RAMPS 1.4 und Marlin – läuft!

Als nächstes brauchen wir noch eine Verbindung für die 3 Adern zur Sensorsteuerung, damit der Touch-Stift des BL-Touch auch korrekt angesteuert wird von eurem 3D-Drucker später im Betrieb. Dafür sind folgende Pins auf dem RAMPS interessant:

Auto-Leveling mit BL-Touch am RAMPS 1.4 und Marlin – läuft!

Wir brauchen zunächst eine Jumperverbindung für die beiden Pins links im Bild. Falls ihr keinen Jumper habt, könnt Ihr diese auch notfalls per Kabelbrücke verlöten. Damit stellt Ihr 5 Volt zu Verfügung am Servo-Ausgang des RAMPS-Shields.

Auto-Leveling mit BL-Touch am RAMPS 1.4 und Marlin – läuft!

Als nächstes verbinden wir die 3 übrigen Adern des BL-Touch mit dem RAMPS (Orange, Rot, Braun). Der Stecker des BL-Touch ist dafür schon perfekt, allerdings müsst Ihr vermutlich die Kabel für eure Bedürfnisse verlängern.

Auto-Leveling mit BL-Touch am RAMPS 1.4 und Marlin – läuft!

Danach ist die Verkabelung fertig und wir müssen nur noch die notwendigen Änderungen in der Firmware machen

Schritt 2: Änderungen in der Firmware und aktivieren des BL-Touch

Wir öffnen die Datei Configuration.h und machen dort folgende Anpassungen:

Als erstes stellen wir sicher, dass der Z-Endstop nicht invertiert interpretiert (toller Zungenbrecher) wird. Die Einstellung dazu finden wir ungefähr in Zeile

Auto-Leveling mit BL-Touch am RAMPS 1.4 und Marlin – läuft!

In ca. Zeile 583 stellen wir sicher, dass Marlin die Z-Entstop-Pins für den Sensor verwendet:

Auto-Leveling mit BL-Touch am RAMPS 1.4 und Marlin – läuft!

So um Zeile 637 entfernen wir die „//“ und kommentieren damit den „define BLTOUCH“ ein, siehe folgendes Bild. Damit weiß Marlin erstmal, das wir einen BL-Touch an unserem RAMPS verwenden wollen.

Auto-Leveling mit BL-Touch am RAMPS 1.4 und Marlin – läuft!

In ca. Zeile 784 geben wir unserm Drucker die Möglichkeit die Achsen in den Minus-Bereich zu fahren, was wir später für die Kalibierung brauchen. Das heißt aber auch das wir ab jetzt sorgfältig arbeiten müssen, da der Drucker die Nozzle in das Druckbett krachen kann. Wir können diese Einstellung nach der Kalibierung optional wieder rückgängig machen.

Auto-Leveling mit BL-Touch am RAMPS 1.4 und Marlin – läuft!

Danach müssen wir noch das AUTO-Leveling aktivieren. Dafür gehen wir ungefähr in Zeile 847. Ich hab mich für die bilineare Methode entschieden. Hier kann gerne später nach dem ersten Betrieb nach den eigenen Ansprüchen noch modifiziert werden. Bei mir war es nicht nötig.

Auto-Leveling mit BL-Touch am RAMPS 1.4 und Marlin – läuft!

So um Zeile 870 stellen wir die maximalen Messpunkte ein wo der Sensor messen darf. Diese Werte hier im Bild würde ich stark empfehlen für eine erste Inbetriebnahme. Letztlich hängen diese vom Format von eurem Druckett ab und Ihr müsst diese später noch entsprechend anpassen. Es geht um Fahrwege mit vorne links als Ausgangspunkt. Die Angabe erfolgt in Milimeter.

Auto-Leveling mit BL-Touch am RAMPS 1.4 und Marlin – läuft!

In Zeile 983 aktivieren wir noch das SAFE-Homing. Damit stellen wir sicher, dass zuerst X und Y eine Homing-Information haben müssen, bevor Z versucht wird zu nullen.

Auto-Leveling mit BL-Touch am RAMPS 1.4 und Marlin – läuft!

Danach seid Ihr mit der Anpassung fertig und könnt die Firmware auf euren Drucker laden.

Schritt 3: Der erste Test und die Kalibrierung des BL-Touch

Wenn Ihr nun alle bisherigen Todos richtig erfüllt habt, sollte der Sensor nach dem Einschalten erstmal einen Selbstest machen. Dafür fährt er 3 mal seinen Touch-Pin ein und aus und schließt den Test ab mit eingezogenem Pin und leuchtender roter LED. Sollte das nicht passieren, stimmt etwas nicht und Ihr müsst leider zurück auf Los ohne Auto-Leveling 😉 Überprüft dann nochmal die bisherigen Punkte. Wenn der Sensor blinkt, dann stimmt auch Etwas nicht.

Bevor Ihr nun versucht eure Achsen zu nullen, könnt Ihr mit folgenden Codes die Funktion des Sensors nochmal absichern. Diese Codes könnt Ihr über Octoprint eingeben oder über die Console in eurem Slicer wenn er mit dem Drucker verbunden ist:

Funkion Ergebnis
M280 P0 S10 Pin ausfahren
M280 P0 S90 Pin einfahren
M280 P0 S120 Selbsttest starten
M280 P0 S160 Alarm zurücksetzen (Wenn er blinkt)

Sollte alles in Ordnung sein, können wir den Sensor kalibieren und damit die Einrichtung abschließen:

Schritt 4: Abschließende Einrichtung und Kalibierung des BL-Touch unter Marlin mit RAMPS

Zunächst mal stellen wir sicher, dass der ausgefahrene Stift des BL-Touch tiefer hängt als die Nozzle. Das ist Grund-Vorrausetzung dafür das später alles richtig funktionieren kann. Das Z-Offset im Drucker sollte dann außerdem auf 0 stehen. Das können wir mit dem Befehl „M851 Z0″ sicherstellen. Danach machen wir ein Homing mit dem Befehl „G28″.
Der Drucker sollte nun alle Achsen homen und zum ersten mal auch mit dem Bl-Touch die Z-Achse. Nach dem Homing ist die Z-Achse nicht auf null. Das liegt daran das unser Offset noch nicht passt. Mit dem Befehl „G1 Z0“ fahren wir nun auf die Höhe, die unser Drucker gerade für 0 hält. Danach fahren wir mit 0,1-Schritten weiter nach unten in den negativen Bereich bis das Leveling stimmt.

Sobald das Leveling stimmt zeigt uns das Drucker-Display nun das neue Offset an das wir brauchen. Zum Beispiel -1.5 Diesen Wert (euren!), speichern wir nun im Drucker mit dem Befehl „M851 Z<euer Wert>„. Danach speichern wir noch die Konfiguration mit „M500“ im EEPROM. Damit sind wir dann fertig mit G29 können wir nun auch das Auto-Leveling verwenden.

Anschließen räumt Ihr mit dem neuen Offset-Wert noch die Firmware wieder auf. Besonders die „Probe_Bed_Positions“ sie oben.

Und dann seid Ihr fertig J

Viele Grüße und Happy Printing!