1.8 or 0.9 degree stepper?

Have questions about the equipment used for macro- or micro- photography? Post those questions in this forum.

Moderators: Pau, rjlittlefield, ChrisR, Chris S.

Adalbert
Posts: 1162
Joined: Mon Nov 30, 2015 1:09 pm

1.8 or 0.9 degree stepper?

Post by Adalbert »

Hello everybody,
Does it make any sense to use the 0.9 degree stepper?
I have just learnt, that the 0.9 degree stepper works well till 1/8 micro-steps and the 1.8 degree can easily up to 1/16.
https://reprage.com/post/30613309986/ne ... -9-and-1-8
BR, ADi

mawyatt
Posts: 2479
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater

Post by mawyatt »

The 400 step motors have the "extra" steps encoded into the rotor/stator cogs, so are mechanically able to position to 0.9 degrees. I've always felt that a mechanical step will generally be better than an electrically (electro-magnetically) induced step created with a micro-step since the rotor is "held" electro-magnetically (current induced) between cogs alignments with micro-steps. Have no "proof" and have done no scientific experiments other than 400 step motors "seem" a better way IMO.

I have and use both 200 & 400 step motors, generally like to use the 400 step motors on the focus rail camera/lens axis. For example I'm using the 400 step NEMA 17 with a THK KR-20 or KR-26 eqv on the Z axis and a pair of 200 step NEMA 11 with THK KR-15 on the X and Y axis.

The 400 steps motors don't cost much more than the 200 step motors either.

Best,
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

ray_parkhurst
Posts: 2750
Joined: Sat Nov 20, 2010 10:40 am
Location: Santa Clara, CA, USA
Contact:

Post by ray_parkhurst »

I personally don't trust anything beyond 1/4 step to be accurate, no matter what the full-step resolution. That said, my vertical stepper motor is a 1.8-deg type, since I get annoyed by the slow speed of 400-step motors on 1mm pitch. The 5um full step (and 1.25um quarter step) is fine for my purposes.

mawyatt
Posts: 2479
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater

Post by mawyatt »

After the obvious rail & screw thread mechanics, a lot of the precision and repeatability has to do with the motor characteristics and controller.

One thing I haven't seen discussed is the uncertainty of position when the motor is re-powered. Without micro steps the motor "should" remain in a stable position when power is removed and reapplied since the permanent magnetic fields hold the rotor position. The method of applying and removing power (current) to the motor is very important if the desire is to retain position though, not to mention the potential damage to the controller if the motor or controller is simply unplugged (the motor current will find it's own path and that path may destroy the controller). Some controllers have well crafted safe start and safe terminate modes for these very reasons. If the motor is in a micro step position it will return to a magnetically stable position when power is removed by whatever means, this stable position is with the N and S magnetic cogs in the rotor and stator opposed. So the motor will move it's shaft to a stable magnetic position in the absence of a current induced micro step field, this movement could be random or deterministic depending on lots of things. So if the desire is to retain precise position when unpowered the motor shaft should be positioned on a cog and not a micro-position, and the power should be removed/applied in a controlled manner (not simply switched off/on). This is why I create my "zero positions" for all axis as rotor/stator cog aligned "zero positions", not a micro-position "zero".

With the motor powered but in static mode usually a "holding current" is applied which is enough to hold the rotor in the micro step position, but less than the normal "running" current, this is done to save power/reduce heating. Some caution though, if the motor is in a micro step position the holding torque is much lower than the normal holding torque and the motor/rail can easily be moved to an incorrect position.

Accurate controlling the motor position, velocity and acceleration is very important for having precise behavior and also good speed, carefully crafted motor control algorithms can help achieving these results. Some of the later controllers/drivers have very sophisticated algorithms which can be a real benefit for precise positioning without operating at a snails pace :?

Here's an interesting older paper by Dave Austin discussing stepper motor speed profiles.

https://www.embedded.com/design/mcus-pr ... -real-time

Information and data sheets for some controller chips.

http://blog.trinamic.com/2016/07/01/sil ... ealthchop/

https://www.google.com/url?sa=t&rct=j&q ... DTE3mFBldf


https://www.pololu.com/file/0J1447/MP6500_r1.0.pdf

https://www.pololu.com/file/0J1522/TB67 ... 170915.pdf

https://www.pololu.com/file/0J1609/STSPIN820.pdf

and the old A4988 as a reference.

