2019-01-06 02:24:35 +01:00
|
|
|
Connecting BL-Touch
|
|
|
|
===================
|
2019-01-25 18:53:00 +01:00
|
|
|
|
2019-04-06 00:09:04 +02:00
|
|
|
A **warning** before you start: Avoid touching the BL-Touch pin with
|
2019-04-05 23:48:51 +02:00
|
|
|
your bare fingers, since it is quite sensitive to finger grease. And
|
|
|
|
if you do touch it, be very gentle, in order to not bend or push
|
|
|
|
anything.
|
2019-01-25 18:53:00 +01:00
|
|
|
|
2019-04-06 00:09:04 +02:00
|
|
|
Hook up the BL-Touch "servo" connector to a `control_pin` according to
|
|
|
|
the BL-Touch documentation or your MCU documentation. Using the
|
|
|
|
original wiring, the yellow wire from the triple is the `control_pin`
|
|
|
|
and the white wire from the pair is the `sensor_pin`. You need to
|
|
|
|
configure these pins according to your wiring. For example:
|
2019-01-06 02:24:35 +01:00
|
|
|
|
2019-01-25 18:53:00 +01:00
|
|
|
```
|
2019-04-05 23:48:51 +02:00
|
|
|
[bltouch]
|
|
|
|
sensor_pin: P1.24
|
|
|
|
control_pin: P1.26
|
2019-01-25 18:53:00 +01:00
|
|
|
```
|
2019-01-06 02:24:35 +01:00
|
|
|
|
2019-04-06 00:09:04 +02:00
|
|
|
If the BL-Touch will be used to home the Z axis then set `endstop_pin:
|
|
|
|
probe:z_virtual_endstop` in the `[stepper_z]` config section and add a
|
2019-11-07 22:50:52 +01:00
|
|
|
`[safe_z_home]` config section to raise the z axis, home the xy axes,
|
|
|
|
move to the center of the bed, and home the z axis. For example:
|
2019-01-06 02:24:35 +01:00
|
|
|
|
2019-01-25 18:53:00 +01:00
|
|
|
```
|
2019-11-07 22:50:52 +01:00
|
|
|
[safe_z_home]
|
|
|
|
home_xy_position: 100,100 # Change coordinates to the center of your print bed
|
|
|
|
speed: 50
|
|
|
|
z_hop: 10 # Move up 10mm
|
|
|
|
z_hop_speed: 5
|
2019-01-25 18:53:00 +01:00
|
|
|
```
|
|
|
|
|
2019-11-07 22:50:52 +01:00
|
|
|
It's important that the z_hop movement in safe_z_home is high enough
|
|
|
|
that the probe doesn't hit anything even if the probe pin happens to
|
|
|
|
be in its lowest state.
|
2019-01-06 02:24:35 +01:00
|
|
|
|
2019-01-25 18:53:00 +01:00
|
|
|
Initial tests
|
|
|
|
=============
|
2019-01-06 02:24:35 +01:00
|
|
|
|
2019-04-06 00:09:04 +02:00
|
|
|
Before moving on, verify that the BL-Touch is mounted at the correct
|
2019-04-05 23:48:51 +02:00
|
|
|
height, the pin should be roughly 2 mm above the nozzle when retracted
|
|
|
|
|
2019-04-06 00:09:04 +02:00
|
|
|
When you turn on the printer, the BL-Touch probe should perform a
|
2019-04-05 23:48:51 +02:00
|
|
|
self-test and move the pin up and down a couple of times. Once the
|
|
|
|
self-test is completed, the pin should be retracted and the red LED on
|
|
|
|
the probe should be lit. If there are any errors, for example the
|
|
|
|
probe is flashing red or the pin is down instead of up, please turn
|
|
|
|
off the printer and check the wiring and configuration.
|
|
|
|
|
|
|
|
If the above is looking good, it's time to test that the probe
|
|
|
|
responds to commands from the firmware. First run `BLTOUCH_DEBUG
|
|
|
|
COMMAND=pin_down` in your printer terminal. Verify that the pin moves
|
|
|
|
down, and that the red LED on the probe turns off. If not, check your
|
|
|
|
wiring and configuration again. Next issue a `BLTOUCH_DEBUG
|
2019-04-06 00:09:04 +02:00
|
|
|
COMMAND=pin_up`, verify that the pin moves up, and that the red light
|
|
|
|
turns on again. If it's flashing then there's some problem.
|
2019-04-05 23:48:51 +02:00
|
|
|
|
|
|
|
Now, it's time to test homing with a twist. Instead of letting the
|
|
|
|
probe pin touch the print bed, let it touch the nail on your
|
|
|
|
finger. So issue a `G28`, wait until it starts to move down, and stop
|
|
|
|
the movement by very gently touching the pin with your nail. You
|
|
|
|
probably have to do it twice, since the default configuration makes it
|
|
|
|
probe twice. But be prepared to turn off the printer, to avoid damage,
|
|
|
|
if it doesn't stop when you touch the pin.
|
|
|
|
|
|
|
|
If that was successful, do another `G28` but this time let it touch
|
|
|
|
the bed as it should.
|
2019-01-06 02:24:35 +01:00
|
|
|
|
2019-04-06 00:14:45 +02:00
|
|
|
Calibrating the BL-Touch offsets
|
|
|
|
================================
|
|
|
|
|
|
|
|
Follow the directions in the [Probe Calibrate](Probe_Calibrate.md)
|
|
|
|
guide to set the x_offset, y_offset, and z_offset config parameters.
|
|
|
|
|
|
|
|
It's a good idea to verify that the Z offset is close to 1mm. If not,
|
|
|
|
then you probably want to move the probe up or down to fix this. You
|
|
|
|
want it to trigger well before the nozzle hits the bed, so that
|
|
|
|
possible stuck filament or a warped bed doesn't affect any probing
|
|
|
|
action. But at the same time, you want the retracted position to be as
|
|
|
|
far above the nozzle as possible to avoid it touching printed parts.
|
|
|
|
If an adjustment is made to the probe position, then rerun the probe
|
|
|
|
calibration steps.
|
2019-01-25 18:53:00 +01:00
|
|
|
|
2019-01-06 02:24:35 +01:00
|
|
|
BL-Touch gone bad
|
|
|
|
=================
|
|
|
|
|
2019-04-05 23:48:51 +02:00
|
|
|
Once the BL-Touch is in inconsistent state, it starts blinking
|
|
|
|
red. You can force it to leave that state by issuing:
|
2019-01-06 02:24:35 +01:00
|
|
|
|
2019-04-05 23:48:51 +02:00
|
|
|
BLTOUCH_DEBUG COMMAND=reset
|
2019-01-06 02:24:35 +01:00
|
|
|
|
2019-04-05 23:48:51 +02:00
|
|
|
This may happen if its calibration is interrupted by the probe being
|
|
|
|
blocked from being extracted.
|
|
|
|
|
|
|
|
However, the BL-Touch may also not be able to calibrate itself
|
2019-04-06 00:09:04 +02:00
|
|
|
anymore. This happens if the screw on its top is in the wrong position
|
|
|
|
or the magnetic core inside the probe pin has moved. If it has moved
|
|
|
|
up so that it sticks to the screw, it may not be able to lower its pin
|
|
|
|
anymore. With this behavior you need to open the screw and use a
|
|
|
|
ball-point pen to push it gently back into place. Re-Insert the pin
|
|
|
|
into the BL-Touch so that it falls into the extracted
|
2019-04-05 23:48:51 +02:00
|
|
|
position. Carefully readjust the headless screw into place. You need
|
2019-04-06 00:09:04 +02:00
|
|
|
to find the right position so it is able to lower and raise the pin
|
2019-04-05 23:48:51 +02:00
|
|
|
and the red light turns on and of. Use the `reset`, `pin_up` and
|
|
|
|
`pin_down` commands to achieve this.
|
2019-05-21 00:38:19 +02:00
|
|
|
|
2020-02-24 04:32:07 +01:00
|
|
|
BL-Touch output mode
|
|
|
|
====================
|
|
|
|
|
|
|
|
* A BL-Touch V3.0 supports setting a 5V or OPEN-DRAIN output mode,
|
|
|
|
a BL-Touch V3.1 supports this too, but can also store this in its
|
|
|
|
internal EEPROM. If your controller board needs the fixed 5V high
|
|
|
|
logic level of the 5V mode you may set the 'set_output_mode'
|
|
|
|
parameter in the [bltouch] section of the printer config file to
|
|
|
|
"5V".
|
|
|
|
|
|
|
|
*** Only use the 5V mode if your controller boards input line is
|
|
|
|
5V tolerant. This is why the default configuration of these BL-Touch
|
|
|
|
versions is OPEN-DRAIN mode. You could potentially damage your
|
|
|
|
controller boards CPU ***
|
|
|
|
|
|
|
|
So therefore:
|
|
|
|
If a controller board NEEDs 5V mode AND it is 5V tolerant on its
|
|
|
|
input signal line AND if
|
|
|
|
|
|
|
|
- you have a BL-Touch Smart V3.0, you need the use 'set_output_mode: 5V'
|
|
|
|
parameter to ensure this setting at each startup, since the probe
|
|
|
|
cannot remember the needed setting.
|
|
|
|
- you have a BL-Touch Smart V3.1, you have the choice of using
|
|
|
|
'set_output_mode: 5V' or storing the mode once by use of a
|
|
|
|
'BLTOUCH_STORE MODE=5V' command manually and NOT using the parameter
|
|
|
|
'set_output_mode:'.
|
|
|
|
- you have some other probe: Some probes have a trace on the circuit board
|
|
|
|
to cut or a jumper to set in order to (permanently) set the output mode.
|
|
|
|
In that case, omit the 'set_output_mode' parameter completely.
|
|
|
|
|
|
|
|
If you have a V3.1, do not automate or repeat storing the output mode to
|
|
|
|
avoid wearing out the EEPROM of the probe.The BLTouch EEPROM is good for
|
|
|
|
about 100.000 updates. 100 stores per day would add up to about 3 years
|
|
|
|
of operation prior to wearing it out. Thus, storing the output mode in a
|
|
|
|
V3.1 is designed by the vendor to be a complicated operation (the factory
|
|
|
|
default being a safe OPEN DRAIN mode) and is not suited to be repeatedly
|
|
|
|
issued by any slicer, macro or anything else, it is preferably only to be
|
|
|
|
used when first integrating the probe into a printers electronics.
|
|
|
|
|
|
|
|
|
2019-05-21 00:38:19 +02:00
|
|
|
Troubleshooting
|
|
|
|
===============
|
|
|
|
|
|
|
|
* If you are sure the wiring of the BL-Touch is correct and every
|
|
|
|
attempt to probe with the BL-Touch reports "BLTouch failed to verify
|
|
|
|
sensor state" then it may be necessary to add
|
|
|
|
`pin_up_touch_mode_reports_triggered: False` to the bltouch config
|
|
|
|
section. The BL-Touch v3 and many clones require this setting.
|
|
|
|
|
|
|
|
* A BL-Touch v3 may not work correctly when its signal wire is
|
|
|
|
connected to the Z end-stop pin on some printer boards. The symptoms
|
|
|
|
of this problem are: the BL-Touch probe deploys, the printer
|
|
|
|
descends, the probe contacts a surface, the BL-Touch raises the
|
|
|
|
probe, the BL-Touch does not successfully notify the
|
|
|
|
micro-controller, and the printer continues to descend. The Z
|
|
|
|
end-stop pin on some printer boards have a capacitor to filter the
|
|
|
|
signal which the BL-Touch v3 may not support. The simplest solution
|
|
|
|
is to connect the BL-Touch v3 sensor wire to an available pin on the
|
|
|
|
printer board that is not associated with an end-stop (and thus is
|
|
|
|
unlikely to have a capacitor). An alternative solution is to
|
|
|
|
physically alter the printer board to disable the given end-stop
|
|
|
|
capacitor or to add a hardware "pull up resistor" to the BL-Touch v3
|
|
|
|
sensor wire.
|