Stepper motors for CoreXY
-
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:
-
Thank you so much. That was very informative and useful. It looks like the 0.9mm nozzle was a complete waste of money - never mind. Although, E3D reckon that big thick layers do seem to adhere to each other very well and result in very strong objects so I might yet find a use for it.
-
Hi deckingman
Its not necessarily a waste of time another use of large nozzles is to print transparent materials which benefit from higher layer heights:
http://taulman3d.com/t-glase-features.htmlfor example
-
Ahh, that's interesting about large nozzles and t-glass. Thanks.
The other thing I kind of wondered about was how the Diamond hot end would compare to an E3D volcano. It is a big old lump of brass. I hear what RCarlyle says about residency time in the hot end but with the Diamond, there are 3 melt zones (one for each filament). It'll be interesting to set the mix ratio to 33% for each filament then see how much can be extruded. Lot's to play with but this is going way off topic so I'll shut up now.
-
A mixing hot end with equal feed rates should let you print dramatically faster. It has been proposed on a few occasions to do this, although I haven't seen any public reports on how well it works in practice. (Stuff like retraction and heat creep jamming tends to be more problematic in mixing hot ends.)
-
A mixing hot end with equal feed rates should let you print dramatically faster. It has been proposed on a few occasions to do this, although I haven't seen any public reports on how well it works in practice. (Stuff like retraction and heat creep jamming tends to be more problematic in mixing hot ends.)
Yes, I've found that heat creep jamming can be a problem but only when I'm using the Diamond as a single filament hot end over a prolonged period of time and the unused inputs get affected. Even then, it only happened when I increased the temperature from 195 to 205 deg C. That's with PLA - I haven't tried any other filaments. You do need a seriously efficient cooling fan to blast air over the heat sinks. I've never had a problem when using it as a mixing hot end.
The trick to retraction is that you have to retract all 3 filaments, even if you have a mix ratio of 1:0:0. If you only retract one filament, it simply tries to draw filament from the other "unused" inputs and basically does nothing. DC42 very kindly incorporated firmware retraction into his firmware. Since I implemented that, it's been fine. I'm using about 5mm on 400mm long Bowden tubes but I've found that it needs to be varied depending on the size of the object being printed (or more specifically, the length of non-print moves). For non-print moves of about 100mm of more, 6mm retraction works better to reduce stringing. For smaller objects, 4mm works better.
-
Good to know on the retraction – I figured there would be "crosstalk" issues during retraction but didn't know how specifically to manage it.
-
I was a bit concerned initially that retracting and un-retracting all the filaments especially the "unused" ones would just grind away at the filament and cause problems when it came time to actually move the filament forward and extrude some. In practice, this hasn't been found to be an issue at all.
-
Thank you for the spreadsheet!!! the instructions are so clear, great job!
I played with it tonight and simulated this guy:
Nema 23 CNC Stepper Motor 2.8A 1.26Nm(178.5oz.in) 23HS22-2804S and with my 16 teeth pulleys went up to 260mm/s with 77% of the low speed torque still available.. So shall be plenty even for my preconstrained rails and and too heavy carriages.
Then I considered the distortion too large and stopped there, this seems pretty fair to me so thank you so much for the nice tool.I guess the next step is to validate those predictions through practice. Just waiting for some piece of electronics… to arrive in about 6 weeks...;)
-
Hi,
I read the above calculations with a lot of interest and have a question. I am busy building a large scale (wel, 325x325 buildplate is not considered large by a lot of people, but I am happy with it) coreXY printer.
For the X/Y I am considering 2 possible motors which are quite different from eachother
Model A is the very popular and widely used Kysan 1124090 Nema 17 1,8° stepper with 5,5Kg,cm holding torque
Model B is the Lin Engineering 5704M-03 Nema 23 0.45° stepper with 10,1Kg.cm holding torque
I did some calculations based on each motor using GT2 20tooth pulleys
Model A:
U = 24V
R = 2.8Ohm per phase
I = 1.5 Amps
Inductance = 4.8mH/PhaseTime to fully energize coil = 1.5 x 4.8 / (24 - 0.5 x 1.5 x 2.8) = 0.329ms
Max speed (5steps per mm) -> 1000 / (5 x 0.329) = 607 mm/sModel B :
U = 24V
R = 1.2Ohm per phase
I = 3 Amps
Inductance = 1.2mH/PhaseTime to fully energize coil = 3 x 1.2 / (24 - 0.5 x 3 x 1.2) = 0.162ms
Max speed (20steps per mm) -> 1000 / (20 x 0.162) = 308 mm/sModel B @ 36vDC:
U = 36V
R = 1.2Ohm per phase
I = 3 Amps
Inductance = 1.2mH/PhaseTime to fully energize coil = 3 x 1.2 / (36 - 0.5 x 3 x 1.2) = 0.105ms
Max speed (20steps per mm) -> 1000 / (20 x 0.105) = 476 mm/sI do know that duet board doesn't do more than 2 Amps, but I intend to somehow drive the motors using external drivers. I currently have these nema23 motors (yes, you read well, 800 steps per rotation, I also didn't know they existed before) hooked up to 35vDC on my self built lasercutter.
Now my question.
I read above that motors with more steps per rotation would not do a lot of difference in quality, but thats so hard for me to understand. A normal 200 steps motor normally can achieve its accuracy in positioning with an acceptable rate of 5% of the size of 1 step. So if 1 step is 1.8 degrees, 5% of it is 0,09° accuracy, which on a 20 teeth pulley results in 40 / (360 / 0,09) accuracy of 0.01mm . The nema 23 motor I would like to use is accurate up to 0.017° , which on a 20teeth pulley results in accuracy of 40 / (360 / 0,017) = 0,00188mm
So…. isn't in my case then the nema23 a better choice? It has plenty of power, can go 476mm/s with fully energized coils and accuracy of 0,00188mm
Also. it goes 476mm/s with fully energized coils, but I guess it can go faster than that with less energized coils ? With that amount of torque coils don't have to be fully energized to pull the load guess.
The nema17 motor only has 5,5Kg.cm torque and the nema23 has 10,1 , so I could theoretically run the nema23 at aproximately 5.5/10.1 x 3 = 1,63 Amps and get the same torque, but a lot more accuracy ? -
My twopence worth. Regarding accuracy, we are squirting hot filament out of a small nozzle whilst moving that nozzle too and fro (and around curves which aren't true curves but small segmented moves). There are just so many variable in that process that you are most unlikely to be able to produce an object that is dimensionally accurate to anything like 0.1mm in every axis. So 0.01mm is plenty good enough and anything else is overkill although you could use 0.9 degree steppers or 1:2 gearing to double it.
For info, my Y axis (which includes the X axis rails and a bulky Diamond hot end) weighs is in at around 1,900 gms driven by Nema 17s (2amp driven at 1800mA) with 0,59Nm torque (around 6kg.cm) and I regularly print at 90mm/sec with non-print moves off 320mm/sec on a 400 x 400 bed.
Personally, I'd stick with the Nema 17s driven by the excellent onboard stepper drivers using the default 16X microstepping with interpolation).
-
It's not a good idea to plan to use high-torque motors and then run them at only a fraction of their rated current. High torque motors also have high rotor inertia, so if you run them at low current then you are restricted to low acceleration. Also the detent torque becomes more significant in relation to the holding torque, so microstepping is less accurate.
When calculating resolution, bear in mind that stepper motors only produce their maximum torque when the rotor position is nearly 1 full step behind the commanded position. So if your design demands a significant proportion of the motor holding torque, you won't get close to single microstep accuracy.
In delta printers, using 0.9deg motors does improve print quality noticeably.
If you decide to choose Nema 23 motors, then I suggest a current rating of about 2.8A to match the drivers in the Duet WiFi and Duet Ethernet. I have recently bought these motors for testing the Duet WiFi at high currents: http://uk.stepperonline.com/3pcs-of-nema-23-cnc-stepper-motor-28a-126nm1785ozin-23hs222804s-p-395.html. But for a CoreXY printer with a bed 325mm square, I think Nema 17 motors will be more than adequate, probably quieter, and perhaps more accurate.
-
Ok thank you for fast answers. I guess it would be better then for me to go nema17 0.9°
Regarding duet wifi. I see the standard board has 5 stepper drivers.
I will need 2 drivers for the xy part, then 2 steppers for the 2 titan aero extruders and then I need my Z
I am planning to let the printbed go up/down on 3 1204 ballscrews. But I planned to let them be moved by 1 stepper for each ballscrew. For that I would need to be able to drive 3 Z steppers. Or would this also work with 1 nema 17 motor with for example a 20t pulley and then a continuous gt2 belt driving the 3 ballscrews which have a 40 or 60tooth gt2 pulley on them?
-
For those of you looking for 0.9 degree NEMA 17 stepper motors, I've had my eye on the MS17HA series from Moons Industries.
In particular the 2A / 75 oz-in MS17HA6P4200 looks really appealing. The only downside is that the best pricing I have found for them is around $60 each not including shipping.
-
…...................I am planning to let the printbed go up/down on 3 1204 ballscrews. But I planned to let them be moved by 1 stepper for each ballscrew. For that I would need to be able to drive 3 Z steppers. Or would this also work with 1 nema 17 motor with for example a 20t pulley and then a continuous gt2 belt driving the 3 ballscrews which have a 40 or 60tooth gt2 pulley on them?
The choice is yours but for info, my bed is 400mm x 400mm x 10mm thick aluminium tooling plate with 12mm insulation under and 6mm glass on top, all fixed to a 2020 aluminium extrusion frame. It weighs in at around 7kg and I drive it with a single Nema 17 and continuous belt. The motor is rated at 2Amp so I normally run it at 1800 mA but I reduce it to 1200 mA for homing and it still works fine. However, I use 1mm pitch single start screws so the lead is 1mm. As you are electing to use course, 4mm "lead" screws, you'll need more torque and/or gearing. I'd have thought 1:2 gearing would be adequate so 20 tooth on the motor and 40 tooth on the shaft (but it depends on the weight of your bed).
If you go for 3 motors, then you have to consider that they might get out of sync every time you cycle the power but David (DC42) has it in mind to fix this in firmware (if he hasn't already done so). You could also take advantage of the automatic bed levelling feature that is soon to be introduced in firmware. Whether you need it depends on how well you construct the printer. If you think that you might have to frequently adjust the levelling of the bed, then I'd say go for the 3 motor option but if you build the printer so that the bed stays level and doesn't need frequent adjustment, then the single motor option will be cheaper, because you won't need to buy a Duex 2 or 5 expansion board as well as the extra motors.
HTH
-
Well, its not really leadscrews but ballscrews and 4 mm is the lowest I could find at affordable pricing. On the other hand it does indeed sound a very good idea to sync them all on 1 motor with continuous belt. I could als use 20tooth pulley on motor and 60 on the ballscrews. My z table is a lot lighter than yours since I only have 325x325x8 mm PEI coated aluplate supported on 2020 extrusions. I don't think total weight would go over 3.5 to 4 kg + with the 3:1 reduction of the pulleys it might not be a big problem. Even if it would be a problem, I could still use a planetary geared motor if power would not be sufficent, that way I get 5.18 : 1 reduction of the planetary gearbox and 1:3 of the pulley setup. One of these combinations should be powerfull enough then.
How do you let your 7kg z bed go up and down? Do you have images of your setup?
-
Any particular reason why you want to use ball screws? The main advantage of ball screws over "conventional" trapezoidal lead screws is lower friction but this is hardly an issue with our slow and limited moving Z axes.
Anyway, with your bed I'd say a single motor and 1:2 gearing would be fine.
My 3 screws are 8mm diameter but they only provide lift so they are more than adequate. I use linear guides to prevent any rotation of the bed so the screws sit on thrust bearings to take the downward force and are constrained with roller bearings at the bottom. The tops are fully floating because the screws are only being used to lift the bed. Any tendency to wobble or rotate is taken care of by the linear guides. There are a few pictures on my blog https://somei3deas.wordpress.com/my-corexy-printer-build/ and some videos of it in action on my YouTube channel - e.g. this one which is a 300mm tall (1,000 layer) object https://www.youtube.com/watch?v=vG1WqijJ634. I can supply more pics if you are interested.
-
Ian, it will not be ballscrews anymore. I will indeed also use the T8 screws with a 2mm pitch, 2mm lead and anti backlash nuts + linear guides to protect against bed movement (rotation/wobble,…)
I wanted to use ballscrews, but they were "chinese" quality and didn't get past quality checking (hey, what would you do if you discovered that 1 1204 ballscrew wasn't even 12mm, but 11,6mm wide. I would call it rubish)
I throwed the 3 ballscrews in the trash