《自动控制理论》课程设计指导书
霍爱清 薛朝妹
自动化教研室
目 录
1 控制系统的数学描述????????????????????????????1
1.1 微分方程??????????????????????????????1 1.2 传递函数??????????????????????????????6 1.3 状态空间描述????????????????????????????9 1.4 模型转换??????????????????????????????11 2 控制系统的校正??????????????????????????????15
2.1 单变量系统的两种主要校正方式????????????????????15 2.2 PI、PD、PID校正??????????????????????????15 2.3 串联校正举例????????????????????????????18 3 MATLAB在自动控制系统中的应用?????????????????????24
3.1 概述????????????????????????????????24 3.2 控制系统函数全集??????????????????????????30 3.3 应用实例??????????????????????????????31 4 SIMULINK简介??????????????????????????????41
4.1 引导????????????????????????????????41 4.2 SIMULINK模型的构建????????????????????????45 5 自动控制系统设计任务???????????????????????????50
5.1 任务一???????????????????????????????50 5.2 任务二???????????????????????????????52 5.3 任务三???????????????????????????????53 5.4 任务四???????????????????????????????54 6 附录??????????????????????????????????56
6.1 时域分析例题及程序?????????????????????????56 6.2 根轨迹分析例题及程序????????????????????????64 6.3 频域分析例题及程序?????????????????????????66
第一章 控制系统的数学描述
1.1 微分方程
1.1.1 物理系统的微分方程
利用机械学 、电学、流体力学和热力学等的物理规律,我们可以得到物理系统的动态方程。它们通常用常系数线性微分方程来描述。
1.1.2 数值解
通过拉普拉斯变换和反变换,可得到线性时不变方程的解析解,也可用状态转移矩阵 φ(t)求解。这些分析方法通常只限于常系数的线性微分方程。解析解是精确的,然而通常寻找解析解是困难的,甚至是不可能的。而数值分析方法直接在时域里求解微分方程,不仅适用于线性时不变方程,也适用于非线性以及时变微分方程。
MATLAB提供了两个求微分方程数值解的函数,它们采用龙格-库塔(Runge-kutta)法。Ode23和ode45分别表示采用2阶和4阶龙格-库塔公式,后者具有更高的精度。
n阶微分方程必须化为n个首1的一阶微分方程组,且放入M-文件中,以便返回方程状态变量的导数,下面的例子介绍这些函数的用法。
例1.1 对图1-1的机械系统,已知三个量——拉力、摩擦力、以及弹簧力都影响质量M的加速度。
利用牛顿运动定理,建立系统的力平衡方程式
d2xdxM?B?Kx?f(t) d2tdt令 x1?x,x2?dx,有 dtdx1?x2 dtdx21?[f(t)?Bx2?Kx1]dtM
设质量M=1kg,摩擦系数B=5N/m/sec,弹簧常数K=25N/m。在t=0时刻,施加25N的拉力。上述方程及已知量在M-文件mechsys.m中定义如下:
function xdot=mechsys(t, x); F=25;
1
M=1;B=5;K=25;
xdot=[x(2);1/M*(F-B*x(2)-K*x(1))];
下面的M-文件使用ode23对系统在零初始条件下进行仿真: t0=0; tfinal=3; %时间间隔0~3秒 x0=[0,0]; %零初始条件 tol=0.001; %精度
trace=0; %如果非零,则打印出每一步的计算值 [t, x]=ode23(’mechsys’,t0,tfinal,x0,tol,trace) subplot(211),plot(t, x);
title (’Time response of mechanical translational system’) xlabel (’Time-sec’) text (2,1.2,’displacement’) text (2,.2,’veloclty’) d=x(:,1);v=x(:,2); subplot(212),plot(d,v);
title (’velocity versus displacement’) xlabel (’displacement’) ylabel (’velocity’) subplot(111) 仿真结果如图1-2。
Time response of mechanical translational system3210-1displacementveloclty00.51.52Time-secvelocity versus displacement12.5332velocity10-100.20.40.60.8displacement11.21.4 图1-2
2
相关推荐: