3.1.1 - BLtouch doesn't function after cancelling a job.
-
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.