单片机课设直流电机控制分解Word文件下载.docx
《单片机课设直流电机控制分解Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机课设直流电机控制分解Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。
在电压允许的范围内,直流电机的转速随着电压的升高而加快,若加上的电压为负电压,电机则反向旋转。
设计控制硬件电路;
编制相应的程序。
基本原理
此控制系统主要由六部分构成:
键盘、单片机、D/A转换电路及DAC外围放大电路、直流电机、霍尔元件速度采集器、显示器。
此系统的总体控制原理图如下图一所示。
图一:
系统总控制原理图
3.1DAC0832简介
DAC0832是8分辨率的D/A转换集成芯片。
与微处理器完全兼容。
这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。
D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。
DAC0832的内部结构DACO832中有两级锁存器,第一级锁存器称为输入寄存器,它的锁存信号为ILE;
第二级锁存器称为DAC寄存器,它的锁存信号为传输控制信号。
因为有两级锁存器,DAC0832可以工作在双缓冲器方式,即在输出模拟信号的同时采集下一个数字量,这样能有效地提高转换速度。
此外,两级锁存器还可以在多个D/A转换器同时工作,利用第二锁存信号来实现多个转换器同时输出。
DAC0832有如下三种工作方式:
(1)单缓冲方式单缓冲方式是控制输入寄存器和DAC寄存器通知接收资料,或者只用输入寄存器而把DAC寄存器接成直通方式。
此方式实用只有一个模拟量输出或者几路模拟异步输出的情形。
(2)双缓冲方式双缓冲方式是先使输入寄存器现接受资料,再控制输入寄存器的输出资料到DAC寄存器,即分两次锁存输入资料。
此方式适用于多个D/A转换同步输出的情节。
(3)直通方式直通方式是资料不经两级锁存器锁存,即CS*XFER*WR1*WR2*均接地,ILE接高电平。
此方式适用于连续反馈控制路线和不带微机的控制系统,不过在使用时,必须通过另加I/O口于CPU连接,以匹配CPU与D/A转换。
外围放大电路的输出值如下:
即
当数字D=Dmax=11111111B时,由上式可得
Uout=Uoutmax
+5v
当数字D=Dmin=00000000B时可得
Uout=Uoutmin
-5v
当数字在0到11111111B之间变化时,电路输出电压就在-5V到+5V之间连续变化,实现了DAC。
NPN晶体管8050与PNP晶体管8550组成互补射随器。
忽略PN结正向压降,可以认为电机输入端电压亦等于Uout,即微型直流电机电枢绕组可以获得-5V到+5V连续变化电压,电动机可也在反向最大转速到正向最大转速之间连续调节。
图二:
D/A转换电路及DAC外围电路
3.2单片机
这里利用的是MSC-51单片机,实现速度测量、输入设定机系统控制,和键盘设定。
速度控制与测量通过自制-8V~8V电源来确保工作电压正常,由霍尔元件及外围器件组成的测速电路将电动机转速转换成脉冲信号,送至单片机的计数器T1,由T1测出电动机的实际转速,通过键盘事先设定的值通过单片机对DAC0832输入相应的数字量,使DAC0832输出大小方向不同的电压。
来控制直流电动机的转速和方向。
键盘的设置键盘是由若干个按键组成的开关矩阵,它是最简单的单片机输入设备,通过键盘可输入数据和命令,实现简单的人机对话。
此处用的键盘是矩阵式键盘,对键的识别用的逐行扫描查询法。
(1)有键盘按下时,则单片机有中断响应,为了消抖动此时应该延时一段时间(大约5ms~10s),若还有外部中断0仍为低电平则有按键按下。
(2)判断按键的具体位置。
采用先将列置为零,粗扫描的方法逐行扫描,读行的值。
如果读的行值为全1,则被按键不在该行上,再扫描下一行;
否则说明被按键在该行上。
当找到所按的键对应的键值表时则进行相应的键处理,此处的键处理采用查表的方法。
就本此课程设计的具体要求,可以设置了四个控制操作键,分别控制电机的正转快速、慢速,反转慢速、快速。
然后按下除了这四个键外的任何一个按键,电机都会停止转动。
图三键盘控制流程图
3.3直流电机组成原理
直流电动机结构由定子和转子两大部分组成。
直流电机运行时静止不动的部分称为定子,定子的主要作用是产生磁场,由机座、主磁极、换向极、端盖、轴承和电刷装置等组成。
运行时转动的部分称为转子,其主要作用是产生电磁转矩和感应电动势,是直流电机进行能量转换的枢纽,所以通常又称为电枢,由转轴、电枢铁心、电枢绕组、换向器和风扇等组成。
直流电动机的结构是由直流电源、直流电机、控制开关和调速器组成。
直流发电机的工作原理就是把电枢线圈中感应的交变电动势,靠换向器配合电刷的换向作用,使之从电刷端引出时变为直流电动势的原理。
感应电动势的方向按右手定则确定其工作原理不外乎就是用直流电源作为能量来驱动电机旋转。
通过对三极管的截止与导通进行控制,使其起到开、关和调速的作用。
具体的操作为当直流电动机接上直流电源时,使用电位器旋转按钮控制三极管集极的电压。
如直流电机控制原理图四
图四:
直流电机控制原理
1、当三极管的集极电压小于死区电压时三极管截止,则电动机不转动;
2、当集极电压大于死区电压而小于饱和电压时三极管处于放大状态,随着集极电压改变,从而改变了直流电动机两端的压降也就改变了电机的转速。
具体原理为集极的电压大小不一样,三极管的电压放大倍数也不一样从而起到调速作用改变直流电动机的旋转速度。
3.4直流电机调速方案的设计
由直流电机的速度公式n=(Ua-IaRa)/CeΦ,其中n是电机转速,Ua是电枢电压,Ia是电枢电流,Ra是电枢回路总电阻,Ce是电极常数,Φ是电机的励磁磁通。
对于极对数是p,匝数是n,电枢支路数为a的电机来说Ca是常数。
由于Ra为电枢回路电阻故其值很小,通过调节电阻改变转速的效果不明显。
如果通过调节磁通量,对于它励电机其有外接的电源电压决定。
故一般通过改变电枢电压来达到调节转速的目的。
直流电机原理图如下:
图五:
直流电机原理图
3.5霍尔效应及元件速度采集电路
霍尔效应及原理霍尔器件是有半导体材料制成的一种薄片,器件的长、宽、高分别为l、b、d。
若在垂直于薄片平面(沿厚度d)方向施加外加磁场B,在沿l方向的两个端面加以外电场,则有一定的电流经过。
由于电子在磁场中运动,所以将受到一个洛仑磁力,其大小为:
fl=qVB
其中:
fl――洛仑磁力,q――载流子电荷,V――载流子运动速度,B――磁感应强度。
这样使电子的运动轨迹发生偏移,在霍尔元器件薄片的两个侧面分别产生电子积聚或电荷过剩,形成霍尔电场,霍尔元器件两个侧面间的电位差UH称为霍尔电压。
霍尔电压大小为:
UH=RH×
I×
B/d(mV)。
式中:
RH---霍尔常数,d---元件厚度,B---磁感应强度,I---控制电流,设KH=RH/d,则UH=KH×
B(mV),KH为霍尔器件的灵敏系数(mV/mA/T),它表示该霍尔元件在单位磁感应强度和单位控制电流下输出霍尔电动势的大小。
应注意,当电磁感应强度B反向时,霍尔电动势也反向。
若控制电流保持不变,则霍尔感应电压将随外界磁场强度而变化,根据这一原理,可以将一块永久磁钢固定在电动机的转轴上转盘的边沿,转盘随被测轴旋转,磁钢也将跟着同步旋转,在转盘附近安装一个霍尔元件,转盘随轴旋转时,霍尔元件受到磁钢所产生的磁场影响。
霍尔器件输出脉冲信号,器脉冲信号的频率和转速成正比。
这样只要测出脉冲信号的频率或者周期即可求出直流电机的转速。
霍尔转速测量及电路霍尔转速传感器的主要工作原理是霍尔效应,也就是当转动的金属部件通过霍尔传感器的磁场时会引起电势的变化,通过对电势的测量就可以得到被测量对象的转速值。
霍尔转速传感器的主要组成部分是传感头和齿圈,而传感头又是由霍尔元件、永磁体和电子电路组成的。
图六:
直流电机测速装置
3.6LED显示的设置
由课题的要求,要由测速环节并显示到数码管上,这就要求在霍尔软件采集到直流电动机的转速后,向单片机输出相应的脉冲,并由单片机将相应的脉冲译码后显示到显示器上。
在单片机应用系统中,显示器是最常用的输出设备。
在此选用两个共阴极数码管显示脉冲数,采用动态扫描显示,当有键盘按下时,则数码管显示按键的内容。
此处当键盘输入中断产生时,显示的是由霍尔元件采集来的脉冲数,由十六进制转换为十进制后存入显示缓冲区,再查表显示出想要得到的数字。
当电机停止时,数码管显示为零。
图七LED显示流程图
课设总程序
INequ08001h;
键盘读入口
OUTBITequ08002h;
位控制口
OUTSEGequ08004h;
段控制口
cs0832equ9000h
ledbufequ70h;
显示缓冲区
org0000h
ljmpstart
delay1:
movr7,#255;
延时子程序1
deloop1:
movr6,#255
nop
djnzr6,$
djnzr7,deloop1
ret
delay2:
movr7,#12;
延时子程序2
deloop2:
movr6,#249
djnzr7,deloop2
LEDtable:
;
八段管显示码
db3fh,06h,5bh,4fh,66h,6dh,7dh,07h
db7fh,6fh,77h,7ch,39h,5eh,79h,71h
DACtable:
db00h,80h,80h,80h,80h,00h
db60h,80h,80h,80h,80h,60h
db0c0h,80h,80h,80h,80h,0c0h
db0ffh,80h,80h,80h,80h,0ffh
keyloop:
acallkey
cjnea,#0fh,keyloop0
acalldelay2
ljmpkey
keyloop0:
acalldelay2;
键盘去抖动
acallkey
cjnea,#0fh,keyb
ljmpkeyloop
keyb:
movr1,#0dfh
movr5,#00h
L0:
movdptr,#OUTBIT;
位控,选中键盘第一列
mova,r1
movx@dptr,a
movdptr,#IN
movxa,@dptr
jbAcc.3,L1;
检查是否有键位被按下
mova,#0
jmpkeyc
L1:
jbAcc.2,L2
mova,#6
L2:
jbAcc.1,L3
mova,#12
L3:
jbAcc.0,next
mova,#18
key:
movdptr,#OUTBIT;
位控清零,键盘读入到a的低四位
mova,#00h
anla,#0fh
keyc:
movdptr,#DACtable
movca,@a+dptr
movdptr,#cs0832
calldelay2
next:
movdptr,#cs0832
mova,#80h
xianshi:
movTH1,#00h;
定时器清零
movTL1,#00h
setbTR1
calldelay1
mova,TL1
movb,#0ah;
将转速十位、个位分别放入寄存器a、b
divab
acallled
movr0,#LEDBUF
mov@r0,a
mov40h,a
mov41h,b
mova,b
incr0
mov@r0,a
LED1:
movr0,#LEDBUF
movr2,#00000010b;
选中6位显示管的低2位管显示转速
Loop2:
movdptr,#OUTBIT
mova,r2
movx@dptr,a
mova,@r0
movdptr,#OUTSEG
movx@dptr,a
calldelay2
rra
movr2,a
incr0
ret
Led:
movdptr,#LEDtable
start:
movsp,#70h
movTMOD,#50h
movIE,#8ch
loop:
acallkeyloop
loop1:
acallxianshi
end
课设总结
通过用单片机来与0832D/A转换电路相互连接来控制输出的电压,电压经放大后来驱动直流电机,这样就达到了控制直流电机的目的。
电压的改变是通过编制程序用单片机来改变0832输入,这样对于0832输入的改变导致了输出的改变,改变后的输出来驱动直流电机。
程序是通过向键盘赋值,然后由键盘向单片机想键盘发送数字信号,再由单片机向DA转换设备发送数字信号,转化为模拟的电压信号来驱动电动机的正转反转。
由发送信号的大小,达到了以单片机来控制直流电机的转速。
由于在本实践中D/A输出为双极性输出,因此电机可以正反向旋转。
其中负极型代表其转向相反。
51单片机功能强大,方便今后的功能扩展。
通过各种方案的讨论及尝试,再经过多次的整体软硬件结合调试,不断地对系统进行优化。
同时对电动机控制不是一个简单的电子控制问题,它涉及很多方面的知识。
相信单片机在今后的自动控制领域中将有更广阔的应用前景。
相信该系统能成功运用于直流电机转速系统的实时监控,简化控制逻辑系统,而且成本低廉、功能完整、抗干扰性能好。
能成功应用于直流电机转速调节、监控、保护场合,并且监控界面友好,使用方便。
能够对直流电机实行实时监控,不仅大大改善了高速运行时的稳定性,而且还实现了保护功能。
通过实验总结出要自己去摸索实践掌握相关知识。
这样知识才能掌握的牢固,才是真正的学到了。
开始感觉这个课设很难,原因在于自己当初并没有仔细分析各个元器件的工作原理。
经历本次课程设计之后我有很多的收获:
我明白有好的理论不代表能高效的用在实践上,只有通过自己的理解并付诸实践才能掌握,遇到困能时要虚心学习,更要靠自己去努力解决。
因为以后可能没人像在学校老师帮助,只有独自完成。
而且答案可能不只有一种,有了解决的方案时要考虑还有没有其他方案更简便,想得到好的结果,就要反复推敲和实践,想解决问题就必须要能专研,吃苦,有耐心、勤奋、与人团结合作等综合素质。
参考文献
[1]张毅刚,彭喜元,彭宇.单片机原理及应用.北京高等教育出版社2010.
[2]张淑清单片机原理及应用技术国防工业出版社2010.8
[3]王秋爽曾昭龙单片机开发基础与经典设计实例机械工业出版社2008.3
[4]张淑清单片微型计算机接口技术及其应用国防工业出版社2001.5
图八:
设计总体电路配置图