Strange highmap problem
-
Hi i have a slight problem adjusting my bed via meshbedleveling. Out of some strange behavior my G29 responds with a highmap some 5 or 6mm too deep. Mean deviation is acceptable, but i don't now if this works for printing in Case of compensating.
Here is a picture of the highmap:
Here is my config:
; Configuration file for Duet 3 (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Fri Mar 12 2021 17:14:12 GMT+0100 (Mitteleuropäische Normalzeit) ; General preferences G4 S1 G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"ToolChanger" ; set printer name M669 K1 ; select CoreXY mode ; Network M552 P192.168.178.111 S1 ; enable network and acquire dynamic address via DHCP M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0.0 S1 ; physical drive 0.0 goes forwards Drive 0 X M569 P0.1 S1 ; physical drive 0.1 goes forwards Drive 1 Y M569 P0.2 S1 ; physical drive 0.2 goes forwards Drive 2 Z M569 P121.0 S1 ; physical drive 121.0 goes forwards Drive Toolboard 121 E0 M569 P122.0 S1 ; physical drive 122.0 goes forwards Drive Toolboard 120 E1 M569 P0.3 S0 ; physical drive 0.3 goes forwards Drive 3 E2 M569 P0.4 S0 ; physical drive 0.4 goes forwards Drive 4 E3 M569 P0.5 S0 ; physical drive 0.5 goes forwards Drive 5 Coupler M584 X0.0 Y0.1 Z0.2 C0.5 E121.0:122.0:0.3:0.4 ; set drive mapping M350 C8 I0 ; configure microstepping without interpolation M350 X16 Y16 Z16 E16:16:16:16 I1 ; configure microstepping with interpolation M92 X80.14 Y80.14 Z1600.00 C100 E417.10:417.10:466.793:466.793 ; set steps per mm M566 X400 Y400 Z8.00 C2 E40:40:6000:6000 ; set maximum instantaneous speed changes (mm/min) M203 X35000 Y35000 Z1200 C5000 E6000:6000:6000:6000 ; set maximum speeds (mm/min) M201 X6000.00 Y6000.00 Z400.00 C400 E1200.00:1200.00:6500.00:6500.00 ; set accelerations (mm/s^2) M906 X1800 Y1800 Z1330 C400 E1200:1200:1200:1200 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S120 ; Set idle timeout ;Stall Detection M915 C S5 F0 H200 ; Coupler ;Stall Detection M915 X Y S4 F0 H400 ; X / Y Axes ; Axis Limits M208 X-56.5 Y-57.5 Z-6 C0 S1 ; set axis minima M208 X353.5 Y360 Z308 C260 S0 ; set axis maxima ; Endstops M574 X1 S3 ; configure sensorless endstop for low end on X M574 Y1 S3 ; configure sensorless endstop for low end on Y M574 Z1 S2 ; configure active-high endstop for low end on Z via pin io2.in ; Z-Probe ;M558 P1 R1 C"!io3.in" H10 F2400 A4 S0.05 T6000 ; set Z probe type to effector and the dive height + speeds NORMALERWEISE S0.03 M558 P1 R1.0 C"!io3.in" H7 F500 T10000 ; set Z probe type to effector and the dive height + speeds G31 P500 X0 Y0 Z0 ; set Z probe trigger value, offset and trigger height M557 X5:295 Y5:295 S40 ; define mesh grid ; Heaters ;Bed M308 S0 P"temp0" Y"pt1000" ; configure sensor 0 as PT1000 on pin temp0 M950 H0 C"out0" T0 ; create bed heater output on out0 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 S125 ; set temperature limit for heater 0 to 125C ;Extruder 0 M308 S1 P"121.temp0" Y"pt1000" ; configure sensor 1 as PT1000 on pin 121.temp0 M950 H1 C"121.out0" T1 ; create nozzle heater output on 121.out0 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 ;Extruder 1 M308 S2 P"122.temp0" Y"pt1000" ; configure sensor 2 as PT1000 on pin 122.temp0 M950 H2 C"122.out0" T2 ; create nozzle heater output on 122.out0 and map it to sensor 2 M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H2 S350 ; set temperature limit for heater 2 to 350C ;Extruder 2 M308 S3 P"spi.cs0" Y"rtd-max31865" ; configure sensor 3 as thermocouple via CS pin spi.cs0 M950 H3 C"out1" T3 ; create nozzle heater output on out1 and map it to sensor 3 M307 H3 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H3 S350 ; set temperature limit for heater 3 to 350C ;Extruder 3 M308 S4 P"spi.cs1" Y"rtd-max31865" ; configure sensor 4 as thermocouple via CS pin spi.cs1 M950 H4 C"out2" T4 ; create nozzle heater output on out2 and map it to sensor 4 M307 H4 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H4 S350 ; set temperature limit for heater 4 to 350C ; Fans M950 F0 C"121.out2+out2.tach" Q2500 ; create fan 0 on pin 121.out1 and set its frequency M106 P0 C"Tool 1 Lüfter" S1 H1 T45 ; set fan 0 name and value. Thermostatic control is turned on M950 F1 C"122.out2+out2.tach" Q2500 ; create fan 1 on pin 121.out2 and set its frequency M106 P1 C"Tool 2 Lüfter" S1 H2 T45 ; set fan 1 name and value. Thermostatic control is turned on M950 F2 C"out9" Q500 ; create fan 2 on pin out7 and set its frequency M106 P2 C"Bauteilkühlung 1" S0 H-1 ; set fan 2 name and value. Thermostatic control is turned off M950 F3 C"out5+out5.tach" Q500 ; create fan 3 on pin out8 and set its frequency M106 P3 C"Bauteilkühlung 2" S0 H-1 ; set fan 3 name and value. Thermostatic control is turned off M950 F4 C"out8" Q2500 ; create fan 4 on pin out9 and set its frequency M106 P4 C"Tool 3 Lüfter" S1 H3 T45 ; set fan 4 name and value. Thermostatic control is turned on M950 F5 C"out7" Q2500 ; create fan 5 on pin out4 and set its frequency M106 P5 C"Tool 4 Lüfter" S1 H4 T45 ; set fan 5 name and value. Thermostatic control is turned on M950 F6 C"out4+out4.tach" Q25000 ; create fan 5 on pin out5 and set its frequency M106 P6 C"Boardkühlung 1" S1 H1:2:3:4 T45 ; set fan 6 name and value. Thermostatic control is turned on M950 F7 C"!out6+out6.tach" Q25000 ; create fan 6 on pin out6 and set its frequency M106 P7 C"Gehäusekühlung" S1 H1:2:3:4 T45 ; set fan 7 name and value. Thermostatic control is turned on ; Tools M563 P0 D0 H1 F0:2:3 ; 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 M563 P1 D1 H2 F0:2:3 ; define tool 1 G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C M563 P2 D2 H3 F0:2:3 ; define tool 2 G10 P2 X0 Y0 Z0 ; set tool 2 axis offsets G10 P2 R0 S0 ; set initial tool 2 active and standby temperatures to 0C M563 P3 D3 H4 F0:2:3 ; define tool 3 G10 P3 X0 Y0 Z0 ; set tool 3 axis offsets G10 P3 R0 S0 ; set initial tool 3 active and standby temperatures to 0C ; Custom settings M593 F50 ; cancel ringing at 50Hz (https://forum.e3d-online.com/threads/accelerometer-and-resonance-measurements-of-the-motion-system.3445/) M376 H15 ; bed compensation taper ;tool offsets G10 P0 X19.8 Y58 Z-3.275 ; T0 Hemera 0.5mm Nozzle G10 P1 X18.8 Y58 Z-3.1 ; T1 Hemera 0.4mm Nozzle G10 P2 X-9 Y39 Z-3.44 ; T2 E3D V6 Bondtech 0.4mm Nozzle G10 P3 X-9 Y39 Z-5.39 ; T3 Prometheus Bondtech 0.4mm Nozzle ; Deselect tools T-1 ; Pressure Advance M572 D0 S0.05 ; pressure advance T0 M572 D1 S0.05 ; pressure advance T1 M572 D2 S0.2 ; pressure advance T2 M572 D3 S0.2 ; pressure advance T3 ; Heater model parameters M307 H0 B0 R0.162 C1661.3 D30.91 S1.00 V24.0 M307 H1 B0 R2.147 C289.1:220.0 D5.22 S1.00 V23.7 M307 H2 B0 R2.322 C197.6:173.7 D5.69 S1.00 V23.6 M307 H3 R1.607 C273.7:225.8 D6.01 S1.00 V23.9 M307 H4 R2.114 C239.508:194.630 D7.77 S1.00 V23.9 B0 I0 ; Miscellaneous M575 P1 S1 B57600 ; enable support for PanelDue M501 ; load saved parameters from non-volatile memory M911 S20 R23 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
here is my bed.g:
; Bed Mesh Leveling G28 Z G1 S2 Z3 F500 ; lift Z 3mm ;G31 P{sensors.probes[0].value[0] + 15} ;for analog reading of precision Piezo G29 ;disable mesh leveling, needs to be enabled at the start of your print and disabled again when finished. G29 S2 ; Park the head G1 X-20 Y0 F50000
here is my homeall:
; homeall.g ; called to home all axes M98 Phomec.g ; Home C (ToolHead) M98 Phomey.g ; Home Y M98 Phomex.g ; Home X M98 Phomez.g ; Home Z G1 X-20 Y-0 Z5 F15000 ; Park
here is my homec:
; homec.g ; called to home the C axis (coupler) ;crashc G92 C260 M913 C50 ; C MOTOR TO 40% CURRENT G1 C-260 F2400 ; drive the C-axis to the stop M913 C100 ; C MOTOR TO 100% CURRENT G1 C1 F50000 G92 C0 ;Open Coupler M98 P/macros/Coupler - Unlock
here is my homex:
; homex.g ; called to home the x axis G91 ; use relative positioning G1 H2 X0.5 Y-0.5 F10000 ; energise to avaoid false triggers during sensorless homing M400 ; make sure everything has stopped before we make changes G4 P100 ; wait 100ms M913 X30 Y30 ; drop motor currents to 50% M915 H200 X Y S2 R0 F0 ; set X and Y to sensitivity 3, do nothing when stall, unfiltered G1 H2 Z3 F5000 ; lift Z 3mm G1 H1 X-400 F3000 ; move left 400mm, stopping at the endstop G1 H1 X2 F2000 ; move away from end G1 H2 Z-3 F1200 ; lower Z G90 ; back to absolute positioning M400 ; make sure everything has stopped before we reset the motor currents G4 P100 ; wait 100ms M913 X100 Y100 ; motor currents back to 100%
here is my homey:
; homey.g ; called to home the Y axis G91 ; use relative positioning G1 H2 X0.5 Y-0.5 F10000 ; energise to avaoid false triggers during sensorless homing M400 ; make sure everything has stopped before we make changes G4 P100 ; wait 100ms M913 X30 Y30 ; drop motor currents to 20% M915 H200 X Y S2 R0 F0 ; set X and Y to sensitivity 3, do nothing when stall, unfiltered G1 H2 Z3 F5000 ; lift Z 3mm G1 H1 Y-400 F3000 ; move to the front 400mm, stopping at the endstop G1 H1 Y2 F2000 ; move away from end G1 H2 Z-3 F1200 ; lower Z G90 ; back to absolute positioning M400 ; make sure everything has stopped before we reset the motor currents G4 P100 ; wait 100ms M913 X100 Y100 ; motor currents back to 100%
here is my homez:
; homez.g ; called to home the Z axis T-1 ;just in case there is a tool coupled, go try to drop it at the dock M98 P/macros/Coupler - Unlock ;Open Coupler G91 ; Relative mode G1 H2 Z5 F5000 ; Lower the bed G90 ; back to absolute positioning G1 X150 Y150 F50000 ; Position the endstop above the bed centre G91 ; Relative mode G4 P1000 ; wait 500msec ;G31 P{sensors.probes[0].value[0] + 15} ;G30 ; Probe the bed at the current XY position. ; When the probe is triggered, set the Z coordinate ; to the probe trigger height. G1 Z-300 H1 F500 ; Move Z down until the switch triggers (first pass) G4 P100 ; wait 100msec G1 Z5 F2400 ; Lift Z G4 P1000 ; wait 100msec ;G31 P{sensors.probes[0].value[0] + 50} ;G30 ; Probe the bed at the current XY position. ; When the probe is triggered, set the Z coordinate ; to the probe trigger height. G1 Z-300 H1 F500 ; Move Z down until the switch triggers (second pass) G4 P100 ; wait 100msec G1 Z5 F5000 ; Drop the Bed G90 ; Back to absolute positioning
and here is for example my tool0 pre, post and free:
; tfree0.g ; called when tool 0 is freed ;Drop the bed G91 G1 Z4 F1000 G90 ;mesh levelling off G29 S2 ;Purge nozzle ;M98 Ppurge_r.g ;Move In G53 G1 X320.9 Y280 F50000 G53 G1 Y307 F50000 G53 G1 Y332.5 F5000 ;Open Coupler M98 P/macros/Coupler - Unlock ;fan off M106 P2 S0 ;Move Out G53 G1 Y280 F50000
; tpost0.g ; called after tool 0 has been selected ;heatup M116 P0 ;prime nozzle ;M98 Pprime_r.g ;mesh levelling on G29 S1 ;PCF fan on M106 P2 R2
; tpre0.g ; called before tool 0 is selected ;Unlock Coupler M98 P/macros/Coupler - Unlock ;Move to location G1 X320.5 Y280 F50000 ;Move in G1 Y307 F50000 ;Collect G1 Y332.5 F2500 ;Close Coupler M98 P/macros/Coupler - Lock ;WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! ;if you are using non-standard length hotends ensure the bed is lowered enough BEFORE undocking the tool! G91 G1 Z10 F1000 G90 ;Move Out G1 Y280 F4000
and last but not least here is my Highmap
RepRapFirmware height map file v2, min error -6.153, max error -5.886, mean -6.000, deviation 0.056 axis0,axis1,min0,max0,min1,max1,radius,spacing0,spacing1,num0,num1 X,Y,5.00,295.00,5.00,295.00,-1.00,40.00,40.00,8,8 -5.919, -5.969, -5.986, -5.986, -5.994, -6.052, -6.036, -5.969 -5.911, -5.952, -5.961, -5.969, -5.986, -6.028, -6.028, -5.961 -5.886, -5.952, -5.969, -5.977, -6.003, -6.028, -6.036, -5.961 -5.894, -5.952, -5.969, -5.986, -5.986, -6.052, -6.036, -5.969 -5.903, -5.961, -5.969, -5.961, -5.994, -6.028, -6.052, -5.977 -5.903, -5.961, -5.969, -5.977, -5.994, -6.061, -6.077, -6.011 -5.944, -6.003, -6.028, -6.011, -6.036, -6.094, -6.111, -6.036 -6.003, -6.044, -6.069, -6.036, -6.077, -6.119, -6.153, -6.102
My Question is, what did i do wrong here?
My printer is a self build toolchanger. Has 4 tools and a build volume of 300mm³.Thx for the help.
-
Looks like maybe you didn't set your z zero before you started the bed mapping routine ?
This is just a quick guess without going through all your config files though. -
Your homez uses the z endstop to homez. The z min height is -6mm. There's your 6mm offset.
You should use the probe to home z with a G30 before doing the mesh with G29 so that it has an accurate Z0 position that matches the probe offset.
-
@phaedrux said in Strange highmap problem:
Your homez uses the z endstop to homez. The z min height is -6mm. There's your 6mm offset.
You should use the probe to home z with a G30 before doing the mesh with G29 so that it has an accurate Z0 position that matches the probe offset.
Thx fo the info will try that and report the results but it sounds plausible ;).
Edit: Some 30min later, the Problem is solved, thank you very much.