计算机过程控制实验指导书Word文件下载.docx

上传人:b****6 文档编号:19205894 上传时间:2023-01-04 格式:DOCX 页数:66 大小:560.81KB
下载 相关 举报
计算机过程控制实验指导书Word文件下载.docx_第1页
第1页 / 共66页
计算机过程控制实验指导书Word文件下载.docx_第2页
第2页 / 共66页
计算机过程控制实验指导书Word文件下载.docx_第3页
第3页 / 共66页
计算机过程控制实验指导书Word文件下载.docx_第4页
第4页 / 共66页
计算机过程控制实验指导书Word文件下载.docx_第5页
第5页 / 共66页
点击查看更多>>
下载资源
资源描述

计算机过程控制实验指导书Word文件下载.docx

《计算机过程控制实验指导书Word文件下载.docx》由会员分享,可在线阅读,更多相关《计算机过程控制实验指导书Word文件下载.docx(66页珍藏版)》请在冰豆网上搜索。

计算机过程控制实验指导书Word文件下载.docx

G0=tf(1,[71]);

[np,dp]=pade(5,2);

Gp1=tf(np,dp);

Gd=G0*Gp1;

G1=tf(2,[351]);

Gp2=tf(np,dp);

Go=G1*Gp2;

Kc=1.5;

G3=feedback(Go,Kc);

G4=Gd*G3;

Kd=1:

4

length(Kd)

G=Kd(i)*G4;

step(G);

pause%等键盘

从图形可以看出,随着扰动通道增益Kd的增加,系统的稳态误差增加,并且扰动作用下的输出响应也增加。

放大系数Kd愈大,被控制量的超调量愈大,一般要求Kd愈小愈好)。

(2)时间常数对控制系统的影响

时间常数T是指当被控对象受到阶跃输入信号作用后,被控量以初始速度变化,达到新的稳态值所需的时间。

时间常数T是因为物料或能量的传递需要通过一定的阻力而引起的,反映了被控变量的变化快慢,因此T是对象的一个动态参数。

%研究控制通道时间常数T对系统的影响

T=[253545];

length(T)

G0=tf(2,[T(i)1]);

[np,dp]=pade(10*T(i)/35,2);

Gc=feedback(Kc*G1,1);

pause;

end

假设被控对象的传递函数为G0(s)=2e-10s/(Ts+1),考核系统在单位阶跃信号作用下,不同T值(25,35,45)下系统的响应,运行下列matlab语句,观察响应曲线,得出有关结论。

 

从图形可以看出,随着T的变大,系统的振荡频率变小,系统的动态响应变慢,过渡过程时间加长。

时间常数T小,对象动态响应快,控制及时,有利于克服干扰;

但T过小,会引起过渡过程的振荡,不利于控制质量提高,因此,T应适当;

设T0=35,改变扰动通道的时间常数Td(10,35,50),观察扰动阶跃响应曲线。

4%研究扰动通道不同时间常数对系统的影响

G1=feedback(G0,Kc);

Td=[103550];

length(Td)

Gd=tf(5,[Td(i)1]);

G=Gd*G1;

pause

系统扰动通道的时间常数Td越大,扰动对输出的影响越缓慢,有利于系统克服干扰的影响,提高控制系统质量。

时间常数Td愈大,干扰对被控量的影响愈平缓,时间常数Td愈小,干扰对被控量的影响愈大,因此一般要求Td大一些为好;

(3)时滞对控制系统的影响

控制通道的时滞t0

时滞t0指输出变量的变化落后于输入变量变化的时间。

滞后的产生是由于介质的输送或热质传递需要一段时间所引起的,时滞t0也反映了被控对象的动态特性。

时滞t0的存在使系统的稳定性变差,用t0/T0反映系统时滞的相对影响,t0/T0>

0.2时,简单的控制系统已很难满足要求,要考虑负责方案。

试增加t0考察对曲线的影响。

扰动通道的时滞

扰动通道的td不会对系统的稳定性产生影响,仅仅表示扰动进入系统的时间先后对系统的动态品质没有影响。

