I would like to implement the Field Oriented Control (FOC) algorithm on my STM32 board for controlling a 3 phases sensorless BLDC motor.
By googling I found a very interesting Application Note from Texas Instruments which explains very clearly how to apply the FOC algorithm for driving a sensorless 3 phase BLDC.
On page 10 of the application note, there is a block diagram of the algorithm and there is a block called Sliding-Mode Based Rotor Position Estimator.
Since in my application I have an IMU (Inertial Measurment Unit) fixed on the shaft of the BLDC motor, I can get both rate and acceleration data.
Once combined the data into my Kalman Filter (outputs a quaternion), I have both speed and position information of the rotor.
- Can I use IMU's data for the rotor position, instead of estimating as shown?
- Is it correct considering the rotor angle got from the IMU for closing the loop?