主要内容

自动变速器控制器建模

这个例子展示了如何用Simulink®建模汽车传动系统。Stateflow®通过其传输控制逻辑的表示增强了Simulink模型。Simulink为动态系统和过程的建模和仿真提供了一个强大的环境。然而,在许多系统中,像改变模式或调用新的增益计划这样的监督功能必须响应可能发生的事件和随着时间发展的条件。因此,环境需要一种能够管理这些多种模式和发展条件的语言。在下面的例子中,statflow通过在自动变速器中执行齿轮选择功能来显示其在这方面的优势。通过在Simulink框图中合并statflow块,该功能以自然和直观的方式与动力传动系统动力学相结合。

分析与物理

下图显示了一个典型的汽车传动系统的动力流。非线性常微分方程模型的发动机,四速自动变速器和汽车。本例中讨论的模型直接将该图中的块作为模块化的Simulink子系统实现。另一方面,在传输控制单元(TCU)中所做的逻辑和决策并不适用于公式完备的方程。TCU更适合于状态流表示。状态流监视与系统中重要关系相对应的事件,并在它们发生时采取适当的操作。

节流口是发动机的输入之一。发动机与液力变矩器的叶轮相连,液力变矩器将其与变速器耦合(见公式1)。

方程1

$$I_{ei} \dot{N}_e = T_e -T_i $$

$$ N_e = \mbox{发动机转速(RPM)}$$

$$I_{ei} = \mbox{发动机与叶轮的转动惯量}$$

$$T_e, T_i = \mbox{发动机和叶轮扭矩}$$

液力变矩器的输入输出特性可以表示为发动机转速和涡轮转速的函数。在本例中,功率流的方向总是假设从叶轮到涡轮(见式2)。

方程2

$$T_i = \frac{N_e^2}{K^2}$$

$ $ K =₂\压裂{N_{在}}{N_e} = \ mbox{增殖系数(容量)}$ $

$$N_{in} = \mbox{涡轮转速(变矩器输出)=传动输入转速(RPM)}$$

$ $ R_ {TQ} = f_3 \压裂{N_{在}}{N_e} = \ mbox{扭矩比}$ $

传动模型通过静态传动比实现,假设换挡时间较小(见公式3)。

方程3

$$R_{TR} = f_4(齿轮)= \mbox{传动比}$$

$$T_{out} = R_{TR} T_{in}$$

$$N_{in} = R_{TR} N_{out}$$

$$T_{in}, T_{out} = \mbox{传动输入输出力矩}$$

$$N_{in}, N_{out} = \mbox{传动输入输出转速(RPM)}$$

最终驱动、惯性和动态变化的负载构成了车辆动力学(见公式4)。

方程4

$$ I_v \dot{N}_w = R_{fd}(T_{out}-T_{load})$$

$$I_v = \mbox{车辆惯性}$$

$$N_w = \mbox{轮速(RPM)}$$

$$R_{fd} = \mbox{最终传动比}$$

$$T_{加载}= f_5(N_w) = \mbox{加载扭矩}$$

负载扭矩包括道路载荷和制动扭矩。路面荷载为摩擦损失和气动损失之和(见式5)。

方程5

$ $ T_{负载}=识别胡志明市(英里/小时)(R_ {load0} + R_ {load2}英里^ 2 + T_{制动})识别$ $

$$ R_{load0}, R_{load2} = \mbox{摩擦和气动阻力系数}$$

$$ T_{负载},T_{制动}= \mbox{负载和制动扭矩}$$

$$ MPH = \mbox{车辆线速度}$$

该模型根据下图所示的时间表为变速器编制换挡点。对于给定的油门在给定的档位,有一个独特的车辆速度发生升档。对降档的模拟也有类似的操作。

建模

当您打开模型时,初始条件将在模型工作区中设置。

模型的顶层图如下图所示。若要运行模拟,请在“模拟”选项卡上单击运行.请注意,该模型将相关数据记录在名为sldemo_autotrans_output.记录信号有一个蓝色指示灯。运行模拟之后,可以通过键入来查看数据结构的组件sldemo_autotrans_output在MATLAB命令窗口中。还要注意,单元出现在子系统图标和信号线上。

建模

上面所示的Simulink模型由代表发动机、变速器和车辆的模块组成,还有一个控制传动比的换挡逻辑块。用户对模型的输入是油门(以百分比表示)和制动扭矩(以英尺-磅表示)的形式。用户使用操纵性界面输入油门和刹车扭矩。

发动机子系统由一个二维表组成,它插值发动机扭矩与油门和发动机转速。下图显示了复合Engine子系统。双击模型中的这个子系统以查看其结构。

