基于单片机控制的直流电机系统设计大学毕设论文.docx
- 文档编号:23251215
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:12
- 大小:86.07KB
基于单片机控制的直流电机系统设计大学毕设论文.docx
《基于单片机控制的直流电机系统设计大学毕设论文.docx》由会员分享,可在线阅读,更多相关《基于单片机控制的直流电机系统设计大学毕设论文.docx(12页珍藏版)》请在冰豆网上搜索。
基于单片机控制的直流电机系统设计大学毕设论文
单片机直流电机
摘要
本设计以AT89C51单片机为核心,以4*4矩阵键盘做为输入达到控制直流电机的启停、速度和方向,完成了基本要求和发挥部分的要求。
采用AT89C5单片机来控制直流电机,实现了软件与硬件相结合的控制方法。
用软件代替环形分配器,达到了对步进电机的最佳控制。
采用的H-桥驱动器使直流电机在开环状态下达到较高的变速转速,同时断电相不产生负的转矩分量,其能量被输入到电源,即将接通的下一相中去,增大了电流容量,提高了其工作的可靠性。
在设计中,采用了PWM技术对电机进行控制,通过对占空比的计算达到精确调速的目的。
关键词:
直流电机,PWM技术,占空比,H-桥驱动器
目录
1设计方案比较与分析1
1.1电机调速控制模块1
1.2PWM调速工作方式1
1.3PWM调脉宽方式2
1.4PWM软件实现方式2
2系统分析与设计2
2.1系统的硬件电路设计与分析3
2.2系统的软件设计4
2.2.1实验程序流程5
2.2.2PWM脉宽控制8
2.2.3键盘中断处理子程序9
2.2.4显示子程序9
2.2.5定时中断处理程序10
3测试结果与分析11
致谢12
参考文献13
1设计方案比较与分析
1.1电机调速控制模块
方案1:
采用电阻网络或数字电位器调整电动机的分压,从而达到调速的目的。
但是电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。
更主要的问题在于一般电动机的电阻很小,但电流很大;分压不仅会降低效率,而且实现很困难。
方案2:
采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整。
这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短、可靠性不高。
方案3:
采用由达林顿管组成的H型PWM电路。
用单片机控制达林顿管使之工作在占空比可调的开关状态,精确调整电动机转速。
这种电路由于工作在管子的饱和截止模式下,效率非常高;H型电路保证了可以简单地实现转速和方向的控制;电子开关的速度很快,稳定性也极佳,是一种广泛采用的PWM调速技术。
兼于方案3调速特性优良、调整平滑、调速范围广、过载能力大,因此本设计采用方案3。
1.2PWM调速工作方式
方案1:
双极性工作制。
双极性工作制是在一个脉冲周期内,单片机两控制口各输出一个控制信号,两信号高低电平相反,两信号的高电平时差决定电动机的转向和转速。
方案2:
单极性工作制。
单极性工作制是单片机控制口一端置低电平,另一端输出PWM信号,两口的输出切换和对PWM的占空比调节决定电动机的转向和转速。
由于单极性工作制电压波开中的交流成分比双极性工作制的小,其电流的最大波动也比双极性工作制的小,所以我们采用了单极性工作制。
1.3PWM调脉宽方式
调脉宽的方式有三种:
定频调宽、定宽调频和调宽调频。
我们采用了定频调宽方式,因为采用这种方式,电动机在运转时比较稳定;并且在采用单片机产生PWM脉冲的软件实现上比较方便。
1.4PWM软件实现方式
方案1:
采用定时器做为脉宽控制的定时方式,这一方式产生的脉冲宽度极其精确,误差只在几个us。
方案2:
采用软件延时方式,这一方式在精度上不及方案1,特别是在引入中断后,将有一定的误差。
但是基于不占用定时器资源,且对于直流电机,采用软件延时所产生的定时误差在允许范围,故采用方案2。
2系统分析与设计
总体设计方案的硬件部分详细框图如图一所示。
图2.1设计方案硬件框图
键盘向单片机输入相应控制指令,由单片机通过P2.0与P2.1其中一口输出与转速相应的PWM脉冲,另一口输出低电平,经过信号放大、光耦传递,驱动H型桥式电动机控制电路,实现电动机转向与转速的控制。
电动机的运转状态通过LED显示出来。
电动机所处速度级以速度档级数显示。
正转时数字向右移动,反转时数字向左移动。
移动速度分7档,快慢与电动机所处速度级快慢一一对应。
每次电动机启动后开始计时,停止时LED显示出本次运转所用时间,时间精确到0.1s。
2.1系统的硬件电路设计与分析
电动机PWM驱动模块的电路设计与实现具体电路见下图2.2。
本电路采用的是基于PWM原理的H型桥式驱动电路。
图2.2H型桥式驱动电路
PWM电路由四个大功率晶体管组成H型桥式电路构成,四部分晶体管以对角组合分为两组:
根据两个输入端的高低电平决定晶体管的导通和截止。
4个二极管在电路中起防止晶体管产生反向电压的保护作用。
4个电感在电路中是起防止电动机两端的电流和晶体管上的电流过大的保护作用。
在实验中的控制系统电压统一为5v电源,因此若达林顿管基极由控制系统直接控制,则控制电压最高为5V,再加上三极管本身压降,加到电动机两端的电压就只有4V左右,严重减弱了电动机的驱动力。
基于上述考虑,我们运用了4N25光耦集成块,将控制部分与电动机的驱动部分隔离开来。
输入端各通过一个三极管增大光耦的驱动电流;电动机驱动部分通过外接12V电源驱动。
这样不仅增加了各系统模块之间的隔离度,也使驱动电流得到了大大的增强。
在电动机驱动信号方面,我们采用了占空比可调的周期矩形信号控制。
脉冲频率对电动机转速有影响,脉冲频率高连续性好,但带带负载能力差脉冲频率低则反之。
经实验发现,脉冲频率在40Hz以上,电动机转动平稳,但加负载后,速度下降明显,低速时甚至会停转;脉冲频率在10Hz以下,电动机转动有明显跳动现象。
实验证明,脉冲频率在15Hz-30Hz时效果最佳。
而具体采用的频率可根据个别电动机性能在此范围内调节。
通过N1输入信号,N2输入低电平与N1输入低电平,N2输入信号分别实现电动机的正转与反转功能。
通过对信号占空比的调整来对车速进行调节。
速度分7档控制,从高电平(第6档)到低电平(第0档)中间占空比以20%逐极递减。
速度微调方面,可以通过对占空比以1%的跨度逐增或逐减分别实现对速度的逐加或逐减。
2.2系统的软件设计
本系统编程部分工作采用KELI-C51语言完成,采用模块化的设计方法,与各子程序做为实现各部分功能和过程的入口,完成键盘输入、按键识别和功能、PWM脉宽控制和LED显示等部分的设计。
单片机资源分配如下表1:
P0
显示模块接口
外部中断0
(P3.2)
键盘中断
P1
键盘模块接口
P2.0/P2.1
PWM电机驱动接口
内部定时器0
系统时钟
表1
系统主函数流程如图2.3:
图2.3系统主函数流程
图2.4系统函数流程
2.2.1实验程序流程
ORG05E0H
SE13:
MOVSP,#53H
MOV7EH,#00H
MOV7DH,#08H
MOV7CH,#03H
MOV7BH,#02H;显示缓冲区初值
LO20:
MOVA,#80H;停止
CALLLO21
MOVA,#00H;反转
CALLLO21
MOVA,#80H;停止
CALLLO21
MOVA,#0FFH;正转
CALLLO21
SJMPLO20
;======D/A直流电机正转、反转、停止===============
LO21:
MOVDPTR,#0FFE0H
MOVX@DPTR,A;送0832转换
MOVR0,#79H
LCALLPTDS
MOVR2,#00H
L023:
LCALLDIS;显示
DJNZR2,L023
RET
PTDS:
MOVR1,A;拆送显示缓冲区
ACALLPTDS1
MOVA,R1
SWAPA
PTDS1:
ANLA,#0FH
MOV@R0,A
INCR0
RET
DIS:
PUSHDPH
PUSHDPL
SETBRS1
MOVR0,#7EH
MOVR2,#20H
MOVR3,#00H
MOVDPTR,#LS0
LS2:
MOVA,@R0
MOVCA,@A+DPTR
MOVR1,#0DCH
MOVX@R1,A
MOVA,R2
incR1
MOVX@R1,A
LS1:
DJNZR3,LS1
CLRC
RRCA
MOVR2,A
DECR0
JNZLS2
MOVX@r0,a
DECR0
CP1a
MOVX@r0,a
CLRRS1
POPDPL
POPDPH
RET
LS0:
DB0C0H,0F9H,0A4H,0B0H,99H,92H
DB82H,0F8H,80H,90H,88H,83H,0C6H
DB0A1H,86H,8EH,0FFH,0CH,89H,7FH,0BFH
END
2.2.2PWM脉宽控制
本设计中采用软件延时方式对脉冲宽度进行控制,延时程序函数如下:
voiddelay(unsignedchardlylevel){
inti=50*dlylevel;
while(--i);}
此函数为带参数DLYLEVEL,约产生DLYLEVEL*400us的延时,因此一个脉冲周期可以由高电平持续时间系数hlt和低电平持续时间系数llt组成,本设计中采用的脉冲频率为25Hz,可得hlt+llt=100,占空比为hlt/(hlt+llt),因此要实现定频调宽的调速方式,只需通过程序改变全局变量hlt,llt的值,该子程序流程图如图四。
2.2.3键盘中断处理子程序
采用中断方式,按下键,单片机P3.2脚产生一负跳沿,响应该中断处理程序,完成延时去抖动、键码识别、按键功能执行。
图2.5系统子程序流程
调速档、持续加/减速:
调速档通过(0-6)共七档固定占空比,即相应档位相应改变hlt,llt的值,以实现调速档位的实现。
而要实现按住加/减速键不放时恒加或恒减速直到放开停止,就需在判断是否松开该按键时,每进行一次增加/减少1%占空比(即hlt++/--;llt--/++),其程序流程如图2.5。
2.2.4显示子程序
利用数组方式定义显示缓存区,缓存区有8位,分别存放各个LED管要显示的值。
显示子程序为一带参子程序,参数为显示缓存的数组名,通过for(i=0;i<8;i++)方式对每位加上位选码,送到P0口并进行一两毫秒延时。
该显示子程序只对各个LED管分别点亮一次,因此在运行过程中,每秒执行的次数不应低于每秒24次。
2.2.5定时中断处理程序
采用定时方式1,因为单片机使用12M晶振,可产生最高约为65.5ms的延时。
对定时器置初值3CB0H可定时50ms,即系统时钟精度可达0.05s。
当50ms定时时间到,定时器溢出则响应该定时中断处理程序,完成对定时器的再次赋值,并对全局变量time加1,这样,通过变量time可计算出系统的运行时间。
对于一个数的显示,先应转成BCD码,即取出每一个位,分别送入显示缓存区,对于转BCD的算法,应对一个数循环除10取模,直至为0,程序如下:
do{dispbuff[bcd_p]=bechange%10;//dispbuff为显示缓冲区数组
bcd_p++;}while(bechange/=10)//disp_p为数组指针
软件设计中的特点:
对于电机的启停,在PWM控制上使用渐变的脉宽调整,即开启后由停止匀加速到默认速度,停止则由于当前速度逐渐降至零。
这样有利于保护电机,如电机运用于小车上,在启动上采用此方式也可加大启动速度,防止打滑。
对于运行时间的计算、显示。
配合传感器技术可用于计算距离,速度等重要的运行数据。
键盘处理上采用中断方式,不必使程序对键盘反复扫描,提高了程序的效率。
3测试结果与分析
结束语
本设计在硬件上采用了基于PWM技术的H型桥式驱动电路,解决了电机马驱动的效率问题,在软件上也采用较为合理的系统结构及算法,提高了单片机的使用效率,且具有一定的防飞能力。
但该设计也有不足之处,主要是在关于速度的反馈上,无法提供较为直观的速度表示方式,因此,有必要引入传感器技术对速度进行反馈,以rpm或rps表达当前的转速进行显示。
致谢
从设计之初的无从下手到设计工作的圆满完成,期间遇到了诸多的问题和困难。
但在李文芳老师的细心指导和帮助下,通过自己的努力,最终这些问题与困难都得到了圆满解决。
使我可以按时完成课程设计并使自己的专业知识与综合能力都得到了相应的提高。
在毕业设计过程中,李文芳老师在百忙中对我的课程设计进行了指导。
李文芳老师首先细致地为我解题;当我迷茫于众多的资料时,她又为我提纲挈领、梳理脉络,使我确立了本文的框架。
感谢李文芳老师对我的设计不厌其烦的细心指点。
从框架的完善,到内容的扩充;从行文的用语到格式的规范;李文芳老师都严格要求,力求完美。
而且我还从李文芳老师那里学到了严谨、务实、认真的工作态度和极强的敬业精神。
我再次为李文芳老师的耐心付出表示感谢。
参考文献
∙[1]张琛.直流无刷电动机原理及应用[M]第2版[M].北京:
机械工业出版社,2004..
∙[2]UshakumarlS,ChandramohanannairPS.ClosedLoopPerformanceofaPermanentMagnetBrushlessdcMotorIncorporationtheNonlinearityinTorque-BalanceEquation(TransientOperation)[J].ElectricPowerComponentsandSystems,2002(30):
1249-1260
∙[3]谢世杰陈生谭楼顺天.数字PID算法在无刷直流电动机控制器中的应用[J].现代电子科技,2004,169
(2):
59-61.
∙[4]叶长青尹华杰.无刷直流电机速度的模糊控制方法[J].电气传动,2006,36(3):
3-7.
∙[5]史浩潘再平.无刷直流电机模糊控制系统及仿真分析[J].微电机,2005,38(5):
42-44.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 控制 直流电机 系统 设计 大学 论文