-
-
Notifications
You must be signed in to change notification settings - Fork 190
BLTouch Installation (deutsch)
-
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)
-
Lötkolben (kauft euch nichts billiges bitte.)
-
PC mit USB + Pronterface
-
Etwas Zeit
-
Optional: 2x neue Lüfter
(Die obigen Links sind affiliate-Links zu Aliexpress. Ihr könnt natürlich auch woanders kaufen. Mir ist das nicht wichtig. Aber ihr zahlt ja nicht drauf, wenn ihr die Links benutzt und unterstützt damit dieses Projekt etwas. Danke :) )
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:5030218
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.
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)
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.
Der User Stefan Kalscheuer machte mich in diesem Ticket darauf aufmerksam, dass die Verdrahtung beim MEGA Pro eine andere ist und hat dabei gleich zwei Lösungen dokumentiert um den BL Touch Sensor elegant am MEGA Pro anzuschließen. Hierbei kann der freie "X-Stop" Anschluss verwendet werden, wenn man entweder im oberen grünen Stecker die zwei Leitungen A5 und B5 wechselt, oder in der Firmware den Z_MIN_PROBE_PIN
(2) gegen den X_STOP_PIN
(3) tauscht.
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!
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.
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
Starte über das Special-Menu das Autoleveling. 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.
Für die nächsten Schritte brauchen wir den Drucker, einen PC und Pronterface
- Bett aufheizen mit
M140 S60
wobei S60 für 60°C steht. -
G28
(Auf Home Position fahren + Endschalter einmessen) -
G90
(Absolute Positionierung einschalten) -
G1 Z10
(Z Achse anheben) -
G1 X40 Y40 F4000
(Mit der Düse auf X40 Y40 fahren) -
M280 P0 S10
(BL Touch Stift ausfahren) -
G91
(Relative Positionierung aktivieren) - Mit
G1 Z-1
bzw.G1 Z-0.1
oderG1 Z-0.02
die Düse langsam absenken, bis der Sensor auslöst. NICHT WEITER! - Wenn der Sensor ausgelöst hat und blinkt:
M280 P0 S160
(Position vom BLTouch zurücksetzen) -
M114
= Aktuelle Position der Düse ermitteln und merken! (z.B. Recv: X:40.00 Y:40.00 Z:1.30 E:0.00 Count X:3200 Y:3200 Z:520) -
G90
(Absolute Positionierung einschalten) -
G1 X38 Y15 F4000
(BL Touch Sensor an genau dieselbe Position fahren, an der die Düse eben war) -
G91
(Relative Positionierung aktivieren) - Ein Blatt Papier unter die Düse legen
- Mit
G1 Z-1
bzw.G1 Z-0.1
oderG1 Z-0.02
die Düse langsam absenken, bis sich das Papier nur noch schwer bewegen lässt. -
M114
= Aktuelle Position der Düse ermitteln und merken! (z.B. Recv: X:38.00 Y:38.00 Z:0.70 E:0.00 Count X:3200 Y:3200 Z:520) - Punkt, an dem Düse das Bett berührte (16) von dem Punkt an dem der Sensor auslöste (10) abziehen -> 1,30 - 0,7 = 0,6 mm -> Das ist unser Z-Offset.
-
M851 Z-0.6
(Z-Offset speichern. Achtung! Negatives Vorzeichen!) -
M500
(Einstellungen im EEPROM sichern) -
G28
(Auf Home Position fahren) -
M211 S1
(Software-Endstops einschalten) -
G29
(Das erste Mal das AutoLeveling ausführen. Sicherheitshalber mit Software-Endstops um die Düse im Fehlerfall aufzuhalten) - Nach Abschluss entweder mit
M500
das Mesh sichern, oder von nun an über das Special Menu sowohl Z-Offset einstellen als auch jederzeit ein neues AutoLeveling starten.
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.
Das war's.
Hier ist das Auto-Leveling in Action zu sehen:
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.
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.
*Es muss jetzt keine großzügige Spende sein. Ein paar Cent reichen um mir zu zeigen, wer überhaupt Interesse daran hat und wem die Weiterentwicklung wichtig ist. So bleibt die Motivation da und ich weiß einfach, dass ich nicht für die Tonne programmiere ;)
*It doesn't have to be a generous donation. A few cents are enough to show me who is interested in further development. So the motivation stays and I just know that I am not programming for the bin ;)