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

    auto bed leveling not working

    Scheduled Pinned Locked Moved
    General Discussion
    2
    4
    63
    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.
    • fcwiltundefined
      fcwilt
      last edited by

      I'm having a problem with auto bed leveling on my new 3 Z stepper printer.

      Here are the relevant parts of the two relevant configuration files:

      ; *** config.g ***
      
      M669 X1:1:0 Y1:-1:0 Z0:0:-1 ; to get Z to move in the right direction changed the Z +1 to -1
      
      ; 6HC
      
      M569 0.P0 S1   ; drive 0 - normal  - X axis
      M569 0.P1 S1   ; drive 1 - normal  - Y axis
      M569 0.P2 S1   ; drive 2 - normal  - 
      M569 0.P3 S1   ; drive 3 - normal  -
      M569 0.P4 S1   ; drive 4 - normal  - 
      M569 0.P5 S1   ; drive 5 - normal  - 
      
      ; 3HC
      
      M569 1.P0 S1   ; drive 0 - normal  - Z rear center
      M569 1.P1 S1   ; drive 1 - normal  - Z front left
      M569 1.P2 S1   ; drive 2 - normal  - Z front right
      
      M569 121.P0 S1 ; drive 0 - normal  - E
      
      M584 X0.0 Y0.1     ; on 6HC
      M584 Z1.1:1.0:1.2  ; on 3HC (front left - rear center - front right)
      
      ; *** bed.g ***
      
      M671 X-150:0:150 Y-150:150:-150 S5 ; bed is 300x300 but I configure XY min/max values so X=0 Y=0 are at bed center
      
      G30 P0 X-140 Y-120 Z-99999
      G30 P1 X0    Y120  Z-99999 
      G30 P2 X140  Y-120 Z-99999 S3
      
      

      To get the Z axis to move in the right direction during homing/jogging/etc. I had to change the M669 as shown but I don't know why.

      For reasons I don't understand changing the M569 S values for the Z steppers had/have no effect.

      Each Z axis has it's own end-stop - they are working as expected - when homing Z the bed more or less levels out - I have not tried to tweak the positions of the Z end-stops to get it better.

      The Z probe is a BL Touch - it is working fine.

      When executing bed.g the probing goes as expected but the Z steppers seem to be moving the wrong way - the rear center goes down when it needs to go up - the front left/right go up when they need to go down.

      This is my second 3 Z stepper printer (the old one is history) but the old one worked while this new one has me baffled.

      The old printer was NOT a Core XY machine, while the new one is, but I don't see why that should affect Z.

      Any ideas what is wrong?

      Any idea why I had to change the M669 command?

      Thanks in advance.

      Frederick

      Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

      droftartsundefined 1 Reply Last reply Reply Quote 0
      • droftartsundefined
        droftarts administrators @fcwilt
        last edited by

        @fcwilt said in auto bed leveling not working:

        ; 6HC

        M569 0.P0 S1 ; drive 0 - normal - X axis
        M569 0.P1 S1 ; drive 1 - normal - Y axis
        M569 0.P2 S1 ; drive 2 - normal -
        M569 0.P3 S1 ; drive 3 - normal -
        M569 0.P4 S1 ; drive 4 - normal -
        M569 0.P5 S1 ; drive 5 - normal -

        ; 3HC

        M569 1.P0 S1 ; drive 0 - normal - Z rear center
        M569 1.P1 S1 ; drive 1 - normal - Z front left
        M569 1.P2 S1 ; drive 2 - normal - Z front right

        M569 121.P0 S1 ; drive 0 - normal - E

        All these lines have the 'P' of the P parameter in the wrong place, and I expect they are largely being ignored. Sending M98 P"config.g" will probably report these lines as errors.

        It should be:

        ; 6HC
         
        M569 P0.0 S1   ; drive 0 - normal  - X axis
        M569 P0.1 S1   ; drive 1 - normal  - Y axis
        M569 P0.2 S1   ; drive 2 - normal  - 
        M569 P0.3 S1   ; drive 3 - normal  -
        M569 P0.4 S1   ; drive 4 - normal  - 
        M569 P0.5 S1   ; drive 5 - normal  - 
         
        ; 3HC
         
        M569 P1.0 S1   ; drive 0 - normal  - Z rear center
        M569 P1.1 S1   ; drive 1 - normal  - Z front left
        M569 P1.2 S1   ; drive 2 - normal  - Z front right
         
        M569 P121.0 S1 ; drive 0 - normal  - E
        

        You should then be able to set the motor direction correctly with the S parameter.
        I don't know if the M669 ... Z0:0:-1 will be causing mesh levelling not to work. Fix this first, reset M669 to normal, then test.

        Ian

        Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

        fcwiltundefined 1 Reply Last reply Reply Quote 1
        • fcwiltundefined
          fcwilt @droftarts
          last edited by fcwilt

          @droftarts

          Thanks for the reply.

          What a weird mistake for me to make. And only in those places. Everywhere else is as it should be.

          It's not like I haven't configured other printers using a 6HC/3HC pair.

          I'm rather surprised the printer works at all.

          Trying to sort things out I had done a M98 on config.g and it reported nothing in the way of any problems.

          M122 reports on all boards are fine.

          Seems like errors as egregious as those should generate an error somewhere.

          While waiting for a reply, I swapped the green/black wire pairs to all three Z steppers to reverse them, which allowed the plain M669 K1 to work and it fixed the bed leveling problem as well.

          So I will correct the errors you pointed out - and hope it doesn't break something.

          👍

          Frederick

          Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

          droftartsundefined 1 Reply Last reply Reply Quote 0
          • droftartsundefined
            droftarts administrators @fcwilt
            last edited by

            @fcwilt I think the firmware was just ignoring those lines and setting the default for each driver when the axes are setup with M584, but I’ll ask @dc42 why it didn’t trigger an error message.

            I tend to call these mistakes ‘Gcode blindness’ and I’m quite prone to them, too!

            Ian

            Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

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