控制系统数字仿真实验报告.docx
- 文档编号:8240162
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:20
- 大小:443.63KB
控制系统数字仿真实验报告.docx
《控制系统数字仿真实验报告.docx》由会员分享,可在线阅读,更多相关《控制系统数字仿真实验报告.docx(20页珍藏版)》请在冰豆网上搜索。
控制系统数字仿真实验报告
实验一数字仿真方法验证
班级:
姓名:
学号:
1.实验目的
1.掌握基于数值积分法的系统仿真、了解各仿真参数的影响;
2.掌握基于离散相似法的系统仿真、了解各仿真参数的影响;
3.熟悉MATLAB语言及应用环境。
二、实验环境
网络计算机系统,MATLAB语言环境
三、实验内容
(1)试将示例1的问题改为调用ode45函数求解,并比较结果。
1.脚本m文件vdp.m
functiondy=vdp(t,y)
dy=[y-2*t/y];
end
2.脚本m文件ode.m
[tzy]=ode45(,vdp'z[01]zl);
plot(t,y);
xlabel(1t1);
ylabel(1y1);
3.运行
4.
1.8
1.7
1.6
1.5
1.4
1.3
1.2
(二)试用四阶RK法编程求解下列微分方程初值问题。
仿真时间
2s,取步长h=0.1o
dy2
—=y-t
dt
y(0)=1
、
脚本m文件rkrk.m
clear
to=o;
yO=l;
h=O・l;
n=2/h;
y(l)=l;
t
(1)=0;
fori=0:
n-1
kl=y0-t0*t0;
k2=(y0+h*kl/2)-(tO+h/2)*(t0+h/2);k3=(y0+h*k2/2)-(tO+h/2)*(t0+h/2);k4=(y0+h*k3)-(tO+h)*(tO+h);
yl=yO+h*(kl+2*k2+2*k3+k4)/6;tl=tO+h;
yO=yl;
tO=tl;
y(i+2)=yl;
t(i+2)=tl;
end
yi
ti
figure
(1)
plot(tzy,»r');
xlabel('t*);ylabel('y*);
运行
(三)试求示例3分别在周期为5s的方波信号和脉冲信号下的响应,
仿真时间20s,采样周期Ts=0.1o
1.脚本m文件t3.m
clear
%Createsystemmodel
A=[-0.5572-0.7814;0.78140];
B=[l;0];
C=[1.96916.4493];
D=0;
sys=ss(A,BzCzD);
%Pulseresponseofthesystem
subplot(221)
[u,t]=geri5ig(1pulse1z5,20,0.1)
plot(t/u);
holdon
lsim(sys,uzt);
xlabel('t*);
ylabel(*Y*);
tPulseresponseofthesystem1);
holdoff
grid
%Squareresponseofthesystem
subplot(222)
[u,t]=geri5ig(1square1z5,20,0.1)
plot(t,u);
holdon
lsim(sys,uzt);
xlabel('t*);
ylabel(*Y*);
titleLSqumreresponseofthesystem');
holdoff
grid
2.
运行
四、实验体会
这是控制系统数字仿真课程的第一次实验,我熟悉了matlab软件的基本操作,学会了如何运用数值积分方法中常用的函数(如ode45)去解常系数微分方程,虽然存在一定的误差,但在误差允许的范围内,而且相对于Euler法,代码明显大幅度简化。
通过第三个小实验我还学会了如何运用离散相似法去解常见的状态参数方程。
实验二SIMULINK动态仿真
一、实验目的
1.掌握SIMULINK动态仿真;
2.熟悉MATLAB语言及应用环境。
二、实验环境
网络计算机系统,MATLAB语言环境
三、实验内容
(一)Simulink的基本操作
(1)运行Simulink
(2)常用的标准模块
(3)模块的操作
(二)系统仿真及参数设置
(1)算法设置(Solver)
(2)工作空间设置(WorkspaceI/O)
(三)学会运用SIMULINK建立仿真模型,进行仿真。
1.某系统框图如图所示,试用SIMULINK进行仿真,并比较在无饱和非线性环节
下系统仿真结果。
建立系统模型:
实验结果:
示波器1
Timeoffset:
0
示波器2
2.己知系统结构图如下:
图.含饱和非线性环节系统方框图
己知输入为信号电平从1~6,非线性环节的上下限为±1,取步长h=0.1,仿真时间为10秒,试绘制系统的响应曲线。
输入信号为1・6的节约信号时,实验响应曲线如下:
Timeoffset:
0
四、实验体会
通过本次试验,我体会到了MATLAB里的Simulink模块强大的建模仿真功能。
通过Simulink动态仿真,我们能实时观测部分模块对系统整体的影响,从而可以很好地设法调节系统元件环节参数,改善系统性能,因此MATLAB的Simulink动态仿真适用于模拟系统,调节系统的部分参数。
实验三PID控制器设计
一、实验目的
1.了解PID控制原理,掌握相应PID控制器设计仿真程序的应用;
2.掌握计算机辅助系统瞬态性能指标的计算;
3.掌握计算机辅助系统频率性能分析;
二、实验环境
网络计算机系统,MATLAB语言环境
三、实验内容
已知如图所示单位反馈系统
500s+5000
s'+33$“+337?
+1775s'+4950s+5000
►
要求:
编写主文件:
clear
clc
sys=tf([5005000],[133337177549505000]);
figure
(1)
nyquist(sys)
[Re,Imzwl]=nyquist(sys);
gridon
figure
(2)
bode(sys)
[mag,phase,w2]=bode(sys);
gridon
sysclose=feedback(sys,1);
[z,p,k]=zpkda1v1)
运行结果:
CommandWindow
-19.9388
-5.146942.ol03i
-5.1469-2.51081
-1.3837十3.6577i
-1.3837-3.6577i
k=
500
由运行结果知,系统的极点全位于复平面的左半平面,故该闭环系统是稳定的。
2.应用Ziegler-Nichols方法设计P控制器、PI控制器和PID控制器。
编写函数m文件pidmargin.m
function[sysc,KpzTizTd]=pidmargin(sys,type)margin(sys)
[Gm,PmzWg,Wc]=margin(sys);
Kcr=Gm;
Wcr=Wg;
Tcr=2*pi/Wcr;
switchtype
case1
disp(1PControler1)
Kp=0•5大Ker
Ti=!
NoDesign1
Td=!
NoDesign1
sysc=Kp;
case2
disp(1PIControler1)
Kp=0.4大Ker
Ti=0•8大Ter
Td=!
NoDesign1
sysc=Kp*(1+tf1[Ti,0]));
case3
disp(1PIDControler1)
Kp=0•6大Ker
Ti=0.5大Ter
Td=0.12*Tcr
sysc=Kp*(1+tf(1,[Tiz0])+tf([Td0],1));
end
end
编写脚本m文件:
elf
sys=tf([5005000],[133337177549505000]);
sysgroup=feedback(sys,1);
fori=l:
3
type=i;
[sysc,KpzTi,Td]=pidmargin(sys,type);
sysopen=sysc大;sys;
sysclose=feedbmck(sysopen,1);
sysgroup=appenci(sysgroup,sysclose);
endelf
fori=l:
4
subplot(2,2,i)
step(sysgroup(i,i))end
运行结果如下:
»Trial_3_2
PControler
1.7849
Ti=
NoDesign
Td=
NoDesign
PIControler
Kp=
1.4279
Ti=
1.0882
Td=
NoDesign
PIDControler
Kp=
2.1419
Ti=
0.6801
Td=
0.1632
3・计算比较原系统与P控制系统、PI控制系统、PID控制系统的瞬态性能指标。
编写函数m文件pidmargin.m(同2中的pidmargin.m)
编写脚本m文件
elf
sys=tf([5005000],[133337177549505000]);
sysgroup=feedback(sys,1);
fori=l:
3
type=i;
[sysc,KpzTi,Td]=pidmargin(sys,type);
sysopen=sysc*sys;
sysclose=feedback(sysopen,1);
sysgroup=append(sysgroup,sysclose);
end
fori=l:
4
step(sysgroup(i,i));
[num,den]=tfdatn(sysgroup(i,i),1v1);
Finalvalue=polyval(num,0)/polyval(den,0)
[y,t]=step(sysgroup(「i));
[Ymax,k]=max(y);
Peaktime=t(k)
OvershootPercent=100大(Ymax-Finalvalue)/Finalvalue
n=l;
whiley(n)<0.1大Finalvalue,n=n+l;end
m=l;
whiley(m)<0•9大Finalvalue,m=m+l;end
RiseTime=t(m)-t(n)
r=length(t);
while(y(r)>0.98*Finalvalue&y(r)<1•02大Finalvalue)
r=r-l;
end
SettlingTime=t(r)
end
运行结果如下:
Finalvalue=
0.5000
Peaktime=
1.1632
OvershootPercent
22.9899
RiseTime=
0.4653
SettlingTime=
2.9527
Finalvalue=
0.6409
Peaktime=
1.0187
OvershootPercent=
44.5805
RiseTime=
0.3661
SettlingTime=
5.0297
Finalvalue=
Peaktime=
1.1921
OvershootPercent=
12.8370
RiseTime=
0.5356
SettlingTime=
4・2673
Finalvalue=
1
Peaktime=
0.8881
OvershootPercent=
23.5012
RiseTime=
0.3714
SettlingTime=
3.0357
四、实验体会
在第二个实验中主程序通过调用函数m文件pidmargin.m,实现了PID控制器的设计,并在单位阶跃函数作用下的系统输出,列于同一张表,便于分析;第三个实验在第二个实验的基础上,将系统在阶跃函数作用下的状态参数返回,从而实现经PID控制器修正后的系统与原系统进行量化对比,显示校正效果。
本次实验,我学会了如何运用matlab画系统的Bode图和Nyquist图,很大程度上简化了系统稳定性、动态特性等相关问题的求解。
实验四模糊逻辑控制器设计
一、实验目的
1•了解模糊逻辑控制原理;
2.掌握MATLAB辅助模糊逻辑控制器设计流程;
二、实验环境
网络计算机系统,MATLAB语言环境
三、实验内容设有前后两车(目标车与本车),其速度y与油门控制输入u间的传递函数均为
心)_4
+2*0.7*25+4
现要求设计一模糊控制器,使得
1)控制汽车(本车)由静止启动,追赶200m外时速90km的汽车(目
标车)并与其保持30m距离。
2)目标车速度改为时速110km时,仍与其保持30m距离。
3)目标车速度改为时速70km时,仍与其保持30m距离。
第一步利用simulink构造系统仿真模型。
根据题意,可做出系统结构图如图1所示。
图中,为了控制系统设计方便,将两
车的距离相减后再减掉30,用模糊控制使其趋于0。
图1系统结构图
进一步,利用simulink构造了系统仿真模型,如图2所示。
考虑到实际的汽车速度存在极限,系统模型中加入了饱和非线性模块进行模拟。
图中的e和u除以20是为了使输出量限定在10左右。
然后,将系统模型以文件f-car.mdl保存。
图2系统simulink仿真模型
第二步设计模糊逻辑规则
以误差量(两车距离)及误差对时间的变化量作为输入进行模糊规则设计。
本例采用位置型模糊控制器,即控制规则的条件为:
ife为AandAe为Bthenu为Co按一般方法,可得一套控制规律[]如表1所示
表1控制规律
e
NB
NM
ZE
PM
PB
Ae
PB
PB
PM
PM
ZE
NB
NM
ZE
PM
PB
NM
NM
NB
NM
表中P=POSITIVEN=NEGATIVEZE=ZERO表1所示的控制规则库中尚有一些空缺,为了防止受控对象因为无效条件而失控,可以将(e,Ae)按下式转换为极坐标(厂,0)
r=+△,,0=cos-1(-)
r
而将规则库填满,从而得到表2所示极坐标形式的模糊控制规则:
表2极坐标形式的模糊控制规则
Y
NB
ZE
PB
e
PB
ZE
NM
NB
PM
ZE
PM
PB
ZE
ZE
PM
PB
NM
ZE
NM
NB
NB
ZE
NM
NB
由上表可知,此例中,我们分别将
y分为PBZENB
e分为PBPMZENMNB
y分为PBPMZENMNB
因此,根据该表可以写出15条规则。
如,对应表中第二行、第三列的规则为:
if(/isPB)and(0isPM)then(yisPB)
等等。
第三步设计隶属函数
对输入量匚。
和输出量y,均取三角形的隶属函数,具体范围与大小如图3和4
所示:
图3input的隶屈度函数
第四步,根据前面的隶属度函数、控制规则,利用Toolox\FuzzyLogic中的模糊推理系统编辑器,建立模糊推理系统(即生成FIS文件)。
第五步,将FIS文件添加到第一步建立的模型文件中,完成汽车模糊逻辑控制系统的设计。
然后仿真分析,输出曲线。
实验结果:
4.实验体会
本次实验设计的模糊控制器在完全符合题目的要求,在10秒内将两车距离控制在了30km以内,故本次试验基本成功。
模糊逻辑工具箱使得我们可以通过简单的逻辑规则设置便可以实现模糊控制,可以看到其还是基于反馈控制的。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 控制系统 数字 仿真 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)