Stepper motors for CoreXY

I'd like some advice on the best stepper motors to use for the XY axes of a coreXY that I'm planning which will be using Duet Wifi. Voltage will be 24v DC. The motors will be static so there are no weight considerations. They will also be mounted on the top of the frame so there are no size constraints. They could be Nema17s or 23s or even 34s and I'll make mounts to suit. The weight of the complete X carriage is 570gms. The combined weight of the X carriage, X rails and Y carriages is 1,350 gms so that's the mass that I'll need to move. I'd like the motors to be capable of the fastest possible printer speed. Thanks in advance.

That's a heavy machine! I'm not an expert on CoreXY design so I suggest you look for advice elsewhere. However, we can do some sums to see what sort of acceleration may be possible with various motors.
Let's start with a powerful Nema 17 such as this one http://www.omcstepperonline.com/nema17bipolarsteppermotor65ncm92ozin21a17hs242104sp21.html. At 2.1A rated current, it should be a good match for the Duet WiFi. It has 65Ncm holding torque, but you will probably run the motor at no more than 85% of rated current to avoid overheating it (and the present Duet WiFi firmware limits the motor current to 2A anyway). Also, the torque drops to 71% whenever you use microstepping. If you want the motion lag to be no more than one 1/16 microstep during acceleration, then you need to multiply by 9.8%. So the available torque is 65 * 0,85 * 0.71 * 0.098 = 3.8Ncm.
I'll assume you are using GT2 belts with 16 tooth pulleys. So the effective pulley radius is 16 * 2/(2 * pi) = 5.1mm = 0.51cm. Divide this into the torque and you have 3.8/0.51 = 7.45N of force pulling the belt.
AFAIR, when moving a single axis, both belts of a CoreXY contribute equally to the motion. So you have 14.9N of force in total. Applying F=ma to the 1.35kg gantry, we get an acceleration of 7.45/1.35 = 5.5 m/s^2 or 5500 mm/s^2. This is slower than some printers, but not too bad (I have my delta set to 3000mm/sec^2).
Please check my maths very carefully before you assume that these motors will be sufficient. A diagonal move will be worse, because one motor is moving both the gantry and the X carriage. OTOH you may decide that you can tolerate more than one 1/16 microstep (= 0.01mm) movement lag when accelerating.
If you choose Nema 23 motors, select one with a current rating of around 1.8 to 2.2A again to be a good match to the TMC2660 drivers.
EDIT  (1) in the above I doubled the 7.45N to 14.9 and then forgot I had done that, so the acceleration should have been 11000mm/s^2 which is very respectable;
(2) I ignored the rotor inertia in the above calcs. The rotor inertia for that Nema 17 is 82gcm^2. My mechanics is a bit rusty, by I think we can divide that by the square of the pulley radius to get the equivalent additional carriage mass. So 82g/(0.51)^2 = 315g equivalent extra carriage mass. Double that (2 motors moving) and add that to your 1.35kg gantry mass and we get 1.98kg. So the acceleration comes down to about 7500mm/s^2.

