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

CoreXY: X is now Y, Y is now X

Scheduled Pinned Locked Moved Solved
General Discussion
3
23
931
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.
  • undefined
    Stephen6309
    last edited by Stephen6309 5 Jan 2021, 21:19 1 May 2021, 21:16

    Current Firmware 3.3RC1 on 6HC w/Pi4 and 1LC.

    X is now going Y direction.
    Y is now going X direction.

    No hardware changes.

    Going back to 3.3beta3, no change.

    Shutting it down and firing up to same problem.

    Had to swap the X and Y endstops to get homing to work.
    Even tried going back to an older config.g file, no change.

    ; Configuration file for Duet 3 (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sat May 01 2021 13:39:57 GMT-0400 (Eastern Daylight Time)
    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"CXY-MSv1" ; set printer name
    M669 K1 ; select CoreXY mode
    ; Drives
    M569 P0.0 S1 ; physical drive 0.0 goes forwards
    M569 P0.1 S1 ; physical drive 0.1 goes forwards
    M569 P0.2 S1 ; physical drive 0.2 goes forwards
    M569 P121.0 S0 ; physical drive 121.0
    M584 X0.0 Y0.1 Z0.2 E121.0 ; set drive mapping
    M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
    M92 X80.00 Y80.00 Z800.00 E418.00 ; set steps per mm
    M566 X2000.00 Y2000.00 Z180.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X15000.00 Y15000.00 Z1800.00 E3000.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z30.00 E250.00 ; set accelerations (mm/s^2)
    M906 X1000 Y1000 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout
    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; set axis minima
    M208 X300 Y400 Z150 S0 ; set axis maxima
    ; Endstops
    M574 X1 S1 P"io2.in" ; configure active-high endstop for low end on X
    M574 Y1 S1 P"121.io1.in" ; configure active-high endstop for low end on Y
    M574 Z1 S2 ; configure Z-probe endstop for low end on Z
    ; Z-Probe
    M950 S0 C"121.io0.out" ; create servo pin 0 for BLTouch
    M558 P9 C"^121.io0.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
    G31 P500 X-60 Y0 Z0 ; set Z probe trigger value, offset and trigger height
    M557 X15:300 Y15:400 S50 ; define mesh grid
    ; Heaters
    M308 S0 P"temp0" Y"thermistor" T100000 B4092 ; configure sensor 0 as thermistor on pin temp0
    M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0
    M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
    M140 H0 ; map heated bed to heater 0
    M143 H0 S120 ; set temperature limit for heater 0 to 120C
    M308 S1 P"121.temp0" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin 121.temp0
    M950 H1 C"121.out0" T1 ; create nozzle heater output on 121.out0 and map it to sensor 1
    M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
    M143 H1 S280 ; set temperature limit for heater 1 to 280C
    ; Fans
    M950 F0 C"out9" Q500 ; create fan 0 on pin out9 and set its frequency
    M106 P0 C"Parts" S0 H-1 ; set fan 0 name and value. Thermostatic control is turned off
    M950 F1 C"121.out1" Q500 ; create fan 1 on pin 121.out1 and set its frequency
    M106 P1 C"Hotend" S1 H1 T45 ; set fan 1 name and value. Thermostatic control is turned on
    ; Tools
    M563 P0 D0 H1 F0 ; define tool 0
    G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
    G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
    ; Custom settings
    M376 H5 ; taper bed compensation
    M572 D0 S0.05 ; pressure advance
    M207 S1.5 F6000 R0 Z0.03 ; firmware retraction
    M143 H1 S300 ; set temperature limit for heater 1 to 300C
    ;M566 P1 ; Jerk policy, 1 allows jerk to be applied between any pair of moves.
    M912 P0 S-9 ; set mcu temp offset
    G10 P0 S0 R0 ; set T0 heater off
    M150 B0 U0 R0 P128 S10 F0 ; all neopixels off
    M912 P0 S4 ; calibrate MPU temp
    ; Miscellaneous
    M575 P1 S1 B57600 ; enable support for PanelDue
    M501 ; load saved parameters from non-volatile memory
    M911 S23 R24 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
    T0 ; select first tool

    X and Y are separate, since one axis get to home first and the second goes very slowly.

    ; homeall.g
    ; called to home all axes
    ;
    G91 ; relative positioning
    G1 H2 Z10 F6000 ; lift Z relative to current position
    G1 H1 X-450 F6000 ; home X axis
    G1 X5 F6000 ; go back a few mm
    G1 H1 X-405 F360 ; move slowly to X axis endstop once more (second pass)
    G1 H1 Y-400 F6000 ; home Y axis
    G1 Y5 F6000 ; go back a few mm
    G1 H1 Y-305 F360 ; then move slowly to Y axis endstop
    G90 ; absolute positioning
    G1 X200 Y200 F6000 ; go to first bed probe point and home Z
    G30 ; home Z by probing the bed
    G1 Z10
    ; Uncomment the following lines to lift Z after probing
    ;G91 ; relative positioning
    ;G1 Z5 F100 ; lift Z relative to current position
    ;G90 ; absolute positioning
    undefined undefined 2 Replies Last reply 2 May 2021, 18:26 Reply Quote 0
    • undefined
      Phaedrux Moderator
      last edited by 1 May 2021, 22:07

      Can you do the motor movement tests described here?

      https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter#Section_Testing_motor_movement

      Z-Bot CoreXY Build | Thingiverse Profile

      undefined 2 Replies Last reply 2 May 2021, 13:56 Reply Quote 0
      • undefined
        Stephen6309 @Phaedrux
        last edited by 2 May 2021, 13:56

        @phaedrux Did them. X still go front/back. Y goes right/left. Swapping driver for X & Y just reverses one of the axes. Fired it up today and it still does it. X0 Y0 is the front left.

        1 Reply Last reply Reply Quote 0
        • undefined
          Stephen6309 @Phaedrux
          last edited by 2 May 2021, 15:04

          @phaedrux Same thing in stand alone mode.

          1 Reply Last reply Reply Quote 0
          • undefined
            Phaedrux Moderator @Stephen6309
            last edited by 2 May 2021, 18:26

            @stephen6309 said in CoreXY: X is now Y, Y is now X:

            Current Firmware 3.3RC1 on 6HC w/Pi4 and 1LC.
            X is now going Y direction.
            Y is now going X direction.
            No hardware changes.
            Going back to 3.3beta3, no change.

            When exactly did you notice the change? After updating the firmware? And going back to previous firmware didn't change anything?

            I'm a bit confused about what might have changed.

            Does -x move to the left, +x move to the right?
            Does -y move to the front, =y move to the back?

            X endstop is still on the left side?
            Y endstop is on the front side?

            Can you post the results of M122 and M122 B1?
            Also the results of M98 P"config.g" please.

            Z-Bot CoreXY Build | Thingiverse Profile

            undefined 1 Reply Last reply 2 May 2021, 19:07 Reply Quote 0
            • undefined
              Stephen6309 @Phaedrux
              last edited by Stephen6309 5 Feb 2021, 19:17 2 May 2021, 19:07

              @phaedrux X endstop is now front right (makes a mirror print on X)

              Y endstop is one left of axis the extruder is on.

              It was X endostop on left of extruder, Y was homing to the switch front on right side.

              Bed is 400x300. Was 400 on X, 300 on Y.
              Was going like X & Y on a cartesion like my other printer.

              Since then X & Y have swapped, X is now 300, Y is now 400.

              Also, updated 6HC to 3.3RC1+1.

              It occured when updating to 3.3RC1 via DWC, the apt-get wasn't updating to it, and I made a new config on the configurator, since I had the wrong config.json for the printer. Going back to the prior config.g didn't change it.

              DSC01673small.jpg

              1 Reply Last reply Reply Quote 0
              • undefined
                Phaedrux Moderator
                last edited by 2 May 2021, 21:54

                Ok, so your motors are at the "rear" so 180 degree flip from "normal". I use quotes because it's all relative.

                @stephen6309 said in CoreXY: X is now Y, Y is now X:

                I made a new config on the configurator, since I had the wrong config.json for the printer. Going back to the prior config.g didn't change it.

                That makes very little sense. Regardless, we can fix it to make sense again.

                Let's start from the top with our absolutes.

                0,0 will be the front left corner of the print bed.
                -x will be left, +x will be right
                -y will be to the front, +y will be to the back
                X endstop is on the right side/high end (M574 X2)
                X homing move will be positive (G1 H1 X+500)
                Y endstop is at the front/low end (M574 Y1)
                Y homing move will be negative (G1 H1 Y-500)
                Your slicer might need to reflect this as well.

                Those facts do not change.

                Now with that set in stone, do the motor tests again. This will help you determine what needs to happen next. Either swap motor connectors, change direction of rotation, etc.

                https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter#Section_Testing_motor_movement

                Z-Bot CoreXY Build | Thingiverse Profile

                undefined 1 Reply Last reply 3 May 2021, 18:51 Reply Quote 0
                • undefined
                  o_lampe @Stephen6309
                  last edited by 3 May 2021, 04:18

                  @stephen6309 said in CoreXY: X is now Y, Y is now X:

                  Current Firmware 3.3RC1 on 6HC w/Pi4 and 1LC.

                  Can you confirm that firmware changes (back and forth) were applied to both boards?

                  1 Reply Last reply Reply Quote 1
                  • undefined
                    Stephen6309 @Phaedrux
                    last edited by Stephen6309 5 Mar 2021, 18:52 3 May 2021, 18:51

                    @phaedrux said in CoreXY: X is now Y, Y is now X:

                    On the config.json, it like to keep it current with the config.g. The json was for a different printer. So, I remade it by copying the currect config.g settings. Copied the new congi.g and json into system. It would be nice configurater needs to be able to make a config.json from the config.g file.

                    0,0 will be the front left corner of the print bed.

                    Yes it is.

                    -x will be left, +x will be right
                    -y will be to the front, +y will be to the back

                    That's the way it used to work.

                    +X currently goes back
                    +Y currently goes to the right

                    X endstop is on the right side/high end (M574 X2)

                    X was on left/low side.

                    X homing move will be positive (G1 H1 X+500)

                    Homing X has always been -X

                    Y endstop is at the front/low end (M574 Y1)

                    was on the front/low side on the right.

                    Y homing move will be negative (G1 H1 Y-500)
                    Homing Y has always been -Y
                    Bed moves up to home Z.

                    Your slicer might need to reflect this as well.
                    Priusa slicer has nothing to due with what the printer is currently doing.

                    M569 P0.0 S1 for the correct direction
                    M569 P0.1 S1

                    G1 H2 X10 F3000: move the extruder diagonally back and left
                    G1 H2 Y10 F3000: move extrueder diagonally to left and back

                    My homeall.g was posted above. Works fine if I swap the X/Y endstop config. Otherwise, the endstops never trigger, since it's mi=oving the wrong axis.

                    My endstops used to configured:
                    M574 X1 S1 P"121.io1.in"
                    M574 Y1 S1 P"io2.in"
                    They worked as expected.

                    FIRMWARE_NAME: RepRapFirmware for Duet 3 MB6HC FIRMWARE_VERSION: 3.3RC1+1 ELECTRONICS: Duet 3 MB6HC v1.01 or later FIRMWARE_DATE: 2021-05-01 21:43:52

                    Duet TOOL1LC firmware version 3.3RC1 (2021-04-29 10:21:18)

                    The config.g is what is current. The way the printer moves, the the front/back axis, now X, is mirrored.
                    Home X, it now moves to the front. It was to the left.
                    Home Y, it now moves to the left. It was to the front.

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      Phaedrux Moderator
                      last edited by 3 May 2021, 19:09

                      Have you moved the endstops from where they were originally? If you've changed things to accommodate the problem we're not actually solving the problem.

                      It doesn't really matter where the endstops are located as long as we're able to tell the firmware where they are and instruct it to move to hit those endstops.

                      Let's start from the top with our absolutes.

                      0,0 will be the front left corner of the print bed.
                      -x will be left, +x will be right
                      -y will be to the front, +y will be to the back
                      X endstop is on the right side/high end (M574 X2)
                      X homing move will be positive (G1 H1 X+500)
                      Y endstop is at the front/low end (M574 Y1)
                      Y homing move will be negative (G1 H1 Y-500)
                      Your slicer might need to reflect this as well.

                      Those facts do not change.

                      This is how it should be and how it will be because we say so. If it's not currently doing that does not matter, we will make the changes needed to make it so.

                      So either move the endstops back how they originally were or leave them where they are, either way just let me know.

                      Z-Bot CoreXY Build | Thingiverse Profile

                      1 Reply Last reply Reply Quote 0
                      • undefined
                        Phaedrux Moderator
                        last edited by 3 May 2021, 19:14

                        Part of the confusion may also be resulting from the 180 degree rotation with the motors in the rear. That would mean the expected movement from the tests would be inverted as well. Do you get what I mean?

                        simple_belts_corexy_annotated.jpg

                        The motors here are in the rear, as they are in your machine. This would be 180 degree rotation from the "normal" corexy where the motors are in the front side. This just means that the direction of X and Y are inverted from the expectation, placing 0,0 in the back right corner. The back right is the same as the front left, just rotated half way round. Does that make sense?

                        Z-Bot CoreXY Build | Thingiverse Profile

                        undefined 1 Reply Last reply 3 May 2021, 23:44 Reply Quote 0
                        • undefined
                          Stephen6309 @Phaedrux
                          last edited by 3 May 2021, 23:44

                          @phaedrux Since I built it with the original Duet Wifi and changed to a Duet 3 6HC, X0 Y0 was in the front left corner. X move left/right, Y moved front/back.

                          Now it doesn't, it swapped X and Y.

                          1 Reply Last reply Reply Quote 0
                          • undefined
                            Phaedrux Moderator
                            last edited by 4 May 2021, 03:04

                            Yes, I understand.

                            Where are you endstops located now?

                            Z-Bot CoreXY Build | Thingiverse Profile

                            undefined 2 Replies Last reply 4 May 2021, 12:58 Reply Quote 0
                            • undefined
                              Stephen6309 @Phaedrux
                              last edited by 4 May 2021, 12:58

                              @phaedrux The tests are viewed from the front, where the M M is on your graphic and where the PanelDue is mounted.

                              One endstop is on the left of the extruder carraige, was the X. It's mount on purple petg to the left of the wirechain bracket in the photo. The other one the front of the right carriage wheel plate of the extruder axis, was the Y. It's mounted on red pla in the photo.

                              1 Reply Last reply Reply Quote 0
                              • undefined
                                Stephen6309 @Phaedrux
                                last edited by 4 May 2021, 17:24

                                @phaedrux Just ran a test print with lettering. I was only expect one reverse axis, but both are reversed. Looks like X0 Y0 needs to change.

                                1 Reply Last reply Reply Quote 0
                                • undefined
                                  Phaedrux Moderator
                                  last edited by 4 May 2021, 20:16

                                  Ok, so if the X endstop is on the left it's at the low end. So M574 X1 and the homing moves should move in the negative direction.

                                  If Y is triggering when the print head is towards the front, then it's at the low end. M574 Y1 and the homing moves should be negative direction.

                                  Now based on the tests here: https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter#Section_Testing_motor_movement

                                  Start with

                                  M569 P0 S0 ; X motor runs forwards
                                  M569 P1 S0 ; Y motor runs forwards

                                  Then send
                                  G91
                                  G1 H2 X10 F3000

                                  And
                                  G91
                                  G1 H2 Y10 F3000

                                  What do you get?

                                  Z-Bot CoreXY Build | Thingiverse Profile

                                  undefined 1 Reply Last reply 5 May 2021, 17:47 Reply Quote 0
                                  • undefined
                                    Stephen6309 @Phaedrux
                                    last edited by 5 May 2021, 17:47

                                    @phaedrux said in CoreXY: X is now Y, Y is now X:

                                    M569 P0 S0 ; X motor runs forwards
                                    M569 P1 S0 ; Y motor runs forwards
                                    G91

                                    G1 H2 X10 F3000

                                    Move diagonally towards left front corner

                                    G1 H2 Y10 F3000

                                    Move diagonally toward front right coner.

                                    undefined 1 Reply Last reply 5 May 2021, 21:44 Reply Quote 0
                                    • undefined
                                      Phaedrux Moderator @Stephen6309
                                      last edited by 5 May 2021, 21:44

                                      @stephen6309 said in CoreXY: X is now Y, Y is now X:

                                      G1 H2 X10 F3000

                                      Move diagonally towards left front corner

                                      Ok so..

                                      If it moves in the -X and -Y directions, change the S parameter to S1 in the M569 P0 command.

                                      @stephen6309 said in CoreXY: X is now Y, Y is now X:

                                      G1 H2 Y10 F3000

                                      Move diagonally toward front right coner.

                                      Ok so...

                                      If the head moves diagonally in the +X and -Y directions, all is well.

                                      Ok, so change to M569 P0 S1 and retest.

                                      Z-Bot CoreXY Build | Thingiverse Profile

                                      undefined 1 Reply Last reply 6 May 2021, 13:28 Reply Quote 0
                                      • undefined
                                        Stephen6309 @Phaedrux
                                        last edited by 6 May 2021, 13:28

                                        @phaedrux said in CoreXY: X is now Y, Y is now X:

                                        @stephen6309 said in CoreXY: X is now Y, Y is now X:
                                        Already configured for S1 for 0 and 1.

                                        G1 H2 X10 F3000

                                        Moves diagonally to right and rear.

                                        G1 H2 Y10 F3000

                                        Moves diagonally to left and rear.

                                        undefined 1 Reply Last reply 6 May 2021, 14:59 Reply Quote 0
                                        • undefined
                                          Phaedrux Moderator @Stephen6309
                                          last edited by 6 May 2021, 14:59

                                          @stephen6309 said in CoreXY: X is now Y, Y is now X:

                                          G1 H2 X10 F3000

                                          Moves diagonally to right and rear.

                                          If the head moves diagonally in the +X and +Y directions, all is well.

                                          @stephen6309 said in CoreXY: X is now Y, Y is now X:

                                          G1 H2 Y10 F3000

                                          Moves diagonally to left and rear.

                                          If it moves in the -X and +Y directions, change the S parameter in the M569 P1 command to S1.

                                          Z-Bot CoreXY Build | Thingiverse Profile

                                          undefined 1 Reply Last reply 6 May 2021, 20:51 Reply Quote 0
                                          3 out of 23
                                          • First post
                                            3/23
                                            Last post
                                          Unless otherwise noted, all forum content is licensed under CC-BY-SA