2025-02-06 03:05 AM
Hi. I am using FOC MCSDK 6.2.1 to control 1 pole pair low inductance BLDC motor. Everything works fine except one problem I encountered recently. At high RPM function STO_PLL_CalcElAngle() calculates incorrect rotor speed. For example: at target speed of 36000 RPM it estimates rotor speed (converted to RPM) like 36000±200 RPM. When I increase target speed to 37000 RPM it estimates rotor speed like 36800±200 RPM. At 38000 RPM target speed the estimated speed again like 36800±200 RPM and stops increasing when I increase target speed. I tried to decrease STO PLL_KP_GAIN and PLL_KI_GAIN but it didn't help. What can I try to do?
Voltage applied to bridge driving circuit is 32V. PWM frequency is 31 KHz, BEMF constant of the motor is 1.24, it was measured according to this equation
https://wiki.st.com/stm32mcu/wiki/File:Setup_motor_parameters_manually-7.png
Thanks