cancel
Showing results for 
Search instead for 
Did you mean: 

BLDC 6 step example and configuration

Colin Bairoch
Associate II
Posted on July 03, 2018 at 10:15

Hello,

I'm using a STM32F303RB on a project.

I need to rotate a small and low power BLDC motor. I don't need high speed rotation, I only want to controll it as a stepper and use the 6 step commutation solution in open loop, so without any back EMF.

My brushless driver is a very simple

three pairs of power MOSFETs arranged in a bridge structure.

I connected the 6 gates of the MOSFETs on 6 output of the stm32 like this:0690X0000060LaRQAU.png

I'm using the timer 1 which is an advance timer. As I understood, it's correct to configure it as PWM Generation CHx, CHxN for BLDC driver. But I don't totally get it, because for example CH1N is not suppose to be the opposite signal of CH1. It's suppose to follow the commutation order as for example this picture:

If I'm not wrong, the purpose of the PWM is not to make the switch between the differents 6 step, but to apply a voltage on the motor proportionnal to the duty cycle. And then the PWM on each MOSFET switch between OFF and the desired duty cycle when it's on the step conresponding

Anyway, does anyone could help me about the configuration of the advanced timer 1 for this application ?

A CubeMx configuration would be amazing but a C code is great too. I can't find any example of this with a stm32 uC

Here is my clock configuration:

0690X0000060LH2QAM.png

brushless 6-step-commutation advance-timer bldc-h-bridge bldc-driver brushless-6-step-commutation brushless-driver bldc-6-step-configuration stm32

0 REPLIES 0