三、实验报告

画出各段语句的图形,得出相关结论。

实验2比例积分微分控制规律特性分析

一、实验目的

本实验通过比例、积分和微分单独的作用及大小的变化,验证比例、积分和微分环节对系统的余差及稳定性的影响。

二、实验内容

1、比例作用

假设被控系统为Gp(s)=e-50s/(36s+1)

r(t)

只采用比例控制策略,研究不同Kp值下,闭环系统阶跃响应曲线:

u(t)

+

y(t)

运行下列matlab语句,观察响应曲线,得出有关结论。

%tf函数:

传递函数定义参数:

分子、分母

G0=tf(1,[36,1]);

%pade函数:

参数1表示e的(-多少s);

参数2表示用几阶来逼近

[np,dp]=pade(50,2);

G1=tf(np,dp);

%Gp

Gp=G0*G1;

%P数组表示不同的Kp值

P=[0.5,0.7,0.9,1,1.5];

%holdon表示图形可以叠加

holdon;

length(P)

Gc=feedback(P(i)*Gp,1,-1);

%定义反馈结构

%求阶跃响应

结论:

随着Kp值的变化,控制系统的余差减少,但振荡加剧,振荡周期缩短。

2、积分作用

假设被控系统为Gp(s)=e-50s/(36s+1),只采用积分策略,研究不同的Ki值下,闭环系统的响应曲线。

%研究积分速度对系统调节的影响

clear

Ki=[0.005,0.01,0.015,0.02];

length(Ki)

Gc=tf(Ki(i),[1,0])

G=feedback(Gc*Gp,1,-1);

结论:

积分作用可以消除余差,但增大Ki将会降低系统的稳定性,甚至会导致系统不稳定。

3、微分作用

由于微分作用不单独采用,所以研究比例微分作用,改变微分时间常数Td,观察系统的闭环系统的响应曲线。

%Td对系统调节的影响

Kp=0.8;

Td=20:

5:

35;

Gc=tf(Kp*[Td(i),1],1)

G=feedback(Gc*Gp,1);

step(G);

pause;

余差存在,随着Td增加,系统的稳定性变差。

4、PID算法比较

首先介绍一个函数:

1、零极点增益模型形式

G(S)=k[(S-Z1)(S-Z2)…(S-Zm)]/(S-P1)(S-P2)…(S-Pn)

式中:

k:

系统增益;

z1,z2,…,zm:

系统零点;

p1,p2,…,pn:

系统极点;

注:

对实系数的传函模型来说,系统的零极点或者为实数,或者以共轭复数的形式出现。

系统的传函模型给出以后,可以立即得出系统的零极点模型。

2、在MATLAB下的输入形式

在MATLAB里,连续系统可直接用向量z、p、k构成的矢量组【z,p,k】表示系统,即:

k=[k];

z=[z1;

z2;

……;

zm];

p=[p1;

p2;

pn];

3、函数命令zpk()

在MATLAB中,用函数命令zpk()来建立控制系统的零极点增益模型,或者将传函模型或者状态空间模型转换为零极点增益模型。

zpk()函数命令的调用格式为:

sys=zpk(z,p,k) 

G(S)=[6(S+1.9294)(S+0.0353±

0.9287i)]/[(S+0.9567±

1.2272i)(S-0.0433±

0.6412i)]

解:

k=6;

z=[-1.9294;

-0.0353+0.9287*i;

-0.0353-0.9287*i];

p=[-0.9567+1.2272*i;

-0.9567-1.2272*i;

+0.0433+0.6412*i;

+0.0433-0.6412*i];

G=zpk(z,p,k)

假设系统的模型为Gp=10/(s+1)(s+2)(s+3)(s+4),研究不同调节器下闭环系统阶跃响应。

%研究不同调节器下闭环系统阶跃响应。

Gp=zpk([],[-1;

-2;

-3;

-4],10);

Kp=6.2;

%P调节

Gc=Kp;

G1=feedback(Gp*Gc,1);

step(G1);

Ki=1;

