您的当前位置:首页正文

计算机过程控制实验报告.

2020-10-07 来源:步旅网


计算机过程控制实验

报告

课程名称 计算机过程控制

实验名称 计算机过程控制课程实验 实验日期 2015.6.30 学生专业 测控技术与仪器 学生学号 912101170137 学生姓名 任晓军 实验室名称 测控技术实验室 教师姓名 江 剑 成 绩

南京理工大学机械工程学院

仪器科学与技术系

实验1 控制系统动态特性测试

一、 实验目的

在设定值和扰动信号的作用下,过程控制系统的输出可由两条通道来产生:

控制通道:设定值对被控变量影响的通道,其作用是抵消扰动影响,以使被控变量尽可能快地维持在给定值附近。

干扰通道:干扰信号对被控变量影响的通道。 本实验通过控制通道和干扰通道的增益、时间常数和时滞的变化,测试被控对象特性对控制系统性能的影响。

二、 实验内容

(1) 增益对控制系统的影响

假设被控对象的传递函数为G0(s)=2e

-10s

/(35s+1),考核系统在单位阶跃信号作用下,

不同控制通道增益下系统的响应,运行下列matlab语句,观察响应曲线,得出有关结论。

%研究控制通道增益Kc对系统的影响 G0=tf(2,[35 1]); % 2/35s+1 [np,dp]=pade(10,2);Gp=tf(np,dp); % e-10s G1=G0*Gp; Kc=1:0.5:2.5; % Kc=1 1.5 2.0 2.5 hold on for i=1:length(Kc) Gc=feedback(Kc(i)*G1,1); step(Gc); %阶跃响应 pause %等键盘 end

图1.1四曲线从下到上Kc依次增大

从图形可以看出,随着控制通道增益Kc的增加,系统的稳态误差减少,但系统的稳定性变差。

结论:放大系数Kc一般希望大一点,Kc大表明操纵量对被控量校正作用有较大的灵敏度,有利于提高控制质量。

假设系统的传递函数为G0(s)=2e

-10s

/(35s+1),干扰的传递函数为Gd(s)=2e

-5s

/(7s+1),

则系统在单位阶跃扰动信号的作用下,不同扰动增益的响应曲线可以通过,运行下列matlab语句来观察:

%研究扰动通道增益Kd对系统的影响 G0=tf(1,[7 1]); [np,dp]=pade(5,2);Gp1=tf(np,dp); Gd=G0*Gp1; G1=tf(2,[35 1]); [np,dp]=pade(10,2);Gp2=tf(np,dp); Go=G1*Gp2; Kc=1.5; G3=feedback(Go,Kc); G4=Gd*G3; hold on Kd=1:4 for i=1:length(Kd) G=Kd(i)*G4; step(G); pause %等键盘 end

图1.2 四曲线从下到上kd依次增加

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

下的输出响应也增加。

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

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

时间常数T是指当被控对象受到阶跃输入信号作用后,被控量以初始速度变化,达到新的稳态值所需的时间。时间常数T是因为物料或能量的传递需要通过一定的阻力而引起的,反映了被控变量的变化快慢,因此T是对象的一个动态参数。

假设被控对象的传递函数为G0(s)=2e

-10s

/(Ts+1),考核系统在单位阶跃信号作用下,不

同T值(25,35,45)下系统的响应,运行下列matlab语句,观察响应曲线,得出有关结

论。

%研究控制通道时间常数T对系统的影响 Kc=1.5; T=[25 35 45]; hold on for i=1:length(T) G0=tf(2,[T(i) 1]); [np,dp]=pade(10*T(i)/35,2);Gp=tf(np,dp); G1=G0*Gp; Gc=feedback(Kc*G1,1); step(Gc); pause; end

图1.3三曲线从左至右T依次增大

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

结论:时间常数T小,对象动态响应快,控制及时,有利于克服干扰;但T过小,会引起过渡过程的振荡,不利于控制质量提高,因此,T应适当。

设T0=35,改变扰动通道的时间常数Td(10,35,50),观察扰动阶跃响应曲线。 4 %研究扰动通道不同时间常数对系统的影响 G0=tf(2,[35 1]); Kc=1.5; G1=feedback(G0,Kc); Td=[10 35 50]; hold on for i=1:length(Td) Gd=tf(5,[Td(i) 1]); G=Gd*G1; step(G); pause end

图1.4三曲线从左至右Td依次增大

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

影响,提高控制系统质量。

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

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

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

时滞t0的存在使系统的稳定性变差,用t0/T0反映系统时滞的相对影响,t0/T0>0.2时,简单的控制系统已很难满足要求,要考虑负责方案。

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

图1.5七曲线从左至右t0依次增大

影响:由图可知t0的增大,使系统响应时间变长,增加了系统稳定时间,影响了系统的稳定性。

结论:尽量使t0小一些。 扰动通道的时滞

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

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

一、实验目的

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

二、实验内容

1、比例作用

假设被控系统为Gp(s)=e

-50s

/(36s+1)

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

r(t) u(t) + ─ Kp e-50s/(36s+1) 运行下列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 ]; % hold on表示图形可以叠加 hold on; for i=1:length(P) Gc=feedback(P(i)*Gp,1,-1); %定义反馈结构 step(Gc); %求阶跃响应 pause; end

