CoreXY setup problems with movement
-
Both motors contribute to movement on a CoreXY. For pure X moves, both motors rotate in the same direction. For pure Y moves, the motors rotate in opposite directions. To get movement at 45 degrees, one motor will be stationary. Any other angle will require one motor to run at a different speed to another.
So it follows that, providing both motors have the same step angle (which they should) and both pulleys are the same size (which they should be) then the steps per mm must be set the same. If this results in some degree of angular movement, then one pulley must be rotating at a different speed to the other. So as well as the settings that David suggested you check, I'd also suggest you check that all the grub screws are tight, in case one or other pulley is slipping.
Edit. A 20 tooth pulley needs 80 steps per mm at 16x micro stepping so at 64 times micro stepping 320 steps per mm is correct.
2nd Edit. Or it could be that the belts aren't parallel to the axes but they would need to be a long way out and it would be a fundamental design\build fault that needs rectifying.
3rd Edit. The speed, acceleration, instantaneous speed change (jerk) and motor currents in the above config.g are all less than than my setting for my printer, so unless your moving mass is greater than my 2kg per gantry, then they should be fine.
-
I’ll see if I can clarify anything.
Before changing to the Duet board, I was using a ramps 1.4, an Arduino mega 2560 clone alone with A4988 drivers. The printer was able to print at 100mm/s accurately to within 0.02mm.
The only thing I changed was going to a Duet Wifi board. I ran the configurator and uploaded the files to the board through the web interface. I first started with default speeds and acceleration but I was having problems, so I changed to settings similar to my ramps setup, but it hasn’t helped.
At first I was getting almost 45 degree movements and as I changed microsteps and current, it got better and worse and better again.
For troubleshooting, I tried to loosen and tighten the belts, kept upping the current but stopped at 1600ma since these motors are rated at 1.68 amps. I also changed both X and Y motors, went through the microsteps and current changes and still no difference.Right now I have it at the closest it’s been. For 200mm of X movement, 10mm of Y movement happens also. Same if I move 200mm Y, I get 10mm X.
I’m leaning towards the board and might pull the board and put the ramps back in tonight to see what happens.
-
I really don't understand why you would ever need to reduce the steps/mm (from 320 to 298). A belt might move less than it is supposed to, if the pulley is loose or the motor loses steps. But if you reduced the steps/mm, that suggests the belt was moving more than it should have done, which isn't possible unless something else is pulling it as well as the motor.
-
I just reinstalled the ramps setup and confirmed that X and Y have the same steps in Marlin ( same firmware when it was installed before switching tnthecDuet board), they are each set at 80 steps/mm since it’s 16 microsteps. Just about to print a test cube, but all movements are the way they are supposed to. I command 200mm Y and I get 200mm Y with no X movement. Command 200mm X and I get 200mm X with no Y movement.
So that tells me there is something wrong with the DUET board. For some reason it's not driving the motors the way it's supposed to.
So a 50$ ramps 1.4/arduino mega 2560/A4988 clone setup performs great so far, not like the nearly 300$ CAD duet board.
Is this possibly a programming issue, even though it all appears correct, or is it possibly a defective board?
-
20mm test cube complete with the Ramps setup.
Printed at 100mm/s and all axis are within 0.03mm or less. I would say the printer is good mechanically.
Should i be contacting the dealer that sold me the board and return it?
-
you said that with the Ramps both X and Y steps are at 80 steps/mm at 16 micro steps so they are the same Yes or No
-
20mm test cube complete with the Ramps setup.
Printed at 100mm/s and all axis are within 0.03mm or less. I would say the printer is good mechanically.
Should i be contacting the dealer that sold me the board and return it?
It is possible that you have a defective stepper driver but I suggest you run the checks of motor movement that I linked to in my first post above, just to make sure that it isn't a configuration issue.
-
you said that with the Ramps both X and Y steps are at 80 steps/mm at 16 micro steps so they are the same Yes or No
With the Ramps setup, yes they are the same and everything works like it is supposed to. With the Duet board, NO, it wasn’t working with the steps the same.
-
It is possible that you have a defective stepper driver but I suggest you run the checks of motor movement that I linked to in my first post above, just to make sure that it isn't a configuration issue.
I went through that before joining the forum as part of the troubleshooting.
The one thing I didn’t do was to measure to see if it was actually diagonal by measuring. I was looking for general direction movement. Also when commanding just one axis to move, as in X +10, the X and Y both had movement.
-
It is possible that you have a defective stepper driver but I suggest you run the checks of motor movement that I linked to in my first post above, just to make sure that it isn't a configuration issue.
I went through that before joining the forum as part of the troubleshooting.
The one thing I didn’t do was to measure to see if it was actually diagonal by measuring. I was looking for general direction movement. Also when commanding just one axis to move, as in X +10, the X and Y both had movement.
I'm just a tad confused by that. When you run the G1 S2 commands that I linked to, they test each individual motor so movement should be at 45 degrees. You shouldn't need to measure anything to see if it's diagonal as it ought to be obvious. So when you run G91 then G1 S2 X10 F3000 what do you get in terms of X and Y movement (direction that is, not distance)? Also, what X and Y movement do you get when you run G91 followed by G1 S2 Y10 F3000?
-
It is possible that you have a defective stepper driver but I suggest you run the checks of motor movement that I linked to in my first post above, just to make sure that it isn't a configuration issue.
I went through that before joining the forum as part of the troubleshooting.
The one thing I didn’t do was to measure to see if it was actually diagonal by measuring. I was looking for general direction movement. Also when commanding just one axis to move, as in X +10, the X and Y both had movement.
I'm just a tad confused by that. When you run the G1 S2 commands that I linked to, they test each individual motor so movement should be at 45 degrees. You shouldn't need to measure anything to see if it's diagonal as it ought to be obvious. So when you run G91 then G1 S2 X10 F3000 what do you get in terms of X and Y movement (direction that is, not distance)? Also, what X and Y movement do you get when you run G91 followed by G1 S2 Y10 F3000?
I will have to reinstall the Duet Board to do it again.
I might not have time this evening to uninstall the ramps setup and install the Duet board and test. I will try though and report back here.
At least I was able to use my printer last night with the ramps setup, and see that mechanically, it is functioning properly.
I really hope it’s something simple in the programming and not a board issue. The web interface is nice and the motors are quieter.
Even the first board I used on this printer, a cheap Anet V1 board, worked great. It’s the parts printer I used for some parts.
-
…...................
I really hope it’s something simple in the programming and not a board issue. The web interface is nice and the motors are quieter.Yes it's a great board - both hardware and firmware. It's very unusual but not impossible that you may have a faulty stepper driver. In which case, you'll find that getting it replaced under warranty is no problem. The individual motor tests should help to prove if it's a driver. Might just be worth checking the wiring too. I understand that the printer works fine with your other board but it's not impossible that there might be a bad crimp in a connector that works in one position but not in another. Unlikely I know, but not impossible.
-
…...................
I really hope it’s something simple in the programming and not a board issue. The web interface is nice and the motors are quieter.Yes it's a great board - both hardware and firmware. It's very unusual but not impossible that you may have a faulty stepper driver. In which case, you'll find that getting it replaced under warranty is no problem. The individual motor tests should help to prove if it's a driver. Might just be worth checking the wiring too. I understand that the printer works fine with your other board but it's not impossible that there might be a bad crimp in a connector that works in one position but not in another. Unlikely I know, but not impossible.
I’m still using factory crimps on the cables I have. They have DuPont connectors on them for now and once I knew everything was working properly I was going to install the molex connectors.
One thing I forgot to mention, I did actually try other cables, since I have spares and was a quick test. So I doubt that 2-3 cables would have the same issue.One other thing. Is there a way I can wipe the configuration in there and reinstall it? Possible problem with the configuration file maybe? I guess. Could install a Cartesian setup and make a couple small moves then install a fresh configuration for CorrXY.
-
I’m still using factory crimps on the cables I have. They have DuPont connectors on them for now and once I knew everything was working properly I was going to install the molex connectors.
One thing I forgot to mention, I did actually try other cables, since I have spares and was a quick test. So I doubt that 2-3 cables would have the same issue.One other thing. Is there a way I can wipe the configuration in there and reinstall it? Possible problem with the configuration file maybe? I guess. Could install a Cartesian setup and make a couple small moves then install a fresh configuration for CorrXY.
Fair enough - as you say, it's unlikely to be a cabling issue. Nothing jumped out at me from your config.g but that's not to say I haven't missed anything. AFAIK, uploading a new config.g will overwrite anything that's there.
-
I would also point out that you should also delete your Config-overide file and maybe comment out the M501 at the end of your Config.g until you have this sorted?
Doug
-
I would also point out that you should also delete your Config-overide file and maybe comment out the M501 at the end of your Config.g until you have this sorted?
Doug
Very good point! In fact better still - don't use config-override at all IMO. Having said all that, it shouldn't have anything in it that will affect the basic XY movement but still, good practice to delete it until basic set up is done.
-
I’m a licensed industrial electrician, that’s why I swapped the cables also, just forgot to mention it previously. I’ve seen some pretty dumb reasons for something not working and always try simple things first when troubleshooting.
As for the config-override file, I will delete it once I reinstall the board. I will also comment out M501 at the end for now.
Hardest part is uninstalling the Ramps setup and reinstalling the Duet board, ( which is pretty easy). Otherwise, I like these tests to see if we can find the solution.
-
I guess it's not impossible that the Y driver has a fault that causes it to step too much. If so, that would be the first time I have heard of that fault happening. The way to test it would be to connect the Y motor to the E1 motor output, and put this command in config.g:
M584 X0 Y4 Z2 E3
The M584 command must come before any M906 and M350 commands.
-
I guess it's not impossible that the Y driver has a fault that causes it to step too much. If so, that would be the first time I have heard of that fault happening. The way to test it would be to connect the Y motor to the E1 motor output, and put this command in config.g:
M584 X0 Y4 Z2 E3
The M584 command must come before any M906 and M350 commands.
I will hopefully get a chance to try this also tonight. I will post the results as well as the other suggestions.
Looks like I’ll be busy testing if I can get some time to get to it.I appreciate all the suggestions and help from everyone with my problem. It’s not the way I wanted this to go with the new board, but having the support sure does help.
-
It is possible that you have a defective stepper driver but I suggest you run the checks of motor movement that I linked to in my first post above, just to make sure that it isn't a configuration issue.
I went through that before joining the forum as part of the troubleshooting.
The one thing I didn’t do was to measure to see if it was actually diagonal by measuring. I was looking for general direction movement. Also when commanding just one axis to move, as in X +10, the X and Y both had movement.
I'm just a tad confused by that. When you run the G1 S2 commands that I linked to, they test each individual motor so movement should be at 45 degrees. You shouldn't need to measure anything to see if it's diagonal as it ought to be obvious. So when you run G91 then G1 S2 X10 F3000 what do you get in terms of X and Y movement (direction that is, not distance)? Also, what X and Y movement do you get when you run G91 followed by G1 S2 Y10 F3000?
I will have to reinstall the Duet Board to do it again.
I might not have time this evening to uninstall the ramps setup and install the Duet board and test. I will try though and report back here.
At least I was able to use my printer last night with the ramps setup, and see that mechanically, it is functioning properly.
I really hope it’s something simple in the programming and not a board issue. The web interface is nice and the motors are quieter.
Even the first board I used on this printer, a cheap Anet V1 board, worked great. It’s the parts printer I used for some parts.
Redid the testing on from the link.
I do get each motor turning like it is supposed to. I can clearly see only one motor turning and it goes diagonal.When I run G1 S2 Y10 F3000, I get +X -Y movement.