TorqueConverter和TransmissionRatio模块组成了传输子系统,如下图所示。在模型窗口中双击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的statflow块实现了变速器的齿轮选择。双击模型窗口中的ShiftLogic以打开状态流图。模型资源管理器用于将输入定义为油门和车辆速度,并将输出定义为所需的档位数。两个虚线AND状态跟踪齿轮状态和齿轮选择过程的状态。整个图表作为一个离散时间系统执行,每40毫秒采样一次。下面显示的状态流图说明了块的功能。

在模拟过程中,可以通过在Stateflow调试器中启用动画来观察移位逻辑行为。的selection_state(始终处于活动状态)首先执行其中指示的计算函数。该模型计算升档和降档速度阈值作为瞬时值的齿轮和油门的函数。在稳态状态下,模型将这些值与当前车速进行比较,以确定是否需要换挡。如果是,则进入确认状态之一(上移降低速度),记录入境时间。

当车速不再满足换挡条件时,在确认状态下,模型忽略换挡,回归steady_state.这可以防止由于噪声条件而产生的无关转移。如果shift条件在一段时间内仍然有效TWAIT滴答,模型转换通过较低的结,并根据当前档位,广播一个换挡事件。随后,模型再次激活steady_state在经过一个中心结点的过渡之后。对象广播的shift事件gear_selection状态,激活转换到适当的新齿轮。

例如,如果车辆在二档以25%的油门前进,状态第二个是活跃的gear_state,steady_state活跃在selection_state.的后者的功能,发现一个升档应该发生时,车辆超过30英里每小时。在这成为事实的那一刻,模型进入上移状态。在此状态下,如果车辆速度保持在每小时30英里以上TWAIT刻度,该模型满足过渡条件导致下至右下结。这也满足条件[|齿轮== 2|]的过渡从这里到steady_state,因此该模型现在从上移steady_state并广播事件向上作为一个过渡动作。因此,从第二名到第三名的转变被接受了gear_state这就完成了移位逻辑。

车辆子系统使用净扭矩计算加速度,并将其积分以计算车辆速度,根据公式4和公式5。飞行器子系统被屏蔽。要查看Vehicle块的结构,右键单击它并选择面具>面具下的样子从下拉菜单中。在掩模菜单中输入的参数是最终传动比、阻力摩擦和气动阻力的多项式系数、车轮半径、车辆惯性和初始变速器输出速度。

结果

发动机扭矩图,和扭矩变矩器特性在模拟中使用如下所示。

获取FactorK(第二行)和TorqueRatio(第三行)vs SpeedRatio(第一行)

第一个模拟(通过机动)使用表2中给出的油门计划(该数据是线性插值的)。

表2:第一次模拟油门计划(通过机动)

时间(秒)节流阀(%)0 60 14.9 40 15 100 100 0 200 0

第一列对应时间;第二列对应的油门开度百分比。在这种情况下,没有刹车(刹车扭矩为零)。车辆转速为零,发动机转速为1000转/分。下图显示了使用默认参数的基线结果图。当司机踩到60%油门时t = 0,发动机立即做出反应,速度增加了一倍多。这带来了一个低速比的扭矩变矩器,因此,一个大扭矩比。车辆快速加速(没有轮胎打滑模型),发动机和车辆都获得速度,直到大约T = 2秒,此时发生1-2级上升。发动机转速突然下降,然后恢复加速。2-3和3-4的上升分别发生在大约4秒和8秒。请注意,由于其大惯性,车辆的速度保持平稳得多。

t = 15秒时,司机将油门踩到100%,这可能是超车时的典型动作。变速器降至第三档,发动机从约2600转/分跃升至约3700转/分。发动机扭矩因此增加了一些,以及机械优势的变速箱。随着持续的重油门,车辆加速到大约100英里每小时,然后在大约T = 21秒.在接下来的模拟过程中,车辆将以第四档巡航。双击机动gui块,并使用图形界面来改变油门和制动历史。

运行多场景,收集覆盖率

您可以在收集覆盖率的同时为所有场景运行模型。要查看为运行sldemo_autotrans的所有场景而保存的设计研究,请打开sldemo_autotrans_design_study.mldatx在sldemo_autotrans的Multiple Simulations面板中。

打开设计研究后,在模型设置中启用模型覆盖和累积收集。

set_param('sldemo_autotrans', 'CovEnable', 'on');

set_param('sldemo_autotrans', ' covenabcumulative ', 'on');

设置完成后,单击全面运行(覆盖范围)“Simulink”工具条上的“仿真”选项卡上的按钮。然后检查设计案例的模型覆盖率。

关闭模型

关闭模型,清除生成的数据。

结论

您可以以模块化的方式增强这个基本系统,例如,用更复杂的模型替换发动机或变速器。您可以通过逐步改进在此结构中构建大型系统。Stateflow控制逻辑与Simulink信号处理的无缝集成使模型的构建变得高效且直观。

另请参阅

相关的话题

Baidu
map