Skip to content

BLTouch Installation (deutsch)

Oliver Köster edited this page Oct 28, 2020 · 42 revisions

Installation und Konfiguration des BL Touch Sensors

Was wir benötigen

  • BL Touch Sensor (nach Möglichkeit ein originaler und kein China-Clone, da diese deutlich schlechter arbeiten und über die Zeit extreme Abweichungen aufweisen können, so dass das Bett bzw das Mesh hinterher "schief" hängt)

  • 1x 100cm Servo-Verlängerung

  • 1x 50cm Servo-Verlängerung

  • Lötkolben (kauft euch nichts billiges bitte.)

  • Lötzinn mit Flussmittel-Kern

  • PC mit USB + Pronterface

  • Etwas Zeit

Einbau des Sensors

Halterung

Zuerst benötigt man eine Halterung für den Sensor. Wo man ihn anbringt ist eigentlich egal, er sollte nur so dicht wie möglich und so weit weg wie nötig an der Düse sein. Ich habe mich dafür entschieden, ihn direkt in das originale Hotend-Gehäuse einzubauen und dafür diese Halterung verwendet:

https://www.thingiverse.com/thing:2824005

Hierbei beträgt der Offset des Sensors X=-2 Y=-25 und Z=0. Diese Werte sind als Standard schon gesetzt. Für andere Halterungen wie den X-Carriage wären die Werte z.B. X=29 Y=-15 und Z=0. All dies lässt sich aber im späteren Verlauf noch per GCODE anpassen.

Verdrahtung

Die Verdrahtung ist vergleichsweise einfach, da beim i3 Mega (M/S/X) schon ein unbelegter Sensor-Pin vorhanden ist. Da Masse auch abgreifbar ist, benötigt man nur zwei Lötpunkte auf der kleinen Hotend-Platine. Hier kann man die mitgelieferte 2-Pin-Stiftleiste einfach anlöten.

Nachfolgende Grafik kommt nicht von mir, sondern von einem User in irgendeinem Forum. leider weiß ich nicht wer der Autor ist und ich hoffe einfach, dass ich die Grafik so verwenden darf. (An den Autor der Grafik: Wenn das nicht okay, ist, dann melde dich bitte bei mir)

BLTouch wiring

Alternative Verdrahtung

Der User will-stevenson hat mich darauf aufmerksam gemacht, dass man statt der 2-Pin Stiftleiste auch die G1-G2-G3 Pins verwenden kann, wenn man H3 und H4 brückt (Siehe: https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/issues/12). Hierbei erhält man eine sauberere Lösung, die nicht so sehr gebastelt aussieht. Dafür muss man an dem BLTouch Sensor den 2-Pin Stecker gegen einen 3-Pin tauschen.

BLTouch wiring

Die eine Servo-Verlängerung führt man oben an der Platine vorbei nach außen. So dass nichts klemmt. Vor dem Stecker ist für das Kabel genug Platz. Die Platine kann man danach festschrauben:

Die langen Kabel kann man entweder kürzen oder mit einem Kabelbinder zähmen ;)

Und so sollte es ungefähr aussehen, wenn man die Platine mit der neuen Stiftleiste bestückt wieder eingebaut hat:

Bei der Kabelführung zum Hotend muss man ein wenig vorsichtig sein, um nicht die Heizpatrone abzureißen. Es passt aber alles:

Wenn der Sensor richtig sitzt, sollte die eingefahrene Spitze so aussehen. Ausgefahren muss sie tiefer ragen, als die Düse.

Und so sieht es zusammengebaut aus. Das Servokabel legen wir einfach mit in den schwarzen Führungsschlauch...

...wo es am Ende wieder herauskommt:

Die drei Adern des BL Touch Sensors steuern den Servo, welcher die Spitze ein- und ausfahren kann. Diese müssen korrekt auf die Pins des Trigorilla-Mainboards gesteckt werden. Wichtig ist hierbei zu beachten, welches Board man besitzt (TRIGORILLA_14 v1.0 oder v1.1), da sich hier die Pinbelegung geändert hat. Also bitte nicht einfach draufstecken und hoffen, sondern ganz exakt prüfen, ob die Pins stimmen und man das richtige Board ausgewählt hat.

Die zweite Servo-Verlängerung wird im Drucker verlegt und verbindet die erste Verlängerung mit dem Mainboard. Man kann es ohne Veränderung direkt zwischen den Buchsen auf der Anycubic Hub Platine vorbeiziehen:

Und dann nach oben unter dem Mainboard hindurch zu dem Servoport legen:

Es gibt unterschidliche varianten von Servo Verlängerungen. Am weitesten verbreitet sind Graupner/JR und Futaba:

weiß / orange = Signal

rot = +5V

schwarz / braun = Masse/Ground

