## My experience buying used Mitutoyo 100X 0.70:

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

Moderators: Pau, rjlittlefield, ChrisR, Chris S.

rjlittlefield
Posts: 21397
Joined: Tue Aug 01, 2006 8:34 am
Location: Richland, Washington State, USA
Contact:
mawyatt wrote:I try and round my steps down to the nearest full step if possible and make sure I always start from a full step motor cog position (why I prefer 400 vs 200 step motors). The Machine Design article mentioned above shows how the holding torque varies with microsteps. If I need to go below a full step for stacking then I'll use a 1/2 step position so the torque is still 70% available. At 1/4 step you are down to just 38% as you mention. If you don't start on a full step rotor cog position then when you focus step you are stepping with another angle. Say you start at 1/4 cog position and you make full steps, you are still stopping on 1/4 cog positions.

If you start at a cog position using 1/4 steps, then the 1st will be at 1/4 at 38%, then next step at 1/2 with 70% (mid point between cogs), then 3/4 with 38% again and 4th step will be on a cog at 100% torque.

If you set things up you can start on a cog and also use microsteps for smooth movement and still stop on a cog for stepping with maximum holding torque. The Trinamic controllers allow "switching gears" on the fly to allow full use of the available 256 microsteps, and if you start on a cog and step by integer cogs then you have the best of both.

Anyway this is how I think it works
Let me offer that is not how I think it works.

A simple model of a stepper motor is that it consists of a permanent magnet (the rotor) that tries to stay aligned with a rotating magnetic field (created by the coils). If the torque is zero, then the alignment is perfect. If the torque is not zero, then the axis of the permanent magnet is pushed away from the axis of the rotating field. Apply more torque, and it gets pushed farther away. At any point in time the torque is proportional to the (sine of) the angle between the permanent magnet and the rotating field. If you apply enough torque, you push the permanent magnet so far out of alignment with the rotating field that it "slips a cog" and no longer tracks the field as intended.

Of course this relationship goes both ways. We usually think of creating a torque by commanding the rotating field to point in a different direction. But the relationship between the torque and the angular deviation is the same.

When https://www.machinedesign.com/archive/a ... ping-myths says that the holding torque at 1/2 step is only 70.71% of holding torque at full step, what it really means is that applying a 100% force will cause the motor to "slip a cog", and applying 70.71% that much force will cause the rotor to deviate by an angle equal to 1/2 step. Similarly, applying 38.27% of the "slip a cog" force will cause the rotor to deviate by an angle equal to 1/4 step, and so on, down to applying 0.61% will cause deviation equal to 1/256 step.

What the article fails to say explicitly is that this relationship remains true no matter which direction the rotating field is pointing.

So, it does not make any difference whether you start on a full step position, or 1/4 step, or 1/2 step, or 13/256 step. In every case, a force of 38.27% will cause an angular deviation equal to 1/4 step. If you've commanded 0 (a full step position), you get -1/4 (1/4 step below that). If you've commanded 1/4, you get 0; commanded 1/2, you get 1/4; commanded 3/4, you get 1/2; commanded 1, you get 3/4; and so on, always lagging by an angle of 1/4 step from what you've commanded.

If you care only about relative movements, then if the load is constant, and there's no static friction, and with perfect drive waveforms, none of this is of any concern at all.

The big problem comes when we introduce static friction. In that case I think the term "holding torque" becomes seriously misleading because we don't want to hold a position, we want to change it.

If the static friction is equal to say 2% of the "slip a cog" torque, and we try commanding a move of 1/256 step from current position, then nothing will happen because 1/256 step gives only 0.61% of "slip a cog" torque. If we command 2/256 step, we still get only 1.23% and nothing moves. 3/256 step, 1.84%, still nothing moves. Only when we command a change of 4/256 of a full step do we get enough additional torque, 2.45%, to overcome static friction.

At that point things start to move, the static friction disappears, there's some complicated acceleration/deceleration process, eventually the speed drops to zero again, at which point static friction clicks in, and you have a new physical position that roughly approximates where you intended to be, but is highly unlikely to be within 1/256 of a step of that.

