硬件在環HIL(一):什么是HILS?
摘要
本系列文章旨在介紹HILS,并提供使用HILS測試ECU的基礎知識。本系列的第一篇文章是“什么是HILS?”
如今,人們常說“汽車由電腦操控”。從發動機、變速箱到遙控后視鏡,汽車上幾乎所有自動運行的設備都配備了名為ECU(電子控制單元)的電腦。據說,一輛普通轎車大約有50個ECU,而豪華轎車則多達200個。正因如此,“HILS”(硬件在環系統)一詞也變得廣為人知。對汽車感興趣的讀者應該都聽說過這個詞。
那么,什么是HILS呢?HILS是硬件在環模擬器(Hardware In the Loop Simulator)或硬件在環系統(Hardware In the Loop System)的縮寫,指的是ECU測試設備。HILS這個術語在日本比較常用,而HIL(硬件在環)則在歐美更為常見。在本系列文章中,我們將統一使用HILS。這里的硬件指的是ECU。HILS是一種在計算機內部模擬ECU所控制的機械設備的虛擬環境的設備,它能夠在與實際ECU協同運行的環境中測試ECU。
本系列旨在為對硬件在環仿真(HILS)知之甚少的人員提供HILS基礎知識,并介紹其在ECU測試中的應用。我們將從最基本的步驟開始詳細講解。
什么是HILS?
我們如何在計算機內部的虛擬世界中創建由ECU控制的機械裝置?
ECU(電子控制單元)是一種計算機設備,它每隔一個周期(例如2毫秒)執行一次控制程序。該程序從傳感器接收被控對象的狀態信息,根據控制邏輯計算輸出值,并將這些輸出值發送給被控對象。ECU與被控對象之間的交互稱為“控制回路”。如果能夠在計算機上創建一個類似于真實系統的控制回路(圖1),則可以實現HILS。

圖1、HILS的基本概念
HILS必須與電子控制單元(ECU)協同工作。它使用一種稱為仿真的程序來計算虛擬受控對象的運行狀態,該虛擬受控對象替代了現實世界中的電氣/機械設備。這被稱為“被控對象模型”。計算機上的被控對象模型通過稱為接口電路的電子電路連接到ECU的輸入/輸出電路,從而形成控制回路。
如果我們能夠實時操作計算機,使工廠模型的計算時間與實時(現實世界中流逝的時間)相同,我們就可以像操作現實世界的控制回路一樣操作ECU。
這項技術被稱為“實時仿真”,是HILS的核心技術。如圖2所示,現實世界中被控對象的狀態會根據ECU的輸出值發生虛線所示的變化。當HILS在0毫秒時刻通過接口電路接收到來自ECU的控制輸出時,它會在被控對象模型中計算t毫秒后的狀態。通過將計算時間縮短到小于t毫秒,就可以從計算機實時輸出t毫秒后被控對象的下一個狀態。

圖2、實時仿真
另一方面,如果ECU以T毫秒的周期運行,則HILS在該周期內更新被控對象模型T/t次信號值,以便ECU輸入最新更新的信號值。這樣,HILS和ECU就按照各自的周期重復[輸入/計算/輸出]循環,形成HILS控制回路。
由ECU控制的系統
在考慮HILS之前,我們先來考慮由電子控制單元(ECU)控制的系統。為了便于理解,我們將考慮圖3所示的發動機/發電機系統 ,其中發動機和發電機直接連接。
發動機是一種可以通過控制燃油供應量來調節輸出功率的裝置。控制燃油供應量的裝置包括節氣門和燃油噴射裝置。我們暫且略過這些細節,簡單來說,發動機可以通過操作節氣門來調節發動機扭矩,使其從零到最大。
讓我們考慮一下發動機產生扭矩以恒定速度旋轉負載發電機時的動態特性(圖 4)。

圖3、發電系統

