# How to compensate inverter nonlinearities in feedback manner?

I have implemented the direct field oriented control of the three phase induction motor. The control algorithm exploits a speed sensor and machine model based on the Luenberger state observer.

The control structure is functional but during the tests I have found that at zero speed the machine doesn't produce its nominal torque. I have a suspicion that the reason for the error in the torque production is caused by the discrepancy between the actual stator voltage at the machine terminals and the stator voltage supplied as an input to the state observer. This discrepancy is in my opinion caused by the inverter nonlinearities - I would say mainly the dead-times. I have attempted to compensate them in the feedforward manner based on the stator current. But it seems to me that this method isn't sufficient because the error in torque production is smaller against the case without compensation but still exists.

I have been looking for some feedback based method. Does anybody know a robust method for compensation of the inverter nonlinearities?

EDIT:

The stator voltage at zero speed

The stator current at zero speed

The stator current provided by the Luenberger state observer at zero speed as a part of the state estimate

• How are you forming your waveform at low speeds? Do you change the PWM frequency? May 16, 2023 at 19:45
• @JohnBirckhead thank you for your reaction. I have been using the space vector modulation algorithm for the stator voltages forming. The carrier frequency is fixed and the modulation frequency is naturally variable. May 16, 2023 at 20:33
• Warning: I am a brushless motor guy. But it feels like that to generate torque in an induction motor at zero speed, your field would be rotating at the slip speed for that torque; one or two Hz. At these low speeds, I think you're right - the quantizing error for your PWM steps would occur at a low enough rate so as not to be smoothed out by the motor's self inductance. May 17, 2023 at 0:32

If you are using only electrical parameters $$\i_{\alpha\beta}\$$, $$\v_{\alpha\beta}\$$ as inputs for a position observer, your estimation of rotor position will decay at zero speed due lack of any measurable back-emf. Are you employing any additional techniques to obtain a rotor position estimate at zero speed? Most techniques I am aware of involve the injection of a high frequency signal in the stator, and back out a position estimate based on the measured response.
• Thank you for your answer. I am sorry if my question isn't clear. I have been using the state observer for estimation of the rotor flux not for the rotor position estimation. The state observer exploits the $\hat{i}^{\alpha\beta}_s$, $\hat{v}^{\alpha\beta}_s$ and $\omega_m$. May 16, 2023 at 20:29