直流电机转速测量与控制实验.docx
- 文档编号:3618323
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:13
- 大小:187.94KB
直流电机转速测量与控制实验.docx
《直流电机转速测量与控制实验.docx》由会员分享,可在线阅读,更多相关《直流电机转速测量与控制实验.docx(13页珍藏版)》请在冰豆网上搜索。
直流电机转速测量与控制实验
直流电机转速测量与控制实验
1、实验目的:
了解霍尔器件工作原理及转速测量与控制的基本原理、基本方法,掌握DAC0832电路的接口技术和应用方 法,提高实时控制系统的设计和调试能力。
2、实验内容:
设计并调试一个程序其功能为测量电机的转速,并在超想-3000TB综合实验仪显示器上显示出来, 采用比例调节器方法,使电机转速稳定在某一设定值。
此设定值可由超想-3000TB综合实验仪上的键盘输入。
3、工作原理:
转速是工程上一个常用参数。
旋转体的转速常以每秒钟或每分钟转数来表示,因此其单位为转/秒、 转/分,也有时用角速度表示瞬时转速,这时的单位相应为孤度/秒。
转速的测量方法很多,由于转速是以单位时间内转数来衡量,在变换过程中多数是有规律的重复运动。
霍尔开关传感器正由于其体积小,无触点,动态特性好,使用寿命长等特点,故在测量转动物体旋转速度 领域得到了广泛应用。
霍尔器件是由半导体材料制成的一种薄片,在垂直于平面方向上施加外磁场B,在沿平面方向两端加 外电场,则使电子在磁场中运动,结果在器件的两个侧面之间产生霍尔电势。
其大小和外磁场及电流大小 成比例。
本实验选用美国史普拉格公司(SPRAGUE)生产的3000系列霍尔开关传感器3020,它是一种硅单片集 成电路,器件的内部含有稳压电路、霍尔电势发生器、放大器、史密特触发器和集电极开路输出电路,具有工作电压范围宽、可靠性高、外电路简单、输出电平可与各种数字电路兼容等特点。
器件采用三端平塑封装。
引出端功能符号如下:
引出端序号 1 2 3
功能 电源 地 输出
符号 VC1 GND OUT
我们根据霍尔效应原理,将一块永久磁钢固定在电机转轴上的转盘边沿,转盘随测轴旋转,磁钢也将 跟着同步旋转,在转盘附近安装一个霍尔器件3020,转盘随轴旋转时,受磁钢所产生的磁场的影响,霍尔器件输出脉冲信号,其频率和转速成正比,测出脉冲的周期或频率即可计算出转速。
直流电机的转速与施加于电机两端的电压大小有关。
本实验用DAC0832控制输出到直流电机的电压,控制DAC0832的模拟输出信号量来控制电机的转速。
当电机转速小于设定值时增大D/A输出电压,大于设定值时则减小D/A输出电压,从而使电机以某一速度恒速旋转。
我们采用简单的比例调节器算法(简单的加一、减一法)。
比例调节器(P)的输出系统式为:
Y=Kpe(t)
式中:
Y--调节器的输出
e(t)--调节器的输入,一般为偏差值
KP--比例系数
从上式可以看出,调节器的输出Y与输入偏差值e(t)成正比。
因此,只要偏差e(t)一出现就产生与之成比例的调节作用,具有调节及时的特点,这是一种最基本的调节规律。
比例调节作用的大小除了与偏差e(t)有关外,主要取决于比例系数Kp,比例调节系数愈大,调节作用越强,动态特性也越大。
反之,比 例系数越小,调节作用越弱。
对于大多数的惯性环节,Kp太大时将会引起自激振荡。
比例调节的主要缺点是存在静差,对于扰动的惯性环节,Kp太大时将会引起自激振荡。
对于扰动较大,惯性也比较大的系统若采用单纯的比例调节器就难于兼顾动态和静态特性,需采用调节规律比较复杂的PI(比例积分调节器)或PID(比例、积分、微分调节器)算法。
4、实验器材:
(1)、超想-3000TB综合实验仪1台
(2)、超想3000仿真器1台
(3)、连线 若干根
(4)、计算机 1台
5、实验电路图:
6、实验步骤:
1、设定仿真器仿真模式为程序空间在仿真器上,数据空间在用户板上。
把数模转换DAC0832输出Aout孔连直流电机Dcin孔,数模转换DAC0832的CS3孔连“译码器”的YC2孔,CKM孔(霍尔器件输出孔)连P3.2孔。
2、编程并编译。
首先将断点设在中断服务程序入口,运行程序,如果程序进入中断处理程序入口,则表明中断初始化程序正确,如果碰不到断点则首先应检查初始化程序是否有错。
把断点设在中断程序结束,检查在单位定时内,T1计数值是否与电机转速符合。
再调试二翻十子程序,最后调试整个实 验程序,排除软件错误,连续运行时观察电机旋转工作状态与数码管上显示是否正确,修改程序直至达到本实验设计要求。
注:
本实验电机转速范围一般应为35-50转/分。
7、程序框图
8、程序清单
;"验证式"实验十四直流电机转速测量与控制实验
SCNTEQU51H;为送到0832的值
CKCNEQU53H
SETPEQU54H;转数
timesequ46h
temp1equ47h
OUTBITequ0e101h;位控制口
CLK164equ0e102h;段控制口(接164时钟位)
DAT164equ0e102h;段控制口(接164数据位)
INequ0e103h;键盘读入口
LEDBufequ39h;显示缓冲
ORG0000H
STRT:
LJMPMAIN
ORG0003H;
LJMPPINT0
ORG000BH;
LJMPPTF0
ORG0030H;
PTF0:
MOVTH0,#07EH
PUSHACC
PUSHPSW
PUSHB
SETBPSW.3
inctimes
mova,times
cjnea,#40,ptfj;判断时间是否到了
movtimes,#0
mova,ckcn
movtemp1,a
movckcn,#0
subba,setp
jnctt3
mova,scnt;加速
adda,#2
movscnt,a
ljmptt4
tt3:
mova,scnt;减速
subba,#2
movscnt,a
tt4:
mova,temp1;speed
movb,#10
divab
mov3ah,a
mova,b
mov39h,a
PTFJ:
NOP
POPB
POPPSW
POPACC
RETI
MAIN:
movsp,#60h
movdptr,#0e100h;8155初始化
mova,#03h
movx@dptr,a
MOVTMOD,#01H;定时器初始化
MOVTH0,#07EH
MOVTL0,#00H
CLREA;关中断
MOVR0,#39H
MOVR7,#06H
MLP0:
MOV@R0,#10H;关掉所有LED
INCR0
DJNZR7,MLP0
LCALLDIR;调显示
MOVCKCN,#00H;转数初始化为0
NOP
MLP1:
CALLDIR
callTestKey;有键入?
jzMLp1;无键入,继续显示
callGetKey;读入键码
CLRC
MOVR4,A
SUBBA,#0aH;判断输入的值是不是0-9
JNCMLP1
MOVA,R4
MOV3EH,A;保存输入的值(高位)
LCALLDIR
MLP2:
CALLDIR
callTestKey;有键入?
jzMLP2;无键入,继续显示
callGetKey;读入键码
CLRC
MOVR4,A
SUBBA,#0aH;判断输入的值是不是0-9
JNCMLP2
MOVA,R4
MOV3DH,A;保存输入的值(低位)
MOVA,3EH
MOVB,#0AH
MULAB
ADDA,3DH
MOVSETP,A;求出我们给定的速度,并送入SETP中
movdptr,#0a000h
movSCNT,#7fh
movA,SCNT
MOVX@DPTR,A;启动电流机
movtimes,#0h;时间计数器
SETBTR0;启动定时器0
SETBEX0;开中断
SETBET0
SETBIT0
SETBEA
NOP
MOVIP,#04H
ML00P4:
MOVDPTR,#0a000H
mova,scnt
MOVX@DPTR,A
movr7,#50
djnzr7,$
LCALLDIR
LJMPML00P4
PINT0:
INCCKCN
PIPI:
RETI
TestKey:
movdptr,#OUTBIT
mova,#0
movx@dptr,a;输出线置为0
movdptr,#IN
movxa,@dptr;读入键状态
cpla
anla,#0fh;高四位不用
ret
KeyTable:
;数字键码定义
db00h,01h,04h,07h
db0fh,02h,05h,08h
db0eh,03h,06h,09h
db0dh,0ch,0bh,0ah
db10H,10H,10H,10H,10H
db10H,10H,10H,10H,10H
GetKey:
MOV13H,#06H;获取输入值,送入A中,然后返回
MOV12H,#20H
Key2:
MOVA,12H
CPLA
MOVR7,A
MOVDPTR,#0E101H
MOVA,R7
MOVX@DPTR,A
MOVA,12H
CLRC
RRCA
MOV12H,A
MOVDPTR,#0E103H
MOVXA,@DPTR
MOVR7,A
MOVA,R7
CPLA
MOVR7,A
MOVA,R7
ANLA,#0FH
MOV14H,A
DEC13H
MOVR7,13H
MOVA,R7
JZKey1
MOVA,14H
JZKey2
Key1:
MOVA,14H
JZGetKey6
MOVA,13H
ADDA,ACC
ADDA,ACC
MOV13H,A
MOVA,14H
JNBACC.1,GetKey1
INC13H
SJMPGetKey3
GetKey1:
MOVA,14H
JNBACC.2,GetKey2
INC13H
INC13H
SJMPGetKey3
GetKey2:
MOVA,14H
JNBACC.3,GetKey3
MOVA,#03H
ADDA,13H
MOV13H,A
GetKey3:
LCALLDIR
CALLTestKey
JNZGetKey3;等待按键释放
MOVA,13H
MOVDPTR,#KeyTable
MOVCA,@A+DPTR
MOVR2,A
RET
GetKey6:
MOVA,#10H
RET
DIR:
setb0d3h
movr0,#LEDBuf
movr1,#6;共6个八段管
movr2,#00000001b;从右边开始显示
Loop:
movdptr,#0e101h
mova,#00h
movx@dptr,a;关所有八段管
movdptr,#0a000h
mova,scnt
movx@dptr,a
mova,@r0
movdptr,#LEDmap
movca,@a+dptr
movB,#8;送164
DLP:
rlca
movr3,a
movacc.0,c
anla,#0fdh
movdptr,#0e102h
movx@dptr,a
movdptr,#0e102h
orla,#02h
movx@dptr,a
anla,#0fDh
movx@dptr,a
mova,r3
djnzB,DLP
movdptr,#0e101h
mova,r2
movx@dptr,a;显示一位八段管
movr6,#1
movdptr,#0a000h
mova,scnt
movx@dptr,a
callDelay
mova,r2;显示下一位
rLa
movr2,a
incr0
djnzr1,Loop
movdptr,#0e101h
mova,#0
movx@dptr,a
clr0d3h;关所有八段管
ret
LEDMAP:
;八段管显示码
db3fh,06h,5bh,4fh,66h,6dh,7dh,07h
db7fh,6fh,77h,7ch,39h,5eh,79h,71h
DB08H
Delay:
;延时子程序
movr7,#0
DelayLoop:
djnzr7,DelayLoop
djnzr6,DelayLoop
ret
END
9、实验思考:
1、试编写一转速测量程序,测试电机转动周期T,然后计算瞬时转速,并
用PID调节使转速恒定在25转/分。
2、修改程序,使本程序能够随时修改电流机的速度。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 直流电机 转速 测量 控制 实验