3.1.1 - BLtouch doesn't function after cancelling a job.
-
On my Duet 2 Wifi, RRF 3.1.1, after I cancel a running print job, my bltouch no longer functions. That is, all servo control commands to the BLTouch no longer cause the pin to retract or deploy.
After resetting the board, everything functions as normal, but another cancelled print job will cause the same behavior.
Any help solving this appreciated!
-
Please post your config.g, your homing files, and your slicer start and end gcode. Also send a M122 and post the result.
Does the Bltouch work normally otherwise? You're able to home multiple times in a row?
-
The BLTouch works as expected up until cancelling an active job. I'm able to run delta calibration, mesh bed probing, z=0 datum probing, manually send all the supported servo commands.
; Configuration file for Duet WiFi (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v2.1.8 on Thu May 21 2020 21:52:23 GMT-0700 (Pacific Daylight Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Bert" ; set printer name M665 R270 L476 B230 H885 ; Set delta radius, diagonal rod length, printable radius and homed height M666 X0 Y0 Z0 ; put your endstop adjustments here, or let auto calibration find them ; Network M551 P"REDACTED" ; set password M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0 S0 ; physical drive 0 goes forwards M569 P1 S0 ; physical drive 1 goes forwards M569 P2 S0 ; physical drive 2 goes forwards M569 P3 S0 ; physical drive 3 goes forwards M584 X0 Y1 Z2 E3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X100.00 Y100.00 Z100.00 E2580.00 ; set steps per mm M566 X1200.00 Y1200.00 Z1000.00 E1200.00 ; set maximum instantaneous speed changes (mm/min) M203 X18000.00 Y18000.00 Z18000.00 E1200.00 ; set maximum speeds (mm/min) M201 X1000.00 Y1000.00 Z1000.00 E1000.00 ; set accelerations (mm/s^2) M906 X800 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 Z-2 S1 ; set minimum Z ; Endstops M574 X2 S1 P"!xstop" ; configure active-low endstop for high end on X via pin xstop M574 Y2 S1 P"!ystop" ; configure active-low endstop for high end on Y via pin ystop M574 Z2 S1 P"!zstop" ; configure active-low endstop for high end on Z via pin zstop ; Z-Probe M950 S0 C"exp.heater3" ; create servo pin 0 for BLTouch M558 P9 C"zprobe.in+zprobe.mod" H5 F120 T12000 A10 S0.018 ; set Z probe type to bltouch and the dive height + speeds G31 P25 X24.54 Y-14.17 Z2.62 ; set Z probe trigger value, offset and trigger height M557 R160 S30 ; define mesh grid ; Heaters M140 H-1 ; disable heated bed (overrides default heater mapping) M308 S0 P"e0temp" Y"thermistor" T100000 B3974 ; configure sensor 0 as thermistor on pin e0temp M950 H0 C"e0heat" T0 ; create nozzle heater output on e0heat and map it to sensor 0 M143 H0 S280 ; set temperature limit for heater 0 to 280C M307 H0 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off ; LED Ring as Fan M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S0 H-1 ; set fan 1 value. Thermostatic control is turned off ; Tools M563 P0 D0 H0 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 ; Custom settings are not defined M501
; homedelta.g ; called to home all towers on a delta printer ; ; generated by RepRapFirmware Configuration Tool v2.1.8 on Thu May 21 2020 21:52:24 GMT-0700 (Pacific Daylight Time) G91 ; relative positioning G1 H1 X1005 Y1005 Z1005 F5000 ; move all towers to the high end stopping at the endstops (first pass) G1 H2 X-5 Y-5 Z-5 F1800 ; go down a few mm G1 H1 X10 Y10 Z10 F360 ; move all towers up once more (second pass) G1 Z-5 F6000 ; move down a few mm so that the nozzle can be centred G90 ; absolute positioning G1 X0 Y0 F6000 ; move X+Y to the centre
start gcode
G90 M82 M106 S255 G28 ; home all axes M104 S183 T0 ; set extruder temp M109 S183 T0 ; wait for extruder temp G1 Z10 F4000; G1 X-24.54 Y14.17; G30; G29 S1;
end gcode
M104 S0 ; turn off extruder M140 S0 ; turn off bed G28; M84 ; disable motors
-
Do you have a cancel.g file in /sys?
-
@icecube45 said in 3.1.1 - BLtouch doesn't function after cancelling a job.:
M558 P9 C"zprobe.in+zprobe.mod" H5 F120 T12000 A10 S0.018
Not sure if this will help, but modify this command to be:
M558 P9 C"^zprobe.in" H5 F120 T12000 A10 S0.018 R0.5
-
@Phaedrux said in 3.1.1 - BLtouch doesn't function after cancelling a job.:
Not sure if this will help, but modify this command to be:
M558 P9 C"^zprobe.in" H5 F120 T12000 A10 S0.018 R0.5I don't think recovery time would help, being as mesh probing/repeated probing works correctly.
I will try it when I get some free time anyhow.If it helps, here are oscope traces from before and after cancelling a print, and sending the "pin down" command.
First trace results in pin down, second does not.
Looks like possible noise being introduced after a cancelled job? really unsure.
I should note that I don't remember this behavior occurring before updating to RRF 3.
-
The main thing was removing the probe mod pin and adding the pullup resistor enable, but recovery/settle time is a good idea for the bltouch anyway.
Do you have a cancel.g in /sys?
Are the motors being disabled or going idle?
-
@Phaedrux Oh sorry, I thought I had said. No I don't have a cancel.g
The bltouch doesn't work with motors idle or active when in this state - I discovered this after starting a new print and having my hotend crash into my build plate.
Will check the mod pin thing when I have a chance. Though I should note that's what the config tool spat out to me when I selected a bltouch.
-
Yes the config tool has the mod pin selected by default. It's on the list to change. Only analogue probes that require modulation use it.
Can you try creating a cancel.g file? Either blank or with some sort of commands on what to do after cancelling.
Here's mine as example
; cancel.g ; ; Run when the print is paused, and then canceled. ; G10 P0 R0 S0 ; Set hotend temp to 0 M140 S0 ; Set bed temp to 0 M106 S255 ; Fan at 100 to cool nozzle and bed M220 S100 ; Set speed factor back to 100% in case it was changed M221 S100 ; Set extrusion factor back to 100% in case it was changed M290 R0 S0 ; clear babystepping M204 P1000 T4000 ; Set printing and travel accelerations M566 X900 Y900 Z30 ; Set maximum instantaneous speed changes (mm/min) (Jerk) G28 XY ; home XY M98 P"0:/sys/CurrentsNormal.g" ; return motor currents to normal M98 P"0:/sys/ZSpeedsNormal.g" ; return Z axis speeds to normal M84 ; turn off steppers G4 S60 ; wait 1 minute for nozzle to cool M107 ; turn off the fan M98 P"0:/macros/Musical Tunes/TwoBits.g" ; play a tune
-
A blank cancel.g and the M558 adjustments result in no change.
-
What version of BLtouch is it by the way?
-
@Phaedrux A 3.1, genuine.
-
Looks like you have a lot of stepper motor noise in your system. How have you connected the BLTouch to the Duet WiFi, in particular the two ground wires?
-
Both ground wires are connected as described by the z-probe setup guide
But your comment on stepper noise had me thinking:
"If it's stepper noise, why does it only occur after cancelling a print, and not when I'm swinging the effector around beforehand"Which led me to the root cause of my issue, my extruder stepper. Specifically (I guess), the hold current.
I tested this with manual control. BlTouch pin down, up. Works great.
Extrude 1mm, command BLTouch, no result.
Issue a
M18 E0
, bltouch immediately follows the last command sent.So looks like my extruder stepper is the noisy one. This makes sense, following wire routing.
For now I guess I'll just issue a M18 within my cancel.g.
Unsure what would have caused this to only act up starting with RRF 3.1.1 - perhaps the configurator has a higher default extruder current than it did the last time I ran it?
-
-
-
@icecube45 Wow, i recently had this problem after switching from duet 2 to duet 3 mini 5+ and M18 E0 before homing worked like a charm, i think this problem might come from different TMC drivers and their switching frequency.
Thank you for sharing this solution.