ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:569.64KB ,
资源ID:22505701      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22505701.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(控制系统CAD案例汇总Word格式.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

控制系统CAD案例汇总Word格式.docx

1、); plot(t,dy)tdy/dt原始响应的导数曲线以时间t为横坐标,输出dy为纵坐标,得到单位阶跃响应的导数随时间的变化曲线如图2所示。图2 被控对象的单位阶跃响应的导数(2) 系统模型结构的估计系统辨识工具箱提供的模型结构选择函数有struc、arxstruc和selstruc。函数struc 生成arx结构参数,调用格式为:nnstruc (Na, Nb, Nk)其中,Na、Nb 分别为arx模型多项式A(q)、B(q) 的阶次范围;Nk为arx模型纯滞后的大小范围;nn为模型结构参数集构成的矩阵。函数arxstruc用来计算arx模型结构的损失函数,即归一化的输出预测误差平方和,调

2、用格式为:varxstruc (ze, zv, nn)其中,zey u为模型辨识的I/O数据向量或矩阵。zvyr ur为模型验证的I/O数据向量或矩阵。nn为多个模型结构参数构成的矩阵,nn的每行都具有格式:nnna nb nk。v的第一行为各个模型结构损失函数值,后面的各行为模型结构参数。函数selstruc 用来在损失函数的基础上进行模型结构选择,调用格式为:nn, vmodselstruc (v, c)其中v 由函数arxstruc获得的输出矩阵,为各个模型结构的损失函数。c为可选参数,用于指定模型结构选择的方式。根据图2所示曲线的形状初步估测被控对象的模型应该为二阶系统或者更高阶系统。

