这个例子展示了如何用Simulink®建模汽车传动系统。金宝appstatflow®通过传输控制逻辑的表示增强了S金宝appimulink模型。金宝appSimulink为动态系统和过程的建模和仿真提供了一个强大的环境。然而,在许多系统中,像改变模式或调用新的增益计划这样的监控功能必须对可能发生的事件和随时间发展的条件做出响应。因此,环境需要一种能够管理这些多种模式和开发条件的语言。在下面的例子中,statflow通过在自动变速器中执行齿轮选择功能来展示其在这方面的实力。通过在Simulink块图中合并statflow块,该函数以一种自然和直观的方式与传动系统动力学相结合。金宝app
下图显示了典型汽车传动系中的功率流。非线性常微分方程对发动机、四速自动变速器和车辆进行建模。本例中讨论的模型将此图中的模块作为模块化Simulink子系统直接实现。另一方面,变速箱控制单元(TCU)中的逻辑和决策不适用于公式化良好的方程式。TCU更适合于状态流表示。Stateflow监视与系统内重要关系相对应的事件,并在事件发生时采取适当的操作。金宝app
节气门开度是发动机的输入参数之一。发动机与液力变矩器的叶轮相连,液力变矩器将发动机与变速器相连(见公式1)。
方程1
液力变矩器的输入输出特性可以表示为发动机转速和涡轮转速的函数。在本例中,功率流动的方向始终假定为从叶轮到涡轮(见公式2)。
方程2
变速箱模型通过静态传动比实现,假设换档时间很短(见方程式3)。
方程3
最终驱动、惯性和动态变化的负载构成了车辆动力学(见方程4)。
方程4
负载扭矩包括道路负载和制动扭矩。道路荷载是摩擦损失和空气动力损失的总和(见方程式5)。
方程5
该模型根据下图所示的时间表对变速箱的换档点进行编程。对于给定档位下的给定油门,存在唯一的车辆速度,在该速度下会发生升档。对于降档,模拟操作类似。
当您打开模型时,在模型工作区中设置了初始条件。
模型的顶层关系图如下图所示。要运行模拟,请在simulation选项卡上单击运行. 请注意,该模型将相关数据记录到名为自动变速器输出
. 记录的信号有一个蓝色指示灯。运行模拟后,可以通过键入来查看数据结构的组件自动变速器输出
在MATLAB命令窗口。还要注意,这些单元出现在子系统图标和信号线上。
上面显示金宝app的Simulink模型由代表发动机、变速器和车辆的模块组成,并带有一个额外的换档逻辑块来控制传动比。用户对模型的输入形式为油门(以百分比表示)和制动扭矩(以英尺-磅表示)。用户使用MONGOSGUI界面输入油门和制动扭矩。
发动机子系统由一个二维表组成,该表内插发动机扭矩与油门和发动机转速。下图显示了复合Engine子系统。双击模型中的这个子系统以查看其结构。
变速器子系统由torque econverter和Transmission ratio模块组成,如下图所示。在模型窗口中双击Transmission子系统以查看其组件。
TorqueConverter是一个屏蔽子系统,它实现了方程2。要打开这个子系统,右键单击它并选择面具>戴着面具看从下拉菜单。遮罩需要一个速度比矢量(Nin /不
)和k因子向量(f2
)及转矩比(f3
).图中显示了TorqueConverter子系统的实现。
传动比块确定表1所示的比值,并计算出传动输出转矩和输入转速,如式3所示。下图显示了实现转矩和速度比值的子系统的框图。
表1:变速器传动比
齿轮Rtr = Nin/Ne 1 2.393 2 1.450 3 1.000 4 0.677
标记为ShiftLogic的Stateflow块实现变速箱的齿轮选择。双击模型窗口中的ShiftLogic以打开状态流图。Model Explorer用于定义输入为油门和车辆速度,输出为所需的齿轮数。两个虚线和状态保持跟踪齿轮状态和齿轮选择过程的状态。整个图表作为一个离散时间系统执行,每40毫秒采样一次。下面显示的状态流图说明了块的功能。
通过在statflow调试器中启用动画,可以在模拟期间观察移位逻辑行为。的selection_state
(始终处于活动状态)首先执行其在期间
函数。该模型计算升挡和降挡速度阈值作为齿轮和油门瞬时值的函数。当处于稳态时,该模型将这些值与当前车速进行比较,以确定是否需要换挡。如果是,则进入一种确认状态(上移
或降低速度
),记录入境时间。
如果车辆速度不再满足换档条件,而处于确认状态,则模型将忽略换档,并转换回稳态
. 这可以防止由于噪声条件而产生的额外位移。如果换档条件在以下时间内保持有效笨蛋
滴答声,模型通过较低的连接点进行转换,并根据当前齿轮广播其中一个移位事件。随后,模型再次激活稳态
经过一个中央交叉点的过渡后。换档事件,该事件将广播到gear_selection
状态,启动过渡到合适的新装备。
例如,如果车辆以二档和25%的油门前进,状态第二个
活跃在gear_state
,稳态
活跃于selection_state
.的在期间
后者的功能,发现上升应该发生时,车辆超过30英里每小时。当这成为现实时,模型进入上移
状态。在这种状态下,如果车速保持在每小时30英里以上笨蛋
Ticks,模型满足向下到右下方连接的过渡条件。这也满足[|齿轮== 2|]从这里到稳态
,因此该模型现在从上移
到稳态
并广播这个事件向上的
作为过渡行动。因此,从第二名到第三名的过渡被采纳了gear_state
这就完成了移位逻辑。
根据方程4和方程5,Vehicle子系统使用净扭矩来计算加速度,并将其积分来计算车辆速度。车辆子系统被屏蔽。要查看Vehicle块的结构,右键单击它并选择面具>戴着面具看从下拉菜单。在掩模菜单中输入的参数是最终传动比、阻力摩擦和空气动力阻力的多项式系数、车轮半径、车辆惯性和初始传输输出速度。
发动机扭矩图和液力变矩器特性在仿真中使用如下所示。
获取FactorK(第二行)和TorqueRatio(第三行)vs speeratio(第一行)
第一次模拟(超车机动)使用表2中给出的油门时间表(该数据是线性插值的)。
表2:第一次模拟(通过机动)节气门进度表
时间(秒)节气门(%)0 60 14.9 40 15 100 0 200 0
第一列表示时间;第二列对应节流开度百分比。在这种情况下没有制动(制动力矩为零)。车辆速度从零开始,发动机转速为1000转/分。下图显示了使用默认参数的基线结果图。当司机踩到60%的油门时t=0
,发动机立即响应,速度增加一倍以上。这使得整个变矩器的转速比较低,因此扭矩比较大。车辆加速很快(未模拟轮胎打滑),发动机和车辆都会获得速度,直到大约T = 2秒
,这时会出现1-2的上升。发动机的速度突然下降,然后又恢复加速。2-3和3-4的上升分别发生在4秒和8秒左右。请注意,由于大的惯性,车辆的速度保持得更平稳。
在t = 15秒
,驾驶员将油门踩到100%,这可能是典型的超车动作。变速箱降档至第三档,发动机从约2600 RPM跳至约3700 RPM。因此,发动机扭矩以及变速箱的机械优势有所增加。在节气门持续加大的情况下,车辆加速至约100 mph,然后以约100 mph的速度换入超速档t=21秒
. 在剩下的模拟过程中,车辆以4档巡航。双击操纵UI块并使用图形界面更改油门和制动器历史记录。
关闭模型,清除生成的数据。
您可以以模块化的方式增强这个基本系统,例如,用更复杂的模型替换引擎或变速器。通过逐步细化,您可以在这个结构中构建大型系统。statflow控制逻辑与Simulink信号处理的无缝集成使得构建一个高效且直观的模型成为可能。金宝app