发 帖  
原厂入驻New

[经验] 基于单片机的PWM三相无刷直流电机控制系统

2016-1-6 11:18:06  20752 PWM 单片机
分享
34
推荐课程:
张飞软硬开源:基于STM32的BLDC直流无刷电机驱动器(视频+硬件)  
http://url.elecfans.com/u/73ad899cfd      


一个三相无刷直流电机驱动,通过霍尔传感器检测转子位置,霍尔值改变的次数检定速度测量单片机的脉冲宽度调节(PWM)来调节速度来达到控制三相无刷直流电机的目的。

1.检测霍尔传感器的值可以判断出转子的位置,再使能相应的上下桥臂,则能驱动电机运动;若要让电机持续转动,则必须再次检测传感器值及使能相应的上下桥臂。这里采用的是将霍尔传感器输出的三根线相边的IO口配置成外部中断,并且为边沿触发,在中断函数中加入传感器检测与上下桥臂切换程序,如此电机就能持续运转了。


2.上桥臂的控制采用IO口置高低电平来控制上桥臂的通断,下桥臂则使用单片机内部集成的三路PWM波来控制,通过控制PWM波的占空比,可以实现对电机的调速了。实际测得,占空比与电机的速度成正比例关系,在PWM波频率为20KHz时,占空比增加1%,速度增加60rpm,并在占空比为53%时达到额定转速3000rpm(空载)。
3.速度测量则采用如下公式:电机每转一圈,霍尔值改变6次x5个周期=30次,记录边沿触发的中断次数N/30=电机转 过的圈数,设运转时间为t(s)则电机转速v=N/30/t*60 rpm。即动转时间为2s时,霍尔值改变次数即为速度值,单位rpm。

4.调速:给定速度,由电机驱动板自动由当前速度平滑过渡到给定速度。实际测试发现,速度变化量很大时,电机会有突然加速或减速时的冲击;因此,调速应有一个缓冲的过程。即加速或减速应以小步进缓慢增加或减少占空比来让速度渐渐达到最终值。



控制代码:
游客,如果您要查看本帖隐藏内容请回复

函数:void EXti15_10_IRQHandler(u8 dir,u8 hall)
描述:霍尔传感器中断
参数:
返回:
*****************************************************************************************/
void EXTI15_10_IRQHandler(void)
{
    Hall_Conter++;
    IF ((EXTI_GetITStatus(EXTI_Line11) != RESET)||(EXTI_GetITStatus(EXTI_Line12) != RESET)||(EXTI_GetITStatus(EXTI_Line15) != RESET))
    {

        if(Motor.State!=STOP)
        PWM_T_Int(Motor.Dir,Motor.Speed);
    }        
    EXTI_ClearITPendingBit(EXTI_Line11); //清除标志
    EXTI_ClearITPendingBit(EXTI_Line12); //清除标志
    EXTI_ClearITPendingBit(EXTI_Line15); //清除标志
}
/*****************************************************************************************
函数:void Test_Motor(u8 dir,u8 hall)
描述:电机控制
参数:
返回:
*****************************************************************************************/
void Test_Motor(void)
{
    while(1)
   {
        switch(Motor.State)
        {
            case STOP :
                Motor_Stop();
                break;
            case RUN :
                Motor_Start();
                Motor.State=FREE;
                break;
            default :
                break;
        }
   }
}




相关经验

小九九1 2019-5-29 10:28:47
HAOZILAIO,KEYIKANKAN
回复

举报

精致迷宫 2019-5-31 09:34:50
讲的很透彻,学习一下
回复

举报

123443 2019-6-6 15:26:18
。。。。。。。。。。。。。。。。。。。。。。。。。。。
回复

举报

陀螺仪 2019-6-13 11:01:21
上桥臂的控制采用IO口置高低电平来控制上桥臂的通断
回复

举报

liwei1234 2019-6-20 11:05:23
顶一个,楼主分享的东西很好
回复

举报

DreamHVA 2019-6-20 20:05:09
感谢分享,学习一下。
回复

举报

cuixiupeng2521 2019-6-21 12:08:00
。。。。。。。。。。。。。。。。。。。。。。。
回复

举报

cml1264611 2019-6-22 22:22:55
用用,多谢楼主分享,温故知新下
回复

举报

沈波志 2019-6-25 20:34:50
学习学习,成大神
回复

举报

好土考虑 2019-6-27 12:55:15
电机会有突然加速或减速时的冲击;因此,调速应有一个缓冲的过程。即加速或减速应以小步进缓慢增加或减少占空比来让速度渐渐达到最终值。
回复

举报

每天进步一点点8 2019-6-28 14:01:15
谢谢楼主,准备学习一下为自己的课题加入反馈控制
回复

举报

一言wjg 2019-6-28 15:26:32
谢谢分享
学习。。。。
回复

举报

flashlix 2019-7-18 15:56:08
现在在找这方面的资料,谢谢
回复

举报

疯不觉lm 2019-7-21 10:37:02
基于单片机的PWM三相无刷直流电机控制系统
回复

举报

Fove_r 2019-7-22 10:27:14
111111111113333333333333333333333333
回复

举报

wx15919707315 2019-7-23 09:37:43
EC20CEHCLG-miniPCIE-CB  移远4G模块 全网通 QQ496601006
回复

举报

jmjack 2019-9-28 01:29:17
很好!谢谢楼主分享!
回复

举报

HelloWord0911 2019-10-9 17:33:02
基于单片机的PWM三相无刷直流电机控制系统 正是我要找的内容
回复

举报

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

发经验
关闭

站长推荐 上一条 /10 下一条

快速回复 返回顶部 返回列表