Max speed with core xy?
-
There are two limits:
1. Step pulse rate limit. 54000mm/min is 900mm/sec which at 400 steps/mm is 360000 steps/sec, at the limit of wat the Duet can manage. So you need to reduce microstepping to get higher speed.
2. Motor drive voltage limit. See https://duet3d.com/wiki/Choosing_stepper_motors#How_to_work_out_the_power_supply_voltage_you_need (there is a link to a spreadsheet at the end).
-
Thanks after reducing to 32x I was able to hit 1000mm/s. Someone suggested using the 16x with interpolation. With this setting I have reached the maximum speeds for the travel and accelerations 2800mm/s for X and 2700mm/s for Y.
If I'm understanding it correctly when set to 16x it will use 256 and scale back as needed to keep step time above a certain value?
-
Now see how fast you go with 2 axes at the same time (XY); then 3 axes (XYZ) simultaneously. THAT is your max speed in the real world. If you rely on single axis speed and do a 2 axis move, it will choke. All controllers will do this if they reach their limit.
-
Thanks after reducing to 32x I was able to hit 1000mm/s. Someone suggested using the 16x with interpolation. With this setting I have reached the maximum speeds for the travel and accelerations 2800mm/s for X and 2700mm/s for Y.
If I'm understanding it correctly when set to 16x it will use 256 and scale back as needed to keep step time above a certain value?
I could be wrong but my understanding is that the interpolation is done by the driver chip, so takes the load off the processor. So the duet sends 16x micro stepping but then the driver chip further divides these micro steps into smaller steps. David will do doubt correct me if this is wrong.
-
Now see how fast you go with 2 axes at the same time (XY); then 3 axes (XYZ) simultaneously. THAT is your max speed in the real world. If you rely on single axis speed and do a 2 axis move, it will choke. All controllers will do this if they reach their limit.
On a CoreXY both motors contribute to movement for X and Y moves, except those that are at 45 degrees in which case one motor would be at a standstill. So pure X or pure Y on a CoreXY are the worst case. Z will never move as fast as X and Y so an XYZ move will always be limited by the Z speed (but it would only last as long as a layer change distance).
-
Quick update.
It seems that diagonal moves will be the most limited as they only use one motor. This is probably a torque limited speed rather than a processor speed limit.
After much testing and dropping my stepper currents to the rated 1500mA, I have reached a 1300mm/s max speed for diagonal moves. Interestingly enough it doesnt seem to care how high I set the acceleration. I've tested pure x moves, pure y moves and both diagonals at 1300mm/s with accelerations set up to 72000mm/s^2. I imagine compliance in the belts help out with this a bit.
This has been an interesting experiment!
-
What happens with an immediate move in the reverse direction? At 1000mm/s my printer would do a single move perfect. Back to back moves would cause it to skip steps.
-
What happens with an immediate move in the reverse direction? At 1000mm/s my printer would do a single move perfect. Back to back moves would cause it to skip steps.
That may mean that your XY jerk settings are too high.
-
Thanks David! I’ll try that when I get everything together.
-
What happens with an immediate move in the reverse direction? At 1000mm/s my printer would do a single move perfect. Back to back moves would cause it to skip steps.
hmm I will have to check. Here's a video I made 100 mm/s to 1000 mm/s. Each time around it increases speed 100 mm/s.
-
Reducing the microstep increases the accuracy.
1/8 - exactly
1/16 - more accurate
1/32 - super accurately
etc
Increase the accuracy if you turn on the microstep interpolation (I1)?