“计算机控制系统”实验报告注意事项:
1.实验报告必须用学校规定的实验报告纸书写,截图与程序可以打印粘贴于实验报告纸上或附后;
2.下述实验报告中的截图、程序与实验分析仅供参考,每个人的实验报告内容以个人的具体实验为准;
3.某些实验中的参数设定与学号有关,见实验报告中的红色与蓝色字体文字,红色字体文字需用个人有关的学号替换,蓝色字体文字为对应的解释说明,写实验报告时需删除;
4.实验报告写好后,请学习委员收集整理交至机械楼422,同一个实验按学号排好序叠成一叠,即四个实验四大叠,不能一个同学的四个实验放一块。
实验一 离散系统性能分析
一、实验目的
1.了解离散系统的基本概念与基本研究方法;
2.掌握离散系统的时域与频域数学模型;
3. 掌握离散系统的稳定性及动态性分析。
二、实验内容
给定离散系统结构框图如图1.1所示,为零阶保持器,,采样周期为Ts=1,开环增益为K,对该离散系统进行性能分析。
图1.1 离散系统结构框图
三、实验步骤
1. 建立离散系统的数学模型:
利用tf函数和c2d函数分别建立连续系统及离散系统的传递函数。
2. 绘制系统的根轨迹:
利用rlocus函数绘制离散系统的根轨迹图,找出根轨迹和单位圆的交点,如图1.2。
图1.2 离散系统的根轨迹图
从图中可以看出根轨迹与单位圆的交点处的开环增益为K=0和K=2,即,使闭环系统稳定的K的范围是。绘制K=2时离散系统的幅频特性曲线和Nyquist曲线,观察其稳定性。
利用margin函数和dnyquist函数绘制K=2时离散系统的幅频特性曲线Bode图和Nyquist曲线分别见图1.3和图1.4。
图1.3 离散系统的幅频特性曲线
图1.4 离散系统的Nyquist曲线
从系统的幅频特性曲线可知,当K=2时相角裕量为0,增益裕量为0;由Nyquist曲线可知,当K=2时曲线恰好穿过(-1,0)点。所以,当K=2时系统处于临界稳定状态,即系统稳定时K的取值范围(0,2)。
3. 分析系统的阶跃响应:
给K赋不同的值,利用dstep函数观察相应的阶跃响应曲线。K=1,2,3时,闭环系统的阶跃响应曲线分别如图1.5-图1.7所示。
图1.5闭环系统的阶跃响应曲线(K=1)
图1.6 闭环系统的阶跃响应曲线(K=2)
图1.7 闭环系统的阶跃响应曲线(K=3)
由上图可知,当K=1时,闭环系统稳定,阶跃响应曲线收敛,并且系统的稳态误差为0;当K=2时,闭环系统临界稳定,阶跃响应曲线等幅震荡;当K=3时,闭环系统不稳定,阶跃响应曲线很快发散。这与前面对K值的分析结果是一致的。
4. 分析采样周期对系统稳定性的影响:
在临界稳定的系统中,分别取采样周期Ts=0.5s和Ts=2s,计算系统的阶跃响应,响应曲线如图1.8和图1.9所示。
图1.8 闭环系统的阶跃响应曲线(K=2,Ts=0.5s)
图1.9 闭环系统的阶跃响应曲线(K=2,Ts=2s)
从上图可知,离散控制系统的稳定性不仅与开环增益有关,还与采样周期有关。原本临界稳定的系统,在缩短采样周期后变得稳定;加大采样周期则使得系统不稳定。
四、实验程序
clear all;close all;
%----------------建立控制系统的数学模型
ts=1;
num=[1 1];
den=[1 0 0];
c_sys=tf(num,den) %连续系统的传递函数
d_sys=c2d(c_sys,ts,'zoh') %离散系统的传递函数
k=1;
k_sys=k*d_sys
%-----------绘制离散控制系统的根轨迹
figure(1)
rlocus(d_sys)
%-----------验证开环增益范围,当增益为2时,系统的频率特性曲线
kk=2;
figure(2)
margin(kk*d_sys); %绘制离散系统的Bode图
figure(3)
[dnum,dden]=tfdata(kk*d_sys,'v') ;%提取开环传递函数的零极点
dnyquist(dnum,dden,ts) %绘制离散系统的Nyquist图
axis([-5,5,-3,3])
grid on;
%------------K取不同值时系统的阶跃响应曲线
kkk=1;%K=1
figure(4);
b_sys=feedback(kkk*d_sys,1)
[b_dnum,b_dden]=tfdata(b_sys,'v');
dstep(b_dnum,b_dden,25) %绘制闭环控制系统的阶跃响应曲线
kkk=2;%K=2
figure(5);
b_sys=feedback(kkk*d_sys,1)
[b_dnum,b_dden]=tfdata(b_sys,'v');
dstep(b_dnum,b_dden,25)
kkk=3;%K=3
figure(6);
b_sys=feedback(kkk*d_sys,1)
[b_dnum,b_dden]=tfdata(b_sys,'v');
dstep(b_dnum,b_dden,25)
%-------------考察采样周期对系统稳定性的影响
kkkk=2;
figure(7)
ts=0.5; %采样周期Ts=0.5s
dd_sys=c2d(c_sys,ts,'zoh')
bb_sys=feedback(kkkk*dd_sys,1)
[bb_dnum,bb_dden]=tfdata(bb_sys,'v');
dstep(bb_dnum,bb_dden,25)
figure(8)
ts=2; %采样周期Ts=2s
dd_sys=c2d(c_sys,ts,'zoh')
bb_sys=feedback(kkkk*dd_sys,1)
[bb_dnum,bb_dden]=tfdata(bb_sys,'v');
dstep(bb_dnum,bb_dden,25)
实验二 数字PID控制器设计
一、实验目的
1.了解PID控制的基本原理及特点;
2.掌握数字PID控制器设计的方法;
3. 掌握PID控制器各项参数对系统动态特性及稳态特性的影响。
二、实验内容
PID控制系统框图如图2.1所示,其中为零阶保持器,,设T=0.1s,分析不同的PID参数对系统性能的影响。
图2.1 PID控制系统框图
三、实验步骤
1. PID控制器为,比例系数分别取时,系统的阶跃响应如图2.2:
图2.2 不同比例系数时的阶跃响应
(a) (b) (c) (d)
2. PID控制器为,比例系数为1,积分时间常数分别取时,系统的阶跃响应如图2.3:
图2.3 不同积分时间常数时的阶跃响应
(a) (b) (c) (d)
3. PID控制器为,比例系数和积分时间常数都取为1,微分时间常数分别取时,系统的阶跃响应如图2.4:
图2.4 不同微分时间常数时的阶跃响应
(a) (b) (c) (d)
4. 在PID控制器中,设定比例系数、积分时间常数和微分时间常数分别为学号的后三位(比如:学号为201315020108,则比例系数、积分时间常数和微分时间常数分别为1,0,8;学号为201315020239,则比例系数、积分时间常数和微分时间常数分别为2,3,9),系统的阶跃响应如图2.5:
图2.5 系统阶跃响应
三、实验分析
从以上实验分析可知,在PID控制系统中,随着比例系数加大,系统响应速度加快,但会使振荡次数增加,调节时间拉长,甚至使系统趋向不稳定;在系统稳定的情况下,比例系数的加大可以减少静差,提高控制精度;但只是减少,不能消除静差。积分控制可以使系统的稳定性下降,积分时间常数变小,系统振荡次数增多,甚至不稳定;积分时间常数变大,则对系统性能的影响减小。积分控制能消除系统的静差,提高系统的控制精度。若积分时间常数太大,积分作用太弱,则不能减少静差。微分控制主要用于改善系统的动态性能,减少超调量和调节时间。
四、实验程序
clear all;close all;
ts=0.1;
k=10;z=[];p=[-1 -2];
syszpk=tf(zpk(z,p,k));
sys=tf(syszpk);
dsys=c2d(sys,ts,'zoh');
[num,den]=tfdata(dsys,'v');
uk1=0;uk2=0; %初始化
yk1=0;yk2=0;
ek1=0;ei=0;
for k=1:1:200
time(k)=k*ts;
rin(k)=1.0;
yout(k)=-den(2)*yk1-den(3)*yk2+num(2)*uk1+num(3)*uk2;
error(k)=rin(k)-yout(k);
ei=ei+error(k)*ts;
kc=2; ki=6; kd=8; %PID参数设定
u(k)=kc*error(k)+ki*ei+kd*(error(k)-ek1);
uk2=uk1;uk1=u(k);
yk2=yk1;yk1=yout(k);
ek1=error(k);
end
figure(1)
plot(time,rin,'b',time,yout,'r')
xlabel('t/s');ylabel('y(t)')
实验三 最小拍控制器设计
一、实验目的
1.了解最小拍控制器的基本原理;
2.掌握最小拍控制器的设计方法;
3. 掌握在典型输入下最小拍控制系统的性能分析。
二、实验内容
数字控制系统框图如图3.1所示,其中为零阶保持器,,设T=1s。当输入信号分别为单位阶跃信号、单位速度信号和单位加速度信号时,设系统的最小拍控制器,分析系统的输出响应特性,比较三种情况下的跟随特性。
图3.1 数字控制系统框图
三、实验步骤
1. 求解控制系统广义对象传递函数:利用c2d函数得广义对象传递函数。
2. 求出各种典型信号输入时的最小拍数字控制器:
(1)单位阶跃输入时,,,,最小拍数字控制器:
(2)单位速度输入时,,,,最小拍数字控制器:
(3)单位加速度输入时,,,,最小拍数字控制器:
3. 基于上述所得结果,利用Matlab中的Simulink进行仿真,在上述典型信号输入时,绘出输入输出及误差曲线,比较三种情况下的跟随特性:
(1)单位阶跃输入时,系统Simulink仿真模型框图如图3.2,仿真结果如图3.3,其中曲线1为单位阶跃输入信号,曲线2为输出信号,曲线3为误差信号:
图3.2 单位阶跃输入时Simulink仿真模型框图
图3.3 单位阶跃输入时仿真结果
(2)单位速度输入时,系统Simulink仿真模型框图如图3.4,仿真结果如图3.5,其中曲线1为单位速度输入信号,曲线2为输出信号,曲线3为误差信号:
图3.4 单位速度输入时Simulink仿真模型框图
图3.5 单位速度输入时仿真结果
(3)单位加速度输入时,系统Simulink仿真模型框图如图3.6,仿真结果如图3.7,其中曲线1为单位加速度输入信号,曲线2为输出信号,曲线3为误差信号:
图3.6 单位加速度输入时Simulink仿真模型框图
图3.7 单位加速度输入时仿真结果
四、实验分析
由上面的仿真结果图可知,按最少拍控制系统设计出来的闭环系统,在有限拍后进入稳态,这时闭环系统输出在采样时间精确的跟踪输入信号。由上面的仿真结果也可看出,当按照某种典型输入设计的最小拍系统,当输入函数改变时,输出响应不理想,说明最小拍系统对输入信号的适应性较差。
五、实验程序
clear all;close all;
ts=1;
num=[10];den=[1 1 0];
c_sys=tf(num,den); %连续系统的传递函数
d_sys=c2d(c_sys,ts,'zoh') %离散系统的传递函数
[z,p,k]=zpkdata(d_sys,'v');%提取零点、极点、增益
Gz=zpk(z,p,k,ts,'v','z^-1')%建立ZPK对象系统模型
实验四 模糊控制器设计
一、实验目的
1.了解模糊控制系统的结构与原理;
2.掌握模糊控制器的设计步骤与方法;
3. 掌握模糊控制器的MATLAB实现方法。
二、实验内容
利用MATLAB模糊逻辑工具箱,设计一个以洗衣机洗涤时间为控制目标的模糊控制系统。选取衣物的污泥和油脂为主要控制对象,以洗涤时间为输出参数。
三、实验步骤
1. 输入输出参数模糊集的确定:
将衣物的污泥分为3个模糊集:SD(污泥少)、MD(污泥中)、LD(污泥多),取值范围为[0,100];将油脂分为3个模糊集:NG(无油脂)、MG(油脂中)、LG(油脂多),取值范围为[0,100];将洗涤时间分为5个模糊集:VS(很短)、S(短)、M(中等)、L(长)、VL(很长),取值范围为[0,60]。
2. 隶属函数的确定:
采用三角形隶属函数(trimf)对污泥、油脂、洗涤时间进行模糊化。
3. 模糊规则的设计及模糊控制表的建立:
根据人的操作经验设计模糊规则,模糊规则设计的标准为:“污泥越多,油脂越多,洗涤时间越长”; “污泥适中,油脂适中,洗涤时间适中”;“污泥越少,油脂越少,洗涤时间越短”。
据此,建立模糊控制表,见表4.1。
表4.1 洗衣机的模糊控制表
4. 模糊控制器的MATLAB实现:
(1)初始化:在MATLAB命令窗口中输入“fuzzy”,打开FIS编辑器。执行“Edit→AddVariable…→Input”命令,使系统变成两个输入、一个输出。给输入、输出信号命名:将inputl改为“污泥质量x(g)”,将input2改为“油脂质量y(g)”,将outputl改为“洗涤时间z(min)”。执行“File→Export→To File”命令,命名文件为“jd-学号后三位”(如:学号为201315020101,则命名为“jd-101”),建立的模糊推理系统的GUI如图4.1所示。
图4.1 FIS编辑器界面
(2)隶属函数编辑器:双击输入或输出的图标,打开隶属度函数编辑器,分别设置污泥质量x(g)、油脂质量y(g)和洗涤时间z(min)三个参数的隶属度函数,隶属度函数图形分别如图4.2、图4.3和图4.4所示。
图4.2 污泥质量x(g)的隶属度函数 图4.3 油脂质量y(g)的隶属度函数
图4.4 洗涤时间z(min)的隶属度函数
(3)规则编辑器:双击FIS编辑器中间的图标,打开规则编辑器,根据表4.1所示的模糊规则,在规则编辑器GUI上产生这些规则,共9条规则,结果如图4.5所示。
图4-5 规则生成界面
(4)规则观察器:在FIS编辑器中打开“View→Rules”命令,得到模糊规则观察器如图4.6所示。
图4-6 模糊规则编辑器界面
5. 若传感器测得的污泥质量和油脂质量如表4.2,求出该洗衣机的洗涤时间。
表4.2 洗衣机的洗涤时间表
注意:污泥质量与油脂质量的最后一项数字为学号的最后2位数字,若学号最后两位为10以内,则十位上的0改为8。
如:学号为201315020101,则最后一项数字为“81”;
学号为201315020121,则最后一项数字为“21”。
四、实验分析
实验分析:根据以上的洗涤时间表,污泥越少,油脂越少,洗涤时间越短;污泥适中,油脂适中,洗涤时间适中;污泥越多,油脂越多,洗涤时间越长。符合生活中的操作经验,说明该模糊控制器设计合理。
|