https://www.pololu.com/file/0J450/A4988.pdf

Anyway, I've spent considerable time researching and testing over the past few months, so hope this helps with some of the details of stepper motor/controller behavior I've found.

Best,
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

mawyatt
Posts: 2479
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater

Post by mawyatt »

ray_parkhurst wrote:I personally don't trust anything beyond 1/4 step to be accurate, no matter what the full-step resolution. That said, my vertical stepper motor is a 1.8-deg type, since I get annoyed by the slow speed of 400-step motors on 1mm pitch. The 5um full step (and 1.25um quarter step) is fine for my purposes.
Ray,

You should try some of the new stepper controllers/drivers with the velocity & acceleration algorithms. When set up properly they allow quality 400 step motors/rails to achieve precise position and attain high velocity. We can attribute this to the printer and CNC folks where speed is $$!

Best,
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

ray_parkhurst
Posts: 2750
Joined: Sat Nov 20, 2010 10:40 am
Location: Santa Clara, CA, USA
Contact:

Post by ray_parkhurst »

mawyatt wrote:You should try some of the new stepper controllers/drivers with the velocity & acceleration algorithms. When set up properly they allow quality 400 step motors/rails to achieve precise position and attain high velocity. We can attribute this to the printer and CNC folks where speed is $$!
Certainly variable speed would be nice, but I'm not much interested in spending a lot of time coding. Not my cup of tea. My wife's a programmer, and I can't even get her interested!

The idea of precise position is one worth some discussion. Stepper motors are quantum/digital in nature for full steps, but soon as you begin microstepping, they become analog. The theoretical waveforms requiring accurate positioning lie along sinusoidal curves, but assume zero load. Even the motor itself has some level of loading due to the internal magnetics, and thus a sinusoidal microstep drive will never be perfectly accurate. Add to this an asymmetric loading, and the situation becomes much more complex. You can of course brute force the situation by driving proportionally higher currents, but this creates more heating, and is still not completely accurate. Due to the analog nature of the microstep system, and asymmetric loads, "only way" to get good accuracy without significant overdrive is to characterize the system and adjust the current ratios for each microstep position. This is not tough to do, and requires a simple lookup table based on physical position measurements.

Of course the above only works for one specific implementation and loading, and accurate calibration equipment and method. If the load changes, the system must be recalibrated. This is not at all practical in many cases, so the way folks have overcome the problem is to add encoders that have far more resolution than the motor, and utilize a closed-loop system to accurately position the motor under dynamic loading conditions. This method won't fix all the problems, since only the motor itself is within the loop, but it will go far toward fixing the systematic errors due to the drive.

Mike, have you considered adding a calibration method, or possibly an encoder, to your system? Have you checked to see how accurate the system is under microstepping?

mawyatt
Posts: 2479
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater

Post by mawyatt »

ray_parkhurst wrote:
mawyatt wrote:You should try some of the new stepper controllers/drivers with the velocity & acceleration algorithms. When set up properly they allow quality 400 step motors/rails to achieve precise position and attain high velocity. We can attribute this to the printer and CNC folks where speed is $$!
Certainly variable speed would be nice, but I'm not much interested in spending a lot of time coding. Not my cup of tea. My wife's a programmer, and I can't even get her interested!

The idea of precise position is one worth some discussion. Stepper motors are quantum/digital in nature for full steps, but soon as you begin microstepping, they become analog. The theoretical waveforms requiring accurate positioning lie along sinusoidal curves, but assume zero load. Even the motor itself has some level of loading due to the internal magnetics, and thus a sinusoidal microstep drive will never be perfectly accurate. Add to this an asymmetric loading, and the situation becomes much more complex. You can of course brute force the situation by driving proportionally higher currents, but this creates more heating, and is still not completely accurate. Due to the analog nature of the microstep system, and asymmetric loads, "only way" to get good accuracy without significant overdrive is to characterize the system and adjust the current ratios for each microstep position. This is not tough to do, and requires a simple lookup table based on physical position measurements.

Of course the above only works for one specific implementation and loading, and accurate calibration equipment and method. If the load changes, the system must be recalibrated. This is not at all practical in many cases, so the way folks have overcome the problem is to add encoders that have far more resolution than the motor, and utilize a closed-loop system to accurately position the motor under dynamic loading conditions. This method won't fix all the problems, since only the motor itself is within the loop, but it will go far toward fixing the systematic errors due to the drive.

