Solved True Bed Leveling (G32) leads to "inconsistent Z probe readings"
-
Hi all,
I recently setup a new (cartesian) printer with a Duet 3 Mini 5+ Wifi in which in a first time for me I plugged the Z motors in different drivers and I setup the config.g and bed.g files so that I can use the G32 command for "True Bed Leveling".
The printer is equipped with a Pinda2 clone, which works without problems as Z endstop and heigthmap compensation (G29).
However, when I try to run the G32 command, it seems to work ok, but the console result is a "Inconsistent Z Probe reading".
I thought at first it was a problem with the magnets on the bed, which is a Prusa clone with very strong magnets, so I did a test run sending the probe to positions where there is no magnet underneath (I saw problems with the heigthmap generation due to exactly that, which I solved by adjusting the probed area and intervals).
Have anyone an idea on what could I be doing wrong? I have a very similar setup which works on another printer in which the bed is fitted with one of these magnet foil instead on magnets, that's what I thought this was the problem.
For reference, the bed.g code, which I found here, is as follows:
; bed.g ; called to perform automatic bed compensation via G32 ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Mon Mar 15 2021 19:09:36 GMT+0100 (Mitteleuropäische Normalzeit) M561 ; Clear any existing bed transform. G28 ; home G1 Z220 F10000 M558 F10000 G30 M558 F100 A5 S0.003 G30 P0 X40 Y60 Z-99999 ; probe near a leadscrew, half way along Y axis G30 P1 X210 Y60 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors M558 F200 A1 G1 X10 Y210 Z10 F10000
-
Are you using one of the below couplers or similar to attach your leadscrews? If not are you sure everything is tight? In either case as the z stepper motor moves to raise one side of your X beam if there is any slop or ability to move on the other sides leadscrew it will also raise negating any adjustment you made. That drove me crazy when I was working on a similar type printer.
If that is what is happening the fix is to change them to rigid couplers. If you have oldhams or similar they should be OK. I have true oldhams in mine and they do not seem to affect the g32 leveling. I know they sometimes call the 2nd coupler in the picture an oldham but it is not one.
-
@FelixH said in True Bed Leveling (G32) leads to "inconsistent Z probe readings":
M558 F100 A5 S0.003
You are setting your probe to probe up to 5 times until it gets results that have a delta less than 0.003mm. The default is 0.03mm are you sure your probe can produce results that are that accurate?
-
@KenW Another thing that can mess with G32 is having the Z steppers reversed, Z1 is actually Z2.
-
@KenW I don't have any couplers. I have two of these motors with attached leadscrews
I will look into having the motors inverted, but I believe they are on the right order.
@gloomyandy I don't think it measures 5 times. I will look into it. As I said, I am following the example configuration I posted. The probe I am using is a PINDA2 clone. I have the same on the other printer in which the G32 works ok
-
I modified the bed.g to look like that:
; bed.g ; called to perform automatic bed compensation via G32 ; ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sat Mar 28 2020 22:27:48 GMT+0100 (Central European Standard Time) ; M561 ; clear any bed transform ; G29 ; probe the bed and enable compensation ; bed.g ; called to perform automatic bed compensation via G32 ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Mon Mar 15 2021 19:09:36 GMT+0100 (Mitteleuropäische Normalzeit) M561 ; Clear any existing bed transform. G28 ; home G1 Z75 F10000 M558 F10000 G30 M558 F100 A5 S0.003 ;G30 P0 X40 Y60 Z-99999 ; probe near a leadscrew, half way along Y axis ;G30 P1 X210 Y60 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors while true G30 P0 X40 Y60 Z-99999 ; probe near a leadscrew, half way along Y axis G30 P1 X210 Y60 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors if abs(move.calibration.initial.mean) < 0.01 || iterations > 3 break M558 F200 A1 G1 X10 Y10 Z10 F10000
still throws the same error
-
well, I now modified the M558 command to:
M558 F100 A5 S0.004
so that the tolerance is just a hair larger and it finally worked, somehow:
08/12/2023, 15:56:03 Leadscrew adjustments made: -0.010 0.011, points used 2, (mean, deviation) before (0.000, 0.005) after (0.000, 0.000) 08/12/2023, 15:55:52 Leadscrew adjustments made: 0.040 -0.017, points used 2, (mean, deviation) before (0.013, 0.014) after (-0.000, 0.000) 08/12/2023, 15:55:46 Error: Z probe readings not consistent
so @gloomyandy was on the right track. I will have to investigate further, however.
Thanks!
-
@FelixH It will probe up to five times. You can read the details here: https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m558-set-z-probe-type
The error message you are seeing is because a series of probes failed to meet the accuracy (0.003mm) you specified. Try increasing the value to say 0.03mm (which is the default).The probe accuracy is not just down to the probe it also depends on the mechanics of the printer,so it would not be unusual for two "identical" printers to have different results. Just because the setting works on whoever created the "example configuration"'s printer does not mean it will work on yours. Run some tests to see what sort of results you get from your probe and printer and adjust things (or fix things if the accuracy is not to your liking).
-
@gloomyandy yeah, got you! As I already checked, by setting the tolerance to 0.004 it did already the trick.
thanks a lot!
-
-