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

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

ID:21566570

大小:57.50 KB

页数:11页

时间:2018-10-22

三相直流无刷电机驱动程序_第1页
三相直流无刷电机驱动程序_第2页
三相直流无刷电机驱动程序_第3页
三相直流无刷电机驱动程序_第4页
三相直流无刷电机驱动程序_第5页
资源描述:

《三相直流无刷电机驱动程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、WORD文档下载可编辑1.检测霍尔传感器的值可以判断出转子的位置,再使能相应的上下桥臂,则能驱动电机运动;若要让电机持续转动,则必须再次检测传感器值及使能相应的上下桥臂。这里采用的是将霍尔传感器输出的三根线相边的IO口配置成外部中断,并且为边沿触发,在中断函数中加入传感器检测与上下桥臂切换程序,如此电机就能持续运转了。2.上桥臂的控制采用IO口置高低电平来控制上桥臂的通断,下桥臂则使用单片机内部集成的三路PWM波来控制,通过控制PWM波的占空比,可以实现对电机的调速了。实际测得,占空比与电机的速度成正

2、比例关系,在PWM波频率为20KHz时,占空比增加1%,速度增加60rpm,并在占空比为53%时达到额定转速3000rpm(空载)。3.速度测量则采用如下公式:电机每转一圈,霍尔值改变6次x5个周期=30次,记录边沿触发的中断次数N/30=电机转过的圈数,设运转时间为t(s)则电机转速v=N/30/t*60rpm。即动转时间为2s时,霍尔值改变次数即为速度值,单位rpm。4.调速:给定速度,由电机驱动板自动由当前速度平滑过渡到给定速度。实际测试发现,速度变化量很大时,电机会有突然加速或减速时的冲击;因

3、此,调速应有一个缓冲的过程。即加速或减速应以小步进缓慢增加或减少占空比来让速度渐渐达到最终值。#include"stm32f10x.h"#include"driver_motor.h"#definePWM_PERIOD_T400#defineU_Up_OnGPIOB->BSRR=GPIO_Pin_13#defineU_Up_OffGPIOB->BRR=GPIO_Pin_13#defineU_Dn_OnGPIOA->BSRR=GPIO_Pin_8#defineU_Dn_OffGPIOA->BRR=GPI

4、O_Pin_8#defineV_Up_OnGPIOB->BSRR=GPIO_Pin_14#defineV_Up_OffGPIOB->BRR=GPIO_Pin_14#defineV_Dn_OnGPIOA->BSRR=GPIO_Pin_9#defineV_Dn_OffGPIOA->BRR=GPIO_Pin_9#defineW_Up_OnGPIOB->BSRR=GPIO_Pin_15#defineW_Up_OffGPIOB->BRR=GPIO_Pin_15#defineW_Dn_OnGPIOA->BSRR=

5、GPIO_Pin_10#defineW_Dn_OffGPIOA->BRR=GPIO_Pin_10#defineSU_HORGPIOA->IDR&GPIO_Pin_15#defineSV_HORGPIOA->IDR&GPIO_Pin_12#defineSW_HORGPIOA->IDR&GPIO_Pin_11//u8Motor_Dir=0;//u8Motor_EN=0;专业技术资料精心整理WORD文档下载可编辑//u8Hor_Value=7;//u16TIM2_Conter=0;u16Hall_Conte

6、r=0;MotorStructMotor={CLOCK,40,STOP};/********************************************************************************函数:voidIO_Init(void)*描述:IO*参数:*返回:*其它:*******************************************************************************/voidIO_Init(void)

7、{GPIO_InitTypeDefGPIO_InitStruct;EXTI_InitTypeDefEXTI_InitStructure;//GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);/*使能SWD禁用JTAG*//**********************LEDLight***********/GPIO_InitStruct.GPIO_Pin=GPIO_Pin_12;GPIO_InitStruct.GPIO_Mode=GPIO_Mo

8、de_Out_PP;GPIO_InitStruct.GPIO_Speed=GPIO_Speed_2MHz;GPIO_Init(GPIOB,&GPIO_InitStruct);/***********************霍尔传感器中断**********/GPIO_InitStruct.GPIO_Pin=GPIO_Pin_11

9、GPIO_Pin_12

10、GPIO_Pin_15;GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IN_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。