klipper_faq:eddy:bd_sensor
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
klipper_faq:eddy:bd_sensor [2025/01/12 15:37] – [Anschluss am Board] dominik | klipper_faq:eddy:bd_sensor [2025/01/12 16:20] (current) – [Hinweise] dominik | ||
---|---|---|---|
Line 7: | Line 7: | ||
\\ | \\ | ||
+ | ===== Hinweise ===== | ||
+ | Zu Beginn vielleicht ein paar Eindrücke von mir zu dem Sensor: | ||
+ | * Unordered List ItemWenn er einmal eingestellt ist, dann funktioniert der Sensor gut und auch zuverlässig. Ich finde allerdings die Konfiguration schon ziemlich kompliziert. Mir fehlt da in der original Anleitung auch noch etwas der rote Faden. Das ist bei anderen Eddy Sensoren mitunter deutlich besser gelöst. | ||
+ | * Die Einstellung von second_homing_speed fand ich sehr zeitaufwendig und fehlerträchtig. Hier kann man sich schnell das Druckbett ruinieren (bei mir passiert) oder den Kopf verbiegen. Also hier sehr bedacht vorgehen und immer einen Finger am Ausschalter ... | ||
+ | * Die Halterung für den StealthBurner mag ich persönlich gar nicht. Die ist in meinen Augen eine Fehlkonstruktion. Man kriegt das nur mit großen Mühen korrekt eingestellt (oder ich hab zu linke Hände ;-) ). | ||
+ | * Der Umstand das der Sensor I2C nutzt gefällt mir auch nur so semi. Ich denke das macht es für viele User sehr kompliziert weil beim Klipper Kompilieren für das Druckerboard immer an den BD Sensor Code gedacht werden muss. Für einen Nichtentwickler mitunter etwas verwirrend. | ||
+ | * Mit meinem Spider V1 Board habe ich den Sensor nicht ans Laufen bekommen. Hier kamen immer I2C Fehler (Siehe ganz unten auf dieser Seite). Ich könnte das nur durch einen Board Tausch auf ein Spider H7 lösen. | ||
+ | * Die Anleitung hier erhebt keinen Anspruch auf Vollständigkeit. Der ganze BDSensor Umbau hat bei mir aus diversen Gründen sicherlich 3 Wochen gedauert. Gut möglich das ich hier nicht mehr alles niederschreiben konnte. Aber ich hoffe das Groh notiert zu haben. | ||
+ | * Ich hatte auch Probleme mit der Black Print Druckplatte. Oder sagen wir generell mit Druckplatten die eine dickere nicht metallische Oberfläche haben. Der Sensor kam bei mir damit nur selten korrekt zurecht. Erst eine normale strukturierte PEI Platte hat da Abhilfe geschaffen. | ||
+ | * Grundsätzlich sollte man sich vorher nochmal genau diese Seiten der original Doku ansehen: \\ https:// | ||
===== Übersicht ===== | ===== Übersicht ===== | ||
* https:// | * https:// | ||
Line 88: | Line 98: | ||
Ich habe deshalb den Kopf immer auf 0,5mm ca. Richtung Bett gefahren (Nozzle zu Bett Abstand) und dann vorsichtig den Kopf demontiert (im bestromten Zustand). Das ist keine wirklich gute Lösung, aber so bleibt wenigstens der Kopf an der richtigen Stelle stehen. | Ich habe deshalb den Kopf immer auf 0,5mm ca. Richtung Bett gefahren (Nozzle zu Bett Abstand) und dann vorsichtig den Kopf demontiert (im bestromten Zustand). Das ist keine wirklich gute Lösung, aber so bleibt wenigstens der Kopf an der richtigen Stelle stehen. | ||
===== Konfiguration ===== | ===== Konfiguration ===== | ||
- | * [BDsensor] Sektion | + | ==== BDSensor.cfg ==== |
- | * Make sure there are [safe_z_home], | + | |
- | * [stepper_z] -> H7 | + | |
- | * endstop_pin | + | |
- | * homing_speed | + | |
- | * second_homing_speed | + | |
- | * homing_retract_speed | + | |
- | * homing_retract_dist | + | |
- | * [bed_mesh] | + | |
- | * horizontal_move_z | + | |
- | * probe_count | + | |
- | * zero_reference_position | + | |
+ | Ich habe mir für meine Konfiguration eine extra CFG Datei angelegt mit folgendem Inhalt: | ||
+ | <code | BDSensor.cfg> | ||
+ | [BDsensor] | ||
+ | # Don't use aliases for the board pins | ||
+ | sda_pin | ||
+ | scl_pin | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # This speed is only for the z probe speed while doing z_tilt. not for the homing speed | ||
+ | speed : 3 | ||
+ | # This is the time period (speed)for the communication between mcu and bdsensor, that means lower value the higher communication speed. | ||
+ | delay : 20 # you can set it 10 if the BDsensor version is >=1.2 | ||
+ | # This value will be ingnored if nozzlecollision is enabled | ||
+ | z_offset | ||
+ | x_offset | ||
+ | y_offset | ||
+ | no_stop_probe: | ||
+ | # it will stop the z axis if it measure the distance is <=1.2mm while homing z to avoid crash into the bed. and then set the z value to the actual read distance value. | ||
+ | # it will not raise nozzle 1.2mm | ||
+ | position_endstop | ||
+ | ## The Sensor is attached to the board where the Z stepper are attached, too. | ||
+ | collision_homing | ||
+ | collision_calibrate : 0 # set it 1 to enable auto calibrate BDsensor with nozzle collision sensing. | ||
+ | QGL_Tilt_Probe | ||
+ | |||
+ | #2. If I don´t use the Auto Calibration ... Do I need to set an Z offset so that the first layer can be printed without the nozzle touching the bed directly? | ||
+ | #Or is it position_endstop? | ||
+ | #### the only difference is that it will home z first with nozzle touching to find the 0 position if collision_calibrate: | ||
+ | |||
+ | #If I set second-homing-speed to high (> 1.5) my stealtburner starts to bend because the head stops to late. | ||
+ | #### this depends on the mount height and the material of the bed plate, | ||
+ | # | ||
+ | |||
+ | # https:// | ||
+ | [gcode_macro QUAD_GANTRY_LEVEL] | ||
+ | rename_existing: | ||
+ | description: | ||
+ | gcode: | ||
+ | #run z tilt with z move up and down at first | ||
+ | BDSENSOR_SET QGL_TILT_PROBE=1 #set this 1 to enable z axis up and down | ||
+ | BDSENSOR_SET COLLISION_HOMING=0 | ||
+ | _QUAD_GANTRY_LEVEL | ||
+ | G28 Z0 | ||
+ | #run z tilt with no z move up and down | ||
+ | BDSENSOR_SET QGL_TILT_PROBE=0 #set this 0 to disable z axis up and down while probe | ||
+ | _QUAD_GANTRY_LEVEL horizontal_move_z=1 retry_tolerance=0.04 | ||
+ | # | ||
+ | G28 Z0 | ||
+ | |||
+ | # https:// | ||
+ | [gcode_macro G28] | ||
+ | rename_existing: | ||
+ | gcode: | ||
+ | {% if rawparams|length == 0 %} | ||
+ | { action_respond_info(" | ||
+ | | ||
+ | ## Homing with contactless probe with the homing_speed in [stepper_z] | ||
+ | | ||
+ | | ||
+ | ## Homing with contact probe with the second_homing_speed in [stepper_z] | ||
+ | | ||
+ | | ||
+ | {% else %} | ||
+ | {% if ' | ||
+ | { action_respond_info(" | ||
+ | | ||
+ | {% endif %} | ||
+ | {% if ' | ||
+ | { action_respond_info(" | ||
+ | | ||
+ | {% endif %} | ||
+ | {% if ' | ||
+ | { action_respond_info(" | ||
+ | ## Homing with contactless probe with the homing_speed in [stepper_z] | ||
+ | | ||
+ | | ||
+ | { action_respond_info(" | ||
+ | ## Homing with contact probe with the second_homing_speed in [stepper_z] | ||
+ | | ||
+ | | ||
+ | {% endif %} | ||
+ | {% endif %} | ||
+ | </ | ||
+ | |||
+ | Diese Konfig beinhaltet einige Anpassungen | ||
+ | * Der Versuch ein paar mehr Erklärungen zu den Konfig Parametern einzubauen | ||
+ | * G28 Erweiterung die verhindert das der erste Prob Versuch auf dem Bett erfolgt. Siehe dazu auch \\ https:// | ||
+ | * Anpassung für **Quad Gantry Level**. Wenn ihr Z_TILT verwendet gibt es hier eine Alternative: | ||
+ | * Der **y_offset** muss korrekt eingestellt werden. Das ist der Abstand von der Nozzle Mitte zur BD Sensor Mitte. | ||
+ | * Wenn ihr Auto Z Probing haben wollt, dann müssen diese beiden Parameter auf 1: collision_homing & collision_calibrate. Für den Start und die erste Kalibrierung sollte das aber erstmal auf 0 stehen. | ||
+ | |||
+ | ==== [safe_z_home] ==== | ||
+ | In der Konfig sollte es ein safe_z_home geben. home_xy_position auf die Bettmitte setzen | ||
+ | < | ||
+ | [safe_z_home] | ||
+ | # https:// | ||
+ | home_xy_position | ||
+ | speed : 300 | ||
+ | z_hop : 5 | ||
+ | z_hop_speed | ||
+ | </ | ||
+ | |||
+ | ==== [bed_mesh] ==== | ||
+ | bed_mesh muss auch angepasst werden. Hier vor allem die Anzahl der Messpunkte: | ||
+ | |||
+ | <code | download> | ||
+ | [bed_mesh] | ||
+ | ## https:// | ||
+ | ## https:// | ||
+ | speed : 200 | ||
+ | horizontal_move_z | ||
+ | mesh_min | ||
+ | mesh_max | ||
+ | probe_count | ||
+ | mesh_pps | ||
+ | algorithm | ||
+ | bicubic_tension | ||
+ | ## relative_reference_index = (x points * y points) - 1) / 2 | ||
+ | ## Samples : 3x3 mesh = 4, 5x5 mesh = 12, 7x7 mesh = 24, etc | ||
+ | # | ||
+ | zero_reference_position | ||
+ | </ | ||
+ | |||
+ | Zudem muss zero_reference_position auf der Bettmitte stehen und mesh_min / mesh_max muss so eingestellt sein das der Sensor über eurem Bett ist! | ||
+ | |||
+ | ==== [stepper_z] ==== | ||
+ | Hier müssen einige Werte angepasst werden: | ||
+ | |||
+ | <code | download> | ||
+ | endstop_pin | ||
+ | # | ||
+ | position_max | ||
+ | position_min | ||
+ | # BD Sensor | ||
+ | homing_speed | ||
+ | second_homing_speed | ||
+ | homing_retract_speed | ||
+ | homing_retract_dist | ||
+ | </ | ||
+ | |||
+ | * Der Endstop Pin muss auf einen virtuellen Endstop gesetzt werden. | ||
+ | * position_endstop auskommentieren | ||
+ | * second_homing_speed muss man ermitteln wenn man collision Sensing machen möchte. Siehe dazu auch das Video ! | ||
+ | * homing_retract_dist muss auf 0 auf Collision Sensing (Auto Z Level) und auf 5 bei manuellem Leveln | ||
+ | |||
+ | ==== Eintrag für Kalibrierung ==== | ||
+ | Bei manueller Kalibrierung muss dieser Eintrag noch in die Konfig: | ||
+ | |||
+ | < | ||
+ | # BD Sensor | ||
+ | [force_move] | ||
+ | enable_force_move | ||
+ | </ | ||
+ | |||
+ | Der Eintrag sollte nach der Kalibrierung wieder entfernt werden. | ||
+ | ===== Kalibrierung Manuell ===== | ||
+ | * Nozzle reinigen ! | ||
+ | * enable_force_move aktiviert ! | ||
+ | * Gantry ist einigermaßen gerade ausgerichtet | ||
+ | * '' | ||
+ | * Es ist keine dumme Idee den Kopf erstmal in die Mitte vom Bett zu fahren. Also in etwa so: \\ **G0 X150 Y150** | ||
+ | * '' | ||
+ | * Wenn der Durchgang fertig ist mal ein '' | ||
+ | |||
+ | ===== Endstop testen ===== | ||
+ | * M119 absetzen und das Ergebnis sollte sein \\ '' | ||
+ | * Was metallisches unter den Sensor halten und nochmal '' | ||
+ | * Wenn das passt, dann können jetzt alle Achsen gehomt werden mit '' | ||
+ | ===== Kalibrierung Auto ===== | ||
+ | * Original Anleitung beachten \\ https:// | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * Test mit '' | ||
===== Bed Mesh ===== | ===== Bed Mesh ===== | ||
+ | Wenn alles eingestellt ist, kann man ganz normal ein BED_MESH_CALIBRATE starten. Der Sensor fährt dann in Bahnen über das Bett. | ||
+ | Das Handling ist genauso wie vorher ! | ||
- | ===== Nozzle Collision Sensing ===== | ||
- | * https:// | ||
- | * WICHTIG -> <color # | ||
klipper_faq/eddy/bd_sensor.1736692660.txt.gz · Last modified: by dominik