Duet3 BLTOUCH3.1 Probe deploys but doesn't trigger on Z Home
-
@Phaedrux @Thalios @Veti - actually I did learn a very important lesson which I overlooked, and was flagged just now, and that's bench test all the components before you build. I could have spotted any potential issue with the BL Touch much sooner.
For now I'm settled on a couple more actions:
-
If I can get super motivated, I'll unmount the BLT get it connected to D3 on a bench and see if I can probe the BLT output with my little USB oscilloscope. This would prove beyond doubt that the BLT is providing an output or not.
-
Prove the ioports by configuring them as a switch endstop and check they report being triggered when I pull up the input pin.
-
If after all this the BLT is providing an output and all my ioports are good then I have only two possibilities ...either dodgy cable/connections, or interference.
The main thing dissuading me that it's a wiring issue is simply that I've done many continuity checks all the way from the BLT PCB to the D3 PCB. As I'm using twisted pairs, I'm also inclined to believe interference isn't the culprit.
This kinda sums up where we are. Of course, I'm also pending delivery of another BL Touch 3.1.
Fun days ahead!
-
-
@Phaedrux @Thalios Some exciting input:
- Update in my installation...I had a connector at the BL Touch end so I can easily disconnect my entire wiring harness at the hot end - i.e. disconnect thermistor, fans, heater and bltouch, with each having it's own connect.
My observation here is my connector at that location was completely redundant, because of course, the BL Touch has it's own removable connector if I needed it.
So I have now removed that connector you may have seen at the start of the thread, soldered and insulated each wire from BL touch running to the D3 (io5).
- I've got the BL Touch off the printer, and attached the BL Touch output to my hobbyist USB scope.
I have the scope set to 1V divisions in DC mode, and timebase is 100ms / division.
I execute M401 and the probe deploys.
I can then periodically touch the probe.
The scope clearly shows a signal out of the BL Touch 3.1 going from 0v, to +1v, every single time I touch it. When I release, it falls back to 0. This seems to indicate the output of the BLTouch is a simple hi/lo to indicate that something is contact with the probe. There is no PWM like signal back.The question now might be, is +1V enough to constitute logic 1 on the D3, when the BLT is powered with +5v?
This leads me to my next test. Issue G30 and then apply +5v to io5.in, and see if that emulates a probe trigger with a voltage which is certainly high enough to hold the input pin HI.
-
In this image you see the scope indicating that whenever the probe pin is touched, the BL touch outputs a higher voltage, and when released it falls.
-
are you touching the probe while the pin is retracted?
maybe you need to adjust the grub screw a bit higher as the pin is not making enough contact with the hall sensor. -
It's fixed!!!
It's a logic level issue as indicated in the 3.1 docs.
ref: https://www.antclabs.com/logic
Step 1: Connect the 3pin (brown, red, orange) and 2pin (black, white) to the control board.
Step 2: M280 P0 S10 β least 500ms
Step 3: M280 P0 S140 β least 100ms
Step 4: M280 P0 S130 β least 500ms
Step 5: Pull the push-pin with your finger so that the red LED turns off.
Step 6: M280 P0 S140 β least 100msOnce I've executed this GCODE I then see much large voltage rage, hi to lo. Will post an image in a moment.
Having executed the GCODE, I do HOME Z, and when I then touch the probe the bed retracts!!
I'm slightly happy and excited to be past this one.
Thank you @Veti for being patient with me, and apologies again for that unwarranted tone half way through the thread.
Thank you @Phaedrux and @Thalios for the input and suggestions that got me here.
Back in a moment with an image to show the scope output after the GCODE above was executed. I'll do a full power cycle and ensure this config is retained by the EEPROM in the BLT.
-
Indicates the higher voltage applied to io.in, after the BLTOUCH is set for the new logical level
-
did you connect the bltouch to the 3.3V line? or as described here.
https://duet3d.dozuki.com/Wiki/Connecting_a_Z_probe#Section_Duet_Num_3because nobody else had to do this on a 3.1 Version.
-
LEARNINGS captured from this very valuable discussion with credit to all who contributed:
-
Issue, BL Touch 3.1 probe deploys, but on Z Home / G30 the D3 does not stop the vertical bed movement when the bed has contacted the probe.
-
Observations on cabling. Be sure that crimping is done well. Apply solder if possible. Do not introduce conenctors, can be a source of noise, interference, cross-talk. Use twisted pairs to reduce risk of noise. My cable from Duet 3 to BLT is ~1 meter. My build plate is 500x500 so I need the length.
-
Observations on config.g and with deployprobe.g and retractprobe.g correctly formed:
config.g entries:
M950 S0 C"io5.out"
M558 P9 C"io5.in" H5 R1 F120 T6000 A5 S0.02 B1deployprobe.g
M280 P0 S10retractprobe.g
M280 P0 S90With these configs in place I was able to execute M410 (deploy) and M402 (retract)
- BL touch connected to io5:
D3
pin 1 +5v -> BLTOUCH 3.1 red wire supply +5v
pin 2 out -> BLTOUCH 3.1 yellow wire enabling transmission of PWM from D3 to BL Touch
pin 3 gnd -> BLTOUCH 3.1 brown and black grounding both wires at the BLT end
pin 4 in -> BLTOUCH 3.1 white whire enable detection of logic hi/lo indicating probe trigger-
Observation, with everything correctly configured and connected, the bed would not stop rising on Z home.
-
Connected oscilloscope and observed signal of 1v peak to peak from the BL TOUCH 3.1 output - assuming this is not sufficiently hi to consitute HI state on io5.in.
-
Refer documentation, see GCODE to configure BL TOUCH 3.1 logic level
https://www.antclabs.com/logic
Modified to obviate, just go slow, command by command and don't copy paste and execute the entire block of code or run it as a macro, as pauses between commands may be critical.
Step 2: M280 P0 S10 β wait at least 500ms before next command
Step 3: M280 P0 S140 βwait at least 100ms before next command
Step 4: M280 P0 S130 β wait at least 500ms before next command
Step 5: If the pin is not deployed...Pull the push-pin with your finger so that the red LED turns off.
Step 6: M280 P0 S140 β wait at least 100ms before next commandThe BL TOUCH is now configured to provide 2.5v peak/peak.
The Duet3 will now recognise the HI state on io5.in.
I hope this helps future readers.
Chris -
-
@Veti It's connected on 5v
-
As per the Duet documentation - one way to test the probe is to deploy it and press it momentarily. Remember to release it quickly. You will see the Z Sensor in the DWC interface change to indicate the probe has sensed contact.