Duet3 BLTOUCH3.1 Probe deploys but doesn't trigger on Z Home
vistalert last edited by vistalert
Firstly, before I post my issues, which is YAFBLTI (Yet another F'in BL Touch Issue ) I need to say what an amazing piece of technology, and what a great interface you've created in the Duet3 and the DWC. This ability to tweak/reconfigure/reboot, break down configs into files with dedicated functions is just what we need. I am a tech "expert" granted, and the way you've designed this whole thing feels so logical to me. But I am completely unfamiliar with GCODE and pretty new to 3D printing - but am able to learn gradually because of the logical structures, so thank you!
Now, I'm in the latter stages of my build and the final steps are to configure bed levelling / meshing.
Currently with M401 and M402 I can deploy and retract the probe.
I've traced the output of the BLT3.1 to the input pin on io7.
I've traced the input of the BLT3.1 to the output pin on io7.
By the way, I also have about 0.7 metres of extension wire from the BLT to the Duet3, because my build plate is 500x500. I stripped back some network cable and have used two twisted pairs, so hopefully eliminating the risk of interference. There are no other active signals to the hot end or extruder that might cause interference, though these wires are bundled in the usual way from the controller to the hot end, extruder, thermistor, hot end heat sink fan and part cooling fan.
On power on the BLT self tests, and then rests with solid red LED lit.
When I deploy the probe and raise my bed in 1mm increments until it pushes slightly on the probe I don't see a change in Sensors:Z Probe in DWC. The BLT begins to flash red on/off until I power cycle.
I'm assuming there is some issue with the output path to the input pin on io7. But I've run out of ways to trouble shoot.
I see the suggestion of switching the White/Yellow wires. In my case this wouldn't make sense to me, because my probe deploys/retracts. However, in anticipation, I tried, and the Z Probe then red 1000.
So to my config.g - I'll post in it's entirety and welcome feedback on any settings which are all gathered mostly from copy / paste of other files I've seen people post online. Refer below.
If you have any thoughts on why the Z Home doesn't stop before the bed hits the nozzle, I'd be really greatful. Yeah, it's been two days on and off trying to touble shoot. And I know you've all been through this kind of pain. Thank you in advance for your patience with another noob
; FIX UP TODOS ; Configuration file for Duet 3 (firmware version 3) ; executed by the firmware on start-up ; ; kinematic config M667 S1 ; CoreXY - X motor moves the head in +x/+y direction M669 K1 ; select CoreXY mode ;----------------------------------------------------------------------------------------------------------------------------------------- ; Stepper configuration ; SET DIRECTION OF TRAVEL FOR STEPPER MOTORS ; X M569 P3 S1 ; physical drive 0.3 goes backwards ; Y M569 P4 S1 ; physical drive 0.4 goes backwards ; Z has three steppers M569 P0 S0 ; physical drive 0.0 goes forwards - Front left M569 P1 S0 ; physical drive 0.1 goes forwards - Front right M569 P2 S0 ; physical drive 0.2 goes forwards - Rear Center ; Extruder M569 P5 S1 ; physical drive 0.5 goes backwards ; MAP STEPPERS TO X Y Z - Z HAS THREE DRIVERS ASSIGNED M584 X3 Y4 Z0:1:2 E5 ; set driver mapping for XYZ steppers M906 X1600 Y1600 Z1600 E1400 I30 ; set motor currents (mA) and motor idle factor in per cent M671 X530:-30:250 Y53:53:530 S5 ; Z-screw locations - front right, front left and rear center M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z400.00 E409.00 ; set steps per mm M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z1000.00 E1200.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2) M84 S30 ; Set idle timeout ; Axis Limits M208 X10:495 Y10:495 Z0:480 ; Set range of motion for each axis ; Configure BLTOUCH and bed mesh M950 S0 C"io7.out" ; create servo pin 0 for BLTouch ;M558 C"^io7.in" M558 C"io7.in" P9 H5 F100 T2000 R0.5 A4 G31 P500 X0 Y36 Z0 ;2.7 ; set Z probe trigger value, offset and trigger height M557 X10:480 Y10:480 P10:10 ; define mesh grid every 40mm M376 H10 ; Endstops M574 X1 Y1 S3 ; X and Y home min using stall detection ; Heaters M308 S0 P"temp0" Y"thermistor" A"Bed" T100000 B3950 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out0" T0 ; create bed heater output on out2 and map it to sensor 0 M143 H0 S110 ; set temperature limit for heater 0 to 110C above what is required for ABS M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M308 S1 P"temp1" Y"thermistor" A"Hotend" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin temp1 M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1 M143 H1 S285 ; set temperature limit for heater 1 to 285C - Maximum for Volcano hotend M307 H1 A812.3 C273.9 D4.3 S1.00 V24.0 B0 ; disable bang-bang mode for the nozzle heater and set PWM limit ; Fans M950 F0 C"out7" ; create fan 0 on pin out7 and set its frequency M106 P0 S0 H-1 C"Part Cooling" ; set fan 0 value. Thermostatic control is OFF M950 F1 C"out8" ; create fan 1 on pin out4 and set its frequency M106 P1 S1 H1 T45 C"Volcano" ; set fan 1 value. Thermostatic control is ON M950 F2 C"out9" ; create fan 0 on pin out5 and set its frequency M106 P2 S0 H-1 C"Case 1" ; set fan 2 value. Thermostatic control is OFF ; Tools M563 P0 S"Volcano" D0 H1 F2 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ;TODO Ringing Dynamic Acceleration Compensation ;M593 F66.6 ; cancel ringing at 63.8Hz Calibrated using: https://www.thingiverse.com/thing:3209955 ; Automatic power saving M911 S22 R23.5 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds to 23.5V and actions to run on power loss G90 ; send absolute coordinates... M83 ; ...but relative extruder moves ; Run config-override.g M501 ; load saved parameters from non-volatile memory
This post is deleted!
connect the bltouch without the extension wire directly to the duet and test there.
extensions cause a lot of problems with the bltouch.
Many thanks for the reply.
I understand - but that implies the BLT can't ever work at all in my scenario. A cable of only 0.7m of twisted pair shouldn't be a problematic cable, especially when not (currently) located near a source of interference.
What would be the next step, if that worked?
What would be the next step, if that worked?
redo the extension cable
@Veti Fair call
I'll make a new shorter length and try it on io5 then I also eliminate any issue on the port.
no just plug it directly into the duet without an extension cable.
this is just to test if it actually works
@Veti I can't as I don't have a fully intact original cable. I must've chopped the old end off to add the new connector for the D3, because I need the length due to the bed/frame size.
Still puzzled though...I noted there are no continuity issues, and the out from io7 is registering with the BLT, proven by the probe deploying.
Anyway will pursue this as suggested. Did you check out my config.g to see if I cocked anything up there? Is the pull-up "^" I keep reading about relevant on D3, with the P9 option?
Pic here so you can see my dilema re the length of cable, it needs to go 500mm further back than where is now to to reach this shorter cable test.
@Veti with a new shorter cable everything behaves exactly as before.
Again, my same observation is if I reverse in/out the Z sensor shows 1000.
With in/out the correct way around, the probe deploys and then touching it causes it to go into flashing red on/off, which I assume is error state.
Are you able to confirm that the M558 / G31 commands are correct (notwithstanding you don't know my offsets are correct):
M558 C"^io7.in" P9 H5 F100 T2000 R0.5 A4
G31 P500 X0 Y36 Z2.7 ; set Z probe trigger value, offset and trigger height
I don't know if the "^" is required or not. Do you have a BL Touch 3.1 you can try, or have tried with the D3?
@Veti It's been tested from pin to pin. What you're seeing is just hot glue to keep everything stable so I can prove all of my components and then iterate forward to a more complete installation once I know how all the cables are going to be routed, and boards positioned etc.
I'm 99.99999999% sure it's not a continuity issue. I've checked multiple times for shorts. I can't help agreeing with your gut feel there's a connectivity issue, but what I think we need to progress to is:
How can we prove a signal is coming out of the BLT on its out signal. I can only quickly apply a multimeter, but I think it's a PWM signal coming back out right?
Similar BLTOUCH issue with other boards/firmware
I see a lot of parallels with what this guy was experiencing with his BLTOUCH and not having the correctly configured pull ups. Are we 100% confident P9 has the pullup in place by default. It does appear critical for BLT 3.0 / 3.1
M558 P9 C"^zprobe.in" H5 F100 T2000
M558 P9 C"^zprobe.in" H5 F100 T2000
/\ Doesn't correspond to a D3 setup does it?
If P9 activates the pull up by default, why does that example show the use of ^ to activate the pull up.
That confuses me more.
If P9 activates the pull up by default
where does it say that p9 activates the pullup?
i said that is what is generated by default if you configure bltouch in the duet configurator.
Thanks for confirming
No change in behaviour with the following in config.g
M558 P9 C"^io7.in" H5 F100 T2000
Home Z, bed continues to move when contact with probe has ocurred.
can you post your homeall.g ?
@Veti I haven't yet got a reliable homeall.g as I haven't commissioned the BLTOUCH.
I have Home X and Home Y, which are sensorless (pending delivery of endstops)
So what I'm trying for test purposes is this:
Execute M401 - probe deploys - touch the end of the probe briefly enough to make the BLT light red. It must be released in < 650ms is my understanding, else it errors. At no time during repeated touches does the Z sensor in DWC show anything other than 0.
I use a macro to drop the bed 10mm. I execute HOME Z - with my hand on the power button, because every time I test this, the bed is going to hit the nozzle.
For what it's worth, this is the homeall.g I've built from copy / paste / learning about sensorless homing:
My objectives here, home to front left using sensorless. Then move to centre of bed and probe there for Z home. Welcome your comments recommendations, as always.
M400 ; wait til stuff stops M574 X1 Y1 S3 ; use stall guard for endstops M201 X2000 Y2000 ; reduce acceleration on X/Y to stop false triggers M915 P0:1 S3 R0 F0 H400 ; both motors because corexy; Sensitivity 4, don’t take action, don’t filter, 400steps/sec G91 ; relative Positioning G1 H2 Z5 F1200 ; lower the bed M913 X44 Y44 ; drop motor currents G1 H1 X-500 F5000 ; move until the motor stalls - COARSE HOME M400 ; wait til stuff stops M913 X100 Y100 ; motor currents back to 100% G1 H2 X30 Y0 F1200 ; move away from end M400 ; wait til stuff stops M913 X32 Y32 ; drop motor currents G1 H1 Y-500 F4000 ; move until the motor stalls - COARSE HOME M400 ; wait til stuff stops M913 X100 Y100 ; motor currents back to 100% G1 H2 X0 Y10 F1200 ; move away from end M400 ; wait til stuff stops G90 ; back to absolute positioning M913 X100 Y100 ; motor currents back to 100% M201 X3000 Y3000 ; accel back to original M400 ; wait til stuff stops G90 ; absolute positioning G1 X250 Y250 F13000 ; Move x and Y axis over to bed center so probe is on top of bed M558 A1 F400 ; Set single probing at faster feed rate G30 ; Do a single probe to home our Z axis M558 A3 F100 ; Set tripple probing at slower feed rate G30 ; Probe again to get a more accurate position G28 X Y
Veti last edited by Veti
At no time during repeated touches does the Z sensor in DWC show anything other than 0.
the bltouch pulse is so fast that you will not see it go to 1000.
have you run the bltouch self test? its
M280 P0 S120
(edits it S120)
I will try. But that runs on power up no?
At power on, I see the pin bounce twice then the BLT tests with solid red LED.
I will try. But that runs on power up no?
no the self test will retract and deploy the pin 10 times
what firmware version are you on (i hope the latest 3.1.1)