Hi David,
Hoped it would be you that answered. We actually had a similar conversation about accelerations and speeds over on the RepRap forums (I'm the same "deckingman"). I didn't want to pose this question over there because I specifically wanted to find a stepper that would be best suited to the new Duet Wifi. As you have had input into the design, and written the firmware I can't think of anyone who would be in a better position to offer advice.
Am I safe to assume that I should choose steppers with the highest rated torque with a current rating of 1.8 to 2.2A? Also, as rotor inertia is a factor, then is it safe to assume that a Nema 23 being larger, would have a larger rotor so larger inertia? And if so, then a physically smaller Nema 17 with the same torque would in fact be better than a larger Nema 23? It seems logical to me but have I missed something?

Hey Ian,
I'll chime in with what i'm running on the HexDelta.
http://www.omcstepperonline.com/9degnema23stepperbipolar28a126nm1785ozin23hm222804sp292.htmlCurrently using the Duet 0.8.5 board
Current set at 1.7A
Acceleration set at 5600mm/s^2The steppers run cool and seem to be doing the job just fine.
The Duet however does need a good dose of forced air cooling
I'd personally recommend the Nema 23's as your not worried about the weight…. they do come only as a 1/4 shaft and i never found 16 tooth pulleys so run 20 tooth but feel the slight increase in diameter helps the belts anyway.

Currently we're limiting the Duet WiFi to 2A, although we hope to increase that when I've made some firmware changes to help keep the drivers cool. So at present, motors rated at 2A are about optimum.
I would expect Nema 23 motors to have more inertia, however they also have more torque. A good place to look is stepperonline.com because they have a wide range of motors and they provide links to the data sheets.
I have heard that Nema 23 motors produce much more vibration than Nema 17, but I have no experience of them. RepRap forum user digital_dentist may be able to tell you.

Hi Phil,
Excuse my ignorance (I'm an old guy working as a designer and builder of decks these days) but what does the 0.9 degree step angle give you? I'm assuming smoother and therefore quieter than 1.8 degrees? Anything else? I notice the current draw of those steppers you linked to is 2.8A and dc42 has said that, at the moment they are only rating the drivers at 2.0A. Isn't that a problem?
I was looking at these bad guys http://uk.stepperonline.com/nema23cncsteppermotor24nm340ozin18a23hs411804sp126.html. They seem to be about the highest torque within the 2.0A current limit that I can find. At 2.4Nm I'd better build in some fail safes in case an end stop switch doesn't work, or I'll have a mess of bent aluminium extrusion to deal with! The shaft diameter is 8mm and I have designed the printer to use 20 tooth pulleys and I also have some 8mmID 20 tooth pulleys in front of me so that'll work.
dc42 (and phill) On the subject of vibration, I have a cunning plan. Being a bit of a HiFi freak, I have in the past used Sorbothane pads under speakers with great success. It's quite remarkable stuff. My ageing, creaking Mendel sits on a wooden desk top which used to "hum" quite loudly. I put some Sorbothane pads under the feet and the difference in noise level is remarkable. I've bought some thin Sorbothane sheet and plan to cut gaskets out of it to fit between the steppers and their mounts.

0.9deg motors give you almost double the incremental torque per unit angular error compared to 1.8deg motors, so more precise positioning. They also give you higher resolution, but that is only really useful on a delta printer, because on a delta the Z axis resolution is low compared to Cartesian and CoreXY printers. However, even on a delta printer, it's hard to see the difference between 0.9deg and 1.8deg.
It's quite common to run stepper motors at only about half their rated current (and torque) in 3D printers.

Hi Ian, DC42.
I think your "bad guys" are just overkill and actually have a couple of negatives compared to the ones i linked that I see based on a lot of the threads I have read by people with far more knowledge than me.
1. Phase resistance is 3 time higher 2.75Ohm v 0.9Ohm
2. Inductance 17mH v 4.5mH is nearly 4x higher.17mH, 2.75 = electrical time constant of 6.18mS
4.5mH. 0.9 = electrical time constant of 4.05mS
From  http://www.nmbtc.com/stepmotors/engineering/torqueandspeedrelationship/
The “electrical time constant” is the amount of time it takes a motor coil to charge up to 63% of its rated value. If a stepper motor is rated at 1 amp, after one time constant, the coil will be at 0.63 amps, giving the motor about 63% of rated torque. After two time constants, the current will increase to 0.86 amps, giving the motor about 86% of rated torque.
–
Real world, both steppers running at say 1.8A, the 2.8A will perform better and have a higher speed potential and as DC42 pointed out you get double the incremental torque per unit angular error on top.@both.
Pardon me for being a new face in an established community, but one thing after reading thousands (well maybe hundreds) of threads researching things; the reprep community seems locked in and wedded to 1.8 Nema17's and quite honestly for very good reasons with 8 bit electronics and smaller machines however it hardly seems we need to stay there with 32 bit electronics that can easily generate the pulses to drive 0.9 steppers.I recognise that 0.9 may bring little to no observable change to the print itself but why not use the more precisely controllable steppers when cost really is not much different in each size point bringing with it the potential for greater accuracy.
Surely the real ratings to look at is the Inductance/Resistance followed by Current and I find it strange that the recommendations keep it simple by saying don't pick a stepper rated more than the driver leading to many threads on forums with people picking a 1A to 2A unit for a 12V setup that is completely useless due to high resistance and inductance.
I will add that if you do pick a low resistance stepper it becomes critical that your steeper power wiring is sized so as to remove as much wire series resistance as possible... the thin wiring often supplied is crap for runs longer than a foot, adding 0.1Ohm series wiring to a 0.9Ohm stepper may not change much but have 0.4Ohm and you will change things.
I'm happy as always to be proved wrong but a big believer in not just doing it the same old way because that's how we have always done it.
Ian, on the subject of Audio, another reason to drop in for a visit... I do all my own speaker cabinet designs and builds and the 1800mm high Tapped Horn subwoofer may be of interest, running a 15" tuned for 20Hz. Some of the most effortless bass i've experienced.
Oh on the smoother/quieter... whilst my flashforge runs Nema17's I have no direct way of saying smoother or quieter, the loudest most vibrating thing on the Delta is however the remote Blower fan for the hotend cooling, really need a better air feed solution.

Hi Aussiephil,
The electrical time constant is highly relevant when using constant voltage drive. These days we always use constant current drive, so it's not directly relevant. However, the inductance is still very relevant, and the 17mH of the Nema 32 motors that deckingman is looking at is indeed rather high.
When using constant current drive, what matters is the time taken to go from zero to full current, which is approximately IL/(V  0.5IR) if V >> IR. Let's assume we want to drive the motors at 2A peak using a 24V supply. For the long 3mH Nema 17 motor I suggested, it's 2 * 3m/(24  1.6) = 0.27ms. For the 17mH Nema 23 motors, it's 2 * 17/(24  2.75) = 1.6ms.
To maintain torque, this figure should be no larger than the interval between full steps at maximum speed. Using 20 tooth pulleys we have 5 full steps/mm. So the Nema 17 motor I suggested should be good up to 1000/(5 * 0.27) = 740mm/sec. The Nema 32 motor would be good up to only 1000/(5 * 1.6) = 125mm/sec. For 16 tooth pulleys as I originally suggested (to allow the torque to be a little lower), multiply these mm/sec by 16/20.
So I agree with you, Nema 17 motors make more sense in this application. The 17mH Nema 23 motor would need a higher voltage supply to maintain torque at high travel speed. The Duet WiFi is limited to 25V recommended Vin because the motor drivers are rated at 30V when the motors are powered.
I do think it makes sense to pick motors that the driver can drive at up to 80% or so of rated current. Otherwise, you lose potential torque but gain unwanted rotor inertia. This doesn't matter for small 3D printers, but does for a heavy printer like this one where high torque is needed to achieve the desired acceleration.
As for 0.9 vs 1.8 degree, the extra resolution is irrelevant for a Cartesian or CoreXY printer. However, I started my calculations by assuming (rather arbitrarily) that deckingman wanted motion lag or no more than a single 1/16 microstep during acceleration. With 0.9deg motors, the equivalent amount of lag would be two 1/16 microsteps, so the factor of 9.8% in the calculation changes to 19.5% and the torque requirement is almost halved. [EDIT: but the full steps/mm are doubled, which halves the speed at which torque drops off, other things being equal.]

Thanks David,
I stand corrected on the CC drive calculations, appreciate it honestly, learning is good.
So punching the numbers in for my Nema23's at 4.5mH  0.9 Ohm  0.9 degree I end up at 250mm/s still at max torque before torque starts to fall using 20 tooth pulleys.
Now take the 1.8 degree version of that Nema23 http://www.omcstepperonline.com/nema23cncsteppermotor28a126nm1785ozin23hs222804sp108.html
0.9Ohm  2.5Mh  1.8 degree we end up at 0.19ms and good up to 1050mm/sSeems like the key criteria are
Inductance
Resistance
Voltage
Step angle
with the lower the Inductance and Resistance the higher the max speed at max torque.Nema23's then with a higher starting torque value should reach ultimately higher speeds before running out of torque when all other specifications are the same.
This all gives me a great insight into calculating my max travel speeds for my Delta and I hope it hasn't confused Ian even more and has actually made my mind up on the steppers I am going to use for the MPCNC i'm going to build.
Cheers

….....................and I hope it hasn't confused Ian even more .......................
Guys, you lost me way back. I think you are both saying that those big Nema 23s are not the best, and for this application the Nema 17s that DC linked to originally would be better. Also that 0.9 degree vs 1.8 degree would have no real benefit for this Cartesian type printer.

0.9 deg X and Y motors would give you less motion lag than 1.8deg motors for the same torque, but only if the inductance is low enough so that the torque doesn't drop off before the highest speed you want to use. So pick that speed in mm/sec and multiply by the number of full steps per mm, which for GT2 belts is 100 divided by the number.of pulley teeth for 1.8 deg motors, and 200 divided by the number of teeth for 0.9 deg motors. Now divide that into 1000 to get the maximum value of L * I / (V  0.5 * R * I) that you can tolerate.
However, the highest torque 0.9 deg Nema 17 motors I found on stepperonline were 46Ncm compared to 65Ncm for 1.8 deg motors.

CoreXY could well benefit from a mixed installation as it is my understanding that screw based systems (Z for you) ultimate need a much higher stepper rotational value.
I wonder if the correct answer is 1.8deg Nema17 (low Inductance and Resistance) for Extruders and Z with the Nema23's for your XY considering the "mass" you have quoted to move around.
I know you were looking for part numbers and i'd personally just use the Nema23's for XYZ with the only coin toss being 1.8 or 0.9 for xy but i've already proved myself a little unconventional
The thing DC42 and I absolutely agree on is that Steppers should be sized appropriately and that your initial choice is not appropriate and we may have finally bashed out some criteria around speed torque calcs to make it easier.
Choose Max speed and work backwards seems to be a good way, This is particularly important for belt driven lead screws  a factor we had not figured in to the discussion. 
Ok so I got interested in this thread and wanted to calculate it for my delta. So reading all this, I made a spreadsheet for it here:
Thank you so much for all your inputs btw.
https://docs.google.com/spreadsheets/d/1w60BUzpiZ6Gjqt8P8pSoqq4r4j0qxhxQVSbI5c0SoWw/edit?usp=sharingwell I was contemplating a NEMA 23 with 0.9° steps, the oriental motor PKP264MD28 NEMA 23 0.9° seems to reach 300 mm/s with a descent acceleration.
What's your opinion?Also I was trying to evalute the friction on my quite sturdy Hiwin rail and when I try to move at constant slow speed the carriage weighs 750g ouch…. so it's about 450 g of friction....

CoreXY could well benefit from a mixed installation as it is my understanding that screw based systems (Z for you) ultimate need a much higher stepper rotational value.
I wonder if the correct answer is 1.8deg Nema17 (low Inductance and Resistance) for Extruders and Z with the Nema23's for your XY considering the "mass" you have quoted to move around.
I know you were looking for part numbers and i'd personally just use the Nema23's for XYZ with the only coin toss being 1.8 or 0.9 for xy but i've already proved myself a little unconventional
The thing DC42 and I absolutely agree on is that Steppers should be sized appropriately and that your initial choice is not appropriate and we may have finally bashed out some criteria around speed torque calcs to make it easier.
Choose Max speed and work backwards seems to be a good way, This is particularly important for belt driven lead screws  a factor we had not figured in to the discussion.Yes, for now I'm just thinking about XY steppers only. My first stab was based purely on the assumption that more torque = greater speed. I now know that that is not necessarily the case (although the technical reasons mostly go over my head).
The Z axis and extruders will almost certainly be different steppers because they have different criteria to meet. I think David suggested something like 20Nm for the extruders so that they can be set up such that they won't chew the filament to pieces in case of a blockage. I haven't yet made a final decision about extruders but they are likely to 1:3 geared and probably E3D titan because I like the fully guided filament path and other design aspects. We'll come back to extruder steppers later.
My Z also is a bit unconventional in that I'll be using 8mm diameter single start 1mm pitch lead screws instead of the more common 4 start 2 mm (effectively 8mm pitch) lead screws. IMO, these are OK for speed in linear actuators but I don't need speed on the Z. It's only going to move a fraction of a mm on layer change and then sit there until the next layer change. O course, with 1mm pitch instead of the more usual 8mm, I've already reduced the torque requirement very significantly. Longer term, I'll likely end up with 3 steppers for Z (one per screw) if and when David gets chance to do the auto bed levelling firmware thing. My 10mm thick aluminium bed plate is on order, as is the silicone heater. I though I'd wait until I've built the bed, then weigh it, then I'll have an idea of what mass I need to shift. I'm also thinking about interchangeable Diamond Hot ends with different nozzle diameters and I'm in discussion with RepRap.Me about a 0.9mm diameter nozzle instead of the default 0.4mm. So, potentially my layer height could 0.6m rather than 0,3mm in which case, Z speed might become more significant. I could also play around with pulley sizes to get different gearing so again, it's different criteria to XY so will probably end up with different stepper(s).
Maybe I didn't express myself well in my OP but basically I was trying to get a handle on what motors would give me the fastest speed for XY, so saying choose a maximum speed and work backwards kind of turns my original question back on itself. Please don't take that the wrong way. I really do appreciate your help and advice and I understand that it must be difficult and frustrating to try and explain some of these technical things in terms that a 63 year old carpenter can understand.

Maybe I didn't express myself well in my OP but basically I was trying to get a handle on what motors would give me the fastest speed for XY, so saying choose a maximum speed and work backwards kind of turns my original question back on itself. Please don't take that the wrong way. I really do appreciate your help and advice and I understand that it must be difficult and frustrating to try and explain some of these technical things in terms that a 63 year old carpenter can understand.
Hey no dramas, nothing taken the wrong way, working my way through all the text and numbers here's the current speed winner at 1050mm/s
The 1.8 degree version of that Nema23 http://www.omcstepperonline.com/nema2 … p108.html
0.9Ohm  2.5Mh  1.8 degree we end up at 0.19ms and good up to 1050mm/s33% faster than the Nema17 with double the holding torque.
This has actually been a good learning experience

Maybe I didn't express myself well in my OP but basically I was trying to get a handle on what motors would give me the fastest speed for XY, so saying choose a maximum speed and work backwards kind of turns my original question back on itself. Please don't take that the wrong way. I really do appreciate your help and advice and I understand that it must be difficult and frustrating to try and explain some of these technical things in terms that a 63 year old carpenter can understand.
Hey no dramas, nothing taken the wrong way, working my way through all the text and numbers here's the current speed winner at 1050mm/s
The 1.8 degree version of that Nema23 http://www.omcstepperonline.com/nema2 … p108.html
0.9Ohm  2.5Mh  1.8 degree we end up at 0.19ms and good up to 1050mm/s33% faster than the Nema17 with double the holding torque.
This has actually been a good learning experience
Hello
and sorry to add to this but seems the link is broken … anyway I think I got the right one here:
http://www.omcstepperonline.com/nema23cncsteppermotor28a126nm1785ozin23hs222804sp108.htmlThing is that, I got to different values too if you check the 3rd line of the table below, it's almost exactly double time and half the speed.
https://docs.google.com/spreadsheets/d/1w60BUzpiZ6Gjqt8P8pSoqq4r4j0qxhxQVSbI5c0SoWw/edit?usp=sharingIs it because of the CoreXY geometry to which I am not very familliar… still shouldn't affect the minimum step time....

The 2.5mH Nema 23 stepper motor you linked to has a rated current of 2.8A. Have you allowed for the fact that you will have to run it at 2A maximum, unless/until we increase the current limit in the firmware at some stage?

I am convinced you/ the community will find a way to get there ;).
In the meanwhile is there a firmware parameter to cap the current? 
The current cap of 2A is hard coded into the firmware source code. IMO it's unsafe to increase it until we have implemented some additional firmware features to control the driver temperatures.

Perfect it's then safe until further notice.
That said, I tried to put 2.0 Amps as the max current in the equations. The result is that the step time is actually shortened. And the rotation speed is increased… Obviously because the current in the coil with same inductance is reached quicker.Intuitively, running a 2.8A engine with a 2.0A cap, I do expect a loss in torque but would the loss in max speed be proportional contrary to what the equations predict?

Stepper motor torque is pretty much proportional to current. As you say, at low current the max speed before torque drops off will increase  but this is because the torque is lower to start with.

Your spreadsheet has at least one error and all comparisons need to be the same current and voltage otherwise they become invalid.
Error; time Calc: =F5E52/$C$2 …. the top side should not have the additional *2
I did find an error in my own calculations for the 1.8 nema23, max speed at 2A comes out at 924mm/s in the spreadsheet i did up with the Nema17 calcs from dc42 as the control numbers.
What was interesting was how much the max speed numbers changed (went up) as current supplied went down and from there it was simple to take the torque is proportional to current DC42 said and calculate available holding torque (if thats valid) for any current hence speed.
Now to understand how to calculate acceleration

Thanks for noting that… you pointed out a dilemma I had. I didn't use this value in the rest of the table actually.
I actually noticed the difference between equation in column I
taken from here:
http://www.daycounter.com/Calculators/StepperMotorCalculator.phtml
and column J which is from DC42 in this thread.the calculator states:
For one step the current must go from 0 to Imax and back to 0, or alternatively from Imax to +Imax.
but to the level of what I understand from "Full step" operation, 1 transition on 1 coil = 1 step. So I used DC42 for all my calculations.
microstepping being the same with more levels in 1 transitions.I do get the same 924mm/s at 2 amps too so we agree on that
I modified the spreadsheet so that the actual torque is not based on the rated current from the datasheet but the actual current so 2A for the duet.
Based on that it reduces the acceleration. It will be interested to confirm these numbers are not too wrong based on some measurements too.
From what I tried yesterday it's quite audible when you start missing steps so I could try to validate this with the small motors I currently have installed (robotdigg nema17 44Ncm) with 12V and 1 Amp on a Ramps… 
@sga:
@Aussiephil,
the calculator states:
For one step the current must go from 0 to Imax and back to 0, or alternatively from Imax to +Imax.I believe the second one of those is correct for one of the two phases when using full stepping, in which both phases are always fully energised. But when using microstepping, for one full step the current in both coils changes between zero and the peak current.