0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

技术分享 | 使用TSMaster从零打造车辆控制器HIL实时仿真系列2-ECU嵌入式代码生成与TSMaster小程序集成

上海同星智能科技有限公司 2022-06-16 09:40 次阅读

HIL实时仿真系列2

54fa0216-e71d-11ec-a2f4-dac502259ad0.jpg

今天我们继续分享使用TSMaster从零打造车辆控制器HIL实时仿真系列第二章节。接下来我们亲手设计实时仿真也就是HIL的环节,为了让示例通俗易懂,我们选取了CARSIM自带的ABS控制器作为仿真的对象。

Simulink模型

1、我们打开CARSIM,然后选择Simulink模型,对开路面Multi-port SLX,这个示例使用的是一辆不带ABS系统的小轿车,它是前驱的配置。

552eb42a-e71d-11ec-a2f4-dac502259ad0.jpg

2、我们来看procedure,也就是驾驶员控制的部分,初始的速度是65公里每小时,自动压力是15兆帕,在0.3秒内完成也就是我们常说的150bar,档位控制是在合理的范围内自动切换,而转向部分则交给驾驶员模型进行闭环控制。

5597d1ee-e71d-11ec-a2f4-dac502259ad0.jpg

3、路面部分为对开路面,从3米开始,一侧的系数是0.2,另外一侧是0.5,回到主页,点击Send to Simulink,等待Simulink启动完毕,Simulink模型则是今天的重点。

55d32af0-e71d-11ec-a2f4-dac502259ad0.jpg

ABS控制算法

1、我们可以将这个控制算法生成嵌入式代码,下载到带ABS功能的ECU中运行,可以看到这个算法模型包含了一个CARSIM的S function作为车辆模型的接口,还有一个简化版本的基于漂移率的轮缸压力控制策略以及后轴低选策略,还有制动性模型中的制动力分配等等。

5603ac20-e71d-11ec-a2f4-dac502259ad0.jpg

2、我们运行下这个模型,可以看到,这个轮速与车速的图形窗口中绘制了在对开路面上的ABS自动循环,而这个轮缸压力窗口中,则是四个车轮的轮缸压力控制曲线,这是一个简易版本的控制算法。制动力分配,也就是前轴压力比上后轴压力是1比0.4,很容易判断出,制动结束后,压力上升到15兆帕的两个车轮为前轮压力,而压力上升到6兆帕的是后轮压力。

5642e778-e71d-11ec-a2f4-dac502259ad0.jpg

RT的低成本替代方案

大家可能注意到在Simulink环境中,运行的时间是10秒,然而点击运行后实际上只用了很短的时间就跑完了整个仿真,说明此仿真的过程并不是实时的。Simulink所起的作用仅仅是按照每个step来执行算法,收集每个step产出的数据并将其绘制在图形窗口里而已。

如果我们想在ABS制动过程中像整车总线上面实时发送ABS激活的flag或者是轮缸压力值,这些都是无法做到的。而在拥有的CarSim RT版本的环境中,该模型可以被编译为dll,下载到实时系统中运行,从而实现模型算法与真实世界的交互,这个解决方案是目前被广泛采纳的仿真模式。各大主机厂和零部件厂所依赖的HIL仿真也是基于此方案展开。然而此方案存在两个问题:一是成本高,不但需要车辆动力学软件本身的license,还需要RT的license;二是部署的过程很浪费时间,在CarSim中修改参数之后需要重新部署,自动和程度不高。

而在本例中,我们通过TSMaster来模拟ABS算法,让ABS算法在TSMaster的实时环境中运行,运行过程中可以通过CAN接口或者是连接在个人电脑上的IO接口等等,与外部的世界进行交互,再通过自研的实时引擎接管CarSim的仿真过程实现车辆模型在电脑上的实时运行,如此我们便得到了RT的低成本替代方案——软件HIL。

569c59b6-e71d-11ec-a2f4-dac502259ad0.jpg

ECU嵌入式代码&小程序

