发 帖  
原厂入驻New
申请华秋企业认证 多层板首单免费打样!
30s提交资料,10分钟通过审核(免费赔付+顺丰包邮)>>立即报名

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

2016-1-6 11:18:06  20876 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;
        }
   }
}




相关经验

wn1007082514 2018-6-19 15:06:55
谢谢楼主。。。。
回复

举报

BruceBai 2018-6-20 10:18:13
不错的资料,很实用,谢谢教主分享,哈哈哈哈哈
回复

举报

ylyang 2018-6-21 13:24:42
有参考价值,谢谢楼主的分享。。。。。。。
回复

举报

Carl0612 2018-6-26 11:06:01
谢谢您的分享,回覆看看很好的程式
回复

举报

人生意义 2018-6-26 16:36:40
谢谢分享 找了这个好久了,是不是有什么模版
回复

举报

xgt0602044129 2018-6-26 21:20:58
不错不错,学习学习
回复

举报

chase007xiao 2018-6-27 08:36:26
很不错的。以前没有搞过,可以学习学习。
回复

举报

Waynebdhddh 2018-6-27 09:08:21
学习学习看看看看
回复

举报

zhoujd 2018-6-29 10:45:00
很好......................................................................................................................
回复

举报

martin221 2018-6-30 10:45:22
谢谢分享,赞一个。
回复

举报

pijjjj 2018-7-2 14:29:31
基于单片机的pwm三相无刷直流电机控制系统
回复

举报

jun_lin 2018-7-2 18:43:37
wr 3frefregtrgtrgrewgef
回复

举报

huinice 2018-7-3 11:42:35
忍不住想往下看,学习了
回复

举报

哎啦啦啦 2018-7-12 17:30:00
大神可不可以把剩余的资料提供一下,万谢
回复

举报

期待了 2018-8-3 11:19:39
谢谢分享,不错的东西。。。。。。。。。。。。。。
回复

举报

期待了 2018-8-3 11:20:07
谢谢分享,不错的东西。
回复

举报

ldx09162 2018-8-3 21:13:39
谢谢!学习了                           
回复

举报

libya110 2018-8-8 22:34:42
谢谢分享,学习了
回复

举报

达摩克利斯剑 2018-8-13 19:55:17
看看                                                



回复

举报

mango@orange 2018-8-13 20:45:25
写的很详细的啊
回复

举报

评论

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

发经验
关闭

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

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