资源描述
自动控制原理及系统仿真课程设计
姓 名:
专 业: 自 动 化
班 级: 10306203
学 号: 10306203
学 院: 机械与电子工程系
二零一三年十一月二十四日
一、 设计要求
1、 完成给定题目中,要求完成题目的仿真调试,给出仿真程序和图形。
2、 自觉按规定时间进入实验室,做到不迟到,不早退,因事要请假。严格遵守实验室各项规章制度,实验期间保持实验室安静,不得大声喧哗,不得围坐在一起谈与课程设计无关的空话,若违规,则酌情扣分。矚慫润厲钐瘗睞枥庑赖。
3、 课程设计是考查动手能力的基本平台,要求独立设计操作,指导老师只检查运行结果,原则上不对中途故障进行排查。聞創沟燴鐺險爱氇谴净。
4、 加大考查力度,每个时间段均进行考勤,计入考勤分数,按照运行的要求给出操作分数。每个人均要全程参与设计,若有1/3时间不到或没有任何运行结果,视为不合格。残骛楼諍锩瀨濟溆塹籟。
二、 Matlab仿真及结果
一)自动控制仿真训练
1.已知两个传递函数分别为:
①在MATLAB中分别用传递函数、零极点、和状态空间法表示;
传递函数、零极点、和状态空间法表示如下
1.1传递函数程序代码:
num=[1]
den=[3 1]
g=tf(num,den)
运行结果:
num =
1
den =
3 1
g =
1
-------
3 s + 1
Continuous-time transfer function.
1.2零极点程序代码:
Gtf=tf([1],[3 1])
[z,p,k]=zpkdata(Gtf, 'v')
运行结果:
z =
Empty matrix: 0-by-1
p =
-0.3333
k =
0.3333
1.3状态空间法程序代码:
num=[1]
den=[3 1]
gtf=tf(num,den)
gss=ss(gtf)
运行结果:
gss =
a =
x1
x1 -0.3333
b =
u1
x1 0.5
c =
x1
y1 0.6667
d =
u1
y1 0
Continuous-time state-space model.
传递函数、零极点、和状态空间法表示如下
2.1传递函数程序代码:
num=[2]
den=[3 1 0]
g=tf(num,den)
运行结果:
num =
2
den =
3 1 0
g =
2
---------
3 s^2 + s
Continuous-time transfer function.
2.2零极点程序代码:
Gtf=tf([2],[3 1 0])
[z,p,k]=zpkdata(Gtf, 'v')
运行结果:
z =
Empty matrix: 0-by-1
p =
0
-0.3333
k =
0.6667
2.3状态空间法程序代码:
num=[2]
den=[3 1 0]
gtf=tf(num,den)
gss=ss(gtf)
运行结果:
gss =
a =
x1 x2
x1 -0.3333 0
x2 1 0
b =
u1
x1 1
x2 0
c =
x1 x2
y1 0 0.6667
d =
u1
y1 0
Continuous-time state-space model.
②在MATLAB中分别求出通过反馈、串联、并联后得到的系统模型。
1.反馈程序代码:
num1=[1];
den1=[3 1];
num2=[2];
den2=[3 1 0];
G1=tf(num1,den1);
G2=tf(num2,den2);
Gf1=G1/(1+G1*G2)
运行结果:
Gf1 =
9 s^3 + 6 s^2 + s
---------------------------------
27 s^4 + 27 s^3 + 9 s^2 + 7 s + 2
Continuous-time transfer function.
2.串联程序代码:
num1=[1];
den1=[3 1];
num2=[2];
den2=[3 1 0];
G1=tf(num1,den1);
G2=tf(num2,den2);
Gp=G1+G2
运行结果:
Gp =
3 s^2 + 7 s + 2
-----------------
9 s^3 + 6 s^2 + s
Continuous-time transfer function.
3.并联程序代码:
num1=[1];
den1=[3 1];
num2=[2];
den2=[3 1 0];
G1=tf(num1,den1);
G2=tf(num2,den2);
Gs=G2*G1
运行结果:
Gs =
2
-----------------
9 s^3 + 6 s^2 + s
Continuous-time transfer function.
2. 系统的传递函数模型为,判断系统的稳定性。
程序代码:
num=[1 7 24 24];
den=[1 10 35 50 24];
G=tf(num,den)
Gc=feedback(G,1)
[num,den]=tfdata(Gc,'v');
r=roots(den)
disp('系统闭环极点:');
disp(r)
a=find(real(r)>=0);
b=length(a);
if b>0
disp=('系统不稳定.');
else disp('系统稳定.');
end
程序结果:
Gc =
s^3 + 7 s^2 + 24 s + 24
---------------------------------
s^4 + 11 s^3 + 42 s^2 + 74 s + 48
Continuous-time transfer function.
r =
-5.5616
-2.0000 + 1.4142i
-2.0000 - 1.4142i
-1.4384
系统闭环极点:
-5.5616
-2.0000 + 1.4142i
-2.0000 - 1.4142i
-1.4384
系统稳定.
3.单位负反馈系统的开环传递函数为,绘制根轨迹图,并求出与实轴的分离点、与虚轴的交点及对应的增益。
程序代码:
num=1;
den=conv([1 2.73 0],[1 2 2]);
rlocus(num,den)
程序结果:
4. 已知系统的开环传递函数为,绘制系统的Bode图和Nyquist,并能够求出系统的幅值裕度和相角裕度。
程序代码:
s=tf('s');
G=5*(10*s+1)/(s*(s^2+0.2*s+1)*(0.5*s+1))
step(feedback(G,1));
bode(G)
grid
[gm,pm]=margin(G)
figure(2)
nyquist(G)
运行结果:
G =
50 s + 5
-------------------------------
0.5 s^4 + 1.1 s^3 + 0.7 s^2 + s
Continuous-time transfer function.
Warning: The closed-loop system is unstable.
> In warning at 26
In DynamicSystem.margin at 63
In NKST at 6
gm =
0.0093
pm =
-65.0419
5.考虑如图所示的反馈控制系统的模型,各个模块为
,,,用MATLAB语句分别得出开环和闭环系统的阶跃响应曲线。
程序代码:
num1=4;
den1=[1 2 3 4];
num2=[1 -3];
den2=[1 3];
G1=tf(num1,den1);
G2=tf(num2,den2);
Gs=G1*G2
step(Gs)
运行结果:
Gs =
4 s - 12
-------------------------------
s^4 + 5 s^3 + 9 s^2 + 13 s + 12
程序代码:
num1=4;
den1=[1 2 3 4];
num2=[1 -3];
den2=[1 3];
G1=tf(num1,den1);
G2=tf(num2,den2);
Gs=G1*G2
num3=1;
den3=[0.01,1];
Hs=tf(num3,den3);
G0=feedback(Gs,Hs)
step(G0)
运行结果:
Gs =
4 s - 12
-------------------------------
s^4 + 5 s^3 + 9 s^2 + 13 s + 12
Continuous-time transfer function.
G0 =
0.04 s^2 + 3.88 s - 12
---------------------------------------------------酽锕极額閉镇桧猪訣锥。
0.01 s^5 + 1.05 s^4 + 5.09 s^3 + 9.13 s^2 + 17.12 s彈贸摄尔霁毙攬砖卤庑。
二)控制方法训练
1、微分先行控制
设控制回路对象,分别采用常规PID和微分先行PID控制后系统输出的响应曲线,比较改进后的算法对系统滞后改善的作用。謀荞抟箧飆鐸怼类蒋薔。
常规PID:
微分先行PID控制:
2、Smith预估控制
设控制回路对象,设计Smith预估控制器,分别采用常规PID和Smith预估控制后系统输出的响应曲线,比较改进后的算法对系统滞后改善的作用。厦礴恳蹒骈時盡继價骚。
常规PID:
Smith预估控制
3、大林算法控制
设被控对象传函,目标闭环传递函数,试设计大林控制器,
并在Matlab中进行验证。
三)控制系统的设计
1.双容水箱串级控制系统的设计
要求:完成双容水箱控制系统的性能指标:超调量<30%,调节时间<30s,扰动作用下系统的性能较单闭环系统有较大的改进。茕桢广鳓鯡选块网羈泪。
1). 分析控制系统的结构特点设计合理的控制系统设计方案;
2).建立控制系统的数学模型,完成系统的控制结构框图;
3).完成控制系统的主副控制器的控制算法策略的选择(PID),并整定相应的控制参数;
4).完成系统的MATLAB仿真,验证控制算法的选择,并要求达到系统的控制要求,完成系统的理论的设计。鹅娅尽損鹌惨歷茏鴛賴。
5).写出系统的PID算法控制程序等的软件程序代码(C语言或汇编语言)。
以THJ-2型过程控制实验对象测得的实验数据为:上水箱直径为25cm,高度为20cm,当电动阀输出的开度为50时,得水泵流量为Q=4.3186L/min,水箱自平衡时的液位高度为10.894cm,说明给定的频率阶跃信号适当,不会使系统动态特性的非线性因素增大,更不会引起系统输出出现超调量的情况,在开度为50时下水箱的液位随时间变化值如下表:籟丛妈羥为贍偾蛏练淨。
T/min
0
1
2
3
4
5
6
7
8
9
H/cm
0
0.67
4.76
5.96
7.63
8.30
8.83
9.39
9.83
10.05
T/min
10
11
12
13
14
15
16
17
18
19
H/cm
10.16
10.40
10.50
10.63
10.72
10.76
10.83
10.89
10.89
10.89
下水箱直径为35cm,高度为20cm,当电动阀开度为40时, 得水泵流量为Q=2.6064L/min,水箱自平衡时的液位高度为10.838cm,同样说明给定的频率阶跃信号适当,在开度为40时时上水箱的液位随时间变化值如下表:預頌圣鉉儐歲龈讶骅籴。
T/min
0
0.37
1.37
2.37
3.37
4.37
5.37
6.37
7.37
H/cm
0
1.17
2.16
3.16
3.83
5.17
5.30
5.83
6.50
T/min
8.37
9.37
10.37
11.37
12.37
13.37
14.37
15.37
16.37
H/cm
7.03
7.54
7.83
8.36
8.50
9.03
9.17
9.50
9.76
T/min
17.37
18.37
19.37
20.37
21.37
22.37
23.37
24.37
25.37
H/cm
9.83
10.10
10.36
10.50
10.84
10.84
10.84
10.84
10.84
2.基于数字控制的双闭环直流电机调速系统设计
要求:完成双闭环的直流电机调速系统的微机控制设计,超调量<30%,调节时间<0.5s,稳态无静差。
1) 分析控制的结构特点设计合理的控制系统的控制方案;
2) 选择合适的检测与执行元件和控制器,完成控制系统的硬件结构设计;
3) 建立系统的各控制参数的数学模型;
4) 分别完成转速和电流控制系统的控制算法的选择和参数的整定,完成系统设计;
5) 完成系统的MATLAB仿真,验证控制算法的选择,并要求达到系统的控制要求,完成系统的理论的设计。
设直流电机,,,,电枢电阻,V-M系统的主电路总电阻,电枢电路的电磁时间常数,机电时间常数,测速反馈系数,系统的电流反馈系数,触发整流装置的放大系数Ks=30,三相平均失控时间Ts=0.00167s,电流滤波时间常数Toi=0.002s,转速环滤波时间常数Ton=0.01s。渗釤呛俨匀谔鱉调硯錦。
三、 实验心得
通过本次课程设计,对自动控制原理的知识有了更具体的理解和直观的认识。通过三个设计,对于微机控制的计算机仿真,让我初步掌握Matlab的基本应用并对其工作原理和输入输出情况进行分析,将理论和实践联系在一起。在设计过程中,需要应用到的数电等方面的知识,通过此次设计也让我将这些知识进行了复习。而通过对参数进行设定和计算,提高了自身的计算能力和理解能力。铙誅卧泻噦圣骋贶頂廡。
总之,通过课程设计,我有了很多收获。不但让自己的知识结构更加合理,也让自己的知识面更加广泛。通过此次课程设计,我认识到了自己的不足并作出了弥补,让自身得到了提高。擁締凤袜备訊顎轮烂蔷。
17
展开阅读全文