直流无刷电机的六步换向法控制原理可以看其他的文章视频学习。本文采用24V直流无刷电机,驱动板采用集成的IPM(高电平导通)。通过直流无刷电机输出的三路霍尔信号,经过处理4A+2B+C=Hall,根据Hall的值即可判断出当前电机转子的位置,根据Hall的值,给定一定的PWM占空比按照六步换向法的基本原理,及时调整三相桥式电路的通电顺序,即可带动无刷直流电机的持续转动。

顺时针转动

101

100

110

010

011

001

4A+2B+C

5

4

6

2

3

1

主程序如下图所示:

三相霍尔输入:

六步换向法:

function [pwm1a,sfa1,pwm1b,sfb1,pwm2a,sfa2,pwm2b,sfb2,pwm3a,sfa3,pwm3b,sfb3] = SixStepForBLDC(sector,pwm)
%顺时针转动
switch sector
    case 1
        pwm1a = 0;
        sfa1 = 1;
        pwm1b = 0;
        sfb1 = 2;
        pwm2a = pwm;
        sfa2 = 0;
        pwm2b = 0;
        sfb2 = 1;
        pwm3a = 0;
        sfa3 = 1;
        pwm3b = 0;
        sfb3 = 1;
    case 2
        pwm1a = pwm;
        sfa1 = 0;
        pwm1b = 0;
        sfb1 = 1;
        pwm2a = 0;
        sfa2 = 1;
        pwm2b = 0;
        sfb2 = 1;
        pwm3a = 0;
        sfa3 = 1;
        pwm3b = 0;
        sfb3 = 2;
    case 3      
        pwm1a = 0;
        sfa1 = 1;
        pwm1b = 0;
        sfb1 = 1;
        pwm2a = pwm;
        sfa2 = 0;
        pwm2b = 0;
        sfb2 = 1;
        pwm3a = 0;
        sfa3 = 1;
        pwm3b = 0;
        sfb3 = 2;
    case 4
        pwm1a = 0;
        sfa1 = 1;
        pwm1b = 0;
        sfb1 = 1;
        pwm2a = 0;
        sfa2 = 1;
        pwm2b = 0;
        sfb2 = 2;
        pwm3a = pwm;
        sfa3 = 0;
        pwm3b = 0;
        sfb3 = 1;
    case 5
        pwm1a = 0;
        sfa1 = 1;
        pwm1b = 0;
        sfb1 = 2;
        pwm2a = 0;
        sfa2 = 1;
        pwm2b = 0;
        sfb2 = 1;
        pwm3a = pwm;
        sfa3 = 0;
        pwm3b = 0;
        sfb3 = 1;
    case 6
        pwm1a = pwm;
        sfa1 = 0;
        pwm1b = 0;
        sfb1 = 1;
        pwm2a = 0;
        sfa2 = 1;
        pwm2b = 0;
        sfb2 = 2;
        pwm3a = 0;
        sfa3 = 1;
        pwm3b = 0;
        sfb3 = 1;
    otherwise
        sfa1=0;
        sfb1=0;
        sfa2=0;
        sfb2=0;
        sfa3=0;
        sfb3=0;
        pwm1a=0;
        pwm1b=0;
        pwm2a=0;
        pwm2b=0;
        pwm3a=0;
        pwm3b=0;
end

PWM输出如下所示,通过输入state控制PWM开通与关断:

PWM模块的设置如下:

PWM模块的死区时间设置根据自己的驱动板自行给定。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