下面我们从零一步步基于TSMaster来搭建ABS算法的实时仿真环境。第一步是要通过Simulink将ABS的算法自动生成嵌入式代码,将它作为一个小程序运行在TSMaster的实时环境中。

1、我们首先将这个模型另存,然后需要修改路径,让代码的生成放置在这个新的路径中。

56dde764-e71d-11ec-a2f4-dac502259ad0.jpg

2、随后我们需要在模型上做一些修改让其可以生成嵌入式代码。首先就需要删除示波器等等一系列无用的控件,再删除CarSim的s function,将s function的接口转化为in 和 out。

5719ba28-e71d-11ec-a2f4-dac502259ad0.jpg

3、为了正确的生成嵌入式代码,还需要在代码生成上做一番修改,打开配置,首先是stop time,设置为inf,然后是salvar,再次使用的是定步长,step我们使用了业界通用的5毫秒。

575ce1e0-e71d-11ec-a2f4-dac502259ad0.jpg

4、接下来来到代码生成的环节,Target file自然是ert,我们还需要转到interface,在这里将continuous time勾上,因为轮缸压力模型中间用到的是传递函数,是连续状态,随后按Ctrl+B生成代码,很快代码就生成完毕了。

57b47252-e71d-11ec-a2f4-dac502259ad0.jpg

5、那么在这份代码中,我们需要将ABS.c.h以及一些列的其他的头文件复制粘贴到TSMaster的小程序的文件夹中间参与编译过程。(具体操作步骤详情可直接观看我们的B站视频哦~)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16185

    浏览量

    177334