Um den BLTouch nun richtig am Trigorilla Board anzuschliesen muss +5V und –GND getauscht in den meisten Fällen getauscht werden, damit die Belegung am Board stimmt. Der Stecker darf nicht einfach aufgesteckt werden. Die Pins müssen erst aus dem Stecker herausgenommen und dann wieder in der oben beschriebenen Reihenfolge eingesteckt werden. +5V ist unten, Masse/GND in der Mitte und der Servo-Pin oben.

Wie mir der User bzw die Userin Denise mitgeteilt hat, gibt es von Creality einen Sensor, den man auch verbauen kann und welcher schon die korrekte Pinbelegung aufweist. Passt also bitte beim Einbau auf, dass ihr nicht versehentlich + und - vertauscht!

Test 1

Schaltet man den Drucker nun ein, müsste sich die Spitze des Sensors im Sekundentakt ein paar Mal ein- und ausfahren. Tut sie es nicht, ist an der Servo-Verbindung etwas falsch.

Installation der Firmware

Die Installation kann wie gewohnt über Cura geschehen. Wenn du dir nicht sicher bist, welches Board du hast, versuche es zuerst mit der 1.0 (_10 Markierung) von hier: https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/#downloads

Test 2

Starte über das Special-Menu das BLTouch Leveling. Nach dem Fahren auf Home hebt die Düse sich an und fährt auf den ersten Punkt bei X40 Y40 und sollte dann die Spitze des Sensors ausfahren. Falls das nicht passiert SOFORT den Drucker ausschalten und die Firmware mit der _11 Markierung probieren. Wenn es dann immer noch nicht klappt, ist die Verkabelung nicht korrekt.

Konfiguration

Für die nächsten Schritte brauchen wir den Drucker, einen PC und Pronterface

  1. Bett aufheizen
  2. G28
  3. G90
  4. G1 Z10
  5. G1 X40 Y40 F4000
  6. M280 P0 S10
  7. G91
  8. Mit G1 Z-1 bzw G1 Z-0.1 oder G1 Z-0.02 die Düse langsam absenken, bis der Sensor auslöst. NICHT WEITER!
  9. Wenn der Sensor ausgelöst hat und blinkt: M280 P0 S160
  10. M114 = Aktuelle Position der Düse -> Merken! (z.B. Recv: X:40.00 Y:40.00 Z:1.30 E:0.00 Count X:3200 Y:3200 Z:520)
  11. G90
  12. G1 X38 Y15 F4000 (Werte von Punkt 10 + Offset des Sensors, also X=40-2 und Y=40-25)
  13. G91
  14. Ein Blatt Papier unter die Düse legen
  15. Mit G1 Z-1 bzw G1 Z-0.1 oder G1 Z-0.02 die Düse langsam absenken, bis sich das Papier nur noch schwer bewegen lässt.
  16. M114 = Aktuelle Position der Düse -> Merken! (z.B. Recv: X:42.00 Y:65.00 Z:0.70 E:0.00 Count X:3200 Y:3200 Z:520)
  17. Z-Wert aus Punkt 16 von dem aus Punkt 10 abziehen -> 1,30 - 0,7 = 0,6 mm -> Das ist unser Z-Offset.
  18. M851 Z-0.6
  19. M500
  20. Über das Display noch einmal BL Touch leveling ausführen. Fertig.

Ab jetzt muss man nie wieder etwas ändern. Das Autoleveling kann jederzeit ausgeführt werden. Nach dem erfolgreichen Durchlauf wird das erstellte Mesh automatisch gespeichert.

Anwendung

Um das Mesh-Leveling vor dem Druck auch zu laden und zu "beachten", muss im Startcode nach dem G28 folgendes eingefügt werden: M420 S1

Das war's.

Hier ist das Auto-Leveling in Action zu sehen:

BLTouch on Youtube

Fehlerbehebung

Wenn alles richtig erscheint und das automatische Leveln startet, jedoch beim zweiten Messpunkt stoppt und in Pronterface die Fehlermeldung "Probing Failed" erscheint, so ist dies ein Indiz dafür, dass der Z-Offset nicht korrekt eingestellt wurde und der Sensor plötzlich einen Punkt erreicht, der unterhalb der Nozzle liegt.

Nachtrag

Sollte sich dein Sensor an einer anderen Stelle befinden, so kannst du nicht nur den Z, sondern auch X und Y Offset mit dem Gcode M851 ändern. (Siehe: https://marlinfw.org/docs/gcode/M851.html )

Außerdem ist meine Variante des Einbaus nur eine von Vielen. Wenn du den Servo-Port für etwas anderes benutzt, kannst du auch einen danebenliegenden Pin verwenden. Der muss dann natürlich in der Firmware angepasst werden. Meine vorkompilierten Firmwareversionen beziehen sich immer auf die von mir vorgeschlagene Pinbelegung.