Smith预估控制
- 格式:docx
- 大小:80.86 KB
- 文档页数:8
东南大学能源与环境学院实验报告课程名称:计算机控制及系统实验名称:Smith预估控制院(系):能源与环境学院专业:热能与动力工程姓名:学号:*******实验室:金智楼实验时间:2014 年04月07 日评定成绩:审阅教师:一 实验目的通过实验掌握Smith 预估控制的方法及程序编制及调试。
二 实验内容1. Smith 预估控制系统如图所示,对象G(S)= K ·e-τs/ (1+T 1S),K = 1, T1 = 10 s , τ = 5 s ,Wc(z)采用数字PI 控制规律。
2.对象扰动实验画出U(t) = u0·1(t)时,y(t)曲线。
3.Smith 预估控制(1) 构造W τ(S),求出W τ(Z)。
(2) 整定Wc(s)(按什么整定?) (3) 按图仿真,并打印曲线。
(4) 改变W τ(S)中K ,τ(对象不变),进行仿真比较,观察它们对调节 过程的影响。
三 实验步骤 1.拟订实验方案(1)、对象扰动实验,G(S)离散化,采用后向差分1()()()(1)sY s K e G s U s T s τ-•==+ 令 11z s T --= 则有:y(k)u(k)=K ∙e−τT lnz 1+T1T(1−Z −1)整理得:11()(1)()TKu k N T y k y k T T -+-=+ 其中 N Tτ=#include<iostream.h>#include<math.h> #include<iomanip.h> #include<fstream.h>void main(){ofstream ofile("d:\\21.xls");ofile<<"T"<<'\t'<<"u[k]"<<'\t'<<"y[k]"<<'\n';double u0,T,T1=10,a,b,t=5,k=1;double u[100],y[100];int N,i;cout<<"输入采样周期T:\n";cin>>T;cout<<"输入扰动阶跃值u0:\n";cin>>u0;a=exp(-T/T1);b=k*(1-a);N=int(t/T);cout<<'\n';cout<<"T"<<'\t'<<"u[k]"<<'\t'<<"y[k]"<<'\n';cout<<'\n';cout<<0<<'\t'<<0<<'\t'<<0<<'\t'<<'\n';for(i=0;i<100;i++){if(i==0)u[i]=0;elseu[i]=u0*1;if(i<=(N+1))y[i]=0;elsey[i]=b*u[i-(N+1)]+a*y[i-1];ofile<<i*T<<'\t'<<u[i]<<'\t'<<y[i]<<'\n';cout<<i*T<<'\t'<<u[i]<<'\t'<<y[i]<<'\n';}o();}(2)、Smith 预估控制按照Smith 的控制,构造1(1)()(1)(1)Ts s t K e W s e s T s τ---=-+对其离散化得:1111()(1)1Nt b z W z z a z---=-- 其中 11TT a e -=, 11(1)b K a =- N Tτ≈取整数。
按照连续系统的临界比例带法整定()c W s ,整定时不考虑()t W s ,只考虑外面的反馈回路: 设外回路的传递函数'1()1p s k K G s e T sτ-=+,将s jw =代入传递函数,在临界震荡的情况下有:1(arctan )j T k K e e τωωπ-+-=,即:1arctan T ωπτω=-1k K =求解得 0.367318ω=, 3.8069u k =,故217.1055u T πω==, 1.73042.2u p k k ==,14.25451.2u i TT ==。
按照整定的结果仿真,Smith 预估控制的算法步骤如下:11121220211()()()()(1)(1)()()()()()()(){()()}()()(1)m m m m kp j ie k r K y k C k a C k b u k q k C k C k N e k e k q k Tu k k e k e j T T y k KT u k N y k T T ==-=-+-=--=-=++-+=+∑#include<iostream.h> #include<math.h> #include<fstream.h>double ZD(double t,double T,double T1) { double w,w1,d; int i; w=0; for(i=0;i<100;i++) { d=(T/2+T1)/(1-T1*T/2*w*w);w1=(3.14-atan(d))/t;if(fabs(w1-w)<=0.001)break;w=w1;}return w;}void main(){ofstream ofile("d:\\22.xls");ofile<<"T"<<'\t'<<"u[k]"<<'\t'<<"y[k]"<<'\n';double e1[100],e2[100],cm[100],q[100],u[100],y[100];double t,T1,K;double tt,Kt;double w,Ku,Tu;double Kp,Ti;double a0,b0,a1,b1,a2,b2,a,b;double T,r;int N,Nt,i;T1=10;cout<<"输入采样周期T:\n";cin>>T;cout<<"输入对象放大系数K:\n";cin>>K;cout<<"输入对象纯延迟时间t:\n";cin>>t;cout<<"输入阶跃值r:\n";cin>>r;tt=t,Kt=1.3;w=ZD(t,T,T1);a0=1-T1*T/2*w*w; b0=T/2+T1;Ku=sqrt(a0*a0+b0*b0)/K; Tu=2*3.14/w;Kp=Ku/2; Ti=Tu/1.2;cout<<"根据采样周期和被控对象参数,整定PI控制器参数如下:\n";cout.precision(3);cout<<"Kp="<<Kp<<'\t'<<"Ti="<<Ti<<'\n';a1=exp(-T/T1); b1=K*(1-a1);a=exp(-T/T1); b=Kt*(1-a);a2=Kp+Kp*T/Ti; b2=-Kp;N=int(t/T);Nt=int(tt/T);cout<<"N="<<N<<'\t'<<"Nt="<<Nt<<'\n';e1[0]=0,e2[0]=0,cm[0]=0,q[0]=0,u[0]=0,y[0]=0;cout<<'\n';cout<<"T"<<'\t'<<"u[k]"<<'\t'<<"y[k]"<<'\n';cout<<'\n';cout<<0<<'\t'<<0<<'\t'<<0<<'\t'<<'\n';for(i=1;i<100;i++){if(i<=(N+1))y[i]=0;elsey[i]=b1*u[i-(N+1)]+a1*y[i-1];e1[i]=r-y[i-1];e2[i]=e1[i]-q[i-1];u[i]=a2*e2[i]+b2*e2[i-1]+u[i-1];cm[i]=a*cm[i-1]+b*u[i-1];if(i<=Nt)q[i]=cm[i];elseq[i]=cm[i]-cm[i-Nt];ofile<<i*T<<'\t'<<u[i]<<'\t'<<y[i]<<'\n';cout<<i*T<<'\t'<<u[i]<<'\t'<<y[i]<<'\n';o();}保持()W s的K为1不变,将τ改为15t可见当延迟时间增大之后,除了调节开始一段的延迟也增加之外,对于Smith预估的调节速度和调节效果并没有太大的影响。