控制系统计算机辅助设计
- 格式:ppt
- 大小:4.29 MB
- 文档页数:15
控制系统的数字仿真及计算机辅助设计第二版课程设计一、课程设计实验目的本次课程设计旨在通过数字仿真的方法和计算机辅助设计的手段,探究控制系统的特性和解决实际问题的能力。
实验目的包括:1.学习掌握MATLAB/Simulink数字仿真软件的基本操作,以及理解控制系统的基本概念和原理;2.熟悉计算机辅助设计软件的使用方法,能够利用计算机和网络资源进行控制系统设计和优化;3.通过实验操作,加深对控制系统的认识和理解,提高分析和解决问题的能力。
二、课程设计实验内容本次课程设计共分为两个实验项目,主要内容包括:实验项目一:PID控制器设计和数字仿真1.学习PID控制器的基本原理和调节方法,运用MATLAB/Simulink软件进行PID控制器的建模和仿真;2.通过对比不同PID控制器的响应特性,分析影响控制性能的因素,并利用优化算法提高控制精度;3.选取不同的控制对象进行实验,以比较不同控制策略的效果,并讨论实际应用PID控制器的具体应用场景。
实验项目二:控制系统的网络化设计和远程控制实验1.学习计算机辅助设计软件的基本原理和方法,理解控制系统的网络化设计思想;2.利用网络资源和远程控制工具,实现对控制系统的远程监控和控制,观察系统的响应情况;3.分析网络化控制系统的优势和局限,并讨论如何利用现有技术和资源优化控制系统的设计和运行效率。
三、课程设计实验结果与讨论根据课程设计的要求,学生需要独立完成实验设计和数据分析,并用MATLAB/Simulink和计算机辅助设计软件实现控制系统的数字仿真和优化。
实验结果如下:实验项目一在PID控制器的设计和仿真实验中,学生选定一种控制对象,利用MATLAB/Simulink软件建立控制系统模型,并确定PID控制器的参数。
例如,在石油管道的温度控制系统中,学生需要确定适当的比例系数、积分系数和微分系数,以满足系统的温度控制要求。
通过仿真实验,学生记录下控制系统的输入和输出数据,并利用MATLAB/Simulink进行数据分析和优化。
1、CAPP有哪几种基本类型?分别基于何种技术?1检索式CAPP系统;2派生式CAPP系统,即基于成组技术或基于特征的CAPP系统;3创成试CAPP系统主要包括基于传统过程性程序结构与决策形式的CAPP系统,基于知识的cap系统等;4综合式CAPP系统,包括派生式和创成式与人工智能相结合,且综合了它们的优点的CAPP系统,基于实例与知识的混合式CAPP系统及其它混合式系统等。
2、什么是数控加工?数控装置有哪些类型?数控编程的主要内容是什么?数控加工数控机床应用数字化信息实现机床控制的一种技术。
数控装置有哪些类型类型?按加工方式分类:1.金属切削类数控机床2.金属成型类数控机床3.数控特种加工机床4其他类型的数控机床按驱动装置的特点分类1.开环控制数控机床2半闭环控制数控机床3.闭环控制数控机床4.混合控制数控机床主控编程的主要内容包括:分析零件图纸进行工艺处理,确定工艺过程;数值计算,计算刀具中心运动轨迹,获得刀位数据;编制零件加工程序;制备控制介质;校核程序及首件试切。
4、什么是成组技术?成组技术是一门生产技术科学,即研究和发掘生产活动中有关事物的相似性,并充分利用事物的相似把相似问题归类成组,寻求解决这一类问题相对统一的最优方案,从而节约时间和精力以取得所期望的经济效益。
6、派生式CAPP系统的原理是什么?基本原理是利用成组技术(GT)代码或企业现行的零件图编码,将零件根据结构和工艺相似性进行分组,然后针对每个零件组编制典型工艺,又称主样件工艺,在进行工艺设计时,根据零件的GT代码和其他有关信息,按编码搜索零件族,对典型工艺进行自动化或人机交互式修改,生成符合要求的工艺文件。
7、派生式CAPP系统与创成式CAPP系统的工作原理有何不同?答:派生法是以对标准工艺规程的检索和修改为基础,而标准工艺是由有经验的工艺人员制订的。
设计新零件工艺规程时要对标准工艺进行检索,并经编辑和修改而得到。
创成法是由计算机软件系统,根据输入的或直接从cad系统获得的零件信息,依靠系统中的工艺数据和各种工艺决策自动设计出工艺规程。
控制系统计算机辅助设计1.引言控制系统计算机辅助设计是指利用计算机技术来辅助设计、分析和优化各类控制系统的过程。
在传统的控制系统设计中,通常需要进行复杂的数学建模和系统分析,这需要大量的时间和人力,并且容易出现错误。
而利用计算机辅助设计工具,可以大大简化这个过程,提高设计效率和设计质量。
本文将介绍控制系统计算机辅助设计的基本原理、方法和常用工具,并探讨其在实际工程中的应用。
同时,还将讨论计算机辅助设计在控制系统设计中的优势和不足,并提出一些改进的建议。
2.基本原理控制系统计算机辅助设计基于控制理论和计算机技术,主要包括以下几个基本原理:2.1 控制系统建模在进行控制系统计算机辅助设计前,首先需要对待设计的控制系统进行数学建模。
常用的建模方法包括状态空间法、传递函数法和输入-输出法。
建模的目的是将现实中的控制系统抽象成数学模型,方便后续的分析和设计。
2.2 控制器设计在控制系统计算机辅助设计中,控制器的设计是最为关键的一步。
通常需要根据系统的数学模型和设计要求,选择合适的控制器结构和参数,以实现系统的稳定性、响应速度和鲁棒性等性能指标。
2.3 系统分析与优化控制系统计算机辅助设计还包括对系统进行分析和优化的过程。
通过对系统的数学模型进行分析,可以评估系统的稳定性、性能指标和鲁棒性等。
同时,可以利用优化算法来改进系统的性能,例如调整控制器的参数或者优化系统的结构。
3.方法和工具为了实现控制系统计算机辅助设计,需要使用一些专门的方法和工具。
下面将介绍一些常用的方法和工具:3.1 MATLAB/SimulinkMATLAB/Simulink是一种常用的控制系统计算机辅助设计工具。
它提供了丰富的数学建模函数和控制系统设计工具箱,方便用户进行系统建模、控制器设计、系统分析和优化等工作。
3.2 LabVIEWLabVIEW是另一种常用的控制系统计算机辅助设计工具。
它基于图形化编程语言,可以通过拖拽和连接图标来搭建控制系统的模型和界面。
控制系统计算机辅助设计
计算机辅助设计是指利用计算机技术来帮助设计人员实现设计目标的过程。
在控制系统设计中,计算机辅助设计可以极大地提高工作效率和设计质量。
首先,计算机辅助设计可以实现系统设计的自动化。
设计师可以借助计算机软件完成控制系统的建模、仿真、优化等过程,从而减少了重复性的工作,提高了设计的一致性和可靠性。
通过计算机辅助设计,设计人员能够更好地理解控制系统的工作原理,优化设计参数,从而提高系统的控制效果。
其次,计算机辅助设计可以大大缩短设计周期。
通过使用先进的设计软件,设计人员可以更快地完成系统设计的各个阶段,包括方案设计、图纸绘制、仿真测试等。
计算机辅助设计使得设计团队可以实时共享设计数据和信息,加快了设计流程,减少了设计变更的成本和时间。
此外,计算机辅助设计还可以提供更多的设计选择和评估。
设计人员可以通过计算机辅助设计软件,对不同的设计方案进行仿真和评估,包括性能指标、安全性、可靠性等方面。
这样可以更好地理解不同设计选择的优劣,并选择最优的设计方案。
最后,计算机辅助设计还可以提高设计人员的创新能力。
通过设计软件提供的辅助工具和功能,设计人员可以更好地进行创新性的设计工作。
设计软件提供了丰富的设计资源和工具,设计人员可以借助它们进行创新的尝试,不断提升设计水平。
综上所述,计算机辅助设计在控制系统设计中发挥着重要的作用。
它可以提高设计效率和质量,减少设计周期,扩展设计选择和评估,提高设计人员的创新能力。
因此,掌握和应用计算机辅助设计技术对于控制系统设计人员来说是非常重要的。
<全国自动化科学技术应用学术会议>>2000年控制系统CAD软件的设计与应用周黎辉董泽韩璞(华北电力大学动力工程系,保定071003)摘要论述了在控制系统CAD——CAE2000系统的软件设计中,采用了面向对象的方法进行需求分析、结构设计和软件开发的软件设计过程,解决了如何组态任意控制系统的问题,使其满足方框图语言与可视化相结合的技术要求,使系统的设计更加规范,系统的可维护性、可扩展性都大为提高。
关键词面向对象控制计算机辅助设计方框图语言1.引言在过去的十几年中,控制系统计算机辅助设计(CSCAD)技术已经发生了重大变化,特别是其CAD算法日益成熟,已经形成了比较完善的算法体系,但是在实际应用中,往往缺乏具有较好的通用性、便利性和开放性的软件工具。
由于近几年计算机软、硬件技术的快速发展,以及设计理论上的重大突破,使得大型的CSCAD平台化软件工具得以能够实现,而且辅助设计、辅助分析和辅助教学等多种功能已经融合在一起[1]。
2.CAE2000系统目前国外已经出现了一些有代表性的、成熟的CSCAD软件,比如MATLAB、ISL、VisSim和MATRIXx等,其中由美国MathWorks公司推出的MATLAB软件以及与之配套的SIMULINK软件由于采用了面向方框图语言技术与可视化技术,使得其成为功能较完善和具有代表性的CSCAD软件之一[2]。
到九十年中期,我国新一代CSCAD软件的开发,还处于起步阶段,基本上还没有与之相当的软件面世。
针对这种新的发展,我们开发了一套CSCAD系统——CAE2000系统。
CAE2000系统是一个集控制系统计算机辅助分析、辅助设计和辅助教学为一体的多功能、一体化的计算机辅助工程系统。
该系统除了具有一般CSCAD软件的组态、仿真功能外,还特别为接近工程实际和结合过程控制的特点,具备了实时仿真、通过过程通道设备与硬件结合仿真、软操作面板以及过程控制流程图等多种功能,这些功能是一般同类软件所不具备的,同时CAE2000还提供了拟合传递函数、控制器参数寻优、控制理论分析、控制系统CAD算法以及多种现代控制器研究等一系列从工程实际到理论分析的多种工具,这些也是一般CSCAD软件所不具备的。
第1章控制系统计算机辅助设计概述第2章 MATLAB语言程序设计基础第3章线性控制系统的数学模型第4章线性控制系统的计算机辅助分析第5章 Simulink在系统仿真中的应用第6章控制系统计算机辅助设计第1章控制系统计算机辅助设计概述【1】/已阅,略【2】已阅,略【3】已经掌握help命令和Help菜单的使用方法【4】区别:MATLAB语言实现矩阵的运算非常简单迅速,且效率很高,而用其他通用语言则不然,很多通用语言所实现的矩阵运算都是对矩阵维数具有一点限制的,即使限制稍小的,但凡维数过大,就会造成运算上的溢出出错或者运算出错,甚至无法处理数据的负面结果【5】【8】(1)输入激励为正弦信号(2)输入激励为脉冲模拟信号(3)输入激励为时钟信号(4) 输入激励为随机信号(5) 输入激励为阶跃信号δ=0.3δ=0.05δ=0.7结论:随着非线性环节的死区增大,阶跃响应曲线的围逐渐被压缩,可以想象当死区δ足够大时,将不再会有任何响应产生。
所以可以得到结论,在该非线性系统中,死区的大小可以改变阶跃响应的幅值和超调量。
死区越大,幅值、超调量将越小,而调整时间几乎不受其影响第2章 MATLAB语言程序设计基础【1】>> A=[1 2 3 4;4 3 2 1;2 3 4 1;3 2 4 1]A =1 2 3 44 3 2 12 3 4 13 24 1>>B=[1+4i,2+3i,3+2i,4+i;4+i,3+2i,2+3i,1+4i;2+3i,3+2i,4+i,1+4i;3+2i,2+3i,4+i,1+4i]B =1.0000 + 4.0000i2.0000 +3.0000i 3.0000 + 2.0000i4.0000 + 1.0000i4.0000 + 1.0000i 3.0000 + 2.0000i 2.0000 + 3.0000i 1.0000 + 4.0000i2.0000 +3.0000i 3.0000 + 2.0000i4.0000 + 1.0000i 1.0000 + 4.0000i3.0000 + 2.0000i 2.0000 + 3.0000i4.0000 + 1.0000i 1.0000 + 4.0000i >> A(5,6)=5A =1 2 3 4 0 04 3 2 1 0 02 3 4 1 0 03 24 1 0 00 0 0 0 0 5∴若给出命令A(5,6)=5则矩阵A的第5行6列将会赋值为5,且其余空出部分均补上0作为新的矩阵A,此时其阶数为5×6【2】相应的MATLAB命令:B=A(2:2:end,:)>> A=magic(8)A =64 2 3 61 60 6 7 579 55 54 12 13 51 50 1617 47 46 20 21 43 42 2440 26 27 37 36 30 31 3332 34 35 29 28 38 39 2541 23 22 44 45 19 18 4849 15 14 52 53 11 10 568 58 59 5 4 62 63 1>> B=A(2:2:end,:)B =9 55 54 12 13 51 50 1640 26 27 37 36 30 31 3341 23 22 44 45 19 18 488 58 59 5 4 62 63 1∴从上面的运行结果可以看出,该命令的结果是正确的【3】>> syms x s; f=x^5+3*x^4+4*x^3+2*x^2+3*x+6f =x^5 + 3*x^4 + 4*x^3 + 2*x^2 + 3*x + 6>> [f1,m]=simple(subs(f,x,(s-1)/(s+1)))f1 =19 - (72*s^4 + 120*s^3 + 136*s^2 + 72*s + 16)/(s + 1)^5m =simplify(100)【4】>> i=0:63; s=sum(2.^sym(i))s =615【5】>> for i=1:120if(i==1|i==2) a(i)=1;else a(i)=a(i-1)+a(i-2);endif(i==120) a=sym(a); disp(a); endend[ 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269, 2178309, 3524578, 5702887, 9227465, 14930352, 24157817, 39088169, 63245986, 102334155, 165580141, 267914296, 433494437, 701408733, 1134903170, 1836311903, 2971215073, 4807526976, 7778742049, , , , , , 5, 7, 2, 9, 1, 20, 61, 81, 42, 723, 565, 288, 853, 141, 0994, 9135, 0129, 9264, 9393, 28657, 78050, 06707, 84757, 91464, , , , , , 8, 5, 3, 8, 31, 89, 20, 09, 29, 738, 167, 905, 072, 977, 6049, 9026, 5075, 4101, 9176, 83277, 82453, 65730, 48183, 413913, 662096, 076009, 738105, 814114, 0552219, 6366333, 6918552, 3284885, 0203437, 93488322, 23691759, 17180081, 40871840]【6】>>k=1;for i=2:1000for j=2:iif rem(i,j)==0if j<i, break;endif j==i, A(k)=i; k=k+1; break; endendendenddisp(A);Columns 1 through 132 3 5 7 11 13 17 19 23 29 31 37 41 Columns 14 through 2643 47 53 59 61 67 71 73 79 83 89 97 101 Columns 27 through 39103 107 109 113 127 131 137 139 149 151 157 163 167 Columns 40 through 52173 179 181 191 193 197 199 211 223 227 229 233 239 Columns 53 through 65241 251 257 263 269 271 277 281 283 293 307 311 313 Columns 66 through 78317 331 337 347 349 353 359 367 373 379 383 389 397 Columns 79 through 91401 409 419 421 431 433 439 443 449 457 461 463 467 Columns 92 through 104479 487 491 499 503 509 521 523 541 547 557 563 569 Columns 105 through 117571 577 587 593 599 601 607 613 617 619 631 641 643 Columns 118 through 130647 653 659 661 673 677 683 691 701 709 719 727 733 Columns 131 through 143739 743 751 757 761 769 773 787 797 809 811 821 823 Columns 144 through 156827 829 839 853 857 859 863 877 881 883 887 907 911 Columns 157 through 168919 929 937 941 947 953 967 971 977 983 991 997【7】说明:h和D在MATLAB中均应赋值,否则将无法实现相应的分段函数功能syms x; h=input(‘h=’); D=input(‘D=’);y=h.*(x>D)+(h.*x/D).*(abs(x)<=D)-h.*(x<-D)【10】function y=fib(k)if nargin~=1,error('出错:输入变量个数过多,输入变量个数只允许为1!');endif nargout>1,error('出错:输出变量个数过多!');endif k<=0,error('出错:输入序列应为正整数!');endif k==1|k==2,y=1;else y=fib(k-1)+fib(k-2);endend【13】-1-0.500.51-1-0.8-0.6-0.4-0.200.20.40.60.81【14】>> t=[-1:0.001:-0.2,-0.1999:0.0001:0.1999,0.2:0.001:1]; y=sin(1./t); plot(t,y);grid on;-1-0.8-0.6-0.4-0.20.20.40.60.81-1-0.8-0.6-0.4-0.200.20.40.60.81【15】(1) >> t=-2*pi:0.01:2*pi; r=1.0013*t.^2;polar(t,r);axis('square')90270180(2) >> t=-2*pi:0.001:2*pi; r=cos(7*t/2);polar(t,r);axis('square')2700902701800(3) >> t=-2*pi:0.001:2*pi;r=sin(t)./t;polar(t,r);axis('square')90180【17】(1)z=xy>> [x,y]=meshgrid(-3:0.01:3,-3:0.01:3);z=x.*y;mesh(x,y,z);>> contour3(x,y,z,50);-2-112-22-10-5510(1)z =sin(xy )>> [x,y]=meshgrid(-3:0.01:3,-3:0.01:3); z=sin(x.*y);mesh(x,y,z);>> contour3(x,y,z,50);-2-112-22第3章 线性控制系统的数学模型【1】(1) >> s=tf('s');G=(s^2+5*s+6)/(((s+1)^2+1)*(s+2)*(s+4)) Transfer function:s^2 + 5 s + 6--------------------------------s^4 + 8 s^3 + 22 s^2 + 28 s + 16(2) >> z=tf('z',0.1);H=5*(z-0.2)^2/(z*(z-0.4)*(z-1)*(z-0.9)+0.6) Transfer function:5 z^2 - 2 z + 0.2---------------------------------------z^4 - 2.3 z^3 + 1.66 z^2 - 0.36 z + 0.6 Sampling time (seconds): 0.1【2】(1)该方程的数学模型>> num=[6 4 2 2];den=[1 10 32 32];G=tf(num,den)Transfer function:6 s^3 + 4 s^2 + 2 s + 2------------------------s^3 + 10 s^2 + 32 s + 32(2)该模型的零极点模型>> G=zpk(G)Zero/pole/gain:6 (s+0.7839) (s^2 - 0.1172s + 0.4252)-------------------------------------(s+4)^2 (s+2)(3)由微分方程模型可以直接写出系统的传递函数模型【5】(1) >> P=[0;0;-5;-6;-i;i];Z=[-1+i;-1-i];G=zpk(Z,P,8)Zero/pole/gain:8 (s^2 + 2s + 2)-------------------------s^2 (s+5) (s+6) (s^2 + 1)(2) P=[0;0;0;0;0;8.2];Z=[-3.2;-2.6];H=zpk(Z,P,1,'Ts',0.05,'Variable','q')Zero/pole/gain:(q+3.2) (q+2.6)---------------q^5 (q-8.2)Sampling time (seconds): 0.05【8】(1)闭环系统的传递函数模型>> s=tf('s');G=10/(s+1)^3;Gpid=0.48*(1+1/(1.814*s)+0.4353*s/(1+0.4353*s));G1=feedback(Gpid*G,1)Transfer function:7.58 s^2 + 10.8 s + 4.8-------------------------------------------------------------- 0.7896 s^5 + 4.183 s^4 + 7.811 s^3 + 13.81 s^2 + 12.61 s + 4.8(2)状态方程的标准型实现>> G1=ss(G1)a =x1 x2 x3 x4 x5x1 -5.297 -2.473 -2.186 -0.9981 -0.7598x2 4 0 0 0 0x3 0 2 0 0 0x4 0 0 2 0 0x5 0 0 0 0.5 0b =u1x1 2x2 0x3 0x4 0x5 0c =x1 x2 x3 x4 x5y1 0 0 0.6 0.4273 0.3799d =u1y1 0Continuous-time state-space model.(3)零极点模型>> G1=zpk(G1)Zero/pole/gain:9.6 (s^2 + 1.424s + 0.6332)--------------------------------------------------------(s+3.591) (s^2 + 1.398s + 0.6254) (s^2 + 0.309s + 2.707)【11】>> Ga=feedback(s/(s^2+2)*1/(s+1),(4*s+2)/(s+1)^2);Gb=feedback(1/s^2,50);G=3*feedback(Gb*Ga,(s^2+2)/(s^3+14))Transfer function:3 s^6 + 6 s^5 + 3 s^4 + 42 s^3 + 84 s^2 + 42 s---------------------------------------------------------------------------s^10 + 3 s^9 + 55 s^8 + 175 s^7 + 300 s^6 + 1323 s^5 + 2656 s^4 + 3715 s^3+ 7732 s^2 + 5602 s + 1400【13】c1=feedback(G5*G4,H3)=G5*G4/(1+G5*G4*H3)c2=feedback(G3,H4*G4)=G3/(1+G3*H4*G4)c3=feedback(c2*G2,H2)=c2*G2/(1+c2*G2*H2)=G3*G2/(1+G3*H4*G4+G3*G2*H1)G=feedback(G6*c1*c3*G1,H1)=G6*c1*c3*G1/(1+ G6*c1*c3*G1*H1)=G6*G5*G4*G3*G2*G1/(1+G3*H4*G4+G3*G2*H1+G5*G4*H3+G5*G4*H3*G3*H4*G4+G5*G4*H3*G3* G2*H1+G6*G5*G4*G3*G2*G1*H1)【14】>> s=tf('s');c1=feedback(0.21/(1+0.15*s),0.212*130/s);c2=feedback(c1*70/(1+0.0067*s)*(1+0.15*s)/(0.051*s),0.1/(1+0.01*s));G=(1/(1+0.01*s))*feedback(130/s*c2*1/(1+0.01*s)*(1+0.17*s)/(0.085*s),0.0044/(1+ 0.01*s))Transfer function:0.004873 s^5 + 1.036 s^4 + 61.15 s^3 + 649.7 s^2 + 1911 s--------------------------------------------------------------------------- 4.357e-014 s^10 + 2.422e-011 s^9 + 5.376e-009 s^8 + 6.188e-007 s^7+ 4.008e-005 s^6 + 0.001496 s^5 + 0.03256 s^4 + 0.4191 s^3+ 2.859 s^2 + 8.408 s 第4章线性控制系统的计算机辅助分析【1】(1) >> num=[1];den=[3 2 1 2];G=tf(num,den);eig(G)ans =-1.00000.1667 + 0.7993i0.1667 - 0.7993i分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(2) >> num=[1];den=[6 3 2 1 1];G=tf(num,den);eig(G)ans =-0.4949 + 0.4356i-0.4949 - 0.4356i0.2449 + 0.5688i0.2449 - 0.5688i分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(3) >> num=[1];den=[1 1 -3 -1 2];G=tf(num,den);eig(G)ans =-2.0000-1.00001.00001.0000分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(4) >> num=[3 1];den=[300 600 50 3 1];G=tf(num,den);eig(G)ans =-1.9152-0.14140.0283 + 0.1073i0.0283 - 0.1073i分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(5) >> s=tf('s');G=0.2*(s+2)/(s*(s+0.5)*(s+0.8)*(s+3)+0.2*(s+2));eig(G)ans =-3.0121-1.0000-0.1440 + 0.3348i-0.1440 - 0.3348i分析:由以上信息可知,系统的所有极点都在s域的左半平面,因此系统是稳定的【2】(1) >> num=[-3 2];den=[1 -0.2 -0.25 0.05];H=tf(num,den,'Ts',0.5);abs(eig(H)')ans =0.5000 0.5000 0.2000分析:由以上信息可知,所有特征根的模均小于1,因此该系统是稳定的(2) >> num=[3 -0.39 -0.09];den=[1 -1.7 1.04 0.268 0.024];H=tf(num,den,'Ts',0.5);abs(eig(H)')ans =1.1939 1.1939 0.1298 0.1298分析:由以上信息可知,由于前两个特征根的模均大于1,因此该系统是不稳定的(3) >> num=[1 3 -0.13];den=[1 1.352 0.4481 0.0153 -0.01109 -0.001043];H=tf(num,den,'Ts',0.5);abs(eig(H)')ans =0.8743 0.1520 0.2723 0.2344 0.1230分析:由以上信息可知,所有特征根的模均小于1,因此该系统是稳定的(4) >> num=[2.12 11.76 15.91];den=[1 -7.368 -20.15 102.4 80.39 -340];H=tf(num,den,'Ts',0.5,'Variable','q');abs((eig(H))')ans =8.2349 3.2115 2.3415 2.3432 2.3432分析:由以上信息可知,所有特征根的模均大于1,因此该系统是不稳定的【3】(1) >>-4-3.5-3-2.5-2-1.5-1-0.50x 10-6P ole-Zero Map Real Axis (seconds -1)I m a g i n a r y A x i s (s e c o n d s -1)A=[-0.2,0.5,0,0,0;0,-0.5,1.6,0,0;0,0,-14.3,85.8,0;0,0,0,-33.3,100;0,0,0,0,-10]; eig(A) ans =-0.2000 -0.5000 -14.3000 -33.3000 -10.0000分析:由以上信息可知,该连续线性系统的A 矩阵的所有特征根的实部均为负数,因此该系统是稳定的(2)>>F=[17,24.54,1,8,15;23.54,5,7,14,16;4,6,13.75,20,22.5589;10.8689,1.2900,19.099,…21.896,3;11,18.0898,25,2.356,9];abs(eig(F)') ans =63.7207 23.5393 12.4366 13.3231 19.7275分析:由以上信息可知,该离散系统的F 矩阵的所有特征根的模均大于1,因此该系统是不稳定的【4】>> A=[-3 1 2 1;0 -4 -2 -1;1 2 -1 1;-1 -1 1 -2]; B=[1 0;0 2;0 3;1 1];C=[1 2 2 -1;2 1 -1 2];D=[0 0;0 0];G=ss(A,B,C,D); tzero(G)pzmap(G)ans =-3.6124-1.2765结论:∴可以得到该系统的 零点为-3.6124、-1.2765分析:由以上信息可知,系统的特征根的实部均位于s 域的左半平面,因此该系统是稳定的>> s=tf('s');G=0.2*(s+2)/(s*(s+0.5)*(s+0.8)*(s+3)+0.2*(s+2)); Gc=sscanform(G,'ctrl')Go=sscanform(G,'obsv')a =x1 x2 x3 x4x1 0 1 0 0x2 0 0 1 0x3 0 0 0 1x4 -0.4 -1.4 -4.3 -4.3b =u1x1 0x2 0x3 0x4 1c =x1 x2 x3 x4y1 0.4 0.2 0 0d =u1y1 0Continuous-time state-space model.a =x1 x2 x3 x4x1 0 0 0 -0.4x2 1 0 0 -1.4x3 0 1 0 -4.3x4 0 0 1 -4.3b =u1x1 0.4x2 0.2x3 0x4 0c =x1 x2 x3 x4y1 0 0 0 1d =u1y1 0Continuous-time state-space model.(1)>> num=[18 514 5982 36380 122664 222088 185760 40320];den=[1 36 546 4536 22449 67284 118124 109584 40320];[R1,P1,K1]=residue(num,[den 0]);[R1,P1]ans =-1.2032 -8.0000-1.0472 -7.00000.2000 -6.00000.7361 -5.0000-2.8889 -4.00002.2250 -3.0000-2.0222 -2.00003.0004 -1.00001.0000 0>> [n,d]=rat(R1);sym([n./d]')ans =[ -379/315, -377/360, 1/5, 53/72, -26/9, 89/40, -91/45, 7561/2520, 1][阶跃响应的解析解]y(t)=(-379/315)*e-8t+(-377/360)*e-7t+(1/5)*e-6t+(53/72)*e-5t+(-26/9)*e-4t+(89/40)*e-3t +(-90/45)*e-2t+(7561/2520)*e-t+1(2) >> num=[18 514 5982 36380 122664 222088 185760 40320];den=[1 36 546 4536 22449 67284 118124 109584 40320];[R2,P2,K2]=residue(num,den);[R2,P2]ans =9.6254 -8.00007.3306 -7.0000-1.2000 -6.0000-3.6806 -5.000011.5556 -4.0000-6.6750 -3.00004.0444 -2.0000-3.0004 -1.0000>> [n,d]=rat(R2);sym([n./d]')ans =[ 3032/315, 887/121, -6/5, -265/72, 104/9, -267/40, 182/45, -7561/2520][脉冲响应的解析解]y(t)=(3032/315)*e-8t+(887/121)*e-7t+(-6/5)*e-6t+(-265/72)*e-5t+(104/9)*e-4t+(-267/40) *e-3t+Linear Simulation ResultsA m p l i t u d e(182/45)*e -2t +(-7561/2520)*e -t(3) >> syms t;u=sin(3*t+5); Us=laplace(u) Us =(3*cos(5) + s*sin(5))/(s^2 + 9) >> s=tf('s');Us=(3*cos(5)+s*sin(5))/(s^2+9);num=[18 514 5982 36380 122664 222088 185760 40320]; den=[1 36 546 4536 22449 67284 118124 109584 40320]; G=tf(num,den); Y=Us*G; num=Y.num{1}; den=Y.den{1};[R3,P3,K3]=residue(num,den); [R3,P3] ans =1.1237 -8.0000 0.9559 -7.0000 -0.1761 -6.0000 -0.6111 -5.00002.1663 -4.0000 -1.1973 - 0.0010i 0.0000 +3.0000i -1.1973 + 0.0010i 0.0000 - 3.0000i -1.3824 -3.0000 0.8614 -2.0000 -0.5430 -1.0000 >> [n,d]=rat(R3); sym([n./d]') ans =[109/97, 282/295, -59/335, -965/1579, 951/439, - 449/375 + (18*i)/17981, - 449/375 - (18*i)/17981, -1663/1203, 317/368, -82/151] [正弦信号时域响应的解析解]y(t)=(109/97)*e -8t+(282/295)*e -7t+(-59/335)*e -6t+(-965/1579)*e -5t+(-449/375)*e -4t+(-1663/1203)*e -3t +(317/368)*e -2t +(-82/151)*e -t-2.3947sin(3t) [输出波形]>> num=[18 514 5982 36380 122664 222088 185760 40320]; den=[1 36 546 4536 22449 67284 118124 109584 40320];G=tf(num,den); t=[1:.1:20]';u=sin(3*t+5); lsim(G,u,t);分析:由解析解可知,输出信号的稳态 部分是振荡的,并且其幅值与相位始终 在到达稳态的时候保持不变,因此 右图所示的输出波形与解析解所得的结论是一致的【10】(1)因为PI 或PID 控制器均含有Ki/s 项,这是一个对误差信号的积分环节,假设去掉这一环节,则当Kp →∞,即|e(t)|很小也会存在较大扰动,这会影响到系统的动态特性;当加入这一环节后,如果要求|e(t)|→0,则控制器输出u(t)会由Ki/s 环节得到一个常值,此时系统可以获得较好的动态特性,因此这两个控制器可以消除闭环系统的阶跃响应的稳态误差(2)不稳定系统能用PI 或PID 控制器消除稳态误差。
实验五 控制系统计算机辅助设计一、实验目的学习借助MATLAB 软件进行控制系统计算机辅助设计的基本方法,具体包括超前校正器的设计,滞后校正器的设计、滞后-超前校正器的设计方法。
二、实验学时:4 学时 三、实验原理1、PID 控制器的设计PID 控制器的数学模型如公式(5-1)、(5-2)所示,它的三个特征参数是比例系数、积分时间常数(或积分系数)、微分时间常数(或微分系数),因此PID 控制器的设计就是确定PID 控制器的三个参数:比例系数、积分时间常数、微分时间常数。
Ziegler (齐格勒)和Nichols (尼克尔斯)于1942提出了PID 参数的经验整定公式。
其适用对象为带纯延迟的一节惯性环节,即:s e Ts Ks G τ-+=1)( 5-1式中,K 为比例系数、T 为惯性时间常数、τ为纯延迟时间常数。
在实际的工业过程中,大多数被控对象数学模型可近似为式(5-1)所示的带纯延迟的一阶惯性环节。
在获得被控对象的近似数学模型后,可通过时域或频域数据,根据表5-1所示的Ziegler-Nichols 经验整定公式计算PID 参数。
表控制器的参数。
假定某被控对象的单位阶跃响应如图5-4所示。
如果单位阶跃响应曲线看起来近似一条S 形曲线,则可用Ziegler-Nichols 经验整定公式,否则,该公式不适用。
由S 形曲线可获取被控对象数学模型(如公式5-1所示)的比例系数K 、时间常数T 、纯延迟时间τ。
通过表5-1所示的Ziegler-Nichols 经验整定公式进行整定。
如果被控对象不含有纯延迟环节,就不能够通过Ziegler-Nichols 时域整定公式进行PID 参数的整定,此时可求取被控对象的频域响应数据,通过表5-1 所示的Ziegler-Nichols 频域整定公式设计PID 参数。
如果被控对象含有纯延迟环节,可通过pade 命令将纯延迟环节近似为一个四阶传递函数模型,然后求取被控对象的频域响应数据,应用表5-1求取PID 控制器的参数。
控制系统计算机辅助设计1. 前言控制系统计算机辅助设计是控制工程中一项重要的技术,它采用计算机辅助手段辅助进行系统设计、分析和优化。
通过使用现代的计算机辅助设计工具,可以提高控制系统设计的效率和准确性。
本文将介绍控制系统计算机辅助设计的概念、方法和应用。
2. 概述控制系统计算机辅助设计是利用计算机辅助工具进行控制系统设计的过程。
传统的控制系统设计需要手工进行一系列的计算和分析,这样不仅效率低下,而且容易出现错误。
而采用计算机辅助设计工具可以将这些繁琐的计算和分析过程自动化,大大提高了设计的效率和准确性。
控制系统计算机辅助设计主要包括以下几个方面:•系统建模和仿真:使用计算机辅助工具对控制系统进行建模和仿真,以验证系统的性能和稳定性。
•控制器设计和优化:通过计算机辅助工具对控制器进行设计和优化,以满足系统的性能要求。
•系统分析和评估:利用计算机辅助工具对控制系统进行分析和评估,以改进系统的性能和稳定性。
•系统集成和调试:利用计算机辅助工具对控制系统进行集成和调试,以确保系统的正常运行。
3. 方法控制系统计算机辅助设计可以采用多种方法和工具,下面介绍一些常用的方法。
3.1 系统建模和仿真在控制系统设计的初期阶段,需要对待设计的系统进行建模和仿真。
常用的系统建模方法包括传递函数法、状态空间法等。
而系统仿真则是利用计算机辅助工具对系统进行数值模拟,以验证系统的性能和稳定性。
3.2 控制器设计和优化在控制系统的设计过程中,控制器的设计是一个关键环节。
通过使用计算机辅助工具,可以对控制器进行设计和优化。
常见的控制器设计方法包括PID控制器、模糊控制器、自适应控制器等。
3.3 系统分析和评估设计好的控制系统需要经过系统分析和评估的过程,以评估系统的性能和稳定性,进而进行改进和优化。
计算机辅助工具可以帮助工程师进行系统分析和评估,并提供相关的指标和报告。
3.4 系统集成和调试在控制系统的最后阶段,需要进行系统的集成和调试。