Gc=tf(Ki,[1,0]);

G2=feedback(Gp*Gc,1);

step(G2);

Kp=5.5;

Ti=2.5;

%PI调节

Gc=tf(Kp*[1,1/Ti],[1,0]);

G3=feedback(Gp*Gc,1);

step(G3);

Kp=6;

Td=0.4;

%PD调节

Gc=tf(Kp*[Td,1],1);

G4=feedback(Gp*Gc,1);

step(G4);

Kp=7.4;

Ti=1.5;

Td=0.38;

%PID调节

Gc=tf(Kp*[Td,1,1/Ti],[1,0]);

G5=feedback(Gp*Gc,1);

step(G5);

得出各种控制策略的特点。

实验3数字PID控制算法的实现

学习传递函数到离散方程的转换方法。

学习数字PID控制算法的编写过程。

本实验的PID控制算法采用积分分离的PID算法,假设被控对象为具有时延的惯性环节Gp(s)=e-80s/(60s+1),系统的采样周期为20s,延迟时间为4个采样周期,则被控对象被离散化为yout(k)=-den

(2)*y(k-1)+num

(2)*u(k-5);

采用分段积分分离方式,根据误差绝对值的不同采用不同的积分强度。

输入中设定值r(k)=40,控制器输出限制在[-110,110]内,运行以下语句,比较与普通PID控制的阶跃响应。

%积分分离式PID

%采样时间

ts=20;

%被控对象离散化

sys=tf([1],[60,1],'

inputdelay'

80);

%描述被控对象

dsys=c2d(sys,ts,'

zoh'

);

%进行Z变换

