Probing issue ?
-
Hello all, I just updated my duet 2 WiFi to the latest 3.4.0-RC1 and I have had an issue with the sensorless homing, I think I have got that sorted out but I decided that I wanted to make an adjustment to the start.g and my bed.g in how it probes the bed and I think I found an issue with the M558 and G31 commands for setting the probe.
Because my printer has a large Z axis that can't move super fast I have in my Bed.g a G0 command to bring the bed up quickly to 10mm. Then it probes the bed to set Z at the probe trigger height and then proceeds to run the G29 bed mesh. Since the update and the issue with the sensorless homing I thought I would implement a G38.2 probe to bring the bed up, but that uses the probing speed for its feed rate. I did the same thing on my CNC router and added the M558 command to speed up the probe move for a first pass then back off a few mm reset the M558 speed and do a second probe slower using the G30. After all that I run the G29 to get the bed mesh.
The issue is that after updating the M558 the printer tried to probe off the bed, essentially ignoring the G31 parameters. To resolve the issue I have to reissue the G31 commands after the M558. Is that the intended behaviour or is that bug?
Regards.
-
Please share your actual gcode used.
-
Here is the Start.g that I'm using which shows the use of the M558 and the G31. If I remove the G31 from this macro, the probe will not probe the bed, it will move outside of the limits.
; This will run at the start of all prints ; If the printer hasn't been homed, home it if !move.axes[2].homed G28 Z if !move.axes[0].homed G28 X if !move.axes[1].homed G28 Y G1 X0 Y0 F12000 ; move to center of bed M558 P9 C"^zprobe.in" H5 F6000 T9000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X-42.5 Y-8.00 Z2.8 ; set Z probe trigger value, offset and trigger height G38.2 Z0 ; Probe bed quickly ;G1 Z10 F1000 ; Move bed close to nozzle for probing M558 P9 C"^zprobe.in" H5 F300 T9000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X-42.5 Y-8.00 Z2.8 ; set Z probe trigger value, offset and trigger height G1 Z10 F1000 ; Back off 10mm G32 ; Run Bed.g which probes the bed and sets the mesh file
Here is config.g
; Configuration file for Duet WiFi (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.1.10 on Sun Dec 20 2020 17:43:31 GMT-0600 (Central Standard Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Ender 5 Pro" ; 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 S0 ; physical drive 0 goes backwards M569 P1 S0 ; physical drive 1 goes backwards M569 P2 S1 ; physical drive 2 goes forwards M569 P3 S1 ; physical drive 3 goes forwards M584 X0 Y1 Z2 E3 ; set drive mapping M350 X32 Y32 Z16 E32 I1 ; configure microstepping with interpolation M92 X160.00 Y160.00 Z794.76 E276.00 ; set steps per mm M566 X1000.00 Y1000.00 Z300.00 E400.00 ; set maximum instantaneous speed changes (mm/min) M203 X12000.00 Y12000.00 Z1200.00 E1200.00 ; set maximum speeds (mm/min) M201 X1500.00 Y1500.00 Z50.00 E250.00 ; set accelerations (mm/s^2) M906 X650 Y800 Z1200 E650 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X-115 Y-115 Z-8 S1 ; set axis minima M208 X115 Y115 Z506 S0 ; set axis maxima ; Endstops M574 X2 S1 P"xstop" ; configure active-high endstop for high end on X via pin xstop M574 Y2 S1 P"ystop" ; configure active-high endstop for high end on Y via pin ystop M574 Z2 S3 ; configure motor stall for Z max M915 Z S3 F0 H600 R0 ; configure stall detection ; Z-Probe M950 S0 C"exp.heater3" ; create servo pin 0 for BLTouch M558 P9 C"^zprobe.in" H5 F300 T9000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X-42.5 Y-8.00 Z2.8 ; set Z probe trigger value, offset and trigger height M557 X-105:65 Y-105:65 S34 ; define mesh grid ; Filament sensor M591 P2 C"e1stop" S1 D0 ; filament monitor connected to E0 endstop ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0 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 M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S280 ; set temperature limit for heater 1 to 280C ;Virtual Heaters M308 S4 Y"mcu-temp" A"MCU" ; create mcu temperature M308 S5 Y"drivers" A"Stepper driver" ; create driver temperature ; Fans M950 F0 C"fan0" Q50 ; create fan 0 on pin fan0 and set its frequency Board cooling fan M106 P0 L50 T30:45 H4:5 ; set fan 0 value. Thermostatic control is turned on proportional to the mcu temp M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency Part cooling fan M106 P1 S0 H-1 ; set fan 1 value. Thermostatic control is turned off M950 F2 C"fan2" Q500 ; create fan 2 on pin fan2 and set its frequency Heat break fan M106 P2 S0 H1 T45 ; set fan 2 value. Thermostatic control is turned on ; Tools M563 P0 D0 H1 F1 ; 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 ; Miscellaneous M572 D0 S0.05 ; Set pressure advance M501 ; load saved parameters from non-volatile memory M911 S23 R24 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss T0 ; select first tool
-
@baird1fa said in Probing issue ?:
If I remove the G31 from this macro, the probe will not probe the bed, it will move outside of the limits.
This is because you're using a full M558 command. Every time you do that you need to resend the G31.
If you just want to alter a single parameter of the M558, only call that parameter out.
Ex. M558 F300
Then you won't need to include the G31 at all outside of config.g
-
@phaedrux Good to know. Thanks.