Stepper motors for CoreXY
-
….....................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.omc-stepperonline.com/nema-2 … p-108.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.omc-stepperonline.com/nema-2 … p-108.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.omc-stepperonline.com/nema-23-cnc-stepper-motor-28a-126nm1785ozin-23hs222804s-p-108.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/Stepper-Motor-Calculator.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.
-
@Aussiephil.
yes I just checked it too.. in full step and in micro stepping 1 coil going from 0 to 1 or from 1 to 0 = 1 step. so the factor 2 has to go… -
Looking at this another way, it seems that the big constraint on print speed is how fast we can melt filament. Taking the best thing I can find which is the E3D volcano, and from stuff I've read on the interweb, it seems that it might be capable of melting 40 mm^3/sec but this is highly contentious. However, if we is assume it to be correct, and taking something like a 0.4mm diameter nozzle then the nozzle area would be 0.16mm^2 so the maximum speed we could extrude at would be 40/0.16 = 250mm/sec. I'm not sure how layer height comes into this but maybe we can assume that it's say 60% of nozzle diameter so we could push the maximum print speed up by 250/0.6 = 416mm/sec?? Of course, non print moves could be faster. There are an awful lot of assumptions in this but I'm wondering just how much of the potential speed we could actually use in real world printing situations unless we have really small layer heights and/or nozzle diameters and in this case, we would be printing something that is highly detailed so would probably want to set a slower speed in any case.
I'm also wondering if a larger nozzle would actually make for a lower print time. If we assume that we manage to hit the limit of how quickly filament can be extruded with a say 0.5mm nozzle, then if we switch to a larger nozzle, we would have to reduce the print speed accordingly. Doing the same maths as above, the area of a 0.9mm nozzle is 0.81 mm^2 and at 40mm^3/sec flow rate, we end up with a speed of 49mm/sec. Unless of course we then have a massive big heater and somehow manage to control it.
What have I missed?
-
Let's look at that another way. With a 0.9mm nozzle you will probably use an extrusion width of about 1.1mm and a layer height of 0.5 or 0.6mm. That's 2 to 3 times the layer height you would use with a 0.4mm nozzle. So printing perimeters will be 2 to 3 times faster. Additionally, using the same percentage infill, there will be a greater spacing between infill strokes because of their greater width and therefore few of them. So infill will be 4 to 6 times faster. This assumes the same printing speed, which depends partly on the achievable extrusion rate. If we assume your figure of 40mm^3 per second, then 0.6mm layer height and 1.1mm extrusion width allows a printing speed of 60mm/sec which isn't too bad.
-
Let's look at that another way. With a 0.9mm nozzle you will probably use an extrusion width of about 1.1mm and a layer height of 0.5 or 0.6mm. That's 2 to 3 times the layer height you would use with a 0.4mm nozzle. So printing perimeters will be 2 to 3 times faster. Additionally, using the same percentage infill, there will be a greater spacing between infill strokes because of their greater width and therefore few of them. So infill will be 4 to 6 times faster. This assumes the same printing speed, which depends partly on the achievable extrusion rate. If we assume your figure of 40mm^3 per second, then 0.6mm layer height and 1.1mm extrusion width allows a printing speed of 60mm/sec which isn't too bad.
All true but 60mm/sec is only a quarter to a sixth of the "theoretical" speed I could get with a 0.5mm nozzle. So say on average perimeters and infill will be 4 times faster due to the larger layer height and extrusion width, but the print speed is a quarter of that which is possible with a smaller nozzle, then the total time to print an object would be roughly the same because the limiting factor in both cases is the "melt rate" for the filament.
Anyway, I have a 0.5mm diamond assembled and ready to fit. I also have a 0.9mm version on order complete with all heat sinks etc so I can build another complete assembly. Then it'll be reasonably easy to switch between them and do some real life testing and evaluation.
As for stepper motors (which is how this thread started), I'll think I'll go with the smaller Nema 17s similar to, if not identical to, those you originally suggested. On balance, I don't think it worth the hassle of changing my design to suit the larger Nema 23s and it's looking like I would not be able to take advantage of their potential in this application. Another factor in my decision is that I'm not 100% convinced that CoreXY is the way to go - 90% but not 100%. The printer is all being built from Open Build V slot extrusion and accessories so it wouldn't be a major problem to convert it to a more simple Cartesian design if the CoreXY doesn't work out. In which case, at least one of the axis motors would need to be "mobile" rather than static so then weight and size would become a factor.
Thanks everyone for your help, patience and input. It's been a pleasure to have an adult, sensible discussion rather than some of the threads I have been reading on that other forum.
-
Sorry for not jumping in on this thread sooner, I can save you guys a crapload of effort and guesswork here. I have a very, very detailed motor/driver behavior simulator spreadsheet that you can use to find the top practical speed for your drivetrain, along with very roughly how much torque you'll lose at higher speeds. There are instructions and everything.
- Go here:
https://github.com/rcarlyle/StepperSim/tree/master/Sim%20sheets - Download the THB6128 stepper driver sheet. This is not the driver on the Duet Wifi, but the THB6128 has near-perfect current control, and the TMC2660 should also have near-perfect current control (to be confirmed!) so we can ignore the specific driver behavior here and use the 6128 sheet as a very accurate stand-in for the 2660.
- Follow the instructions in the sheet. You're going to need to plug in the motor specs, your PSU, and your basic drivetrain info.
3a) When the driver can no longer hit peak current, you're at the end of the "constant current" drive range. This is the conservative max speed for the printer: you always get full torque, full precision, and no risk of mid-band resonance. But it will happily run much faster than this.
3b) When the waveform looks like crap and/or the simulator can no longer converge, that's really about as fast as you should optimistically take the motor.
Note that CoreXY requires the motor/belt to move between 1 and sqrt(2) times faster than the nozzle, and deltas require the motor/belt to move between ~0 and 3 times faster than the nozzle. To be thorough, you should factor these into the speed ranges you check. The spreadsheet will not do that for you.
As far as the extruder limiting max motion speed, YES, that is almost always the case. Different extruder systems can push different volume flow rates of filament. This is primarily limited by how fast the hot end can melt the filament. (Extruder drive behavior is usually a secondary effect but can be the limit for very high gear ratios or weak motors.)
For PLA or PETG, a normal PTFE-lined hot end maxes out around 4-5 mm^3/sec, a normal all-metal hot end maxes out around 8-10 mm^3/sec, and a Volcano maxes out around 25-30 mm^3/sec. (Add ~50% to these for ABS.) Very small or very large hot ends will have different limits. The main determining factor for similar hardware (ie all-metal vs all-metal) is the residence time of the filament in the hot end, which in turn is proportional to the HEIGHT of the hot block.
In order to estimate your printer's flow rate to a very good approximation, simply multiply LayerHeight * ExtrusionWidth * Feedrate (all in mm and mm/s). This isn't perfectly exact because of extrusion volume calibration and different slicer behavior, but it's very much close enough for our purposes here.
If you want to "print fast" – meaning finish prints quicker -- you should set up your printer to print near the flow rate limits of your hot end. You can print big, fat strands at low feedrates, or thin strands at high feedrates.
Any loser with a RAMPS i3 can finish prints quickly if he uses a Volcano and big, coarse extrusion strands at low speed. Where "fast" printer hardware benefits you -- meaning rigid construction and high speed motors -- is in your ability to maintain high flow rates with low layer heights. You get speed AND resolution that way. The guy with the i3 can only get speed OR resolution.
- Go here: