G30 S-1 probe fail in 3.6.0-beta4
-
I'm following https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_testing to update offset after hw changes. This worked in 3.5.4.
Now on 3.6.0-beta4 the g30 s-1 stops just short of activating the Z end stop. I've turned off limits and can manually jog the bed to trigger the end stop but g30 won't go there. I tried starting closer in case there is a dive limit but no luck. It appears to be limited by what was set by G31 offset. Did this procedure change or maybe a bug?
-
@jltx Can you explain your setup (what probe type, connected to mainboard or expansion board, etc), and post your config.g? I've just test this in 3.6.0-beta4, and it seems to work correctly for me. I'm using a Mini 5+ with 1LC toolboard, and an IR probe connected to the 1LC. Probe setup:
; Probes M558 K0 P8 C"121.io0.in" H5 F600:120 T6000 A5 ; configure unfiltered digital probe via slot #0 G31 P500 X30 Y0 Z1.07 ; set Z probe trigger value, offset and trigger height
After homing all, if I send G30 S-1, the Z axis is stopped when the IR probe is triggered, and gives the nozzle height of
G30 S-1 Stopped at height 1.040 mm
I would expect it to report something close to the G31 Z offset when triggered, that's exactly what the Z offset it for!
Ian
-
@droftarts I have a mini5+, 2+, SBC. Z endstop is connected to mini5+. See config.g
I am doing this all manually through the console and 12864 menu to jog Z. I move to bed center and lower nozzle manually to grab paper. Then in increase Z +5 and go to Z endstop. I then issue G30 S-1 and it slowly lowers and stops just as it touches the top of the endstop. I just tried again and checked that I could lower the nozzle to the bed, i.e. that the range is not limited in some way. The Z endstop is almost 1mm above the bed level, meaning that G30 S-1 is stopping well above zero.
I did this procedure multiple time on 3.5.4 and it worked correctly every time.
config.g
; Configuration file for Duet 3 Mini 5+ (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sat Jun 05 2021 22:48:46 GMT-0500 (CDT) ; General preferences M111 S0 ; Debugging off G21 ; Work in millimetres G90 ; send absolute coordinates... M83 ; ...but relative extruder moves ;now goes into dsf-config.g -> M550 P"CerberusDWC" ; set printer name M669 K1 ; select CoreXY mode M564 S1 H1 ; Forbid axis movements when not homed ; Network ;SBC M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; --- Drive map --- ; B _______ A ; | 2 | ; Z | 1 | 0 | ; ------- ; front ; ; (looking at the printer from the top) ;Crown lights M950 E0 C"led" T1 ;Q3000000 ; set LED type to NeoPixel and set SPI frequency to 3MHz M150 E0 B255 P192 S30 F0 ; set next 20 LEDs to cyan, full brightness, finished programming strip ; Drives M569 P0.5 S1 ; A drive 0.0 goes forwards M569 P0.1 S1 ; B drive 0.1 goes forwards M569 P0.2 S0 ; Z0 drive 0.2 goes backwards M569 P0.3 S0 ; Z1 drive 0.3 goes backwards M569 P0.6 S0 ; Z2 drive 0.6 goes backwards M569 P0.0 S0 ; E drive 0.4 goes backwards ; motor mapping and steps M584 X0.1 Y0.5 Z0.2:0.3:0.6 E0.0 ; set drive mapping ;M584 U0.2 V0.3 W0.6 ;control individual Z M350 X4 Y4 Z16 E16 I1 ; configure microstepping with interpolation M92 X40.00 Y40.00 ; set steps per mm (0.9deg) M92 Z800.00 E676.00 ; set steps per mm (1.8deg) ; drive currents M906 X1500 Y1500 Z1200 E600 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S60 ; Set idle timeout ; Accelerations and speed M98 P"/macros/print_scripts/setup_printing.g" ; Axis Limits M208 X-1 Y-2 Z-0.5 S1 ; set axis minima M208 X302 Y307 Z260 S0 ; set axis maxima ; Endstops M574 X2 S1 P"^io2.in" ; configure active-high endstop for high end on X via pin ^io1.in M574 Y2 S1 P"^io4.in" ; configure active-high endstop for high end on Y via pin ^io2.in M574 Z0 P"nil" ; No Z endstop ; Z probes M558 K0 P8 C"^io5.in" T24000 F120 H5 A5 S0.01 R0.2 G31 K0 P500 X0 Y25 Z2.48 ; Don't really care about inductive probe Z offset M558 K1 P8 C"^io6.in" T18000 F240:60 H2 A10 S0.005 R0.2 ;G31 K1 P500 X0 Y0 Z0.5 ; Z switch offset (if positive, greater value = nozzle closer to bed. if negative, more negative = nozzle further from bed) ; Bed leveling M671 X345:-45:150 Y20:20:345 S12 ; bed leveling coords, max 5mm adjust M557 X14:292 Y25:285 P21:21 ; Define bed mesh grid (inductive probe, positions include the Y offset!) and mesh count ; Bed heater (dual thermistor setup) M308 S0 P"temp0" Y"thermistor" T100000 B3950 A"Bed Heater" ; configure sensor 0 as thermistor on pin temp0 (heater sensor) M308 S2 P"temp2" Y"thermistor" T100000 B3950 A"Bed Plate" ; configure sensor 2 as thermistor on pin temp1 (mic6 sensor) M950 H0 C"out0" T0 Q10 ; ##FIXME create bed heater output on out0 and map it to sensor 2 (mic6 sensor). Set PWM frequency to 10Hz M140 P0 H0 ; Mark heater H0 as bed heater (for DWC) M143 H0 P1 T0 A2 S115 C0 ; Regulate (A2) bed heater (H0) to have pad sensor (T0) below 115°C. Use Heater monitor 1 for it M143 H0 P2 T0 A1 S125 C0 ; Shut off (A1) bed heater (H0) if pad sensor (T0) exceeds 125°C. Use Heater monitor 2 for it M143 H0 S113 ; Set bed heater max temperature to 110°C, use implict monitor 0 which is implicitly configured for heater fault M307 H0 B0 S0.6 ; disable bang-bang mode and set PWM to 60% to avoid warping ; Hotend heater M308 S1 A"Hotned" P"temp1" Y"pt1000" ;R2200 ; configure sensor 1 as PT1000 on pin temp1 M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S350 ; set temperature limit for heater 1 to 350C ; MCU sensors (not available on Mini5+, Booh!!) ;M308 S3 Y"mcu-temp" A"MCU" ;M308 S4 Y"drivers" A"Drivers" ; chamber temp+humid M308 S10 P"io1.out+io1.in" Y"dht22" A"Chamber Temp[C]" ; Set DHT22 for chamber temp M308 S11 P"S10.1" Y"dhthumidity" A"Chamber Hum[%]" ; Fans M950 F0 C"out4" Q250 ; create fan 0 (hotend) on pin out4 and set its frequency M106 P0 S1 H1 T50 C"Hotend" ; configure fan 0 value. Thermostatic control is turned on, using sensor #1 M950 F1 C"out3" Q20 ; create fan 1 (cooling) on pin out3 and set its frequency M106 P1 S0 H-1 C"Cooling" ; configure fan 1 value. Thermostatic control is turned off ; ##FIXME ;M950 F2 C"out5" Q30 ; Create fan 2 (electronics bay) on pin out5 and set its frequency ;;M106 P2 S0.25 H1 T50 C"Bay" ; Run the fans at 25% if the hotend is over 50C ;M106 P2 S0 H-1 C"Bay" ; (temporary manual setup) ;M950 F3 C"out6" Q30 ; Create fan 3 (chamber) on pin out6 and set its frequency ;M106 P3 S1 H2 T65 C"Chamber" ; Configure fan 3: Thermostatic control is turned on, based on sensor #2 (mic6 temp) ;;M106 P3 S0 H-1 C"Chamber" ; (temporary manual setup) M950 H3 C"out6" T10 ;M950 H3 T10 M141 P0 H3 ; Tools M563 P0 D0 H1 F1 ; define tool 0 using fan 0 for M106 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets M568 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; move here to test ;G31 K1 P500 Z0.819 S25 T-0.0012:0 H2 ; Z switch offset @ 25C (if positive, greater value = nozzle closer to bed. if negative, more negative = nozzle further from bed) G31 K1 P500 Z0.88 ; Custom settings ; LEDs ;M950 F4 C"out2" ; Create fan 4 (top leds) on pin out2 ;M106 P4 S255 B0 H-1 C"Top Lights" ; ## FIXME ; Miscellaneous M592 D0 A0.015 B0.0012 L0.2 ; Non-linear extrusion ##FIXME M376 H2 ; Fade mesh out compensation over 2mm Z ;M912 P0 S-8.5 ; MCU temp calibration ##FIXME ; Accelerometer for selecting input shaping ;M955 P0 C"spi.cs2+spi.cs1" ; all wires connected to temp DB connector, no temperature daughterboard ; Input Shaping M593 P"mzv" F40 ; use mzv input shaping to cancel ringing at 40Hz ;M80 ; ##FIXME turn on PSU & mains voltage M918 P2 R6 C40 E4 F200000 ; Fysetc 12864 display M950 E1 C"io3.out" T1 U3 ; create a RGB Neopixel LED strip with 3 LEDs on the Duet 3 Mini 5+ 12864_EXP1 header ; set default LCD color - R(R) G(U) B(B) L(P) M150 E1 R40 U210 B250 P192 S1 F1 ;M150 X2 R0 U250 B210 P30 S1 F1 ; M150 E1 R0 U250 B210 P30 S2 F0 ; ; Crown lights ;M950 E0 C"led" T1 ;Q3000000 ; set LED type to NeoPixel and set SPI frequency to 3MHz M150 E0 R255 U255 B255 P180 S30 F0 ; set next 20 LEDs to cyan, full brightness, finished programming strip M501 ; load saved parameters from non-volatile memory (config-override.g) T0 ; select tool 0
-
@jltx said in G30 S-1 probe fail in 3.6.0-beta4:
I move to bed center and lower nozzle manually to grab paper.
Do you reset Z=0 at this point? ie with
G92 Z0
?Then in increase Z +5 and go to Z endstop.
Not sure I quite understand, "go to Z endstop"?
I then issue G30 S-1 and it slowly lowers and stops just as it touches the top of the endstop. I just tried again and checked that I could lower the nozzle to the bed, i.e. that the range is not limited in some way. The Z endstop is almost 1mm above the bed level, meaning that G30 S-1 is stopping well above zero.
You say 'Z endstop' but your config doesn't define a Z endstop, only a probe of type P8, is that what you mean? Or do you define the Z endstop in your homing file?
... ; Endstops M574 X2 S1 P"^io2.in" ; configure active-high endstop for high end on X via pin ^io1.in M574 Y2 S1 P"^io4.in" ; configure active-high endstop for high end on Y via pin ^io2.in M574 Z0 P"nil" ; No Z endstop ; Z probes M558 K0 P8 C"^io5.in" T24000 F120 H5 A5 S0.01 R0.2 G31 K0 P500 X0 Y25 Z2.48 ; Don't really care about inductive probe Z offset M558 K1 P8 C"^io6.in" T18000 F240:60 H2 A10 S0.005 R0.2 ...
Does DWC report the probe as triggered, ie in the Status section, does the Z probe read 1000? Does the G30 S-1 command respond with the 'Stopped at height ...' message? If so, what does that say?
Ian
-
I added a K1 and it works now. I do not recall adding that before but I wouldn't swear to it. So may not be a change after all.
-
@droftarts Yes, I reset Z to 0 with G92.
My endstop is outside of the bed area so I have to move to it.
My endstop is K1. Is not a correct set up for that?
It is working now. See my previous message.
-
@jltx Without the K1 it would have been using the other probe, as K0 is the default. I believe that's been around since RRF 3.01-RC5 (see https://docs.duet3d.com/en/User_manual/Reference/Gcodes#g30-single-z-probe) so I think either your probe config has changed, or you were using G30 K1 ... before.
Note that the G31 K1 ... probe offsets is commented out in your config.g, so it will be using the default values.
Ian