If you repeat the process of commanding a certain increment, over and over again, then "on average" the physical position will track the commanded position, but the physical increments will not be exactly equal to the commanded increments. Instead the physical increments will vary, larger and smaller than the commanded increments, in what may not even be a regular pattern. (Google dripping faucet chaos to see some discussion of that.)

In addition to the static friction problem, there are other issues like nonlinearity caused by the magnetic "detent" and/or imperfect drive currents.

So yeah, there's lots to worry about with stepper motors.

But deciding whether to start your sequence at a full step boundary is not one of them.

At least that's how I think it works.

--Rik

mawyatt
Posts: 2492
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida
rjlittlefield wrote:
mawyatt wrote:I try and round my steps down to the nearest full step if possible and make sure I always start from a full step motor cog position (why I prefer 400 vs 200 step motors). The Machine Design article mentioned above shows how the holding torque varies with microsteps. If I need to go below a full step for stacking then I'll use a 1/2 step position so the torque is still 70% available. At 1/4 step you are down to just 38% as you mention. If you don't start on a full step rotor cog position then when you focus step you are stepping with another angle. Say you start at 1/4 cog position and you make full steps, you are still stopping on 1/4 cog positions.

If you start at a cog position using 1/4 steps, then the 1st will be at 1/4 at 38%, then next step at 1/2 with 70% (mid point between cogs), then 3/4 with 38% again and 4th step will be on a cog at 100% torque.

If you set things up you can start on a cog and also use microsteps for smooth movement and still stop on a cog for stepping with maximum holding torque. The Trinamic controllers allow "switching gears" on the fly to allow full use of the available 256 microsteps, and if you start on a cog and step by integer cogs then you have the best of both.

Anyway this is how I think it works
Let me offer that is not how I think it works.

A simple model of a stepper motor is that it consists of a permanent magnet (the rotor) that tries to stay aligned with a rotating magnetic field (created by the coils). If the torque is zero, then the alignment is perfect. If the torque is not zero, then the axis of the permanent magnet is pushed away from the axis of the rotating field. Apply more torque, and it gets pushed farther away. At any point in time the torque is proportional to the (sine of) the angle between the permanent magnet and the rotating field. If you apply enough torque, you push the permanent magnet so far out of alignment with the rotating field that it "slips a cog" and no longer tracks the field as intended.

Of course this relationship goes both ways. We usually think of creating a torque by commanding the rotating field to point in a different direction. But the relationship between the torque and the angular deviation is the same.

When https://www.machinedesign.com/archive/a ... ping-myths says that the holding torque at 1/2 step is only 70.71% of holding torque at full step, what it really means is that applying a 100% force will cause the motor to "slip a cog", and applying 70.71% that much force will cause the rotor to deviate by an angle equal to 1/2 step. Similarly, applying 38.27% of the "slip a cog" force will cause the rotor to deviate by an angle equal to 1/4 step, and so on, down to applying 0.61% will cause deviation equal to 1/256 step.

What the article fails to say explicitly is that this relationship remains true no matter which direction the rotating field is pointing.

So, it does not make any difference whether you start on a full step position, or 1/4 step, or 1/2 step, or 13/256 step. In every case, a force of 38.27% will cause an angular deviation equal to 1/4 step. If you've commanded 0 (a full step position), you get -1/4 (1/4 step below that). If you've commanded 1/4, you get 0; commanded 1/2, you get 1/4; commanded 3/4, you get 1/2; commanded 1, you get 3/4; and so on, always lagging by an angle of 1/4 step from what you've commanded.

If you care only about relative movements, then if the load is constant, and there's no static friction, and with perfect drive waveforms, none of this is of any concern at all.

The big problem comes when we introduce static friction. In that case I think the term "holding torque" becomes seriously misleading because we don't want to hold a position, we want to change it.

If the static friction is equal to say 2% of the "slip a cog" torque, and we try commanding a move of 1/256 step from current position, then nothing will happen because 1/256 step gives only 0.61% of "slip a cog" torque. If we command 2/256 step, we still get only 1.23% and nothing moves. 3/256 step, 1.84%, still nothing moves. Only when we command a change of 4/256 of a full step do we get enough additional torque, 2.45%, to overcome static friction.

