Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    bed levelling question - M671 and G32

    Scheduled Pinned Locked Moved
    Using Duet Controllers
    2
    5
    209
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • jens55undefined
      jens55
      last edited by

      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?

      1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by

        Can you share your files and the results you're getting?

        Z-Bot CoreXY Build | Thingiverse Profile

        jens55undefined 1 Reply Last reply Reply Quote 0
        • jens55undefined
          jens55 @Phaedrux
          last edited by

          @Phaedrux

          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 hunch 😞

          bed.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)

          Phaedruxundefined 1 Reply Last reply Reply Quote 0
          • Phaedruxundefined
            Phaedrux Moderator @jens55
            last edited by

            @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.

            Z-Bot CoreXY Build | Thingiverse Profile

            jens55undefined 1 Reply Last reply Reply Quote 0
            • jens55undefined
              jens55 @Phaedrux
              last edited by

              @Phaedrux thanks, I will give that a try once the printer is done with the current job (15 hrs)

              1 Reply Last reply Reply Quote 0
              • First post
                Last post
              Unless otherwise noted, all forum content is licensed under CC-BY-SA