计算机仿真技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Gcl2=feedback(G*Gc,1);
figure(2)
step(Gcl2,'k')
16
反应曲线法 G=tf(1,conv([1 1],conv([2 1],conv([5 1],[10 1])))); [y,t]=step(G); x0=[2 12 1]; x=lsqcurvefit('onedt',x0,t,y); yy=onedt(x,t); err=sum((y-yy).^2); k=x(1); t=x(2); tor=x(3); [Gc,kc,ti,td]=zz_n1(k,t,tor,'pid'); Gcl1=feedback(G*Gc,1); figure(3) step(Gcl1,'k')
case 'p' delta=k*tor/t;Gc=tf(1/delta,1);kc=1/delta; ti=inf;td=0;
case 'pi' delta=1.1*k*tor/t;ti=3.3*tor;Gc=tf([ti 1],[ti 0])/delta; td=0;kc=1/delta;
case 'pid' delta=0.85*k*tor/t;ti=2*tor;td=0.5*tor;kc=1/delta; Gc1=tf([ti 1],[ti 0])/delta;Gc2=tf([td 0],1)/delta;Gc=Gc1+Gc2;
B=[1;0;0;0];
C=[1 7 24 24];
disp('原系统的极点');p=eig(A)'
P=[-30;-1.2;-2.4+4*i;-2.4-4*i];
disp('状态反馈增益:');
K=place(A,B,P)
disp('配置后系统的极点:');p=eig(A-B*K)'
D=0;
sysnew=ss(A-B*K,B,C,D) 5
Ts 1
lsqcurvcfit函数是根据阶跃信号作用下过程输出的形状进行 参数估计。 ⅰ根据所要近似的模型结构编制函数文件fun; ⅱ编制用lsqcurvefit函数进行参数估计的文件
12
例:已知一系统的单位阶跃响应,在t=0:10:200对应的输出为 h=[0.0113 0.0162 0.1947 0.5591 0.7050 0.7744 0.9218... 0.9208 0.9852 0.9575 1.0546 0.9873 1.0258 0.9930... 1.0203 1.0605 0.9637 1.0051 0.9878 0.9876 1.0349]
Gc=tf([ti 1],[ti 0])*kc;td=0;
case 'pid'
kc=Gm*0.6;tk=2*pi/Wcg;tiwenku.baidu.com0.5*tk;td=tk*0.125;
Gc1=tf([ti 1],[ti 0])*kc;Gc2=tf([td 0],1)*kc;
Gc=Gc1+Gc2
end
15
例:被控对象传函G
P
2 k
-
-
switch controllertype case 'p'
PI
2.2 k
0.833Tk
-
kc=Gm*0.5;ti=inf;td=0;Gc=tf(kc,1); case 'pi'
PID
1.78 k
0.5Tk
0.125Tk
kc=Gm*0.45;tk=2*pi/Wcg;ti=0.833*tk;
4
例:已知控制系统的状态方程如下
10 35 50 24 1
A
1
0
0
0,B0,C1 7 24 24
0 1 0 0 0
0
0
1
0
0
确定状态反馈矩阵k,使系统的闭环极点配置在
p=[-30 -1.2 -2.4±4i]位置上。
A=[-10 -35 -50 -24;1 0 0 0;0 1 0 0;0 0 1 0];
1
,设计PID控制
器
(S1)(2S1)(5S1)(10S1)
临界比例度法
G=tf(1,conv([1 1],conv([2 1],conv([5 1],[10 1]))));
step(G)
[Gm,Pm,Wcg,Wcp]=margin(G);
[Gc,kc,ti,td]=zz_n2(Gm,Wcg,'pid')
17
14
临界比例度法
先根据对象传递函数的频率特性得到临界振荡时系统的临界比
例度(k
1) Gm
和临界振荡周期(Tk
2 cg
)
。
表二 临界比例度法整定控制器参数
控制器类型 比例度 积分时间 Ti 微分时间 Td
function [Gc,kc,ti,td]=zz_n2(Gm,Wcg,varargin)
controllertype=varargin{1};;
7
带状态观测器的状态反馈系统的设计 (1) 判断原系统是否能观 (2) 求观测器 p为指定的闭环系统极点(A-GC的根) K1=acker(A’,C’,P) G=K1’ k=place(A,B,P)
8
2 PID控制器设计
2.1 PID控制器参数整定 Ziegler-Nichols整定方法
1942年Ziegler和Nichols提出了对PID控制器的参 数整定方法,即反应曲线法和临界比例度法。
end
10
例:G(s)10s11e3s设计PID控制器 k=1;t=10;tor=3; [Gc,kc,ti,td]=zz_n1(k,t,tor,‘pid’) 注意:
如被控对象的传函不是G(s) K es ,可以将模型经过转换拟合为
Ts 1
该形式,即求出拟合模型的 k , t ,
11
2.2 带延迟的惯性环节的近似 带延迟的惯性环节 G(s) K es
9
反应曲线法
对于被控对象为带延迟 的一阶惯性环节的系统, 即传递函数表达式
表一 反应曲线法整定控制器参数
控制器类型 比例度
积分时间 Ti 微分时间 Td
P
K( / T )100%
-
-
PI
1.1K( / T )100%
3.3
-
PID
0.85K( / T )100%
2.0
0.5
zz_n1函数程序如下: function [Gc,kc,ti,td]=zz_n1(k,t,tor,varargin) controllertype=varargin{1}; switch controllertype
第七章 控制系统的设计
1
控制系统的设计,就是在系统中引入适当的环节, 用以对原系统的某些性能进行校正,使之达到理 想的效果,故又称为系统的校正。
常用方法:①状态反馈和状态观测器设计;②串 联校正;③最优控制器设计。
2
1 状态反馈和状态观测器的设计
1.1 状态反馈 状态反馈是将系统的每一个状态乘以相应的
1.2 状态观测器的设计 极点配置基于状态反馈,因此X必须可以观测,
当状态不能观测时,应设计状态观测器来估 计状态。
o (A, B, C)
中
X
不能直接检测,
以o
的
u
和
y
为输入
量,产生
X
渐进于
X,
为o
的状态观测器。
6
带状态观测器的状态反馈系统
X (A -GC) X GY BU
Y CX
U VKX
0.9208 0.9852 0.9575 1.0546 0.9873 1.0258 0.9930... 1.0203 1.0605 0.9637 1.0051 0.9878 0.9876 1.0349] tt=0:0.5:200; hh=spline(t,h,tt); x0=[2 10 3]; x=lsqcurvefit('onedt',x0,tt,hh) y=onedt(x,tt); err=sum((hh-y).^2) plot(t,h,'r*',tt,y,'k'); grid
反馈系数,然后反馈到输入端与参考输入相 加形成控制率,作为受控系统输入。
3
受控系统的状态空间表达式为
x Ax Bu
y Cx Du
x (A + BK)x Bv y (C+ DK)x Dv
若D=0
x (A + BK)x Bv y Cx
•极点配置问题,就是通过选择反馈增益矩阵,将闭环系统的极点恰好配置在根平面 上所期望的位置。 •采用状态反馈对系统任意配置极点的充要条件是原系统完全能控。 •MATLAB命令k=place(A,B,P)
将该系统近似为 G(s) K es Ts1
编制函数文件onedt函数 function y=onedt(x0,tt) dd=(tt-x0(3)).*(tt>x0(3)); y=x0(1)*(1-exp(-dd/x0(2)))
13
编制用lsqcurvefit函数进行参数估计的文件 t=0:10:200; h=[0.0113 0.0162 0.1947 0.5591 0.7050 0.7744 0.9218...