At that point things start to move, the static friction disappears, there's some complicated acceleration/deceleration process, eventually the speed drops to zero again, at which point static friction clicks in, and you have a new physical position that roughly approximates where you intended to be, but is highly unlikely to be within 1/256 of a step of that.

If you repeat the process of commanding a certain increment, over and over again, then "on average" the physical position will track the commanded position, but the physical increments will not be exactly equal to the commanded increments. Instead the physical increments will vary, larger and smaller than the commanded increments, in what may not even be a regular pattern. (Google dripping faucet chaos to see some discussion of that.)

In addition to the static friction problem, there are other issues like nonlinearity caused by the magnetic "detent" and/or imperfect drive currents.

So yeah, there's lots to worry about with stepper motors.

But deciding whether to start your sequence at a full step boundary is not one of them.

At least that's how I think it works.

--Rik
Rik,

Thanks for the response.

First off I should say my comments were for a Hybrid Stepper Motor that is most common to what we use with microstepping.

Second I stand by my statements above as to how the stepper motor works and how micro stepping works, so I don't agree with your disagreement with my assessment and respectfully agree to disagree.

Anyway, if you carefully study the Wiki, Oriental Motors and others I think you will see what I was trying to convey above.

https://en.wikipedia.org/wiki/Stepper_motor

https://www.orientalmotor.com/stepper-m ... rview.html

https://www.orientalmotor.com/stepper-m ... iples.html

The cog position is the most stable position of the stepper, this is the no power position where the permanent magnetic fields align. When power (current) is applied the electro-magnetic fields can align or not with the permanent fields. As the currents thru the coils are manipulated by the controller the overall effective magnetic field which is the vector combination of both the permanent and current induced and can be "moved" such that the rotor will now align away from the static cog position and the rotor will "step" with a cog full step or micro step. Thus the rotor is somewhat "held" in fixed position by vector sum of the fields and also moved by moving (rotating) the fields. If the current is removed the rotor will return to a static unpowered cog position.

The current induced magnetic fields do not rotate when the rotor is stationary, only when the rotor is stepping. Static fields are just fixed at an average value determined by the controller based upon the desired rotor position.

When staring a stacking session on a cog, one is starting from the most stable possible motor position, if one is staring from a non-cog micro step position then one is starting from a less stable starting position. The Orinetal Motor video shows this nicely using a 90% to 10% current ratio to achieve a static micro step slightly away from the cog position, and a 50% to 50% ratio moving the rotor to the midway point between cogs. When power is removed the rotor will return to the most stable position which is aligned with the cogs, the 90% to 10% ratio micro step will return to the cog by the coil that had 90% current, the 50% to 50% can go either way since it's "balanced" between the cogs.

So if you start from a cog position and use integer cog steps you will remain on a cog positions throughout the stacking session, this is the most stable stacking arrangement for a given stacking session I believe.

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

rjlittlefield
Posts: 21397
Joined: Tue Aug 01, 2006 8:34 am
Location: Richland, Washington State, USA
Contact:
mawyatt wrote:First off I should say my comments were for a Hybrid Stepper Motor that is most common to what we use with microstepping.
Agreed, mine also.
I don't agree with your disagreement with my assessment and respectfully agree to disagree.
Come, let us work toward common understanding...
Thank you for that reference. The animation illustrates exactly the model I described in words earlier.
Anyway, if you carefully study the Wiki, Oriental Motors and others I think you will see what I was trying to convey above.
Perhaps I misunderstood exactly what you were trying to convey.

You wrote:
If you start at a cog position using 1/4 steps, then the 1st will be at 1/4 at 38%, then next step at 1/2 with 70% (mid point between cogs), then 3/4 with 38% again and 4th step will be on a cog at 100% torque.
This sounds to me like you're saying that the motor can hold the 1/4 step position with only 38% of the torque that it can hold the full step position.

