http://web.mit.edu/kirtley/kirtley/binl ... ontrol.pdf
"Since the current regulator loses control of the instantaneous machine phase currents under such conditions [4], the current vector command must be continually adjusted so that it always resides safely inside the voltage ellipse. However, it is desirable to approach the ellipse as closely as possible under heavy load conditions in order to deliver maximum power from the IPM machine"
This seems to match what I have seen in my previous tests that have included syncadv changes and where I have been trying to figure out the actual iq-id current vector that is happening.
I'm not sure if I get this, but how I understand it currently is that in practice before ud hits the floor, the iq-id vector has to be moved closer to the motor's
characteristic current point. Moving the iq-id vector closer to the
characteristic current point should always result in gaining more room in ud.
At the
characteristic current point no torque is generated (due to iq=0A), so to generate meaningful torque, you have to maintain as much iq as you can.
The iq of the
characteristic current point is always 0A, and the id varies between motors. The
characteristic id is constant and it can be anything, from 0A to higher than the maximum current for the motor. When the
characteristic id of the motor is higher than the maximum current of the motor, you can drive the motor without thinking too much about the
characteristic id.
The Leaf motor and many others have a
characteristic id higher than the maximum current. In such a motor, the way to get maximum field weakening is to point the iq-id vector increasingly towards -id using maximum current. Actually, what I said before was a lie - in these motors you cannot infinitely approach the
characteristic current point, thus ud inevitably hits the floor at some point with increasing speed.
The MGR has a
characteristic id much less than the maximum current, which is the source of our problems. In such a motor, if you point the iq-id vector increasingly towards -id using maximum current, you go way off from the
characteristic current point and don't get field weakening.
So, before ud hits the floor, the iq-id vector has to be moved closer to the motor's
characteristic current point. This generally involves decreasing iq, and either decreasing or increasing id so as to target the
characteristic id. This can be done using a limiting mechanism with a ratio between iq and id, and a base offset for id, as the id limit has to be centered around the
characteristic id. Basically: limit iq down, and limit id within a range of values around the
characteristic id. The faster the speed, the smaller the allowed range will be. A reasonable ratio for the limiting seems to be something like 1 iq : 3 id but it of course depends on the motor.
It seems to me the field weakening controller could be set up to control a limit like this.