-
-
Notifications
You must be signed in to change notification settings - Fork 28
Collision sensing for Marlin
Note
This feature requires the BDsensor firmware version(you can sending M102 S-1 to get that version,not the hardware version on the sensor) is V1.1b
, > V1.2b
or purchased after March 2024 , else you need to flash the firmware into BDsensor with external hardware tool like STlink.
- Stop z axis when the nozzle touch the bed after G28, like normal probe sensor.
- Find the actual zero position after the nozzle touch the bed: move the nozzle down 0.1mm -> up 0.4 mm->up 0.1mm reading the raw data at the same time, after that determines where is the zero position.
-
Auto z_offset calibration.
meanwhile you still can manually adjust the z_offset for different fialment.
-
Overcome the temperature drift.
The temperature drift will change the z_offset, but it does not change the range of bed_mesh heightmap with BDsensor. that means the bed mesh is the same even with different temperature.
Note
The code for this feature is on the pull list of official marlin github: https://github.com/MarlinFirmware/Marlin/pull/27243
so please use this marlin code: https://github.com/markniu/MarlinPULL/tree/bugfix-2.1.x
Enable BD_SENSOR
, and add #define BD_SENSOR_CONTACT_PROBE
in the configuration.h
and it should like this:
#define BD_SENSOR
#if ENABLED(BD_SENSOR)
#define BD_SENSOR_PROBE_NO_STOP // Probe bed without stopping at each probe point`
#define BD_SENSOR_CONTACT_PROBE // it uses nozzle collision sensing to probe while homing`
#endif
Adjust the speed of probe in the configuration.h
The sensitivity depends on the speed, so you need to adjust the speed of Z axis, the homing_speed and second_homing_speed should be in the range of 3 ~ 5mm/s, here is the z probe feedrate speed. for example:
#define Z_PROBE_FEEDRATE_FAST (5*60) // 5mm/s
#define Z_PROBE_FEEDRATE_SLOW (4*60) // 4mm/s
increase homing bump of z axis to > 4mm in the Configuration_adv.h
#define HOMING_BUMP_MM { 5, 5, 5 }
Please send G28 Z
about 10 times, or M48 command to see if it is stable.