自动控制设计(自动控制原理课程设计
- 格式:doc
- 大小:1.69 MB
- 文档页数:12
自动控制原理课程设计
本课程设计的目的着重于自动控制基本原理与设计方法的综合实际应用。主要内容包括:古典自动控制理论(PID )设计、现代控制理论状态观测器的设计、自动控制MATLAB 仿真。通过本课程设计的实践,掌握自动控制理论工程设计的基本方法和工具。
1 内容
某生产过程设备如图1所示,由液容为C1和C2的两个液箱组成,图中Q 为稳态液体流量)/(3s m ,i Q ∆为液箱A 输入水流量对稳态值的微小变化)/(3s m ,
1Q ∆为液箱A 到液箱B 流量对稳态值的微小变化)/(3s m ,2Q ∆为液箱B 输出水流
量对稳态值的微小变化)/(3s m ,1h 为液箱A 的液位稳态值)(m ,1h ∆为液箱A 液面高度对其稳态值的微小变化)(m ,2h 为液箱B 的液位稳态值)(m ,2h ∆为液箱B 液面高度对其稳态值的微小变化)(m ,21,R R 分别为A ,B 两液槽的出水管液阻
))//((3s m m 。设u 为调节阀开度)(2m 。
已知液箱A 液位不可直接测量但可观,液箱B 液位可直接测量。
要求
图1 某生产过程示意图
1. 建立上述系统的数学模型;
2. 对模型特性进行分析,时域指标计算,绘出bode,乃示图,阶跃反应曲线
3. 对B 容器的液位分别设计:P ,PI ,PD ,PID 控制器进行控制;
4. 对原系统进行极点配置,将极点配置在-1+j 和-1-j ;(极点可以不一样)
5. 设计一观测器,对液箱A 的液位进行观测(此处可以不带极点配置);
6. 如果要实现液位h2的控制,可采用什么方法,怎么更加有效?试之。 用MATLAB 对上述设计分别进行仿真。
(提示:流量Q=液位h/液阻R ,液箱的液容为液箱的横断面积,液阻R=液面差变化h ∆/流量变化Q ∆。)
2 双容液位对象的数学模型的建立及MATLAB 仿真过程一、对系统数学建模
如图一所示,被控参数2h ∆的动态方程可由下面几个关系式导出: 液箱A :dt h d C Q Q i 1
1
1∆=∆-∆ 液箱B :dt
h d C Q Q 2
2
21∆=∆-∆ 111/Q h R ∆∆= 222/Q h R ∆∆= u K Q u i ∆=∆
消去中间变量,可得:
u K h dt h d T T dt
h d T T ∆=∆+∆++∆22
212
2221)( 式中,21,C C ——两液槽的容量系数
21,R R ——两液槽的出水端阻力 111C R T =——第一个容积的时间常数 222C R T =——第二个容积的时间常数 2R K K u =_双容对象的放大系数
其传递函数为:
1
)()()()(212212+++=∆∆=
S T T S T T K
S U S H S G
二.对模型特性进行分析,绘出bode,奈氏图,阶跃反应曲线 当输入为阶跃响应时的Matlab 仿真: 令T1=T2=6;K=1
112361)()()(22++=∆∆=
S S S U S H S G 2
)16(1
+=S
单位阶跃响应的MATLAB 程序: num1=[1];den1=[36 12 1]; G1=tf(num1,den1); figure(1); step(G1);
xlabel('时间(sec)');ylabel('输出响应');title('二阶系统单位阶跃响应'); step(G1,100); 运行结果如下:
阶跃反应曲线:
图1
c(∞)=1; c(t p )=1; t p =45.5s; t d =10s; t s =45.5s; 最大超调量:δ(t p )= [c(t p )- c(∞)]/ c(∞)*100%=0%
稳态误差分析: 开环传递函数1
12361
)()()(22++=∆∆=
S S S U S H S G ,稳态误差1=ss e ;
用MATLAB绘制的奈氏图如下图2所示,其程序如下:nyquist([1],conv([6 1],[6 1]))
图2
在工程实践中,一般希望正相角裕度r为45o~60o,增益裕度K
g
10
≥dB,即
K
g
3
≥。当系统为单位负反馈时的Bode图:用MATLAB绘制的奈氏图如下图3
所示,其程序如下:
sys=tf([1],conv([6 1],[6 1]));margin(sys);figure
图3
三:对B容器的液位分别设计:P,PI,PD,PID控制器进行控制PID控制的原理和特点
(1)P控制:取P=9; I=0; D=0;
(2)PI控制:P=6,I=0.4,D=0;
(3)PD控制:P=9,I=0,D=5;
(4)PID控制:P=5,I=0.3,D=4;
四.系统极点配置在-1+j; -1-j
根据传递函数1
)()()()(212
212+++=∆∆=
S T T S T T K
S U S H S G 得微分方程 u K h dt h d T T dt h d T T ∆=∆+∆++∆22
212
2221)( 令222212,,x h x h x h &&&&=∆=∆=∆
得状态方程
u K x x T T T T T T x x Ku x T T T T x T T x x x ⎥⎦
⎤
⎢⎣⎡⎥⎦⎤⎢⎣⎡⎥⎥⎦⎤⎢⎢⎣⎡+--=⎥
⎦⎤⎢⎣⎡++--
==01101
2121212
121
22
121121221+
即:&&&&
输出:1x y =
极点配置: 令K=1; T1=T2=2;
u x x x x u
x x x x x ⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣
⎡--=⎥⎦⎤⎢⎣⎡+--==10125.010*********
1+即:&&&&
用MATLAB 确定状态反馈矩阵K ,使得系统闭环极点配置在(-1+j,-1-j ),程序如下:A=[0 1;-0.25 -1]; B=[0;1];
P=[-1+j;-1-j]; K=place(A,B,P) 运行结果为 K =
1.7500 1.0000 仿真: