计算机控制例子.docx
- 文档编号:5054352
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:20
- 大小:120.12KB
计算机控制例子.docx
《计算机控制例子.docx》由会员分享,可在线阅读,更多相关《计算机控制例子.docx(20页珍藏版)》请在冰豆网上搜索。
计算机控制例子
《计算机控制技术》
综合设计题
学院:
电气工程学院
年级:
08级1班
学号:
2008301580059
姓名:
赵一婕
综合设计题
太阳光源跟踪系统利用伺服系统控制太阳电池帆板的移动,使其跟踪并始终垂直于太阳光线,最大程度地接受太阳能。
太阳光源跟踪系统由感光器与检测线路和电机的功率放大器(可以简化视为一个增益放大环节),太阳帆板(作为直流力矩电机的负载,可以近似看作常值转动惯量加到电机轴上),电机位置传感器(其输出与电机转角成正比的电压信号)和直流力矩电机组成。
太阳光源跟踪系统如题图a所示。
计算机控制系统方块图如题图b所示。
(a)
(b)
图太阳光源跟踪计算机控制系统
试用连续域-离散化设计方法设计数字控制器,满足如下指标要求:
(1)超调量
;
(2)上升时间
;
(3)调节时间
。
(4)静态速度误差系数
。
设计要求:
(1)计算未加控制器时的性能指标,并绘出仿真曲线;
(2)设计连续域控制器D(s),写出设计步骤,验算加控制器后的性能指标,并绘出仿真曲线;
(3)选用两种合适的离散化方法,将D(s)离散为D(z)。
并绘制采样周期T分别为0.01s,0.05s,0.1s时,计算机控制系统的单位阶跃响应仿真曲线,记录时域指标
,计算
。
比较两种离散化方法的性能,并说明连续域-离散化设计与采样周期T的关系。
比较离散化前后系统的阶跃响应曲线,分析离散化后系统性能变化的原因。
(4)最终选定你认为最合适的一种离散化方法和采样周期。
说明:
所有的仿真都需有程序清单或simulink模型。
(1)未加控制器时
%绘制出闭环系统的单位阶跃响应曲线
num=[0,0,2*615.91];
den=[1,20,0];
G=tf(num,den);
F=feedback(G,1);
step(F)
由图计算,超调量σ%=38.9%,上升时间=0.0555s,调节时间=0.391s(=2%)。
%求特征根,判断系统的稳定性
c=num+den;
r=roots(c)
语句执行结果:
r=
-10.0000+33.6425i
-10.0000-33.6425i
即系统的特征根均有负实部,故该系统是稳定的
%求静态速度误差系数
symssKv
G=2*615.91/(s^2+20*s);
Kv=limit(s*G,s,0)
运行结果:
Kv=
61591/1000
(2)在未加控制器时,只有超调量σ%不满足要求。
本题采用Bode图设计法来求D(s)。
由高阶系统性能指标间的关系:
Mr=和σ%=0.16+0.4(Mr-1)(1≤Mr≤1.8),再由上面的指标范围可得:
Mr≤1.05,≥73
作原系统的Bode图
num=[0,0,2*615.91];
den=[1,20,0];
G=tf(num,den);
figure
(1);
margin(G);
holdon
幅值稳定裕度:
Lh=Infdb
相位稳定裕度:
=31.7不满足要求
求超前校正器的传递函数
要求≥72.3,并附加5,取=77.3,
设超前校正器的传递函数
Gc(s)=
num=[0,0,2*615.91];
den=[1,20,0];
sope=tf(num,den);
[mag,phase,w]=bode(sope);
gama=72.3;
[mu,pu]=bode(sope,w);
gama1=gama+5;
gam=gama1+pi/180;
alfa=(1-sin(gam))/(1+sin(gam));
adb=20*log10(mu);
am=10*log10(alfa);
wc=spline(adb,w,am);
T=1/(wc*sqrt(alfa));
alfat=alfa*T;
Gc=tf([T1],[alfat1])
运行结果:
Transferfunction:
0.06889s+1
--------------
0.002134s+1
得校正器传递函数Gc(s)=
检验校正后系统是否满足题目要求
clear
num=[0,0,2*615.91];
den=[1,20,0];
s1=tf(num,den);
num2=[0.06889,1];
den2=[0.002134,1];
s2=tf(num2,den2);
sope=s1*s2;
margin(sope)
幅值稳定裕度:
Lh=Infdb
相位稳定裕度:
=83.7,满足要求。
计算系统校正后阶跃响应及其性能指标
%绘制校正后系统的阶跃响应曲线
num=[0,0,2*615.91];
den=[1,20,0];
s1=tf(num,den);
num2=[0.06889,1];
den2=[0.002134,1];
s2=tf(num2,den2);
sope=s1*s2;
Q=feedback(sope,1);
step(Q)
gridon
超调量σ%=018%,上升时间=0.028s0.55s,调节时间=0.103s1s(=2%)。
%求静态速度误差系数
symss
G1=2*615.91/(s^2+20*s);
num2=[0.06889,1];
den2=[0.002134,1];
G2=(0.06889*s+1)/(0.002134*s+1);
G=G1*G2;
Kv=limit(s*G,s,0)
运行结果:
Kv=
61591/1000>5满足要求
(3)校正后系统的开环传递函数G(s)=
采用双线形变换法:
T=0.01s时
num=[0,0,2*615.91];
den=[1,20,0];
Gs=tf(num,den);
num1=[0.06889,1];
den1=[0.002134,1];
Ds=tf(num1,den1);
T=0.01;
Dz=c2d(Ds,T,'tustin');
Gz=c2d(Gs,T,'zoh');
DG=series(Dz,Gz);
F=feedback(DG,1);
[numF,denF]=tfdata(F,'v');
r=ones(1,101);
k=0:
100;
c=filter(numF,denF,r);
plot(k,c)
holdon
gridon
gtext('T=0.01')
超调量σ%=18%,上升时间=3*0.01=0.03s0.55s,调节时间=14*0.01=0.14s1s(=2%)。
%求离散化后的Dz,Gz
symszs
num=[0,0,2*615.91];
den=[1,20,0];
Gs=tf(num,den);
num1=[0.06889,1];
den1=[0.002134,1];
Ds=tf(num1,den1);
Dz=c2d(Ds,0.01,'tustin')
Gz=c2d(Gs,0.01,'zoh')
运行结果:
Transferfunction:
10.36z-8.956
---------------
z+0.4017
Samplingtime:
0.01
Transferfunction:
0.05768z+0.05396
----------------------
z^2-1.819z+0.8187
Samplingtime:
0.01
求静态速度误差系数
Kv===62
T=0.05s,只需将上面的“T=0.01”换做“T=0.05”,将“gtext('T=0.01')”改成“gtext('T=0.05')”。
由阶跃响应曲线知,系统不稳定
T=0.1s,只需将上面的“T=0.01”换做“T=0.1”,将“gtext('T=0.01')”改成“gtext('T=0.1')”。
由阶跃响应曲线知,系统不稳定
采用零极点匹配法:
T=0.01s
num=[0,0,2*615.91];
den=[1,20,0];
Gs=tf(num,den);
num1=[0.06889,1];
den1=[0.002134,1];
Ds=tf(num1,den1);
T=0.01;
Dz=c2d(Ds,T,'matched');
Gz=c2d(Gs,T,'zoh');
DG=series(Dz,Gz);
F=feedback(DG,1);
[numF,denF]=tfdata(F,'v');
r=ones(1,101);
k=0:
100;
c=filter(numF,denF,r);
plot(k,c)
holdon
gridon
gtext('T=0.01')
超调量σ%=18%,上升时间=3*0.01=0.03s0.55s,调节时间=14*0.01=0.14s1s(=2%)。
%求离散化后的Dz,Gz
num=[0,0,2*615.91];
den=[1,20,0];
Gs=tf(num,den);
num1=[0.06889,1];
den1=[0.002134,1];
Ds=tf(num1,den1);
T=0.01;
Dz=c2d(Ds,T,'matched')
Gz=c2d(Gs,T,'zoh')
运行结果:
Transferfunction:
7.333z-6.342
---------------
z-0.009223
Samplingtime:
0.01
Transferfunction:
0.05768z+0.05396
----------------------
z^2-1.819z+0.8187
Samplingtime:
0.01
求静态速度误差系数
Kv===62
T=0.05s,只需将上面的“T=0.01”换做“T=0.05”,将“gtext('T=0.01')”改成“gtext('T=0.05')”。
由阶跃响应曲线知,系统不稳定
T=0.1s,只需将上面的“T=0.01”换做“T=0.1”,将“gtext('T=0.01')”改成“gtext('T=0.1')”。
由阶跃响应曲线知,系统不稳定
由双线性变换法和零极点匹配法可知,当采样周期T增大,系统会变得越来越不稳定。
故,减小采样周期,可以提高离散系统的稳定性。
连续系统阶跃响应曲线:
离散系统(双线性变换法)阶跃响应曲线T=0.01
离散系统(零极点匹配法)阶跃响应曲线T=0.01
比较连续系统与两种离散化方法的性能
系统类型或离散化方法
性能指标
连续系统
离散系统
(双线性变换法)
T=0.01
离散系统
(零极点匹配法)
T=0.01
超调量σ%
0
13%
22%
上升时间(s)
0.028
0.03
0.03
调节时间(s)
0.103
0.14
0.14
静态速度误差系数
61591/1000
62
62
采用双线性变换法和零极点匹配法作为离散化方法,都是用于低通环节的离散化,不太适用于高通环节的离散化。
两种离散化方法相比,双线性变换方法更适合本系统,因为其超调量相对小一些,其离散化的阶跃响应曲线更接近连续系统的阶跃响应曲线.
离散化前后,系统的性能发生了变化。
有图形和图表可得:
离散化后的系统,有了较大的超调量,上升时间和调节时间都略微有了增加,静态速度误差系数减小。
离散化后系统性能变化的原因:
采样器可使系统的峰值时间和调节时间略有减小,但使超调量增大,故采样造成的信息损失会降低系统的稳定程度;
零阶保持器使系统的峰值时间和调节时间都加长,超调量和振荡次数也增加,零阶保持器的相角滞后降低了系统的稳定程度。
(4)由以上的分析对比可知,最适合的离散化方法是双线性变换的方法。
由于T越小,离散化系统越稳定,故T=0.01.若要得到更满意的结果,可选取采样周期是T=0.005
num=[0,0,2*615.91];
den=[1,20,0];
Gs=tf(num,den);
num1=[0.06889,1];
den1=[0.002134,1];
Ds=tf(num1,den1);
T=0.005;
Dz=c2d(Ds,T,'tustin');
Gz=c2d(Gs,T,'zoh');
DG=series(Dz,Gz);
F=feedback(DG,1);
[numF,denF]=tfdata(F,'v');
r=ones(1,101);
k=0:
100;
c=filter(numF,denF,r);
plot(k,c)
holdon
gridon
gtext('T=0.005')
离散系统(双线性变换法)阶跃响应曲线T=0.005
连续系统阶跃响应曲线:
由两图的对比可知:
当T=0.005时,离散化后的阶跃响应曲线已经很接近连续系统的阶跃响应曲线。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机控制 例子