I disagree strenuously with that interpretation. But if that's not what you were intending to say, then perhaps we can figure out some other phrasing that we can both agree on.
The cog position is the most stable position of the stepper, this is the no power position where the permanent magnetic fields align. When power (current) is applied the electro-magnetic fields can align or not with the permanent fields. As the currents thru the coils are manipulated by the controller the overall effective magnetic field which is the vector combination of both the permanent and current induced and can be "moved" such that the rotor will now align away from the static cog position and the rotor will "step" with a cog full step or micro step. Thus the rotor is somewhat "held" in fixed position by vector sum of the fields and also moved by moving (rotating) the fields. If the current is removed the rotor will return to a static unpowered cog position.

The current induced magnetic fields do not rotate when the rotor is stationary, only when the rotor is stepping. Static fields are just fixed at an average value determined by the controller based upon the desired rotor position.
I agree completely with all of this.
When staring a stacking session on a cog, one is starting from the most stable possible motor position, if one is staring from a non-cog micro step position then one is starting from a less stable starting position. The Orinetal Motor video shows this nicely using a 90% to 10% current ratio to achieve a static micro step slightly away from the cog position, and a 50% to 50% ratio moving the rotor to the midway point between cogs. When power is removed the rotor will return to the most stable position which is aligned with the cogs, the 90% to 10% ratio micro step will return to the cog by the coil that had 90% current, the 50% to 50% can go either way since it's "balanced" between the cogs.
I also agree with all of this.

However, the microstep controllers that I am familiar with never remove power from the motor. Instead, they maintain drive currents in whatever ratio is needed to represent the microstep that they're currently on. So, what I'm concerned with is how the motor behaves when power is on, not when it's off.
So if you start from a cog position and use integer cog steps you will remain on a cog positions throughout the stacking session, this is the most stable stacking arrangement for a given stacking session I believe.
My response here is a "Yes, but" .

I agree that under reasonable assumptions, the integer cog positions are a little more stable than any others.

But I raise the question, how much more stable are they?

With the StackShot motor and controller that I have in hand, the magnetic torque due to coil currents is something like 100 times stronger than the static detent. With the power disconnected, it's simple to turn the motor with fingertip control of the pully. With the power on, and the controller running in High Precision mode, I have to wrap a finger around the pully to make it turn, and then what happens is that the pully slips on the shaft because I don't have the setscrew cinched down tight enough to override the drive coils. I don't know whether that power-on/power-off torque ratio is more or less than 100:1, but it's a lot.

So, in the case of that motor and that controller, I'm quite confident that the behavior of the motor is overwhelmingly dominated by the sine/cosine drive currents, that it behaves as I described in my earlier post, and that starting position can be safely ignored without having any significant effect on accuracy.

Perhaps the controllers and motors that you're familiar with are different. In that case I would be very interested to hear the details.

--Rik

mawyatt
Posts: 2492
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida
Rik,

Just joking with

Of course want to work to a common understanding, I'm not that stubborn

Regarding the torque relationship and micro stepping. What I trying to convey, is that if you have a motor at the static cog position and apply an small outside torque the shaft will rotate a small amount, remove the outside torque, then take a 1/4 micro step and reapply the outside torque, the motor will incrementally move more in relation to the holding torque reduction at the 1/4 position than at the cog position. Now take another 1/4 micro step which now puts the motor between cogs in the middle and do same, the result will be more incremental rotation than at the cog but less than the 1/4 position. Now another 1/4 micro step and the incremental should be about the same as the 1/4 position since you are a 3/4 position. Now another 1/4 micro step and you are at the next cog full step and the incremental rotation should be about the same as the previous cog.

Probably not doing a good job of explaining.

I don't have a Stackshot, sold mine last year to help fund the Trinamic Controller developments. The motors I have available have a modest amount of no power holding torque (this is a specific motor spec, some can be ordered with high holding torque, others with low and so on), and vary 2~3X doing the "finger test". When powered I usually program the Trinamic Controllers to a holding current and running current, as well as the power down sequence which allows the motors to gradually power down rather than jerk. This is for each specific motor/rail. For example the KR15 rails use 634ma, and the KR20 use 990ma for running currents, holding currents are usually below half this or less. This is certainly not 100X no power vs. power torque with what I have setup tho, probably more like 10~20X. I recall with my Stackshot that the motor would get pretty hot after awhile so suspect it was a much higher run and hold current, but can't remember the details. The motors with the mentioned current parameters just get slightly warm. Some of this temperature difference could be the due to the Trinamic current control and waveforms as utilized, and with motors with low ESR very little power is dissipated, thus low heat build up.

