PanelDue and Motors will not function properly with Duet Wifi
-
-
Hi there,
So the belts look to be OK... I'm pretty sure it's the X driver, I must have damaged it in a previous test.
I disconnected the belts and ran the commands as you suggested...
For the X command, the X motor remained still with no holding torque and the Y remain still with holding torque.
For the Y command, the X motor remained still with no holding torque and the Y rotated as expected.
So I simply swapped the motor connections and same behavior but in reverse. I went into the config and reassigned them to E0 (X) and E1 (Y), and now it'll traverse as expected, when homing Y with the carriage remaining still and being drawn forward.
One thing though, how do I get the X homing to move to the left of the machine, right now it's going to the right. I tried setting the config to run the motor backwards and also tried inverting the wiring like with the Z motor, but it still moves to the right.
I assume in the homing file I could just invert the movement of the X movement, but is there a more official way of doing this?And a bit off topic, any suggestions about the heatbed curve? By default it heats too slowly and errors out thinking it's runaway. And when I try to auto-tune it using "M303 H0 S120", it wont save due to the curve. Fans, A/C are off, and I put foam insulation on the bottom side minimize heat loss.
-
@firex726 said in PanelDue and Motors will not function properly with Duet Wifi:
how do I get the X homing to move to the left of the machine
Homing direction is controlled by the homing macros homex homey homez homeall. The direction of the moves will depend on the location of the endstops. If you're using a left hand coordinate system with 0,0 in the front left corner then x- will be to the left, x+ to the right, Y- to the front, Y+ to the back.
The positions of the endstops will need to be defined in your M574 command in config.g as well so that when the endstop is hit the firmware knows to set the position to either the minimum or maximum defined with M208.
-
@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:
how do I get the X homing to move to the left of the machine
Homing direction is controlled by the homing macros homex homey homez homeall. The direction of the moves will depend on the location of the endstops. If you're using a left hand coordinate system with 0,0 in the front left corner then x- will be to the left, x+ to the right, Y- to the front, Y+ to the back.
The positions of the endstops will need to be defined in your M574 command in config.g as well so that when the endstop is hit the firmware knows to set the position to either the minimum or maximum defined with M208.
Sorry I don't quite follow.
I did try editing the homing macros to make the machine move as expected while homing, but, when X is homed it still thinks it's at the far right side, so if I then try and move it with a positive value it'll slam into the side/endstop flag. And it wont let me move it a negative since it's at 0.; Axis Limits
M208 X0 Y0 Z0 S1
M208 X280 Y280 Z280 S0
; Endstops
M574 X1 S1 P"xstop"
M574 Y1 S1 P"ystop"
I also tried inverting the X endstop, that did was make it not move. As well as flipping the min and max but no change of behavior when moving after homing.
; Axis Limits
M208 X280 Y0 Z0 S1
M208 X0 Y280 Z280 S0
And the endstop limit...
M574 X280 S1 P"xstop"
-
@firex726 said in PanelDue and Motors will not function properly with Duet Wifi:
And the endstop limit...
M574 X280 S1 P"xstop"
https://duet3d.dozuki.com/Wiki/Gcode#Section_M574_Set_endstop_configuration
-
Don't mess with motor wiring ot M569 to get the homing direction right. Change only the commands in the homing files.
Please post the contents of your homing files, and confirm the locations of your endstop switches.
-
@dc42 said in PanelDue and Motors will not function properly with Duet Wifi:
Don't mess with motor wiring ot M569 to get the homing direction right. Change only the commands in the homing files.
Please post the contents of your homing files, and confirm the locations of your endstop switches.
Hi there,
Both endstops are triggered near Alpha in the previously posted photo. With the "Front" being the side with the two motors.
I changed X to be at the Highend so now it'll move and trigger with no other meddling, but of course it's now at +280 instead of 0.
config.g
; Endstops
M574 X2 S1 P"xstop"
M574 Y1 S1 P"ystop"
M574 Z1 S1 P"!zstop"
homex.g
G91
G1 H2 Z5 F600
G1 H1 X285 F600
G1 X-5 F600
G1 H1 X285 F180
G1 H2 Z-5 F600
G90
homeall.g
G91
G1 H2 Z5 F600
G1 H1 X285 Y-285 F600
G1 H1 X285
G1 H1 Y-285
G1 X-5 Y5 F600
G1 H1 X285 F180
G1 H1 Y-285
G1 H1 Z-285 F180
G90
G92 Z0
-
@firex726 said in PanelDue and Motors will not function properly with Duet Wifi:
M574 X2 S1 P"xstop"
https://duet3d.dozuki.com/Wiki/Gcode#Section_M574_Set_endstop_configuration
Xnnn Position of X endstop: 0 = none, 1 = low end, 2 = high end.X2 will give you 280. X1 will give you 0.
-
@bearer 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:
M574 X2 S1 P"xstop"
https://duet3d.dozuki.com/Wiki/Gcode#Section_M574_Set_endstop_configuration
Xnnn Position of X endstop: 0 = none, 1 = low end, 2 = high end.X2 will give you 280. X1 will give you 0.
I understand, but if it's X1 I get 0 and then it wont mover left or right, since it wont move into a negative, just like how it wont move beyond 280 since that's what I set the far limit to. And otherwise it'll slam into the endstop flag if I moved it using a positive movement command.
If I set it for X2 then it's at +280 and I can move it using negative movement commands, but I don't think I've seen an option in Cura to invert an axis movement commands. That and it'd all be mirrored based off the way it'd appear in the slicer, wouldn't it?
-
In a cartesian printer i would say your motor turns the wrong direction, but not familiar with corexy. In any case if you want X=0 when homing you need to use X1 as a parameter.
-
@bearer said in PanelDue and Motors will not function properly with Duet Wifi:
In a cartesian printer i would say your motor turns the wrong direction, but not familiar with corexy. In any case if you want X=0 when homing you need to use X1 as a parameter.
Thanks for the suggestion, yea it's my first CoreXY too. I guess the big question is where in the files is it defined that X home is next to Beta motor? I guess worst case I can just dismantle the carriage and flip it so it'll be correct, but I've seen commercial and hobbyist printers with the motors at the front.
Flipping just the one results in the axis being flipped when moving.
-
@firex726 said in PanelDue and Motors will not function properly with Duet Wifi:
I guess the big question is where in the files is it defined that X home is next to Beta motor?
its between M208 that defines the min/max value, and M574 X1/X2 that defines if the home value is at the min or max value.
-
@bearer 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:
I guess the big question is where in the files is it defined that X home is next to Beta motor?
its between M280 that defines the min/max value, and M574 X1/X2 that defines if the home value is at the min or max value.
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.
I wonder, instead of defining it has having X280, Y280, and Z280, could I change it to X-280, Y280, and Z280.
-
@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?