微机原理课程设计电机调速系统设计.docx
《微机原理课程设计电机调速系统设计.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计电机调速系统设计.docx(16页珍藏版)》请在冰豆网上搜索。
微机原理课程设计电机调速系统设计
北华大学课程设计报告
课程名称:
微型计算机原理与接口技术
课设题目:
微机控制直流脉宽调速系统设计
班级:
通信10-1
学号:
16
姓名:
孙鹏
指导教师:
张锡鹤
目录
一、设计题目介绍1
二、调速系统框图设计3
三、系统相关芯片介绍4
四、A/D转换设计5
五、显示和报警设计6
六、系统软件设计8
七、实习心得13
参考文献14
一、设计题目介绍
Ø设计题目:
微机控制直流脉宽调速系统设计
Ø设计目的
1)掌握8088CPU最小总线模式下设计“计算机控制系统”软件的方法;
2)掌握微机控制直流脉宽调速系统的设计方法和思想;
3)掌握一般性系统的设计流程与调试技巧。
Ø设计要求
1)根据设计的技术要求,制定总体设计方案;
2)绘制软件流程图——总图;
3)绘制软件各模块流程图;
4)编写源程序;
5)上机用Emu8086软件调试程序;
6)编写设计报告。
Ø设计数据
1)微机直流电动机参数
a.额定工作电压12V
b.额定工作电流2A
c.额定转速500V/min
d.内电阻1欧姆
e.过载倍数2.5
f.电动机单向运行(无符号运算)
2)转速给定电压0~5V
3)三位LED数码管显示实际转速
4)主电路采用脉宽电路设计,要求脉宽调制周期为10ms
5)当电机电流≧5A时,自动关闭主电路电源,同时发出声光报警信号
Ø设计原理
脉宽调制技术是利用数字输出对模拟电路进行控制的一种有效技术,尤其是在对电机的转速控制方面,可大大节省能量,PWM控制技术的理论基础为:
冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同,使输出端得到一系列幅值相等而宽度不相等的脉冲,用这些脉冲来代替正弦波或其他所需要的波形。
按一定的规则对各脉冲的宽度进行调制,既可改变逆变电路输出电压的大小,也可改变输出频率。
二、调速系统框图设计
图2.1
技术参数:
1)ADC0809芯片的起始地址为00H,使用IN0、IN1通道,最大输入电压为+5V;
2)8255芯片的起始地址为08H,PA口、PB0、PB1、PB2用于控制三位数码管显示电动机的转速。
PC0为PWM输出控制;PC1用于电动机过电流报警,PC2为使能端,低电平有效;PC3为电动机的启动/停止运行的控制。
PC3低电平停止运行,高电平启动电动机运行。
数码管采用动态显示方式工作,最大显示循环周期为30ms;
3)PWM调制信号的变化范围为20%~80%,PWM信号的工作周期时间为10ms;
4)LED显示器为三只共阴极绿色数码管,驱动器为“同相驱动”;
5)计算机内存地址分为两大部分:
00000H~01FFFH、FF800H~FFFFFH;
6)8088CPU时钟频率为4MHz。
补充知识:
电动机转速计算公式:
式中:
U—PWM电压变换器输出电压(V);I—电枢电流(A);R—电机内阻(1Ω);Ceφ—常数大约为0.25。
3、系统相关芯片介绍
第三代CPU8088微处理器,8088为40条引线、双列直插式封装,8088有最小组态(单微处理器组成的小系统)和最大组态(多处理器系统)两种工作模式,大部分引脚在两种组态下功能是一样的,只有8根引脚的名称及功能不同(24脚~31脚)。
由于在本次课程设计中,8088工作于最小组态,所以在引脚功能介绍时,为了突出重点我们只介绍最小模式的引脚功能。
1)引脚功能
a.AD7~AD0:
8位地址/数据总线,分时复用、双向、三态。
b.A15~A8:
地址线,三态输出。
c.A19/S6~A16/S3:
地址/状态线,分时复用、输出、三态。
d.NMI:
不可屏蔽中断申请信号,输入、上升沿有效。
不可屏蔽中断申请不受中断允许标志IF的影响。
e.INTR:
可屏蔽中断申请信号,输入、高电平有效。
受CPU内部中断允许标志位的控制。
f.RESET:
复位信号,输入、高电平有效。
g.READY:
准备就绪信号,输入、高电平有效。
h.TEST:
测试信号,输入、低电平有效。
i.MN/MX:
最小/最大工作模式控制信号,输入。
当MN/MX接高电平时,则CPU工作在最小模式。
当MN/MX接低电平时,则CPU工作在最大模式。
j.IO/M:
输入/输出/存储器控制信号,三态。
k.WR:
写信号输出,三态。
l.DT/R:
数据传送方向控制信号,三态。
m.DEN:
数据允许信号,三态。
n.ALE:
地址锁存信号,三态输出,高电平有效。
o.RD:
读选通信号,三态输出,高电平有效。
p.INTA:
中断响应信号输出,低电平有效。
q.HOLD:
总线保持请求信号,输入。
当8088系统中CPU之外的另一个主模块要求选用总线时,通过该信号向CPU发出一个高电平的总线保持请求信号。
r.HLDA:
总线保持响应信号,输出。
当CPU接收到HOLD信号后,便发出高电平有效的HLDA信号给以响应,此时,CPU让出总线控制板,发出HOLD请求总线主设备获得总线的控制权。
2)8088最小总线模式如下图2所示:
图3.1
8088最小模式典型的系统主要由8088CPU时钟发生器8284、地址锁存器8282及数据总线收发器8286组成。
由于地址与数据、状态线分时复用,系统中需要地址锁存器。
地址锁存信号ALE控制8282的STB,用8282锁存器产生地址总线;用8286收发器产生缓冲的数据总线。
8088的DEN信号作为8286的输出允许信号面,仅当DEN为低电平时,允许数据经8286进行传送;8088的DT/R信号用来控制数据传送的方向,接至8286的引脚T。
当DT/R=1时,CPU向数据总线发送数据,当DT/R=0时,则CPU接收来自系统总线上的数据。
数据线连至内存及I/O接口,需用数据总线收发器作驱动。
在最小组态时,系统总线可分为几个基本部分:
地址总线、数据总线、控制与状态信号、中断与DMA信号。
四、A/D转换设计
ADC0809为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。
8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道抵制锁存用译码电路,地址锁存与译码电路完成对A、B、C3个地址位进行锁存和译码,其译码输出用于通道选择,其转换结果通过三态输出锁存器存放、输出,因此可以直接与系统数据总线相连,图3为通道选择表。
内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。
图4.1转换通道图4.2引脚说明
IN7~IN0—模拟量输入通道。
ALE—地址锁存允许信号。
对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。
START—转换启动信号。
START上升沿时,复位ADC0809;START下降沿时启动芯片,开始进行A/D转换。
A、B、C—地址线。
通道端口选择线,A为低地址,C为高地址,引脚图中为ADDA,ADDB和ADDC。
CLK—时钟信号。
ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。
EOC—转换结束信号。
EOC=0,正在进行转换;EOC=1,转换结束。
使用中该状态信号即可作为查询的状态标志,又可作为中断请求信号使用。
D7~D0—数据输出线。
为三态缓冲输出形式,可以和单片机的数据线直接相连。
D0为最低位,D7为最高
OE—输出允许信号。
用于控制三态输出锁存器向单片机输出转换得到的数据。
OE=0,输出数据线呈高阻;OE=1,输出转换得到的数据。
Vcc—+5V电源。
Vref—参考电源参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。
其典型值为+5V(Vref(+)=+5V,Vref(-)=-5V)。
5、显示和报警设计
8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。
具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。
8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。
同时必须具有与外设连接的接口A、B、C口。
由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:
与CPU连接部分、与外设连接部分、控制部分。
1)引脚功能说明
a.RESET:
复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。
b.CS:
芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输.
c.RD:
读信号线,当这个输入引脚为低跳变沿时,即/RD产生一个低脉冲且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。
d.WR:
写入信号,当这个输入引脚为低跳变沿时,即/WR产生一个低脉冲且/CS=0时,允许CPU将数据或控制字写入8255。
e.D0~D7:
三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。
2)8255三种方式下工作
a.方式0————基本输入输出方式;
b.方式1————选通输入/出方式;
c.方式2————双向选通输入/输出方式。
3)8255的A1、A0选择
a.当A1=0,A0=0时,PA口被选择;
b.当A1=0,A0=1时,PB口被选择;
c.当A1=1,A0=0时,PC口被选择;
d.当A1=1.A0=1时,控制寄存器被选择。
4)8255接线图
图5.1
5)数码管显示
由74LS244根据控制信号的状态,将总线上地址代码暂存起来。
74LS244为3态8位缓冲器,一般用作总线驱动器。
74LS244没有锁存的功能。
A口控制段选,74LS244驱动三位一体数码管显示输出电机实际转速;B口控制位选,使数码管工作。
如下图所示:
图5.2
当电流超过额定电流时,8088软件编程控制8255C口工作输出,三极管导通,进而使蜂鸣器发出声响,发光二极管工作发光。
利用8255的A口作为输出口,接74LS244控制数码管段选,B口输出控制三个数码管位选,来实现电机转速的大小显示。
利用C口控制报警电路,由74LS244根据控制信号的状态,将总线上地址代码暂存起来。
74LS244为3态8位缓冲器,一般用作总线驱动器。
74LS244没有锁存的功能。
A口控制段选,74LS244驱动三位一体数码管显示输出电机实际转速;B口控制位选,数码管显示电机转速;而当电流大于额定电流时,蜂鸣器响,发光二极管发光,完成报警工作。
6)电流检测器
电流检测模块由LEM检测电流信号是否大于给定的5A,如果电流大于5A,则向0809传输信号,经过模数转换,给处理器传送信号,继而通知8255做出报警动作。
六、系统软件设计
Ø软件流程图
Ø编写源程序
DSEGSEGMENT;数据段定义
TABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;数码管的显示数表0-9
DSEGENDS
CSEGSEGMENT;代码段定义
ASSUMECS:
CSEGDS:
DSEG
START:
MOVAX,DSEG
MOVDS,AX
MOVAX,0FF80H;设置内存的基地址
MOVES,AX
LEASI,TABLE;取数据段偏移地址
MOVCX,03H;定义数码管循环显示
MOVAL,88H;8255初始化
OUT0BH,AL;写8255控制寄存器
L1:
INAL,0AH;判断PC6、PC7是否有效
MOVBL,C0H
ANDAL,BL
CMPAL,BL
JNEL1
MOVAL,80H;ADC0809IN0输入
OUT00H,AL
CALLDELAY0
INAX,00H
MOVBX,320;占空比计算
CWD
DIVBX
MOVDX,AX
MOVAL,00000001B;PC0输出高电平
OUT0BH,AL
CALLDELAY_DUTY
MOVAL,00000000B
OUT0BH,AL
INAL,0AH;判断PC6、PC7是否有效
MOVBL,C0H
ANDAL,BL
CMPAL,BL
JNEL1
MOVAL,80H;ADC0809IN1输入
OUT01H,AL
CALLDELAY0
INAX,01H
XCHGAX,BX
MOVAX,2
CMPBX,AX;比较IN1的输入值
JNCL2
MOVAL,00000010B;PC1=0
OUT0BH,AL
L2:
MOVAL,00000011B;PC1=1报警
OUT0BH,AL
XCHGAX,BXIN1;输入的值转换为转速n
XCHGAX,DX
MOVBL,12
MULBL
SUBAX,DX
SHLAX,2
MOVBL,10
DIVBL
MOVDI,0
MOVES:
[DI],AH;取n的个位
MOVAH,0
DIVBL
MOVES:
[DI+1],AH;取n的十位
MOVAH,0
DIVBL
MOVES:
[DI+2],AH;取n的百位
MOVBL,03H;判断显示循环是否为三次
CMPBL,CL
MOVAL,CL
JEL3
OUT09H,AL
L3:
MOVAL,04H
OUT09H,AL
ADDDI,CX;显示第i位
MOVBX,ES:
[DI]
ADDSI,BX
MOVAL,[SI]
OUT08H,AL
DECCX
JNEL4
MOVCL,03H
L4:
CALLDELAY_ADJ
JMPL1
DELAY0PROC;延时大约500us
PUSHCX
MOVCX,0800H
L5:
LOOPL5
POPCX
RET
DELAY0ENDP
DELAY_DUTYPROC;高电平持续时间
PUSHCX
MOVBL,DL
MOVAX,0FA0H
CWD
MULBL
MOVCX,AX
L6:
LOOPL6
POPCX
RET
DELAY_DUTYENDP
DELAY_ADJPROC;调节延时使程序执行周期大约为10ms
PUSHCX
MOVCX,~~~~~~
L7:
LOOPL7
POPCX
RET
DELAY_ADJENDP
MOVAH,4CH
INT21H
CSEGENDS
ENDSTART
七、实习心得
通过本次微机电机调速控制系统课程设计,对微机原理与接口技术有了更深层次的理解,进一步加强了微机8088指令系统的学习。
设计过程中遇到很多问题,通过老师的指导和同学之间的交流,解决了很多问题以及扩展了思路。
同时,更加全面的了解ADC0809的应用和8255可编程并行接口,对以后课程的学习起到承上启下的作用。
最后,感谢老师的一直陪伴,谢谢老师的指导!
参考文献
[1]冯博琴,吴宁.微型计算机原理与接口技术.北京:
清华大学出版社,2011
[2]康华光.数字电子技术基础.北京:
高等教育出版社,2007
[3]康华光.模拟电子技术基础.北京:
高等教育出版社,2008
[4]姜学军.计算机控制系统.北京:
清华大学出版社,2003
[5]杨小川.ProtelDXP设计指导教程.北京:
清华大学出版社,2003