0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

技術(shù)分享 | 使用TSMaster從零打造車輛控制器HIL實(shí)時(shí)仿真系列2-ECU嵌入式代碼生成與TSMaster小程序集成

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

HIL實(shí)時(shí)仿真系列2

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

今天我們繼續(xù)分享使用TSMaster從零打造車輛控制器HIL實(shí)時(shí)仿真系列第二章節(jié)。接下來我們親手設(shè)計(jì)實(shí)時(shí)仿真也就是HIL的環(huán)節(jié),為了讓示例通俗易懂,我們選取了CARSIM自帶的ABS控制器作為仿真的對象。

Simulink模型

1、我們打開CARSIM,然后選擇Simulink模型,對開路面Multi-port SLX,這個(gè)示例使用的是一輛不帶ABS系統(tǒng)的小轎車,它是前驅(qū)的配置。

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

2、我們來看procedure,也就是駕駛員控制的部分,初始的速度是65公里每小時(shí),自動(dòng)壓力是15兆帕,在0.3秒內(nèi)完成也就是我們常說的150bar,檔位控制是在合理的范圍內(nèi)自動(dòng)切換,而轉(zhuǎn)向部分則交給駕駛員模型進(jìn)行閉環(huán)控制。

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

3、路面部分為對開路面,從3米開始,一側(cè)的系數(shù)是0.2,另外一側(cè)是0.5,回到主頁,點(diǎn)擊Send to Simulink,等待Simulink啟動(dòng)完畢,Simulink模型則是今天的重點(diǎn)。

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

ABS控制算法

1、我們可以將這個(gè)控制算法生成嵌入式代碼,下載到帶ABS功能的ECU中運(yùn)行,可以看到這個(gè)算法模型包含了一個(gè)CARSIM的S function作為車輛模型的接口,還有一個(gè)簡化版本的基于漂移率的輪缸壓力控制策略以及后軸低選策略,還有制動(dòng)性模型中的制動(dòng)力分配等等。

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

2、我們運(yùn)行下這個(gè)模型,可以看到,這個(gè)輪速與車速的圖形窗口中繪制了在對開路面上的ABS自動(dòng)循環(huán),而這個(gè)輪缸壓力窗口中,則是四個(gè)車輪的輪缸壓力控制曲線,這是一個(gè)簡易版本的控制算法。制動(dòng)力分配,也就是前軸壓力比上后軸壓力是1比0.4,很容易判斷出,制動(dòng)結(jié)束后,壓力上升到15兆帕的兩個(gè)車輪為前輪壓力,而壓力上升到6兆帕的是后輪壓力。

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

RT的低成本替代方案

大家可能注意到在Simulink環(huán)境中,運(yùn)行的時(shí)間是10秒,然而點(diǎn)擊運(yùn)行后實(shí)際上只用了很短的時(shí)間就跑完了整個(gè)仿真,說明此仿真的過程并不是實(shí)時(shí)的。Simulink所起的作用僅僅是按照每個(gè)step來執(zhí)行算法,收集每個(gè)step產(chǎn)出的數(shù)據(jù)并將其繪制在圖形窗口里而已。

如果我們想在ABS制動(dòng)過程中像整車總線上面實(shí)時(shí)發(fā)送ABS激活的flag或者是輪缸壓力值,這些都是無法做到的。而在擁有的CarSim RT版本的環(huán)境中,該模型可以被編譯為dll,下載到實(shí)時(shí)系統(tǒng)中運(yùn)行,從而實(shí)現(xiàn)模型算法與真實(shí)世界的交互,這個(gè)解決方案是目前被廣泛采納的仿真模式。各大主機(jī)廠和零部件廠所依賴的HIL仿真也是基于此方案展開。然而此方案存在兩個(gè)問題:一是成本高,不但需要車輛動(dòng)力學(xué)軟件本身的license,還需要RT的license;二是部署的過程很浪費(fèi)時(shí)間,在CarSim中修改參數(shù)之后需要重新部署,自動(dòng)和程度不高。

而在本例中,我們通過TSMaster來模擬ABS算法,讓ABS算法在TSMaster的實(shí)時(shí)環(huán)境中運(yùn)行,運(yùn)行過程中可以通過CAN接口或者是連接在個(gè)人電腦上的IO接口等等,與外部的世界進(jìn)行交互,再通過自研的實(shí)時(shí)引擎接管CarSim的仿真過程實(shí)現(xiàn)車輛模型在電腦上的實(shí)時(shí)運(yùn)行,如此我們便得到了RT的低成本替代方案——軟件HIL。

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

ECU嵌入式代碼&小程序

下面我們從零一步步基于TSMaster來搭建ABS算法的實(shí)時(shí)仿真環(huán)境。第一步是要通過Simulink將ABS的算法自動(dòng)生成嵌入式代碼,將它作為一個(gè)小程序運(yùn)行在TSMaster的實(shí)時(shí)環(huán)境中。

