控制系统数字仿真实验报告

合集下载

自动实验一——典型环节的MATLAB仿真 报告

自动实验一——典型环节的MATLAB仿真 报告

班级 姓名 学号XXXXXX 电子与信息工程学院实验报告册课程名称:自动控制原理 实验地点: 实验时间同组实验人: 实验题目: 典型环节的MATLAB 仿真一、实验目的:1.熟悉MATLAB 桌面和命令窗口,初步了解SIMULINK 功能模块的使用方法。

2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。

3.定性了解各参数变化对典型环节动态特性的影响。

二、实验原理及SIMULINK 图形:1.比例环节的传递函数为 221211()2100,200Z R G s R K R K Z R =-=-=-==其对应的模拟电路及SIMULINK 图形如图1-3所示。

2.惯性环节的传递函数为2211211212()100,200,110.21R Z R G s R K R K C uf Z R C s =-=-=-===++其对应的模拟电路及SIMULINK 图形如图1-4所示。

3.积分环节(I)的传递函数为uf C K R s s C R Z Z s G 1,1001.011)(111112==-=-=-=其对应的模拟电路及SIMULINK 图形如图1-5所示。

图1-5 积分环节的模拟电路及及SIMULINK 图形 图1-4 惯性环节的模拟电路及SIMULINK 图形4.微分环节(D)的传递函数为uf C K R s s C R Z Z s G 10,100)(111112==-=-=-= uf C C 01.012=<<其对应的模拟电路及SIMULINK 图形如图1-6所示。

5.比例+微分环节(PD )的传递函数为)11.0()1()(111212+-=+-=-=s s C R R R Z Z s G uf C C uf C K R R 01.010,10012121=<<=== 其对应的模拟电路及SIMULINK 图形如图1-7所示。

6.比例+积分环节(PI )的传递函数为)11(1)(11212s R s C R Z Z s G +-=+-=-= uf C K R R 10,100121===其对应的模拟电路及SIMULINK 图形如图1-8所示。

《计算机控制技术》数字PID控制器设计与仿真实验报告

《计算机控制技术》数字PID控制器设计与仿真实验报告

《计算机控制技术》数字PID控制器设计与仿真实验报告课程名称:计算机控制技术实验实验类型:设计型实验项目名称:数字PID控制器设计与仿真一、实验目的和要求1. 学习并掌握数字PID以及积分分离PID控制算法的设计原理及应用。

2. 学习并掌握数字PID控制算法参数整定方法。

二、实验内容和原理图3-1图3-1是一个典型的 PID 闭环控制系统方框图,其硬件电路原理及接线图可设计如图1-2所示。

图3-2中画“○”的线需用户在实验中自行接好,对象需用户在模拟实验平台上的运放单元搭接。

图3-2上图中,ADC1为模拟输入,DAC1为模拟输出,“DIN0”是C8051F管脚 P1.4,在这里作为输入管脚用来检测信号是否同步。

这里,系统误差信号E通过模数转换“ADC1”端输入,控制机的定时器作为基准时钟(初始化为10ms),定时采集“ADC1”端的信号,得到信号E的数字量,并进行PID计算,得到相应的控制量,再把控制量送到控制计算机及其接口单元,由“DAC1”端输出相应的模拟信号,来控制对象系统。

本实验中,采用位置式PID算式。

在一般的PID控制中,当有较大的扰动或大幅度改变给定值时,会有较大的误差,以及系统有惯性和滞后,因此在积分项的作用下,往往会使系统超调变大、过渡时间变长。

为此,可采用积分分离法PID控制算法,即:当误差e(k)较大时,取消积分作用;当误差e(k)较小时才将积分作用加入。

图3-3是积分分离法PID控制实验的参考程序流程图。

图3-3三、主要仪器设备计算机、模拟电气实验箱四、操作方法与实验步骤1.按照图3-2搭建实验仿真平台。

2.确定系统的采样周期以及积分分离值。

3.参考给出的流程图编写实验程序,将积分分离值设为最大值0x7F,编译、链接。

4.点击,使系统进入调试模式,点击,使系统开始运行,用示波器分别观测输入端R以及输出端C。

5.如果系统性能不满意,用凑试法修改PID参数,再重复步骤3和4,直到响应曲线满意,并记录响应曲线的超调量和过渡时间。

基于MATLAB控制系统仿真实验报告

基于MATLAB控制系统仿真实验报告

tf 4
y0

0 1
6、求出 G1(s)
2 (s2 2s 1) 与 G2 (s)
1 (2s3

3s2
1)
的单位阶跃响应,并分别
求出状态空间模型。
解:(1) G1(s) 2 (s2 2s 1) 的状态空间模型求解如下:
function shiyan2 b1=[2];
D(z)

0.62(1 0.136z 1)(1 0.183z (1 0.045z 1)(1 0.53z 1)
1 )
分别用仿真算法得到系统在单位阶跃输入作用下的响应,系统在单位速度输
入是的输出响应。
解:(1)首先将 W1(s)转换为 W1(z),采样周期 T=0.2s,程序清单如下: function shiyan42 num=[10];den=[0.005 0.15 1 0]; ts=0.2;[nc,dc]=c2dm(num,den,ts)
INTRO(注意:intro 为一个用 MATLAB 语言编写的幻灯片程序,主要演示
常用的 MATLAB 语句运行结果。)
然后,根据现实出来的幻灯片右面按钮进行操作,可按 START——NEXT—
—NEXT 按钮一步步运行,观察。
3、自编程序并完成上机编辑,调试,运行,存盘:
(1)用 MATLAB 命令完成矩阵的各种运算,例如:
5、利用 ode23 或 ode45 求解线性时不变系统微分方程 y(t) Ay(t) ,并绘制出 y(t)
曲线,式中
A

0.5

1
1 0.5
t t0 t 如下: function xdot=fun21(t,x) A=[-0.5 1;-1 -0.5]; xdot=A*x; function fzsy22 t0=0;tf=4;tol=1e-6; x0=[0;1];trace=1; [t,x]=ode23('fun21',t0,tf,x0,tol,trace); plot(t,x) 得到的实验结果如下图所示:

pid控制实验报告[最新版]

pid控制实验报告[最新版]

pid控制实验报告pid控制实验报告篇一:PID控制实验报告实验二数字PID控制计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。

因此连续PID控制算法不能直接使用,需要采用离散化方法。

在计算机PID控制中,使用的是数字PID控制器。

一、位置式PID控制算法按模拟PID控制算法,以一系列的采样时刻点kT代表连续时间t,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,可得离散PID位置式表达式:Tu T ?kpeu=para; J=0.0067;B=0.1; dy=zeros= y= -+ = k*ts; %time中存放着各采样时刻rineu_1=uerror_1=error;%误差信号更新图2-1 Simulink仿真程序其程序运行结果如表2所示。

Matlab输出结果errori = error_1 = 表2 例4程序运行结果三、离散系统的数字PID控制仿真1.Ex5 设被控对象为G?num 仿真程序:ex5.m%PID Controller clear all; close all;篇二:自动控制实验报告六-数字PID控制实验六数字PID控制一、实验目的1.研究PID控制器的参数对系统稳定性及过渡过程的影响。

2.研究采样周期T对系统特性的影响。

3.研究I型系统及系统的稳定误差。

二、实验仪器1.EL-AT-III型自动控制系统实验箱一台 2.计算机一台三、实验内容1.系统结构图如6-1图。

图6-1 系统结构图图中 Gc(s)=Kp(1+Ki/s+Kds) Gh(s)=(1-e)/s Gp1(s)=5/((0.5s+1)(0.1s+1)) Gp2(s)=1/(s(0.1s+1))-TS 2.开环系统(被控制对象)的模拟电路图如图6-2和图6-3,其中图6-2对应GP1(s),图6-3对应Gp2(s)。

图6-2 开环系统结构图1 图6-3开环系统结构图2 3.被控对象GP1(s)为“0型”系统,采用PI控制或PID控制,可使系统变为“I型”系统,被控对象Gp2(s)为“I型”系统,采用PI控制或PID控制可使系统变成“II型”系统。

PID控制实验报告

PID控制实验报告

实验二 数字PID 控制计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。

因此连续PID 控制算法不能直接使用,需要采用离散化方法。

在计算机PID 控制中,使用的是数字PID 控制器。

一、位置式PID 控制算法按模拟PID 控制算法,以一系列的采样时刻点kT 代表连续时间t ,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,可得离散PID 位置式表达式:∑∑==--++=⎪⎪⎭⎫ ⎝⎛--++=k j di p k j D I p T k e k e k T j e k k e k k e k e T T j e T T k e k k u 00)1()()()())1()(()()()( 式中,D p d I pi T k k T k k ==,,e 为误差信号(即PID 控制器的输入),u 为控制信号(即控制器的输出)。

在仿真过程中,可根据实际情况,对控制器的输出进行限幅。

二、连续系统的数字PID 控制仿真连续系统的数字PID 控制可实现D/A 及A/D 的功能,符合数字实时控制的真实情况,计算机及DSP 的实时PID 控制都属于这种情况。

1.Ex3 设被控对象为一个电机模型传递函数BsJs s G +=21)(,式中J=0.0067,B=0.1。

输入信号为)2sin(5.0t π,采用PD 控制,其中5.0,20==d p k k 。

采用ODE45方法求解连续被控对象方程。

因为Bs Js s U s Y s G +==21)()()(,所以u dt dy B dty d J =+22,另y y y y ==2,1,则⎪⎩⎪⎨⎧+-==/J)*u ((B/J)y y y y 12221 ,因此连续对象微分方程函数ex3f.m 如下 function dy = ex3f(t,y,flag,para)u=para;J=0.0067;B=0.1;dy=zeros(2,1);dy(1) = y(2);dy(2) = -(B/J)*y(2) + (1/J)*u;控制主程序ex3.mclear all;close all;ts=0.001; %采样周期xk=zeros(2,1);%被控对象经A/D转换器的输出信号y的初值e_1=0;%误差e(k-1)初值u_1=0;%控制信号u(k-1)初值for k=1:1:2000 %k为采样步数time(k) = k*ts; %time中存放着各采样时刻rin(k)=0.50*sin(1*2*pi*k*ts); %计算输入信号的采样值para=u_1; % D/AtSpan=[0 ts];[tt,xx]=ode45('ex3f',tSpan,xk,[],para); %ode45解系统微分方程%xx有两列,第一列为tt时刻对应的y,第二列为tt时刻对应的y导数xk = xx(end,:); % A/D,提取xx中最后一行的值,即当前y和y导数yout(k)=xk(1); %xk(1)即为当前系统输出采样值y(k)e(k)=rin(k)-yout(k);%计算当前误差de(k)=(e(k)-e_1)/ts; %计算u(k)中微分项输出u(k)=20.0*e(k)+0.50*de(k);%计算当前u(k)的输出%控制信号限幅if u(k)>10.0u(k)=10.0;endif u(k)<-10.0u(k)=-10.0;end%更新u(k-1)和e(k-1)u_1=u(k);e_1=e(k);endfigure(1);plot(time,rin,'r',time,yout,'b');%输入输出信号图xlabel('time(s)'),ylabel('rin,yout');figure(2);plot(time,rin-yout,'r');xlabel('time(s)'),ylabel('error');%误差图程序运行结果显示表1所示。

控制系统仿真实验报告

控制系统仿真实验报告

采样控制系统仿真实验报告姓名胡晓健班级13学号08001331课题内容1、应用采样工作原理和离散控制系统设计方法设计采样控制系统。

2、掌握采样控制系统的特点及采样控制系统仿真的特殊问题,运用采样控制系统数字仿真的一般方法(差分方程递推求解法和对离散、连续部分分别计算的双重循环法)及Simulink 对系统进行仿真。

3、给出仿真设计方案和仿真模型。

4、仿真分析。

具体内容:采样控制系统如下图所示:一. 设计要求① 设被控对象sss G o +=21)(,采用零阶保持器,数字控制器为5.015.2)(+-=z z z D ,采样周期T=0.1s 。

应用差分方程递推求解法求系统输出的单位阶跃响应,并求其超调量、上升时间、峰值时间。

设计方案和实现差分方程递推求解法在构成采样控制仿真模型时,若连续部分不要求计算内部状态变量或不含非线性环节,则可以同样的采样周期分别建立离散部分和连续部分的差分方程,然后采用差分方程递推求解。

由题意可知被控对象不含非线性环节且不要求计算其内部状态变量,为了简化仿真过程并提高仿真精度,将连续部分的离散化模型嵌入到整个仿真模型中,即求出系统闭环脉冲传递函数(离散化模型),得到系统的差分方程后递推求解由题意得数字控制器(离散部分)为5.015.2)(+-=z z z D求解传递函数的程序如下:Ts=0.1 %采样周期num1=[1]den1=[1,1,0]G1c=tf(num1,den1)G1d=c2d(G1c,Ts) %采用零阶保持法进行系统变换G2d=tf([2.5 -1],[1 0.5],0.1)Gd=G1d*G2dGHd=feedback(Gd,1) %建立闭环系统模型Ts =0.1000num1 =1den1 =1 1 0%G1c的传递函数Transfer function:1-------s^2 + s%G1c转换后的Z传递函数Transfer function:0.004837 z + 0.004679----------------------z^2 - 1.905 z + 0.9048Sampling time: 0.1%G2d的传递函数Transfer function:2.5 z - 1---------z + 0.5Sampling time: 0.1%开环系统的Z传递函数Transfer function:0.01209 z^2 + 0.00686 z - 0.004679------------------------------------z^3 - 1.405 z^2 - 0.04758 z + 0.4524Sampling time: 0.1%闭环系统的Z 传递函数 Transfer function:0.01209 z^2 + 0.00686 z - 0.004679 ------------------------------------z^3 - 1.393 z^2 - 0.04072 z + 0.4477Sampling time: 0.1由上式可知当采样周期为T =0.1s 时,连续部分的脉冲传递函数为系统闭环脉冲传递函数系统差分方程为求解差分方程的MATLAB 程序如下clear allm=2;n=3; % 明确脉冲传递函数分子m=2;分母n=3 A=[-1.393 -0.04072 0.4477]; % 脉冲传递函数分母多项式的系数行向量 B=[0.01209 0.00686 -0.004679]; % 脉冲传递函数分子多项式的系数行向量R=zeros(m+1,1); % 建立参与递推运算的输入信号序列存储列向量Y=zeros(n,1); % 建立参与递推运算的输出信号序列存储列向量 T=0.1; % 明确采样周期T =0.1sM=150; % 设定仿真总时间为M*T=15s(进行M=150次递推计算) yt=0;t=0;for k=1:MR(k)=1; % r (t )=1(t )的离散序列R(0)=R(1)=…R(k)=1 R=[R(k);R(1:m)];% 刷新参与递推运算的输入信号序列 yk=-A*Y+B*R; % 递推运算21219048.0905.1104679.0004837.0)(----+-+=zzz z z G 3213214477.004072.0393.11004679.000686.001209.0)()(1)()()()()(------+---+=+==zz z zzzz G z D z G z D z R z Y z G cl )3(004679.0)2(00686.0)1(01209.0)3(4477.0)2(04072.0)1(393.1)(---+-+---+-=k k r k r k y k y k y k yY=[yk;Y(1:n-1)];% 刷新参与递推运算的输出信号序列yt=[yt,yk]; % yt 为记载各采样(kT)时刻输出响应的行向量 t=[t,k*T]; % t 为记载各采样(kT)时刻的行向量(与yt 对应) endplot(t,yt,'*k'); % 绘制各采样(kT)时刻的输出响应图 grid;xlabel('time(s)'); ylabel('y(kT)');超调量 σ% 指响应的最大偏离量h(tp)与终值h (∞)的差与终值h (∞)比的百分数h(tp)-h %*100%h σ∞=∞()()峰值时间 tp 指响应超过其终值到达第一个峰值所需的时间上升时间 tr 指响应从终值10%上升到终值90%所需的时间求超调量的程序 maxy=max(yt); yss=yt(length(t));pos=100*(maxy-yss)/yss求峰值时间的程序 for i=1:50if yt(i)==maxy,n=i;end endtp=(n-1)*15/length(t)求上升时间的程序 for i=1:50if (yt(i)<yss*0.1),t1=i;end if (yt(i)<yss*0.9),t2=i;end endts=(t2-t1)*15/length(t)测试和结果.输出的单位阶跃响应为由程序算出的超调量,峰值时间和上升时间超调量pos = 14.0155峰值时间tp =3.5762上升时间ts =1.6887由上面两张截图算出的超调量σ%=(1.163-1.02)/1.02=14.02%峰值时间tp=3.6由上面两张截图可得上升时间tr=2-0.4=1.6性能分析该仿真算法不仅简单易行且仿真精度高。

数字仿真实验报告

数字仿真实验报告

一、实验目的本次实验旨在通过数字仿真技术,对线性连续控制系统和非线性环节控制系统进行仿真分析,验证控制系统的性能和稳定性,并加深对控制系统理论的理解。

二、实验环境1. 软件环境:MATLAB R2020a、Simulink2. 硬件环境:计算机三、实验内容1. 线性连续控制系统的数字仿真(1)系统描述本次实验选取两个线性连续控制系统,分别为G(S) = 10/S(S+1)和G(S) = 4/S^2 2.828S。

(2)参数设置输入信号:阶跃信号,阶跃时间:0;初值:0;终值:1迟滞环节:迟滞时间:0开环传递函数:G(S) = 10/S(S+1),G(S) = 4/S^2 2.828S反馈环节传递函数:H(S) = 1(3)仿真结果与分析通过Simulink对两个系统进行仿真,得到如下结果:系统1:G(S) = 10/S(S+1)阶跃响应曲线如图1所示,系统在t=0s时刻开始输入阶跃信号,经过一段时间后达到稳态值。

相轨迹曲线如图2所示,系统在相平面上的运动轨迹呈现出稳定的闭环运动。

系统2:G(S) = 4/S^2 2.828S阶跃响应曲线如图3所示,系统在t=0s时刻开始输入阶跃信号,经过一段时间后达到稳态值。

相轨迹曲线如图4所示,系统在相平面上的运动轨迹呈现出稳定的闭环运动。

2. 非线性环节控制系统的数字仿真(1)系统描述本次实验选取非线性环节控制系统,为Wk(s) = 10/s(s+1),并对其进行饱和死区特性的仿真。

(2)参数设置输入信号:阶跃信号,阶跃时间:0;初值:0;终值:1饱和死区:非线性的上下限为(-2,2),幅值为5和10(3)仿真结果与分析通过Simulink对非线性环节控制系统进行仿真,得到如下结果:阶跃响应曲线如图5所示,系统在t=0s时刻开始输入阶跃信号,经过一段时间后达到稳态值。

相轨迹曲线如图6所示,系统在相平面上的运动轨迹呈现出稳定的闭环运动。

3. 典型环节频率响应的数字仿真(1)系统描述本次实验选取典型环节频率响应,为G(S) = 10/S(S+1),并对其进行频率响应仿真。

《计算机仿真技术》报告

《计算机仿真技术》报告

《计算机仿真技术》实验报告实验一 数字仿真方法验证一、实验目的1.掌握基于数值积分法的系统仿真、了解各仿真参数的影响; 2.掌握基于离散相似法的系统仿真、了解各仿真参数的影响; 3.掌握SIMULINK 动态仿真;4.熟悉MATLAB 语言及应用环境。

二、实验环境网络计算机系统,MATLAB 语言环境三、实验内容、要求(一)试将示例1的问题改为调用ode45函数求解,并比较结果。

示例1:设方程如下,取步长 h =0.1。

上机用如下程序可求出数值解。

调用ode45函数求解: 1)建立一阶微分方程组 du=u-2*t/u2)建立描述微分方程组的函数m 文件 function du=sy11vdp(t,u) du=u-2*t/u3)调用解题器指令ode45求解y[t,u]=ode45('sy11vdp',[0 1],1) plot(t,u,'r-'); xlabel('t'); ylabel('u'); 结果对比:euler 法:t=1,u=1.7848; RK 法:t=1,u=1.7321; ode45求解:t=1,u=1.7321;[]1,01)0(2∈⎪⎩⎪⎨⎧=-=t u u t u dt duode45求解t-u 图:00.10.20.30.40.50.60.70.80.9111.11.21.31.41.51.61.71.8tu(二)试用四阶RK 法编程求解下列微分方程初值问题。

仿真时间2s ,取步长h=0.1。

⎪⎩⎪⎨⎧=-=1)0(2y t y dt dy 四阶RK 法程序:clear t=2; h=0.1; n=t/h; t0=0; y0=1;y(1)=y0; t(1)=t0;for i=0:n-1 k1=y0-t0^2;k2=(y0+h*k1/2)-(t0+h/2)^2; k3=(y0+h*k2/2)-(t0+h/2)^2 k4=(y0+h*k3)-(t0+h)^2;y1=y0+h*(k1+2*k2+2*k3+k4)/6; t1=t0+h; y0=y1; t0=t1;y(i+2)=y1; t(i+2)=t1;end y tplot(t,y,'r'); 结果:t=2,y=2.61090.511.522.511.21.41.61.822.22.42.62.83:(三)试求示例3分别在周期为5s 的方波信号和脉冲信号下的响应,仿真时间20s ,采样周期Ts=0.1。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

控制系统数字仿真实验报告班级:机械1304姓名:***学号: **********实验一数字仿真方法验证1一、实验目的1.掌握基于数值积分法的系统仿真、了解各仿真参数的影响;2.掌握基于离散相似法的系统仿真、了解各仿真参数的影响;3.熟悉MATLAB语言及应用环境。

二、实验环境网络计算机系统(新校区机电大楼D520),MATLAB语言环境三实验内容(一)试将示例1的问题改为调用ode45函数求解,并比较结果。

实验程序如下;function dy = vdp(t,y)dy=[y-2*t/y];end[t,y]=ode45('vdp',[0 1],1);plot(t,y);xlabel('t');ylabel('y');(二)试用四阶RK 法编程求解下列微分方程初值问题。

仿真时间2s ,取步长h=0.1。

⎪⎩⎪⎨⎧=-=1)0(2y t y dt dy 实验程序如下:cleart0=0;y0=1;h=0.1;n=2/h;y(1)=1;t(1)=0;for i=0:n-1k1=y0-t0^2;k2=(y0+h*k1/2)-(t0+h/2)^2;k3=(y0+h*k2/2)-(t0+h/2)^2;k4=(y0+h*k3)-(t0+h)^2;y1=y0+h*(k1+2*k2+2*k3+k4)/6;t1=t0+h;y0=y1;t0=t1;y(i+2)=y1;t(i+2)=t1;endy1t1figure(1)plot(t,y,'r');xlabel('t');ylabel('y');(三)试求示例3分别在周期为5s的方波信号和脉冲信号下的响应,仿真时间20s,采样周期Ts=0.1。

实验程序如下:clear% Create system modelA=[-0.5572 -0.7814 ;0.7814 0];B=[1;0];C=[1.9691 6.4493];D=0;sys=ss(A,B,C,D);% Pulse response of the system subplot(221)[u,t]=gensig('pulse',5,20,0.1)plot(t,u);hold onlsim(sys,u,t);xlabel('t');ylabel('Y');title('Pulse response of the system'); hold offgrid% Square response of the system subplot(222)[u,t]=gensig('square',5,20,0.1)plot(t,u);hold onlsim(sys,u,t);xlabel('t');ylabel('Y');title('Square response of the system'); hold offgrid四实验体会这是第一次做matlab实验,通过实验,基本熟悉了matlab的基本操作,同时,也可以仿照所给例子来利用数值积分的函数进行解常值系统微分方程,在误差允许范围内,相对于elur法来说,代码更简单点。

实验二SIMULINK动态仿真一、实验目的1. 掌握SIMULINK动态仿真;2. 熟悉MATLAB语言及应用环境二、实验环境网络计算机系统,MATLAB语言环境三、实验内容(一)Simulink的基本操作(1)运行Simulink(2)常用的标准模块(3)模块的操作(二)系统仿真及参数设置(1)算法设置(Solver)(2)工作空间设置(Workspace I/O)某系统框图如图所示,试用SIMULINK进行仿真,并比较在无饱和非线性环节下系统仿真结果。

四、实验体会通过本次实验,我体会到了simlink强大的仿真建模功能,通过仿真实验,我们可以观测到部分模块对系统整体的影响,从而可以更好的调节系统,使其工作在最佳状态。

同时,本次实验也让我对matlab的使用进一步熟悉起来。

实验三PID控制器设计一实验目的1.了解PID控制原理,掌握相应PID控制器设计仿真程序的应用;2.掌握计算机辅助系统瞬态性能指标的计算;3.掌握计算机辅助系统频率性能分析;二实验环境网络计算机系统(新校区机电大楼D520),MATLAB语言环境三实验内容已知如图所示单位反馈系统要求:1.绘制系统的开环Nyquist图和Bode图,并判断该闭环系统是否稳定。

2.应用Ziegler—Nichols方法设计P控制器、PI控制器和PID控制器。

3.计算比较原系统与P控制系统、PI控制系统、PID控制系统的瞬态性能指标。

实验程序:clear clcsys=tf([500 5000],[1 33 337 1775 4950 5000]);figure(1)nyquist(sys)[Re,Im,w1]=nyquist(sys);grid on figure(2)bode(sys)[mag,phase,w2]=bode(sys);grid onsysclose=feedback(sys,1);[z,p,k]=zpkdata(sysclose,'v')实验二function [sysc,Kp,Ti,Td]=pidmargin(sys,type) margin(sys)[Gm,Pm,Wg,Wc]=margin(sys);Kcr=Gm;Wcr=Wg;Tcr=2*pi/Wcr;switch typecase 1disp('P Controler')Kp=0.5*KcrTi='No Design'Td='No Design'sysc=Kp;case 2disp('PI Controler')Kp=0.4*KcrTi=0.8*TcrTd='No Design'sysc=Kp*(1+tf(1,[Ti,0]));case 3disp('PID Controler')Kp=0.6*Kcr;Ti=0.5*TcrTd=0.12*Tcrsysc=Kp*(1+tf(1,[Ti,0])+tf([Td,0],1)); end实验三clfnum=[500 5000];den=[1 33 337 1775 4950 5000]sys=tf(num,den);sysgroup=feedback(sys,1);%Design P-PI -PIDControlerfor i=1:3type=i;[sysc,Kp,Ti,Td]=pidmargin(sys,type);sysopen=sysc*sys;sysclose=feedback(sysopen,1);sysgroup=append(sysgroup,sysclose);endclffor i=1:4subplot(2,2,i)step(sysgroup(i,i))step(sysgroup(i,i))[num,den]=tfdata(sysgroup(i,i),'v')Finalvalue=polyval(num,0)/polyval(den,0)% Compute overshoot[y,t]=step(sysgroup(i,i));[Ymax,k]=max(y);Peaktime=t(k)OvershootPercent=100*(Ymax-Finalvalue)/Finalvaluen=1;while y(n)<0.1*Finalvalue,n=n+1;endm=1;while y(m)<0.9*Finalvalue,m=m+1;endRiseTime=t(m)-t(n)% Compute settling timer=length(t);while (y(r)>0.98*Finalvalue & y(r)<1.02*Finalvalue) r=r-1;endSettlingTime=t(r)end123400.20.40.60.8Step ResponseTime (seconds)A m p l i t u d e024680.51Step ResponseTime (seconds)A m p l i t u d e24680.511.5Step ResponseTime (seconds)A m p l i t u d e0123450.511.5Step ResponseTime (seconds)A m p l i t u d e实验心得体会在第二个实验中主程序通过调用函数m 文件pidmargin.m ,实现了PID 控制器的设计,并在单位阶跃函数作用下的系统输出,列于同一张表,便于分析;第三个实验在第二个实验的基础上,将系统在阶跃函数作用下的状态参数返回,从而实现经PID 控制器修正后的系统与原系统进行量化对比,显示校正效果。

本次实验,我学会了如何运用matlab 画系统的Bode 图和Nyquist 图,很大程度上简化了系统稳定性、动态特性等相关问题的求解。

实验四 模糊逻辑控制器设计一、实验目的4.了解模糊逻辑控制原理;5.掌握MATLAB 辅助模糊逻辑控制器设计流程;二、实验环境网络计算机系统,MATLAB 语言环境三、实验内容、要求设有前后两车(目标车与本车),其速度y 与油门控制输入u 间的传递函数均为427.024)()(2+**+=s s s U s Y 现要求设计一模糊控制器,使得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仿真模型第二步设计模糊逻辑规则(参考下文,不要自己再设计)。

以误差量(两车距离)及误差对时间的变化量作为输入进行模糊规则设计。

相关文档
最新文档