BLtouch responds to commands, does not trigger
-
I have a BLtouch v3.1 in open drain mode connected to my duet 1.02 on zprobeIN and zprobeGND. Using the config.g posted below, I can put down and pull up the probe but I cannot get the probe to show anything other than 0 all the time. What am I missing?
; Configuration file for Duet WiFi (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v2.1.8 on Wed Feb 26 2020 00:58:29 GMT-0500 (Eastern Standard Time); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"foamboard forge" ; set printer name; Network
M552 S1 ; enable network
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; Drives
M569 P0 S1 ; physical drive 0 goes forwards
M569 P1 S1 ; physical drive 1 goes forwards
M569 P2 S0 ; physical drive 2 goes backwards
M569 P5 S1 ; physical drive 5 goes forwards
M569 P6 S1 ; physical drive 6 goes forwards
M584 X0 Y1 Z2 E5:6 ; set drive mapping
M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z400.00 E824.00:824.00 ; set steps per mm
M566 X900.00 Y900.00 Z12.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X6000.00 Y6000.00 Z1800.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z20.00 E250.00:250.00 ; set accelerations (mm/s^2)
M906 X800 Y800 Z800 E800:800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X300 Y300 Z350 S0 ; set axis maxima; Endstops
M574 X1 S0 P"xstop" ; configure active-low endstop for low end on X via pin xstop
M574 Y1 S0 P"ystop" ; configure active-low endstop for low end on Y via pin ystop
M574 Z1 S0 P"zstop" ; configure active-low endstop for low end on Z via pin zstop; Z-Probe
M950 S0 C"duex.e3heat" ; create servo pin 0 for BLTouch
M558 P9 C"zprobe.in+zprobe.mod" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
G31 P500 X-40 Y-10 Z2.5 ; set Z probe trigger value, offset and trigger height
M557 X15:215 Y15:195 S20 ; define mesh grid; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"e0heat" T0 ; create bed heater output on e0heat and map it to sensor 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
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"duex.e2temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin duex.e2temp
M950 H1 C"duex.e2heat" T1 ; create nozzle heater output on duex.e2heat and map it to sensor 1
M143 H1 S280 ; set temperature limit for heater 1 to 280C
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit; Fans
M950 F0 C"duex.fan5" Q500 ; create fan 0 on pin duex.fan5 and set its frequency
M106 P0 C"part cooler" S0 H-1 ; set fan 0 name and value. Thermostatic control is turned off
M950 F1 C"duex.fan4" Q500 ; create fan 1 on pin duex.fan4 and set its frequency
M106 P1 C"hotend" S0 H1:1 T30 ; set fan 1 name and value. Thermostatic control is turned on
M950 F2 C"duex.fan3" Q500 ; create fan 2 on pin duex.fan3 and set its frequency
M106 P2 C"mcu" S0 H-1 ; set fan 2 name and value. Thermostatic control is turned off
M950 F3 C"duex.fan6" Q500 ; create fan 3 on pin duex.fan6 and set its frequency
M106 P3 C"lighting" S1 H-1 ; set fan 3 name and value. Thermostatic control is turned off; Tools
M563 P0 S"hotend" D0:1 H1 F0 ; 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
M568 P0 S1 ; enable mixing for tool 0
M567 P0 E0.5:0.5 ; set mixing ratios for tool 0; Custom settings
M308 S2 P"duex.e3temp" Y"thermistor" A"chamber temp" T100000 B3988 C0 R2200 ; chamber temperature sensor
M307 H0 A77.5 C296.9 D3.8 C24.1 B0 ; calibrate bed heater
M307 H1 A348.9 C165.7 D3.7 C24.2 B0 ; calibrate hotend heater; TODO
; When a seperate lighting control method is found, break lighting out from fan controls -
First, are you definitely using RepRapFirmware 3? Send M115 and post response. And you have a Duex5 connected?
Check wiring. See https://duet3d.dozuki.com/Wiki/Connecting_a_Z_probe#Section_Duet_2_WiFi_Ethernet_with_Duex_2_or_Duex_5_expansion_board
For the probe input, you only need zprobe.in, which needs to be inverted. From https://duet3d.dozuki.com/Wiki/Connecting_a_Z_probe#Section_Software_setup_RepRapFirmware_Num_3
So config.g should look like:
; Z-Probe M950 S0 C"duex.e3heat" ; create servo pin 0 for BLTouch M558 P9 C"^zprobe.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X-40 Y-10 Z2.5 ; set Z probe trigger value, offset and trigger height
If that doesn't help, see https://duet3d.dozuki.com/Wiki/BLTouch_Troubleshooting
Also, are you using the probe for Z homing, or do you have an endstop? If using Z probe for homing, delete
M574 Z1 S0 P"zstop"
line, which defines a Z endstop. Check your homing gcode files use G30, not G1 H1 Z moves, for homing Z.Ian
-
This works for me on Duet3:
M558 K0 P9 C"^io4.in" H5 A5 T6000 S0.02 ; Z probe BLtouch - Set the height of the bed when homing G28. Combined with content of bed.g as invoked by G32, levels bed. Also used for Mesh. ; Hn = dive height ; A bigger dive height prevents a situation where the bed is out of alignment by more than the dive height ; on any corner, which can crash the hot-end into the bed while moving the head in XY. ; Probing speed and travel speed are similarly reduced in case the Z probe isn't connected properly (or ; disconnects later after moving to a point) giving the user more time to stop. ; An = Number of times to probe each point. ; Tnnn = Travel speed between probe points. ; Snnn = Tolerance when probing multiple times. Two readings inside this window and we move on. G31 K0 X0 Y0 Z0 ; Ensure probe has no offsets M950 S0 C"^io4.out" ; Servo Control Pin for BLtouch.
Also define 'deployprobe.g' with one line
M280 P0 S10
and 'retractprobe.g' asM280 P0 S90
. Be sure these are in /sys.As mentioned, be sure various files use G30. Here is my homez.g:
; Home Z Axis G90 G1 X150 Y150 F10000 ; Move to the center of the bed M558 F500 ; Set the probing speed G30 M558 F50 ; Set a slower probing speed G30
-
@droftarts
FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 3.0 ELECTRONICS: Duet WiFi 1.02 or later + DueX2 FIRMWARE_DATE: 2020-01-03b3I use the endstop and the probe. I tried your changes but they don't make a difference. It doesn't care if the probe is touching or not. I'm wondering if the probe connector on the board is damaged somehow. I'll look at homing later since right now it works. Everything works except for tripping the bltouch. It's totally blind.
-
I 've done some poking around and found that I wont be able to see the pulse with a simple multimeter because its much faster than the sampling of the meter would allow it to detect, and an M119 won't show it for the same reason. The probe should also retract when triggered from what I'm seeing online. It isn't.
I set it the servo angle 10 command and the probe popped out. When I activate it, it tries to push it out and if I push too far up, I get a warning flash. If I send that same command but follow it with a servo angle 0 command, the probe will detect being pushed in a bit but will not react to it.
Either the duet is supposed to see this and then tell the probe to retract or the processor in the probe itself is supposed to retract when it senses the trigger point. The duet cannot tell the servo to do anything without either I telling it to do so, which works, or some other condition telling it to do so, which does not work.
So right now I think I'm looking at a defective bltouch.
EDIT: The wiki shows the M558 command before the M950 command. I changed my config to match this but it didnt have any effect.
-
@Mentaluproar said in BLtouch responds to commands, does not trigger:
I 've done some poking around and found that I wont be able to see the pulse with a simple multimeter because its much faster than the sampling of the meter would allow it to detect, and an M119 won't show it for the same reason. The probe should also retract when triggered from what I'm seeing online. It isn't.
If/when it does retract, the trigger stays. It will show up on the "Probe" in DWC, or with a meter or whatever. See below.
I set it the servo angle 10 command and the probe popped out. When I activate it, it tries to push it out and if I push too far up, I get a warning flash.
It should retract, and give a continuous signal.
the processor in the probe itself is supposed to retract when it senses the trigger point.
Correct.
So right now I think I'm looking at a defective bltouch.
Maybe.
Send M280 P0 S160. This "resets" the BLtouch. Then send M280 P0 S10. Then touch it and see if it retracts and outputs a solid signal (and the body of the BLt will be solid red, not blinking).
Be a little reluctant to sent anything but 10 (down), 90 (up) , and 160 (reset). Some other codes "reprogram" the touch for unhoopy things like 5V output, etc.
-
FOUND THE PROBLEM!
Either my zprobe connector is shot on the duet, or it was pissed I was probing on the duet when the PWM signal was on the duex2. Moving it over to duex.gp1 fixed it. I did have to enter this manually though, as reprapconfigurator does not currently let you assign a gpio pin as zprobe in.