Also agree "never remove power from the motor", if you do you WILL be buying another controller and maybe motor!! This is why I can power down the motor(s) (3 or 4 axis) or go into holding mode when doing stacking sessions. I can select the power down mode which tristates the controller motor "H Bridge" and safely remove or replace the motor and not have to remove the motor power supply.

Regarding how much more stable are the cog positions. Think this is related to how much holding current you use, your motor, rail, V/H orientation and so on. In V orientation there will always be some residue external torque to the motor shaft, so the effects would be more pronounced than H use.

Agree the motors should be dominated by the current waveforms, but always trying to "squeeze" the best possible performance from these setups as I can. The Stackshot I had utilized the Toshiba controller, these have been shown to have problems (a Pololu design engineer confirmed this) as do the TI controllers. Long ago we developed a motor current sensor based upon the Hall Effect to allow viewing the actual motor Sine and Cosine waveforms, I recall my Stackshot had horrific looking waveforms compared to the Trinamic and other controllers, think we discussed this might be the source of the annoying "whine" while in High Precision mode. With those waveforms I was surprised the Stackshot worked as well as it did, they really looked bad to me. With this in mind I would suspect that a Trinamic controlled motor would perform better than a Stackshot controlled motor, simply looking at the current waveforms, but that's a test I can no longer perform.

So maybe we agree to agree

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

rjlittlefield
Posts: 21397
Joined: Tue Aug 01, 2006 8:34 am
Location: Richland, Washington State, USA
Contact:
So maybe we agree to agree
I am glad to see that we agree on many things.

But I am concerned that we still have some unresolved disagreement, and I would like to get that cleared up.
Regarding the torque relationship and micro stepping. What I trying to convey, is that if you have a motor at the static cog position and apply an small outside torque the shaft will rotate a small amount, remove the outside torque, then take a 1/4 micro step and reapply the outside torque, the motor will incrementally move more in relation to the holding torque reduction at the 1/4 position than at the cog position.
I agree that the amount of rotation in response to external force will probably be slightly different at each of these positions.

However, I emphasize slightly.

The rotations will be different only in proportion to the overall field strengths at these two positions.

Even taking your numbers of 10-20X difference between powered and unpowered, the implication is that the lowest between-cog field strength will be 90-95% as large as at-cog. Using my 100:1 estimate, it will be more like 99%.

As a result, the difference of overall field strengths will be nowhere near the 38% and 70% numbers that you've apparently gotten from https://www.machinedesign.com/archive/a ... ping-myths .

Numerics aside, what bothers me most about your explanation -- and what prompted my original "not the way it works" objection -- is that you're using microstepping-myths as if it were somehow relevant to the at-cog issue, where it's describing a completely different effect. That article is talking about torque as a function of angular displacement from the field orientation, whatever that orientation happens to be. In fact the exact numbers listed in the table simply ignore whatever at-cog effect there may be, essentially assuming that it's zero.

So, pointing to that reference as a justification for your preferring at-cog positions is at best seriously confusing for anybody trying to understand how stepper systems work.

Do you see the reasons for my concern?

--Rik

mawyatt
Posts: 2492
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida
rjlittlefield wrote:
So maybe we agree to agree
I am glad to see that we agree on many things.

But I am concerned that we still have some unresolved disagreement, and I would like to get that cleared up.
Regarding the torque relationship and micro stepping. What I trying to convey, is that if you have a motor at the static cog position and apply an small outside torque the shaft will rotate a small amount, remove the outside torque, then take a 1/4 micro step and reapply the outside torque, the motor will incrementally move more in relation to the holding torque reduction at the 1/4 position than at the cog position.
I agree that the amount of rotation in response to external force will probably be slightly different at each of these positions.

However, I emphasize slightly.
May be quite a bit more than slightly, depending on external load torque, according to the referenced article.

"Significant too is that any load torque will result in a magnetic backlash, displacing the rotor from the intended position until sufficient torque is generated."

