FOC SVPWM Output Limit Problem

Thread Starter


Joined Dec 7, 2022
Hello There,

I'm currently working on Field Oriented Control for BLDC/PMSM motors. I've coded FOC math, PI controller and SVPWM libraries. All libraries are written as Q1.15 format. Everything seems fine but when I run my code, my motor cannot reach the maximum speed. It turns at 1000rpm. In my opinion, motor should reach maximum speed because its Iq reference is very high and PI controller output at maximum value. I've tried to increase PI controller maximum limit and my motor's speed increased. If I increase too much, control of motor becomes unstable. I've checked SVPWM outputs and CCR changing between 1000 - 1400. My period value is 2500. What can be the reason of this limit and low difference at SVPWM?

Motor's Parameters:
8 poles
No Load Speed: 6500rpm
No Load Current: 1.1A
Feedback: Incremental Encoder with 2048 CPR and 8 poles

Microcontroller: STM32G431
Switching frequency and current controller loop frequency are 20kHz.