Several questions on which I would appreciate some feedback from more experienced folks:
- If the gains of the motor control system are larger than the range of IQ numbers, one way to successfully represent them would be to change the IQ data type. This however, results in a significant degradation in resolution. According to an old TI presentation, only Q26 to Q19 are stable as above this not enough dynamic range and below it one faces quantization errors. Changing from Q24 to Q15(which provided adequate dynamic range) control did not function as expected. Would moving to a floating point algorithm on a native floating point processor alleviate the problem of adequate dynamic range and sufficient resolution? Any other ideas for scaling?
- When entering gains in to the PID modules, Kp, Ki and Kd are scaled to the base values of the respective quantities, correct? For example, if the base current value is 20A, then the gains for the Id and Iq PI controllers will be divided by 20 before being entered. This assuming that the original gain calculation was carried out using just amps.