此示例说明如何使用 Simulink® 对汽车传动系统建模。Stateflow® 通过表示变速器控制逻辑来增强 Simulink 模型。Simulink 为动态系统和过程的建模和仿真提供了强大的环境。但在许多系统中,更改模式或调用新增益规律等监管功能必须响应可能发生的事件以及随时间发展变化的情况。因此,环境需要一种能够管理这些多重模式和不断发展变化的情况的语言。在以下示例中,Stateflow 通过在自动变速中执行挡位选择功能来展示其在这一能力方面的优势。通过在 Simulink 模块图中合并 Stateflow 模块,此功能与传动系统动态自然且直观地结合在一起。

分析和物理原理

图 1 显示了典型汽车传动系统中的功率流。几个非线性常微分方程对发动机、四速自动变速器和车辆进行建模。此示例中讨论的模型直接将图 1 中的模块实现为模块化 Simulink 子系统。另一方面,变速器控制单元 (TCU) 中的逻辑和决策不适合用广为接受的方程表示。TCU 更适用于 Stateflow 表示。Stateflow 监视与系统中的重要关系相对应的事件,并在事件发生时采取适当的措施。

图 1:传动系统的通用模块图

节气门开度是发动机的输入之一。发动机与液力变矩器的泵轮相联,并通过液力变矩器与变速器耦合(参见方程 1)。

方程 1

液力变矩器的输入-输出特征可以表示为发动机转速和涡轮转速的函数。在此示例中,功率流的方向始终假定为从泵轮到涡轮(参见方程 2)。

方程 2

变速器模型通过静态齿轮比实现(假定换挡时间短)(参见方程 3)。

方程 3

主减速比、转动惯量和动态变化的负载,共同构建了整车动力学模型。(参见方程 4)

方程 4

负载扭矩包括道路负载和制动扭矩。道路负载是摩擦损失和空气动力损失之和(参见方程 5)。

方程 5

模型根据图 2 所示的规律设定变速器的换挡点。对于给定挡位下的给定节气门,升挡时具有唯一的车辆速度。降挡时类似。

图 2:换挡规律

建模

要打开此模型,请在 MATLAB® 终端中键入 sldemo_autotrans。初始条件在模型工作区中设置。

该模型的顶层图如图 3 所示。要运行仿真,请按模型窗口中的工具栏上的 Play 按钮。请注意,模型将相关数据以名为 sldemo_autotrans_output 的数据结构体记录到 MATLAB 工作区中。记录的信号具有蓝色指示标记(参见图 3)。在运行仿真后,您可以通过在 MATLAB 命令行窗口中输入 sldemo_autotrans_output 来查看数据结构体的组成。另请注意,单位显示在子系统图标和信号线上。要了解有关 Simulink 中的单位的详细信息,请参阅 Simulink 单位。

图 3:模型图和采样仿真结果(超车动作)

建模

图 3 所示的 Simulink 模型由代表发动机、变速器和车辆的模块组成,并且额外有一个换挡逻辑模块,用于控制变速器的传动比。模型的用户输入由节气门(以百分比给出)和制动扭矩(以 ft-lb 为单位给出)组成,通过 ManeuversGUI 界面可以输入节气门和制动扭矩。

Engine 子系统包含一个二维表,该二维表对发动机扭矩与节气门和发动机转速的关系进行插值。图 4 显示了复合的 Engine 子系统。在模型中双击此子系统可查看其结构。

图 4:Engine 子系统

TorqueConverter 和 TransmissionRatio 模块构成了 Transmission 子系统,如图 5 所示。在模型窗口中双击 Transmission 子系统可查看其组件。

图 5:Transmission 子系统

TorqueConverter 是一个封装子系统,它实现了方程 2。要打开此子系统,请右键点击它,然后从下拉菜单中选择 Mask > Look Under Mask。封装需要速度比 (Nin/Ne) 向量以及 K 系数 (f2) 和扭矩比 (f3) 的向量。图 6 显示了 TorqueConverter 子系统的实现。

图 6:液力变矩器子系统

变速器速比模块根据表 1 确定传动比,并根据方程 3 计算出变速器的输出扭矩和输入转速,如图 7 所示的子系统模型在扭矩和转速方面体现了传动比。

表 1:变速器齿轮比

gear     Rtr = Nin/Ne1         2.3932         1.4503         1.0004         0.677

图 7:变速器齿轮比子系统