[num,den]=tfdata(dsys,'

v'

%求Z变换分子分母

u_1=0;

u_2=0;

u_3=0;

u_4=0;

u_5=0;

y_1=0;

y_2=0;

y_3=0;

error_1=0;

error_2=0;

ei=0;

fork=1:

1:

200;

time(k)=k*ts;

%离散化对象

yout(k)=-den

(2)*y_1+num

(2)*u_5;

%离散化后u与y的关系

%Iseparation

rin(k)=40;

error(k)=rin(k)-yout(k);

ei=ei+error(k)*ts;

%ei积分项

M=2;

%通过在此处改变M取值来选择是用普通PID或积分分离PID

ifM==1%采用分段积分分离方式

ifabs(error(k))>

=30&

abs(error(k))<

=40;

beta=0.3;

elseifabs(error(k))>

=20&

=30;

beta=0.6;

=10&

=20;

beta=0.9;

else

beta=1.0;

end

elseifM==2%不采用积分分离方式

end

kp=0.80;

ki=0.005;

kd=3.0;

u(k)=kp*error(k)+kd*(error(k)-error_1)/ts+beta*ki*ei;

%控制器的输出限制

ifu(k)>

=110

u(k)=110;

ifu(k)<

=-110

u(k)=-110;

u_5=u_4;

u_4=u_3;

u_3=u_2;

u_2=u_1;

u_1=u(k);

y_3=y_2;

y_2=y_1;

y_1=yout(k);

error_2=error_1;

error_1=error(k);

plot(time,rin,'

b'

time,yout,'

r'

xlabel('

time(s)'

ylabel('

rin,yout'

比较曲线得出有关结论,并改变Kp值观察曲线的变化。

实验4PID调节器参数的工程整定

采用动态特性法对PID调节器的参数进行工程整定。

动态特性法以广义被控对象阶跃响应为依据,根据经验公式求取PID调节器的最佳参数整定值,由Ziegler-Nichols提出。

在系统处于开环并处于稳定的情况下,给系统输入一个阶跃信号,测量系统的输出响应曲线,一般的响应曲线如下图所示。

该广义对象可以用如下数学模型来近似:

其中K、T和t可以有下式来求:

K=y(∞)-y(0)/△u

如果在曲线上取y(t1)=0.39y(t2)=0.63

则有

T=2(t2-t1)

t=2t1-t2

在K、T和t求得的情况下,根据Z-N参数整定公式求得控制器的参数。

试采用动态特性法整定PID控制器的参数。

%用动态特性参数法确定P、PI、PID调制器的参数

%采用曲线拟合法,可近似得到广义对象的一阶惯性加纯滞后对象的参数

%假设被控对象的传递函数为1/(s+1)(2s+1)(5s+1)(10s+1)

num=1;

den=conv(conv([1,1],[2,1]),conv([5,1],[10,1]));

Gp=tf(num,den);

%原系统

figure

(1),holdon

step(Gp)

k=0.993;

T=14.4;

L=6.6;

%请从曲线用鼠标读取数组,并计算相应参数值

G0=tf(k,[T1]);

[np,dp]=pade(L,2);

G=G0*G1;

%近似模型

step(G)

%采用Ziegler-Nichols控制器参数整定PI调节器

Kp1=T/(1.1*k*L);

Ti1=3.3*L;

Gc1=tf(Kp1*[1,1/Ti1],[1,0]);

G_c1=feedback(G*Gc1,1);

figure

(2),

step(G_c1)

观察曲线形状,求取有关数值,了解整定公式

画出各段语句的图形,描述整定过程。

附录:

MATLAB简介

MATLAB是Mathworks公司开发的一种集数值计算、符号计算和图形可视化三大基本功能于一体的功能强大、操作简单的优秀工程计算应用软件。

MATLAB不仅可以处理代数问题和数值分析问题,而且还具有强大的图形处理及仿真模拟等功能。

从而能够很好的帮助工程师及科学家解决实际的技术问题。

MATLAB的含义是矩阵实验室(MatrixLaboratory),最初主要用于方便矩阵的存取,其基本元素是无需定义维数的矩阵。

经过十几年的扩充和完善,现已发展成为包含大量实用工具箱(Toolbox)的综合应用软件,不仅成为线性代数课程的标准工具,而且适合具有不同专业研究方向及工程应用需求的用户使用。

MATLAB最重要的特点是易于扩展。

它允许用户自行建立完成指定功能的扩展MATLAB函数(称为M文件),从而构成适合于其它领域的工具箱,大大扩展了MATLAB的应用范围。

目前,MATLAB已成为国际控制界最流行的软件,控制界很多学者将自己擅长的CAD方法用MATLAB加以实现,出现了大量的MATLAB配套工具箱,如控制系统工具箱(controlsystemstoolbox),系统识别工具箱(systemidentificationtoolbox),鲁棒控制工具箱(robustcontroltoolbox),信号处理工具箱(signalprocessingtoolbox)以及仿真环境SIMULINK等。

(1) MATLAB的安装

本节将讨论操作系统为MicrosoftWindows环境下安装MATLAB6的过程。

将MATLAB6的安装盘放入光驱,系统将自动运行auto-run.bat文件,进行安装;

也可以执行安装盘内的setup.exe文件启动MATLAB的安装程序。

启动安装程序后,屏幕将显示安装MATLAB的初始界面,根据Windows安装程序的常识,不断单击[Next],输入正确的安装信息,具体操作过程如下:

输入正确的用户注册信息码;

选择接收软件公司的协议;

输入用户名和公司名;

选择MATLAB组件(Toolbox);

选择软件安装路径和目录;

单击[Next]按钮进入正式的安装界面。

安装过程界面如图1所示。

图1 MATLAAB安装过程界面

图2 MATLAAB启动过程界面

安装完毕后,选择[Restartmycomputernow]选项以重新启动计算机。

重新启动计算机后,用户就可以点击图标

使用MATLAB6了。

MATLAB启动过程界面如图2所示。

(2) MATLAB桌面系统

MATLAB的桌面系统由桌面平台以及桌面组件共同构成,如图3。

桌面平台是各桌面组件的展示平台,它提供了一系列的菜单操作以及工具栏操作,而不同功能的桌面组件构成了整个MATLAB操作平台。

其组件主要包含如下8个组件部分:

①命令窗口(CommandWindow)②历史命令窗口(CommandHistory)③组件平台(LaunchPad)④路径浏览器(CurrentDirectoryBrowser)⑤帮助浏览器(HelpBrowser)⑥工作空间浏览器(WorkspaceBrowser)⑦数组编辑器(ArrayEditor)⑧M文件编辑调试器(Editor-Debugger)。

  用户可以在View菜单下选择打开或关闭某个窗口。

图3 MATLAB桌面平台

(3)MATLAB命令窗口

MATLAB可以认为是一种解释性语言。

在MATLAB命令窗口中,标志>

>

为命令提示符,在命令提示符后面键入一个MATLAB命令时,MATLAB会立即对其进行处理,并显示处理结果。

这种方式简单易用,但在编程过程中要修改整个程序比较困难,并且用户编写的程序不容易保存。

如果想把所有的程序输入完再运行调试,可以用鼠标点击快捷

或File|New|M-file菜单,在弹出的编程窗口中逐行输入命令,输入完毕后点击Debug|Run(或F5)运行整个程序。

运行过程中的错误信息和运行结果显示在命令窗口中。

整个程序的源代码可以保存为扩展名为“.m”的M文件。

在介绍MATLAB的强大计算和图象处理功能前,我们可以先运行一个简单的程序。

设系统的闭环传递函数为:

求系统的时域响应图,可输入下面的命令:

num=[1,4];

den=[1,2,8];

step(num,den)

图4 动态响应时域图

程序运行后会在一个新的窗口中显示出系统的时域动态响应曲线,如图4。

用鼠标左键点击动态响应曲线的某一点,系统会提示其响应时间和幅值。

按住左键在曲线上移动鼠标的位置可以很容易的根据幅值观察出上升时间、调节时间、峰值及峰值时间,进而求出超调量。

如果想求根轨迹,可将程序的第三行变为rlocus(num,den),求伯德图可改为bode(num,den)。

所不同的是,在根轨迹和伯德图中,G(s)为开环传递函数。

MATLAB的语法规则类似于C语言,变量名、函数名都与大小写有关,即变量A和a是两个完全不同的变量。

应该注意所有的函数名均由小写字母构成。

MATLAB是一个功能强大的工程应用软件,它提供了相当丰富的帮助信息,同时也提供了多种获得帮助的方法。

如果用户第一次使用MATLAB,则建议首先在>

提示符下键入DEMO命令,它将启动MATLAB的演示程序。

用户可以在此演示程序中领略MATLAB所提供的强大的运算和绘图功能。

2 MATLAB基本操作命令

本节简单介绍与本书内容相关的一些基本知识和操作命令。

(1)简单矩阵的输入

MATLAB是一种专门为矩阵运算设计的语言,所以在MATLAB中处理的所有变量都是矩阵。

这就是说,MATLAB只有一种数据形式,那就是矩阵,或者数的矩形阵列。

标量可看作为1×

1的矩阵,向量可看作为n×

1或1×

n的矩阵。

这就是说,MATLAB语言对矩阵的维数及类型没有限制,即用户无需定义变量的类型和维数,MATLAB会自动获取所需的存储空间。

输入矩阵最便捷的方式为直接输入矩阵的元素,其定义如下:

(1)元素之间用空格或逗号间隔;

(2)用中括号([])把所有元素括起来;

(3)用分号(;

)指定行结束。

例如,在MATLAB的工作空间中,输入:

则输出结果为:

        

矩阵a被一直保存在工作空间中,以供后面使用,直至修改它。

MATLAB的矩阵输入方式很灵活,大矩阵可以分成n行输入,用回车符代替分号或用续行符号(…)将元素续写到下一行。

例如:

以上三种输入方式结果是相同的。

一般若长语句超出一行,则换行前使用续行符号(…)。

在MATLAB中,矩阵元素不限于常量,可以采用任意形式的表达式。

同时,除了直接输入方式之外,还可以采用其它方式输入矩阵,如:

(1)利用内部语句或函数产生矩阵;

(2)利用M文件产生矩阵;

(3)利用外部数据文件装入到指定矩阵。

(2)复数矩阵输

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1