直流电机的控制.docx
《直流电机的控制.docx》由会员分享,可在线阅读,更多相关《直流电机的控制.docx(13页珍藏版)》请在冰豆网上搜索。
直流电机的控制
摘要2
第一章基本原理及设计过程3
1.1系统总体组成原理框图3
1.2单片机3
1.3D/A转换电路4
1.4直流电机5
1.5速度采集元件-霍尔元件6
1.5.1霍尔元件工作原理6
1.5.2霍尔转速测量及电路6
1.6键盘的设置6
1.7LED显示的设置7
第二章设计总程序8
第三章实验现象及结论结论11
课设心得11
参考文献12
摘要
单片机是一种集成电路芯片,随着计算机及电子信息技术的飞速发展,单片机也在不断更新换代,并成为电子系统中进行数据采集、信息处理、通信联络、和实施控制的重要器件。
其中直流电机的控制是一个很好的应用表现。
本次课程设计要求为:
直流电动机的控制,即通过单片机实现对直流电动机的正反转与加速控制,由霍尔速度传感器进行速度测量,有数码管显示按键值与直流电动机的速度。
其中用DAC0832实现数模转换。
关键字:
单片机直流电动机数码管DAC0832
第一章基本原理及设计过程
1.1系统总体组成原理框图
系统的原理框图如图1所示,主要包括:
单片机、霍尔元件速度采集电路、直流电机、DAC0832、键盘、显示器等几部分。
图1总体框图原理
本次课程设计是在试验箱上通过键盘实现对直流电动机的速度控制,在电压允许范围内,直流电机的转速随着电压的升高而加快,若加上的电压为负电压,则电机会反向旋转。
用DAC0832实现数模转换,由霍尔传感器采集电动机速度,显示在数码管上。
1.2单片机
这里利用的是MSC-51单片机,其主要优点是价格便宜。
用-8V~8V电源来确保工作电压正常,由霍尔元件及外围器件组成的测速电路将电动机转速转换成脉冲信号,送至单片机的计数器T1,由T1测出电动机的实际转速,通过键盘事先设定的值通过单片机对DAC0832输入相应的数字量,使DAC0832输出大小方向不同的电压,来控制直流电动机的转速和方向。
1.3D/A转换电路
DAC0832是用先进的CMOS/Si-Cr工艺制成的双列直插式单片8位D/A转换器。
它可以直接和8088CPU相接口。
采用二次缓冲方式(有两个写信号/WR1、/WR2),这样可以在输出的同时,采集下一个数字量,以提高转换速度。
而更重要的是能够在多个转换器同时工作时,有可能同时输出模拟量。
它的主要技术参数如下:
分辨率为8位,电流建立时间为1us,单一电源5V-15V直流供电,可双缓冲、单缓冲或直接数据输入。
DAC0832内部结构见图2
图2DAC0832内部功能
为方便电机正反转,DA0832应为双极性输出。
外围放大电路的输出值如下:
即
当数字D=Dmax=11111111B时,由上式可得Uout=Uoutmax
+5v
当数字D=Dmin=00000000B时可得Uout=Uoutmin
-5v
当数字在0到11111111B之间变化时,电路输出电压就在-5V到+5V之间连续变化,实现了数模转换。
电路图如图3所示。
NPN晶体管8050与PNP晶体管8550组成互补射随器。
忽略PN结正向压降,可以认为电机输入端电压亦等于Uout,即微型直流电机电枢绕组可以获得-5V到+5V连续变化电压,电动机可也在反向最大转速到正向最大转速之间连续调节。
图3D/A转换电路及DAC外围电路
1.4直流电机
由直流电机的速度公式n=(Ua-IaRa)/CeΦ,其中n是电机转速,Ua是电枢电压,Ia是电枢电流,Ra是电枢回路总电阻,Ce是电极常数,Φ是电机的励磁磁通。
对于极对数是p,匝数是n,电枢支路数为a的电机来说Ca是常数。
由于Ra为电枢回路电阻故其值很小,通过调节电阻改变转速的效果不明显。
如果通过调节磁通量,对于它励电机其有外接的电源电压决定。
故一般通过改变电枢电压来达到调节转速的目的。
直流电机原理图如图4所示:
图4直流电机原理图图5直流电机测速装置
1.5速度采集元件-霍尔元件
本次课设直流电机的速度采集器采用的是霍尔速度传感器,其主要原理是霍尔效应。
1.5.1霍尔元件工作原理
霍尔器件是有半导体材料制成的一种薄片,器件的长、宽、高分别为l、b、d。
若在垂直于薄片平面(沿厚度d)方向施加外加磁场B,在沿l方向的两个端面加以外电场,则有一定的电流经过。
由于电子在磁场中运动,所以将受到一个洛仑磁力,其大小为:
fl=qVB其中:
fl――洛仑磁力,q――载流子电荷,V――载流子运动速度,B――磁感应强度。
应注意,当电磁感应强度B反向时,霍尔电动势也反向。
若控制电流保持不变,则霍尔感应电压将随外界磁场强度而变化。
所以,可将一块永久磁钢固定在电动机的转轴转盘的边沿上,转盘随被测轴旋转,磁钢也将跟着同步旋转,在转盘下方附近安装一个霍尔元件,转盘随轴旋转时,霍尔元件受到磁钢所产生的磁场影响。
霍尔器件输出脉冲信号,器脉冲信号的频率和转速成正比。
这样只要测出脉冲信号的频率或者周期即可求出直流电机的转速。
1.5.2霍尔转速测量及电路
霍尔转速传感器的主要工作原理是霍尔效应,也就是当转动的金属部件通过霍尔传感器的磁场时会引起电势的变化,通过对电势的测量就可以得到被测量对象的转速值。
霍尔转速传感器的主要组成部分是传感头和齿圈,而传感头又是由霍尔元件、永磁体和电子电路组成的。
其电路图如图5所示。
1.6键盘的设置
键盘是由若干个按键组成的开关矩阵,它是最简单的单片机输入设备,通过键盘可输入数据和命令,实现简单的人机对话。
此处用的键盘是矩阵式键盘,对键的识别用的逐行扫描查询法。
(1)有键盘按下时,则单片机有中断响应,为了消抖动此时应该延时一段时间(大约5ms~10s),若还有外部中断0仍为低电平则有按键按下。
(2)判断按键的具体位置。
采用先将列置为零,粗扫描的方法逐行扫描,读行的值。
如果读的行值为全1,则被按键不在该行上,再扫描下一行;否则说明被按键在该行上。
当找到所按的键对应的键值表时则进行相应的键处理,此处的键处理采用查表的方法。
就本此课程设计的具体要求,可以设置了四个控制操作键,分别控制电机的正转快速、慢速,反转慢速、快速。
然后按下除了这四个键外的任何一个按键,电机都会停止转动。
图7LED显示流程图图6键盘控制流程图
1.7LED显示的设置
由课题的要求,要由测速环节并显示到数码管上,这就要求在霍尔软件采集到直流电动机的转速后,向单片机输出相应的脉冲,并由单片机将相应的脉冲译码后显示到显示器上。
在单片机应用系统中,显示器是最常用的输出设备。
在此选用两个共阴极数码管显示脉冲数,采用动态扫描显示,当有键盘按下时,则数码管显示按键的内容。
此处当键盘输入中断产生时,显示的是由霍尔元件采集来的脉冲数,由十六进制转换为十进制后存入显示缓冲区,再查表显示出想要得到的数字。
当电机停止时,数码管显示为零。
流程图为图7.
第二章设计总程序
INequ08001h
OUTBITequ08002h
OUTSEGequ08004h
cs0832equ9000h
ledbufequ70h
org0000h
ljmpstart
delay0:
movr7,#120;延时程序0
deloop0:
movr6,#120
nop
djnzr6,$
djnzr7,deloop0
ret
delay:
movr7,#10:
延时程序1
deloop:
movr6,#240
djnzr6,$
djnzr7,deloop
ret
ledaa:
db3fh,06h,5bh,4fh,66h,6dh;LED码设置
db7dh,07h,7fh,6fh,77h,7ch
jianaa:
db00h,0f0h,0e0h,0d0h,11h,13h;键盘代码设置
db3dh,02h,80h,80h,80h,80h
db0f0h,80h,80h,80h,80h,80h
db0ffh,80h,80h,80h,80h,80h
jianpanaa:
acallkey;短调用子程序key
cjnea,#0fh,xiaodou;判断是否选中,选中转移
acalldelay;延迟一段时间
sjmpkey;段跳转回key
xiaodou:
acalldelay;再判断一次作为消除抖动程序
acallkey
cjnea,#0fh,keyb;确定按下跳到keyb
sjmpjianpanaa;判断完后跳回jianpanaa
keyb:
movr1,#0dfh;11011111给r1
movr5,#00h;00000000给r5
L0:
movdptr,#OUTBIT;位控给dptr
mova,r1;r1给a
movx@dptr,a;r1给dptr
movdptr,#IN;输入的值给dptr
movxa,@dptr;输入的值给a
jbAcc.3,L1;判断a中第四位等于1跳转到L1
mova,#0
jmpkeyc
L1:
jbAcc.2,L2;判断a中的第三位等于1跳转到L2
mova,#6;
jmpkeyc
L2:
jbAcc.1,L3;判断a中的第二位等于1跳转到L3
mova,#12
jmpkeyc
L3:
jbAcc.0,next;判断a中的第一位等于1跳转到next
mova,#18
jmpkeyc
key:
movdptr,#OUTBIT;位控给dptr
mova,#00h;寄存器a清零
movx@dptr,a;位控清零
movdptr,#IN;把输入的值给dptr
movxa,@dptr;把输入的值给a
anla,#0fh;和00001111相与也就是高四位清零
ret;子程序返回指令
keyc:
movdptr,#jianaa;查表程序把变的首字给dptr
movca,@a+dptr;把a值加首字后给a
movdptr,#cs0832;9000h给dptr
movx@dptr,a;把查到的结果给到9000h
calldelay;延迟
ret;返回调用处
next:
movdptr,#cs0832;0832的值给dptr
mova,#80h;10000000给a
movx@dptr,a
calldelay
ret
cesu:
movTH1,#00h;计数器1高四位清零
movTL1,#00h;计数器1低四位清零
setbTR1;tr1寄存器置1
calldelay0;调用delay0
mova,TL1;寄存器1低四位给a
movb,#0ah;b等于10
divab;a除以10高4
acallled;调用led子程序
movr0,#LEDBUF;70h单元所存的程序给r0
mov@r0,a;a的值给ro里的值
mova,b;b给a
acallled;调用led子程序
incr0;a值自加1
mov@r0,a;再给ro
LED1:
movr0,#LEDBUF;缓存地址给r0
movr2,#00000010b;值给r2
Loop2:
movdptr,#OUTBIT;位控制给dptr
mova,r2;r2里的值给a
movx@dptr,a;a的值给dptr
mova,@r0;ro的值给a
movdptr,#OUTSEG;段控制字给dptr
movx@dptr,a;ro的值给dptr
calldelay;跳转到延时程序显示十位数
mova,r2;
rra;a值右移后再给a
movr2,a
movdptr,#OUTBIT;位选给dptr
mova,r2
movx@dptr,a
mova,@r0
movdptr,#OUTSEG
movx@dptr,a;显示个位数
calldelay
ret
Led:
movdptr,#ledaa;查表首字给dptr
movca,@a+dptr;首字加a给a
ret;返回
start:
movsp,#50h
movTMOD,#50h
movIE,#8ch;总的中断控制字赋值
loop:
acalljianpanaa
loop1:
acallcesu
end
第三章实验现象及结论结论
通过用单片机来与D/A转换电路相互连接来控制输出的电压,电压经放大后来驱动直流电机,这样就达到了控制直流电机的目的。
电压的改变是通过编制程序用单片机来改变0832输入,这样对于0832输入的改变导致了输出的改变,改变后的输出来驱动直流电机。
程序是通过向键盘赋值,然后由键盘向单片机想键盘发送数字信号,再由单片机向DA转换设备发送数字信号,转化为模拟的电压信号来驱动电动机的正转反转。
由发送信号的大小,达到了以单片机来控制直流电机的转速。
由于在本实践中D/A输出为双极性输出,因此电机可以正反向旋转。
其中转向相反代表负极型。
本次设计选用了4个控制键,2个为正转与正转加速,另2个为反转与反转加速。
理论上是无按键时数码管显示电动机的转速,有按键时数码管显示按键值,电动机停止转动时显示为0.
课设心得
近一周的单片机课程设计在紧张与忙碌中结束了。
在这一周的学习过程中,我对51单片机的工作原理有了新的认识,同时对WAVE软件有了更多的了解。
刚拿到任务书时,头脑一片空白,不知从何下手,然后仔细研究课本,去图书馆借书、查资料,通过商量和讨论渐渐的有了思路。
但是,由于编程过程不熟悉,每次上机验证时都得不到想要的实验现象,更糟的是,不知从何处下手改正。
同学们在一起研究程序,翻查资料,询问老师,终于取得了一定的结果。
在这一周的学习中,我深刻感觉到了自己对单片机编程知识的缺乏,对实践操作的生疏,也感觉到了单片机的重要性与实用性,在一块小小的芯片上就可实现很多的事情的演示。
我同样也对直流电机、霍尔元件以及DAC0832等和本次课题相关的芯片,元器件有了新的认识,我会在今后的学习中,加大对单片机和汇编语言的学习,争取更大的进步。
参考文献
[1]张淑清单片微型计算机接口技术及其应用国防工业出版社2001.5
[2]张淑清单片机原理及应用技术国防工业出版社2010.8
[3]王秋爽曾昭龙单片机开发基础与经典设计实例机械工业出版社2008.3
[4]兰吉昌51单片机应用设计百例化学工业出版社20082