[3.5.0-b2] G31 probe offsets not working anymore
-
I use the Euclid probe that sits 10mm below the nozzle when deployed.
When I run four screw bed leveling, the tool does not go to the set trigger height+dive height in Z but directly to the dive hight of 2mm... Or at least it tries to but there is usually a printbed in the wayI am using a Duet6HC with 3.5.0-b2
my probe configuration:
; Probe Sensor M558 P5 C"^io4.in" H2 A3 S0.01 R0 F200 T60000 ; set Z probe type and the dive height + speeds M376 H10 ;Set height (mm) over which to taper off the bed compensation (should be 20x max mesh error) G31 P1000 X0 Y27 Z10 ;Set Z probe parameters
And my bed.g:
T-1 ;deselect tools M561 ;clear any bed transform M290 R0 S0 ;clear babystepping G92 S2 ;disable mesh compensation M401 ;deploy probe ; probe at each corner of the bed G30 P0 X{global.probe_Xmin} Y{global.probe_Ymax} Z-99999 ; probe near a leadscrew G30 P1 X{global.probe_Xmax} Y{global.probe_Ymax} Z-99999 ; probe near a leadscrew G30 P2 X{global.probe_Xmax} Y{global.probe_Ymin} Z-99999 ; probe near a leadscrew G30 P3 X{global.probe_Xmin} Y{global.probe_Ymin} Z-99999 S4 ; probe near a leadscrew and calibrate 4 motor while move.calibration.initial.deviation >= 0.01 ; perform additional tramming if previous deviation was over 0.01mm if iterations = 5 abort "Probing cycle cancelled! Too many calibration attempts or inconsistent probe readings" else ; repeat the probing cycle G30 P0 X{global.probe_Xmin} Y{global.probe_Ymax} Z-99999 ; probe near a leadscrew G30 P1 X{global.probe_Xmax} Y{global.probe_Ymax} Z-99999 ; probe near a leadscrew G30 P2 X{global.probe_Xmax} Y{global.probe_Ymin} Z-99999 ; probe near a leadscrew G30 P3 X{global.probe_Xmin} Y{global.probe_Ymin} Z-99999 S4 ; probe near a leadscrew and calibrate 4 motor echo "Plattform calibration successfull. Deveation between points: " ^ move.calibration.initial.deviation ^ " mm" M402 ;retract probe M98 P"0:/macros/load heightmap"
-
@MaxGyver Is the way things are working now different to the way they worked before? If so what version were you running before? It's probably a good idea to post the full config.g file, it makes it easier for anyone trying to reproduce your setup.
-
I have tested RRF 3.4.5 stable and 3.5.0-b1. Here it works as expected. So, it is really a new issue in 3.5.0-b2.
here my full config.g
; Configuration file for Duet 3 (firmware version 3) ; executed by the firmware on start-up ; generated by RepRapFirmware Configuration Tool v3.1.4 on Wed Aug 05 2020 11:42:30 GMT+0200 (Mitteleuropäische Sommerzeit) ;/// General preferences /// M550 P"Duet3" ; set printer name ;/// Global variables /// ;global T0pausetime = 0 ;global T1pausetime = 0 ;global T0_temp = 0 ;global T1_temp = 0 ;;global T0_bedtemp = 0 ;;global T1_bedtemp = 0 ;;global T_initial = 0 ;;global T0purged = false ;global T1purged = false global closedloop = true ;global blowermin = 0.45 ;min blower speed ;global blowermax = 0.58 ;max blower speed ; bed Area ;Xmin=0 ;Ymin=10 ;Xmax=380 ;Ymax=320 ; /// Fans /// ; Blower M950 F0 C"!out4+out4.tach" A"Blower" Q25000 ;create fan 0 on pin out4 and set its frequency M106 P0 L0.45 X0.58 B0 H1 T80:180 ; ///Tool fans/// M950 F1 C"!out6" L0 X1 Q50 ;T0 Fan M950 F2 C"!out7" L0 X1 Q50 ;T1 Fan M106 P1 S0 B0 M106 P2 S0 B0 ; ///Chamer Fan/// M950 F3 C"!out5+out5.tach" A"Filter Fan" M106 P3 L0.30 X0.45 B0 H0:1:2 T60:180 ; ///Power ON/// M81 C"pson" M80 ;switch power on G4 S4 ;wait for expansion boards to boot ;/// Drives /// M569 P0 S0 D2 ;Drive 0.0/Z1 motor (rear left) M569 P1 S1 D2 ;Drive 0.1/Z2 motor (rear right) M569 P2 S1 D2 ;Drive 0.2/Z3 motor (front right) M569 P3 S0 D2 ;Drive 0.3/Z4 motor (front left) M569 P4 S1 D2 ;Drive 0.4/E1 motor M569 P5 S1 D2 ;Drive 0.5/E2 motor M569 P1.0 S1 D2 ;Drive 2.1/A M569 P1.1 S1 D2 ;Drive 2.2/B ;/// Closed-Loop /// M569 P123.0 S1 ;X-Motor M569 P124.0 S1 ;U-Motor M569 P125.0 S1 ;Y1-Motor M569 P126.0 S0 ;Y2-Motor M569.1 P123.0 T2 S200 E0.0:0.0 C4000 H50 R100 I0 D0.2 ;Configure the 1HCL board at CAN address 123 with a quadrature encoder on the motor shaft that has 20 steps per motor full step. M569.1 P124.0 T2 S200 E0.0:0.0 C4000 H50 R100 I0 D0.2 ;Configure the 1HCL board at CAN address 124 with a quadrature encoder on the motor shaft that has 20 steps per motor full step. M569.1 P125.0 T2 S200 E0.0:0.0 C1000 H50 R100 I0 D0.1 ;Configure the 1HCL board at CAN address 125 with a quadrature encoder on the motor shaft that has 20 steps per motor full step. M569.1 P126.0 T2 S200 E0.0:0.0 C1000 H50 R100 I0 D0.1 ;Configure the 1HCL board at CAN address 126 with a quadrature encoder on the motor shaft that has 20 steps per motor full step. ;M569.1 P123.0 T2 E0.0:0.0 C20 H100 R100 I0 D0.2 ;Configure the 1HCL board at CAN address 123 with a quadrature encoder on the motor shaft that has 20 steps per motor full step. ;M569.1 P124.0 T2 E0.0:0.0 C20 H100 R100 I0 D0.2 ;Configure the 1HCL board at CAN address 124 with a quadrature encoder on the motor shaft that has 20 steps per motor full step. ;M569.1 P125.0 T2 E0.0:0.0 C5 H100 R100 I0 D0.1 ;Configure the 1HCL board at CAN address 125 with a quadrature encoder on the motor shaft that has 20 steps per motor full step. ;M569.1 P126.0 T2 E0.0:0.0 C5 H100 R100 I0 D0.1 ;Configure the 1HCL board at CAN address 126 with a quadrature encoder on the motor shaft that has 20 steps per motor full step. ;/// Motion System /// M584 X123.0 Y125.0:126.0 Z0:1:2:3 E4:5 A1.0 B1.1 ;U124.0 set 4 Z drivers and add one U driver -> Must come earlier than M350,M906,M92, M201, M203, M208, M350, M566, M574, M667 and M669 M350 X32 Y32 Z32 I1 ;U32 Configure microstepping with interpolation M350 A4 B4 I0 ; Configure microstepping without interpolation M92 X160 Y160 Z1280 A11 B11 ;U160 Set steps per mm ;M579 Z1.001335113484646 scaling of Z-Axis ; Axis accelerations, speed and currents M566 X1200 Y1200 U1200 Z120 ; set maximum instantaneous speed changes (mm/min) and jerk policy M203 X32000 Y32000 U32000 Z2100 ; set maximum speeds (mm/min) M201 X10000 Y10000 U10000 Z1000 ; set accelerations (mm/s^2) M201.1 Z100 ; set accelerations for special moves (mm/s^2) M906 X1050 U1050 Y1800 Z1800 A300 B300 I50 ;Set motor currents (mA) and motor idle factor in per cent M84 S5 ;Set idle timeout M917 Z50 ;Set holding current in percent ; Extruder configuration M350 E16 I1 ;micro stepping set to 16 with interpolation M92 E690 ;steps/mm - you may need to finetune it M203 E7200 ;max speed mm/min M566 E300 ;instantaneous speed change mm/min M201 E8000 ;acceleration mm/s2 M906 E1500 I10 ;motor current 1.2A idle current 10% M572 D0 S0.025 ;pressure advance – to be calibrated ;Valves M566 A500 B500 P1 ;set maximum instantaneous speed changes (mm/min) and jerk policy M203 A20000 B20000 ;set maximum speeds (mm/min) M201 A6000 B6000 ;set accelerations (mm/s^2) ; Printing and travel accelerations M204 P10000 T15000 ;Set printing acceleration and travel accelerations (mm/s²) ;/// Kinematics /// M669 K0 M671 X-41:495.5:495.5:-41 Y353:353:23:23 S10 ;lead screw positions and maximum allowed correction S in mm G90 ;send absolute coordinates M83 ;send relative extruder moves ;/// Axis Limits /// M208 X-25 Y0 Z0 U0 S1 ;set axis minima M208 X380 Y325 Z352 U405 A100 B100 S0 ;set axis maxima ;/// Endstops /// M574 X1 S1 P"123.io1.in" ;configure active-high endstop for low end on X via pin 123.io1.in M574 Y2 S1 P"126.io1.in" ;configure active-high endstop for high end on Y via pin 126.io1.in M574 U2 S1 P"124.io1.in" ;configure active-high endstop for high end on U via pin 124.io1.in M574 Z2 S1 P"io3.in" ;configure active-high endstop for high end on Z via pin io3.in ;/// Z-Probe /// ; Probe Area global probe_Xmin=20 global probe_Xmax=380 global probe_Ymin=25 global probe_Ymax=325 ; Probe Sensor M558 P5 C"^io4.in" H2 A3 S0.01 R0 F200 T60000 ;IR Z-Probe 1: set Z probe type and the dive height + speeds M376 H10 ;Set height (mm) over which to taper off the bed compensation (should be 20x max mesh error) G31 P1000 X0 Y27 Z10 ;Set Z probe parameters, lower Z-value -> nozzle further down M557 X10:380 Y30:320 S25 ; P14:10; define mesh-grid ;/// Bed Heater /// M308 S0 P"temp0" A"Bed" Y"thermistor" T100000 B3950 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out8" T0 ;create bed heater output on out0 and map it to sensor 0 M307 H0 R0.464 K0.208:0.000 D2.88 E1.35 S1.00 B0 M140 H0 ;map heated bed to heater 0 M143 H0 S125 ;set temperature limit for heater 0 to 125C ;/// Hotend1 Heater /// M308 S1 P"temp1" A"Extruder1" Y"thermistor" T100000 B4725 C7.060000e-8 ;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 R3.423 K0.440:0.519 D3.05 E1.35 S1.00 B0 V23.9 M143 H1 S300 ;set temperature limit for heater 1 to 280C ;/// Hotend2 Heater /// ;M308 S2 P"temp2" A"Extruder2" Y"pt1000" R2200 ; configure sensor 2 as PT1000 on pin temp2 ;M950 H2 C"out2" T2 ; create nozzle heater output on out2 and map it to sensor 2 ;M307 H2 R2.881 K0.248:0.243 D1.48 E1.35 S1.00 B0 V23.8 ;M143 H2 S300 ; set temperature limit for heater 2 to 280C ; /// Tool0 /// M563 P0 D0 H1 X0 F1 ;tool0 uses extruder1 and heater 1 with fan 1 as the print cooling fan G10 P0 X0 Y0 Z0 ;set tool 1 axis offsets G10 P0 R0 S0 ;set initial tool 1 active and standby temperatures to 0C M309 P0 S0.015 ;set heater feedforward ; /// Tool1 /// ;M563 P1 D1 H2 X3 F2 ; tool1 uses extruder2 and heater 2 with fan 2 as the print cooling fan and maps X to U ;G10 P1 X0 U28 Y-0.4 S0 R0 ; set tool 1 offsets and temperatures. (increase U to move nozzle to the left and decrease Y to move nozzle to the front) ;G10 P1 R0 S0 ; set initial tool 2 active and standby temperatures to 0C ;M309 P1 S0.01 ; set heater feedforward ; /// Duplication Mode /// ; Create a tool that prints 2 copies of the object using both carriages ;M563 P2 D0:1 H1:2 X0:3 F1:2 S"Duplication Mode" ; tool 2 uses both extruders, hot end heaters and fans, and maps X to both X and U ;G10 P2 X0 Y0 U-205 S0 R0 ; set tool offsets and temperatures ;M567 P2 E1:1 ; set mix ratio 100% on both extruders ; /// Mirror Mode /// ; Create a tool that prints 2 mirrored copies of the object using both carriages ;M563 P3 D0:1 H1:2 X0:3 F1:2 S"Mirror Mode" ;tool 3 uses both extruders, hot end heaters and fans, and maps X to both X and U ;G10 P3 X0 Y0 U-465 S0 R0 ; set tool offsets and temperatures ;M567 P3 E1:1 ; set mix ratio 100% on both extruders ;/// Temp sensors /// M308 S7 Y"mcu-temp" A"MCU-temp" ;configure sensor 5 as thermistor for MCU M308 S3 P"124.temp0" A"Chamber" Y"pt1000" R2180 ;Setup temp 0 on 1HCL at CAN address 50 as sensor 3 - sensing the chamber temperature M308 S4 P"temp3" A"Blower" Y"thermistor" T100000 B3950 ;define bed temperature sensor ; /// LED lights /// M950 P3 C"out3" M42 P3 S1 ; /// Input Shaping /// ;M955 P0 C"spi.cs3+spi.cs2" ; all wires connected to temp DB connector ;M593 P"ZVDD" S0.05 F35.3 ; /// Diverse /// M501 ;set the active parameters to those stored in sys/config-override.g M291 P"The printer is not homed, home now?" R"Homing" S3 G28
and my deployprobe.g and retractprobe.g
if sensors.probes[0].value[0]=1000 echo "probe already parked" else G0 Z20 X10 Y325 F36000 G0 Z2.5 G0 X-25 F2000 G0 Y300 G0 Z20 echo "probe parked" ;if sensors.probes[0].value[0]=1000 ;echo "failed to park probe!" ;abort
if sensors.probes[0].value[0]=1000 echo "probe already parked" else G0 Z20 X10 Y325 F36000 G0 Z2.5 G0 X-25 F2000 G0 Y300 G0 Z20 echo "probe parked" ;if sensors.probes[0].value[0]=1000 ;echo "failed to park probe!" ;abort
-
I just noticed that for G32, G30 and G29 the probe Z-offset is applied AFTER the first probe point has been probed. All succeeding probing moves use the correct offsets.
I am on RRF 3.5.0-b2+