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.
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:
- Both motors, behave similarly at low speeds (low but above their lower limit).
- 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.)
- 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.
- 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.
- 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.
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.
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.
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.