标记为 ShiftLogic 的 Stateflow 模块实现变速器的挡位选择。在模型窗口中双击 ShiftLogic 可打开 Stateflow 图。利用 Model Explorer 将输入定义为节气门和车辆速度,将输出定义为所需的挡位数。两个用虚线围起来的 AND 状态跟踪挡位状态和挡位选择过程的状态。整体图作为一个离散时间系统执行,每 40 毫秒采样一次。图 8 所示的 Stateflow 图展示了模块的功能。

图 8:变速器换挡逻辑的 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 函数会发现应在车辆超过 30 mph 时升挡。在满足此条件的时刻,模型进入 upshifting 状态。在此状态下,如果车辆速度在 TWAIT 个时刻内保持 30 mph 以上,模型将满足引至右下联接点的转移条件。这也满足在从这里转移至 steady_state 时的条件 [|gear == 2|],因此模型此时会从 upshifting 整体转移至 steady_state,并将事件 UP 广播为转移操作。最终,在 gear_state 中从二挡转移到三挡,从而完成换挡逻辑。

Vehicle 子系统(图 9)使用净扭矩来计算加速度,并对其积分以计算车辆速度(根据方程 4 和方程 5)。Vehicle 子系统为封装子系统。要查看 Vehicle 模块的结构,请右键点击它,然后从下拉菜单中选择 Mask > Look Under Mask。在封装菜单中输入的参数,包括主减速比、摩擦阻力系数和空气动力阻力系数、车轮半径、整车惯量以及初始变速器输出转速。

图 9:Vehicle 子系统(封装)

结果

仿真中使用的发动机扭矩图和液力变矩器特性如图 10 和图 11 所示。

图 10:发动机扭矩图

图 11:液力变矩器特性(参见图 5 和方程 2)

第一个仿真(超车动作)使用表 2 中给出的节气门规律(此数据经过线性插值)。

表 2:第一个仿真(超车动作)的节气门规律

Time (sec)    Throttle (%)0             6014.9           4015            100
100              0
200              0

第一列对应的是时间;第二列对应的是节气门开度(百分比)。在这种情况下,未施加制动(制动扭矩为零)。车辆速度从零开始,发动机转速从 1000 RPM 开始。图 12 显示了使用默认参数的基准结果图。如果驾驶员在 t=0 时节气门开度给到 60%,发动机会立即以超过其双倍转速的方式予以响应。这会在液力变矩器上产生低转速比,从而得到大扭矩比(参见图 6 和图 11)。车辆快速加速(没有对轮胎滑移进行建模),并且发动机和车辆会一直提速直至大约 t = 2 sec 时,此时将从 1 挡升至 2 挡。发动机转速特性曲线骤降,然后恢复加速。2 挡升至 3 挡和 3 挡升至 4 挡分别在大约 4 秒钟和 8 秒钟时发生。请注意,由于整车惯量较大,车辆速度要平滑得多。

图 12:超车动作仿真时间历史记录

在 t=15sec 时,驾驶员将节气门开度给到 100%,这可能是超车动作的典型情况。变速器降至 3 挡,发动机转速从大约 2600 RPM 跳至大约 3700 RPM。因此,发动机扭矩会略微增加,变速器的机械效益也会略微增大。在持续重节气门下,车辆加速至大约 100 mph,然后在大约 t = 21 sec 换挡至超速挡。在仿真的其余部分,车辆以第四挡位行驶。双击 ManeuversGUI 模块并使用图形界面更改节气门和制动历史记录。

关闭模型

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

结论

此基本系统可以通过模块化的方式轻松增强,例如将发动机或变速器替换为更复杂的模型。因此,我们可以在此结构内通过渐进式优化来构建大型系统。Stateflow 控制逻辑与 Simulink 信号处理的无缝集成使我们能够构造高效且直观的模型。

关注公众号: MATLAB基于模型的设计 (ID:xaxymaker) ,每天推送MATLAB学习最常见的问题,每天进步一点点,业精于勤荒于嬉。

打开微信扫一扫哦!

转载于:https://www.cnblogs.com/52geek/p/10424708.html