Mike, have you considered adding a calibration method, or possibly an encoder, to your system? Have you checked to see how accurate the system is under microstepping?
Ray,

Like you I tend to shy away from high levels of micro-stepping, but do use levels to 1/8 micro step which I feel is about the limit of usefulness for my applications.

One thing I have found that commanding a position on a motor cog (exact step) produces repeatable results, which for my use is more important than "absolute" accuracy.

Agree the micro steps are not like the normal steps in that they are more influenced by the motor current details (waveform, timing and amplitude), thus prone to more errors.

Using an encoder on the stepper motor seems like it's just a more non-linear approach to a classic linear feedback controller. If I was going to do that I would just use a classic linear feedback setup, but don't see a need for such at this time. What I've developed now with these THK rails & stepper controllers is more than enough resolution & precision for my needs within the foreseeable future. These can move fast, then coast down to zero velocity at precisely the desired position with no over or undershoot, then accelerate smoothly up to full velocity. See Dave Austins paper mentioned above. I might play around with some of the newer controllers sometime, especially if they have some unique capability, since I can incorporate a newer controller rather easily with my hardware and software setup.

Best,
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

ray_parkhurst
Posts: 2750
Joined: Sat Nov 20, 2010 10:40 am
Location: Santa Clara, CA, USA
Contact:

Post by ray_parkhurst »

mawyatt wrote: ...
What I've developed now with these THK rails & stepper controllers is more than enough resolution & precision for my needs within the foreseeable future.
...
I fully agree within my own requirements as well. As stated earlier, I decided to use a 200-step motor vs 400-step since I didn't need such small steps. At this point, if I need arbitrarily small steps I just use a VCM in conjunction with the Stepper system.

I just wish programming these things and using them in conjunction was easier. Since they don't really cooperate, I end up using a laptop to run the XY, and my desktop to run the Z (stepper or VCM) and camera control. It's not too bad, since I run a max of 12-image panoramas (typically 6), but would be nice to be fully automated.

mawyatt
Posts: 2479
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater

Post by mawyatt »

ray_parkhurst wrote:
mawyatt wrote: ...
What I've developed now with these THK rails & stepper controllers is more than enough resolution & precision for my needs within the foreseeable future.
...
I fully agree within my own requirements as well. As stated earlier, I decided to use a 200-step motor vs 400-step since I didn't need such small steps. At this point, if I need arbitrarily small steps I just use a VCM in conjunction with the Stepper system.

I just wish programming these things and using them in conjunction was easier. Since they don't really cooperate, I end up using a laptop to run the XY, and my desktop to run the Z (stepper or VCM) and camera control. It's not too bad, since I run a max of 12-image panoramas (typically 6), but would be nice to be fully automated.
Ray,

Yes, having a fully automated setup is nice, I can start things up and walk away for a few hours and have a completed stack and stitch image collection ready for image processing with Zerene and PTgui when I return.

I had stayed away from programming for over 40 years after doing real time machine level & higher level coding on a 6502 for a digital oscilloscope and spectrum analyzer I developed for the Apple II, too tedious for my taste!!

The Raspberry Pi are powerful little computers, maybe a little easier to deal with than the Arduino based computers, which are amazing themselves. I have some Arduino Mega 2560 that someone sent me, I'll start looking at them when I have some time.

The Open Source Raspberry Pi OS (Rasbian) comes with lots of useful features and Python which is a nice programming language. I purposely didn't use or even look at any of the available printer and CNC code (or others that have stacking code) since I wanted to create my own setup to my liking rather than adapted from someone else's code. So all my code is original and the only adapted parts are from Pololu for USB interfacing.

