最少拍控制
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机控制技术课程设计
成绩
设计题目:
最少拍控制系统设计
学院:现代科技学院
专业:自动化
班级:08班
学生:
学号:2008
指导教师:贾敏智
设计日期:2011年7月12日
目录
摘要 (3)
一、课程设计内容和要求 (3)
二、硬件设计和实现 (4)
三、硬件选择依据和原理 (5)
四、硬件接线图 (7)
五、流程图 (8)
六、控制算法的设计和实现 (8)
七、程序清单 (10)
八、MATLAB仿真 (18)
九、运行结果 (18)
十、课设心得 (19)
十一、参考文献 (19)
摘要
关键字:最少拍控制;微型计算机;无波纹;D(Z)的设计方法最少拍控制器是基于准确的被控对象而建立的一种控制算法。
随动系统式一种速度跟踪系统,它的主要性能指标是快速性,要求系统的输出值尽快地跟踪给定值地变化。
应用数字控制器设计的随动系统的快速性一般以系统需要多少个采样周期数来表征。
通常称一个采样周期为一拍,无疑在越少的拍数内,系统的输出能跟上给定值,则系统的快速性越好。
最少拍控制就是为满足这一要求的一种离散化设计方法。
所谓最少拍控制,就是要求闭环系统对于某个典型的输入,设计D(z) 使闭环系统响应在最少的采样周期内(最少拍)达到采样点上无静差的稳态,且闭环脉冲传递函数具有以下形式:
Φ(z)= Φ1z-1+Φ2z-2+…ΦN z-N
其中N为可能情况下的最小正数。
这一形式表明闭环系统的脉冲响应在N个采样周期后变为零,即系统在N 拍之内达到稳定
一、课程设计内容和要求
控制对象传递函数为
5
()
(0.81)
G s
s s
=
+
,采用TDN-AC/ACS计算机控制技术
实验箱为平台,完成最少拍控制系统设计。
设计阶跃输入下的最少拍有波纹和斜波输入的无波纹控制器。
1)以8088CPU为基础设计计算机控制系统硬件电路,包括支持计算机工作的外围电路(EPROM、RAM、键盘、显示、通信端口等)。
2)以ADC0809和DAC0832为模数/数模转换器,设计输入输出通道。
3)以试验箱上的运算放大器模块为基础构建对象模型。
4)画出系统程序框图;
5)分配系统资源,编写系统初始化和主程序模块;
6)编写数字控制器软件模块;
7)编写A/D转换器处理程序模块;数字滤波程序。
8)编写输出控制程序模块;
9)其它程序模块。
在试验箱上搭建试验系统。
对所编写的程序进行编译调试,验证控制算法。
二、硬件设计和实现
8086CPU 中寄存器总共为 14 个,且均为 16 位。
即 AX,BX,CX,DX,SP,BP,SI,DI,IP,FLAG,CS,DS,SS,ES 共 14 个。
而这 14 个寄存器按照一定方式又分为了通用寄存器,控制寄存器和段寄存器。
通用寄存器:AX,BX,CX,DX 称作为数据寄存器:
AX (Accumulator):累加寄存器,也称之为累加器;BX (Base):基地址寄存器;CX (Count):计数器寄存器;DX (Data):数据寄存器;
SP 和 BP 又称作为指针寄存器:SP(Stack Pointer):堆栈指针寄存器;
BP (Base Pointer):基指针寄存器;
SI 和 DI 又称作为变址寄存器:SI(Source Index):源变址寄存器;
DI (Destination Index):目的变址寄存器;
控制寄存器:IP(Instruction Pointer):指令指针寄存器; FLAG:标志寄存器;段寄存器:CS(Code Segment):代码段寄存器;DS(Data Segment):数据段寄存器;SS (Stack Segment):堆栈段寄存器;ES (Extra Segment):附加段寄存器;数据寄存器有 AX,BX,CX,DX 四个组成,
AX 寄存器可以分为两个独立的 8 位的 AH 和 AL 寄存器;
BX 寄存器可以分为两个独立的 8 位的 BH 和 BL 寄存器;
CX 寄存器可以分为两个独立的 8 位的 CH 和 CL 寄存器;
DX 寄存器可以分为两个独立的 8 位的 DH 和 DL 寄存器;
8086输入输出结构:在8086微机系统中,配置了一定数量的输入/输出设备,而这些设备必须通过输入/输出,即I/O接口芯片与CPU相连接。
每个I/O接口芯片都有一个或几个I/O端口,像存储器一样,每个I/O端口都有一个惟一的端口地址,以供CPU访问。
由于8086用地址总线的低086 CPU可以访问的I/O端口地址共有64KB,其地址为0000H~FFFFH。
这些端口均为8位端口(即通过该端口一次输入/输出一个字节信息)。
对端口的寻址有直接寻址方式和间接寻址方式两种。
直接寻址适用于地址在00H~FFH范围内的端口寻址。
间接寻址适用于地址在0100H~FFFFH 范围内的端口寻址(所有端口均可采用间接寻址方式)。
三、硬件选择依据和工作原理
1.存储器扩展,微型计算机系统要扩展的存储器主要有用来存的EPROM,存放数据的EEPROM,存放随机采样数据的RAM,用户可根据需要进行选择。
2.模拟量输入通道的扩展,模拟量通道的扩展有以下两个问题。
(1)数据采集通道的结构形式。
(2)A/D转换器的选择。
3.输出通道的扩展,模拟量输出通道是微型机控制系统与执行机构连接的纽带和桥梁。
4.开关量I/O 接口设计,由于开关量只有两种状态“1”或“0”,每个开关量只需一位二进制表示即可。
5.操作面板,它是人机对话的纽带。
主要作用有:
(1)输入源程序到存储器,或者通过面板操作来监视程序执行情况; (2)打印,显示中间结果或最终结果;
(3)根据工艺要求,修改一些检测点的参数及给定值; (4)设置报警状态,选择工作方式以及控制回路等; (5)完成手自动勿扰的切换; (6)进行现场手动操作; (7)完成各种显示画面。
6.系统速度匹配问题,在不影响系统速度的情况下,时钟频率选底一些为好,这样可降低系统对其它元器件工作速度要求,从而降低成本提高系统可靠性。
当系统频率选得比较高时,要设法使其它原件与主机匹配。
7.系统负载匹配问题,主要表现在: (1)逻辑电路间的接口及负载匹配问题 (2)微型机负载匹配问题
原理图
如图,R 为输入,C 为输出,计算机对误差E 定时采样按D (Z )计算输出控制量U 。
采样周期T=0.8S ,(Z )为计算机输入,U (Z )为输出,有:
12301231
231
23()
()()
1U Z D Z E Z K K Z K Z K Z PZ P Z P Z ------=+++=+++
式中Ki 与Pi 取值范围:–0.9999~+0.9999,计算机分别用相邻三个字节存储其BCD 码。
最低字节存符号,00H 为正,01H 为负。
中间字节存前2位小数,最高字节存末2位小数
8088微机的8253产生定时信号,定时10ms ,采样周期T 为:ms T T K 10⨯=
K T 需事先送入2F60H 单元,取值范围:01H 到FFH ,对应的范围:10ms 到255ms 。
系数存储安排表: K0 2F00H 2F01H 2F02H K1 2F03H 2F04H 2F05H K2 2F06H 2F07H 2F08H K3 2F09H 2F0AH 2F0BH P1 2F0CH 2F0DH 2F0EH P2 2F0FH 2F10H 2F11H P3
2F12H
2F13H
2F14H
四、硬件接线图
五、流程图
六、控制算法的设计和实现
12301231
231
23()()()
1U Z D Z E Z K K Z K Z K Z PZ P Z P Z ------=
+++=+++
采样周期T=0.8S ,E(Z)为计算机输入,U(Z)输出,有: 式中1K 与1P 取值范围:-0.9999~0.9999 将D(Z)式写成差分方程,则有:
0112233112233()K K K K K K K U K K E K E K E K E PU PU PU ------=+++--- 式中3K K E E --误差输入;3K K U U --计算机输出。
单位阶跃信号下,最少拍数字控制器:
⇒⎪⎪⎩⎪⎪⎨
⎧==-==0
01178
.04111
.0321
0K K K K ⎪⎩⎪⎨⎧===0
05843.0321P P P 检
针对阶跃输入下的最少拍有波纹控制器设计,
()1
1
5843.011178.0411.0--+-=
Z Z Z D 验误差序列:()(1())()1E z z R z =-Φ= 由误差的变换函数得知,所设计的系统当k>1后,e (k )=0就是说,一拍以
后,系统输出等于输入,设计正确。
单位速度信号下,最少拍控制器:
针对谐波输入的无波纹控制器设计,
()1
1
3688.010743.02595.0))(1)(()(--+-=
-=Z Z Z Z G Z Z D φφ ⎪⎪⎩
⎪
⎪⎨⎧==-==⇒00
0743
.02595
.03210K K K K ⎪⎩⎪⎨⎧===003688.0311P P P
检验误差:1()(1())()E z z R z z -=-Φ=
从E(z)看出,按单位速度输入设计的系统,当k 大于等于2之后,即二拍之后,误差e (k )=0,满足题目要求。
用示波器观察输入R 波形,在输入R 为零时启动最小拍程序,对照斜坡输入R ,观察输出C 。
应观察到,系统输出C 在2拍后既跟踪上输入,并且采样点间无纹波,达到控制的目的。
七、程序清单(有波纹和无波纹)STACK SEGMENT STACK
DW 256 DUP(?) STACK ENDS
DATA SEGMENT
SAVEBUFF DB 256 DUP(00H)
TK DB 64H ;采样周期Tk
K0 DB 00H,51H,00H K1 DB 00H,22H,31H K2 DB 00H,00H,00H K3 DB 00H,00H,00H P1 DB 00H,46H,97H P2 DB 00H,00H,00H P3 DB 00H,00H,00H (K0 DB 00H,00H,00H K1 DB 00H,99H,99H K2 DB 01H,86H,80H K3 DB 00H,18H,40H P1 DB 01H,20H,80H P2 DB 01H,78H,45H P3 DB 00H,00H,00H)无波纹
有波纹
SAVEMARK DB 00H
SAVEADDR DB 0FFH
CONTROLMARK DB 00H
EKB DB 00H ;误差输入
K0_16 DB 00H,00H,00H
K1_16 DB 00H,00H,00H
K2_16 DB 00H,00H,00H
K3_16 DB 00H,00H,00H
P1_16 DB 00H,00H,00H
P2_16 DB 00H,00H,00H
P3_16 DB 00H,00H,00H
EK DW 0000H
EKK DW 0000H
EK_1 DW 0000H
EK_2 DW 0000H
UK DW 0000H ;计算机输出UKK DW 0000H
UK_1 DW 0000H
UK_2 DW 0000H
OUTPUT DW 0000H
ALLK_ALLP DW 0000H
DATA ENDS ;数据段定义
CODE SEGMENT ;代码段定义
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
PUSH DS
XOR AX,AX ;规定8088段地址为0000H
MOV DS,AX
MOV AX,2000H+OFFSET IRQ7 ;取8088
MOV SI,003CH
MOV [SI],AX
MOV AX,2000H+OFFSET IRQ6
MOV SI,0038H
MOV [SI],AX
MOV AX,0000H
MOV SI,003EH
MOV [SI],AX
MOV SI,003AH
MOV [SI],AX
CLI
POP DS
MOV AL,90H ;初始化8086 B口为输出
OUT 63H,AL
MOV AL,0A4H
OUT 43H,AL
MOV AL,2EH
OUT 42H,AL
IN AL,21H
AND AL,3FH
OUT 21H,AL
MOV SI,OFFSET P3+2
MOV BH,07H
MOV DI,OFFSET P3_16+2
CALL CHANGE
CALL CLEAR_E
MOV AL,80H
OUT 00H,AL
MOV BL,01H
MOV SAVEMARK,00H
MOV SAVEADDR,0FFH AGAIN: STI
HLT
JMP AGAIN
IRQ6: MOV AL,80H
OUT 00H,AL
MOV AL,10H
OUT 61H,AL
MOV CONTROLMARK,AL
MOV SAVEMARK,AL
CALL CLEAR_E
MOV BL,01H
MOV AL,20H
OUT 20H,AL
IRET
IRQ7: MOV AL,01H
MOV CONTROLMARK,AL
DEC BL
JNZ FINISH
CALL CY
MOV EK,DX
MOV AX,DX
MOV DI,OFFSET K0_16
INC DI
MOV DX,[DI]
CALL ML
MOV AX,ALLK_ALLP
ADD DX,AX
CALL OUT_PUT
MOV DX,OUTPUT
MOV UK,DX
MOV SI,OFFSET UK_1
MOV DI,OFFSET UK_2
MOV BL,07H
L1: MOV AX,[SI]
MOV [DI],AX
DEC SI
DEC SI
DEC DI
DEC DI
DEC BL
JNZ L1
MOV AX,0000H
MOV ALLK_ALLP,AX
MOV SI,OFFSET K1_16
MOV DI,OFFSET EKK ;取误差中断地址
MOV CX,0003H
CALL L2
MOV SI,OFFSET P1_16
MOV DI,OFFSET UKK ;取计算机输出地址
MOV CX,0103H
CALL L2
MOV BL,TK
FINISH: MOV AL,20H
OUT 20H,AL
IRET
L2: INC SI
MOV DX,[SI]
MOV AX,[DI]
CALL ML
DEC SI
TEST BYTE PTR[SI],01H
JNZ QB
LL: INC SI
INC SI
INC SI
INC DI
INC DI
MOV AX,ALLK_ALLP
CMP CH,00H
JNZ L3
ADD DX,AX
L4: MOV ALLK_ALLP,DX
DEC CL
JNZ L2
RET
L3: XCHG DX,AX
SUB DX,AX
JMP L4
QB: NEG DX
JMP LL
ML: CMP DX,7FFFH
JA ML1
IMUL DX
RET
ML1: PUSH BX
PUSH CX
PUSH AX
SUB DX,7FFFH
IMUL DX
MOV BX,DX
MOV CX,AX
POP AX
MOV DX,7FFFH
IMUL DX
ADD AX,CX
ADC DX,BX
POP CX
POP BX
RET
CY: IN AL,60H
SUB AL,80H
MOV EKB,AL
CALL SAVEEK
MOV DX,0000H
MOV DH,AL
MOV CL,03H
SAR DX,CL
RET
SAVEEK: MOV AH,AL
MOV DX,OFFSET SAVEBUFF
MOV AL,CONTROLMARK
CMP AL,00H
JZ L5
MOV AL,SAVEMARK
CMP AL,01H
JZ L5
MOV AL,SAVEADDR
CMP AL,0FEH
JZ L6
INC AL
MOV DL,AL
MOV SAVEADDR,AL
PUSH DI
MOV DI,DX
MOV [DI],AH
POP DI
L5: MOV AL,AH
RET
L6: INC SAVEMARK
JMP L5
OUT_PUT: MOV OUTPUT,DX
TEST DH,80H
JZ L7
MOV BX,0F000H
SUB DX,BX
JG L8
MOV DX,0F000H
MOV AL,80H
OUT 61H,AL
JMP L9
L7: MOV BX,0FFFH
SUB DX,BX
JG L10
L8: MOV DX,OUTPUT
JMP L11
L10: MOV DX,0FFFH
MOV AL,80H
OUT 61H,AL
L9: MOV OUTPUT,DX
L11: MOV CL,03H
MOV AL,CONTROLMARK
CMP AL,00H
JZ L12
SHL DX,CL
MOV AL,DH
ADD AL,80H
OUT 00H,AL
L12: RET
CHANGE: DEC SI
MOV CX,[SI]
INC SI
AND AL,AL
MOV DX,0000H
MOV BL,10H
GO: MOV AL,[SI]
ADD AL,AL
DAA
MOV [SI],AL
MOV AL,[SI]
ADC AL,AL
DAA
RCL DX,0001H
MOV [SI],AL
INC SI
DEC BL
JNZ GO
DEC SI
MOV [SI],CX
DEC SI
MOV AL,[SI]
DEC DI
MOV [DI],DX
DEC SI
DEC DI
MOV [DI],AL
DEC DI
DEC BH
JNZ CHANGE
RET
CLEAR_E: MOV AX,0000H
MOV ALLK_ALLP,AX
MOV SI,OFFSET EK
MOV BL,08H GOON: MOV [SI],AX
INC SI
INC SI
DEC BL
JNZ GOON
RET
DELAY: PUSH CX
MOV CX,1000H
DEL1: PUSH AX
LOOP DEL1
POP CX
RET
CODE ENDS
END START 八、ATLAB仿真
九、运行结果
有波纹图
无波纹图
十、课设心得
在本次设计的过程中,我发现很多的问题,给我的感觉就是很难,很不顺手,看似很简单的电路,连接起来也很困难,因为我们要查找模块,选择电阻和电容。
还要将电脑中的程序载入模块,调试运行。
在调试的过程中,遇到的问题更多,调试的过程是一个让人思考的过程,也是熟悉稳态方法和实践动手的好机会,顺着模块的顺序依次排查接线,出现问题,想出各种可能的情况,测试解决。
通过这次的课程设计,锻炼了我的动手实践能力,让我有机会将课本所学的知识与实际相结合。
切身体会到动手能力的重要。
同时电路的设计修改也是我将知识整理融汇的过程,在某些课设涉及的地方我的理解更加深入了。
今后随着学习的深入,还会有更加深入的理论方法,相信到时候我可以学会更多知识,将所学的知识学以致用。
十一、参考文献
《算机控制技术》潘新民王燕芳主编高等教育出版社。