




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章绪论控制系统CAD控制系统仿真MATLAB简介MATLAB编程基础一、控制系统CAD控制系统的计算机辅助设计(CSCAD-ControlSystemComputerAidedDesign)
控制系统CAD技术是对复杂控制系统进行分析和设计的重要方法和手段。在进行控制系统的分析与综合的过程中,除了要进行理论分析外,还要对系统的特性进行实验研究,研究系统的固有的动态特性,验算设计的控制器能否达到预期的性能指标,这个过程是设计-实验-修改设计-再实验的过程。
所谓控制系统的计算机仿真就是以控制系统的数学模型为基础,借助计算机对控制系统的动态特性进行实验研究。控制系统的计算机仿真是控制系统的计算机辅助设计的一个部分。这一过程包括:建立数学模型;根据性能指标和控制算法编程求解控制器参数;对系统校正前后进行仿真,并验证控制器的实际控制效果;修改控制器参数或结构,直到仿真结果满足设计要求。二、控制系统仿真三、
MATLAB简介1980年美国CleveMoler博士研制MathWorks公司出品MATLAB是以复数矩阵作为基本编程单元的一种程序设计语言,它提供了各种矩阵的运算操作,并具有较强的绘图功能。Matlab的语言特点语言简洁紧凑,使用方便灵活。 例如:A=[123;456;789]一条语句实现了对3x3矩阵的输入。数值算法稳定可靠,库函数十分丰富。
例如:polyder(b) %求多项式b的微分运算符丰富。
例如:C=A*B%矩阵的乘法,
x=A\b %求Ax=b的最小二乘解Matlab既具有结构化的控制语句(if、for、while)又支持面向对象的程序设计。语法限制不严格,程序设计自由度大。程序的可移植性好。Matlab的图形功能强大,支持数据的可视化操作,方便的显示程序的运行结果。强大的工具箱。例如:控制领域可以使用的工具箱就有ControlSystem(控制工具箱)
源程序的开发性,系统的可扩充能力强。Matlab是解释执行语言。
Matlab程序不用编译生成可执行文件就可以运行Matlab集成环境的组成
Matlab语言Matlab工作环境包括程序编辑器、变量查看器、系统仿真器。Matlab图形系统用Matlab的句柄图形,可以实现二维、三维数据的可视化、图象处理,也可以完全或局部修改图形窗口,还可以方便的设计图形界面。Matlab数学函数库MatlabAPIMatlab软件的安装Matlab软件的启动Matlab软件的基本使用方法命令窗口
工作空间历史命令当前路径
命令窗口Matlab的命令窗口可以执行任何Matlab命令和函数。操作M文件(打开、新建、运行、保存)操作MDL文件运行Matlab程序运行外壳应用程序主要功能程序编辑/调试器
建立、编辑、存储M文件可以运行程序调试(断点、单步、跟踪、查看)程序Matlab内置了一个程序的编辑/调试器主要功能设置断点取消断点单步运行进入函数跳出函数退出调试继续运行变量查看器在MATLAB中,工作空间(Workspace)是一个重要的、比较抽象的概念。工作空间指运行MATLAB的程序或命令所生成的所有变量和MATLAB提供的常量构成的空间是一个概念工作空间在MATLAB运行期间一直存在关闭MATLAB后工作空间自动消失可以随时查看工作空间中的变量名及变量的值whos保存工作空间中的所有变量为一个文件save把保存的工作空间的所有变量调入到当前工作空间load工作空间的特点查看变量删除变量图形窗口在图形窗口上可以进行绘制曲线、显示文本、填充颜色等操作。用figure命令建立新的图形窗口可以用绘图语句自动创建图形窗口并在上面绘图,如plot命令。帮助系统1、
使用普通文本帮助
help 函数名/文件名 %显示相关函数/文件的帮助体
lookfor函数名/文件名 %显示相关函数/文件的H1行
2、
使用超文本帮助在命令窗口键入doc命令doc函数名/文件名选择命令窗口的帮助菜单编辑模态添加文本添加箭头添加线段旋转三维图形Matlab编程基础Matlab初学者常用的编程知识、规则:可以在MATLAB命令窗口键入一个命令,也可以由Matlab定义的语言编写一个或多个应用程序,然后在MATLAB环境下返回运算结果。
MATLAB以复数矩阵为基本的运算单元,既可以对它整体进行处理,也可以对它的某个或某些元素进行单独处理,操作起来比较方便。MATLAB最基本的语句是赋值语句,其结构为:变量名列表=表达式其中等号左边的变量名列表为MATLAB语句的返回值,若一次返回多个结果,则变量列表用[]括起来,各变量间用逗号分隔;等号右边为表达式,可以是矩阵运算或函数调用,可以由分号(;)、逗号(,)或回车结束。变量不需要定义就可以直接使用和赋值。例如:A=[1,2;3,4]
%定义并输入一个2x2的矩阵
str=’Hello’
%定义并输入一个字符串(字符数组)
矩阵的每行中的各个元素用逗号或者空格分隔,行于行之间用分号分隔;字符串用单引号定义。输入、输出函数①A=input(提示信息,选项)
例如:A=input(‘EntermatrixA=>’)②disp(A)例如:
A=‘hello’;
disp(A)
A=[1,2,3;4,5,6;7,8,9];disp(A)第二章MATLAB程序设计2.1数据类型和运算符2.2程序控制语句2.3矩阵运算2.4多项式2.5函数与M文件2.6数据的可视化2.1数据类型和运算符变量、语句变量命名规则⑴必须以字母开头;⑵可以由字母、数字和下划线混合组成;⑶变量长度应不大于31个;⑷字母区分大小写。变量的定义特殊变量基本语句MATLAB语言的基本语句结构为:变量名列表=表达式等号左边的变量名列表为MATLAB语句的返回值,若一次返回多个结果,则变量列表用[]括起来,各变量间用逗号分隔;等号右边为表达式,可以是矩阵运算或函数调用,可以由分号(;)、逗号(,)或回车结束。
数据类型在MATLAB里共有六种数据类型,每一种类型可以是一维、二维和多维的。双精度型(double)字符型(char)稀疏型(sparse)存储型(storage)细胞型(cell)结构型(struct)
字符型基本规则:⑴所有字符串都用单引号括起来;⑵字符串中的每一个字符都是该字符串变量中的一个元素;⑶字符串中的字符以ASCⅡ码形式存储,因而区分大小写。常用操作方法:⑴建立:常用函数有char、int2str、num2str等。⑵连接:水平连接通过函数strcat或在中括号内用逗号连接;垂直连接通过函数strvcat或在中括号内用分号连接。⑶比较:常用函数strcmp,相同则返回1,否则为0。⑷查找:常用函数findstr。结构型结构的建立和访问方法:①直接建立结构和各个域,同时给各域赋值,结构和域之间用点“.”连接。同样,访问结构的各个域时,其格式为:结构名.域名②用函数struct建立结构,其用法为:s=struct(‘field1’,values1,‘field2’,values2,┅)例2-1
s=struct('type',{'big','little'},'color','red‘,‘x',{31})Fieldvalues1values2TypebiglittleColorredredX31
s(1).type;s(2).types(1).color;s(2).colors(1).x;s(2).x1×2struct运算符算术运算符+加.^数组幂-减\左除或反斜杠*矩阵乘法/右除或斜杠.*数组乘法./数组除^矩阵幂:冒号按照运算符的优先级可把算术运算符分为五级,在每一级里运算符有同样的优先级,在运算时自左向右结合关系运算符在MATLAB里共有六个关系运算符<小于 >大于<=小于等于 >=大于等于==等于 ~=不等于
关系运算符将生成一个0-1矩阵,当运算数相应元素为真时,对应位置上生成1,否则为0。逻辑运算符&(与)|(或)~(非)结果是一个0-1矩阵。当逻辑表达式的值为真时,赋值1,否则为0逻辑函数all函数:当某列的元素都为真时,返回值为1,否则返回0。最终运算结果为一个0-1行向量any函数
:当向量中至少有一个元素为真时,返回值为1,否则返回0。最终运算结果为一个0-1行向量find函数
:用于查找向量中的真元素的下标,返回由所有真元素下标构成的列向量。例2-6例2-7例2-52.2程序控制语句循环语句MATLAB中的循环语句包括for循环和while循环两种类型。
for循环for循环的基本格式为:
for循环变量=起始值:步长:终止值 循环体
end
步长的缺省值是1。步长可以在正实数或负实数范围内任意指定,对于正数,循环变量的值大于终止值时,循环结束;对于负数,循环变量的值小于终止值时,循环结束。例2-8-1while循环
while循环的基本格式为:
while表达式 循环体
end
若表达式为真,则执行循环体的内容,执行后再判断表达式是否为真,若为假则跳出循环体,向下继续执行,否则继续执行循环体。
break:从循环体中跳出,并使循环结束。例2-8-2if-else-elseif语句if格式:if逻辑表达式 执行语句end
当逻辑表达式的值为真,则执行该结构中的执行语句内容,执行完后向下继续执行,若逻辑表达式的值为假,跳过结构中的执行语句继续向下执行。if-else格式if逻辑表达式 执行语句1else
执行语句2end
如果逻辑表达式的值为真,则执行语句1,然后跳过语句2向下执行;若逻辑表达式的值为假,则跳过执行语句1而执行语句2,然后向下执行。
if-elseif格式if逻辑表达式1
执行语句1 elseif逻辑表达式2
执行语句2
…… elseif 逻辑表达式n
执行语句nelse
执行语句elend
如果逻辑表达式的值为真,则执行语句1,若逻辑表达式的值为假,则判断逻辑表达式2的值,若为真,则执行语句2,否则向下执行,若所有表达式均为假,执行语句el
。例2-8-3switch语句
switch语句的格式为:
switch表达式(标量或字符串)
case值1
语句1 case值2
语句2 ┅ case值n
语句n otherwise
语句ow end
表达式的值和哪种情况(case)的值相同,就执行哪种情况中的语句,如果都不同,则执行otherwise中的语句。输入简单的矩阵
在MATLAB中不必描述矩阵的维数和类型,而由输入的格式和内容来决定。输入小矩阵最简单的方法:把矩阵的元素直接排列到方括号中。每行内的元素间用空格(space)或逗号(,)分开,行与行的内容间用分号(;)隔开。下标引用矩阵下标(按列优先排列)用两个下标来表示。第i行j列的元素用A(i,j)来表示用一个下标来表示。对于矩阵按列操作,可用单下标引用A(i)。在下标的表达式中使用冒号表示矩阵的一部分。下标引用从序号1开始。例如:A(1:k,j)表示矩阵A的第j列的前k个元素。
A(:,j)表示矩阵A的第j列的所有元素。2.3矩阵运算矩阵的组合矩阵的抽取例2-9例2-10删除矩阵的行和列例2-11
把空的[]称为空矩阵,即矩阵大小为0×0。可以通过把矩阵的行或列赋值为空矩阵来删除某行或某列。X=[] %将一个0×0的矩阵赋给XA(:,[24])=[] %则将A的第二列和第四列删除了A(:,2)=[] %删除矩阵A的第二列矩阵的组合即把小矩阵组合成大矩阵,组合符号为中括号[]。用下标可以从大矩阵里面抽取某些元素组成小的矩阵,并使用()运算符。矩阵运算矩阵的加减使用+、-运算符,并满足以下两个条件之一:(1)类型相同,即行数相等,且列数相等。(2)其中一个为标量,则矩阵中每一个元素都和标量做加减运算。例2-13矩阵的乘积使用*运算符,必须满足维数条件。矩阵的除法例2-14除法运算其意义相当于矩阵的求逆运算。还定义了矩阵的左除及右除。矩阵的左除:“\”
A\B即由Gauss消去法求线性方程AX=B的解X=A-1B矩阵的右除:“/”
B\A是方程XA=B的解X=BA-1"′"表示复共轭转置,".′"表示普通转置。矩阵的转置矩阵的点运算例2-15
两个矩阵之间的点运算是对该矩阵对应元素的直接运算。点乘积运算要求矩阵的维数相同。点乘积又称为Hadamard乘积。常用的点运算包括:.*,./,.\,.’,.^。例2-16
矩阵函数三角分解
将一个方阵表示成两个基本三角阵的乘积,其中一个三角阵为上三角阵,另一个为下三角阵。这种分解被称为"LU分解"。[L,U]=lu(A) %求矩阵A的LU分解X=inv(A) %求矩阵A的逆矩阵d=det(A) %求矩阵A的行列式三角分解d=eig(A);[V,D]=eig(A);
[V,D]=eig(A,'nobalance')求解A矩阵的特征值和特征向量,其调用格式为:d为矩阵A的特征值向量;D为A阵的特征值对角阵,V为A阵的全部右特征向量,;nobanlance选项当A矩阵中有的元素小到和截断误差相当时用,一般用nobalance选项来减少计算误差。矩阵的尺寸为了判断矩阵的尺寸,Matlab提供了以下函数:[m,n]=size(A)
%返回矩阵的行数m和列数nM=size(A)
%在矩阵M中返回矩阵的行数、列数len=length(A)
%返回矩阵A行数和列数中的最大值特殊矩阵的生成例2-161单位矩阵
eye(n)
%生成n维单位阵
eye(m,n)
%生成m×n的单位阵
eye([m,n]) %生成m×n的单位阵
eye(size(A))
%生成与A矩阵同样大小的单位矩阵全1矩阵
ones(n) ones(m,n)ones([m,n]) ones(size(A))全零矩阵
zeros(n) zeros(m,n)zeros([m,n]) zeros(size(A))随机矩阵
rand(n) rand(m,n)rand([m,n])rand(size(A))生成的随机矩阵的各个元素值在0和1之间。魔术矩阵
magic(n)魔术矩阵的所有行元素和、列元素和、对角线元素和均相等。2.4多项式多项式的创建多项式的常用函数roots()
%求多项式的根p=poly(A)
%求矩阵的特征多项式polyval(p,x)
%求当多项式p的参数为某个特定值x时的多项式的值polyvalm(p,A)
%和polyval作用相同,输入参数值也可为方阵A例2-17多项式用行向量表示。多项式P(x)=anxn+an-1xn-1+…+a1x+a0,其系数向量表示为:P=[an,an-1,…,a1,a0]。直接输入法 例如:P=[1,2,3,4]poly(A)%创建方阵A的特征多项式poly(a)%如果a为向量[bnbn-1…b1b0],则创建(x-b0)(x-b1)
…(x-bn-1)(x-bn)生成的多项式的系数向量卷积和解卷积 c=conv(A,B) %卷积函数,多项式乘法函数
[Q,R]=deconv(A,B) %解卷积函数,多项式除法函数
polyder:用于计算两个多项式的积、单个多项式和两个多项式的商的导数,其调用格式为:
Pd=polyder(P) %求多项式P的导数
Pm=polyder(P1,P2) %求多项式P1和多项式P2的乘积的导数
[Q,D]=polyder(P1,P2) %求多项式P1除以多项式P2商的导数多项式曲线的拟合从最小二乘的意义上,polyfit函数将拟合出所给数据的多项式系数,其调用格式为:p=polyfit(x,y,n)其中,x和y为已知数据的横坐标和纵坐标向量,n为多项式的次数。例2-18例2-19:已知五个数据点:[1,5.5],[2,43],[3,128],[4,290],[5,498],试画出这五个点拟合的三次曲线。2.5函数与M文件
用Matlab语言编写的可以在Matlab环境中运行的程序称为M文件。M文件以.m为扩展名,M文件分为两种:命令文件和函数文件命令文件命令文件没有输入参数也没有输出参数,只是一些Matlab命令和函数的组合。命令文件可以操作工作空间的变量,也可以生成新的变量,当命令文件执行结束后新变量将保存在工作空间中,不会被自动清除。例2-20:编写命令文件,用于求解小于2000且为2的整数次幂的正整数。函数文件函数允许通过数值进行参数传递,而且函数使用局部变量而不是全局变量操作。函数文件的第一行必须包括“function”这个关键字。函数文件的文件名必须和函数定义的函数名称相同。程序文件与函数文件的主要区别函数接收输入参数,返回输出参数。函数文件也是以“.m”为扩展名,MATLAB的函数M文件通常由以下几个部分组成:
函数定义行函数M文件的第一行用关键字“function”把M文件定义为一个函数,并指定它的名字,并且与文件名必须相同,同时定义了函数的输入和输入参数。输入参数的定义用小括号(),如果有多个输入参数则用逗号分隔;输出参数的定义用中括号[],如果有多个输出参数则用逗号分隔。
H1行所谓H1行指帮助文本的第一行,它紧跟在定义行之后并以“%”符号开头,用于概括说明函数名和函数的功能。在命令窗口用lookfor命令时将显示所寻求函数的H1行。函数帮助文本帮助文本指位于H1行之后函数体之前的说明文本,它同样以“%”符号开头,一般用来比较详细地介绍函数的功能和用法。在命令窗口用help命令时将显示函数的H1行和所有帮助文本。函数体是函数的主体部分,包括进行运行和赋值操作的所有MATLAB程序代码,其中可以有流程控制、输入输出、计算、赋值、注释以及函数调用等操作。注释除了函数开始独立的帮助文本外,还可以在函数体中添加对语句的注释。注释必须以“%”符号开头,MATLAB在编译执行M文件时把每一行中“%”后面的全部内容作为注释不进行编译。
一个M文件中可以定义多个函数,其中第一个定义的函数称为主函数,主函数名必须与M文件名相同,其它函数称为子函数。子函数只能被定义它的文件中的函数调用,其它函数和文件不能调用。子函数例2-21:编写函数AddJc(n),求2.6数据的可视化图形窗口MATLAB自动将图形画在图形窗口上;图形窗口相对于命令窗口是独立的窗口;图形窗口的属性由系统和MATLAB共同控制;常用图形窗口命令格式:
figure %建立一个新的图形窗口,并指定为当前窗口用于图形输出subplot %把多个图形绘在一个图形窗口中。subplot(m,n,I) %把图形窗口分成m×n个小图形区域,并指定第i个区域
为图形的绘制区域。图形区域的编排采用行优先。例2-22基本的绘图命令plot功能:plot是最基本的二维图形命令,它是以MATLAB的内部函数形式出现的。MATLAB的其他二维函数中的绝大多数是以plot为基础构造的绘图命令。格式: plot(y),plot(x,y),plot(x1,y1,x2,y2,…)说明:(1)plot(y):当y为向量时,则以y的元素为纵坐标,以相应元素下标为横坐标,绘制连线图。(2)plot(x,y):当y和x为同维向量,则以x为横坐标、y为纵坐标绘制连线图。(3)plot(x1,y1,x2,y2,…):每对x、y必须符合plot(x,y)中的要求,不同对之间没有影响,命令将对每一对x,y绘制曲线。例2-23常用绘制二维图形的命令函数轴的刻度方式Loglog纵横轴均采用对数坐标Semilogx纵轴采用线性坐标,横轴采用对数坐标Semilogy纵轴采用对数坐标,横轴采用线性坐标plotyy在图的左右两侧分别建立纵坐标轴基本绘图控制数据的可视化的一般步骤为:①准备绘图需要的数据;②指定绘图的窗口或者区域;③调用基本绘图命令;④选择线型、颜色、数据点形状;⑤坐标轴控制,包括显示范围、刻度线、比例、网格线;⑥标注控制,包括坐标轴名称、标题、相应文本等。plot控制功能:在调用函数plot时,可以指定线型,颜色,和数据点的图标。格式:plot(x,y,‘color_linestyle_marker’)说明:参数color_linestyle_marker为一个字符串,由颜色、线型、数据点的图标组成。颜色字符定义表字符定义颜色字符定义颜色yyellow(黄)mmagenta(洋红)ccyan(青)rred(红)ggreen(绿)bblue(兰)默认wwhite(白)kblack(黑)线型字符定义表字符定义线型字符定义线型-实线(默认)--虚线:点划线-.点连线none无线
坐标轴控制axis([xmin,xmax,ymin,ymax])指定轴的显示范围,四个输入参数分别为横轴显示的最小值和最大值、纵轴显的最小值和最大值,可以用Inf和-Inf表示。axissquare
一般情况下,MATLAB给出的图形窗口不是正方形,所有显示的图形区域也不是正方形。对应两轴的比例,一般也是不相等的。可以用此命令指定两轴的显示的长度相同。axistight
用于绘制指定数据的范围。“equal”和“tight”也可以同时选中。axisequal
用于指定两轴的显示比例相同。set(gca,’xtick’,[……]),set(gca,’ytick’,[……])
设置横轴(X轴)、纵轴(Y轴)的刻度线,第三个输入参数是一个刻度向量,并按照等分升序原则排列。例2-24删格控制:控制图形窗口的栅格是否被显示。
gridon
%显示栅格
gridoff %隐藏栅格追加控制:控制绘图方式,即在当前窗口绘图时是否清除原窗口上来的图形 holdon
%绘图时不清除绘图窗口中原有的图形
holdoff %绘图时清除绘图窗口中原有的所有图形标注控制:图形上加上适当的文字说明。
xlable(‘string’,‘FontSize’,size),ylable(‘string’,FontSize’,size)显示坐标轴的名称,string为坐标轴名称字符串,size为使用的字体尺寸
title(‘string’,‘FontSize’,size)显示整个图形的标题,string为标题字符串,size为字体大小。
text(x,y,‘stirng’)在绘图窗口的坐标(x,y)处显示字符串string。作业习题1,2,3,5,6第四章基于传递函数模型的
控制系统设计4.1概述4.2根轨迹法4.3BODE图法4.4PID控制4.1概述本章内容:
介绍基于传递函数模型的单输入单输出、线性、定常、连续、单位负反馈控制系统的设计问题。设计要求:用性能指标描述,主要包括稳定性动态性能阻尼程度(超调量、振荡次数、阻尼比)、响应速度(上升时间、峰值时间、调整时间)稳态性能:控制精度(稳态误差)控制系统具有良好的性能是指:输出按要求能准确复现给定信号;具有良好的相对稳定性;对扰动信号具有充分的抑制能力。校正方案:R(s)C(s)串联校正R(s)C(s)反馈校正设计方法:根轨迹校正Bode图法校正
性能指标以频域量的形式给出时,用Bode法比较合适时域指标包括期望的相角裕度、幅值裕度、谐振峰值、剪切频率、谐振频率、带宽及反映稳态指标的开环增益、稳态误差或误差系数等。
单位反馈控制系统的性能指标以时域量的形式给出时,用根轨迹校正方法比较方便。时域指标包括期望的闭环主导极点的阻尼比和无阻尼自振频率、超调量、上升时间和调整时间等。4.2根轨迹法实质原则
通过校正装置改变系统的根轨迹,从而将一对闭环主导极点配置到需要的位置上。
若在开环传递函数中增加极点,可以使根轨迹向右移动,从而降低系统的相对稳定性,增加系统响应的调整时间。而在开环传递函数中增加零点,可以导致根轨迹向左移动,从而增加系统的稳定性,减少系统响应的调整时间。数学描述原系统的开环传递函数:未校正系统的传递函数:校正装置的传递函数:校正后系统的传递函数:4.2.1串联超前校正
系统可能对于所有的增益值都不稳定,也可能虽属稳定,但不具有理想的瞬态响应特性。可以在前向通道中串联一个或几个适当的超前校正装置。一、根轨迹的几何设计方法
根据动态性能指标要求确定闭环主导极点S1的希望位置。计算出需要校正装置提供的补偿相角
c确定校正装置的参数采用带惯性的PD控制器采用PD控制器验算性能指标
极点位置零点位置
位置的确定方法同理S1几何法串联超前校正函数
惯性PD控制器[ngc,dgc]=lead1(ng0,dg0,s1)
PD控制器[ngc,dgc]=lead2(ng0,dg0,s1)
常用的设计函数
s=bpts2s(bp,ts,delta)s=kw2s(kosi,wn)[kosi,wn]=s2kw(s)[pos,tr,ts,tp]=stepchar(g,delta)例4-1:设单位负反馈系统的开环传递函数为:系统期望性能指标要求:开环增益;单位阶跃响应的特征量:试确定:带惯性的PD控制器的串联超前校正参数PD控制器的串联超前校正参数二、根轨迹的解析设计方法设串联超前校正装置的传递函数为
确定所求的、需满足的方程:由复数欧拉公式:根据稳态性能和动态特性要求,确定和利用上述方程可分为实部、虚部,确定未知数
[ngc,dgc]=lead3(ng0,dg0,KK,s1)
例4.2:同例4.1,试用根轨迹解析法确定超前校正装置。
解析法串联超前校正函数
4.2.2串联滞后校正
如果原系统具有满意的动态响应特性,但是其稳态特性不能令人满意,可以通过在前向通道中串联一个滞后校正装置来解决,既增大了开环增益,又使动态响应特性不发生明显变化。一、根轨迹的几何设计方法
根据动态指标要求,确定闭环主导极点的希望位置求取未校正系统根轨迹上的对应于闭环主导极点的开环增益计算期望的开环增益,并求取
确定滞后校正装置的和
令取小于1的正数。并验证否则重新选择。或验算性能指标
例4.3:设单位负反馈系统的开环传递函数为:指标要求:(1)开环增益;(2)单位阶跃响应的特征量:,。试确定串联滞后校正装置的参数和[ngc,dgc,k]=lag1(ng0,dg0,KK,s1,a)串联滞后校正函数二、根轨迹的解析设计方法
采用根轨迹的解析设计方法设计滞后校正装置与超前校正装置的方法相同,设滞后校正装置的传递函数为:例4.4:同例4.3,试采用解析方法确定串联滞后校正的传递函数。4.3Bode图法基本要求
为了获得比较高的开环增益及满意的相对稳定性,必须改变开环频率特性响应曲线的形状,这主要体现为:在低频区和中频区增益应该足够大,且中频区的对数幅频特性的斜率应为-20dB/dec,并有足够的带宽,以保证适当的相角裕度;而在高频区,要使增益尽可能地衰减下来,以便使高频噪声的影响达到最小。Bode图设计方法的频域指标为。基本思路
在Bode图中的对数频率特性的低频区表征了闭环系统的稳态特性,中频区表征了系统的相对稳定性,而高频区表征了系统的抗干扰特性。在大多数实际情况中,校正问题实质上是在稳态精度和相对稳定性之间取折衷的问题。4.3.1串联超前校正一、Bode图的几何设计方法1.根据稳态指标要求确定未校正系统的型别和开环增益,并绘制其Bode图;2.根据动态指标要求确定超前校正装置的参数;第一种情形:给出了的要求值(1)确定超前校正所应提供的最大超前相角(2)求解的值(确定)如果,说明值选择合理,能够满足相角裕度要求,否则按如下方法重新选择的值:若,则正确,否则重新调整值。(3)由求出的值。
第二种情形:未给出的期望值(1)确定串联超前校正所应提供的最大超前相角(2)根据求出的值;(3)根据求出;(4)根据求出的值。3.验算性能指标对于三阶及其以上的高阶系统应该验证幅值裕度,并评价系统抑制干扰的能力。[ngc,dgc]=lead4(ng0,dg0,KK,Pm,w)[ngc,dgc]=lead5(ng0,dg0,KK,Pm,wc,w)[ngc,dgc]=lead6(ng0,dg0,KK,wc)函数其中:Pm期望的相角裕度
wc期望的剪切频率
w指定的Bode图频率范围
或例4.5:设被控对象的传递函数其设计要求:,,
rad/s,dB。试设计带有惯性环节的并联超前校正控制器。二、Bode图的解析设计方法设计校正装置()的步骤如下:1、根据,可得到2、利用方程可分为实部、虚部两个方程,求出、值其中由复数欧拉公式:[ngc,dgc]=lead7(ng0,dg0,KK,Pm,wc,w)
函数例4.7:设被控对象的传递函数设计要求:
用Bode图解析法设计串联超前校正控制器4.3.2串联迟后校正描述:串联滞后校正的主要作用在不改变系统动态特性的前提下,提高系统的开环放大倍数,使系统的稳态误差减小,并保证一定的相对稳定性。设滞后校正装置的传递函数为一、Bode图的几何设计方法1.根据稳态指标确定未校正系统的型别和开环增益,并绘制其Bode图;2.根据动态指标要求确定滞后校正装置的参数;第一种情形:给出了的要求值(1)根据求出;(2)为了减少滞后校正对系统的影响,通常取并求出;第二种情形:未给出的要求值若相角裕度不足,找出满足(可加的裕量)的频率点作为校正系统的剪切频率,然后按第一种情形处理。3.验算性能指标例4.8:设被控对象的传递函数为:其设计要求:,。例4.9:设被控对象的传递函数为:其设计要求:,rad/s,。[ngc,dgc]=lag2(ng0,dg0,w,KK,Pm)[ngc,dgc]=lag3(ng0,dg0,w,KK,Pm,wc)函数二、Bode图的解析设计方法
采用这种方法设计校正装置(),其实现方法与lead7()完全相同。例4.10:同例4.8,且rad/s,用解析法设计串联迟后校正控制器。4.3.4反馈校正反馈的作用1、比例负反馈可以减弱为其包围环节的惯性,从而将扩展该环节的带宽;2、负反馈可以减弱参数变化对系统性能的影响;3、负反馈可以消除系统不可变部分中的不希望有的特性;4、负反馈可以削弱非线性影响;5、正反馈可以提高反馈环路的增益。
在位置随动系统中,常常采用速度反馈这种形式来提高系统的控制性能。基本原理设控制系统的方块如下所示,其中为反馈校正环节
当时,内反馈环的传递函数为系统的开环传递函数为设计使上式与系统的期望幅频特性的中频段特性相一致设,为反馈增益,为微分的阶次。
为放大环节,为积分环节,开环传递函数可构造为:设计步骤1、根据给定期望闭环的时域指标求取期望的频域指标2、根据开环期望频率特性的频域指标,确定系统的中频段参数3、由于期望对数幅频特性穿越0dB线,可得中频段增益4、取中频段的倒特性,即可求取校正环节的传递函数。例4.12:火炮系统方框图下所示。试设计反馈校正环节,以满足下列要求:
R(s)C(s)4.4PID控制描述设连续PID控制器的传递函数为:
PID控制器具有简单的控制结构,在实际应用中又较易于整定,因此它在工业过程控制中有着最广泛的应用。大多数PID控制器是现场调节的,可以根据控制原理和控制效果对PID控制器进行精确而细致的现场调节。典型PID控制系统结构图4.4.1比例、积分、微分控制作的分析1、比例控制
结论:比例系数增大,闭环系统的灵敏度增加,稳态误差减小,系统振荡增强;比例系数超过某个值时,闭环系统可能变得不稳定。例4.13:设被控对象的数学模型为分析比例、微分、积分控制对系统的影响。2、积分控制
结论:可以提高系统的型别,使系统由有差变为无差;积分作用太强会导致闭环系统不稳定。3、微分控制
结论:微分具有预报作用,会使系统的超调量减小,响应时间变快。4、不完全微分控制
结论:解决了完全微分的物理实现性问题;当N=10的时候,不完全微分近似于完全微分作用;不完全微分解决了完全微分作用对阶跃信号第一拍的输出为无穷大,以后各拍微分作用的输出为零的问题;5、微分先行控制
结论:具有和完全微分相同的作用,改善了完全微分的不足:解决了完全微分控制对阶跃性误差信号(主要有阶跃给定引起)在第一拍会输出很大的控制量而在第一拍后微分作用都为零的问题。对象模型4.4.2Ziegler-Nichols(齐格勒—尼柯尔斯)整定法则
由于很难获取被控对象的精确数学模型,所以用理论计算得到的PID参数应用到实际系统后,控制效果不会很好,甚至引起振荡。齐格勒—尼柯尔斯是一种工程整定方法,可以在不知道对象模型的前提下,确定PID参数。齐格勒—尼柯尔斯调节律有两种方法,其目标都是使闭环系统在阶跃响应中,达到25%的最大超调量。描述第一法:
通过实验获取开环系统的S型响应曲线,通过S型曲线的转折点画一条切线,可以求得延迟时间L和时间常数T
近似为带延迟的一阶系统控制器类型KpTITdPT/L∞0PI0.9T/LL/0.30PID1.2T/L2L0.5L齐格勒—尼柯尔斯调整法则(第一种方法)PID控制器公式:第二法:闭环系统只采用比例控制作用,使Kp从0增加到临界值Kc。控制器类型KpTITdP0.5Kc∞0PI0.45KcPc/1.20PID0.6Kc0.5Pc0.125Pc齐格勒—尼柯尔斯调整法则(第二种方法)PID控制器公式:例4.14: 设被控对象的传递函数为串联校正采用PID控制器,其形式为试采用齐格勒—尼柯尔斯调节律确定参数的值。若设计出的系统的超调量等于或大于40%,则应精确调整,使最大超调量减小到大约25%。3、初次选择PID参数的值,并验证性能指标
4、如果性能指标不满足要求,进行精确的参数调整
1、采用齐格勒—尼柯尔斯调节律第二种方法确定PID的参数
设和,则闭环传递函数
2、利用劳斯稳定判据求出临界增益Kc和振荡周期Pc的值
作业习题4,5第六章控制系统仿真6.1状态空间法的系统仿真6.2非线性环节的仿真6.3离散系统的仿真6.4SIMULINK仿真控制系统仿真信号流图状态空间单输入单输出系统(SISO)主要研究内容
通过系统的数学模型和计算方法,编写程序运算语句,使之能自动求解各环节变量的动态变化情况,从而得到关于系统输出和所需要的中间各变量的有关数据、曲线等,以实现对控制系统性能指标的分析与设计。实现步骤根据数学模型、要求的精度和时间,确定数值计算方法
按算法要求通过分解、综合、等效变换等方法转换成适于在计算机上运行的公式上机调试并不断改进,满足系统各项动态性能指标,并得到理想的仿真结果
用合适的开发语言进行算法编程和实现多输入多输出系统(MIMO)6.1状态空间法的系统仿真一、四阶龙格-库塔(Runge-Kutta)法1、Runge-Kutta法推导实际上,可以由对求导得到高阶微商就更复杂了。为了提高精度,用r阶展开计算公式:我们考虑计算不同点上的值,由欧拉公式:用高阶差分代替各级导数这一思想得到各阶Runge-Kutta法。定义运算格式为:计算不同点上的函数值的线性组合为待定参数由式(1)用h幂次重新整理得通过台劳展开得(1)相比较系数,尽可能重合到较高幂次,而求得待定参数。以i=2为例,只计算两次函数的值。如何求出四个系数,将在点展开为在处取值则如此有:如果取,则满足上式有递推公式:其局部截断误差为如果进而考虑计算两次函数值,而提高截断误差阶次呢?k2多展开一项:而有但注意:两式中的难以消掉,因此达不到两次计算函数值为此必须增加函数值的计算。来达到4阶精度,一般常用是计算4阶函数值,得到每步截断误差为的四阶Runge-Kutta法其递推公式为:2、根据四阶龙格-库塔法的递推公式:已知开环系统的状态方程为 采用四阶龙格-库塔法进行求解和仿真,其求解步骤和方法如下::1、由,可知;2、仿真算法3、由时刻的状态为,得到
取不断递推,便可得到所需时刻各点的状态变量和输出量。二、闭环系统的模型建立典型闭环控制系统的方框图
对SISO系统r、u、y、v均为标量,由图可知,得可得到系统的闭环状态方程:又由ode4()函数实现上述算法,其程序框图如下:ode4()函数调用格式为:[t,y]=ode4(A,B,C,D,x0,h,r,v,t0,tf)其中:{A,B,C,D}为系统的系数矩阵,x0为状态向量初值, h为仿真步长,r为输入信号的幅值,v为反馈系数, t0为仿真的起始时间,tf终止时间, 输出值t为仿真时间,y为输出量。ode4()函数ode45()函数MATLAB中的ode45()函数可实现四阶/五阶龙格-库塔算法,其调用格式为:[t,y]=ode45('f',tspa,x0)其中:f为定义的常微分方程函数名,tspa为起止时间向量,x0为初始状态向量,MATLAB仿真程序l602例6-1:已知系统的开环传递函数为:在零初始条件下,当输入信号的幅值为1时,试绘制单位负反馈系统的仿真曲线。MATLAB仿真程序l601令K=0.1,1,10,绘制单位负反馈系统的仿真曲线。例6-2:已知系统的状态方程为:在零初始条件下,阶跃信号的输入幅值为100,试应用状态空间法对系统进行仿真。当K=0.1时,令v=0.1,1,10,绘制反馈系统的仿真曲线。6.2非线性环节的仿真一、饱和非线性饱和非线性环节的数学表达式:uro-s1s1ucSaturation()函数Saturation()函数调用格式为:uc=Saturation(ur,s1)其中:ur为输入向量
s1为非线性环节的饱和值
uc为输出向量
N
开始
ur≥s1?
ur>0?
uc=s1
uc=-s1
uc=ur
返回
N
Y
Y
Saturation()函数实现上述算法,其程序框图如下:二、死区非线性死区非线性环节的数学表达式:Os1-s1ucurDeadZone()函数DeadZone()函数调用格式为:uc=DeadZone(ur,s1)
其中:ur为输入向量
s1为死区非线性环节的死区值
uc为输出向量
DeadZone()函数实现上述算法,其程序框图如下:N开始ur≥s1?ur>0?uc=ur-s1uc=0返回NYYuc=ur+s1三、间隙非线性
间隙非线性环节的数学表达式:s1-s1ucurObacklash()函数backlash()函数调用格式为:[uc,uss]=backlash(urs,ur,ucs,s1)其中:ur为输入向量,uc为输出向量
urs,ucs为ur,uc前一时刻的值
uss为下次运算保留的输入值
s1为环节的间隙宽度值YYNNN开始ur>urs?ur-s1≥ucs?uc=ur-s1uc=ur+s1返回NYYuc=ucsur<urs?ur+s1≤ucs?uss=urbacklash()函数实现上述算法,其程序框图如下:6.3离散系统的仿真y(t)e(k)+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 长春金融高等专科学校单招职业技能测试参考试题(附答案)
- 《GBT 40407-2021硅酸盐水泥熟料矿相X射线衍射分析方法》全新解读
- 二零二四年份7月半包合同书石膏板隔墙工艺标准
- 电话客服个人年终工作总结
- 上海仓库租赁合同
- 2025示范公寓房屋抵押借款合同
- 规范合同签订中条款约束内容
- 农业商品购销合同标准文本
- 2025新款信用合作社贷款合同模板
- 个人饰品销售合同范例
- 顶板管理知识培训课件
- 盘扣式支架现浇箱梁安全专项施工方案
- 2025年合肥市建投集团春季招聘89人笔试参考题库附带答案详解
- 肝门部胆管癌诊断和治疗指南(2025版)解读
- 2025年春季学期学校德育工作计划安排表(完整版)
- 石油化工项目监理总结报告
- 第13课 立足专业 谋划发展(课件)-【中职专用】高一思想政治《心理健康与职业生涯》
- 装饰装修临水临电施工方案计划
- 生产总监入职规划
- 山西省云时代技术有限公司笔试题库
- 汽车修理工(技师)题库与答案
评论
0/150
提交评论