Auto Bed Leveling went bad
-
Two thoughts:
1:) Shouldn't the deviation be zero in the middle of the bed ? That is presumably where you would have established Z=0
2)How ac curate are you doing the manual leveling before the automatic leveling ? Seems to me that the bed is tilted from back to front, front being lower. This is from the perspective of a cartesian printer - no idea how others would look.It looks like the auto leveling with the two z motors is working because things are pretty consistent along the x axis in the middle.
Note that I have limited experience and might be totally off ....
-
@jens55
I have 3 Z screws, and used to be able to do auto bed leveling with them. So if I messed up the bed badly, it would literally auto level it. Zero manual and zero compensation needed. Now, it bed levels with the back lifted up a bit, or the front lifted down... Don't know why, but believe I screwed up the config when I had to move the front two Z screws back about a cm or two and don't know what I did otherwise I would have fixed it.
It used to work so perfect, I seemed like magic! -
Any thoughts? Anyone?
Thanks!
-
@BlueDust Have you made sure your Z motors are assigned correctly in your config and correspond correctly to your set leadscrew positions?
-
@BlueDust, did you adjust the coordinates in the M671 command to allow for the change in the XY coordinates of the leadscrew?
If you run G32 several times in succession, what sequence of corrections does it report?
-
In your config.g you have:
M584 X0 Y1 E3 Z9:7:8 ; three Z motors connected to driver outputs 9, 7 and 8
;M671 X-50:127:310 Y85:385:85 S5 ; leadscrews at front left, rear middle and front right
M671 X-50:129:308 Y93:373:93 S5You must use the M671 command to define the X and Y coordinates of the leadscrews. The M671 command must come after the M584 command and must specify the same number of X and Y coordinates as the number of motors assigned to the Z axis in the M584 command; and these coordinates must be in the same order as the driver numbers of the associated motors in the M584 command. The M671 command must also come after any M667 or M669 command.
The order of the leadscrews of the M671 command should be the same as those leadscrews are connected in M584, ie front left should be on stepper 9 (E6 MOTOR), rear middle should be on stepper 7 (E4 MOTOR) and front right should be on stepper 8 (E5 MOTOR). Please check this!
I don't think M584 has to be in the correct order, ie M584 X0 Y1 E3 Z7:8:9, but might be worth testing, though move the motors to the correct stepper connection.
Ian
-
@Red-Sand-Robot
Yes. This used to work perfectly, and only stopped working when I updated two of the Z stepper motor locations.
My thought it that I screwed up the new locations but I checked it many times.
So.. incase I started to do this wrong... I move the hotend as close to the Z screw as possible, measure the distance to the Z screw from the nozzle and use that new number as the location. -
@dc42
It was awhile ago now, but all I remember doing was moving the location of the two Z screws... My guess is I screwed it up and don't remember if there is some trick to locating the Z screw locations I forgot about when I did it the first time when it worked.
This time around, all I did was move the nozzle as close to the Z screw as I could and measure the distance to it using calipers and doing the math from where the Duet2 says the nozzle is to figure out where the Z screw is.I reran the mesh bed leveling and I still received a mesh picture similar to the above one I already shared.
11/30/2019, 5:22:55 PM G32
Leadscrew adjustments made: -0.035 0.106 -0.054, points used 3, deviation before 0.049 after 0.000
11/30/2019, 5:22:06 PM G32
Leadscrew adjustments made: -0.057 0.178 -0.063, points used 3, deviation before 0.074 after 0.000
11/30/2019, 5:21:13 PM G32
Leadscrew adjustments made: -0.102 0.274 -0.062, points used 3, deviation before 0.112 after 0.000
11/30/2019, 5:20:25 PM G32
Leadscrew adjustments made: -0.227 0.326 -0.150, points used 3, deviation before 0.186 after 0.000
11/30/2019, 5:18:15 PM G32
Leadscrew adjustments made: -0.272 -0.655 0.039, points used 3, deviation before 0.289 after 0.000 -
As I recall I had problem until the order of the motors in the M584 command, in the M671 command and the probing order were all the same.
Frederick
-
Just cause I can share this again... I just updated to 2.05 r1... and tried again...
-
That would appear to be a front to back tilt, not a left to right tilt.
Is there something going on with your Y axis?
-
@Phaedrux
Not that I am aware of, but if there was, wouldn't mesh leveling look the same as auto bed leveling? Wouldn't they be affected by the same thing on Y?That's why I think I screwed up the config, and its not a physical issue. It just seems like the 2 Z screws that are in the front of the printer are not pushing up the front enough, or the back single Z screw isn't pulling the back down enough... As the back is so much higher, I am guessing its not pulling the back down enough... If someone can tell me that believe that observation could be true, how could I use that to see whats wrong with the config?
-
I removed the BLTouch from the printer to test without it taking up some X space. Using the nozzle tip as my reference, I checked all of the Z screw locations and made any changes as necessary after removing the BLtouch. When I measure the location of the Z screws, I have been taking the center of the Z screw to the Nozzle as my number. Let me know if this is correct, or if I should be taking the number to the side of the Z screw closest to the Nozzle.
So far no matter what I do, my results from a auto bed leveling, and then bed mesh are similar to what I have shown above.
-
The exact position of the lead screws isn't as critical. Even if you were multiple MM off it should still be able to correct for tilt, it just may take more passes.
What happens if you physically correct the tilt for the back leadscrew and then run auto leveling? Does it make it worse? If you run leveling multiple times in a row does it get worse each time?
-
@droftarts said in Auto Bed Leveling went bad:
In your config.g you have:
M584 X0 Y1 E3 Z9:7:8 ; three Z motors connected to driver outputs 9, 7 and 8
;M671 X-50:127:310 Y85:385:85 S5 ; leadscrews at front left, rear middle and front right
M671 X-50:129:308 Y93:373:93 S5You must use the M671 command to define the X and Y coordinates of the leadscrews. The M671 command must come after the M584 command and must specify the same number of X and Y coordinates as the number of motors assigned to the Z axis in the M584 command; and these coordinates must be in the same order as the driver numbers of the associated motors in the M584 command. The M671 command must also come after any M667 or M669 command.
The order of the leadscrews of the M671 command should be the same as those leadscrews are connected in M584, ie front left should be on stepper 9 (E6 MOTOR), rear middle should be on stepper 7 (E4 MOTOR) and front right should be on stepper 8 (E5 MOTOR). Please check this!
I don't think M584 has to be in the correct order, ie M584 X0 Y1 E3 Z7:8:9, but might be worth testing, though move the motors to the correct stepper connection.
Ian
Did you verify this?
-
@Phaedrux said in Auto Bed Leveling went bad:
e order of the leadscrews of the M671 command should be the same as those leadscrews are connected in M584, ie front left should be on stepper 9 (E6 MOTOR), rear middle should be on stepper 7 (E4 MOTOR) and front right should be on stepper 8 (E5 MOTOR). Please check this!
I doI did not look into this again, as this is the same way it was setup when it worked perfectly.
-
@Phaedrux
I haven't tried to manually fix it until yesterday and it was just so I could print, and didn't try out running G32 again. Printing right now...I can run G32 over and over again, and the more I run it the more accurate it becomes with smaller adjustments to make it level, but it is still at a bad angle.
Thanks for mentioning the screw locations don't have to be perfect... I keep trying to re check them and can change them maybe 1 or 2 MM based on where the nozzle when I check it. I just changed where home X/Y are (a few mm in so they don't hit the Z screws when homing, and possibly when printing if its a large object).
-
I kept tweaking everything, and now have it working "well enough", that for most printing attempts, if I bed level 3 times, and then run bed level compensation its "good enough". This used to work every time with running G32 one time, unless it's adjustment was outside of the set range....
But with all the trouble I have been having, this isn't so bad. I will close this issue if I can get another print or two out.
Let me know if you guys have come up with any other ideas.
Thanks -
So if it's not applying enough correction on each run, you can increase the amount it can apply with the M671 S parameter.
https://duet3d.dozuki.com/Wiki/Gcode#Section_M671_Define_positions_of_Z_leadscrews_or_bed_levelling_screwsThe default is 1mm. Try increasing it to 2?
-
@BlueDust, you might want to try 4 points instead of 3, one near each corner of the bed.
Are you sure that the way that the bed is attached to the leadscrews provides sufficient flexibility for the leadscrews to move independently by a sufficient amount to correct the tilt?