Other Parts Discussed in Thread: TMS320F280049
Hello,
We have an inverter we have developed some time ago based on TMS320F280049 using the example projects initially but without sensorless control (using an external resolver and a resolver to encoder interface). The project now has evolved a lot so the original code doesn't look very much like the original one but the control core (park, clarke, svgen, etc.) is still very much the same. Now our customer requires the usage of sensorless control so I am trying to add this functionality by analysing the code in the example project is_06_torque_control_eabi and adding the necessary parts to our project.
I have reached a point where I can run the inverter/motor sensorless at low speeds, I have scoped the estimated angle and it looks good. However, I am having a problem with the estimated speed. The output of the FAST estimator is twice the value I am expecting. Coincidentally, the estimated flux value (I think this two problems are linked) is roughly half the value I am expecting too (It should be around 0.6VpHz). If I use the real motor flux value (0.6VpHz) then I can't run the motor/inverter. If I double the number of pole pairs of the motor, then I get the correct estimated speed but the flux is still half the value I am expecting. Under this configuration I can run up to full torque at low speeds (up to 600rpm or so) but the moment I start going a little bit higher than that the speed/angle goes all over the place and the inverter goes into fault.
Any ideas what might be happening?
Motor specs:
- 25 pole pair
- 450Arms
- 500 Vdc nominal
- Max speed of 1200rpm
- 2050 Nm max torque
- 220kW max power
- Rs = 0.013 Ohm
- Ld/Lq = 70uH
- Flux = 90mWb = 0.6VpHz
Inverter config:
- We are using 10kHz switching frequency (and control frequency)
- USER_MAX_VS_MAG_PU = 0.5774 (we use in-phase hall effect sensors so no current reconstruction needed)
- USER_VOLTAGE_FILTER_POLE_Hz = 530 Hz