Improving calibration/bed mesh

  • Hi,

    I am getting reasonably good autocalibration deviations:

    9:34:18 PMG32
    Calibrated 8 factors using 16 points, deviation before 0.032 after 0.031
    9:33:33 PMG32
    Calibrated 8 factors using 16 points, deviation before 0.031 after 0.029

    I improved this from 0.060-0.067 by tensioning the belts better. I don't use M500, I prefer to enter the autocalibration results into my config.g file.

    but my bed mesh is all over the place

    fcef7e6e-afb5-4673-87a3-bf76cea8319a-image.png RepRapFirmware height map file v2 generated at 2019-10-16 21:37 min error -0.234 max error 0.304 mean 0.030 deviation 0.102
    xmin xmax ymin ymax radius xspacing yspacing xnum ynum
    -50 50.1 -50 50.1 54 10 10 11 11
    0 0 0 0.186 -0.179 -0.119 0.004 0.152 0 0 0
    0 0 0.238 0.064 -0.077 -0.116 -0.132 -0.126 0.075 0 0
    0 0.2 -0.007 -0.027 -0.086 -0.078 -0.027 -0.02 0.038 0.131 0
    0.304 0.237 0.185 0.122 0.024 -0.042 -0.08 -0.095 -0.119 -0.14 0.147
    0.039 0.028 0.057 0.063 0.007 -0.009 -0.001 0.003 0.003 0.055 0.252
    0.109 0.139 0.15 0.11 0.047 0 -0.023 -0.065 -0.105 -0.11 0.019
    -0.113 -0.039 0.019 0.093 0.121 0.1 0.039 -0.036 -0.044 -0.003 0.11
    -0.234 0.004 0.11 0.153 0.168 0.142 0.071 -0.011 -0.091 -0.128 0.02
    0 -0.039 0.059 0.119 0.146 0.132 0.06 0.02 -0.021 -0.042 0
    0 0 0.016 0.079 0.078 0.084 0.063 0.019 0.051 0 0
    0 0 0 0.136 0.046 0.035 -0.005 -0.014 0 0 0

    Unfortunately when I downloaded this is didn't give me the heightmap image.

    What can I do to improve this?

    Small delta, config.g below ( this says firmware 2.03, but I am sure I am on 2.04, I think this file was originally generated before I installed 2.04)):

    ; Configuration file for Duet Maestro (firmware version 2.03)
    ; executed by the firmware on start-up
    ; generated by RepRapFirmware Configuration Tool v2.0.4 on Tue Sep 17 2019 20:28:32 GMT+0100 (British Summer Time)

    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"My Printer" ; set printer naME
    M665 L120.75:120.25:120.25 R61.788 H124.094 B55.0 X1.209 Y0.638 Z0.000 ; Set delta radius, diagonal rod length, printable radius and homed heigh
    M666 X0.85 Y-1.18 Z0.33 A-1.93 B0.43 ; put end stop adjustments here, or let auto calibration find them

    ; Network
    M552 P0.0.0.0 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 S0 ; physical drive 0 goes backwards
    M569 P1 S0 ; physical drive 1 goes backwards
    M569 P2 S0 ; physical drive 2 goes backwards
    M569 P3 S1 ; physical drive 3 goes forwards
    M584 X0 Y1 Z2 E3 ; set drive mapping
    M350 E256 I0 ; configure microstepping without interpolation
    M350 X32 Y32 Z32 I1 ; configure microstepping with interpolat
    M92 X204.520 Y204.520 Z204.520 E1675 ; set steps per mm
    M566 X1200.00 Y1200.00 Z1200.00 E1200.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X18000.00 Y18000.00 Z18000.00 E1200.00 ; set maximum speeds (mm/min)
    M201 X1000.00 Y1000.00 Z1000.00 E1000.00 ; set accelerations (mm/s^2)
    M906 X600 Y600 Z600 E600 I30 ; set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 Z-3 S1 ; set minimum Z

    ; Endstops
    M574 X2 Y2 Z2 S0 ; set active low and disabled endstops

    ; Z-Probe
    M558 P1 H10 I1 F1200 T12000 A5 ; set Z probe type to switch and the dive height + speeds
    G31 P0001 X0 Y0 Z-0.2 ; set Z probe trigger value, offset and trigger height
    M557 R54 S10 ; define mesh grid

    ; Heaters
    M305 P1 T100000 B4138 R2200 ; set thermistor + ADC parameters for heater 1
    M143 H1 S280 ; set temperature limit for heater 1 to 280C
    M307 H1 A322.4 C143.5 D6.3 S1.00 V12.6 B0 ; SET pid FIGURES FROM AUTOTUNE
    M305 P0 T100000
    M143 H0 S120

    ; Fans
    M106 P0 S0 I0 F500 H1 ; set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45 ; set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; Tools
    M563 P0 D0 H1 F0 ; 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

    ; Custom settings are not defined

    m570 x0.9481 y1.0115 ; scaling adjusted

    ; Miscellaneous
    M501 ; load saved parameters from non-volatile memory


    ; bed.g
    ; called to perform automatic delta calibration via G32
    ; generated by RepRapFirmware Configuration Tool v2.0.4 on Tue Sep 17 2019 20:28:32 GMT+0100 (British Summer Time)
    M561 ; clear any bed transform
    G28 ; home all towers
    ; Probe the bed at 12 peripheral and 3 halfway points, and perform 3-factor auto compensation
    ; Before running this, you should have set up your Z-probe trigger height to suit your build, in the G31 command in config.g.40
    M140 H0 S60
    G30 P0 X0 Y48 H0.13 Z-99999
    G30 P1 X24.95 Y43.21 H0.0772 Z-99999
    G30 P2 X43.21 Y24.95 H-0.159 Z-99999
    G30 P3 X48 Y0 H0.099 Z-99999
    G30 P4 X43.21 Y-24.95 H0.1712 Z-99999
    G30 P5 X24.95 Y-43.21 H-0.027 Z-99999
    G30 P6 X0 Y-48 H-0.0902 Z-99999
    G30 P7 X-24.95 Y-43.21 H0.133 Z-99999
    G30 P8 X-43.21 Y-24.95 H0.192 Z-99999
    G30 P9 X-48 Y0 H0-0.512 Z-99999
    G30 P10 X-43.21 Y24.95 H-0.022 Z-99999
    G30 P11 X-24.95 Y43.21 H0.1116 Z-99999
    G30 P12 X0 Y24.9 H0.116 Z-99999
    G30 P13 X21.56 Y-12.45 H0.008 Z-99999
    G30 P14 X-21.56 Y-12.45 H0.146 Z-99999
    G30 P15 X0 Y0 H0 Z-99999 S8

    ; Use S-1 for measurements only, without calculations. Use S4 for endstop heights and Z-height only. Use S6 for full 6 factors
    ; If your Z probe has significantly different trigger heights depending on XY position, adjust the H parameters in the G30 commands accordingly. The value of each H parameter should be (trigger height at that XY position) - (trigger height at centre of bed)

    The heightmap is high towards each tower, and is shows peaks and troughs. I think I may have a belt issue, I have GT2 16t drive gear and idlers with S2M belt. I am waiting for GT2 belt to arrive but it seems to be taking an age to come. Could this be causing the issue, or is there something else I can examine? Is it worth me redoing my trigger heights in case there has been any movement?

    I can add some figures from a calibration object I printed later today if it would be of any use?

  • Moderator

    Usually you can see the bed mesh in the DWC: in the Machine Control section, click on Height Map. If it doesn't show, click refresh on your browser. I can't really see what's going on with the numbers, so if you can do a screenshot of the height map, it's easier to understand. Here's mine:

    The bed should be smooth, even if it's not accurate (like mine!). If you've got random bumps, you've probably got something loose that is effecting the positioning. Check effector joints, arm joints, carriage joints for play, belt tightness and motor pulleys for slip.


  • from doing a bit of research today some of my issues may be down to using gt2 gears and s2m belts.

    hopefully the gt2 will be with me soon.

  • 6a3f0fee-61ed-47e4-8307-a6e9a3155eae-image.png

  • @Dugee said in Improving calibration/bed mesh:

    M305 P1 T100000 B4138 R2200 ; set thermistor + ADC parameters for heater 1
    M305 P0 T100000

    B4138 is the default and most likely wrong for your thermistor.

    the second command is missing the beta value all together.

  • @Veti I'll add that back in tonight and check PID. I was having problems with my bed heater, and had removed it from the config previously. thanks for spotting.

Log in to reply