bed levelling question - M671 and G32
-
Quick question to help me understand things better ... on a CR10 style printer, two independent Z screws.
When I run a G32, the printer reports the amount of corrections performed on the two z level screws. When I do a second probing run in the same macro (in case one run isn't enough), the adjustments performed are tiny .... all good.
My assumption is that as long as the motors are not shut down, the gantry should always stay level the same as it was when G32 was first run. What is happening though is that if I was to run the levelling macro again, the system reports a relatively large adjustment, similar to what the very first adjustment was when the printer is first powered up. Neither the 'equalization' macro nor bed.g contain anything that shuts off bed mesh compensation (as far as I can see).
Assuming that the motors were never powered down, should I not see a zero (or tiny) correction when I run the z screw equalization? -
Can you share your files and the results you're getting?
-
I have attached the relevant files but I have a hunch that homez.g, which would be called, has something to do with what I am seeing. Specifically the G29 command that loads the bed mesh map.
I have not been able to wrap my mind around this yet even with the hunchbed.g
; bed.g ; called to perform automatic bed compensation via G32 ; ***************** in this case it is used to tram the gantry so it is the same height off the bed plate on both sides ; generated by RepRapFirmware Configuration Tool v2 on Sat Jul 06 2019 16:23:28 GMT-0700 (Pacific Daylight Time) G30 P0 X5 Y250 Z-99999 ; probe near a leadscrew G30 P1 X480 Y250 Z-99999 s2 ; probe near other leadscrew and calibrate the two motors for same height G30 P0 X5 Y250 Z-99999 G30 P1 X480 Y250 Z-99999 s2 ;G28 ; home in case home has chamged from adjusting the two sides of Z distance
equalize gantry
; go to middle of bed, set z zero, go to x 10 measure, go to x 490 measure and report differences so I can manually adjust. ; run homez.g macro M98 P"homez.g" ;homing probably not needed M566 Z0 ; set jerk to zero M201 z2 ; set acceleration G32 ; run compensation routine on the two z motors ... bed.g macro M98 P"stepper_settings_default.g" ; restore default settings for jerk, acceleration, speed M98 P"homez.g" ; homing in case z=0 shifted from z adjustments
homez.g
; homez.g ; called to home the Z axis ; ; generated by RepRapFirmware Configuration Tool v2 on Sat May 25 2019 18:49:42 GMT-0700 (Pacific Daylight Time) G91 ; relative positioning G1 Z5 F2000 H2 ; lift Z relative to current position G90 ; absolute positioning so we don't go to 500/500 on the next command G1 X250 Y250 F12000 H2 ; go to center of bed M558 F2000 A1 ; set for rapid decent for one probe G30 ; do quick probe M558 F60 A10 ; return to normal (slow) probing speed G30 ; home Z by probing the bed G29 S1 P"heightmap.csv" ; Load height map file heightmap.csv and enable compensation M290 R0 S0 ; clear babystepping
Two successive runs of running the equalization macro to level the gantry:
2023-09-22, 11:11:12 a.m. Leadscrew adjustments made: -0.015 0.002, points used 2, (mean, deviation) before (-0.007, 0.007) after (-0.000, 0.000)
2023-09-22, 11:10:32 a.m. Leadscrew adjustments made: 0.167 0.070, points used 2, (mean, deviation) before (0.121, 0.040) after (0.000, 0.000)2023-09-22, 11:04:21 a.m. Leadscrew adjustments made: -0.009 -0.003, points used 2, (mean, deviation) before (-0.006, 0.002) after (-0.000, 0.000)
2023-09-22, 11:03:43 a.m. Leadscrew adjustments made: 0.138 0.112, points used 2, (mean, deviation) before (0.126, 0.011) after (0.000, 0.000) -
@jens55 said in bed levelling question - M671 and G32:
G29 S1 P"heightmap.csv" ; Load height map file heightmap.csv and enable compensation
Don't load your heightmap in homez if you then want to make further adjustments to the leveling. I'd say the best time to do it is in start.g or your slicer start gcode after the z axis is homed and any leveling is complete.
-
@Phaedrux thanks, I will give that a try once the printer is done with the current job (15 hrs)