Electronic – Two identical stepper motors behaving differently at higher (but below their rated) speeds

encodermotorstepper motorstepper-driver

Note:

My question might be short on specifics here when it comes to the motor-parameters, but I have been trying to understand a situation for the last 2~3 Weeks, and I still don't have an explanation for it, and was just hoping that someone with more experience might be able to throw some insight.

Background:

I had to use 2 stepper motors for a specific project. Both the motors are from the same supplier and of the same type with exactly the same parameters.

Unfortunately, the two motors seem to behave differently and this is where it gets curious. After already going through checking all the motor parameters, and any electrical connection issues, we have come down to localizing the problem to the motors (or their encoders).

What is observed:

  1. Both motors, behave similarly at low speeds (low but above their lower limit).
  2. Upon increasing speed, one of the motor keeps working, while the other starts reporting "position control" errors, meaning the commanded-position and the position reported by the encoder have diverged from each other beyond our tolerance limit. (Remember the motors are identical.)
  3. At first we thought the encoder has a problem, because the problematic motor itself when driven in an open-loop at different speeds seems to run smoothly. We could push it up all the way to its rated maximum speed without any noticeable issues.
  4. But after checking the encoder signals, (it is a rotary encoder), it seems the encoder signal has no problem. We don't see any skips or other phenomenon. If the motor is rotated with constant speed, we see equidistant square wave encoder signals with same amplitude.
  5. Then we thought that the motor itself has probably problems only when running in a closed-loop. So if the encoder is ok, then what else could be a problem? Probably the current drawn by the motor? So we measured the current drawn by the motors. And here it gets interesting. And this is what I want to understand.

Question:

For the same voltage, same commanded movement and same speed, the two motors exhibit two completely different graphs.

  • The "good" motor has a smooth sinusoidal graph for the absolute RMS current, that varies between 0.1 to 0.4 Amperes.

  • The "bad" motor has a very irregularly formed curve from the drawn current, even though the commanded movement, the speed and the voltage is exactly the same. Also the current varies between 0.1 to 0.8 Amperes.

We checked the resistance of both the coils of both the motors. They are about the same 2.7 Ohm +/- 0.4Ohm.

So why do the motors exhibit different behavior? Anyone has any ideas, guesses? Because I have no more ideas left now on what to try.

Followup test:

As a further check, I doubled the voltage on both the stepper motors. Now both the motors run smoothly with pretty smooth and nearly identical current curves.

So, at higher voltage the problem disappears.

What is however curious, is that for the "good" motor a doubling of the voltage lead to an almost doubling of the absolute RMS current.

For the "bad" motor, a doubling of the voltage still showed a graph for the absolute RMS current that swings between 0.1A and 0.8A. Is this to be expected?

Further followup Test:

To isolate the case that the Controller and not the motor is the issue, I exchanged the two controllers between the good motor and the bad motor. Switching the controllers had no effect. The bad side stayed bad while the good side remained good. So it can't be the controller.

Note:

The motors are being tested well below their rated current limit (30% of the max) and rated speed limit (about 40%~50% of the max), even when doubling the voltage. This is not a case of me, testing the motor beyond its rated capacity. Also, there are no mechanical obstacles or weights. I am testing the two motors without any load.

What else could I be missing?

p.s. is it even significant that the absolute RMS current graphs are different for the two motors?

Any feedback is greatly appreciated.

Best Answer

So, we contacted the motor manufacturer. And after analyzing the situation, we came to the following conclusions. I share them here, just in case someone else might one day see similar effects and would like to understand their own motor-problem.

  1. The motors even if they are identical, i.e. from the same supplier and are of the same model type, still have some minor electrical &/or mechanical differences. These are stepper motors, and if we want precise control on speed and position, we probably ought to look into using servomotors instead, was the general conclusion at the end of the dicussion.

  2. The motors were being over-controlled. That is, we had tuned the parameters too tightly for one set of motors and since the motors did have minor electrical &/or mechanical differences, the same set of parameters lead to the other set of motors being "over-controlled" leading to "position control errors".

  3. There was a minor cabling error, which added a further layer of complication to the analysis of the error. This was something new for me, as I had always understood that if the electrical connections for the 2-phase stepper motor are not connected correctly, the motor will not run at all. But as we saw, the motor did run (albeit with strange sounds emanating from it), due to wrong axis connections.

Points 1&3 were the cause of the effects seen during running the motor in an open-loop.

Point 2 was the reason of our original problem.

Hope this info helps someone else in the future in analysing and diagnosing their problem.