Nema 23 Questions
-
@sigxcpu
Thanks for your input. The mechanics are the same as the X axis so I copied the values from there and adjusted for the .9 degree motor. The X is at 400 steps /mm to line up the 20mm configuration cube.However, in looking at the RepRap Firmware configuration, it notes the standard stepper at 200 steps / revolution. Therefore, my X is double what it should be and now my Y is double that again.
I will straighten those out.
I would love to know all of the mechanical details of all of the pieces that I have used, but unfortunately some of my parts are from OEM equipment that does not provide that information and some suppliers don't provide the details.
Rather than stating what I should know, I would benefit from someone in a position to explain how to calculate some of it.
Thanks,
Tim -
@dc42
Thankyou. I couldn't find the model number on the motor. It's on the sides of the Nema17, so that's where I looked. I found it on the back of one of my other ones. This motor for the Y was up against a wall an pretty tough to get at.
Thanks,
Tim -
@wcj97
Hi wc97. I believe yours is indeed the post I was reading.My Y Axis is completely non standard. it is a 20x60 V-Slot. On the wide side which is horizontal, there are two slide rails.
Each of those slide rails is mounted in the outer two tracks of the three that are there. There is a OpenBuilds plate 80 x 150 mounted to the two sliding bearings lengthwise along the Y Axis.
In the center of the plate is a lead screw block. It's not the right thread for the lead screw, so the block was drilled out. At the end of the plate is a bronze lead screw holder from an old Z axis gantry that is the correct thread.
So, the lead screw rotates in the bronze adapter which is attached to the build plate which moves the build plate. It is actually very stable and precise. The block is really there just to support the lead screw.
With the two slide rails, there is almost no friction on the axis. There are some other open build blocks that are mounted to the plate and extend out from the plate in a Y configuration that lines up with the two back corners of the heat bed and the front center so that I have a three point level system.
I ran this for more than a year when this printer was originally a Tevo Tarantula and the motors where all Nema17 motors on 12 volts.
The configuration is now a 500mm x 500mm x 500mm cube. Centered on the outside of each side are 500mm openbuilds motion systems driven by Nema23 motors. Connecting these two drive systems is a square gantry that goes through the inside of the cube. This is the Z axis.
The Y Axis is mounted on the top of this square gantry.
The X axis is mounted across the top of the cube and handles the hot end.
The Neam23 on the Y Axis is a .9 degree motor and the overall plan was to get another one to replace the 1.8 Nema 23 that drives X currently.
The system is powered by 24 Volts. I may replace the hot bed with a larger one as the plan for this printer was for large objects.
Any other questions, please let me know. This printer has been a tank for me and I really only got into trouble when I upgraded the motor. I'm sure it will get sorted out and I will get the correct settings into it.
Tim -
@timvukman OK, after you mentioned that your motor is a 0.9° stepper, the correct specs can be found here.
To just post it here for easier overview:
57HM56-2804A- Current: 2.8A
- Inductance: 2.5mH
- Resistance: 0.9Ω
- Holding torque: 111Ncm
You also posted the following current settings in your first post
M906 X950 Y855 Z855 E855 I30 ; Set motor currents (mA) and motor idle factor in per cent
This means you try to run your 2.8A motor at 0.855A i.e. at 30% of their rated current. This will probably be too low. Try to increase this value at least to
Y1400
i.e. 50% and work your way up until it moves smoothly.Just as a side note: RRF will round down to full 0.1A steps so no use in putting anything in that has no two zeros at the end.
Also in your screenshot of the EMF calculator you selected a Microstepping factor of x1 but in your config you set x16. If I enter the values that I think should resemble your setup I get the following
As you can see I had to reduce the requested max speed to 109mm/s to keep the EMF due to rotation (first line in results) <= 24V but also already at 48mm/s the Duet would no longer be able to reliably detect skipped steps (second to last line in result).
EDIT: Note that the red warning around the Rated Current field is due to the fact that the Duet currently limits the maximum motor current to 2.4A and this should only warn you that you won't be able to ever run your motor at its full rated current.
-
@wilriker said in Nema 23 Questions:
Hi wilriker. Thank you for posting a detailed response. That is very helpful to me.
This means you try to run your 2.8A motor at 0.855A i.e. at 30% of their rated current. This will probably be too low. Try to increase this value at least to Y1400 i.e. 50% and work your way up until it moves smoothly.
I will change this to Y1400. Since my original post I had moved it up to 900.
Just as a side note: RRF will round down to full 0.1A steps so no use in putting anything in that has no two zeros at the end.
Ok. Noted!
Also in your screenshot of the EMF calculator you selected a Microstepping factor of x1 but in your config you set x16. If I enter the values that I think should resemble your setup I get the following
I am really fuzzy on the concept of microstepping. I seem to have had some serious issues with trying to set steps / mm whenever I have made changes.
My statement from config.g
M350 X16 Y16 Z16 E16 I0 ; Configure microstepping without interpolation
I spent some serious time in the GCode document wherein I went by this information.Inn Enable (nn=1) or disable (nn=0) microstep interpolation mode for the specified drivers, if they support it. The Duet 2 WiFi/Ethernet support interpolation (to x256 microstepping) only when configured for x16 microstepping. The Duet 2 Maestro supports interpolation at all microstep settings.
My read of this is that in the M350, the I0 at the end is intended to disable microstepping. When disabled, the default value is 1.
I don't know how that relates to the value of 16 that each axis has listed, but I did read that 16 was the value that should be used for the DuetWifi.As you can see I had to reduce the requested max speed to 109mm/s to keep the EMF due to rotation (first line in results) <= 24V but also already at 48mm/s the Duet would no longer be able to reliably detect skipped steps (second to last line in result).
Since the M203 that has the settings indicates mm/min, would I replace the Y60000 with Y6540? (mm/sec)
It would seem to me that I should be checking this value for X and Z?
My X and 2 Z motors are OPENBuilds MT2303HS280AW-08. I can get the stats for those.EDIT: Note that the red warning around the Rated Current field is due to the fact that the Duet currently limits the maximum motor current to 2.4A and this should only warn you that you won't be able to ever run your motor at its full rated current.
I don't ever expect to need to go to full power,
Thanks very much for the help.
Tim -
@timvukman said in Nema 23 Questions:
I am really fuzzy on the concept of microstepping. I seem to have had some serious issues with trying to set steps / mm whenever I have made changes.
My statement from config.g
M350 X16 Y16 Z16 E16 I0 ; Configure microstepping without interpolation
I spent some serious time in the GCode document wherein I went by this information.Inn Enable (nn=1) or disable (nn=0) microstep interpolation mode for the specified drivers, if they support it. The Duet 2 WiFi/Ethernet support interpolation (to x256 microstepping) only when configured for x16 microstepping. The Duet 2 Maestro supports interpolation at all microstep settings.
My read of this is that in the M350, the I0 at the end is intended to disable microstepping. When disabled, the default value is 1.
I don't know how that relates to the value of 16 that each axis has listed, but I did read that 16 was the value that should be used for the DuetWifi.OK, so I try to clarify this. The term "interpolation" is an additional feature (more on that below) that on Duet2 can only be applied if microstepping is x16. Available native (i.e. CPU controlled) microstepping factors are x1, x2, x4, x8, x16, x32, x64, x128 and x256. These will all subdivide a step of your motor in microsteps of the given factor, i.e. at x16 one full step of your motor will be divided into 16 microsteps.
Usually you can say the higher the microstepping factor the quieter and smoother runs your motor. But on the other hand at high speeds having a high microstepping factor will put a considerable heavy load on the CPU to create all these steps.
That's where interpolation comes into play. It is a feature of the stepper driver that - in case of Duet2's TMC2660 - will further interpolate every microstep in another 16 microsteps but will perform them all at once. So the Duet commands a microstep with factor x16 and the TMC2660 will subdivide this into 16 micro-microsteps so to speak.
This way you will get the benefits of smooth running x256 microstepping at only the CPU load of x16 microstepping. There are of course other advantages/disadvantages to both variants but that will go too far right now.
Since the M203 that has the settings indicates mm/min, would I replace the Y60000 with Y6540? (mm/sec)
Basically that's what you should do. I personally would round it down to 6500 but that's just my OCD.EDIT: I re-read what I wrote before. 109mm/s (=6540mm/min) is the absolute maximum that your setup is able to provide. For anything faster your input voltage is just "too low".
I also said that anything above 48mm/s (=2880mm/min) the Duet will no longer be able to reliably detect skipped steps. In other words: if your Y axis moves faster than this everything might be working as intended but if something goes wrong Duet won't notice.EDIT2: Do you really need the enormous torque that a NEMA23 provides? I ask because a NEMA17 is sufficient most of the times and can work with much higher speeds at 24V.
It would seem to me that I should be checking this value for X and Z?
My X and 2 Z motors are OPENBuilds MT2303HS280AW-08. I can get the stats for those.Yes, it definitely makes sense to calculate these values for every stepper and put them into your
config.g
accordingly. -
@wilriker said in Nema 23 Questions:
That's where interpolation comes into play. It is a feature of the stepper driver that - in case of Duet2's TMC2660 - will further interpolate every microstep in another 16 microsteps but will perform them all at once. So the Duet commands a microstep with factor x16 and the TMC2660 will subdivide this into 16 micro-microsteps so to speak.
Thanks. Your explanation above stands as the description that has been the clearest to me. I feel the fuzziness fading.
EDIT: I re-read what I wrote before. 109mm/s (=6540mm/min) is the absolute maximum that your setup is able to provide. For anything faster your input voltage is just "too low".
I also said that anything above 48mm/s (=2880mm/min) the Duet will no longer be able to reliably detect skipped steps. In other words: if your Y axis moves faster than this everything might be working as intended but if something goes wrong Duet won't notice.
Not detecting skipped steps sounds like something that I should avoid.
EDIT2: Do you really need the enormous torque that a NEMA23 provides? I ask because a NEMA17 is sufficient most of the times and can work with much higher speeds at 24V.
This is a very interesting question to me. I did a lot of reading and research before throwing more money at my printer. Everything that I read talked about the motor noise being lowered and the value of the torque in various situations which may not actually exist in my printer.
My X axis is under 300mm and does nothing but move my hot end back and forth, It is a light E3D V6 that feeds the filament through a bowden extruder.
The movement physically is quite smooth and really doesn't take much effort to move manually. If it would be more efficient to run a Nema17 and easier to set up, there is no reason why it would not suffice. That swap would be easy and I have lots of motors.
My Y Axis carries a 300 x 300 hot bed which is pretty heavy. It sits on two linear slide bearings and moves quite easily. The Nema23 decision was made because of the weight on the carriage. Not sure that a Nema17 wouldn't be enough. Open for discussion and recommendation.
My Z axis is a square gantry that carries the Y axis. I do not have a speed requirement for Z, but felt that the torque was more important. There is a Z motor at each end of the gantry.
I will swap out the X motor, and wait for input on whether or not I should do the same for the Y motor. I would like to be able to print as quickly as I can lay down filament - just to reduce the printing time.
Thanks for the assistance!
Tim -
@timvukman From an electrical/electronics point of view, stepper motors aren't in my field of expertise but from a mechanical point of view, I can make some observations which might help.
Firstly Nema 23 and Nema 17 refer to the physical dimensions of the stepper motor and do not necessarily mean that torque will be higher. As a general rule, a larger motor will produce more torque but one can have high torque Nema17s and low torque Nema 23s. Generally longer motors have more torque than shorter ones, so a long Nema 17 might have more torque than a short Nema 23.
What you really need to do is calculate the torque requirement to produce the force required to accelerate the mass at the desired speed. Or conversely, if you know the torque of the chosen motor, calculate the maximum acceleration that would be obtainable. (It takes very little force to maintain a mass at a constant speed, but a hell of a lot of force to accelerate up to that speed).
It's been a long time since I last did the calcs for my printer but this'll give you some idea of the process. I used a few fudge factors and I think there are probably better calculators out there.
Holding torque=59N.cm at rated current. Take 85% for running at 85% current = 50.15N.cm Take 71% to allow loss due to micro-stepping = 35.61N.cm. Reduce by 59% for torque loss due to speed = 17.8N.cm. Divide by pulley diameter in cm to get force in Newtons so 17.8/0.6 = 29.7 Newtons.
Now take carriage mass. In my case it's really heavy - much heavier than your X, possibly heavier than your Y but substitute your own mass. In my case it was 1.67Kgs. Force = Mass*Acceleration so Acceleration is Force/Mass so 29.7/1.67 = 17.77 m/sec^2 or in 3D printer terms 17,667.71 mm/sec^2. But take 10% of that to allow for drop in torque due to micro-stepping so say 1,776.77 mm/sec^2.
There are a lot of fudge factors in the above but you get the idea. So in simple terms, a single Nema 17 with rated holding torque of 59N/cm could accelerate a mass of 1.67Kgs at 1,776 mm/sec^2. In practical terms I can say that yes, this is possible as I've tested it.
How does this translate to speed? Speed is sqrt(2accelerationaxis length/2). Assuming you have a modest axis length of 200mm, then if we plug the above numbers into that formula we get 596mm/sec maximum attainable speed.
In reality, print speed is governed by how fast you can melt filament and you are unlikely to be able to lay down filaments at much over 100mm/sec unless you use very small nozzle diameter and or/ small layer heights and/or (as I do) multiple melt chambers. So that example of a single Nema 17 driving a mass of 1.7kgs would potentially allow you to attain speeds 6 times higher that you could reasonable print at. Although a high non-print speed is desirable. But also, you need to have a very rigid frame to be able to use high accelerations, especially if the mass is high too.
Sorry for all the maths and a long rambling post but without knowing the masses involved, the desired acceleration, and the available torque, there is no way to say whether a particular motor would do the job (but at a guess, I'd say you would be fine).
-
@deckingman Ian, if I only would have known you a year ago. I was looking for a calculation similar to yours and for the life of me was not able to find it. It was for a totally different purpose (a motorized barn-door tracking mount for astrophotography) but having known what you described would have saved me from buying a totally overpowered stepper.
Mind, if I turn this into an online calculator?
-
@wilriker said in Nema 23 Questions:
@deckingman Ian, if I only would have known you a year ago. I was looking for a calculation similar to yours and for the life of me was not able to find it. It was for a totally different purpose (a motorized barn-door tracking mount for astrophotography) but having known what you described would have saved me from buying a totally overpowered stepper.
Mind, if I turn this into an online calculator?
I think it's been done. At least I'm sure that someone did a better calculator taking other things into account. I'll email you the spread sheet that I have though.
Bear in mind that I'm just an old guy who cuts and screws bits of wood
-
@deckingman said in Nema 23 Questions:
I think it's been done. At least I'm sure that someone did a better calculator taking other things into account.
Probably, but till this date I was not able to find something that is not either too simple or totally over-complicated with friction coefficients etc.
I'll email you the spread sheet that I have though.
Thanks, looking forward to it.
Bear in mind that I'm just an old guy who cuts and screws bits of wood
You always make yourself smaller than you are.
-
@wilriker said in Nema 23 Questions:
You always make yourself smaller than you are.
No seriously, I am old and I do cut and screw bits of wood together (admittedly this is career number 9 or something)
Anyway, spread sent via email.
-
@deckingman said in Nema 23 Questions:
No seriously, I am old and I do cut and screw bits of wood together (admittedly this is career number 9 or something)
I know. But now I have to start nitpicking because originally you said you are just an old guy who... And yet your are one of the most helpful members of this community (at least to me) and I already learned quite some interesting and important stuff from you.
Now enough of the flattering. And thread hijacking - we should not let this become a habit.
-
@deckingman
Thank you for laying out the calculations. That is very helpful information. I will keep it on a piece of paper near my printer since I seem to always be changing / trying something different.Really appreciated!!
Tim -
@wilriker
I don't consider this thread hijacking. I found it entertaining. May be I could get a copy of that spreadsheet? I shall even ask nicely.May I please have a copy of that wonderful spreadsheet?
Thanks.
Tim -
@timvukman I am currently reading the rather old thread the spreadsheet is based upon. Ian told me that there are some more refinements to find.
Once I gather all the information I will create a small online calculator from it. This will maybe be end of this week but rather likely start of next week. If you cannot wait that long (I could totally understand ) I will ask (hereby) @deckingman for permission to upload it as a Google Spreadsheet in the mean time.
-
I got to thinking after that discussion that the mechanical composition of the axis must have a great deal to do with the final results.
My X axis came from China. It's a complete system which has a nema 17 coupled to a lead screw. The lead screw goes through a brass threaded bearing that one would normally find on a Z axis gantry. There is nothing for anti-backlash and it chatters like crazy while printing. The play is noticable in the final printed object.
My Y has two parallel linear bearing rails, but very small linear bearings. A plate mounts to those, but only in opposite corners. I have a brass threaded bearing that the threaded rod goes through and that rod is coupled to a Nema 23. The brass bearing is held to the edge of the plate with multiple windings of wire which is quite secure but not very impressive to look at.
I really want a system that is smooth and precise. I am constantly looking at various linear motion systems, but they are expensive and I want to be sure it's the final answer before I fork out the cash.
Obviously, from the discussions in this thread there are important considerations / calculations that should be done before anything gets ordered.
I've spent quite a bit on various systems, but I could have saved quite a bit if I knew enough to buy the ideal solution up front.
Maybe I should have made a new thread for this, but I would appreciate input.
I'm also looking at CNC hardware which seems to use larger rod sizes and I don't know if that would make any difference.
Thanks
Tim -
@wilriker
As you will see by my latest addition to this discussion, I am not in a hurry. I've hit the point where I want to stop trying to hack something together and would prefer to do it properly.
Thanks
Tim -
@timvukman said in Nema 23 Questions:
I've hit the point where I want to stop trying to hack something together and would prefer to do it properly.
I have yet to hit that point.
Anyway, I'll be posting the link to the calculator here once it is finished.
Re: your printer mechanics: I have not yet seen or heard of a (Cartesian) printer that drives anything but the Z axis with leadscrews. I have no experience on doing so but I have a feeling that this adds tons of inertia and backlash. The latter could be counteracted with anti-backlash nuts but that will add friction which again slows everything down.
My printer runs on smooth rods with Igus bearings and GT2 belts for X and Y and I am totally happy with that and backlash can easily controlled but adjusting belt tension without slowing down anything considerably.
-
Yes, I am familiar with the belt setup. My printer started as a Tevo Tarantula which was belt driven. I think I am still using two pieces of the original frame for my spool holder. Everything else has been replaced.
I did quite a bit of research before adopting the threaded rods. Everything I read about belt driven systems seemed to emphasize things like stretched belts and skipping teeth under load. I suspect now, that what I read was produced by the threaded rod companies.
I have been thinking about returning to belts. It seems like a good exercise in simplicity. Your comments on inertia and backlash are supported by experience.
Take a look at these. I find them hard to resist :). Anything used in medical ought to be smooth and accurate, I would think.