Duet3 6HC and TOOL1RR Heightmap
-
I just swapped my toolhead for the Roto with the Duet Roto toolboard. I have. a BL Touch for main z probe and the SZP. When I run the SZP heightmap I always get the error "Warning: the height map has a substantial Z offset. Suggest use Z-probe to establish Z=0 datum, then re-probe the mesh." It seems like the whole map iss offset by about -.3mm or so. I set Z using the BLtouch and calibrated the SZP at z=2. Any ideas? I'm stuck.
-
heres my mesh.g
M557 X30:260 Y35:250 P20 ; Define grid for mesh bed compensation, G29 S2 ; Disable mesh bed compensation G28 Z ; Home Z G1 Z6 ; To avoid backlash move to point higher than start of calibration M558.1 K1 S1.3 ; Calibrate probe G1 Z6 ; Move up at end of calibration G29 S0 K1 ; Scan bed and create mesh
-
config.g
;M111 S0 ; Debug off ;M555 P2 ; Set output to look like Marlin M950 P9 C"out1" ; Create Tool Board output M42 P9 S1 ; Turn on Tool Board G4 S2 ; wait for expansion boards to start G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Axis and motor configuration M669 K1 ; CoreXY mode M569 P0.0 S0 ; Drive 0 goes forwards Z (Left Front) M569 P0.1 S0 ; Drive 1 goes backward Z (Right) M569 P0.2 S0 ; Drive 2 goes forwards Z (Left Rear) M569 P0.3 S1 ; Drive 3 goes forwards Y M569 P0.4 S0 ; Drive 4 goes forwards X M569 P0.5 S1 ; Drive 5 goes forwards Unused ;M569 P20.0 S1 ; etruder ;M584 X4 Y3 Z2:0:1 E20.0 ; Drive Mapping M584 X4 Y3 Z2:0:1 E5 ; Drive Mapping M350 X16 Y16 Z16 E16 I1 ; 16x microstepping with interpolation M92 X200.00 Y200.00 Z1600.00 E393 ; Set steps/mm M566 X1600 Y1600 Z200 E1500 ; Set maximum jerk M203 X6000 Y6000 Z900 E3600 ; Set maximum speeds (mm/min) M201 X1750 Y1750 Z250 E1500 ; Set maximum acceleration (mm/s^2) M906 X1200 Y1200 Z800 E1000 I30 ; Set motor currents (mA) M84 S30 ;Leadscrew locations M671 X-23.6:-23.6:343.6 Y-3.5:251.2:124.4 S7.5 ; ; Axis Limits M208 X0 Y0 Z-0.5 S1 ; Set axis minima M208 X270 Y250 Z250 ; Set axis maxima ; Endstops M574 X2 S1 P"io0.in" ; Configure active-high endstop for high end on X via pin io0.in M574 Y1 S1 P"io1.in" ; Configure active-high endstop for low end on Y via pin io1.in ; Z-Probe M950 S2 C"21.io0.out" ; Create servo pin on toolboard pin 0 for BLTouch M558 P9 C"21.io0.in" H8 F100 T2000 ; Set Z probe type to bltouch and the dive height + speeds M280 P2 S160 ; Release alarms and retract pin. ;G31 X0 Y20 Z2.286 P25 ; Set Z probe trigger value, offset and trigger height 3.63 E3d .4 3.67 Slice .4 3.118 Micro, 3.980 Mosquito G31 X28.8 Y24.3 Z2.044 P25 ; Set Z probe trigger value, offset and trigger height Revo Roto ;M557 X40:280 Y21:241 S20 ; define mesh grid ; Scanning Z probe M558 K1 P11 C"21.i2c.ldc1612" F36000 T36000 M308 A"SZP coil" S10 Y"thermistor" P"21.temp2" ; thermistor on coil G31 K1 Z2 X26 Y9 M558.2 K1 S16 R134318 M955 P21.0 I16 ; Add accelerometer on Roto with CAN address 21 and specify orientation ; Heaters M308 S0 P"temp0" Y"thermistor" A"Bed" T100000 B4725 C7.06e-8; Configure sensor 0 as thermistor on pin temp0 M950 H0 C"pson" T0 Q10 ; Create bed heater output on pson and map to sensor 0 M143 H0 S120 ; Set temperature limit for heater 0 to 120C ;M307 H0 A77.6 C278.8 D11.9 V24.1 B0 ; Bed Heater PID Calibration M307 H0 R0.296 C345.2 D21.13 S1.00 ; Bed Heater PID Calibration M140 H0 ; Map heated bed to heater 0 ;M308 S1 P"20.temp0" Y"thermistor" A"Hotend" T100000 B4725 C7.06e-8; Configure sensor 1 as thermistor on pin temp1 M308 S1 P"temp2" Y"thermistor" A"Hotend" T500000 B4723 C1.196220e-7; Configure sensor 1 as thermistor on pin temp2 (Slice Engineering) ;M950 H1 C"20.out0" T1 ; Create nozzle heater on toolboard out1, map it to sensor 1 M950 H1 C"out2" T1 ; Create nozzle heater on toolboard out1, map it to sensor 1 ;M143 H1 S290 ; Set temperature limit for heater 1 to 280C M143 H1 S350 ; Set temperature limit for heater 1 to 350C Mosquito ;M307 H1 B0 S1.00 ; Disable bang-bang mode for heater and set PWM limit ;M307 H1 R2.423 C242.8:143.5 D7.43 S1.00 V24.1 M307 H1 R2.436 C166.7 D7.27 S1.00 V24.1 ; Fans M950 F0 C"out8" Q500 ; Create fan 0 on toolboard and set its frequency (Layer) M106 P0 C"Part Cooling" S0 H-1 ; Set fan 0 value. Thermostatic control is turned off M950 F1 C"out9" Q500 ; Create fan 1 on toolboard and set its frequency (Mosquito) ;M950 F1 C"20.out1" Q500 ; Create fan 1 on toolboard and set its frequency (Hemera) M106 P1 S1 H1 T45 ; Set fan 1 value. Thermostatic control is turned on ; Tools ;M563 P0 S"Hemera" D0 F1 H1 ; Define tool 0 ;M563 P0 S"Mosquito" D0 F1 H1 ; Define tool 0 M563 P0 S"Revo" D0 F1 H1 ; Define tool 0 G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets G10 P0 S0 R0 ; Set initial tool 0 active and standby temperatures to 0C ;M572 D0 S0.06 ; .06 Pressure advance Amazon Basics PETG ;M207 S0.4 F3600 R0.2 T2400 Z0.18 ; Retractions this one worked ;M207 S0.7 F3600 R0 T3600 Z0.18 ; Miscellaneous T0 ; select first tool
-
bed.g
M561 ; clear any existing bed transform G1 Z5 ; _RRF3_ remove S2 G30 P0 X35 Y45 Z-99999 G30 P1 X35 Y250 Z-99999 G30 P2 X270 Y250 Z-99999 G30 P3 X270 Y45 Z-99999 S3 G1 X0 Y0 F5000 ; move the head to the corner (optional)
-
homez.g
G91 G1 Z5 F800 H2 ;_RRF3_ change S2 to H2 G90 ;G1 X104.5 Y79.5 F2400 ;G1 X64.2 Y90.7 F2400 G1 X66.3 Y91.6 F2400 G30 G29 S1 G1 Z2 F200
-
@jhanda I’m on my phone, so it’s difficult to spot errors in your config and macros. I can have a better look in the New Year. However, generally, it sounds like the Z offset of the BLTouch and the SZP are referencing the same Z0. You’re not the first to struggle with this, and I’m going to review the SZP instructions in the New Year: https://docs.duet3d.com/en/User_manual/Tuning/scanning_z_probe_calibration
Initially, you need to set Z0 with the BLTouch (assuming this sets the nozzle height correctly), then use this to calibrate the SZP Z offset. Note that:
- make sure that no heightmap is applied when homing Z with the BLTouch or calibrating the SZP. Add M561 and/or G29 S2 before the SZP calibration to make sure any mesh is disabled.
- SZP calibration changes with temperature. You will need to recalibrate it before scanning if the temperature changes. As you have a BLTouch, you can do this in a macro, and can be done before every scan.
Ian