武汉理工大学《自动控制原理》课程设计说明书
E(s)??eW(s)?W(s)??G2(s)1?300GC(s)?G2(s)?1W(s)?1??s?30W(s)300?kps?kI?s(s?30)?sW(s)
s?60s?18002因为W(s)??1200s,故误差信号:
E(s)?1200s?60s?18002
由终值定理求单位阶跃扰动输入时系统的稳态误差为:
ess(?)?limsE(s)?lims?01200ss?60s?18002s?0
?04.4单位斜坡扰动输入时系统的稳态误差
同上一节,系统的误差信号为:
由于W(s)??1200s2E(s)??ss?60s?18002W(s),故误差信号:
E(s)?1200s(s?60s?1800)2
由终值定理得:
ess(s)?limsE(s)s?0?lim?231200s?60s?18002
s?0
7
武汉理工大学《自动控制原理》课程设计说明书
5.MATLAB中连续系统模型表示方法
MATLAB在数据处理、模型仿真等方面功能十分强大,对传递函数建模、以及模型分析方面也比较简单。
G(s)?b0smn?b1sm?1n?1?????bm?1s?bm????an?1s?ans?a1s对于形如上述形式的传递行数在MATLAB表示方法为: 分子多项式: 分母多项式:
num?[b0,b1,?,bm?1,bm]den?[a0,a1,?,an?1,an]
建立传递函数模型: g?tf(num,den)
5.1 验证单位阶跃输入时系统的稳态误差
由第三节的计算可以得到系统的闭环传递函数如下所示:
?(s)?G(s)1?G(s)?30s?1800s?60s?18002
在MATLAB中输入如下程序,绘出系统的单位阶跃响应: 程序代码:
num=[30,1800]; %系统传递函数分子多项式 den=[1,60,1800]; %系统传递函数分母多项式 step(num,den) %系统单位阶跃响应 grid on %绘制网格
8
武汉理工大学《自动控制原理》课程设计说明书
绘出的单位阶跃输入响应图像如图2所示。
图2 单位阶跃输入响应图像
程序代码原理:step为MATLAB自带的单位阶跃响应函数,num与den代码为传递函数表达式。grid代码则在图像中绘制网格。
从图中稳态输出取参考点,由图中该点数据可以看出,系统的最终稳态输出为
0.997,即当s趋向于0时,C(s)=0.997,故可得到系统的误差信号为
E(s)?R(s)?C(s)?0.003
因此系统稳态误差:
与理论计算值一致。
9
ess(?)?limsE(s)?0s?0武汉理工大学《自动控制原理》课程设计说明书
5.2 验证单位斜坡输入时系统的稳态误差
系统的闭环传递函数为:
单位斜坡输入信号为R(s)?1s2?(s)?G(s)30s?1800?21?G(s)s?60s?1800,编写MATLAB程序代码如下:
num=[30,1800]; %系统传递函数分子多项式 den=[1,60,1800]; %系统传递函数分母多项式
sys=tf(num,den); %定义sys函数 R=tf(1,[1,0,0]); %定义R
C=sys*R; impulse(C) %绘制C的波形 hold on
impulse(R) %绘制R的波形 grid on
程序代码原理:R=tf(1,[1,0,0])意思是R?1s2,impulse代码的含义是单位冲激响应。
num与den代码为传递函数表达式。grid代码则在图像中绘制网格。代码中绘制的C就是输出信号。
10
武汉理工大学《自动控制原理》课程设计说明书
绘出的单位斜坡输入响应与输入信号的图像如图3,稳态输出局部放大图如图4所示。
图3 单位斜坡输入响应与输入信号的图像
图4 稳态输出局部放大图
由图中的参考点数据可以算出,稳态误差E(s)?C(s)?R(s)?0.017,与理论计算值一致。
11