The concept is very simple.
1) Based on direction selection and throttle position we choose a torque output between -100 and +100.
2) Choose a value of slip proportional to desired torque (for example -3Hz to +3Hz)
3) Choose a value of current proportional to desired torque (for example -200A to +200A).
4) Output a sine wave with the selected slip.
5) Feed current feedback (ilMax) and requested current into a PID and use the output to control sine wave voltage.
By controlling voltage in this way, we can maintain a consistent current without worrying about the V/Hz curve (ie boost / fweak) at all, as well as simplify current limiting and derating.
As with field oriented control, we need to make sure the field angle is correct. This is unfortunately still a matter of trial and error in configuration, however it is my belief that the correct angle can probably be maintained by maintaining a value of slip proportional to torque. For example in the SDU, a value of 1Hz slip per 150A seems optimal.
I'm still at an extremely early stage in implementing this, but a very basic proof of concept can be found here: https://github.com/catphish/stm32-sine/ ... d6c832bfdb
This code produces good results in a low power bench test but probably needs more thought before it goes anywhere near a car. I'd be very interested if anyone else with a strong understanding of induction motors would be willing to collaborate on this.
