湖南工业大学计算机控制实验报告.docx
《湖南工业大学计算机控制实验报告.docx》由会员分享,可在线阅读,更多相关《湖南工业大学计算机控制实验报告.docx(31页珍藏版)》请在冰豆网上搜索。
湖南工业大学计算机控制实验报告
《计算机控制技术》
实验报告
学生姓名
刘宝雨
班级
测控1002班
学号
10401600244
电气与信息工程学院
2013年4月20日
实验一A/D、D/A转换实验
实验1.1A/D、D/A转换实验
(1)
1.实验线路原理图:
见图1—1
图1-1
CPU的DPCLK信号与ADC0809单元电路的CLOCK相连作为ADC0809的时钟信号。
ADC0809芯片输入选通地址码A、B、C为“1”状态,选通输入通道IN7。
通过电位器W41给A/D变换器输入-5V~+5V的模拟电压。
8253的2#口用于5ms定时输出OUT2信号启动A/D变换器。
由8255口A为输入方式。
A/D转换的数据通过A口采入计算机,送到显示器上显示,并由数据总线送到D/A变换器0832的输入端。
选用CPU的地址输入信号IOY0为片选信号(
),XIOW信号为写入信号(
),D/A变换器的口地址为00H。
调节W41即可改变输入电压,可从显示器上看A/D变换器对应输出的数码,同时这个数码也是D/A变换器的输入数码。
2.A/D、D/A转换程序流程:
(见图1—2)
对应下面的流程,我们已编好了程序放在CPU的监控中,可用U(反汇编)命令查看。
而且已将所有控制程序放在光盘中,供教师参考,当然对于学生来说,应让其自己编写调试。
图1-2
3.实验内容及步骤
(1)按图1—1接线。
用“短路块”分别将U1单元中的ST与+5V短接,U4单元中的X与+5V,Z与-5V短接。
其它画“●”的线需自行连接。
示波器的CH1通道接U15单元的OUT端,连接好后,接通电源。
(2)对U15D/A转换单元进行调零。
按下实验箱上的复位键,在调试窗口中出现“WELCOMETOYOU”后,输入如下(参照图1-3):
A2000按“Enter”键
0000:
2000MOVAL,80按“Enter”键
0000:
2002OUT00,AL按“Enter”键
0000:
2004INT按“Enter”键
0000:
2005按“Enter”键
G=0000:
2000按“Enter”键
待输入完成后,用U16单元电压表毫伏档监测U15D/A转换单元OUT端电压,调节U15单元103电位器使电压表显示“00”。
图1-3
(3)将U4单元中W41输出调至-5V,执行监控中的程序(G=F000:
1100按“Enter”键)。
如果程序正确执行,将在显示器上显示“00”。
参见图1-4。
图1-4
(3)将W41依次调节,用U16交/直流数字电压表分别检测A/D的输入电压和D/A的输出电压。
观察显示器,记下相应的数码及D/A的输出模拟电压,填入下表1—1。
模拟输入电压(V)
显示器数码(H)
模拟输出电压(V)
-4.93
00
-4.93
-3.85
1A
-3.85
-2.89
33
-2.89
-1.94
4C
-1.94
-0.97
66
-0.97
0
80
0
+0.91
99
0.91
+1.89
B3
1.89
+2.88
CD
2.88
+3.83
E6
3.83
+4.80
FF
4.80
4.按图1—5改接U4输出Y至U15A/D转换单元输入IN7的连接,即添加一个反向放大器,其它线路同图1—1。
图1-5
5.用U16交/直流数字电压表监测A/D的输入电压,在OV附近连续调节A/D的输入电压,观察整理化误差和量化单位。
6.测出A/D输入电压在OV附近±5个量化单位的数值,记录与之相对应的数字量,如表1—2所示:
表1—2
模入
电压(mV)
-196
-156.8
-117.6
-78.4
-39.2
0
39.2
78.4
117.6
156.8
196
数字量
(H)
7B
7C
7D
7E
7F
80
81
82
83
84
85
AD转换的量化特性图,如图1—6所示:
图1-6
实验1.2A/D、D/A转换实验
(2)
1.实验线路原理图:
见图1—7
图1-7
设置8255为定时方式,OUT2信号为采样脉冲,采样周期5ms。
8255的A口为输入方式,用于采入数据。
8255的B口为输出方式,用于选择控制双路输入输出通道。
A/D转换单元可对多路模拟量进行转换,这里用6、7两路分别接入图1—8所示信号。
图1-8
计算机控制A/D变换器分时对这两路模拟信号进行A/D转换。
将转换的数字量送至D/A变换器还原成模拟量,并送至两个采样保持器。
由8255B口分别控制两个采样保持器的采样开关,以保证采样保持器单元电路中的OUT1输出信号与A/D转换单元U13的IN6输入信号一致;采样保持器单元电路的OUT2输出信号与A/D转换换单元U13的IN7输入信号一致。
2.程序流程:
见图1—9
图1-9
3.实验内容及步骤
(1)按图1—7接线,其中画“●”的线需自行连接。
将U1的信号选择开关S11放到斜波位置。
用短路块将U1的S与ST短接。
置S12为T3档,实验中调节W11电位器,改变信号周期。
调W12使输出信号不大于5V。
(2)执行程序(G=F000:
1151按“Enter”键)。
(3)本实验选择普通示波器,用示波器同时观察输入与输出信号。
如果程序正确执行,A/D转换单元U13的IN6输入信号应与U15DA/C单元中的采样保持输出OUT1信号一致,参见图1-8左图。
U13的IN7输入信号与U15单元中的采保持输出OUT2信号一致,参见图1-8右图。
(4)在U15DA/C转换单元的OUT端用示波器观察计算机分时控制的输出波形。
实验二采样与保持
实验2.1采样实验
1.实验线路原理图
(1)原理:
信号发生器U1单元的OUT端输出抛物线信号,通过A/D转换单元U13的IN7端输入。
计算机在采样时刻启动A/D转换器,转换得到数字量送至教学机8255口A,口A设成输入方式。
CPU将输入的数字量直接送到D/A转换单元U15,在U15单元的OUT端则输出相应的模拟信号。
如图2.1—1所示,在时间τ以外,计算机输出零至D/A并使其转换,所以τ以外输出为零。
τ的时间:
10ms
图2.1-1
(2)接线图:
见图2.1—2。
图2.1-2
(3)采样周期T的设置
计算机用8253产生定时中断信号,定时10ms,并在2F60H单元存放倍数Tk可取01H~FFH,采样周期T=Tk×10ms,所以T的范围为10ms~2550ms,改变Tk即可以确定T。
2.实验程序流程图:
见图2.1—3
图2.1-3
3.实验内容与步骤
(1)按图2.1—2连线,其中画“●”的线需自行连接。
首先将U1信号发生器单元中的S11置抛物线档,S12置T3档。
用短路块短接S与ST。
(2)用示波器观察U1单元的OUT端的波形,调W12使其不高于5V,调W11使T1周期约2s。
(3)选定Tk=04H,将2F60H单元存入Tk值。
在调试窗口输入:
E2F60,按“Enter”键,待调试窗口显示“0000:
2F60=CC—”从键盘输入04后,按“Enter”,即将Tk=04H存入2F60H单元。
见下图。
(4)启动采样程序(在调试窗口输入G=F000:
11A2按“Enter”键)。
(5)本实验选用普通示波器,用示波器对照观察U1单元的OUT端与U15单元的OUT端波形,观察完停机。
(6)选择若干Tk值(可取01H~FFH),重复(3)、(4)、(5),观察不同采样周期T时的输出波形。
(7)调节U1信号发生器单元的W11,使T1约0.3s,调W12使其不高于5V,重复步骤(3)、(4)、(5)。
上机实验结果如下图所示:
周期约等于两秒
T=04H时的采样波形如下:
T=07H时的采样波形如下:
T=FFH时的采样波形如下:
调节U1信号发生器单元的W11,使T1约0.3s,调W12使其不高于5V的输出波形如下所示:
T=04H时的输出波形如下:
T=70H时的输出波形如下:
T=FFH时的输出波形如下:
4.实验说明
通过3中的一些实验步骤,大家可明显地观察到,当Tk=01H~26H时,U15单元的OUT端的输出波形为IN7的采样波形,但当Tk再增大时,U15单元的OUT端的输出波形将采样失真。
从这看出,似乎采样周期T取得越小,对信号恢复越有利,一般来说,T必须满足tA/D+t处理≤T≤T香农/2,在此前提下,T越小越好(tA/D为A/D转换时间,t处理为计算机对信息进行处理所用的时间)。
有人又问,既然A/D采样本身具有保持功能,那是不是不管模拟量在A/D转换时变化多大,都可不加保持器呢?
不一定,因为A/D在采样时,对模拟量的变化频率有限制。
一般在十几Hz左右,如果信号变化太快,就会使采样信号失真,所以必须加采样保持器。
实验2.2保持实验
1.实验原理与线路
(1)原理
计算机(CPU)用8253定时,在采样时刻计算机给A/D器件启动信号,这时A/D器件(ADC0809)将模拟器转换成数字量并通过口A输入,计算机直接把这些数字量输出给D/A器件,D/A器件(DAC0832)则输出相应的模拟量,并且一直保持到输入新值。
原理如图2.2—1,采样周期设置同实验2.1。
图2.2-1
无零阶保持器的模拟原理图见图2.2—2。
开关τ合上的时间为10ms。
采样周期同实验2.1。
图2.2-2
(2)实验接线图:
见图2.2—3
R为输入,C为输出。
U15单元的OUT端为IN7端的离散化信号。
图2.2-3
2.实验程序流程:
见图2.1—3
3.实验内容与步骤
(1)按图2.2—3接线,S11置方波档,S12置T3档,调W12使U1单元的OUT端输出为1V方波,调W11使输出信号周期为5S。
(2)选Tk为02H,将2F60H单元存入Tk值,见下图。
(3)在调试窗口,启动采样保持程序(G=F000:
11E5按“Enter”键)。
本实验选用普通示波器,用示波器对照观察U13单元的IN7与U15单元OUT端波形,停机。
(4)更换Tk,重复
(2)、(3)步骤。
(5)增大Tk,存入2F60H单元,启动采样保持程序,观察输出C点波形,停机。
重复几次,直至系统不稳定,记下Tk值,并换算出相应的采样周期T,将实验结果填入表2.2—1中。
表2.2—1(T=Tk×10ms)
Tk(H)
采样周期T(s)
T=Tk×10ms
02
0.02
稳定
04
0.04
稳定
08
0.08
稳定
10
0.1
振荡
说明:
当Tk=02H时,启动采样程序,此时无零阶保持器,系统的输出波形将失真,因为在计算机控制系统中若无零阶保持器将导致控制不稳定,即在采样点间短暂失控,系统输出波形将失真。
(5)在已填入表2.2—1中选取一个Tk值(不要选为01H),Tk存入2F60H单元,启动采样程序(G=F000:
11A2),观察无零阶保持器系统C点的输出波形。
(6)减小输入信号幅度,增大采样周期,重复
(2)、(3)步骤,观察离散化噪音及系统的输出。
再将S11拔至斜波,抛物线档,作进一步观察。
上机实验演示如下图所示:
T=02H时输出波形如下(发生失真):
将T调节为70H时的输出波形如下:
实验三积分分离PID控制实验
1.实验原理及线路简介
(1)原理
如图4—1,R为输入,C为输出,计算机不断采入误差E,进行积分判别与PID运算,然后判结果是否溢出(若溢出则取最大或最小值),最后将控制量输送给系统。
图3-1
(2)运算原理
PID控制规律为:
U(t)=Kp[e(t)+
]。
e(t)控制器输入;U(t)为控制器输出。
用矩阵法算积分,用向后差分代替微分,采样周期为T,算法为:
U(K)=Kp{E(K)+
[E(K)-E(K-1)]}
=Kp·E(K)+
[E(K)-E(K-1)]
简记为:
Uκ=P·Eκ+I
+D·(Eκ-Eκ-1)
P、I、D范围为:
-0.9999~+0.9999,计算机分别用相邻三个字节存储其BCD码。
最低字节存符号,00H为正,01H为负。
中间字节存前2位小数,最高字节存末2位小数。
例有系数P为0.1234,I为0.04秒,D为0,则内存为表4-1所示。
地址内容
低字节0002H00H
中间字节P0003H12H
高字节0004H34H
0005H00H
I0006H04H
0007H00H
0008H00H
D0009H00H
000AH00H
表3—1
计算机存有初始化程序,把十进制小数转换成二进制小数,每个小数用两个字节表示。
在控制计算程序中按定点小数进行补码运算,对运算结果设有溢出处理。
当运算结果超出00H或FFH时则用极值00H或FFH作为计算机控制输出,在相应的内存中也存入极值00H与FFH。
积分项运算也设有溢出处理,当积分运算溢出时控制量输出取极值,相应内存中也存入极值。
计算机还用2F00H内存单元所存的值数作为积分运算判定值EI,误差E有绝对值小于EI时积分,大时不积分。
EI的取值范围:
00H~7FH。
控制量Uκ输出至D/A,范围:
00H~FFH,对应—5V~+4.96V,误差EI模入范围与此相同。
(3)整定调节参数与系统开环增益
可用临界比例法整定参数。
设采样周期为50ms,先去掉微分与积分作用,只保留比例控制,增大Kp,直至系统等幅振,记者证下振荡周期Tu和振荡时所用比例值Kpu,按以下公式整定参数。
①只用比例调节
Kp=0.5Kpu(P=Kp=0.5Kpu)
②用比例、积分调节(T取
Tu)
比例Kp=0.36Kpu(即P=Kp=0.36Kpu)
积分时间TI=1.05Tu(即I=
=0.07Kpu)
③用比例、积分、微分调节(T取
Tu)
比例Kp=0.27Kpu(即P=Kp=0.27Kpu)
积分时间TI=0.4Tu(即I=
=0.11Kpu)
微分时间TD=0.22Tu(即D=
=0.36Kpu)
PID系数不可过小,因为这会使计算机控制输出也较小,从而使系统量化误差变大,甚至有时控制器根本无输出而形成死区。
这时可将模拟电路开环增益适当减小,而使PID系数变大。
例:
PID三个系数都小于0.2,模拟电路开环增益可变为K/5,PID系数则都相应增大5倍。
另一方面PID系数不可等于1,所以整个系统功率增益补偿是由模拟电路实现。
例如若想取P=5.3,可取0.5300送入,模拟电路开环增益亦相应增大10倍。
(4)接线与线路原理
8253的OUT2定时输出OUT2信号,经单稳整形,正脉冲打开采样保持器的采样开关,负脉冲启动A/D转换器。
系统误差信号E→U14、IN;U14、OUT→U13、IN7:
采样保持器对系统误差信号进行采样,将采样信号保持并输出给A/D第7路输入端IN7。
计算溢出显示部分:
图4—2虚框内。
当计算控制量的结果溢出时,计算机并口B的PB17输出高电平,只要有一次以上溢出便显示。
这部分线路只为观察溢出而设,可以不接,对于控制没有影响。
(5)采样周期T
计算机8253产生定时信号,定时10ms,采样周期T为:
T=Tκ×10ms
Tκ事先送入2F60H单元,范围是01H~FFH,则采样周期T的范围为10ms~2550ms。
按Tu计算出的T如果不是10ms的整数倍,可以取相近的Tκ。
2.实验程序流程:
见图4—3主程序
PID位置算法A口中断程序
3.实验内容与步骤
(1)按图4-2接线,用短路块将S与ST短接,S11置方波档,S12置T3档,调W11使信号周期为5S,调W12使信号约为3V。
按下实验箱CPU单元的复位键,从菜单栏选择“装入程序”,程序存放路径为:
安装目录盘(如C盘):
\Teamkit\TKKL\TH4-1.EXE,如下图
选择指定程序后,会提示装入程序地址的段地址、偏移量。
确定装入程序的段地址和偏移量后,会显示装入程序的进度,直到出现“完成”提示,即程序装载完成。
可用U命令查看反汇编程序与数据,在调试窗口键入(U0000:
2000按“Enter”键)。
用D命令查看程序数据段段地址为0240后的数据,在调试窗口键入(D0240:
0000按“Enter”键)。
如下图
在TK(0240:
0000)、EI(0240:
0001)、KP、KI、KD(其中取KI=KD=0)的相应地址中存入表4-2中的数据,P、I、D系数的内存地址和存入方法参见表4-1的举例。
注:
用E命令编辑指定单元中的数据,在调试窗口输入E0240:
0000按“Enter”键,进入修改数据状态。
输入数据后可通过“空格”键使地址向高地址方向移动,而“-”键使地址向低地址方向移动。
修改完后直接按“Enter”键退出E命令状态。
选用普通示波器,在调试窗口启动程序(G=0000:
2000按“Enter”键),启动PID位置式算法程序,调电位器R可改变输出波形,用示波器观察输出。
(2)选不同的KP,直到等幅振荡,记下TU和KPU,TU填入表4—2上部。
(或KP取0.99仍不振荡则应增大采样周期或增大模拟电路增益,增大增益可调整图4—2中电位器R)
(3)根据临界比例法计算P、I、D三参数,修改KP、KI、KD(若系数过大过小可配合改变模拟电路增益),积分分离值EI取7FH存入2F00H单元,启动程序(G=0000:
2000),用示波器测出MP、tS。
(4)改变积分分离值EI,启动程序(G=0000:
2000),对照输入观察输出C,看MP、tS有无改善,并记录MP、tS。
(5)根据P、I、D三个系数的不同的控制作用,适当加以调整,同时可配合改变EI值,重新存入,启动程序(G=0000:
2000),对照输入观察输出,记录MP、tS。
按上述方法重复做几次,直到使MP<20%,tS<1S,在表3—2中填入此时的各参数和结果。
(6)用表3—2中的最佳PID参数,但积分分离值改为7FH并存入,在输入信号R为零时启动程序,将参数和结果填入表4—2中。
TK=05HKPU=0.905TU=0.5S
表3—2
参数
项目
EI
P
I
D
Mp
ts
I用临界比例法整定参数
7F
0.2443
0.0996
0.324
80%
3S
II用I栏PID参数,但EI修改
30
0.2443
0.0996
0.324
40%
2S
III较佳的PID控制参数
30
0.2243
0.0496
0.424
10%
0.9S
IV用II栏PID参数,EI为7F
7F
0.2243
0.0496
0.424
40%
1.5S
依照实验示波器的输出如下图所示:
图1、
图2、
图3、
图4、
实验四最小拍控制系统
1.实验原理与线路图
(1)原理
见图5.1—1。
R为输入,C为输出,计算机对误差E定时采样按D(Z)计算输出控制量U(Z)。
图中K=5。
图4.1-1
针对阶跃输入进行计算机控制算法D(Z)设计。
(2)D(Z)算法
采样周期T=1S,E(Z)为计算机输入,U(Z)为输出,有:
D(Z)=
=
式中Ki与Pi取值范围:
-0.9999~0.9999,计算机分别用相邻三个字节存储其BCD码。
最低字节符号,00H为正,01H为负。
中间字节存前2位小数,最高字节存末2位小数。
例有系数0.1234,则内存为:
地址内容
2F00H00H
2F01H12H
2F02H34H
系数存储安排如表5.1—1。
表5.1—1
0101H010DH
0102HK0010EHP1
0103H010FH
0104H0110H
0105HK10111HP2
0106H0112H
0107H0113H
0108HK20114HP3
0109H0115H
010AH
010BHK3
010CH
将D(Z)式写成差分方程,则有:
UK=K0EK+K1EK-1+K2EK-2+K3EK-3-P1UK-1-P2UK-2-P3UK-3
式中EK~EK-3,误差输入;UK~UK-3,计算机输出。
计算机运算溢出处理,当计算机控制输出超过00H~FFH时(对应于模拟量-5V~+5V),则计算机输出相应的极值00H或FFH,同时在相应的内存单元也存入极值。
(3)模拟电路的参数整定
被控对象有模拟电路,电路中所接电阻、电容参数有一定误差,所以应加以整定,可先整定惯性环节,再整定积分环节,应使二者串联时尽量接近所给传递函数。
整定方法参见注1。
(4)接线(如图5.1—2所示)
82532#输出OUT2信号,经单稳整形,正脉冲打开采样保持器的采样开关,负脉冲启动A/D变换器。
系统误差信号E→U4、IN2、U14、OUT2→U15、IN7:
采样保持器对系统误差信号进行采样,将采样信号保持并输出给A/D第7路输入端。
计算溢出显示部分:
图5.1—2虚框内。
当计算控制量的结果溢出时,计算机给口B的PB17输出高电平,只要有一次以上溢出便显示。
这部分线路只为观察溢出而设,可以不接,对于控制没有影响。
图4.1-2
(5)采样周期T
CPU的8253产生定时信号,定时10ms,采样周期T为:
T=TK×10ms
TK需事先送入2F60H单元,取值范围:
01H~FFH,对应的范围:
10ms~2550ms。
例如当T=1S,有:
TK=
=100=64H
1.实验程序流程见图5.1—3
A口中断程序
图4.1—3
3.实验内容与步骤
(1)按图5.1—2连线,S11置方波档,S12置下档,调W12使U1单元的OUT端输出为2.5V的方波,调W11约为6S。
装入程序TH5-1.EXE后,可分别用U命令、D命令查看反汇编程序与数据。
用E命令编辑、修改指定单元中的数据,0100F单元存入64H。
具体过程可参照实验四的修改方法。
(2)按要求计算D(E)各系数,送入内存0101H~0115H单元,见上图。
具体推导过程见有关计算控制技术教材。
(其中,K0=0.5434、K1=-0.7434、K2=0.2000、K3=0、P1=-0.2826、P2=-0.7174、P3=0),Ki与Pi系数存储地址参见表5.1—1。
(3)选用普通示波器,用示波器观察输入R波形,在输入R为零时启动最小拍程序(G=F000:
15E6按“Enter”键),对照阶跃输出R观察输出C,应有以下波形(见图5.1—4),输出经过一拍后,在采样点上跟踪输入误差输出为:
E(Z)=Φe(Z)R(Z)=(1-Z-1)·
即一拍后进行跟踪,偏差保持为零。
而从控制量的输出
Y(Z)=D(Z)E(Z)
=2.5×
=1.3590-1.4744Z-1+1.0571Z-2-0.7580Z-3+0.5435Z-4-0.3897Z-5
可见,控制量在一拍后并未进入稳态(常数为零