PanelDue and Motors will not function properly with Duet Wifi
-
@firex726 said in PanelDue and Motors will not function properly with Duet Wifi:
Just in case I tried swapping both M208 and M574, as well at each individually and same end effect. With a positive movement making it move further into the endstop and negative away like I intend.
Time for a mental reboot. – Looking at X and Y, you can move your print head along these axes, and, with the end stops, you can tell the Duet which coordinate to reference for any further moves. You’ve got your steps/mm right…
That are the basics. Now, a second concept comes into play: a coordinate system you and your slicer understand. Just to be clear: Cura is quite flexible, so it’s up to you which idea you are most comfortable with.
The origin of this system can be in any corner, it can even be in the center of your bed, leaving you with 4 quadrants to deal with. In config.g, you use M208 to define the area your head can reach, in coordinates relative to the origin you want. These can be negative, too - remember, the end stops are only an initial reference point.
This is key: select an origin of your choice, then, stay with that. If something goes wrong, it’s just a question of Gcodes.
Homing just means to confirm the minimum or maximum coordinate you have defined in M208. It’s that simple. If you become comfortable with your coordinate system, it is easy to detect when a stepper’s direction is inverted. Just invert it in Gcode: dunnit.
-
@infiniteloop said in PanelDue and Motors will not function properly with Duet Wifi:
@firex726 said in PanelDue and Motors will not function properly with Duet Wifi:
Just in case I tried swapping both M208 and M574, as well at each individually and same end effect. With a positive movement making it move further into the endstop and negative away like I intend.
This is key: select an origin of your choice, then, stay with that. If something goes wrong, it’s just a question of Gcodes.
Homing just means to confirm the minimum or maximum coordinate you have defined in M208. It’s that simple. If you become comfortable with your coordinate system, it is easy to detect when a stepper’s direction is inverted. Just invert it in Gcode: dunnit.
Well that's what I thought I was doing... I have two other machines with their origin in the front left.
For M208 I tried it with the default min max at 0/280. And also flipped as 280/0 with the same movement behavior; as well as changing the endstop from Low side to High side, and also motor direction.
I'm not sure what other options I can flip...
Y has been behaving like I intend with no major fiddling, so that's why I assume it's only something with X.
-
@firex726 said in PanelDue and Motors will not function properly with Duet Wifi:
Both endstops are triggered near Alpha in the previously posted photo.
Are your motors at the back of the printer, or the front?
Perhaps could you post a photo of your printer showing the locations of things? That can help a lot getting us on the same page.
There's also the motor movement tests here: https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter
-
I don't know if it will help, but I did a blog post on setting up the origin and endstops so that the origin is at the center of the bed. If you use Cura, setting the origin at the center makes it especially easy to set up a custom printer because you simply check the "origin is at center" box and Cura will drop prints at the center of the bed.
See: https://drmrehorst.blogspot.com/2018/07/ummd-better-way-to-set-up-origin-and.html
-
@Phaedrux said in PanelDue and Motors will not function properly with Duet Wifi:
@firex726 said in PanelDue and Motors will not function properly with Duet Wifi:
Both endstops are triggered near Alpha in the previously posted photo.
Are your motors at the back of the printer, or the front?
Front... So in the previous diagram, Beta is to my right, and Alpha to my left.
The home for X and Y is the corner near Alpha; where both endstops are.My intention is that Alpha corner is X0, and Beta is X+280. But with all my flipping it keeps wanting positive movement commands to move it further into Alpha.
I'll have to get home to test exactly, but as I recall if Alpha is 0 then positive moments will move it further into Alpha. And if it's set for +280 then I'll need to command it to move -280 over to Beta where it'll be at 0, and then positive commands will move like normal.
-
Found an old photo, it has the motor mounts and I added the coordinates on where it's trying to move.
-
Have you gone through the corexy setup link I posted above?
-
@Phaedrux said in PanelDue and Motors will not function properly with Duet Wifi:
Have you gone through the corexy setup link I posted above?
I'll double check, but as I recall I did, and the motor movement is OK unless I home them. Since it'll think they are someplace they are not.
I think the issue is I have a Left hand system:
Important: make sure that you have chosen a right-hand axis system. That is, looking down on the printer the +Y direction should be 90 degrees anticlockwise from the +X direction. If instead it is 90 degrees clockwise, you have a left-hand axis system, which will give you mirror-image prints.
-
@firex726 said in PanelDue and Motors will not function properly with Duet Wifi:
I think the issue is I have a Left hand system
Yes, exactly.
If you go through that link again you can at least verify that the motors are turning correctly.
The rest comes down to getting the M208 min and max sizes correct, getting the endstop positions reflected accurately in M574, and then having the homing move directions correct in the homing macros.
Using this photo as an exampleM208 X0 Y0 Z0 S1 ; axis minima M208 X300 Y200 Z300 S0 ; axis maxima M574 X1 Y2 Z2 S1 ; x endstop at low end, y at high end, Z at high end. X homing moves are negative, Y homing moves are positive.
Compare your setup to that photo and see what differs.
-
If you go through that link again you can at least verify that the motors are turning correctly.
The rest comes down to getting the M208 min and max sizes correct, getting the endstop positions reflected accurately in M574, and then having the homing move directions correct in the homing macros.
M208 X0 Y0 Z0 S1 ; axis minima M208 X300 Y200 Z300 S0 ; axis maxima M574 X1 Y2 Z2 S1 ; x endstop at low end, y at high end, Z at high end. X homing moves are negative, Y homing moves are positive.
Compare your setup to that photo and see what differs.
OK two parts...
Now I remember, the article listed seems a bit out dated, I keep getting warnings of obsolete commands. As @dc42 noted, the commands I should use are "G1 H2 X20", which based off the article looks like it's working as intended. The carriage moves in a diagonal path towards +X/+Y.
If the head moves diagonally in the +X and +Y directions, all is well.
For your example photo, I redid mine to match, with the endstop in the back, and set X to low and Y to high.
I tried the following config settings all with the same effect; the carriage follows negative homing commands moving it to the right (Beta) and away from the endstop (Alpha).
M208 X0 Y0 Z0 S1 ; axis minima
M208 X280 Y280 Z280 S0 ; axis maxima
M574 X1 S1 P"xstop"
M574 Y2 S1 P"ystop"
M208 X280 Y0 Z0 S1 ; axis minima
M208 X0 Y280 Z280 S0 ; axis maxima
M574 X1 S1 P"xstop"
M574 Y2 S1 P"ystop"
M208 X0 Y0 Z0 S1 ; axis minima
M208 X280 Y280 Z280 S0 ; axis maxima
M574 X2 S1 P"xstop"
M574 Y2 S1 P"ystop" -
@firex726 said in PanelDue and Motors will not function properly with Duet Wifi:
I should use are "G1 H2 X20"
Did you send G91 first?
-
@firex726 said in PanelDue and Motors will not function properly with Duet Wifi:
M208 X0 Y0 Z0 S1 ; axis minima
M208 X280 Y280 Z280 S0 ; axis maxima
M574 X1 S1 P"xstop"
M574 Y2 S1 P"ystop"This one is correct. The others are not.
-
Hello,
Did you send G91 first?
Yes, I followed all the commands on the article as written, save for the movement syntax noted earlier.
This one is correct. The others are not.
Then those are currently loaded.
I got an updated photo.
-
If I reverse the X/Y motor directions, then that fixes X, but transfers the issue to Y.
So it'll HomeAll at the corner of Alpha, but any +Y command will make the carriage try to move more towards the front. So I can neither move it +Y since it'll hit the frame, nor -Y since the firmware wont let it move to less than 0.
And if I then swap the Y limits it appears to have no effect.
; Axis Limits
M208 X0 Y280 Z0 S1 ; set axis minima
M208 X280 Y0 Z280 S0 ; set axis maxima
I can set the Y endstop to the highside but then when I home it'll think it's at 0, 280, 0. Which atleast then will allow further movement, but only in a negative. And then when I try to print something it'll use +Y commands and thus hit the frame.
-
This post is deleted! -
M208 X0 Y0 Z0 S1 ; axis minima
M208 X280 Y280 Z280 S0 ; axis maxima
M574 X1 S1 P"xstop"
M574 Y2 S1 P"ystop"I’m not quite sure, it’s a complicated thread, but if your endstop for Y is at the front of your printer and if you want the X/Y origin to be in the front left corner, I think you must change the last line to
M574 Y1 S1
because - if I’m right - the Y-endstop sits at the low end.
-
@infiniteloop said in PanelDue and Motors will not function properly with Duet Wifi:
M208 X0 Y0 Z0 S1 ; axis minima
M208 X280 Y280 Z280 S0 ; axis maxima
M574 X1 S1 P"xstop"
M574 Y2 S1 P"ystop"I’m not quite sure, it’s a complicated thread, but if your endstop for Y is at the front of your printer and if you want the X/Y origin to be in the front left corner, I think you must change the last line to
M574 Y1 S1
because - if I’m right - the Y-endstop sits at the low end.
Double checked to try that, and it'll set it to 0, 0, 0. But any +Y command will keep it going towards the front of the frame.
I guess I want to mirror the Y while also keeping 0 at the corner, but instead of moving forward for +Y it'll go back.
Make sense? -
@firex726 That makes sense, if you want to have the origin of the X/Y coordinate system to be front/left.
– Just to be clear: at this point in space and time, your end stops and your min./max. settings are perfect. Don’t touch these lines again. –
Now, the question is how to change the direction of a single axis on a coreXY: honestly, I don’t know. With my cartesian, it’s simple, but here, either you know what to do, or one of the coreXY experts has to chime in.
Last, you will likely have to adjust your homeXY moves - possibly to a negative Y value.
-
@infiniteloop said in PanelDue and Motors will not function properly with Duet Wifi:
Last, you will likely have to adjust your homeXY moves - possibly to a negative Y value.
Tried that too... Sadly the issue is just when it's home. If I just move it around manually it'll be OK.
The motors and endstops seem to be OK based off the linked articles; it's just logically it think's it's mirrored once it hits home.
I think it was noted earlier that the firmware is expecting a Right hand build, but I have a Left hand one, so one axis will be flipped.
-
I think it was noted earlier that the firmware is expecting a Right hand build, but I have a Left hand one, so one axis will be flipped.
I noticed that. What I do not understand is this:
logically it think's it's mirrored once it hits home.
You mean that before homing, positive Y values move the head to the back of the printer?