logo资料库

基于MATLAB的汽车动力性仿真.pdf

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
2007 年第 9 期 ( 总第 194 期) 2007 年第 9 期 农业装备与车辆工程 AGRICULTURAL EQUIPMENT & VEHICLE ENGINEERING 农业装备与车辆工程 No.9 2007 ( Totally 194) 基于 MATLAB 的汽车动力性仿真 张竹林, 郭荣春 ( 山东交通学院, 山东 济南 250023) 摘要: 主要介绍了 MATLAB 在汽车动力性仿真中的应用, 以及开发仿真程序的方法。在建立动力学模型的基础上, 用 VC 开发人机界面和利用数据库对数据进行管理, 有效利用 MATLAB 的强大数学计算功能和绘图功能。结果表明, 该 方法具有处理数据精度高, 实用性好等优点, 为汽车动力性仿真提供一种很好的方法。 关键词: 动力性; MATLAB; VC; 仿真 中图分类号: TP391.9 文章编号: 1673- 3142( 2007) 09- 0052- 02 文献标识码: B Computer Simulation of Power Per for mance for Automobile Based on MATLAB ZHANG Zhu- lin, GUO Rong- chun ( Shandong Jiaotong University, Jinan 250023, China) Abstr act: This paper mainly introduces the application of MATLAB in computer simulation of power performance for automobile, and the method of development simulation program. On the basis of the power model, we design the interface using VC, manage the data by database, and effectively use powerful function of math and drawing of MATLAB. The result indicates that this method has the benefit of processing data and practice. Key Wor ds: power performace; MATLAB; VC; simulation 引言 MATLAB 是 美 国 Math Works 公 司 开 发 的 功 能 强大的计算软件, 能方便地处理矩阵变换运算、多项 式 运 算 、图 形 绘 制 、微 积 分 运 算 以 及 微 分 方 程 求 解 等, 编 程 简 洁, 在 各 行 各 业 得 到 广 泛 的 应 用 。 但 MATLAB 解释性语言执行效率低, 不便于良好的人 机交互界面开发, 不利于商业开发。 汽车是一种高效率的运输工具, 运输效率在很 大程度上取决于汽车的动力性。动力性是汽车各种 性能中最基本、最重要的性能。动力性影响着汽车 的加速性能, 爬坡能力, 拖带挂车的能力。另外, 动 力性也是人们选择车辆首先要考虑的因素, 因此动 力 性 也 是 一 辆 汽 车 可 以 称 之 为 汽 车 的 最 基 本 的 因 素。将 MATLAB 应用于汽车动力性仿真, 能够提高 产品开发速度和验证传动系统匹配优化效果。 1 发动机外特性 在进行动力性估算时, 一般仍沿用稳定工况时 发动机台架试验所得到的使用外特性中的功率与转 矩曲线。为了便于计算, 常采用多项式来描述由试 验台测得的、接近于抛物线的发动机转矩曲线, 即 Ttq=a0+a1n+…+aknk 式中, Ttq—发动机的转矩, N·m; n—发动机的转速, r /min; ( 1) k—曲线拟合的最高次方, 一般取 k=2~5。 a0, a1, …, ak 可由最小二乘法来决定。 本文中用 VC 编写动态库文件, 按照发动机台架 试验台的 AK 协议进行通讯, 采取的数据自动写入 Access 的数据库中, 在拟合程序中基于 ODBC 数据 库进行数据读取和利用 MATLAB 函数进行拟合。 2 动力性数学模型 汽车的动力性评价指标主要有三个: 最高车速、 加速时间和最大爬坡度。通过分析汽车行驶时作用 于汽车的外力, 建立汽车的行驶方程, 就可以进行定 性分析动力性的评价指标。汽车的行驶方程式: Ttqigioηt r =Gf+ CDA 21.15 2+Gi+δm du ua dt ( 2) 式中: Ttq—发动机有效转矩( N·m) ; ig—变速器传动比; io—主减速器传动比; ηt—传动系效率; r—车轮半径( m) ; G—汽车的总重力( N) ; f—滚动阻力系数; CD—空气阻力系数; A—汽车前迎风面积或正投影面积; ua—汽车行驶速度( km/h) 。 i—道路坡度; δ—汽车旋转质量换算系数, 收稿日期: 2007- 07- 27 作者简介: 张 竹 林( 1979- ) , 男, 山 东 青 岛 人, 助 教, 硕 士 研 究 生, 研 究 方向为计算机仿真和计算机辅助设计。 δ=1+ !Iw mr2 2i0 + Ifig mr2 2ηT ; ·52·
张竹林 等: 基于 MATLAB 的汽车动力性仿真 2007 年 9 月 m—汽车质量; du dt —行驶加速度。 同时还要考虑附着力, 需要进行校核。 3 软件实现 MATLAB 应用程序接口能够和 VC 之间很好地 通信, 其接口实现的模式也有多种方法: ( 1) 利用 Matlab 自带引擎函数库 MATLAB 引擎函数库具有很多优点, 用户应用 程序可以脱离 Matlab 运行环境, 成为真正可独立执 行应用程序; 容易掌握和实现; 可以节省大量系统资 源, 整体性能好。但 MATLAB 引擎函数库也存在着 一些不足, 使用引擎函数库后必须以 MATLAB 作为 后台, 即调用引擎函数后, 需要启动 MATLAB 进 行 后台处理, 所以限制了程序执行速度。 ( 2) MATLAB 自带编译器 MATLAB 的编译器可将 MATLAB 的 m 文件转 换为 C /C++的源代码, 产生完全脱离 MATLAB 运行 环境的独立应用程序, MATLAB 本身的资料说明编 译 器 在 用 来 建 立 独 立 的 运 用 程 序 时 不 能 调 用 MATLAB 工具箱中的函数, 这非常不利于搞一些特 殊的算法。但是根据实践发现, 工具箱中的函数既 然是 m 文件就一定可以用编译器来编译, 以 提 供 VC++的调用函数, 但是编译器只能编译 1 个独立的 m 文件, 即这个 m 文件不依赖于其他的 m 文件。如 果 m 文件中又调用了其他的 m 文件, 可将被调用的 m 文件拷贝到调用 m 文件的相应位置, 做适当改动 就可以用于编译器编译。但是编译器不支持图形函 数, 所以 m 文件中如有图形函数需注释掉。 ( 3) 利 用 Matcom 专 用 软 件 实 现 MATLAB 与 VC++开发环境之间的接口通信 Matcom 软件可以将 MATLAB 中的脚本文件翻 译成相同功能的 VC++源代码, 既保持了 MATLAB 算法的易实现性, 又保持了 VC++代码执行的高效 率。作为 MATLAB 和 VC++开发环境之间的接口通 信转换程序, Matcom 具有许多优点, 转换容易, 并支 持图形函数; 转换中可以生成可供 VC++调用的动 态链接库, 其使用与一般动态链接库一样; 不仅可以 转换独立的脚本文件, 也可以转换嵌套脚本文件。 但是 Matcom 也存在着不足, 对 struct 等类的支持有 缺陷, 对 class 数据类型部分支持。本程序利用第三 种方法实现接口通讯。 4 应用实例 本文以某轻型货车为例, 利用 Visual C++ 6.0 开 发界面, 如图 1 所示, 选取拟合公式来确定拟合的阶 数, 点击数据拟合按钮来利用 MATLAB 中的最小二 乘法函数 polyfit( ) 进行数据拟合计算, 数据的来源可 以是人工输入或从试验台通过 AK 协议进行读取。其 它的参数根据车的基本参数进行输入, 点击写入数据 按钮将车的所有参数写入数据库, 以作记录。点击动 力性曲线可输出驱动力与行驶阻力平衡图( 如图 2 所 示) 、行驶加速度倒数曲线等。点击数据输出可输出最 高车速、最大爬坡度、百公里加速时间等参数。 图 1 输入参数界面 15000 10000 5000 ) N ( 力 动 驱 车 汽 Ft1 Ft2 0 Ff+Fw 0 10 20 30 40 50 Ft3 Ft4 60 70 80 90 100 汽车行驶速度( km/h) 图 2 汽车驱动力与行驶阻力平衡图 5 结语 采 用 MATLAB 和 Visual C++进 行 汽 车 动 力 性 仿真, 可以提供良好的人机界面, 编写代码少, 计算 速度快, 输出的图表曲线光滑, 减少人工计算的时 间, 能够快速验证设计方案的可行性, 为产品的优化 设计提供有效支持, 提高产品的开发效率, 具有很好 的实用性。 参考文献 [ 1] 王沫然. MATLAB 与科学计算( 第 2 版) . 北京: 电子工业出 版社, 2005. [ 2] 余志生. 汽车理论( 第 4 版) . 北京: 机械工业出版社, 2007. ·53·
分享到:
收藏