Showing results for 
Search instead for 
Did you mean: 

How can i reach maximum speed using FOC?

Associate III

Hello Sir/Madam,

I'm developing FOC motor control algorithm for our motor application. I've coded mathematical equations, PI controller and SVM. I've only current loop so I am controling torque. When I run my code, I expect that my motor will run at maximum speed. Instead of runnig at 6500rpm, it runs at 1000 rpm.

I've tried to changed PI controller maximum limit and it increased the motor speed of course. But, more i increaed motor commutation becomes unstable.

I'm working with Q format.

Timer's period value is 2500. When i looked at SVPWM output, it was changing between 1000 and 1500. I think this difference should be much more.

What can limit my motor speed and this difference? Thank you in advance.

MCU: STM32G431

Motor: 24V, 8 poles, 6500rpm at no load

Feedback: Incremental Encoder, 8 poles, 2048 CPR

System Clock Frequency: 100MHz

PWM Frequency: 20kHz

Currrent Loop Frequency: 20kHz

Q Format: Q1.15