Autobed leveling/ Mesh compensation error

  • Hello,

    I have a problem with my autobed levelling, i cannot get the bed level... iam using the precision piezo disk with 20mm and everything works fine but my deviation is sometimes about 1 millimeter 😞 the printer got a really big bed and is about 550x550mm.

    I have a aluminium cast bed with an Pertinax sheet on top and using 3 independent motors.


    first iam using G32 to level the bed and after this iam using 29 for the Mesh and the mesh looks ot good, when iam printing a big sculpture i have to sit nearby and correct the height for the first layer 😕

    maybe my auto bed leveling sheme is wrong

    should i post my config.g or bed.g file? maybe someone got the same error as me?

  • administrators

    What printer geometry are you using? From the height map it looks like there are two problems:

    1. The nozzle height is lower in the middle of the Y axis than at the ends. Assuming the bed is flat, this could mean that you have a Y axis gantry, but it is not rigid enough and is sagging under the weight of the print head.

    2. Some particular issues at low and high X values where the red areas are.

  • iam having a cartesian Printer H-Gantry with two Motors for the X-axis. I think the bed is flat because of the aluminium cast wich is 6mm thick.. but i dont know if the Pertinax sheet is this flat.. maybe on some points i got the deviation because of sanding the the pertinax sheet?

    but what i dont really understand is when iam using mesh bed leveling the 3 motors should level the bed while printing.. on the corners the extruder is grinding 😕 so it is not really compensating ?

  • administrators

    Is mesh bed compensation definitely enabled when you start the print, You need to either run G29 S0 (or just G29) before printing, or G29 S1 to load an existing height map from the SD card.

  • Try to look your nozzle when you probe the bed.
    If the sensitivity is to low and the bed springs are not compressed enough the nozzle can push down the bed a little before been triggered, so you can have that result.
    This is happen to me with 8mm cast alu bed.
    Compressed all the springs and increased sensitivity has resolved the issue.

  • I might have the auto bed compensation enabled.. the z-Motors are Rotating..

    Thats a good Idee! I just tightend the screews from my piezo Mount Amt the Results are getting better.. i Think i have to increase the sensitivity on monday..

    Thanks for the help! I will Tell you if it worked:)

  • okay so now iam struggling since two months with the calibration of my printer.. and i have no idea what is wrong.. i cant level my bed and everytime i rung G29 for bed compensation my hight map looks different. Sometimes the probe doesnt triggers and sometimes it says on X0 Y0 i have +8mm wich doesnt work 😕

    so the piezo probe trigger point varies, i can calculate the trigger height after every print. But the hotend is fix and nothing moves instead the height wich comes from the piezo trigger.

    i dont really know what to do and also with the bed compensation i have to correct the first layer height with babysteps. i cannot geht a right print, its really frustating.

    Iam using a Duet Wifi with an Duex5, I have two X Motors and one for the Y-axis my Printbed is 600x550 mm. for the Z Leveling iam using 3 independent Z Motors

    maybe you can check my Bed.g file and config.g but i dont know whats wronk there

    ; Auto calibration routine
    ;Clear and Home Printer Set Temperature
    M561 ; Clear any bed transform, otherwise homing may be at the wrong height
    M190 S60 ; Set Heatbed temperatur 60 and wait
    M109 T1 S230 ; Set Extruder0 Temperature 230 and wait
    M109 T0 S230 ; Set Extruder1 Temperature 230 and wait
    G1 E-5 ; Retraction Extruder -5mm
    G28 ; home the printer
    ;slow down movement to delineate bed touch from travel moves

    ;Probing Points
    G30 P0 X15 Y15 Z-99999
    G30 P1 X15 Y75 Z-99999
    G30 P2 X15 Y150 Z-99999
    G30 P3 X15 Y229 Z-99999
    G30 P4 X15 Y304 Z-99999
    G30 P5 X15 Y385 Z-99999
    G30 P6 X15 Y460 Z-99999
    G30 P7 X225 Y15 Z-99999
    G30 P8 X225 Y75 Z-99999
    G30 P9 X225 Y150 Z-99999
    G30 P10 X225 Y229 Z-99999
    G30 P11 X225 Y304 Z-99999
    G30 P12 X225 Y385 Z-99999
    G30 P13 X225 Y460 Z-99999
    G30 P14 X485 Y15 Z-99999
    G30 P15 X485 Y75 Z-99999
    G30 P16 X485 Y150 Z-99999
    G30 P17 X485 Y229 Z-99999
    G30 P18 X485 Y304 Z-99999
    G30 P19 X485 Y385 Z-99999
    G30 P20 X485 Y460 Z-99999 S3

    M557 X15:485 Y15:485 S50 ;define levelling grid
    G29 ;load grid levelling mesh
    G1 X0 Y0 Z20 F3000 ; get the head out of the way of the bed

    M500 ;save calibration to config_override.g

    and my Config.g file
    ; Configuration file for Duet WiFi (firmware version 1.20 or newer)
    ; executed by the firmware on start-up
    ; generated by RepRapFirmware Configuration Tool on Thu Mar 01 2018 19:06:59 GMT+0100

    ; General preferences
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves

    ; Network
    M550 PX1 ; Set machine name
    M551 P3dconstructions ; Set password
    M552 S1 ; Enable network
    ;*** Access point is configured manually via M587
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Drives
    M569 P0 S1 ; Drive X goes forwards
    M569 P1 S1 ; Drive X1 goes forwards
    M569 P2 S0 ; Drive Z1 goes forwards(orig Z)
    M569 P3 S0 ; Drive Z2 goes forwards (Ex 0)
    M569 P4 S0 ; Drive Z3 goes backwards (Ex 1)
    M569 P5 S1 ; Drive Y goes forwards
    M569 P6 S1 ; EXT 0 goes forwards
    M569 P7 S1 ; EXT 1 goes forwards

    M584 X0:1 U1 Y5 Z2:3:4 V3:4 E6:7 P3 ; Apply custom drive mapping
    M671 X-35.86:-35.85:586.14 Y75:385:229 S6.5 ; leadscrews at front middle, front rear left and rear right
    M350 X16:16 U16 Y16 Z16:16:16 V16:16 E16:16 I1 ; Configure microstepping with interpolation
    M92 X64:64 U64 Y64 Z1600:1600:1600 V1600:1600 E401.27:401.27 ; Set steps per mm
    M566 X900:900 U900 Y900 Z25:25:25 V25:25 E600:600 ; Set maximum instantaneous speed changes (mm/min)
    M203 X21000:21000 U21000 Y21000 Z200:200:200 V200:200 E3600:3600 ; Set maximum speeds (mm/min)
    M201 X2400:2400 U2400 Y2400 Z250:250:250 V250:250 E1000:1000 ; Set accelerations (mm/s^2)
    M906 X1600:1600 U1600 Y1600 Z1400:1400:1400 V1400:1400 E1600:1600 I60 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout
    M572 D0 S0 ; pressure advance

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; Set axis minima
    M208 X500 Y500 Z500 S0 ; Set axis maxima

    ; Endstops
    M574 X1 Y1 Z1 S0 ; Set endstops controlled by probe

    ; Zprobe
    M558 P8 I1 R2 F300 X0 Y0 Z0 H8 ; Set Z probe type to unmodulated and the dive height + speeds
    G31 X0 Y0 Z-0.32 P100 ; Set Z probe trigger value, offset and trigger height
    M557 X15:485 Y15:485 S30 ; Define mesh grid

    ; Heaters
    M301 H0 S1.00 P1484.5 I53.818 D907.1 T0.4 ; Use PID on bed heater (may require further tuning)
    M305 P0 T100000 B3950 R4700 ; Set thermistor + ADC parameters for heater 0
    M143 H0 S120 ; Set temperature limit for heater 0 to 120C
    M301 H1 P25.3 I1.215 D61.5 T0.3 S1.0 ; Use PID on Heater 1
    M305 P1 T100000 B4725 C7.060000e-8 R4700 X4 ; Set thermistor + ADC parameters for heater 1 and remap it to channel 4
    M143 H1 S280 ; Set temperature limit for heater 1 to 280C
    M301 Hh P25.3 I1.215 D61.5 T0.3 S1.0 ; Use PID on Heater 2
    M305 P2 T100000 B4138 C0 R4700 X5 ; Set thermistor + ADC parameters for heater 2 and remap it to channel 5
    M143 H2 S280 ; Set temperature limit for heater 2 to 280C
    P25.3, I1.215, D61.5

    ; Fans
    M106 P0 S0.3 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1:2 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H1:2 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; Tools
    M563 P0 D0 H1 ; Define tool 0
    G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
    G10 P0 R0 S200 ; Set initial tool 0 active and standby temperatures to 0C
    M563 P1 D1 H2 ; Define tool 1
    G10 P1 X0 Y-18 Z0 ; Set tool 1 axis offsets
    G10 P1 R0 S200 ; Set initial tool 1 active and standby temperatures to 0C

    ; Automatic power saving
    M911 S19 R20 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss

    ; Custom settings are not configured
    M501 ; Load EEPROM

    iot would be great if you could help me and finde something 🙂

  • administrators

    In your M558 command you have F300 which is quite a slow probing speed. Is that value correct for the piezo?

    Your Z acceleration is 250 mm/sec^2 which is quite high for a Z axis with 1600 steps/mm. Try 50 or 100.


Looks like your connection to Duet3D was lost, please wait while we try to reconnect.