第一范文网 - 专业文章范例文档资料分享平台

三相直流无刷电机驱动程序

说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

三相直流无刷电机驱动

程序

Document serial number【LGGKGB-LGG98YT-LGGT8CB-LGUT-

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

#include \

#include \

#define PWM_PERIOD_T 400

#define U_Up_On GPIOB->BSRR = GPIO_Pin_13

#define U_Up_Off GPIOB->BRR = GPIO_Pin_13

#define U_Dn_On GPIOA->BSRR = GPIO_Pin_8

#define U_Dn_Off GPIOA->BRR = GPIO_Pin_8

#define V_Up_On GPIOB->BSRR = GPIO_Pin_14

#define V_Up_Off GPIOB->BRR = GPIO_Pin_14

#define V_Dn_On GPIOA->BSRR = GPIO_Pin_9

#define V_Dn_Off GPIOA->BRR = GPIO_Pin_9

#define W_Up_On GPIOB->BSRR = GPIO_Pin_15

#define W_Up_Off GPIOB->BRR = GPIO_Pin_15

#define W_Dn_On GPIOA->BSRR = GPIO_Pin_10

#define W_Dn_Off GPIOA->BRR = GPIO_Pin_10

#define SU_HOR GPIOA->IDR & GPIO_Pin_15

#define SV_HOR GPIOA->IDR & GPIO_Pin_12

#define SW_HOR GPIOA->IDR & GPIO_Pin_11

//u8 Motor_Dir=0;

//u8 Motor_EN=0;

//u8 Hor_Value=7;

搜索更多关于: 三相直流无刷电机驱动程序 的文档
三相直流无刷电机驱动程序.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c9tos084ks59bpag891bi6tck19hq4z003fi_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top