圖4、恒定轉速=扭矩平衡
恒定的發動機轉速意味著發動機扭矩和負載扭矩處于平衡狀態。發動機扭矩是發動機產生的旋轉力。負載扭矩是負載施加的阻止旋轉的力。當沒有做功時,旋轉摩擦力起作用。當發動機扭矩超過負載扭矩時,多余的扭矩會增加發動機和負載的轉速。轉速的增加量與多余的扭矩成正比,可以用旋轉運動方程來表示。
Te-Tl=I×dω/dt
其中 Te 為發動機扭矩(發動機扭矩),Tl 為負載扭矩(負載扭矩),I 為發動機和負載慣性矩之和,ω 為轉速,dω/dt 為旋轉加速度。
什么是控制?
我們考慮以恒定的旋轉速度操作該裝置。
如果發動機轉速低于目標值,請移動燃油控制桿增加燃油量;如果發動機轉速過高,請移動燃油控制桿減少燃油量。您需要密切關注轉速表,以便檢測哪怕幾轉/分的轉速變化,并經常小幅移動燃油控制桿來調整轉速。
這項操作需要一定的技巧才能做好。如果您突然嘗試操作一臺實際的發動機,即使是輕微地移動操縱桿也可能導致發動機轉速發生巨大變化。如果不小心,發動機可能會熄火,或者轉速可能會過高,從而損壞發動機或發電機。為了保持轉速的穩定控制,必須由一名熟練的操作人員全程在場。
如果有一種裝置能夠代替人操作發動機,操作員只需設定目標轉速,其余的都交給裝置自動完成,即可實現持續旋轉。這種裝置被稱為轉速控制裝置,而電子控制單元(ECU)正是利用微型計算機和電子技術來實現這一目標的。ECU 監控發動機轉速,并根據需要增加或減少燃油噴射量。發電系統中 ECU 的基本控制功能/性能要求如下:
·啟動功能
·停止功能
·發電輸出控制功能
-發動機帶動發電機旋轉發電。假設發電功率為1000瓦。
-產生恒定電壓和頻率的交流電(可選AC100V/50Hz和60Hz)。功率可在0至1000W范圍內調節。
·瞬態性能
-即使發電量發生變化,電壓和頻率的變化也很小,并在一定時間內趨于穩定。因此,發動機轉速的變化必須低于某個特定值。
控制系統配置
讓我們考慮一種滿足此要求的發電系統配置。
·該系統由發動機、發電機、功率負載和裝有ECU的控制面板組成。
·ECU通過發動機的燃油調節器來控制發動機轉速。
·配備啟動開關,用于啟動發動機
·配備停止開關,可停止發動機
·配備發電頻率設置開關,可啟用發電功能
·配備旋轉傳感器,用于檢測發動機旋轉狀態
·配備一個主開關,用于打開和關閉發電機輸出。
·配備負載開關,可單獨打開/關閉負載側燈。
·發動機轉速由發動機轉速傳感器檢測并輸入到ECU(發動機控制單元)。
上述內容可以可視化為圖 5所示的系統配置。還可以實現進一步的組織,并且也可以用圖 6所示的功能框圖表示。

圖5、系統配置

圖6、發電系統功能框圖
為什么需要硬件在環(HILS)?
再想象一下人控制一個系統的情況。一個技術嫻熟的操作員可能對系統有很好的掌控能力,但這并不意味著他們一開始就技術嫻熟。熟練意味著他們積累了豐富的經驗,建立了良好的業績記錄,并且具備應對各種情況的能力。
如果有一個訓練平臺,其運行方式與真實系統完全相同呢?即使是業余人士也可以在訓練平臺上進行練習,模擬各種場景,從而掌握在首次面對真實系統時能夠達到專家水平的技能。這種設備被稱為模擬器。飛機飛行模擬器就是一個典型的模擬器。
對于ECU來說也是如此。一旦ECU被制造出來并投入使用,除非系統狀態因故障或其他原因發生變化,否則它將持續正常運行。然而,當一個原型ECU首次被集成到系統中并投入使用時,并不能保證它能夠像人一樣流暢地運行和控制。如果有一個ECU模擬器,就可以預先檢查和調整輸入/輸出電路和控制邏輯是否正常工作。HILS就是一種ECU模擬器。
硬件在環配置
硬件在環仿真(HILS)可以通過用計算機系統替代控制系統的機械和電氣系統來實現。圖7展示了HILS與功能塊之間的對應關系。在計算機上創建的HILS被控對象模型用于實現控制系統的機械和電氣系統的特性。

圖7、基于硬件在環(HILS)實現的控制系統
重要的是,從ECU(電子控制單元)看到的控制系統與實際系統完全相同,包括其動態特性。ECU向燃油調節器輸出信號以改變發動機轉速,并將此狀態通過速度傳感器信號反饋。在此,硬件在環仿真(HILS)根據ECU的輸出計算發動機轉速,并在接口電路中生成速度傳感器信號。
這樣,在 HILS 上就創建了一個控制回路:ECU 輸出 ? 被控對象模型 ? 反饋信號到 ECU ? ECU。
HILS的歷史
現在,讓我們來了解一下 HILS 的歷史。
實時模擬器是一種利用實時運行的計算機來模擬系統行為的控制系統開發方法。自20世紀50年代甚至更早,模擬計算機還是主流的時候,實時模擬器就已被應用于飛行模擬器、電力系統以及大型機械設備的控制等領域。
后來,到了 20 世紀 60 年代,隨著數字計算機的發展,結合了模擬計算機和數字計算機的混合計算機實時模擬器開始投入使用。在汽車行業, 1970 年就展示了車輛車身運動實時模擬的一個例子 。
后來,在 20 世紀 70 年代后期,使用微處理器的 ECU 開始在汽車中用于發動機控制;到了 20 世紀 80 年代,ECU 開始被廣泛用于控制發動機以外的其他設備。
20 世紀 80 年代末,計算機體積縮小,工作站和個人計算機因其易于用于測試和測量而得到普及。利用這些設備,采用實時仿真進行 ECU 測試的HILS技術開始發展,并隨著各個控制系統的發展而應用。
1990 年,面向一般銷售的 HILS 系統開始商業化銷售,將 I/O 電路、工廠模型和用于人機界面的虛擬操作控制臺打包在一起。
20 世紀 90 年代末,出現了發動機和車身的工廠模型;21 世紀初,出現了自動化測試系統工具,從而發展出了目前的硬件在環 (HILS)。
這次,我們介紹了硬件在環仿真(HILS)與電子控制系統的關系,這是理解HILS的前提。下一篇,我們概述一下HILS,以及如何在計算機上構建HILS。更多內容,關注牛喀網,學習更多汽車科技。有興趣的朋友,可以添加牛小喀微信:NewCarRen,加入專家社群參與討論。

(添加微信號NewCarRen咨詢)
