topic_solved BLTouch issue
I've added a genuine BLTouch to my printer. I've wired it using the guides and when I power the printer up the sensor cycles through dropping and retracting the pin. The deploy and retract commands work and I have verified that all of the wires have continuity, and that the correct wire (white) is going to Z PROBE IN. I've also cut the trace. When trying to home the pin drops as expected however when triggered the system does not show a probe value (it stays at zero) and the pin drops again, there is no blue light. It does this continuously.
I just can't figure out what I am missing. Any help, as always, is appreciated!
My files are:
; Configuration file for Duet WiFi (firmware version 1.21) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v2 on Mon Jan 07 2019 18:00:10 GMT-0600 (Central Standard Time) ; General preferences G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves M667 S1 ; Select CoreXY mode ; Network M550 P"Tronxy X5S-500" ; Set machine name M552 P192.168.0.95 S1 ; Enable network and set IP address M553 P255.255.255.0 ; Set netmask M554 P192.168.0.1 ; Set gateway M586 P0 S1 ; Enable HTTP M586 P1 S0 ; Disable FTP M586 P2 S0 ; Disable Telnet ; Drives M584 X0 Y1 Z2:4 ; Assign stepper motors to axis M671 X10:485 Y275:275 ; leadscrews at left side center and right side center removed S0.5 from end for a test M569 P0 S1 ; Drive 0 goes forwards M569 P1 S1 ; Drive 1 goes forwards M569 P2 S0 ; Drive 2 goes backwards M569 P3 S1 ; Drive 3 goes forwards M569 P4 S0 ; Drive 4 goes backwards M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation M92 X80.00 Y80.00 Z1600.00 E388.02 ; Set steps per mm M566 X600.00 Y600.00 Z12.00 E120.00 ; Set maximum instantaneous speed changes (mm/min) M203 X18000.00 Y18000.00 Z180.00 E1500.00 ; Set maximum speeds (mm/min) M201 X3000.00 Y3000.00 Z100.00 E10000.00 ; Set accelerations (mm/s^2) M906 X1100.00 Y1100.00 Z1600.00 E1100.00 I30 ; Set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X-10 Y-12 Z0 S1 ; Set axis minima M208 X500 Y500 Z600 S0 ; Set axis maxima ; Endstops M574 X1 Y1 S0 ; Set active low and disabled endstops ; Z-Probe ; BLTouch M574 Z1 S2 ; Set endstops controlled by probe M307 H7 A-1 C-1 D-1 ; Disable heater on PWM channel for BLTouch M558 P9 H5 F100 T6000 A10 R0.3 S0.005 B1 ; Set Z probe type to bltouch and the dive height + speeds G31 P25 X-42 Y-4 Z0 ; Set Z probe trigger value, offset and trigger height M557 X50:450 Y50:450 S200 ; Define mesh grid ; IR probe ; M574 Z1 S2 ; Set endstops controlled by probe ; M558 P1 H5 T15000 ; Set Z probe type to unmodulated and the dive height + speeds removed F100 to test ; G31 P500 X0 Y-20 Z0.87 ; Set Z probe trigger value, offset and trigger height ; M557 X50:450 Y50:450 S200 ; Define mesh grid ; Z axis switch ; M558 P5 H5 F0 T6000 ; Set Z probe type to switch and the dive height + speeds ; G31 P500 X0 Y0 Z0 ; Set Z probe trigger value, offset and trigger height ; M557 X15:485 Y15:485 S20 ; Define mesh grid ; Heaters ; M307 H0 B0 S1.00 ; Disable bang-bang mode for the bed heater and set PWM limit M307 H0 A110.5 C653.0 D4.5 S1.00 V24.2 B0 ; H0 After PID tuning M307 H1 A530.5 C189.0 D6.7 S1.00 V24.2 B0 ; H1 After PID tuning M305 P0 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 0 M143 H0 S120 ; Set temperature limit for heater 0 to 120C M305 P1 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 1 M143 H1 S280 ; Set temperature limit for heater 1 to 280C ; Fans M106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on ; Tools M563 P0 D0 H1 ; 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 ; Automatic power saving M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss ; Custom settings M591 D0 P2 C3 S1
; bed.g ; called to perform automatic bed compensation via G32 ; ; generated by RepRapFirmware Configuration Tool v2 on Mon Jan 07 2019 18:00:10 GMT-0600 (Central Standard Time) ; M561 ; clear any bed transform ; G28 ; home all axes ; G29 ; probe the bed and enable compensation M561 ; clear any bed transform G28 ; home G30 P0 X25 Y275 Z-99999 ; probe near a leadscrew G30 P1 X485 Y275 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors G29 ; probe the bed and enable compensation
; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v2 on Mon Jan 07 2019 18:00:11 GMT-0600 (Central Standard Time) G91 ; relative positioning G1 Z5 F6000 S2 ; lift Z relative to current position G1 S1 X-505 Y-505 F1800 ; move quickly to X or Y endstop and stop there (first pass) G1 S1 X-505 ; home X axis G1 S1 Y-505 ; home Y axis G1 X5 Y5 F6000 ; go back a few mm G1 S1 X-505 F360 ; move slowly to X axis endstop once more (second pass) G1 S1 Y-505 ; then move slowly to Y axis endstop G90 ; absolute positioning G1 X50 Y50 F6000 ; go to first bed probe point and home Z G30 ; home Z by probing the bed ; Uncomment the following lines to lift Z after probing ;G91 ; relative positioning ;G1 S2 Z5 F100 ; lift Z relative to current position ;G90 ; absolute positioning
; homez.g ; called to home the Z axis ; ; generated by RepRapFirmware Configuration Tool v2 on Mon Jan 07 2019 18:00:11 GMT-0600 (Central Standard Time) ; Commented out to use Z axis switch instead of probe G91 ; relative positioning G1 Z5 F6000 S2 ; lift Z relative to current position G90 ; absolute positioning G1 X50 Y50 F6000 ; go to first probe point G30 ; home Z by probing the bed ; Z axis using limit switch ; G91 ; relative positioning ; G1 Z5 F6000 S2 ; lift Z relative to current position ; G1 S1 Z-405 F1800 ; move Z down until the endstop is triggered ; G92 Z0 ; set Z position to axis minimum (you may want to adjust this) ; Uncomment the following lines to lift Z after probing ;G91 ; relative positioning ;G1 S2 Z5 F100 ; lift Z relative to current position ;G90 ; absolute positioning
; deployprobe.g ; called to deploy a physical Z probe ; ; generated by RepRapFirmware Configuration Tool v2 on Fri Nov 16 2018 15:16:22 GMT-0600 (Central Standard Time) M280 P7 S10 I1
; retractprobe.g ; called to retract a physical Z probe ; ; generated by RepRapFirmware Configuration Tool v2 on Fri Nov 16 2018 15:16:22 GMT-0600 (Central Standard Time) M280 P7 S90 I1
when triggered the system does not show a probe value (it stays at zero)
That's not uncommon. The probe triggers and then immediately resets, so it doesn't show in the DWC display very well. Your config files look fine to me.
Does the bed stop moving if you send a G30 and trigger the pin by hand?
And if the probe is responding to deploy and retract macros I think it's safe to do a dynamic test as described here: https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe
nhof last edited by nhof
The probe appears to be behaving correctly. When in probe mode (S10) the BLtouch do the following on triggering.
- Send a 10ms pulse to the signal line.
- Wait a half second or so (for machine to see pulse and move up in preparation for the next probe).
- Re-deploy the pin (this will happen automatically unless pre-empted by a retract command from the FW)
The reason you are seeing the pin redeploy is likely because the signal pulse is not making it to the duet. So the duet never sends the retractprobe.g script and the bltouch pin will auto-redeploy because that's what it's programmed to do internally.
My money is on a wiring fault. Looks like the white wire is hooked, up, do you have the black going to Z PROBE GND? Do you see any message from G30 in the console like "error, probe not triggered during probing move"?
Thanks for the replies! I validated end to end continuity on the wires going to the Z probe connections on the duet, I have both the wires connected to the Z probe connections. I have the +5v, ground, and PWM7 connections on the header. I will verify the wiring again.
When I put the bed a couple of hundred mm's away and do a home all X and Y home correctly and when I manually trigger the probe the bed keeps moving and the probe deploys. Is there a way to hook a meter up to see if the trigger signal is making it to the Duet?
I don't see anything in the console. Perhaps there is a debugging level of logging I can enable that may help?
Recheck the crimps on the white wire and that it is in fact going to the right location.
You can also try using heater pin 3 instead of pin 7. You'd then have to make the needed adjustments to config.g and the deploy and retract files to reflect that.
nhof last edited by
OK so try this:
Deploy the probe using the g-code command as normal (M280 P7 S10 I1 or whatever). BUT hold your finger over the probe so the pin can't move down. Or wiggle the probe around until it errors out. The probe should error out and start flashing red with evenly timed on/off pulses indicating an error
When the probe is in error mode, it will send a sustained "triggered" signal to the board. This will be much easier to test than the 10ms pulse.
Found it! I had the Z probe pins crossed at one of the interconnects, just goes to show that I shouldn't wire things late at night. I have multiple JST connections at each end so I can quickly and easily swap probes if I want to as I have an inductive, mini IR, and BLTouch. Too many connections and color changes when I'm tired...
Thanks for the feedback, it really helped!