"The consequence is that if the load torque plus motor friction and detent torque exceeds the incremental torque of a microstep, successive microsteps will have to be realized until the accumulated torque exceeds the load torque plus the motor friction and detent torque. Simply stated, taking a microstep does not mean the motor will actually move. And reversing direction can require a large number of microsteps to get the motor to move."

The rotations will be different only in proportion to the overall field strengths at these two positions.

Even taking your numbers of 10-20X difference between powered and unpowered, the implication is that the lowest between-cog field strength will be 90-95% as large as at-cog. Using my 100:1 estimate, it will be more like 99%.
As a result, the difference of overall field strengths will be nowhere near the 38% and 70% numbers that you've apparently gotten from https://www.machinedesign.com/archive/a ... ping-myths .
Another quote from the referenced article.

"Even more disruptive than the bearing friction is the detent torque, which is typically 5 to 20% of the holding torque. Sometimes the detent torque adds to the overall torque generation. Sometimes it subtracts from the power torque generation." "In any case, it wreaks havoc with overall accuracy."
Very reason why I stated that the best possible starting position is on a cog, and having integer cog steps is the best step selection, since the cogs are at a fixed permanent location on the rotor & stator and not subject to micro step induced errors.

Numerics aside, what bothers me most about your explanation -- and what prompted my original "not the way it works" objection -- is that you're using microstepping-myths as if it were somehow relevant to the at-cog issue, where it's describing a completely different effect.
Actually it describes the exact effect I was trying to convey, here it is in the articles words.

"if the load torque plus motor friction and detent torque exceeds the incremental torque of a microstep, successive microsteps will have to be realized until the accumulated torque exceeds the load torque plus the motor friction and detent torque."

That article is talking about torque as a function of angular displacement from the field orientation, whatever that orientation happens to be. In fact the exact numbers listed in the table simply ignore whatever at-cog effect there may be, essentially assuming that it's zero.

So, pointing to that reference as a justification for your preferring at-cog positions is at best seriously confusing for anybody trying to understand how stepper systems work.
The article actually confirms exactly what I was trying to convey, so there should be no confusion!

Do you see the reasons for my concern?

Actually no!! Suggest you reread the reference very carefully.

--Rik

Rik,

Thanks for the note.

My notes and reply in blue above, quotes from the referenced article is in orange.

So I see no reason for your concerns, the article describes exactly what I was conveying, and should not be confusing to anyone for being an inaccurate reference in this regard.

Simply stated, starting on a motor cog and stepping integer cogs is the best possible stepping method. Starting from a micro-step position is a weaker less accurate position, as are micro-step steps.

Someone could run tests and plot the rotor angle deflection vs. external load torque at different micro-step rotor positions.

I guess we are back to agreeing to disagree

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

rjlittlefield
Posts: 21397
Joined: Tue Aug 01, 2006 8:34 am
Location: Richland, Washington State, USA
Contact:
Interesting! We study exactly the same reference, yet we reach opposite conclusions.

Clearly no amount of "Suggest you reread the reference very carefully" is going to resolve this difference.

A physical experiment is in order.

Let's take this discussion offline and figure out what sort of experiment would be considered as definitive by both of us.

--Rik

kaleun96
Posts: 198
Joined: Sat Oct 20, 2018 3:47 pm
Location: Stockholm, Sweden
mawyatt wrote: Someone could run tests and plot the rotor angle deflection vs. external load torque at different micro-step rotor positions.
I don't think this is exactly what you're after but might help:

I'm ill-equipped to contribute meaningfully here so am just watching from the sidelines
- Cam

rjlittlefield
Posts: 21397
Joined: Tue Aug 01, 2006 8:34 am
Location: Richland, Washington State, USA
Contact:
kaleun96 wrote: I don't think this is exactly what you're after but might help:

I'm ill-equipped to contribute meaningfully here so am just watching from the sidelines
Well, I like the data shown there because they're consistent with what I'd expect: nearly constant deflection under load independent of microstep position.

Here's the first graph, copied and shifted so as to overlay the loaded and unloaded curves:

The third graph has more variability but not of the pattern that I hear Mike predicting. This one has the greatest deflection at the start position, least deflection at one full step away from that, and the deflection under load varies more or less linearly in between those.

I will be interested to hear Mike's thoughts.

