Hmm, I have to think about this a little - perhaps someone here in the forum with a background in control theory has a better answer for you.
But basically it is this:
-
updating the commutation faster than the sensor sample rate has no benefit because you don’t have new angle data. In theory, using interpolation between samples could help with that.
-
the commutation has to be updated regularly - basically is has to track the rotation of the motor, so in FOC that means the Q-axis voltage is 90° ahead of the rotor electrical angle. This gives maximum torque and minimum power consumption for that torque.
If you set the commutation at 0° instead of 90°, you won’t produce any torque, and if it is at -90° or 270° you would be putting torque in the opposite direction than you want. -
So if your motor is turning so fast that it moves through a large electrical angle between sensor readings, then you won’t have updated the commutation in time, and will be either holding the motor back, or worse, have “skipped” commutation, usually with terrible effect on the performance.
-
I think control theory people would say that the “phase margin” for control is insufficient or bad if the motor moves too far between sensor readings.
-
What constitutes too far, numerically? I don’t have a formula on-hand, perhaps others here with a theoretical background in motor control can give a better answer here.
But we can compute the following:
electrical angle a_e moved in time t, given pole pairs of the motor pp and angular velocity v (rad/s):
In a perfect system, the commutation angle would be perfectly at 90° ahead of the rotor position. In an imperfect system, the angle is less than 90° due to the measurement lag.
So the applied Q-axis current is less than the expected one, depending on the offset in angle. If the angle is less than 90° by an amount a_d then the current is reduced by:
So as your motor turns faster the electrical angle between sensor readings increases, and the efficiency of the commutation decreases.
I think I’ll stop here and give someone with more knowledge a chance to answer ![]()
I think you’d want to draw a bode plot to compute the phase margins and gains, and from this could answer numerically, but I’m not confident to get that right…