Because this S&S system is all original, it's also ever evolving. I just found a subtle error in the code where I had used a "Y" parameter in the "X" code section for figuring out micro displacement stepping. This hadn't shown up before in testing because of the direction I was stepping, but did show up in a test I just did when I tried to stitch things together (things didn't line up properly). Since this was "my" code, I knew right where to look and within 5 minutes found the error (in 2 places), with other adapted code I'd still be looking :shock:

So creating your own code has some advantages, not many, but some. I have a great appreciation for folks that write this stuff, since I've "been there done that"!

Consider getting a Raspberry Pi and try it out with a Pololu board and hook up your KR-15 steppers. When setup properly they are so quite and smooth, yet very fast and deadly accurate :D

I'll help you or anyone that wants to take on this adventure, because that's what we're here for to help each other, and I've been helped so much by others I owe back big-time :D

Edit: Should mention that all the code for the entire XYZ Stack & Stitch System resides on the Raspberry Pi, and it can be operated directly with a keyboard and mouse (USB or Wireless), or without any direct keyboard or mouse when used with VNC which allows operation in a window on another computer (Mac in my case) within your WiFi router range (uses 802.11). I usually use the VNC mode since it's so easy to use and operate, and everything is right there in the window for control and viewing.

Best & Happy Holidays,
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

mawyatt
Posts: 2479
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater

Post by mawyatt »

mawyatt wrote:The 400 step motors have the "extra" steps encoded into the rotor/stator cogs, so are mechanically able to position to 0.9 degrees. I've always felt that a mechanical step will generally be better than an electrically (electro-magnetically) induced step created with a micro-step since the rotor is "held" electro-magnetically (current induced) between cogs alignments with micro-steps. Have no "proof" and have done no scientific experiments other than 400 step motors "seem" a better way IMO.

Here's an interesting note in Design News from Lin Engineering somewhat confirming the more physical cogs (motor step "teeth") the better where accuracy is concerned. I found this while looking for info on driving 5 phase stepper motors, since all my stepper drivers are 2 phase.

Surprisingly, the two-phase motor produced four to five times less step error than the five-phase motor.

This situation occurs because the accuracy of a step motor depends upon the number of stator and rotor teeth. Although most two-phase, 0.9-degree step-motor designs use eight or 16 stator poles, typical five-phase motors use 10 stator poles.



https://www.linengineering.com/news/in- ... ep-motors/

Best & Happy Holidays,
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

ray_parkhurst
Posts: 2750
Joined: Sat Nov 20, 2010 10:40 am
Location: Santa Clara, CA, USA
Contact:

Post by ray_parkhurst »

mawyatt wrote: Here's an interesting note in Design News from Lin Engineering somewhat confirming the more physical cogs (motor step "teeth") the better where accuracy is concerned. I found this while looking for info on driving 5 phase stepper motors, since all my stepper drivers are 2 phase.

Surprisingly, the two-phase motor produced four to five times less step error than the five-phase motor.

This situation occurs because the accuracy of a step motor depends upon the number of stator and rotor teeth. Although most two-phase, 0.9-degree step-motor designs use eight or 16 stator poles, typical five-phase motors use 10 stator poles.



https://www.linengineering.com/news/in- ... ep-motors/
Unfortunately one needs to take these sort of marketing white papers with a grain of salt. Lin does not make 5-phase motors, so would have a natural tendency toward bias against those who do, such as Oriental Motor, who make both 2-phase and 5-phase:

https://www.orientalmotor.com/stepper-motors/index.html

There are several factors that make motors more or less accurate during microstepping, and these are not addressed in the paper. As it is well-known that microstepping does not result in high accuracy without encoder feedback, folks who choose 5-phase motors generally do so to get a bit better full-step accuracy than can be achieved with 200 or 400 step 2-phase motors, and smoother operation. 5-phase motors were developed when the best 2-phase motors had only 200 steps, and thus were a big breakthrough in accuracy and smoothness of operation. Lin and others then improved their 200-step motor microstepping capability, through optimization of hybrid rotor/stator designs, and then ultimately applied this to newly-developed 400-step motors. The result is a competitive full-step (0.9 for 400-step vs 0.72 for 5-phase) resolution, with better microstepping. But that does not say 5-phase motors are inferior to 400-step 2-phase, just that the makers of 5-phase motors are not focused on high microstepping accuracy. Interestingly, Lin now has 800-step motors available, but these were made in response to Oriental's offering of 1000-step 5-phase! So I suppose if you really want accuracy, without the trouble of encoding and feedback, a 1000-step 5-phase motor on a 1mm pitch rail will give you highly-accurate 100nm steps with no microstepping. If the quarter-step accuracy is good (big "if") on such a motor, then you could get 25nm steps without going to high microstep ratios. Personally though, I'd rather have an 800-step 2-phase rather than 1000-step 5-phase, given availability of hobbyist-affordable drivers...

Edited to add: One other factor is motor size. It's hard to find 0.9-deg 2-phase motors at NEMA-11 or smaller, while small 5-phase motors are readily available. So driving the KR15 with NEMA-11 is generally limited to 1.8-deg with 2-phase, but you can get 0.72-deg with 5-phase, assuming you have the drive electronics to do this. Indeed I own some beautiful dual-shaft NEMA-08 5-phase motors, but have no way to use them :(

mawyatt
Posts: 2479
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater

Post by mawyatt »

Ray,

You missed my point, not that 2 or 5 phases are better, but that the number of cogs or "teeth" in the stator/rotor is a very important factor in determining accuracy/repeatibility. This is so for many reasons from a users standpoint, one which I haven't seen addressed before is what I mentioned about power down and repower position accuracy/repeatability.

From my original post.

The 400 step motors have the "extra" steps encoded into the rotor/stator cogs, so are mechanically able to position to 0.9 degrees. I've always felt that a mechanical step will generally be better than an electrically (electro-magnetically) induced step created with a micro-step since the rotor is "held" electro-magnetically (current induced) between cogs alignments with micro-steps. Have no "proof" and have done no scientific experiments other than 400 step motors "seem" a better way IMO.

Anyway, more is maybe better in number of phases, but certainly more motor steps/cogs/teeth are better.

Best & Happy Holidays,
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

ray_parkhurst
Posts: 2750
Joined: Sat Nov 20, 2010 10:40 am
Location: Santa Clara, CA, USA
Contact:

Post by ray_parkhurst »

mawyatt wrote:Ray,

You missed my point, not that 2 or 5 phases are better, but that the number of cogs or "teeth" in the stator/rotor is a very important factor in determining accuracy/repeatibility. This is so for many reasons from a users standpoint, one which I haven't seen addressed before is what I mentioned about power down and repower position accuracy/repeatability.
Nope, didn't miss the point, but there is not a whole lot of difference between the number of teeth in a 0.72-deg vs 0.9-deg motor, regardless of how many phases there are.

Now, the paper you linked did indeed tout 2-phase vs 5-phase, but was not really a fair comparison.

Edited to add: as I pointed out, both Lin and Oriental have both recently doubled the number of teeth, thereby making full-step high accuracy possible.

genera
Posts: 121
Joined: Wed Oct 05, 2011 5:05 pm
Location: California, USA

Post by genera »

mawyatt wrote: Here's an interesting note in Design News from Lin Engineering somewhat confirming the more physical cogs (motor step "teeth") the better where accuracy is concerned. I found this while looking for info on driving 5 phase stepper motors, since all my stepper drivers are 2 phase.

Surprisingly, the two-phase motor produced four to five times less step error than the five-phase motor.
This situation occurs because the accuracy of a step motor depends upon the number of stator and rotor teeth. Although most two-phase, 0.9-degree step-motor designs use eight or 16 stator poles, typical five-phase motors use 10 stator poles.



https://www.linengineering.com/news/in- ... ep-motors/

Best & Happy Holidays,
It's an advertising blurb with no numbers to back it up.

I've just been looking at specifications for VEXTA / Oriental Motor 1.8 º and 0.9 º NEMA 17 steppers. It's interesting to me that a step error of ±0.05 º (3 arc-minutes) is specified for both their high torque 1.8 º and the high resolution 0.9 º motors. Doubling the number of teeth/cogs, in their otherwise nearly identical motors, doesn't result in any increase in accuracy. It does result in a ~15% drop in torque though.

LIN Engineering, on the other hand, doesn't show step accuracy spec's for any of their similarly sized NEMA 17 motors. I looked at their 4118, 4418, 4209, and 417 series, as well as a few others. Oriental Motors doesn't show step error spec's for their 5 phase motors.
-Gene

Adalbert
Posts: 1162
Joined: Mon Nov 30, 2015 1:09 pm

Post by Adalbert »

Hello guys,

Thank you for your comments!

As far as I can see there are some different opinions :-)

BTW, I haven’t found any NEMA 17, 0.9 degree, 60mm long, high torque up to now.

e.g 1.8 degree
https://www.ebay.com/itm/NEMA-17-Steppe ... :rk:7:pf:0
NEMA 17 Stepper Motor - Length 60mm - 4.8V - 1.7A/phase - 73Ncm (103 oz/in) - Weight = 0.48Kg

The strongest NEMA 17 stepper with 0.9 degree I have found is 48mm long and has torque between 42 and 46.
http://www.photomacrography.net/forum/v ... highlight=

BR, ADi

Post Reply Previous topicNext topic