资源预览内容
第1页 / 共36页
第2页 / 共36页
第3页 / 共36页
第4页 / 共36页
第5页 / 共36页
第6页 / 共36页
第7页 / 共36页
第8页 / 共36页
第9页 / 共36页
第10页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
基于Simulink的控制系统建模与仿真,例1 强制阻尼二阶系统 考虑如图所示强制阻尼二阶系统。图中,小车所受外力 为F,小车位移为x。设小车质量m=5,弹簧弹性系数k=2, 阻尼系数f=1。设系统的初始状态为静止在平衡点处,外力函 数为幅值为1的阶跃量。仿真此小车系统的运动。,建模: 根据牛顿第二定律,小车受弹簧的弹性力、 阻尼器的阻尼力、加速度力,运动方程如下: 例exm1。,例2 蹦极跳系统 蹦极跳是一种挑战身体极限的运动,蹦极者系 着一根弹力绳从高处的桥梁或山崖等向下跳。在下 落的过程中,蹦极着几乎处于失重状态。应用 Simulink对蹦极跳系统进行仿真研究。,建模: 根据牛顿运动定律,自由下落物体的位置: 式中,a1、a2为空气阻力系数。 选择桥梁作为蹦极者开始起跳的起点,表明位置x的基 准为蹦极者开始跳下的位置,并设低于桥梁的位置为正值, 高于桥梁的位置为负值。 设弹力绳索的弹性系数为k,定义绳索长度为l,则其对 下落体位置的影响为: 这样,整个蹦极跳系统的数学描述为: 可见,蹦极跳系统是一个典型的非线性连续时间系统。,设:桥梁距离地面为50m;绳索长度为10m;蹦 极者从桥梁起跳,起始位置处绳索末端位置为0(即 在起跳处);蹦极者起始速度为零;其余参数为: k=20,a2=a1=1,m=70kg,g=10m/s2。 通过仿真,分析蹦极跳系统对体重为70kg的蹦 极者而言是否安全;若不安全,如何改进,以保证 安全。 例exm2。,例3 汽车速度控制系统 汽车行驶在下图所示的斜坡上(可看作汽车沿 直线山坡路向前行驶)。要求设计一个简单的比例 控制器,使汽车能以设定的速度运动。,1. 建立汽车运动的数学模型 根据牛顿第二定律,汽车的运动方程: 式中,m为汽车质量,设m=100; Fe是引擎动力,汽车最大驱动力为600,最大制动力为 -600;即 Fw是空气阻力, 式中第二项是为近似考虑“阵风”而引入的; 为行驶汽车的速度; Fh是重力分量, 式中为坡路与水平方向的夹角。,2. 建立比例控制器的数学模型 比例控制器工作原理:根据期望速度和实际速度之差产 生“指令”驱动Fc,其数学模型是: 式中,Ke为比例系数,可取Ke=50; 为汽车期望速度, 为汽车实际速度。 “指令”驱动力Fc与实际驱动力Fe的差别在于:前者是理 论上需要的计算力,后者是受物理限制后实际能提供的力。 例exm3。,例4 汽车行驶控制系统 汽车行驶控制系统是应用非常广泛的控制系统,其主 要目的是对汽车速度进行合理的控制。系统工作原理如下: (1)汽车速度操纵机构的位置发生改变以设置汽车的速 度,这是因为操纵机构的不同位置对应着不同的速度。 (2)测量汽车当前速度,并求取它与指定速度的差值。 (3)由速度差值信号驱动汽车产生相应牵引力,并由此 牵引力改变汽车的速度直到其速度稳定在指定的速度。 由系统工作原理看,汽车行驶控制系统为典型的反馈控 制系统。下面建立此系统的Simulink模型并进行仿真分析。,1汽车行驶控制系统的物理模型与数学描述 速度操纵机构的位置变换器 位置变换器是汽车行驶控制系统的输入部分,其 目的是将速度操纵机构的位置转换为相应的速度,二 者之间的数学关系如下所示:,离散行驶控制器 行驶控制器是整个汽车行驶控制系统的核心。 简单说来,其功能是根据汽车当前速度与指定速度 的差值,产生相应的牵引力。行驶控制器为一典型 的PID控制器,其数学描述为: 积分环节: 微分环节: 系统输出:,汽车动力机构 汽车动力机构是行驶控制系统的执行机构。其 功能是在牵引力的作用下改变汽车速度,使其达到 指定的速度。牵引力与速度之间的关系为: 其中v为汽车的速度、F为汽车的牵引力、m为汽车 的质量、b为阻力因子。,2. 建立汽车行驶控制系统的模型 按照汽车行驶控制系统的物理模型与数学描述建立系统 模型。下面给出建立系统模型所需的主要系统模块: (1)Math模块库中的Slider Gain滑动增益模块:对位 置变换器的输入信号的范围进行限制。 (2)Discrete模块库中的Unit Delay单位延迟模块:用来 实现行驶控制器(即PID控制器)。 (3)Continuous模块中的Integrator积分器模块:用来 实现汽车动力机构。 (4)Subsystems模块库中的Subsystem子系统模块:用 来对系统不同的部分进行封装。 然后建立系统模型,并将速度操纵机构的位置变换器、 行驶控制器、汽车动力机构封装到不同的子系统之中。,汽车行驶控制系统之位置变换器与汽车动力机构,行驶控制系统之行驶控制器,3系统模块参数设置与仿真参数设置 建立系统模型之后,接下来按照系统的要求设置系统模 块参数与仿真参数。这里仅给出模块参数与相应仿真参数。 速度操纵机构的位置变换器参数: (1)Slider Gain模块:最小值Low为0、最大值High为1、 初始取值0.555。 (2)Gain模块:增益取值为50。 (3)Constant1模块:常数取值为45。 行驶控制器参数: (1)所有Unit Delay模块:初始状态为0、采样时间为 0.02s。 (2)P、I、D增益模块:取值分别为1、0.01、0。,汽车动力机构参数: (1)Gain模块:取值为1/m,即1/1000。 (2)Gain1模块:取值为b/m,即20/1000。 (3)Integrator模块:初始状态为0,即速度初值为0。 系统仿真参数: (1)仿真时间范围:从0至1000s。 (2)求解器:使用变步长连续求解器。 4系统仿真与分析 在对系统模块参数与系统仿真参数设置之后,接下来对 系统进行仿真分析。为了使用户对离散行驶控制器的作用有 一个直观的认识,这里使用两组不同的PID控制参数对系统 进行仿真,其结果如下图所示。,不同控制参数下的仿真结果,汽车行驶控制系统的目的是使汽车的速度在较短 的时间内平稳地达到指定的速度。从上图的仿真结果 中可以看出,在行驶控制器控制参数取值为P=1、 I=0.01、D=0时,汽车的速度并非直接达到指定的速 度,而是经过一个振荡衰减过程,最后逐渐过渡到指 定的速度。此时行驶控制系统为典型的二阶欠阻尼控 制系统。,系统中最为重要的部分为行驶控制器,行驶控制器是一个典型的PID反馈控制器。现要求使用命令行方式对行驶控制系统中的行驶控制器中比例调节的性能进行定性的分析。已知行驶控制器中PID控制器的I(积分)、D(微分)参数如下取值分别为I=0.01、D=1。P(比例)的取值由MATLAB脚本文件所决定(以分析不同P值下行驶控制器的性能)。,为了对行驶控制器中比例调节的性能进行定性的分析,需要对行驶控制系统模型做一些改变,如下所示: (1) 将行驶控制器子系统中的比例增益的取值改为p。 (2) 在系统模型的最顶层加入一个Outport模块输出仿真结果。 下图所示为修改后的汽车行驶控制系统的系统模型框图。,修改后的汽车行驶控制系统模型,然后编写MATLAB脚本文件对行驶控制系统在不同的比例调节器取值下进行仿真,并绘制出不同取值下系统仿真结果以对比例调节性能进行分析。其要求如下: (1) 编写一个for循环改变p的值,取值范围为0到25,间隔为5。 (2) 在同一幅图中作出不同p值下系统的仿真结果以对比例调节性能进行分析。,不同比例调节器取值下的系统响应,从系统仿真的结果中可以明显看出比例调节器取值对汽 车行驶控制系统性能的影响:增加比例调节器的取值可以有效的改善行驶控制系统的动态性能。这是因为,对于行驶控制系统而言,其速度变化越平稳越好(但并非变化缓慢)。从图中可以看出,对于取值较大的比例调节器,汽车速度的过渡时间较小,而且变化平稳(仿真结果曲线无振荡,光滑)。,例5 滑艇动态方程及其线性化 1. 滑艇动力学方程 在滑艇的运行过程中,滑艇主要受到如下作用力的控制:滑艇自身的牵引力 ,滑艇受到的水的阻力 。其中水的阻力 ,为滑艇的运动速度。由运动学的相关定理可知,整个滑艇系统的动力学方程为 其中m为滑艇的质量。由滑艇系统的动力学方程易知,此系统为一非线性系统。下面来建立此系统的Simulink模型并进行线性分析。,2. 滑艇速度控制系统的模型建立与仿真 使用下面的Simulink模块建立滑艇速度控制系统的模型: (1) Sources模块库中的Step模块:用来产生滑艇的牵引力。 (2) Subsystems模块库中的Subsystem模块:构成滑艇速度控制器子系统。,(3) Sinks模块库中的Scope模块:输出滑艇的速度。 (4) Functions & Tables模块库中的Fcn模块:求取水的阻力。 (5) 其它模块:Math模块库中的Gain模块、Continuous模块库中的Integrator模块。 使用Simulink建立的系统模型框图如下图所示。,滑艇速度控制系统模型框图,然后设置正确的系统模型参数与仿真参数对此系统进行仿真,其中Step的Final Value值设置为1000(即滑艇牵引力)、子系统中增益模块Gain的取值为1/1000(即1/m)、Fcn模块的expression设置为u2-u(求取水的阻力)、系统仿真时间为0至100s。 下图为系统仿真的结果。,滑艇系统仿真结果,3. 滑艇速度控制器系统的线性化 对于滑艇速度控制器系统而言,如果要在比赛中获得胜利,则滑艇必须在尽可能短的时间内达到最大速度。设此速度控制器所能达到的最大速度为100 mph(miles per hour,英里每小时)。而在前面所提供的滑艇牵引力仅为1000,故需要设置合适的牵引力对速度控制器进行操纵。,既然滑艇速度最大值为100mph,因此在对滑艇速度控制系统进行线性化时,希望此系统能够使滑艇的速度基本稳定在最大速度处。换句话说,系统的工作点应该选择为使速度达到100mph时的系统输入与系统状态。由于对非线性系统进行线性化表示需要给出系统所在的操作点(即平衡点),因此在对滑艇速度控制系统进行线性化之前,需要获得滑艇速度稳定在100 mph处的系统平衡点。按照如下步骤可以获得滑艇速度控制系统的平衡点:,(1) 修改系统模型,如下图所示。 其中Inport、Outport分别表示系统的输入与输出,增益模块的作用是将速度单位km/h转变为mph,其值为5/8。 (2) 求取滑艇速度控制系统在此工作点处的平衡状态。 在MATLAB命令窗口中使用trim命令获得系统在输出为100 mph时的平衡状态: x,u,y,dx=trim(exm5_2_, , ,100, , ,1);,(3) 求取滑艇速度控制系统的线性系统描述。 在获得使滑艇速度稳定在100 mph处时系统的平衡点x、u与y之后,在MATLAB命令窗口中使用linmod命令便可以获得相应的线性系统描述: A,B,C,D=linmod(exm5_2_,x,u); 从而得到线性化后系统的状态空间描述,其中A、B、C与D是线性系统的状态空间矩阵。故相应的线性系统的状态空间描述方程为,滑艇速度控制系统的阶跃响应,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号