对自动变速器的控制器建模相关推荐

  1. 自动驾驶域控制器研究开发要用c语言吗,深入浅出,什么是域控制器?

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区. 您需要 登录 才可以下载或查看,没有帐号?注册 x 近几年,随着奥迪的zFAS横空出世,车载电子领域大家谈论的比较多的就是域控制器.有的叫DC ...

  2. 自动变速器换档规律的研究 外文翻译

    外文翻译 the researchs of amt shifting schedules Vehicular Automatic Transmission can be divided into th ...

  3. GCKontrol状态图使用案例:双离合自动变速器控制单元(TCU)模型设计与仿真

    前言 状态图是基于有限状态机的图形化编程环境.使用状态图编程可对状态机进行设计.仿真和测试,并生成状态图代码. 控制系统设计在很大程度上依赖状态机来管理复杂的逻辑.在实际应用中,小到点亮一个发光二极管 ...

  4. 自行车自动变速器的制作分享

    本文素材来源于山东农业工程学院 作者:徐现乐.王壮壮.乔大壮.李凯歌 指导老师:赵志桓.董小婧 变速自行车具有变速装置,变速装置的作用就是改变链条和不同的前.后大小齿轮盘的配合比来改变车速快慢,前齿盘 ...

  5. 汽车自动变速器电控单元设计

    随着经济的迅速发展,拥有汽车的用户越来越多,而非熟练驾驶员也大大增加,汽车自动变速箱的推广对于提高汽车使用的经济性.安全性.舒适性和减少废气排放有着重大的影响,它使驾车变得更加轻松和安全.目前自动变速 ...

  6. 《音乐商店》第4集:自动生成StoreManager控制器

    一.自动生成StoreManager控制器 二.查看 StoreManager 控制器的代码 现在,Store Manager 控制器中已经包含了一定数量的代码,我们从头到尾重新过一下. 1.访问数据 ...

  7. android 延迟2秒执行_每天30秒让你更懂汽车(10自动变速器2执行装置)

    本篇内容 848字,阅读时长约 55 秒 执行装置包括换挡离合器.换挡制动器和单向离合器等. 控制装置根据汽车不同行驶条件,分别在执行装置中建立或卸除油压, 从而得到自动变速器的不同挡位. 1.换挡离 ...

  8. 惠普m180n故障码04_自动变速器挡位故障:挂前进挡或倒挡都不能行驶;不能升挡...

    1 挂前进挡或倒挡都不能行驶 (1)车辆信息 车型:2008 年款别克君越 发动机:2.4 升 变速器:6 挡手自一体 行驶里程:99000 公里 (2)故障现象 挂前进挡.倒挡都没反应 (3)故障诊 ...

  9. 世界首款前置前驱混动8挡自动变速器山东潍坊问世

    1月18日,年产30万台自动变速器智能生产线在山东潍坊正式联动打通.图为联动打通仪式. 沙见龙 摄 中新网潍坊1月18日电 (沙见龙)中国首条年产30万台混合动力自动变速器智能生产线18日在山东潍坊正 ...

最新文章

  1. python loop until_非常适合小白的 Asyncio 教程
  2. 台式电脑不拉网线上网_用“隐形网线”让台式机快速稳定上网?强迫症有救了...
  3. webpack vue-cli 一有空格和分号就报错
  4. java学习(168):java连接SQL server数据库
  5. 分布式架构在农业银行的应用实践与展望
  6. volist 自增序号 分页如何实现?
  7. C语言在线词典项目—Linux
  8. 现代浏览器:WebM 格式/网络视频的广泛应用
  9. 数据库分库分表可扩展及数据倾斜/热点问题(二)
  10. FreeSwitch双轨录音
  11. 计算机组成原理_DRAM和SRAM
  12. 餐厅小票打印模板_收银系统小票标签设置
  13. 一种更优雅的蓝牙配对技术 - Cross-transport key derivation (CTKD)
  14. kux格式怎么转换mp4,这里有妙招
  15. 浅谈微信营销的价值与优势
  16. 三大管理法则—鱼缸法则、木桶效应、热炉法则
  17. 非正弦周期信号的傅里叶级数展开式
  18. 手机如何扫码连接wifi
  19. 要想走向比目前更为理想的境况
  20. CreateProcess error=206, 文件名或扩展名太长。windows不支持长路径。

热门文章

  1. 百度云爬虫_python
  2. html区域框什么意思,如何理解【没有padding 、margin、border的情况下 ,行内框等于内容区域】这句话?...
  3. 通过Demo了解AlertDialog的构造原理
  4. 云计算 第4章 云计算与移动互联网/物联网
  5. rabitMQ work模式二 按能力分配任务
  6. 不一样的码农,UFI
  7. linux 文件转utf 8,在Linux系统下把文件转换为UTF-8编码
  8. ClassDiagram类图举例 明 继承图
  9. 风丘科技为您提供10M以太网解决方案
  10. 找工作面试_求职面试和获得Web开发工作的提示