东南大学微机实验课程设计 电机.docx
- 文档编号:2903546
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:17
- 大小:182.43KB
东南大学微机实验课程设计 电机.docx
《东南大学微机实验课程设计 电机.docx》由会员分享,可在线阅读,更多相关《东南大学微机实验课程设计 电机.docx(17页珍藏版)》请在冰豆网上搜索。
东南大学微机实验课程设计电机
东南大学
《微机实验及课程设计》
课程设计报告
综合测试题二 小型电机控制系统
姓名:
学号:
专业:
实验室:
组别:
同组人员:
设计时间:
2013年05月24日——2013年06月4日
评定成绩:
审阅教师:
一.课程设计目的与要求…………………………………………………………………3
二.方案论证与原理设计……………………………………………………………………4
三.详细(机理)设计………………………………………………………………………5
四.方案实现与测试(或调试)……………………………………………………………6
五.分析与总结……………………………………………………………………………14
一.课程设计目的与要求
直流电机实验要求:
1)基本要求(难度系数1.0)
利用DAC0832输出一串脉冲,经放大后驱动小直流电机,利用开关K0~K5控制改变输出脉冲的电平及持续时间,达到使电机加速、减速的目的,控制过程采取开环与闭环两种方式实现:
(1)用开环方式按指定速度控制D/A输出实现转速变化;
(2)用闭环方式按指定速度控制D/A输出实现转速变化;
(3)速度参数可选择通过实验系统上的可变电位器和键盘实时修改;
(4)利用转速脉冲检测电机实际转速,在PC机上显示设定速度和实际速度,并在数码管上显示速度偏差,同时用红黄绿三只发光管表示当前电机运行状态。
2)设计提示
直流电机可以用DA直接放大控制,实际系统中更多采用PWM脉动调宽控制,实验中小直流电机的转速是由Ub输出脉冲的占空比来决定的,正向占空比越大转速越快,反之越慢。
见图5.3-1:
在本实验系统中,模拟量输出Ub为双极性,当输入数字量小于80H时输出为负,输入等于80H时为0V,输入大于80H时输出为正。
因而本实验中,DAC0832输入数字量只有2个(80H和FFH),通过不同的延迟时间达到改变小电机转速的目的,可选软件延时和8253定时器/计数器中断,比较不同效果。
3)进一步设计要求
(1)设置急停按钮功能;
(2)用开关随时控制正反转方向;
(3)在PC上同步显示设定和转速曲线。
二.原理设计及流程图
1、设计思路流程图
2、实验硬件连线
8255a口接LED数码管,功能输出,a0至a6接数码管相应位,a7接个位使能,并通过非门接十位使能(小数点位dp可忽视),8255b口的b0-b5接开关K0-K5,b6接急停按钮,功能输入,8255c口的c0接计数器1的GATE,功能输出,8255使能接288H,0832使能接290H,输出接电机DJ,8253计数器使能接280H,8253计数器1时钟输入接电机测速,GATE接c0,计数器0输入接1MHz时钟,输出接计数器2输入时钟,计数器2输出接b7。
3、基本原理
初始化:
显示版权信息,初8255的工作状态:
B口输入,用于并行读入K0~K5的状态;b7,连接至8253的OUT2;c口输出,PC0连接至8253的GATE1,用于控制计数器1的启动。
A口用于输出数码管。
8253计数器0用于分频,外接1Mhz时钟,计数初值为50000,分出20Hz的方波。
计数器1用于记录获得的脉冲个数,计数初值为0FFFFH,时钟为光电检测器的输出。
计数器2用于定时,计数初值100,时钟为计数器0的输出,这样可以定时5秒。
接着检测PA0是否为1,即是否经过5秒,如果没有达到5秒,继续检测;如果达到5秒,计数器1停止计数,锁存计数值,通过数码转换程序显示在数码管。
如果计数所得值与所设定的标准值不相等则通过反馈模块进行修正,使电机转速发生变化。
检测开关状态,根据不同的开关状态对DAC0832输出不同的占空比,达到控制电机转速的目的。
其中,在控制占空比的同时,加入数码管显示模块,实现同步扫描显示。
最后返回,继续下一轮的检测与控制。
三.详细设计及方案论证
1用开环方式按指定速度控制D/A输出实现转速变化
开环设计即在每次测完脉冲后,对0832输出的方波占空比不作调整,直接进行下一次循环。
2用闭环方式按指定速度控制D/A输出实现转速变化;
实现闭环自动调正转速的功能,可以在测完转速后和设定的转速相比较,如果实测的转速大于设定的转速,可以控制0832输出的方波的占空比大一些;反之则小一些。
3速度参数可选择通过实验系统上的可变电位器和键盘实时修改;
试验中,通过8255并行输入输出接口接受K1~K5的速度设置命令,则进行开关处的检测,判断开关当前所处的档位,然后赋给相应高低电平时间(软件计时,即延时代码),然后让0832输出相应的方波,。
4利用转速脉冲检测电机实际转速,在PC机上显示设定速度和实际速度,并在数码管上显示速度偏差,同时用红黄绿三只发光管表示当前电机运行状态。
计数器1用于记录获得的脉冲个数,在方式0下工作,计数初值为0FFFFH,时钟为光电检测器的输出,光带检测器每次有输出,则计数器1存储器中的值递减1。
计数器2用于定时,计数初值100,时钟为计数器0的输出,这样可以定时5秒。
然后进入小循环(代码中的LOOPER):
该小循环在程序最底层,每顺序执行一次即进行一次循环,首先判断按键,以决定是否退出程序以及7段数码管显示的是测得值还是标准值。
接着检测PB7是否为1,即是否经过5秒,如果没有达到5秒,则进行开关处的检测,判断开关当前所处的档位,然后赋给相应高低电平时间(软件计时,即延时代码),然后让0832输出相应的方波,在延时程序中,将要显示的值显示到7段数码管中,然后跳回,重新开始一遍小循环;如果达到5秒,计数器1停止计数,锁存计数值,由此计算转速,根据转速设置对应红绿灯的亮灭。
并将该次的测得值与标定值(预期)进行比较,根据两者之间的差异对输出方波的占空比进行调整。
然后将该次的测得值在PC屏幕上显示。
接着返回,重新开始大循环,继续下一轮的检测与控制。
进一步设计
(1)设置急停按钮功能;
K5输出为1时表示急停命令,通过检验8255PA5端口是否为高电平可知K5的状态。
当K5为1时,输出80h给0832,使得Ub输出电平为0,使得电机停止转动。
从而实现急停的功能。
此外,由于每秒对A口进行检测一次,所以当急停命令撤除后,下个周期就能够重新开始运转。
(3)在PC上同步显示设定和转速曲线。
以设置值shezhi为横坐标,以实际值shiji为纵坐标,通过int10h中断进行图形的绘制,其中每秒钟进行一次小段绘制。
从而实现设定和转速曲线的绘制。
四.方案实现与测试
DATASEGMENT
ioportEQU0b800h-0280h
io0832EQUioport+290H;d/a
io8255kEQUioport+28BH;8255KONG
io8255aEQUioport+288H;8255a
io8255bEQUioport+289H;8255b
io8255cEQUioport+28AH;8255c
io8253kEQUioport+283H;8253控制
io82532EQUioport+282H;8253计数器2
io82531EQUioport+281H;8253计数器1
io82530EQUioport+280H;8253计数器0
messDB'Strikertoshowthetestedvalue!
stoshowthesandardvalue!
',0AH,0DH,'$'
LEDCODDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
BUF1DW?
BUF2DW?
NUM1DB0
NUM2DB0
NUM3DB0
NUM4DB0
KEYSDB0
SANDDW0;标准值
RESUDW0;测得值
MINUDW0;偏差值
REPLDW0;显示值
REPGDB0;显示值个位
REPSDB0;显示值十位
ZFSITDB0FFH;D/A输出极性控制
K0B2DW0100H
K1B2DW0150H
K2B2DW0200H
K3B2DW0250H
K4B2DW0300H
K5B2DW0350H
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDX,io8255k
MOVAL,82H;A输出负责数码显示,B用于输入开关状态和输入负责监控计时器是否计时完毕,C输出负责控制计数器工作,
OUTDX,AL
MOVDX,io8253k
MOVAL,36h;计数器0,方式3,先读写低8位,再读写高8位
OUTDX,AL;输入时钟,1MHZ
MOVDX,io82530
MOVAX,50000;初值50000,输出时钟周期50ms
OUTDX,AL
NOP
NOP
MOVAL,AH
OUTDX,AL
MOVDX,io8255k
MOVAL,00H
OUTDX,AL;C0(GATE1)低电平,定时器1禁止计数
MOVDX,offsetmess
MOVAH,09H
INT21H;显示提示信息
INTK:
MOVDX,io8253k
MOVAL,70H
OUTDX,AL;计数器1,方式0,先读写低8位,再读写高8位。
MOVDX,io82531;输入时钟为光电开关输出。
MOVAL,0ffH
OUTDX,AL;从FF到零,65536
NOP
NOP
OUTDX,AL;高八位
MOVDX,io8253k
MOVAL,90H
OUTDX,AL;计数器2,方式0,只读写低8位,检测时间5秒
MOVDX,io82532
MOVAL,100
OUTDX,AL;初值100,检测5秒50ms*100计数器0输出是计数器2的CLK
MOVDX,io8255k
MOVAL,01H
OUTDX,AL;PC0输出1,定时器1开始计数
LOOPER:
MOVAH,06H
MOVDL,0FFH
INT21H;判断输入按键
JECOUNTER;没有按键就继续执行COUNTER
MOVBL,AL
XORBL,73H;判断是否有按键为s(标准值)
JZSANREP
MOVBL,AL
XORBL,72H;判断是否有按键为r(测得值)
JZRESREP
JMPEXPRO
SANREP:
MOVAX,SAND
MOVDX,0000h
MOVCX,000ah;折算成0.5秒钟的电机转速
DIVCX;这时转速应为一个2位数,存于AX中
MOVCL,10
DIVCL;除10
MOVREPS,AL;十位
MOVREPG,AH;个位
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 东南大学微机实验课程设计 电机 东南大学 微机 实验 课程设计