收藏 人收藏

    评论

    相关推荐

    解决方案 | 基于TSMaster的平板电脑解决方案

    Tosun基于TSMaster的平板电脑解决方案基于TSMaster的平板电脑是一款集成TSMaster软件平台和多种总线分析硬件工具的综合产品,旨在充分发挥同星自主研发的
    的头像 发表于 11-10 01:02 544次阅读
    解决方案 | 基于<b class='flag-5'>TSMaster</b>的平板电脑解决方案

    基于TSMaster的MIL/HIL仿真开发(空簧和连续阻尼控制篇)

    ,本文HIL的测试对象为控制器本身而非整套悬架系统。#02仿真前提满足ASU&CDC的MIL/HIL测试须要满足如下条件1.建立CDC物理模型,即CDC速度-电流-力
    的头像 发表于 10-26 08:02 423次阅读
    基于<b class='flag-5'>TSMaster</b>的MIL/<b class='flag-5'>HIL</b><b class='flag-5'>仿真</b>开发(空簧和连续阻尼<b class='flag-5'>控制</b>篇)

    ecu电子控制器复位什么意思

    ECU(电子控制单元)电子控制器复位是指将ECU的设置恢复到出厂默认状态的操作。这个过程旨在解决由于软件错误、系统冲突或不良驾驶习惯等原因导致的车辆
    的头像 发表于 09-24 17:12 545次阅读

    干货分享 | TSMaster软件指南

    TSMaster是同星智能开发的一款国产汽车总线工具链软件平台,是全方位汽车总线设计、仿真、分析、诊断和标定的专业工具,支持需求分析到系统实现的整个系统开发过程。TSMaster软件
    的头像 发表于 09-15 08:08 1328次阅读
    干货分享 | <b class='flag-5'>TSMaster</b>软件指南

    新书推荐 | TSMaster开发入门到精通

    掌握TSMaster的基础应用、仿真开发、诊断及自动化测试实现等实战技能,提高工作效率,缩短研发周期。提供源代码和QQ答疑群。内容介绍本书遵循由浅入深的原则,将内
    的头像 发表于 08-30 12:37 370次阅读
    新书推荐 | <b class='flag-5'>TSMaster</b>开发<b class='flag-5'>从</b>入门到精通

    TSMaster—RP1210模块使用指南

    RP1210是由技术和维护委员会(TMC)编写的一种建议性实践。RP1210用于对重型车辆射频相关的(主要针对)电子控制单元(ECU)进行二次编程和分析。本文主要针对
    的头像 发表于 08-30 12:37 233次阅读
    <b class='flag-5'>TSMaster</b>—RP1210模块使用指南

    TSMaster 测试报告生成器操作指南

    TSMaster为客户提供的一套测试报告模板,里面集成了测试报告的打印输出、图片展示、测试状态显示、测试通过率/失败率显示、以及执行时间显示为一体,测试报告示例如下图:2T
    的头像 发表于 08-03 08:21 391次阅读
    <b class='flag-5'>TSMaster</b> 测试报告<b class='flag-5'>生成</b>器操作指南

    新用户必看!TSMaster软件Q A指南(第2期)

    TSMaster是同星智能开发的一款国产汽车总线工具链软件平台,是全方位汽车总线设计、仿真、分析、诊断和标定的专业工具,支持需求分析到系统实现的整个系统开发过程。TSMaster软件
    的头像 发表于 07-20 08:21 746次阅读
    新用户必看!<b class='flag-5'>TSMaster</b>软件Q A指南(第<b class='flag-5'>2</b>期)

    TSMaster 的 CAN UDS 诊断操作指南(下)

    UDSonCAN/CANFD的功能以及详细的使用操作。本文关键词:UDS,BootLoader,自动诊断流程,诊断系统变量目录Catalog4.TSMaster诊断控制台5.
    的头像 发表于 06-18 08:21 1614次阅读
    <b class='flag-5'>TSMaster</b> 的 CAN UDS 诊断操作指南(下)

    TSMaster 的 CAN UDS 诊断操作指南(上)

    TSMaster可以少代码甚至代码就可以完成诊断流程开发,诊断开发人员只需要熟悉诊断流程,就能打通研发、产线、售后整条链路环节。TSMaster
    的头像 发表于 06-08 08:21 2051次阅读
    <b class='flag-5'>TSMaster</b> 的 CAN UDS 诊断操作指南(上)

    详解TSMaster CAN 与 CANFD 的 CRC E2E 校验方法

    关键字:TSMaster,CAN/CANFD,CRC校验,E2E校验目录Catalog1.CRC/E2E在报文传输过程中的应用2.基于TSMaste
    的头像 发表于 05-25 08:21 1914次阅读
    详解<b class='flag-5'>TSMaster</b> CAN 与 CANFD 的 CRC E<b class='flag-5'>2</b>E 校验方法

    TSMaster VLAN配置方法

    ,以太网目录Catalog1.VLAN的配置方法2.TCP/IP通讯带VLAN测试1.TSMaster配置VLANVLAN配置流程如下:1)VLAN配置窗口位于菜单
    的头像 发表于 05-18 08:21 432次阅读
    <b class='flag-5'>TSMaster</b> VLAN配置方法

    TSMaster 2024.04 最新版已上线,来看看新增了哪些实用功能

    TSMaster是集汽车总线嵌入式代码生成、监控、仿真、开发、UDS诊断、CCP/XCP标定、ECU
    的头像 发表于 04-29 08:21 1697次阅读
    <b class='flag-5'>TSMaster</b> 2024.04 最新版已上线,来看看新增了哪些实用功能

    TSMaster报文发送的信号生成器操作说明

    信号生成器功能是TSMaster分析中的报文发送模块。信号生成器用于发送和配置每个CAN/LIN信号的值变化行为,简而言之,这是一个可以控制和调整CAN/LIN信号值的功能。我们可选择
    的头像 发表于 12-23 08:21 926次阅读
    <b class='flag-5'>TSMaster</b>报文发送的信号<b class='flag-5'>生成</b>器操作说明

    TSMaster程序启动和停止的自动化控制流程

    控制。本文将重点和大家分享一下如何通过C代码控制TSMaster内置模块的启动与停止。本文关键字:run_form、stop_form、C小程序
    的头像 发表于 12-02 08:21 1219次阅读
    <b class='flag-5'>TSMaster</b>小<b class='flag-5'>程序</b>启动和停止的自动化<b class='flag-5'>控制</b>流程