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

    X axis moving the wrong way on a CoreXY

    Scheduled Pinned Locked Moved Unsolved
    Firmware installation
    4
    12
    1.4k
    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.
    • Exerqtorundefined
      Exerqtor
      last edited by Exerqtor

      Having a weird issue with a machine I'm setting up atm with the X axis moving the wrong way while the Y axis works as intended. I didn't think that should even be possible on a corexy since the X/Y steppers have to work in tandem. And i can't for the life of it find an error in the config 😳

      And I've checked the wiring, both ends of each stepper wire is connected identical to each other😅

      Here's a snippet of the config.g:

      ; General preferences
      M111 S0                 													; Debugging off
      G21																; Work in millimetres
      G90																; send absolute coordinates...
      M83																; set extruder to relative mode
      M575 P1 B57600 S1														; enable and configure PanelDue
      
      ; General setup
      M669 K1																; select CoreXY mode
      ; --- drive map ---
      ;    _______
      ;   |   0   |
      ;   | ----- |
      ;   | 2 | 1 |
      ;    -------
      ;     front
      
      ; Drives
      M569 P0 S0															; Z1 (physical drive 0) goes backwards
      M569 P1 S0															; Z2 (physical drive 1) goes backwards
      M569 P2 S0															; Z3 (physical drive 2) goes backwards
      M569 P3 S0															; X (physical drive 3) goes backwards
      M569 P4 S0															; Y (physical drive 4) goes backwards
      M569 P5 S0															; E (physical drive 5) goes backwards
      
      ; Motor mapping and steps per mm
      M584 X4 Y3 Z0:1:2 E5														; set drive mapping
      M350 X16 Y16 Z16:16 E16 I1													; configure microstepping with interpolation
      M92 X80.00 Y80.00 Z400.00:400.00:400.00												; set XYZ steps per mm (1.8deg motors)
      M92 E430.11															; set Extruder steps per mm (BMG)
      
      ; Drive currents
      M906 X1400 Y1400 Z1200:1200:1200												; set XYZ motor currents (mA)
      M906 E1000															; set Extruder motor current (mA)
      M906 I30															; set ide current percentag
      M906 I30															; set ide current percentage
      M84 S30																; Set idle timeout
      
      ; Accelerations and speed
      M98 P"/macros/System/Speed/speed_printing.g"											; set normal speed & accel
      
      ; Axis Limits
      M208 X0 Y0 Z0 S1														; set axis minima
      M208 X347.5 Y358 Z300 S0													; set axis maxima
      
      ; Endstops
      M574 X2 S1 P"xstop"														; configure active-low endstop for low end on X via pin xstop
      M574 Y2 S1 P"ystop"														; configure active-low endstop for low end on Y via pin ystop
      M574 Z0 P"nil"															; no endstop
      jay_s_ukundefined fcwiltundefined dc42undefined 3 Replies Last reply Reply Quote 0
      • jay_s_ukundefined
        jay_s_uk @Exerqtor
        last edited by

        @exerqtor mess around with the S setting on your M569 commands for the x and y steppers

        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

        Exerqtorundefined 1 Reply Last reply Reply Quote 0
        • Exerqtorundefined
          Exerqtor @jay_s_uk
          last edited by Exerqtor

          @jay_s_uk

          But if i change the S parameter on only say "X" that will just make it shit the bad since the two steppers have to work together in CoreXY won't it? Or am i overcomplicating it.

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

            @exerqtor no. It'll make sense once you start switching them about

            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 @Exerqtor
              last edited by

              @exerqtor

              From the DWC console execute M669. You should get something like this:

              11/8/2021, 2:12:06 PM	M669
              1.00 1.00 0 0
              1.00 -1.00 0 0
              0 0 1.00 0
              

              You can use M669 to enter the matrix values directly instead of specifying the kinematics type of K1.

              M669 X1:1:0 Y1:-1:0 Z0:0:1                     ; CoreXY
              

              Use that form of M669 and try different values after the X. That worked for me.

              X-1:1:0 or X1:-1:0 or X-1:-1:0 - one of them should work. 
              

              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

              Exerqtorundefined 1 Reply Last reply Reply Quote 0
              • Exerqtorundefined
                Exerqtor @fcwilt
                last edited by Exerqtor

                @fcwilt said in X axis moving the wrong way on a CoreXY:

                @exerqtor

                From the DWC console execute M669. You should get something like this:

                11/8/2021, 2:12:06 PM	M669
                1.00 1.00 0 0
                1.00 -1.00 0 0
                0 0 1.00 0
                

                You can use M669 to enter the matrix values directly instead of specifying the kinematics type of K1.

                M669 X1:1:0 Y1:-1:0 Z0:0:1                     ; CoreXY
                

                Use that form of M669 and try different values after the X. That worked for me.

                X-1:1:0 or X1:-1:0 or X-1:-1:0 - one of them should work. 
                

                Frederick

                M669 X-1:-1:0 Y1:-1:0 Z0:0:1
                

                worked! Thanks 😍

                1 Reply Last reply Reply Quote 1
                • Exerqtorundefined Exerqtor marked this topic as a question
                • Exerqtorundefined Exerqtor has marked this topic as solved
                • dc42undefined
                  dc42 administrators @Exerqtor
                  last edited by

                  @exerqtor the usual way to switch between right hand and left hand coordinate systems on a CoreXY machine is to swap the X and Y motors, either in the wiring or in the M584 command. See https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter#Section_Testing_motor_movement.

                  Duet WiFi hardware designer and firmware engineer
                  Please do not ask me for Duet support via PM or email, use the forum
                  http://www.escher3d.com, https://miscsolutions.wordpress.com

                  Exerqtorundefined 1 Reply Last reply Reply Quote 0
                  • Exerqtorundefined
                    Exerqtor @dc42
                    last edited by Exerqtor

                    @dc42

                    Oh ok, so i will achieve the same result as adjusting the kinematics matrix by doing that? In that case that sounds like a more "correct" approach to solving the issue 😅

                    EDIT:
                    Tried swaping around the steppers wires and setting the kinematics matrix back to stock. And that didn't fix the issue in this case 😕

                    fcwiltundefined 1 Reply Last reply Reply Quote 0
                    • Exerqtorundefined Exerqtor has marked this topic as unsolved
                    • fcwiltundefined
                      fcwilt @Exerqtor
                      last edited by

                      @exerqtor said in X axis moving the wrong way on a CoreXY:

                      @dc42

                      Oh ok, so i will achieve the same result as adjusting the kinematics matrix by doing that? In that case that sounds like a more "correct" approach to solving the issue 😅

                      EDIT:
                      Tried swaping around the steppers wires and setting the kinematics matrix back to stock. And that didn't fix the issue in this case 😕

                      You can fix the problem by changing wiring, etc but it seems to me that adding one minus sign to the config.g file is a simpler approach.

                      And it works.

                      😉

                      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

                      Exerqtorundefined 1 Reply Last reply Reply Quote 0
                      • Exerqtorundefined
                        Exerqtor @fcwilt
                        last edited by

                        @fcwilt but like i can't shake the feeling of something having to be out of whack since i have to change up the wiring from how it's "supposed to be" , or to derp with the standard kinematics to make it behave like i want it to 😂

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

                          @exerqtor said in X axis moving the wrong way on a CoreXY:

                          @fcwilt but like i can't shake the feeling of something having to be out of whack since i have to change up the wiring from how it's "supposed to be" , or to derp with the standard kinematics to make it behave like i want it to 😂

                          I've always changed the matrix - it's simple, quick and easy.

                          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

                          dc42undefined 1 Reply Last reply Reply Quote 0
                          • dc42undefined
                            dc42 administrators @fcwilt
                            last edited by

                            Either method will work.

                            Duet WiFi hardware designer and firmware engineer
                            Please do not ask me for Duet support via PM or email, use the forum
                            http://www.escher3d.com, https://miscsolutions.wordpress.com

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