自动变速器控制器建模仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
物理原理分析
下图显示典型汽车传动系统的动力流。
非线性常微分方程对发动机、四速自动变速器和车辆进行建模。
此示例中讨论的模型直接将此图中的模块实现为模块化Simulink子系统。
另一方面,变速器控制单元(TCU)中的逻辑和决策并不适合良好表示的方程。
TCU更适合用Stateflow表示。
Stateflow监控与系统内重要关系对应的事件,并在事件发生时采取适当的措施。
节气门开度是发动机的输入之一。
发动机连接到变矩器的叶轮上,变矩器将发动机耦合到变速器
(参见方程1)。
变矩器的输入输出特性可以表示为发动机转速和涡轮转速的函数。
在此示例中,我们假定动力流
的方向始终从叶轮到涡轮(参见方程2)。
假设换挡时间较短,变速器模型通过静态齿轮比实现(参见方程3)。
最终驱动、惯量和动态变化的负载构成车辆动态(参见方程4)。
负载扭矩包括道路负载和制动扭矩。
道路负载是摩擦和空气动力损失的总和(参见方程5)。
该模型根据下图所示的时间表对变速器的换挡点进行编程。
对于给定齿轮的给定节气门,升挡时的车速是唯一的。
降挡的仿真操作与之类似。
建模
打开模型时,将在模型工作区中设置初始条件。
模型的顶层图如下图所示。
要运行仿真,请在Simulation选项卡上,点击Run。
请注意,该模型将相关数据记录到MATLAB工作区中名为sldemo_autotrans_output的数据结构体中。
记录的信号有蓝色指示符。
运行仿真后,您可以通过在MATLAB命令行窗口中键
入sldemo_autotrans_output来查看该数据结构体的组成部分。
还要注意,单位出现在子系
统图标和信号线上。
建模
上面显示的Simulink模型由表示发动机、变速器和车辆的模块组成,并具有控制传动比的附加换挡逻辑模块。
用户对模型的输入采用节气门(以百分比表示)和制动扭矩(以ft-lb表示)形式。
用户使用ManeuversGUI界面输入节气门和制动扭矩。
Engine子系统包含一个二维表,该表根据节气门和发动机转速对发动机扭矩进行插值。
下图显示复合Engine子系统。
双击模型中的此子系统可查看其结构。
如下图所示,TorqueConverter和TransmissionRatio模块组成Transmission子系统。
双击模型窗口中的Transmission子系统以查看其组件。
TorqueConverter是一个封装子系统,它执行方程2。
要打开此子系统,请右键点击它并从下拉菜单中选择Mask>Look Under Mask。
该封装需要速度比向量(Nin/Ne)以及K因子(f2)和扭矩比向量(f3)。
下图显示TorqueConverter子系统的实现。
传动比模块确定表1中所示的传动比,并计算变速器输出扭矩和输入速度,如方程3所示。
表下面的图显示实现该扭矩和速度比的子系统的模块图。
表1:变速器齿轮比
gear Rtr=Nin/Ne
1 2.393
2 1.450
3 1.000
40.677
标记为ShiftLogic的Stateflow模块实现变速器的挡位选择。
双击模型窗口中的ShiftLogic 以打开Stateflow图。
模型资源管理器用于将输入定义为节气门和车速,将输出定义为所需的挡位号。
两个虚线AND状态跟踪挡位状态和挡位选择过程的状态。
整个图作为离散时间系统执行,每40毫秒采样一次。
下面显示的Stateflow图说明该模块的功能。
通过在Stateflow调试器中启用动画,可以在仿真期间观察换挡逻辑行为。
selection_state (始终处于活动状态)首先执行其during函数中指示的计算。
该模型将升挡和降挡速度阈值计算为齿轮和节气门的瞬时值的函数。
在处于steady_state时,模型将这些值与当前车速进行比较,以确定是否需要换挡。
如果是,它将进入确认状态之一(upshifting或downshifting),这会记录进入时间。
如果车速不再满足换挡条件,在确认状态下,模型将忽略换挡并转移回steady_state。
这可以防止由于噪声条件造成的不必要换挡。
如果换挡条件在TWAIT个计时单元期间保持有效,模型将通过较低的结点进行转移,并根据当前挡位广播其中一个换挡事件。
随后,模型在通过中心结点之一后再次激活steady_state。
广播到gear_selection状态的换挡事件会激活到对应新挡位的转移。
例如,如果车辆在节气门开度为25%的情况下以二挡前进,则状态second在gear_state 内处于激活状态,并且steady_state在selection_state内处于激活状态。
后者的during函数发现当车速超过30mph时应升挡。
当达到此车速时,模型进入upshifting状态。
在这种状态下,如果车速保持30mph以上达到TWAIT个计时单元,则模型满足向右下结点的转移条件。
这也满足从此处到steady_state的转移条件[|gear==2|],因此模型现在将从upshifting到steady_state的整体转移作为转移动作并广播事件UP。
因此,从第二挡到第三挡的转移在gear_state中进行,从而完成换挡逻辑。
根据方程4和方程5,Vehicle子系统使用净扭矩计算加速度,并对其积分以计算车速。
Vehicle子系统是封装子系统。
要查看Vehicle模块的结构,请右键点击它并从下拉菜单中选择Mask>Look Under Mask。
在封装菜单中输入的参数是最终驱动比、阻力摩擦和空气动力阻力的多项式系数、车轮半径、车辆惯量和初始变速器输出速度。
结果
仿真中使用的引擎扭矩图和变矩器特性如下所示。
获取FactorK(第二行)和TorqueRatio(第三行)与SpeedRatio(第一行)的对照图
第一次仿真(超车动作)使用表2中给出的节气门时间表(此数据是线性插值的)。
表2:第一次仿真的节气门时间表(超车动作)
Time(sec)Throttle(%)
060
14.940
15100
1000
2000
第一列对应时间;第二列对应节气门开度百分比。
在本例中,不应用制动器(制动扭矩为零)。
车速从0开始,发动机转速为1000RPM。
下图显示使用默认参数的基线结果图。
当驾驶员在t=0踩下60%节气门时,发动机立即以超过两倍的速度作出响应。
这导致变矩器的速度比变低,因此扭矩比变大。
车辆很快加速(未对轮胎滑动建模),发动机和车辆都在增速,直到大约t=2sec,此时发生1-2的升挡。
发动机转速突然出现特征性地下降,然后恢复加速。
2-3升挡和3-4升挡分别发生在大约4秒和8秒处。
请注意,因为惯量大,车速保持更大的平稳性。
在t=15sec处,驾驶员将节气门踩至100%,这可能是典型的超车动作。
变速器降至三挡,发动机转速从约2600RPM升至约3700RPM。
因此,发动机扭矩以及变速器的机械优势有所增加。
随着节气门开度持续加大,车辆加速至约100mph,然后在约t=21sec处换挡为超速挡。
在仿真的剩余时间,车辆以第四挡速度行驶。
双击ManeuversGUI模块,使用图形界面更改节气门和制动历史记录。