--Rik

mawyatt
Posts: 2492
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida
Cam,

Thanks for the Hackaday reference. I remember that now from way back when I was struggling with various stepper motor controllers and surprised just how bad they were. The Toshiba shows the "dead zone" curve flattened around the end step that Pololu engineer told me about, and the TI is just horrible!!

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

mawyatt
Posts: 2492
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida
Rik,

This Hackaday article is very interesting and references the same Myths article we've been discussing, so maybe not such a bad reference after all

Here's some quotes from the article before diving into the technical details and graphs.

"In practice, we’re still dealing with open-loop drivers, meaning that the motor driver does not know the exact angular position of the motor shaft, and it won’t correct deviations. Friction, the motor’s own detent torque and most strikingly, the external load that acts upon the rotor will go unnoticed by the driver. Without closing the loop through an encoder and a more sophisticated special driver, the best we can assume is that the motor will be somewhere ± 2 full-steps (yes, that bad) near its target position, which is the maximum deflection before the rotor snaps into the wrong full-step position, resulting in step-loss.

The incremental torque from one micro step to another is — governed by merciless trigonometry — only a fraction of the dynamic torque of the motor. To ensure that the motor shaft actually sets within +/- 1 microstep, we need to also reduce the load accordingly. Exceeding this smaller, incremental torque won’t result in step loss, but it will cause the same absolute positioning error of up to ± 2 full-steps. The table below shows the devastating relationship.

Microsteps per full-step Incremental holding torque per microstep
1 100 %
2 70.71 %
4 38.27 %
8 19.51 %
16 9.80 %
32 4.91 %
64 2.45 %
128 1.23 %
256 0.61 %
Source: Stepper Motor Technical Note: Microstepping Myths and Realities by Micromo"

This is why we've been developing the piezo stages, for cases (high magnifications) where one must operate with positions that can't align with stepper cogs (required steps are smaller than a cog) and at sub-micron steps.

"All stepper motor drivers were tested in their 16 microstep per full-step mode. Before the measurement, the stepper motor was brought into a full-step detent position, and the mirror was aligned to a beam perpendicular to the wall. Then 16 microsteps were executed in one direction while triggering the camera after every step. After that, 16 microsteps were executed in the reverse direction, bringing the stepper motor back to its original position."

So these graphs represent a full cog step from 0 to 16 steps, then backwards 16 steps to the original starting cog, not 32 steps as might be inferred from the graphs.

Now viewing the graphs.

First off, note that the Allegro A4988 & Toshiba TB6560AHQ controllers don't achieve a full cog step since they don't reach 1.8 degrees at 16 steps, only the TI DRV8825 does. This confirms the use of the higher current of the TI controller (2.2a vs. 1a for the A4988)) but shows the pronounced dead zone area (previously mentioned) with the Toshiba part which is actually using the most current at 2.25a. It also revels that some residual load torque in the setup which can be seen with the mirror and long arm, so no load is really not "zero" load but a small load torque.

The TI is so bad I wouldn't use it for a reference.

So look at the Allegro & Toshiba parts. They both show a slight "bending" of the curve around the cogs with load, the bend is away from a straight linear projection between the start cog (0 step) and end cog (16 step).