1、我們首先將這個(gè)模型另存,然后需要修改路徑,讓代碼的生成放置在這個(gè)新的路徑中。

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

2、隨后我們需要在模型上做一些修改讓其可以生成嵌入式代碼。首先就需要?jiǎng)h除示波器等等一系列無用的控件,再刪除CarSim的s function,將s function的接口轉(zhuǎn)化為in 和 out。

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

3、為了正確的生成嵌入式代碼,還需要在代碼生成上做一番修改,打開配置,首先是stop time,設(shè)置為inf,然后是salvar,再次使用的是定步長,step我們使用了業(yè)界通用的5毫秒。

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

4、接下來來到代碼生成的環(huán)節(jié),Target file自然是ert,我們還需要轉(zhuǎn)到interface,在這里將continuous time勾上,因?yàn)檩喐讐毫δP椭虚g用到的是傳遞函數(shù),是連續(xù)狀態(tài),隨后按Ctrl+B生成代碼,很快代碼就生成完畢了。

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

5、那么在這份代碼中,我們需要將ABS.c.h以及一些列的其他的頭文件復(fù)制粘貼到TSMaster的小程序的文件夾中間參與編譯過程。(具體操作步驟詳情可直接觀看我們的B站視頻哦~)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16045

    瀏覽量

    176812
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于TSMaster的MIL/HIL仿真開發(fā)(空簧和連續(xù)阻尼控制篇)

    ,本文HIL的測試對象為控制器本身而非整套懸架系統(tǒng)。#02仿真前提滿足ASU&CDC的MIL/HIL測試須要滿足如下條件1.建立CDC物理模型,即CDC速度-電流-力
    的頭像 發(fā)表于 10-26 08:02 ?98次閱讀
    基于<b class='flag-5'>TSMaster</b>的MIL/<b class='flag-5'>HIL</b><b class='flag-5'>仿真</b>開發(fā)(空簧和連續(xù)阻尼<b class='flag-5'>控制</b>篇)

    ecu電子控制器復(fù)位什么意思

    ECU(電子控制單元)電子控制器復(fù)位是指將ECU的設(shè)置恢復(fù)到出廠默認(rèn)狀態(tài)的操作。這個(gè)過程旨在解決由于軟件錯(cuò)誤、系統(tǒng)沖突或不良駕駛習(xí)慣等原因?qū)е碌?b class='flag-5'>車輛
    的頭像 發(fā)表于 09-24 17:12 ?305次閱讀

    干貨分享 | TSMaster軟件指南

    TSMaster是同星智能開發(fā)的一款國產(chǎn)汽車總線工具鏈軟件平臺(tái),是全方位汽車總線設(shè)計(jì)、仿真、分析、診斷和標(biāo)定的專業(yè)工具,支持需求分析到系統(tǒng)實(shí)現(xiàn)的整個(gè)系統(tǒng)開發(fā)過程。TSMaster軟件
    的頭像 發(fā)表于 09-15 08:08 ?1157次閱讀
    干貨分享 | <b class='flag-5'>TSMaster</b>軟件指南

    新書推薦 | TSMaster開發(fā)入門到精通

    掌握TSMaster的基礎(chǔ)應(yīng)用、仿真開發(fā)、診斷及自動(dòng)化測試實(shí)現(xiàn)等實(shí)戰(zhàn)技能,提高工作效率,縮短研發(fā)周期。提供源代碼和QQ答疑群。內(nèi)容介紹本書遵循由淺入深的原則,將內(nèi)
    的頭像 發(fā)表于 08-30 12:37 ?273次閱讀
    新書推薦 | <b class='flag-5'>TSMaster</b>開發(fā)<b class='flag-5'>從</b>入門到精通

    TSMaster—RP1210模塊使用指南

    RP1210是由技術(shù)和維護(hù)委員會(huì)(TMC)編寫的一種建議性實(shí)踐。RP1210用于對重型車輛射頻相關(guān)的(主要針對)電子控制單元(ECU)進(jìn)行二次編程和分析。本文主要針對
    的頭像 發(fā)表于 08-30 12:37 ?194次閱讀
    <b class='flag-5'>TSMaster</b>—RP1210模塊使用指南

    TSMaster 測試報(bào)告生成器操作指南

    TSMaster為客戶提供的一套測試報(bào)告模板,里面集成了測試報(bào)告的打印輸出、圖片展示、測試狀態(tài)顯示、測試通過率/失敗率顯示、以及執(zhí)行時(shí)間顯示為一體,測試報(bào)告示例如下圖:2T
    的頭像 發(fā)表于 08-03 08:21 ?337次閱讀
    <b class='flag-5'>TSMaster</b> 測試報(bào)告<b class='flag-5'>生成</b>器操作指南

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

    TSMaster是同星智能開發(fā)的一款國產(chǎn)汽車總線工具鏈軟件平臺(tái),是全方位汽車總線設(shè)計(jì)、仿真、分析、診斷和標(biāo)定的專業(yè)工具,支持需求分析到系統(tǒng)實(shí)現(xiàn)的整個(gè)系統(tǒng)開發(fā)過程。TSMaster軟件
    的頭像 發(fā)表于 07-20 08:21 ?600次閱讀
    新用戶必看!<b class='flag-5'>TSMaster</b>軟件Q A指南(第<b class='flag-5'>2</b>期)

    TSMaster 的 CAN UDS 診斷操作指南(下)

    UDSonCAN/CANFD的功能以及詳細(xì)的使用操作。本文關(guān)鍵詞:UDS,BootLoader,自動(dòng)診斷流程,診斷系統(tǒng)變量目錄Catalog4.TSMaster診斷控制臺(tái)5.
    的頭像 發(fā)表于 06-18 08:21 ?1481次閱讀
    <b class='flag-5'>TSMaster</b> 的 CAN UDS 診斷操作指南(下)

    TSMaster 的 CAN UDS 診斷操作指南(上)

    TSMaster可以少代碼甚至代碼就可以完成診斷流程開發(fā),診斷開發(fā)人員只需要熟悉診斷流程,就能打通研發(fā)、產(chǎn)線、售后整條鏈路環(huán)節(jié)。TSMaster
    的頭像 發(fā)表于 06-08 08:21 ?1862次閱讀
    <b class='flag-5'>TSMaster</b> 的 CAN UDS 診斷操作指南(上)

    詳解TSMaster CAN 與 CANFD 的 CRC E2E 校驗(yàn)方法

    關(guān)鍵字:TSMaster,CAN/CANFD,CRC校驗(yàn),E2E校驗(yàn)?zāi)夸汣atalog1.CRC/E2E在報(bào)文傳輸過程中的應(yīng)用2.基于TSMaste
    的頭像 發(fā)表于 05-25 08:21 ?1642次閱讀
    詳解<b class='flag-5'>TSMaster</b> CAN 與 CANFD 的 CRC E<b class='flag-5'>2</b>E 校驗(yàn)方法

    TSMaster VLAN配置方法

    ,以太網(wǎng)目錄Catalog1.VLAN的配置方法2.TCP/IP通訊帶VLAN測試1.TSMaster配置VLANVLAN配置流程如下:1)VLAN配置窗口位于菜單
    的頭像 發(fā)表于 05-18 08:21 ?376次閱讀
    <b class='flag-5'>TSMaster</b> VLAN配置方法

    TSMaster 2024.04 最新版已上線,來看看新增了哪些實(shí)用功能

    TSMaster是集汽車總線嵌入式代碼生成、監(jiān)控、仿真、開發(fā)、UDS診斷、CCP/XCP標(biāo)定、ECU
    的頭像 發(fā)表于 04-29 08:21 ?1625次閱讀
    <b class='flag-5'>TSMaster</b> 2024.04 最新版已上線,來看看新增了哪些實(shí)用功能

    TSMaster報(bào)文發(fā)送的信號(hào)生成器操作說明

    信號(hào)生成器功能是TSMaster分析中的報(bào)文發(fā)送模塊。信號(hào)生成器用于發(fā)送和配置每個(gè)CAN/LIN信號(hào)的值變化行為,簡而言之,這是一個(gè)可以控制和調(diào)整CAN/LIN信號(hào)值的功能。我們可選擇
    的頭像 發(fā)表于 12-23 08:21 ?858次閱讀
    <b class='flag-5'>TSMaster</b>報(bào)文發(fā)送的信號(hào)<b class='flag-5'>生成</b>器操作說明

    TSMaster程序啟動(dòng)和停止的自動(dòng)化控制流程

    控制。本文將重點(diǎn)和大家分享一下如何通過C代碼控制TSMaster內(nèi)置模塊的啟動(dòng)與停止。本文關(guān)鍵字:run_form、stop_form、C小程序
    的頭像 發(fā)表于 12-02 08:21 ?1163次閱讀
    <b class='flag-5'>TSMaster</b>小<b class='flag-5'>程序</b>啟動(dòng)和停止的自動(dòng)化<b class='flag-5'>控制</b>流程

    嵌入式程序基于源代碼仿真調(diào)試

    前面一課設(shè)計(jì)了51單片機(jī)最小系統(tǒng)電路,使用51單片機(jī)的I/O口控制發(fā)光二極管的狀態(tài),并裝載運(yùn)行了使用keil編寫的嵌入式程序。本次實(shí)驗(yàn)應(yīng)用proteus結(jié)合keil對嵌入式C
    的頭像 發(fā)表于 11-01 09:24 ?1061次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>程序</b>基于源<b class='flag-5'>代碼</b><b class='flag-5'>仿真</b>調(diào)試