第10幸 制系统的计算机仿真应用实例 本章主要教学内容 熟悉计算机仿真在实际系统设计中的基本应用 >掌握利用 MATLAB和 Simulink进行系统仿真的 基本方法
1 本章主要教学内容 ➢熟悉计算机仿真在实际系统设计中的基本应用 ➢掌握利用MATLAB和Simulink进行系统仿真的 基本方法 第10章 控制系统的计算机仿真应用实例
第10幸 制系统的计算机仿真应用实例 本章教学目的及要求 掌握控制系统性能的分析和仿真处理过程 熟练运用 MATLAB和 Simulink对系统仿真进 行编程
2 本章教学目的及要求 ➢掌握控制系统性能的分析和仿真处理过程 ➢熟练运用MATLAB和Simulink对系统仿真进 行编程 第10章 控制系统的计算机仿真应用实例
第10幸 制系统的计算机仿真应用实例 101问题的描述 如图10-1所示的汽车运动控制系统,为了方便系统 数学模型的建立和转换,我们设定该系统中汽车车轮的 转动惯量可以忽略不计,并且假定汽车受到的摩擦阻力 大小与汽车的运动速度成正比,摩擦阻力的方向与汽车 运动的方向相反,这样,可将图10-1所示的汽车运动控 制系统简化为一个简单的质量阻尼系统
3 10.1 问题的描述 如图10-1所示的汽车运动控制系统, 为了方便系统 数学模型的建立和转换,我们设定该系统中汽车车轮的 转动惯量可以忽略不计,并且假定汽车受到的摩擦阻力 大小与汽车的运动速度成正比,摩擦阻力的方向与汽车 运动的方向相反,这样,可将图10-1所示的汽车运动控 制系统简化为一个简单的质量阻尼系统。 第10章 控制系统的计算机仿真应用实例
第10幸 制系统的计算机仿真应用实例 by 图10-1汽车运动示意图
4 图10-1 汽车运动示意图 第10章 u bv m v v 控制系统的计算机仿真应用实例
第10幸 制系统的计算机仿真应用实例 根据牛顿运动定律,质量阻尼系统的动态数学模型 可表示为: mit by= u y 为了分析方便,我们对系统的参数进行设定: 汽车质量m=1000kg, 比例系数b=50Ns/m, 汽车的驱动力L=500N
5 根据牛顿运动定律,质量阻尼系统的动态数学模型 可表示为: 第10章 控制系统的计算机仿真应用实例 = + = y v mv bv u 为了分析方便,我们对系统的参数进行设定: 汽车质量m=1000kg, 比例系数b=50 N·s/m, 汽车的驱动力u=500 N
第10章, 制系统的计算机仿真应用实例 根据控制系统的设计要求,当汽车的驱动力为500N 时,汽车将在5秒内达到10m/s的最大速度。由于该系 统为简单的运动控制系统,因此将系统设计成10%的 最大超调量和2%的稳态误差。这样,该汽车运动控制 系统的性能指标可以设定为: 上升时间:<55; 最大超调量:<10% 稳态误差:<2%
6 第10章 根据控制系统的设计要求,当汽车的驱动力为500N 时,汽车将在5秒内达到10m/s的最大速度。由于该系 统为简单的运动控制系统,因此将系统设计成10%的 最大超调量和2%的稳态误差。这样,该汽车运动控制 系统的性能指标可以设定为: 上升时间:<5s; 最大超调量:<10%; 稳态误差:<2%。 控制系统的计算机仿真应用实例
第10幸 制系统的计算机仿真应用实例 102系统的模型表示 为了得到控制系统的传递函数,我们进行 Laplace变 换。假定系统的初始条件为零,则该系统的 Laplace变 换式为: msv(s)+bv(s=U(s) Y(s)=v(s) msY(S)+br(S=U(s) 则该系统的传递函数为: Y()1 U(s) ms +6
7 第10章 10.2 系统的模型表示 为了得到控制系统的传递函数,我们进行Laplace变 换。假定系统的初始条件为零,则该系统的Laplace变 换式为: 控制系统的计算机仿真应用实例 = + = ( ) ( ) ( ) ( ) ( ) Y s V s msV s bV s U s msY(s) + bY(s) = U(s) 则该系统的传递函数为: U s ms b Y s + = 1 ( ) ( )
第10幸 制系统的计算机仿真应用实例 如果用 MATLAB语言表示该系统的传递函数模型,可 编写相应的程序代码如下 m=1000;b=50;u=500 num=[1]; den =m b] sys=tf(num, den); 同时,也可写成如下的状态方程形式: 心√
8 第10章 如果用MATLAB语言表示该系统的传递函数模型,可 编写相应的程序代码如下: m=1000;b=50;u=500; num=[1];den=[m b]; sys=tf(num,den); 控制系统的计算机仿真应用实例 同时,也可写成如下的状态方程形式: = = − + y v u m bv m b v 1
第10幸 制系统的计算机仿真应用实例 如果用 MATLAB语言表示该系统状态空间模型,可编写相 应的程序代码如下: m=1000;b=50;u=500; A=[-b/m];B=[m];C=[1]D=0; Sys=SS(A, B, C D) 当然,也可以使用 MATLAB中的模型转换函数t2ss() 直接将传递函数模型转换成标准的状态空间模型
9 如果用MATLAB语言表示该系统状态空间模型,可编写相 应的程序代码如下: m=1000;b=50;u=500; A=[-b/m];B=[l/m];C=[1];D=0; sys=ss(A,B,C,D); 当然,也可以使用MATLAB中的模型转换函数tf2ss(), 直接将传递函数模型转换成标准的状态空间模型。 第10章 控制系统的计算机仿真应用实例
第10幸 制系统的计算机仿真应用实例 103系统的仿真设计 10.3.1利用 MATLAB进行仿真设计 1.求系统的开环阶跃响应 在命令窗口输入前面所描述的 MATLAB程序代码,可得该 系统的模型,接着输入下面的指令: steplu*sys) 可得到该系统的开环阶跃响应曲线,如图10-2所示 从图上可看出该系统不能满足要求达到的性能指标,需 要加上合适的控制器
10 第10章 10.3 系统的仿真设计 10.3.1 利用MATLAB进行仿真设计 1.求系统的开环阶跃响应 在命令窗口输入前面所描述的MATLAB程序代码,可得该 系统的模型,接着输入下面的指令: step(u*sys) 可得到该系统的开环阶跃响应曲线,如图10-2所示。 从图上可看出该系统不能满足要求达到的性能指标,需 要加上合适的控制器。 控制系统的计算机仿真应用实例