Your superposition graph of the A4988 nicely shows this and you can see a "S" type curve center at the 1/2 cog step position ( 8 steps), the Toshiba part would also show this even better (I don't know how to superimpose these). This is as we had discussed earlier where the micro step causes a increased deflection at the 1/4 and 3/4 micro-steps and less so at the mid point. The direction of the deflection changes as you pass thru the center 1/2 micro step position since the rotor is being "pulled" towards the next cog rather than being "pulled" towards the previous cog. If you take the derivative of the curve wrt the steps this should show "S" better.

http://janrik.net/MiscSubj/2020/Holding ... erlaid.png

I believe a detailed analysis (which I won't attempt) will show that this "S" curve is expected and is an offset inverted raised 1/2 wave Cosine curve.

Anyway, these curves show what I was trying to convey and certainly support my statement above "Simply stated, starting on a motor cog and stepping integer cogs is the best possible stepping method. Starting from a micro-step position is a weaker less accurate position, as are micro-step steps."

Folks should stay away from TI or Toshiba controllers if they place any faith in these graphs. Maybe Hackaday will evaluate the Trinamic devices, my experience with them is they should perform much better than any of these controllers.

BTW I have a Wantai 42BYGHM810 NEMA 400 step motor, the Hackaday article use a 42BYGHW609 200 step motor. The '810 has the most cog detent of the motors I have and I tend use this for Precision Vertical Stages where it must support heavy camera/lenses with minimum position slippage (someone has noted slippage with THK rails with very heavy camera/lens in vertical orientation).

I wanted to stay away for this detailed stepper motor discussions as mentioned this much earlier, so my sincerely apologies for causing such a deviation

So can we please agree to agree or do I need to "Rest my case, and let the jury decide?"

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

rjlittlefield
Posts: 21397
Joined: Tue Aug 01, 2006 8:34 am
Location: Richland, Washington State, USA
Contact:
mawyatt wrote:So can we please agree to agree or do I need to "Rest my case, and let the jury decide?"
If those are the only options, then it's "let the jury decide".

I have no disagreement with most of what you're saying.

The one part I do disagree with is your claim that starting with a microstep position is weaker. If that were the case, then the graphs would show less deflection under load at the full step positions, and more deflection under load at the microstep positions, and that relationship does not appear in the data.

At this point, I'm inclined to doubt that any physical experiment could change your mind on this point. Can you suggest one that might?

--Rik

mawyatt
Posts: 2492
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida
rjlittlefield wrote:
mawyatt wrote:So can we please agree to agree or do I need to "Rest my case, and let the jury decide?"
If those are the only options, then it's "let the jury decide".

I have no disagreement with most of what you're saying.

The one part I do disagree with is your claim that starting with a microstep position is weaker. If that were the case, then the graphs would show less deflection under load at the full step positions, and more deflection under load at the microstep positions, and that relationship does not appear in the data.

At this point, I'm inclined to doubt that any physical experiment could change your mind on this point. Can you suggest one that might?

--Rik
Rik,

A micro-step position vs. a cog position has to be weaker simply because of the permanent magnetic fields align with the cog positions, not with the micro-step positions. The heavier the detent the weaker the micro-step position relative to the cog position, the lower the motor current the weaker the micro-step position.

Good engineering will always take advantage of things if you can and operating from a cog position with integer cogs steps is doing just that. If you can't start from a cog position, or must use steps below a full cog step, then pick a micro-step that has the most increment torque.

You can also operate with higher holding current and reduce this "weaker micro-step position" effect, but will subsequently suffer a higher motor and controller temperature, or use a motor with lower detent torque and suffer more position slippage, especially in a vertical stage.

I don't think we need to perform an experiment, Hackaday has already done so, and the results confirm, as does the Myths article, what I've been saying all along.

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

kaleun96
Posts: 198
Joined: Sat Oct 20, 2018 3:47 pm
Location: Stockholm, Sweden
At risk of derailing this thread any further - how can you force a stepper into its cog position, or in the case of microstepping, force it to stop at a 1/4 step or 1/2 step position while running at 1/8, 1/16, etc microsteps?
- Cam

mawyatt
Posts: 2492
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida
kaleun96 wrote:At risk of derailing this thread any further - how can you force a stepper into its cog position, or in the case of microstepping, force it to stop at a 1/4 step or 1/2 step position while running at 1/8, 1/16, etc microsteps?
Cam,

The stepper "cog" position is the natural unpowered rotor position, this is where the permanent magnetic fields align, and the rotor has a "detent". So with a 200 step motor, there are 200 of the cog detent positions. You can feel these detent cog positions by rotating the rotor by hand. If you do this under power you can feel the detent being stronger due to the added electro-magnetic field induced by the motor current. Some motors have a stronger unpowered detent, the various motors I have vary about 3X in detent strength.

You can make a 1/2 step position by moving 1/2 step from a cog, 1/4 step move for 1/4 step position. If you are using 1/16 controller micro-steps this would take 8 micro-steps (8/16 = 1/2) and 4 micro-steps from a cog position for 1/4 step (4/16 = 1/4).

Hope this helps.

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