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

    M556 axis compensation for a CNC

    Scheduled Pinned Locked Moved
    CNC
    4
    23
    1.2k
    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.
    • jay_s_ukundefined
      jay_s_uk @Jrow
      last edited by

      @jrow thats correct. You just add the second endstop in M574.
      And you're also correct that you'd have to split the axis to adjust either of the motors if the gantry isn't square

      Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

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

        @jrow said in M556 axis compensation for a CNC:

        My current setup is:

        M574 Y2 S1 P"io2.in"
        M584 X3 Y0:1 Z2

        My assumption based ont he above is that if I change the first line to P"io2.in + io5.in" where io5.in refers to the second endstop, this should home the Y axis to both endstops automatically, without having to specify moving motors individually. Am I on the right track here?

        I would of course still have to introduce an adjustment on one of the Y steppers, after homing, assuming my endstops aren't perfectly aligned.

        It should work fine. I just tweaked the position of one of the endstops still it was perfect (enough).

        Frederick

        Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

        Jrowundefined 1 Reply Last reply Reply Quote 0
        • Jrowundefined
          Jrow @fcwilt
          last edited by

          @fcwilt I'm a bit nervous here. When I try M119, with M574 Y2 S1 P"io2.in + io5.in" set, I only get an endstop triggered if io2.in is triggered. Due to the nature of the machine I really don't want to try bending it. Is there a way to check that my config is correct beyond what I've already specified?

          The documentation for M574 only mentions multiple endstops for Z. I'm worried it's possible that it wasn't implemented for Y.

          jay_s_ukundefined fcwiltundefined 2 Replies Last reply Reply Quote 0
          • jay_s_ukundefined
            jay_s_uk @Jrow
            last edited by

            @jrow its implemented for Y as i'm using it
            try mapping just the io5 for Y and testing it

            Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

            Jrowundefined 1 Reply Last reply Reply Quote 0
            • Jrowundefined
              Jrow @jay_s_uk
              last edited by

              @jay_s_uk I've already homed the Y axis with io5.in only, by switching from io2.in, to ensure that endstop works.

              I just am a bit concerned that M119 doesn't report multiple enstops for Y.

              jay_s_ukundefined 1 Reply Last reply Reply Quote 0
              • jay_s_ukundefined
                jay_s_uk @Jrow
                last edited by

                @jrow it doesn't. not sure if the endstop plugin reports any different https://github.com/Duet3D/DSF-Plugins/releases

                Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

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

                  @jrow said in M556 axis compensation for a CNC:

                  @fcwilt I'm a bit nervous here. When I try M119, with M574 Y2 S1 P"io2.in + io5.in" set, I only get an endstop triggered if io2.in is triggered. Due to the nature of the machine I really don't want to try bending it. Is there a way to check that my config is correct beyond what I've already specified?

                  The documentation for M574 only mentions multiple endstops for Z. I'm worried it's possible that it wasn't implemented for Y.

                  No it works for any axis.

                  I just checked the Object Model viewer and it only shows one endstop.

                  To test just issue a M564 H0 which allows jogging any axis even if not homed. Then jog the Y axis to the middle. Issue a very slow home command G91 G1 Y### F100 where ### is a value appropriate for your printer but not large enough to reach the end of the axis. For example, if your axis range is 300 then use 125 which will stop short of the end of travel. Of course you have to use the correct plus or minus value depending on the direction you need to move. Then you will have time to manually trigger each endstop sensor to see if the associated stepper stops moving.

                  When you are done issue a M564 H1 to cancel the one above.

                  Frederick

                  Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

                  1 Reply Last reply Reply Quote 0
                  • Jrowundefined
                    Jrow
                    last edited by

                    Yup, I have confirmed homing via this method now. But in trying to install the endstop plugin, I think I messed up my DWC. I had a CNC specific version of it installed, and attempted to update to the current DWC (3.4.1), and I don't have the menus the plugin suggests.

                    Is it something worth creating a ticket about, regarding M119? Is that a bug; that it doesn't report multiple endstops?

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

                      @jrow said in M556 axis compensation for a CNC:

                      Yup, I have confirmed homing via this method now. But in trying to install the endstop plugin, I think I messed up my DWC. I had a CNC specific version of it installed, and attempted to update to the current DWC (3.4.1), and I don't have the menus the plugin suggests.

                      Is it something worth creating a ticket about, regarding M119? Is that a bug; that it doesn't report multiple endstops?

                      I don't use that plugin so I cannot tell you anything about it.

                      Regards M119 you would need to ask @dc42.

                      Frederick

                      Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

                      1 Reply Last reply Reply Quote 0
                      • Phaedruxundefined Phaedrux moved this topic from Using Duet Controllers
                      • Jrowundefined
                        Jrow
                        last edited by

                        I put some tape on either motor coupler and ran Y homing from different start positions, very slowly and absolutely confirmed this working in action. I've now squared the CNC, by adjusting one of the sensors until my dial gauge read the same from one end of the linear rail to the other, when sliding it along a square. It's probably not perfect, but it should do for now, at least as proof to myself that I can do it this way.

                        Notably, I also had to up my idle motor currents a little so it wouldn't go back out of square when they timed out. That's the I value on M906, where you set your motor amps.

                        1 Reply Last reply Reply Quote 2
                        • sinned6915undefined
                          sinned6915 @jay_s_uk
                          last edited by

                          @jay_s_uk what do we do if we only hve 1 axis motor?

                          I got here searching for M556 as well. I set a piece of long stock in the machine and thought I had properly trammed it. I'm of about 0.3 in 200mm, I thought no biggie, I will just use the FW to skew corrrect instead of unclamping and realigning.

                          Can we use M556 to tansform the coordiante system to account for crooked material or fixturing?

                          jay_s_ukundefined 1 Reply Last reply Reply Quote 0
                          • jay_s_ukundefined
                            jay_s_uk @sinned6915
                            last edited by

                            @sinned6915 if you're accounting for stock skew use G68 https://docs.duet3d.com/en/User_manual/Reference/Gcodes#g68-coordinate-rotation

                            Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

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