y(t)

图2.1 五曲线从下到上Kp依次增加

结论:随着Kp值的增大,控制系统的余差减少,但振荡加剧,振荡周期缩短。

2、积分作用

假设被控系统为

Gp(s)=e-50s/(36s+1),只采用积分策略,研究不同的

Ki值下,

闭环系统的响应曲线。

%研究积分速度对系统调节的影响 clear G0=tf(1,[36,1]); [np,dp]=pade(50,2);G1=tf(np,dp); Gp=G0*G1; Ki=[0.005,0.01,0.015,0.02]; hold on; for i=1:length(Ki) Gc=tf(Ki(i),[1,0]) G=feedback(Gc*Gp,1,-1); step(G); pause; end

图2.2 四曲线从下到上ki依次增大

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

3、微分作用

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

%Td对系统调节的影响 clear G0=tf(1,[36,1]); [np,dp]=pade(50,2);G1=tf(np,dp); Gp=G0*G1; Kp=0.8; Td=20:5:35; hold on; for i=1:length(Td) Gc=tf(Kp*[Td(i),1],1) G=feedback(Gc*Gp,1); step(G); pause; end

图2.3四曲线从下到上Td依次增加 结论:余差存在,随着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); hold on; Kp=6.2; % P调节 Gc=Kp; G1=feedback(Gp*Gc,1); step(G1); pause Ki=1; % P调节 Gc=tf(Ki,[1,0]); G2=feedback(Gp*Gc,1); step(G2); pause Kp=5.5;Ti=2.5; % PI调节 Gc=tf(Kp*[1,1/Ti],[1,0]); G3=feedback(Gp*Gc,1); step(G3); pause Kp=6;Td=0.4; % PD调节 Gc=tf(Kp*[Td,1],1); G4=feedback(Gp*Gc,1); step(G4); pause 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);

图2.4 P调节 Kp=6.2

图2.5 P调节 ki=1

图2.6 PD调节

图2.7 PI调节

图2.8 PID调节 各调节特点:

P调节:有差调节,放大系数越大,余差越小;反应快,没有时间滞后;输入输出增量

成正比;

PI调节:具有比例调节作用反应快、无滞后的优点,可以加快调整作用,缩短调节时

间,又具有积分调节的优点,可以消除静差;

PD调节:有差调节;微分调节有提高控制系统稳定性的作用;适度引入微分动作可以

允许稍许减小比例带;在PD调节中总是以比例动作为主,微分动作只能起辅助调节作用;PD调节器的抗干扰能力很差;微分调节动作对于纯延迟过程是无效的;

PID调节:综合了P,I,D调节的特点。

实验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; for k=1:1:200; time(k)=k*ts; % 离散化对象 yout(k)=-den(2)*y_1+num(2)*u_5; %离散化后u与y的关系 % I separation rin(k)=40; error(k)=rin(k)-yout(k); ei=ei+error(k)*ts; %ei积分项 M=2; %通过在此处改变M取值来选择是用普通PID或积分分离PID if M==1 %采用分段积分分离方式 if abs(error(k))>=30&abs(error(k))<=40; beta=0.3; elseif abs(error(k))>=20&abs(error(k))<=30; beta=0.6; elseif abs(error(k))>=10&abs(error(k))<=20; beta=0.9; else beta=1.0;

end elseif M==2 %不采用积分分离方式 beta=1.0; end kp=0.80; ki=0.005; kd=3.0; u(k)=kp*error(k)+kd*(error(k)-error_1)/ts+beta*ki*ei; % 控制器的输出限制 if u(k)>=110 u(k)=110; end if u(k)<=-110 u(k)=-110; end 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); end plot(time,rin,'b',time,yout,'r'); xlabel('time(s)');ylabel('rin,yout');

图3.1普通PID 图3.2 积分分离式PID

比较结论:无积分分离PID算法的输出曲线有较大的超调量,且有震荡,稳定所花时间

要长,而积分分离PID算法的曲线超调量较小,且基本无震荡稳定所花时间较短。

图3.3 Kp=0.5 图3.4 Kp=0.8 图3.5 Kp=1 Kp值的变化结论:随着Kp的增大,系统震荡次数变多,变得不稳定。

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

一、实验目的

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

二、实验内容

动态特性法以广义被控对象阶跃响应为依据,根据经验公式求取PID调节器的最佳参数

整定值,由Ziegler-Nichols提出。

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

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

sKe G(s)Ts1

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

K=y(∞)-y(0)/△u 如果在曲线上取y(t1)=0.39 y(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),hold on step(Gp) pause k=0.997;T=12.6;L=6.7; %请从曲线用鼠标读取数组,并计算相应参数值 G0=tf(k,[T 1]); [np,dp]=pade(L,2);G1=tf(np,dp); G=G0*G1; %近似模型 step(G) pause %采用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)

图4.1 由图得:K=0.997;T=12.6;L=6.7

图4.2 原系统

图4.3 近似

图4.4 整定后

描述整定过程:先用matlab画出原系统图,然后鼠标描点并算出参数K,T,t,进而算出控

制器参数,最后将参数带入到MATLAB程序仿真生成即可。

因篇幅问题不能全部显示,请点此查看更多更全内容