3、并且可以看出,纯滞后为0,故Nk恒为零。 u=ones(size(dy); Z=dy,u; v2=arxstruc(Z,Z,struc(2,0:2,0); nn2=selstruc(v2,0); v3=arxstruc(Z,Z,struc(3,0:3,0); nn3=selstruc(v3,0); v4=arxstruc(Z,Z,struc(4,0:4,0); nn4=selstruc(v4,0);得到如下结果:nn2 = 2 1 0nn3 = 3 2 0nn4 = 4 1 0于是,去除积分环节后的模型阶数为:二阶系统2 1 0、三阶模型3 2 0和四阶模型4 1 0。(3) 系统模型结构的确

4、定 为了确定模型结构以及参数,使用MATLAB的系统辨识工具箱中已有的辨识函数arx()。辨识函数arx()的使用方法是:如果一直输入信号的列向量u,输出信号的列向量y,并选定了系统的分子多项式阶次m-1,分母多项式阶次n及系统的纯滞后d,则可以通过下面的指令辨识出系统的数学模型:T=arx(y,u, n,m,d) 该函数将直接显示辨识的结果,且所得的T为一个结构体,其中T.A和T.B分别表示辨识得到的分子和分母多项式。由给定的观测数据建立系统数学模型后,还需要进行检验,看模型是否适用,如果不适用,则要修改模型结构,重新进行参数估计等。MATLAB的系统辨识工具箱中用于模型验证和仿真的函数主要

5、有compare、resid、pe、predict 和idsim。此次实验主要用的是函数compare对模型进行验证。函数compare可将模型的预测输出与对象实际输出进行比较。验证过程与结果如下所示。 对二阶系统的验证 Z=iddata(dy,u,0.05); M=arx(Z,2,2,0); compare(M,Z) 得到图3所示结果。图3 二阶模型的匹配结果 对三阶系统的验证 M=arx(Z,3,3,0); 得到图4所示结果。图4 三阶模型的匹配结果 对四阶系统的验证 M=arx(Z,4,2,0); 得到图5所示结果。图5 四阶模型的匹配结果 模型阶次的选取从图3图5可以看出,三阶和四阶模

6、型的拟合率已高达90%,并且相差不大。因此,为简便起见,本次试验选用三阶系统模型。 M=oe(Z,3,2,0); H=tf(M)Transfer function from input u1 to output y1:0.02835 z2 + 0.02835 z + 0.02835- z2 - 1.395 z + 0.4799vy10.009445Input groups: Name Channels Measured 1 Noise 2 Sampling time: 0.05上述模型为离散时间系统模型,为了得到连续时间系统模型,在MATLAB指令窗中键入: G=d2c(H(1)0.02835

7、 s2 + 1.037 s + 48.5- s2 + 14.68 s + 48.51(4)传递函数模型系数的修正 得到模型的传递函数后,需要查看其开环单位阶跃响应,并与原始数据进行对比,看看是否吻合。为此,建立仿真模块analyse.mdl,如图6所示。图6 辨识模型的Simulink模块并在MATLAB指令窗中键入: num=0.02835,1.037, 48.5; den=1 ,14.68 ,48.51; sim(analyse,9.99) plot(t,dy,r),hold on plot(ymdl.time,ymdl.signals.values) legend(原始数据, 辨识模型数

8、据得到图7所示结果。图7 原始数据与辨识模型数据的比较从图7可以看出,由oe模型得到的传递函数的阶跃响应曲线并不能与原始数据很好的拟合。故考虑在该传递函数的基础上,对其系数进行修改。 由于传递函数分子的高次项系数远小于其一次项系数,因此将其忽略。取分子为一次多项式,经验证对响应曲线影响并不大,但可以大大简化系统结构。 num=1.037 48.5; den=1 14.68 48.51;得到图8所示结果。图8 原始数据与去除分子高次项的辨识模型数据的比较 调整系统的零点和极点。由于系统零点的作用为减小峰值时间,使系统响应速度加快,并且零点越接近虚轴,这种作用越显著。然而只对分子一次项的系数进行修

9、改时,效果并不理想。因此,综合考虑,调节系统各个参数。经过多次尝试,在MATLAB指令窗中键入: num=1.1 50.55; den=0.98 15.06 50.51; G=tf(num,den)得到如下结果和图9。Transfer function: 1.1 s + 50.55-0.98 s2 + 15.06 s + 50.51图9 原始数据与调整后的辨识模型数据的比较 计算匹配率根据公式:FIT = 100(1-norm(Y-YHAT)/norm(Y-mean(Y) (in %) yhat=ymdl.signals.values; ymean=zeros(size(dy); ymean(

10、:)=mean(dy); fit=100*(1-norm(dy-yhat,2)/norm(dy-ymean,2)fit = 92.8932可见,模型数据与原始数据的匹配率达92.8932%。(5)积分得出最终辨识模型 考虑到原系统含有积分环节,对辨识出的模型进行积分。由给定原始数据看出,积分初值为0,从而得到最终辨识模型及其Simulink模块 (图10, result.mdl):图10 最终辨识模型的Simulink模块 比较辨识出的最终辨识模型的阶跃响应与原始数据的匹配率,在MATLAB指令窗中键入: num=1.1,50.55; den=0.98,15.06,50.51;result,1

11、0) plot(tout,yout, ymean=zeros(size(yout);)=mean(yout); fit=100*(1-norm(yout-yhat,2)/norm(yout-ymean,2)得到图11和如下结果: 99.0656图11 最终辨识模型的阶跃响应与原始数据之比较可见,二者之间的匹配率高达99.0656%,满足要求。3 根据最终辨识模型设计控制器法1(经典方法)(1) 确定开环增益K0 根据控制理论,给定被控对象为I型系统,单位斜坡响应的速度误差系数Kv =K=K030sec-1,其中K0是系统的开环增益。取K0=30sec-1,则被控对象的传递函数为 在MATLAB

12、指令窗中键入: clear num=30*1.1,30*50.55; den=0.98,15.06,50.51,0; sys0=tf(num,den); figure(1); margin(sys0),grid figure(2); step(feedback(sys0,1), grid 得到如图12所示的系统bode图和如图13所示的闭环系统的单位阶跃响应。图12 未校正系统的bode图根据计算可知未校正系统的频域性能指标为:对数幅值稳定裕度Gm0=-2.27dB -180穿越频率g0=8.8 rad/sec 相位稳定裕度Pm0=-4.91截止频率c0=9.92 rad/sec图13 未校正

13、系统的单位阶跃响应 显见,这样的系统根本无法工作。这一点也可从如图13所示发散振荡的阶跃响应曲线看出,系统必须进行校正。 采用两种方法设计串联校正器。(2) 采用bode图法设计串联校正器由于给定的开环截止频率c2.3rad/sec,远小于c0=9.92rad/sec,可以通过压缩频带宽度来改善相位裕度,因此采用串联滞后校正是合理的。令校正器的传递函数为显然,应有1。 确定新的开环截止频率c 希望的相位稳定裕度Pm40,所以根据滞后校正的设计方法,应有其中,(25)是附加相位补偿角。取其等于5,则有于是,有 从图12的对数相频特性图上可以取得对应于-135的为3.09rad/sec(见图14)

14、,即有 计算高频衰减率 从图12的对数幅频特性图上可以取得对应于的L为17.9dB(见图14)。从而图14 从未校正系统的bode图上取相关值 计算两个转折频率1和2 所以,校正器的传递函数为校正后的开环传递函数为 校验校正后系统的频域性能是否满足要求 n=3.24,1;d=25.41,1;sys1=tf(n,d); sys=sys0*sys1; margin(sys),grid step(feedback(sys,1), grid得到如图15所示的校正后系统的bode图和如图16所示的闭环系统的单位阶跃响应。图15 校正后系统的bode图图16 校正后系统的单位阶跃响应根据计算可知校正后系统

15、的频率性能指标为: 对数幅值稳定裕度Gm=14.8dB -180穿越频率g=8.43 rad/sec 相位稳定裕度Pm=40 截止频率c=3.12 rad/sec显然,系统校正后的相位稳定裕度和截止频率均满足给定要求。4 根据最终辨识模型设计控制器法2(优化方法)采用参考模型法进行设计。首要工作是建立一个理想的参考模型,它是根据给定的系统性能指标要求仔细地设计出来的。这个模型可能与所研究系统的模型完全不同,但它在给定的输入信号作用下能够产生期望的输出响应,即它能满足所研究系统的所有性能指标要求。以该模型作为参考,将系统的输入信号同时加到实际系统和参考模型上,如图17所示。然后,将参考模型的输出

16、与实际系统的输出进行分析、比较,并根据它们之间的偏差对系统的参数进行调整,使得在某种意义下偏差尽可能小,即式中图17 采用参考模型法进行参数寻优根据偏差可以利用各种优化方法来调整系统参数,使得系统输出响应跟踪或逼近参考模型输出。显然,系统响应特性的好坏在很大程度上取决于参考模型的特性。所以,选择一个理想的参考模型尤为重要。那么,何为“理想”的参考模型呢?首先,它要满足系统的所有性能指标要求。其次,它的结构应该简单,便于数学处理。很明显,一个极为严密的,包括每一现象细节的模型的结构会过于复杂,而建立这样一个模型本身也是一件非常困难的事。从工程应用的观点而言,需要的是一个足以反映所研究的系统本质并

17、且尽可能简单的模型。这里,选择如图18所示的典型二阶系统作为参考模型。图18 典型二阶系统并且考虑到其开环频率特性应当和给定的性能指标要求尽可能一致,选择对应于图17的Simulink模块如图19所示。图19 参考模型法目标函数的Simulink模块(EXAM.mdl) 利用自编的控制系统优化软件对控制器参数进行仿真寻优,相关模型参数初始值、优化参数值及寻优结果如20所示。图20 参数设置及仿真寻优结果即校正器的传递函数为 n=15.12,1;d=144.8,1;得到如图21所示的校正后系统的bode图和如图22所示的闭环系统的单位阶跃响应。图21 校正后系统的bode图(参考模型法)图22

18、校正后系统的单位阶跃响应(参考模型法) 对数幅值稳定裕度Gm=17.2dB 穿越频率g=8.72 rad/sec 相位稳定裕度Pm=49.2 截止频率c=2.68 rad/sec显然,经过参数寻优后系统校正的相位稳定裕度和截止频率均满足给定要求。对比图16和图22,可以看出经过参数寻优的控制器优于常规方法设计出来的控制器。5 控制器效果的最终仿真检验控制器是根据辨识出的模型设计的,它能否真正应用到实际系统中,达到满意的控制效果,需要进行检验。事实上,实际被控对象的开环传递函数为原始给定数据是在存在随机扰动(均值为0,方差为0.1,信噪比为0.001)通过仿真的方法(采样间隔为0.05sec,采

19、样时间为10sec)得到的。系统采样的Simulink模块如图23所示。图23 系统采样的Simulink模块 (1) 不加随机扰动时的控制效果 不加随机扰动时的Simulink模块及仿真结果分别如图24和图25所示。图24 不加随机扰动时的Simulink模块(GcTest1)图25 不加随机扰动时的仿真结果(黄线是图24中上面结果)显见,经过参数优化后的控制器效果更好一些。(2) 加入随机扰动后的控制效果 加入随机扰动后的Simulink模块及仿真结果分别如图26和图27所示。图26 加入随机扰动后的Simulink模块(GcTest2)图27 加入随机扰动后的仿真结果可见,仍然是经过参数

20、优化后的控制器效果更好一些,其抗干扰能力更强。现代控制理论的基本设计方法是状态反馈控制器设计,包括状态反馈增益矩阵的设计和状态观测器增益矩阵的设计,如图28所示。图28 状态反馈控制器 开环系统的状态空间模型为 (1)由图28,将代入上式中,则在状态反馈增益矩阵K下,闭环系统的状态空间模型可写为 (2) 如果开环系统完全可控,则选择合适的K矩阵,可以将闭环系统矩阵(A-BK)的特征值配置到任意地方(当然,还要满足共轭复数的约束)。 在极点配置过程中,假设了系统的所有状态都可被量测并用于反馈。然而在实际情况中,并非所有状态都可被直接量测,这就需要对不可直接量测的状态进行估计。对不可量测的状态进行

21、估计称为状态观测,观测状态变量的装置(或计算机程序)称为状态观测器。根据现代控制理论,状态观测器满足的误差状态方程为 (3)其中,只要开环系统是完全可观的,可以将矩阵(A-LC)的特征值配置到任意地方,从而可以使观测出的状态可以逼近原系统的状态(只要将该矩阵的特征值全部配置在左半s平面上)。 将(1)式代入(3)式,并将观测出的状态作为输出反馈量,则得观测器满足的状态空间模型为 (4) 令则有 (5) MATLAB的控制系统工具箱提供了一系列函数,可用于状态反馈控制器的辅助设计。它们常用的调用格式为ctrb(sys)obsv(sys)K=place(A, B, p)L=place(A,C, p

22、)【说明】 以上函数要求对象模型sys为状态空间模型。 第1种格式求出系统的可控性矩阵。 第2种格式求出系统的可观性矩阵。 第3种格式求出状态反馈增益矩阵。A为系统的状态矩阵;B为系统的输入矩阵;p为指定的闭环系统极点;输出宗量K为状态反馈增益矩阵。 第4种格式求出状态观测器增益矩阵。A为系统的状态矩阵A的转置;C为系统的观测矩阵C的转置;输出宗量L为状态观测器增益矩阵。【例2】 已知某控制系统的开环传递函数为试判断系统的可控性并求状态反馈增益矩阵K,使得系统的闭环极点为:,在系统的闭环极点不变的情况下,计算状态观测器增益矩阵L。以状态反馈和状态观测器构成闭环回路完成单位阶跃仿真。 (1)判别

23、系统的可控性并求出状态反馈增益矩阵K编写M脚本文件exam2_1.m如下:% exam2_1cleark=10; z=; p=-1;-2;-3; s=zpk(z,p,k);sys=ss(s);A=sys.a; B=sys.b; C=sys.c; % 求出所需的系统矩阵n,m=size(A); Qc = ctrb(A,B); % 求出系统的可控性矩阵if rank(Qc)=n disp(系统是可控的。系统的可控性矩阵: disp(Qc)pp=-10,-2+2*sqrt(2)*j, -2-2*sqrt(2)*j;K=place(A,B,pp); % 求出状态反馈增益矩阵disp(状态反馈增益矩阵:disp(K)else 系统是不可控的。end运行exam2_1.m后,得到如下结果: 0 0 4 0 4 -20 4 -12 36 20.2500 4.2500 2.0000(2)判别系统的可观性并求出状态观测器增益矩阵L编写M脚本文件exam2_2.m如下:% exam9_17_2Qb=obsv(A,C);if rank(Qb)=n系统是可观的。系统的可观性矩阵:disp(Qb),pp); % 求出状态观测器增益矩阵

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

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