Left-hand axis CoreXY help!!
-
I wrote a procedure for setting up the origin and endstops for a corexy machine. Maybe it will be of some use.
I later decided to put the printer's origin at the center of the printable bed surface, which I recommend you do because it makes it easier to get different slicers set up for your printer, and makes the gcode sort-of portable if you have multiple machines with the origin at the center of the bed, as long as other factors are similar enough.
-
@perolalars M669 should show you the kinematics settings. I think you send M569 P[motor_number] and it will show that motor's setting.
Yes, reversing the motor wiring is the same as changing M569.
I would swap the X and Y motor wires, and try the test again.
Ian
-
@mrehorstdmd Thanks for your reply but its not the origin that is the problem, I cant get the axis to move as they should and I cant figure out why!
@droftarts Thank you for clarifying the reversing thing! And now I have gone through every possible setting with both swapped and non swapped X Y cables and nothing of them works!!!With swapped X & Y cables & command : G1 H2 X10 F1000 G1 H2 X-10 F1000 G1 H2 Y10 F1000 G1 H2 Y-10 F1000 M569 P0 S1 M569 P1 S0 it moves in +X -Y it moves in -X +Y it moves in -X -Y it moves in +X +Y M569 P0 S0 M569 P1 S0 it moves in -X +Y it moves in +X -Y it moves in -X -Y it moves in +X +Y M569 P0 S0 M569 P1 S1 it moves in -X +Y it moves in +X -Y it moves in +X +Y it moves in -X -Y M569 P0 S1 M569 P1 S1 it moves in +X -Y it moves in -X +Y it moves in +X +Y it moves in -X -Y No swapped cables & command : G1 H2 X10 F1000 G1 H2 X-10 F1000 G1 H2 Y10 F1000 G1 H2 Y-10 F1000 M569 P0 S1 M569 P1 S0 it moves in +X +Y it moves in -X -Y it moves in -X +Y it moves in +X -Y M569 P0 S0 M569 P1 S0 it moves in -X -Y it moves in +X +Y it moves in -X +Y it moves in +X -Y M569 P0 S0 M569 P1 S1 it moves in -X -Y it moves in +X +Y it moves in +X -Y it moves in -X +Y M569 P0 S1 M569 P1 S1 it moves in +X +Y it moves in -X -Y it moves in +X -Y it moves in -X +Y
The only setting that comes close to any solution is with swapped cables and with either:
M569 P0 S1
M569 P1 S0
or
M569 P0 S1
M569 P1 S1
but they both fail to move the Y axis motor correctly
So, please can anybody make some sense out of my diagram??
Is there anything in my config that in some way flips the Y axis or is there some other place it the firmware that could cause this behavior? -
First, that table full of swaps and M569 S and so forth... it all looks exactly correct. Each swap or command reversed exactly what I'd expect it to reverse.
To be clear: Diagonal moves are occurring because the H2 forces only one motor to turn. H2 will never produce a "usable" move on a CoreXY. Within that limit, everything is moving exactly as expected.
Others have said this... but just to confirm and reinforce:
-
Swapping motor wire PAIRS on the duet connector, meaning PQRS to RSPQ reverses the rotation of that motor.
-
M569 Pn S0 vs S1 does exactly the same thing. Reverses one motor (not one axis).
-
Therefore, there should never be an absolute need to swap motor pairs. It may, at times, be more convenient, and those of us with OCD may swap motor wires so that our config.g contains M569s that have all the same Sn parameter (sheesh, am I looking in a mirror, or what?), but there is never an actual requirement to swap pairs.
-
By "Swapped Cables" I'm assuming you are switching which motor is plugged into which driver. Which is fine (see below).
-
The H2 commands move INDIVIDUAL motors. And the tables of results look correct for that.
-
-
Were this me, here's how I would proceed:
-
Plug the motor cables into drivers, which order doesn't matter (yet).
-
Try all four M569 S combinations, one at a time, with very short moves, WITHOUT the H2. BOTH MOTORS WILL TURN. This is normal on a CoreXY.
-
Note that you will need to issue M564 H0, once, to allow 'regular' moves without homing.
-
See if any of those combinations are correct, meaning they produce the move you want in the direction you want. Again, no H2. Just regular (short) moves.
If you find the combination that moves each axis in the desired direction, you are done.
Only if necessary, swap the motor cables to the other drivers (i.e. opposite step 1) and repeat step 2.
One of those 8 combinations has to work.
-
-
@perolalars said in Left-hand axis CoreXY help!!:
@droftarts Hi and thanks for reply!!
No that page I had still to discover (didnt think there where any left for that..;-))
But tried the first command to no luckWith command: G1 H2 X10 F100 M569 P0 S1 M569 P1 S0 it moves in X+ & Y+ M569 P0 S0 M569 P1 S0 it moves in X- & Y- M569 P0 S0 M569 P1 S1 it moves in X- & Y- M569 P0 S1 M569 P1 S1 it moves in X+ & Y+
That has the X and Y motors connected to the right connectors. Either the first or the last M569 pair should be correct.
@perolalars said in Left-hand axis CoreXY help!!:
With swapped X & Y cables & command :
G1 H2 X10 F1000 G1 H2 X-10 F1000 G1 H2 Y10 F1000 G1 H2 Y-10 F1000M569 P0 S1 M569 P1 S0 it moves in +X -Y it moves in -X +Y it moves in -X -Y it moves in +X +Y M569 P0 S0 M569 P1 S0 it moves in -X +Y it moves in +X -Y it moves in -X -Y it moves in +X +Y M569 P0 S0 M569 P1 S1 it moves in -X +Y it moves in +X -Y it moves in +X +Y it moves in -X -Y M569 P0 S1 M569 P1 S1 it moves in +X -Y it moves in -X +Y it moves in +X +Y it moves in -X -Y
That doesn't, because G1 H2 X always moves X and Y in opposite directions.
No swapped cables & command :
G1 H2 X10 F1000 G1 H2 X-10 F1000 G1 H2 Y10 F1000 G1 H2 Y-10 F1000M569 P0 S1 M569 P1 S0 it moves in +X +Y it moves in -X -Y it moves in -X +Y it moves in +X -Y M569 P0 S0 M569 P1 S0 it moves in -X -Y it moves in +X +Y it moves in -X +Y it moves in +X -Y M569 P0 S0 M569 P1 S1 it moves in -X -Y it moves in +X +Y it moves in +X -Y it moves in -X +Y M569 P0 S1 M569 P1 S1 it moves in +X +Y it moves in -X -Y it moves in +X -Y it moves in -X +Y
The last one of those is correct.
-
@dc42 Hi and thanks for your input but according to this diagram https://duet3d.dozuki.com/Wiki/Test_axes_or_motors_individually the command G1 H2 Y10 F1000 should move it in -X +Y and my printer moves in +X -Y and the command G1 H2 Y-10 F1000 should move it in +X -Y and my printer moves in -X +Y .
Thats why I dont understand this! And I did reboot the firmware after every change in config and issued M564 H0 before any other command... So what am I doing wrong or dont understand? -
@perolalars I have a feeling the page I linked you to is not correct for the Y movement, as it has the same as moves in X! I think it should be that positive Y motor moves are +X and +Y, negative Y moves are -X and -Y. Sorry! In which case this version of your test should be correct:
With swapped X & Y cables & command : G1 H2 X10 F1000 G1 H2 X-10 F1000 G1 H2 Y10 F1000 G1 H2 Y-10 M569 P0 S1 M569 P1 S1 it moves in +X -Y it moves in -X +Y it moves in +X +Y it moves in -X -Y
Ian
-
@dc42 and @droftarts Now I am even more confused since dc42 is saying no swapped cables and you are saying swapped cables!?
-
That's right, that page is wrong (it was correct for firmware 1.18 and earlier). See https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter#Section_Testing_motor_movement.
EDIT: I've just corrected that other page.
-
@dc42 Hi David So according to that page my axis moves correctly now but since I have a left-hand axis setup (yes I know I am sorry but its a lot of work making it a right-hand) and there is no solution stated if one has one " If instead it is 90 degrees clockwise, you have a left-hand axis system, which will give you mirror-image prints" what can I do to correct it? Besides rebuilding the machine that is?
And thanks Ian for your input, I feel like I have 4 toodlers in my head now... -
@perolalars sorry! You should listen to @Danal and @dc42, because I’m doing this from memory, on my phone, while looking after two toddlers! And I don’t even have a CoreXY!
Though I still think the page I linked is incorrect. @dc42 can you check/update it?already doneIan
-
@perolalars said in Left-hand axis CoreXY help!!:
@dc42 Hi David So according to that page my axis moves correctly now but since I have a left-hand axis setup (yes I know I am sorry but its a lot of work making it a right-hand) and there is no solution stated if one has one " If instead it is 90 degrees clockwise, you have a left-hand axis system, which will give you mirror-image prints" what can I do to correct it? Besides rebuilding the machine that is?
And thanks Ian for your input, I feel like I have 4 toodlers in my head now...When you say "Left Hand"... My CoreXY, when facing the "Front", the 0,0 origin is in the right (humans right) rear. Is this the same thing you are saying?
If it is the same, I can post my config.
-
@Danal No, when looking at my printer from the front I have the origin in the left top corner (like where you start reading a book, kind off!) the Y axis are pointing toward me and the x axis going to the right
-
Got it. Yours is a true "flip" or "mirror" of chirality; mine is a simple rotation.
It is still true that one of the 8 combinations will make everything correct in "normal" X or Y moves. So you have two paths:
- Continue to try to analyze and understand and select the configuration of cables and M569s based on that analysis.
-or-
- Brute force "search" for the correct movements by trying all 8 combinations (stopping when you find the right one, of course).
I've done both in my life. These days, I'm so overloaded, I've biased more toward the brute force...
-
@Danal Thank you but that is what I have been doing and it moves correctly but it mirrors the prints, that is where I started...
It dont seams that anyone could tell what I can do about it, hardware or software wise, to correct it (the mirroring!).
I know I could mirror it in the slicer software but thats just a half way solution since I am trying to sell this printer and I want it to work correctly... -
@perolalars said in Left-hand axis CoreXY help!!:
@dc42 Hi David So according to that page my axis moves correctly now but since I have a left-hand axis setup (yes I know I am sorry but its a lot of work making it a right-hand) and there is no solution stated if one has one " If instead it is 90 degrees clockwise, you have a left-hand axis system, which will give you mirror-image prints" what can I do to correct it? Besides rebuilding the machine that is?
-
Decide which axis you are going to reverse. Standard CoreXY is that looking at the front of the machine, +X is to the right and +Y is to the back.
-
Swap the X and Y motor connections either physically or in M584, then adjust the M569 motor directions to get X and Y moving in the right directions.
-
Whichever axis you reversed the direction of, reconfigure its endstop from low to high end or vice versa in M574
-
Whichever axis you reversed, reverse the direction of all move commands for that axis in its homing file and in homeall.g.
-
-
Ohh, thanks David, you are a savior! I was feeling a bit helpless (very much that is!) not understand what to do...
I will try this and report back... Have a good weekend! -
This post is deleted! -
@Danal Maybe I have to ask you about your config file? I cant get my head around this (in spite of David´s good description, or maybe I am to tired) so maybe I have to rebuild the end stops to looking like yours... Is it possible for you to share your homing files also? Just as info...