Auto leveling problems



  • I built a delta printer and am using the mini IR probe. I bought the PRINTinZ skin (attached it to really flat glass) and although it seems to be able to measure things well I keep getting inconsistent results. After auto leveling results are never the same. Most of the first layer sticks but other areas will not stick. If I auto level again, other areas stick and some areas might then be too close so no plastic extruding and that often causes nozzle blockage. Bed temperature is 60 degrees, nozzle is at 210 and I'm printing with PLA. I'm thinking of leaving the auto leveling path. Just edit the config file until it seems more or less right for my bed. Would be a pity as I would like to rely on the auto leveling as my build plate is removed once in a while and then I will need to play around with the config settings to get it right again every time.



  • [c]
    ; Configuration file for Mini Kossel kit from Think3DPrint3D for testing Duet WiFi

    ; Communication and general
    M111 S0 ; Debug off
    M550 PMiniKosselWiFiTest ; Machine name and Netbios name (can be anything you like)
    M551 Preprap ; Machine password (used for FTP)
    ;*** If you have more than one Duet on your network, they must all have different MAC addresses, so change the last digits
    M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xED ; MAC Address
    ;*** Wifi Networking
    M552 S1 ; Enable WiFi

    M555 P2 ; Set output to look like Marlin
    M575 P1 B57600 S1 ; Comms parameters for PanelDue

    G21 ; Work in millimetres
    G90 ; Send absolute coordinates…
    M83 ; ...but relative extruder moves

    ; Axis and motor configuration
    M569 P0 S0 ; Drive 0 goes forwards
    M569 P1 S0 ; Drive 1 goes forwards
    M569 P2 S0 ; Drive 2 goes forwards
    M569 P3 S1 ; Drive 3 goes forwards
    M569 P4 S1 ; Drive 4 goes forwards
    M574 X2 Y2 Z2 S0 ; set endstop configuration (all endstops at high end, active low)
    ;*** The homed height is deliberately set too high in the following - you will adjust it during calibration
    M665 R167.79 L316.0 B140 H483.25 X-0.07 Y0.06 Z0 ; set delta radius, diagonal rod length, printable radius and homed height
    M666 X-0.21 Y0.31 Z-0.09 ; put your endstop adjustments here, or let auto calibration find them
    M350 X16 Y16 E16 I1 ; Set 16x microstepping with interpolation
    M92 X100 Y100 Z100 ; Set axis steps/mm
    M906 X1500 Y1500 Z1500 E700 I60 ; Set motor currents (mA) and increase idle current to 60%
    M201 X1000 Y1000 Z1000 E1000 ; Accelerations (mm/s^2)
    M203 X20000 Y20000 Z20000 E3600 ; Maximum speeds (mm/min)
    M566 X1200 Y1200 Z1200 E1200 ; Maximum instant speed changes mm/minute

    ; Thermistors
    M305 P0 T100000 B3950 R4700 H30 L0 ; Put your own H and/or L values here to set the bed thermistor ADC correction
    M305 P1 T100000 B3974 R4700 H30 L0 ; Put your own H and/or L values here to set the first nozzle thermistor ADC correction
    M305 P2 T100000 B3974 R4700 H30 L0 ; Put your own H and/or L values here to set the second nozzle thermistor ADC correction
    M570 S180 ; Hot end may be a little slow to heat up so allow it 180 seconds

    ; Fans
    M106 P1 H-1 ; disable thermostatic mode for fan 1

    ; Tool definitions
    M563 P0 D0 H1 ; Define tool 0
    G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures
    ;*** If you have a single-nozzle build, comment the next 2 lines
    M563 P1 D1 H2 ; Define tool 1
    G10 P1 S0 R0 ; Set tool 1 operating and standby temperatures
    M92 E400:400 ; Set extruder steps per mm

    ; Z probe and compensation definition
    ;*** If you have a switch instead of an IR probe, change P1 to P4 in the following M558 command
    M558 P1 X0 Y0 Z0 ; Z probe is an IR probe and is not used for homing any axes
    G31 X0 Y0 Z2.0 P500 ; Set the zprobe height and threshold (put your own values here)

    ;*** If you are using axis compensation, put the figures in the following command
    M556 S78 X0 Y0 Z0 ; Axis compensation here

    M208 S1 Z-1.0 ; set minimum Z
    ;
    T0 ; select first hot end
    [/c]



  • Maybe the PRINTinZ is not totally flat.
    Have you tried grid compensation with RRF 1.17?



  • Adjusting the M666 manually does give me good and consistent results. So I think the PRINTinZ should be flat enough.



  • How many factors are you using on auto calibration?



  • 10 factors, 6 for outer circle, 3 for inner circle and one in the middel



  • What's the biggest difference in the M666 between your manual calibration and auto calibration?



  • @scheffer:

    10 factors, 6 for outer circle, 3 for inner circle and one in the middel

    Thats not 10 factor it is 10 points What is the S parameter at the end of your last G3 line in your Bed.g File that is the number of factors?



  • I don't see a G3 line in my bed.g file. Here it is:

    [c]
    ; Auto calibration routine for delta printers
    ; Before running this, you should have set up your zprobe Z offset to suit your build, in the G31 command in config.g.

    M561 ; clear any bed transform, otherwise homing may be at the wrong height
    G31 X0 Y0 ; don't want any probe offset for this
    G28 ; home the printer

    ;*** Remove the following line if your Z probe does not need to be deployed
    ;M98 Pdeployprobe.g ; deploy the mechanical Z probe

    ; The first time the mechanical probe is used after deployment, it gives slightly different results.
    ; So do an extra dummy probe here. The value stored gets overwritten later. You can remove this if you use an IR probe.
    ;G30 P0 X0 Y0 Z-99999

    ; Probe the bed and do 6- or 7-factor auto calibration
    G30 P0 X-73.6 Y-42.5 Z-99999 ; X tower
    G30 P1 X0 Y-85 Z-99999 ; between X and Y towers
    G30 P2 X73.6 Y-42.5 Z-99999 ; Y tower
    G30 P3 X73.6 Y20 Z-99999 ; between Y and Z towers
    G30 P4 X0 Y67 Z-99999 ; Z tower
    G30 P5 X-73.6 Y20 Z-99999 ; between Z and X towers
    G30 P6 X-36.8 Y-21.25 Z-99999 ; half way to X tower
    G30 P7 X36.8 Y-21.25 Z-99999 ; half way to Y tower
    G30 P8 X0 Y42.5 Z-99999 ; half way to Z tower
    G30 P9 X0 Y0 Z-99999 S6 ; centre, and auto-calibrate 6 factors

    ;*** Remove the following line if your Z probe does not need to be retracted
    ;M98 Pretractprobe.g ; retract the mechanical Z probe

    G1 X0 Y0 Z150 F10000 ; get the head out of the way of the bed
    ;G28
    [/c]



  • Thanks Jackal for helping out. My printer is working for a couple of hours more so I will check the values a bit later in the day.



  • @scheffer:

    I don't see a G3 line in my bed.g file. Here it is:

    [c]
    ; Auto calibration routine for delta printers
    ; Before running this, you should have set up your zprobe Z offset to suit your build, in the G31 command in config.g.

    M561 ; clear any bed transform, otherwise homing may be at the wrong height
    G31 X0 Y0 ; don't want any probe offset for this
    G28 ; home the printer

    ;*** Remove the following line if your Z probe does not need to be deployed
    ;M98 Pdeployprobe.g ; deploy the mechanical Z probe

    ; The first time the mechanical probe is used after deployment, it gives slightly different results.
    ; So do an extra dummy probe here. The value stored gets overwritten later. You can remove this if you use an IR probe.
    ;G30 P0 X0 Y0 Z-99999

    ; Probe the bed and do 6- or 7-factor auto calibration
    G30 P0 X-73.6 Y-42.5 Z-99999 ; X tower
    G30 P1 X0 Y-85 Z-99999 ; between X and Y towers
    G30 P2 X73.6 Y-42.5 Z-99999 ; Y tower
    G30 P3 X73.6 Y20 Z-99999 ; between Y and Z towers
    G30 P4 X0 Y67 Z-99999 ; Z tower
    G30 P5 X-73.6 Y20 Z-99999 ; between Z and X towers
    G30 P6 X-36.8 Y-21.25 Z-99999 ; half way to X tower
    G30 P7 X36.8 Y-21.25 Z-99999 ; half way to Y tower
    G30 P8 X0 Y42.5 Z-99999 ; half way to Z tower
    G30 P9 X0 Y0 Z-99999 S6 ; centre, and auto-calibrate 6 factors

    ;*** Remove the following line if your Z probe does not need to be retracted
    ;M98 Pretractprobe.g ; retract the mechanical Z probe

    G1 X0 Y0 Z150 F10000 ; get the head out of the way of the bed
    ;G28
    [/c]

    Sorry my bad it should have been the last G30 line which I see has S6 at the end of it which is 6 factor Calibration.

    I suspect that what you are experiencing is Effector Tilt at different location around the bed.

    You may have said what Z Probe you are using but I can't recall it at the moment but if it is a Mini IR Sensor then it will be mounted some way from the nozzle which will mean that the trigger hight will vary as the effector tilts and you can allow for this by using H offset values for each of your probe points

    For example each G30 line appart from the Last one can have a H parameter added after the X and Y params to define this hight difference.

    HTH

    Doug

    edit I see you do state in your first post re the mini IR Sensor



  • Thanks Doug!!

    Did a couple of auto delta calibration measurements and here are the results:

    G32: Calibrated 6 factors using 10 points, deviation before 0.200 after 0.048
    M666: Endstop adjustments X-0.15 Y0.32 Z-0.17, tilt X0.00% Y0.00%
    G32: Calibrated 6 factors using 10 points, deviation before 0.059 after 0.058
    M666: Endstop adjustments X-0.20 Y0.36 Z-0.17, tilt X0.00% Y0.00%
    G32: Calibrated 6 factors using 10 points, deviation before 0.054 after 0.053
    M666: Endstop adjustments X-0.18 Y0.34 Z-0.16, tilt X0.00% Y0.00%
    G32: Calibrated 6 factors using 10 points, deviation before 0.056 after 0.055
    M666: Endstop adjustments X-0.17 Y0.34 Z-0.17, tilt X0.00% Y0.00%

    I then heated the bed to 60 degrees celcius.
    G32: Calibrated 6 factors using 10 points, deviation before 0.079 after 0.050
    M666: Endstop adjustments X-0.18 Y0.35 Z-0.18, tilt X0.00% Y0.00%

    My manually found corrections from the config.g file are:
    M666 X-0.21 Y0.31 Z-0.09

    The results seem pretty consistent although the first two were slightly off.

    So effector tilt might very well be the problem. How do I measure the H offsets of each of my probe points?



  • You can follow David's instructions here:
    https://www.duet3d.com/forum/thread.php?pid=5191#p5191



  • Thanks.
    Followed the procedure.
    Made three macros. One to go up with 0.02 mm (my printer is 100 steps/mm), one to go down with 0.02mm and one to do the measurement 3 times:

    [c]
    G92 Z0
    G1 Z5
    G30 S-1
    G1 Z5
    G30 S-1
    G1 Z5
    G30 S-1
    [/c]

    My measure 10 points:
    P0 1.77
    P1 1.67
    P2 1.85
    P3 1.95
    P4 1.73
    P5 1.7
    P6 1.74
    P7 1.82
    P8 1.86
    P9 1.78

    P9 is the center coordinate so I used these H adjustments:
    [c]
    ; Probe the bed and do 6- or 7-factor auto calibration
    G30 P0 X-73.6 Y-42.5 Z-99999 H-0.01 ; X tower
    G30 P1 X0 Y-85 Z-99999 H-0.11 ; between X and Y towers
    G30 P2 X73.6 Y-42.5 Z-99999 H0.07 ; Y tower
    G30 P3 X73.6 Y20 Z-99999 H0.17 ; between Y and Z towers
    G30 P4 X0 Y67 Z-99999 H-0.05 ; Z tower
    G30 P5 X-73.6 Y20 Z-99999 H-0.08 ; between Z and X towers
    G30 P6 X-36.8 Y-21.25 Z-99999 H-0.04 ; half way to X tower
    G30 P7 X36.8 Y-21.25 Z-99999 H0.04 ; half way to Y tower
    G30 P8 X0 Y42.5 Z-99999 H0.08 ; half way to Z tower
    G30 P9 X0 Y0 Z-99999 S6 ; centre, and auto-calibrate 6 factors
    [/c]

    Result still not good…


  • administrators

    I assume you execute the macro after jogging the head down so that it just grips a piece of paper. You say the results are not good, but you haven't told us what fhey are.



  • Yes correct. Macro executed after gripping a piece of paper.
    Results are not good as the first layer is still not level. My manually inserted three values still perform better. Close to the X tower the nozzle is too close to the bed and close to the Z tower it looks good or maybe slightly too high.

    I was quite surprised to see that there is a 0.3mm difference (lowest and highest measurement) due to effector tilt. Is this quite common or do I have a bad build? And are my H offsets correct? I will do another round of measuring tomorrow to make sure I did not make a mistake.

    After switching the printer on I homed it and used the commands M561 and G31 X0 Y0 before starting the paper gripping. Not sure if they are necessary?


  • administrators

    I used to have 0.3mm trigger height variation on my delta. it was caused by a combination of play in the joints, a carriage rotated about the Z axis, and a carriage rotated about its face.

    Running M561 is necessary if you have used G29 bed compensation. Running G31 X0 Y0 only affects G30 commands that include XY coordinates.



  • Did another two rounds of measuring the H offsets and found some different values. Probably needed some experience in paper gripping to get the right feel to do it consistently for every point.

    first new round:
    -0.14
    -0.13
    0.09
    0.16
    -0.1
    -0.2
    0.01
    0.09
    0.07

    second new round:
    -0.18
    -0.16
    0.08
    0.17
    -0.08
    -0.18
    0.02
    0.09
    0.1

    New H offset values in the bed.g file:
    ; Probe the bed and do 6- or 7-factor auto calibration
    G30 P0 X-73.6 Y-42.5 Z-99999 H-0.16 ; X tower
    G30 P1 X0 Y-85 Z-99999 H-0.14 ; between X and Y towers
    G30 P2 X73.6 Y-42.5 Z-99999 H0.08 ; Y tower
    G30 P3 X73.6 Y20 Z-99999 H0.17 ; between Y and Z towers
    G30 P4 X0 Y67 Z-99999 H-0.09 ; Z tower
    G30 P5 X-73.6 Y20 Z-99999 H-0.19 ; between Z and X towers
    G30 P6 X-36.8 Y-21.25 Z-99999 H0.01 ; half way to X tower
    G30 P7 X36.8 Y-21.25 Z-99999 H0.09 ; half way to Y tower
    G30 P8 X0 Y42.5 Z-99999 H0.08 ; half way to Z tower
    G30 P9 X0 Y0 Z-99999 S6 ; centre, and auto-calibrate 6 factors

    Finally managed to get good leveling now.
    Thanks for all the help everybody!!


Locked
 

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