Bode图法控制系统设计串联滞后校正剖析Word格式文档下载.docx
《Bode图法控制系统设计串联滞后校正剖析Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Bode图法控制系统设计串联滞后校正剖析Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
![Bode图法控制系统设计串联滞后校正剖析Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2022-10/24/94e6b10c-743e-4dc1-b188-31c4261a6712/94e6b10c-743e-4dc1-b188-31c4261a67121.gif)
目录
前言·
·
2
1、设计任务………………………………………………………5
1、设计要求………………………………………………………5
2、设计方案分析……………………………………………………5
3、控制器的MATLAB程序实现……………………………………6
二、控制系统的模拟化设计…………………………………………7
1、模拟控制器的离散化……………………………………………7
A、冲激不变法……………………………………………………7
B、加零阶保持器的Z变换法…………………………………8
C、差分变换法……………………………………………………8
D、双线性变换法…………………………………………………8
E、频率预畸变双线性变换法………………………………………9
2、控制器的MATLAB离散程序…………………………………9
3、控制器的计算机实现………………………………………………9
A、直接程序设计法…………………………………………………9
B、串行程序法……………………………………………………10
C、并行程序法…………………………………………………11
D、控制器的计算机实现流程图……………………………………11
三、控制系统的MATLAB实现……………………………………12
1、控制系统的MATLAB仿真………………………………………12
2、控制系统的simulink仿真…………………………………………13
四、小结………………………………………………………………14
五、参考文献…………………………………………………………15
一、设计任务
Bode图法控制系统设计---串联滞后校正
设被控对象的传递函数为
1、设计要求
(1)开环增益Kv=20
(2)频率裕量γ=70°
(3)对此控制器进行离散化,并用计算机程序实现(划出流程图)
(4)用Matlab对系统进行仿真,分析系统的阶跃响应
2、设计方案分析
系统要求使用Bode图法对控制系统进行设计,同时要求采用串联滞后校正。
一、Bode图法
在Bode图中的对数频率特性的低频区表征了闭环系统的稳定特性,中频区表征了系统的相对稳定性,而高频区表征了系统的抗干扰特性。
在大多数实际情况中,校正问题的实质上是一个在稳定精度和相对稳定性之间取折中的问题。
为了获得比较高的开环增益及满意的相对稳定性,必须改变开环频率特性响应曲线的形状,这主要体现为:
在低频区和中频区增益应足够大,且中频区的对数幅频特性的斜率应为,并有足够的宽带,以保证适当的相角裕度;
而在高频区,要使增益尽可能的衰减下来,以便使高频噪声的影响达到最小。
下面讨论一下基于Bode图法的串联超前校正的方法及MATLAB实现。
二、串联滞后校正
串联滞后校正的主要作用在不改变系统动态特性的前提下,提高系统的开环放大倍数,使系统的稳态误差减小,并保证一定的相对稳定性。
设滞后校正装置的传递函数为
1.Bode图的几何设计方法
用这种方法设计滞后校正装置的步骤如下。
(1)根据稳态指标确定未校正系统的型别和开环增益K,并绘制Bode图。
(2)根据动态指标要求确定滞后校正装置的参数,分两种情形加以讨论。
第一种情形:
给出了的要求值。
根据,求出a的值。
。
为了减少滞后校正对系统的影响,通常取。
并求出
。
第二种情形:
未给出的要求值。
若相角裕度不足,找出满足的频率点作为校正系统的剪贴频率,然后按第一种情形额步骤处理。
验算性能指标
3、控制器的MATLAB程序实现
本设计主要运用bode图法的MATLAB设计方法,主要利用伯德(Bode)图进行系统的设计,用到的函数有:
Bode—伯德图作图命令;
Logspace—用于在某个区域中产生若干频点;
Polyval—求多项式的值;
Ceil—朝正无穷大方向取整;
ng0=[10];
dg0=[1,5,0];
g0=tf(ng0,dg0);
t=[0:
0.01:
3];
w=logspace(-2,2);
kk=10;
pm=70;
[mu,pu]=bode(kk*ng0,dg0,w);
wgc=spline(pu,w,pm+5-180),
ngv=polyval(kk*ng0,j*wgc);
dgv=polyval(dg0,j*wgc);
g=ngv/dgv;
alph=abs(1/g),t=10/alph*wgc,
ngc=[alph*t,1];
dgc=[t,1];
gc=tf(ngc,dgc),g0c=tf(kk*g0*gc);
b1=feedback(kk*g0,1);
b2=feedback(g0c,1);
step(b1,t);
gridon,holdon;
step(b2,t),holdoff
figure,bode(kk*g0,w),gridon,holdon;
bode(g0c,w);
holdoff
[gm,pm,wcg,wcp]=margin(g0c)
wgc=
1.3397
alph=
0.0694
t=
193.1852
Transferfunction:
13.4s+1
-----------
193.2s+1
gm=
Inf
pm=
72.0162
wcg=
wcp=
1.3417
即所得的控制器连续函数为:
二、控制系统的模拟化设计
1、模拟控制器的离散化方法
从信号理论角度来看,模拟控制器就是模拟信号滤波器应用于反馈控制系统中作为校正装置。
滤波器对控制信号中有用的信号起着保存和加强的作用,而对无用的信号起着抑制和衰减的作用。
模拟控制器离散化成的数字控制器,也可以认为是数字滤波器。
主要有以下几种离散化方法。
A、冲激不变法
冲激不变法的基本思想是:
数字滤波器产生的脉冲响应序列近似等于模拟滤波器的脉冲响应函数的采样值。
设模拟控制器的传递函数为
在单位脉冲作用下输出响应为
其采样值为
即数字控制器的脉冲响应序列,因此得到
B、加零阶保持器的Z变换法
这种方法就是用零阶保持器与模拟控制器串联,然后再进行Z变换离散化成数字控制器,
即:
C、差分变换法
模拟控制器若用微分方程的形式表示,其导数可用差分近似。
常用的一阶差分近似方法有两种:
前向差分和后向差分。
(1).后向差分变换法
对于给定其微分方程为:
用差分代替微分,则
两边取Z变换得
即
可以看出,D(z)与D(s)的形式完全相同,由此可得如下等效代换关系:
便可得到D(z),即
(2).前向差分变换法
如果将微分用下面差分代替,得到
由此可得如下等效代换关系
可得到
前向差分变换法中稳定的D(s)不能保证变换成稳定的D(z),且不能保证有相同的脉冲响应和频率响应。
D、双线性变换法
双线性变换又称塔斯廷(Tustin)变换法,它是s与z关系的另一种近似式。
由Z变换的定义和级数展开式可知
因此
E、频率预畸变双线性变换法
上述的双线性变换,将S平面的虚轴变换到Z平面的单位圆周,因而没有混叠现象。
但是在模拟频率Ω和离散频率ω之间却存在非线性关系。
当ωT取值0~π时,Ω的值为0~∞。
这意味着,模拟滤波器的全部频率响应特性被压缩到离散滤波器的0<
ωT<
π的频率范围之内。
这两种频率之间的非线性特性,使得由双线性变换所得的离散频率响应产生畸变,可以采用预畸变的办法来补偿频率特性的畸变。
2、控制器的MATLAB离散程序
采用MATLAB编程实现连续系统的离散化,此程序基于加零阶保持器的Z变换法,使用函数c2dm作为指令。
程序和结果如下:
num=[13.4,1];
den=[193.2,1];
ts=0.1;
[x,y]=c2dm(num,den,ts);
tf(x,y,ts)
0.06936z-0.06884
-------------------
z-0.9995
Samplingtime:
0.1
即所得离散化后控制器为:
3、控制器的计算机实现
控制器的计算机实现共有三种方法:
直接程序设计法、串行程序设计法和并行程序设计法。
A、直接程序设计法
设数字控制器的一般形式为:
∴
取Z反变换得:
显然,上式是物理可实现的。
其中,z-1为延时环节,每计算一次u(k)需要以前n个输出值以及当前误差值e(k)和以前m个误差值,所以必须将这些值存储起来以备使用。
这样,每计算一次u(k)需要做n+m+1次乘法,n+m次加法,并做n+m次数据转移。
可以改进其算法,以便减少延时器,即减少运算次数。
由并设a0=1
∴
定义:
所以改进的直接程序设计法中:
B、串行程序法
设数字控制器的零点、极点分别为zi,pj,i=1,2,…,m;
j=1,2,…,n;
n≥m,则
其中:
则得到:
C、并行程序法
设D(z)的极点为pi,则可将D(z)表示成部分分式
令
则
得到:
D、控制器的计算机实现流程图
由此控制器形式:
可以看出,它只适合用直接程序法实现。
所以,应用直接程序法
则
流程图:
(如下)
三、控制系统的MATLAB实现
1、控制系统的MATLAB仿真
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
通过MATLAB程序绘制出bode图,程序如下:
[mu,pu]=bode(kk*ng0,d