楊光友,劉威宏,余兆成,姜 帆,陳 明,史建鵬
(1 湖北工業(yè)大學(xué)農(nóng)業(yè)機(jī)械工程研究設(shè)計(jì)院, 湖北 武漢 430068;2 東風(fēng)汽車集團(tuán)有限公司前瞻技術(shù)研究院, 湖北 武漢 430050)
對行駛過程中的燃料電池車發(fā)生故障的統(tǒng)計(jì)數(shù)據(jù)分析表明,燃料電池車常見故障單元多集中在燃料電池系統(tǒng)[1]。因汽車橫擺角速度過大等相關(guān)因素造成汽車側(cè)翻同樣是影響汽車安全性的重要問題[2]。美國福特公司研發(fā)了一套新能源汽車的遠(yuǎn)程監(jiān)控系統(tǒng)用來獲取電池信息[3]。齊光石基于ARM處理器,通過GPS、CAN控制器,將采集的數(shù)據(jù)通過3G網(wǎng)絡(luò)傳輸至監(jiān)控中心,構(gòu)建了遠(yuǎn)程監(jiān)控系統(tǒng)[4]。金振華設(shè)計(jì)的燃料電池車監(jiān)控系統(tǒng),通過GPS和CAN網(wǎng)絡(luò)采集位置信息和整車參數(shù),并將數(shù)據(jù)傳輸至遠(yuǎn)程監(jiān)控中心,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控[5]。近年來,該領(lǐng)域相對成熟的設(shè)計(jì)多將監(jiān)控系統(tǒng)與智能手機(jī)結(jié)合,在手機(jī)連網(wǎng)的情況下通過智能手機(jī)APP對汽車的相關(guān)數(shù)據(jù)進(jìn)行遠(yuǎn)程監(jiān)測[6-7],或是以嵌入式智能芯片為基礎(chǔ)構(gòu)建汽車終端,結(jié)合外圍傳感器獲取狀態(tài)信號,將采集到的數(shù)據(jù)上傳至遠(yuǎn)程監(jiān)測系統(tǒng)[8-10]。
通過獲取燃料電池汽車運(yùn)行狀態(tài)下的運(yùn)維數(shù)據(jù),除了可以對汽車狀況進(jìn)行實(shí)時(shí)監(jiān)測,還能達(dá)到對即將出現(xiàn)的風(fēng)險(xiǎn)進(jìn)行預(yù)警的目的,提高了車輛的安全性和可靠性,燃料電池車位置姿態(tài)電池信息監(jiān)測采集系統(tǒng)應(yīng)運(yùn)而生。
燃料電池車監(jiān)測數(shù)據(jù)采集系統(tǒng)主要功能是獲取車輛運(yùn)行時(shí)的實(shí)時(shí)狀態(tài),將實(shí)時(shí)采集到的數(shù)據(jù)存儲到SD卡,并通過4G模塊傳輸?shù)竭h(yuǎn)程監(jiān)測服務(wù)器,實(shí)現(xiàn)遠(yuǎn)程監(jiān)測。
根據(jù)系統(tǒng)的功能要求,以及數(shù)據(jù)的來源途徑,將選取的監(jiān)測參數(shù)劃分為兩部分(表1)。
表1 選取的監(jiān)測參數(shù)
高精度姿態(tài)傳感器通過RS232接口傳輸給采集節(jié)點(diǎn)加速度、橫擺角速度和傾角數(shù)據(jù);GPS通過UART傳輸時(shí)間和位置信號。踏板電壓信號由AD接口采集獲取[11]。
監(jiān)測數(shù)據(jù)采集系統(tǒng)主要由采集節(jié)點(diǎn)和通信節(jié)點(diǎn)兩部分構(gòu)成。采集節(jié)點(diǎn)連接姿態(tài)傳感器、GPS以及加速踏板,并通過這些傳感器獲取有關(guān)加速度、側(cè)傾角、橫擺角速度、經(jīng)緯度等車輛狀態(tài)數(shù)據(jù),然后將數(shù)據(jù)通過串口發(fā)送到通信節(jié)點(diǎn);整車控制器VCU、燃料電池控制器FCU和電機(jī)控制器MCU通過汽車CAN總線向通信節(jié)點(diǎn)傳輸燃料電池狀態(tài)、電堆電壓,以及車速、電機(jī)轉(zhuǎn)速、加速度等數(shù)據(jù)。通信節(jié)點(diǎn)將采集節(jié)點(diǎn)和CAN總線傳輸來的數(shù)據(jù)進(jìn)行本地SD卡存儲,并通過4G模塊上傳至遠(yuǎn)程監(jiān)測系統(tǒng)。在通信節(jié)點(diǎn)的設(shè)計(jì)上,由于4G技術(shù)性能優(yōu)越且能夠與多項(xiàng)其他通信技術(shù)兼容[12],所以選用4G模塊來對數(shù)據(jù)進(jìn)行傳輸。采集節(jié)點(diǎn)核心處理器選用400 MHz主頻,1M SRAM的STM32H750芯片,通信節(jié)點(diǎn)核心處理器選用STM32F407芯片,同時(shí)在節(jié)點(diǎn)控制板上配置板載SD卡接口和4G通信模塊,以滿足本地?cái)?shù)據(jù)存儲以及數(shù)據(jù)上傳至云服務(wù)器的需求。采集節(jié)點(diǎn)經(jīng)由串口與通信節(jié)點(diǎn)進(jìn)行交互。
為滿足系統(tǒng)實(shí)時(shí)性和多任務(wù)的功能需求,監(jiān)測系統(tǒng)的兩個(gè)節(jié)點(diǎn)均移植UCOS嵌入式系統(tǒng)[13]。另外,移植FATFS文件管理系統(tǒng)[14]對通信節(jié)點(diǎn)的數(shù)據(jù)存儲進(jìn)行管理。系統(tǒng)架構(gòu)如圖1所示。
圖1 系統(tǒng)架構(gòu)
2.1.1控制器選擇根據(jù)系統(tǒng)總體設(shè)計(jì),采集節(jié)點(diǎn)采用了STM32H750核心板作為控制器。該核心板具有足夠的外設(shè)資源,滿足本系統(tǒng)的要求。
2.1.2RS232 根據(jù)系統(tǒng)總體設(shè)計(jì),GPS的串口是TTL,直接與節(jié)點(diǎn)控制器相連,而姿態(tài)傳感器與節(jié)點(diǎn)控制器之間的數(shù)據(jù)傳輸是通過RS232[15]實(shí)現(xiàn)。STM32H750核心板板載了一公一母兩個(gè)RS232接口,由于控制器的通訊電平不同于姿態(tài)傳感器,故使用SP3232芯片作為電平轉(zhuǎn)換芯片??刂破骶哂械腞S232電路原理如圖2所示。
圖2 RS232電路
2.2.1控制器選擇根據(jù)系統(tǒng)總體設(shè)計(jì),選擇性能較強(qiáng)的STM32F407作為通信節(jié)點(diǎn)控制器。該控制器板載了系統(tǒng)所需要的CAN接口、4G通信模塊和SD卡接口。
2.2.2CAN通信根據(jù)系統(tǒng)總體設(shè)計(jì),通信節(jié)點(diǎn)通過汽車CAN總線[16]獲取有關(guān)燃料電池狀態(tài)、電堆電壓,以及車速、電機(jī)轉(zhuǎn)速、加速度等數(shù)據(jù)。該節(jié)點(diǎn)控制器具有的CAN接口,通信原理如圖3所示。
圖3 CAN通信電路
2.2.3 4G通信模塊根據(jù)系統(tǒng)總體設(shè)計(jì),選用墨子號公司發(fā)行的EC20模塊,將采集的實(shí)時(shí)數(shù)據(jù)通過4G通信網(wǎng)絡(luò)傳輸至遠(yuǎn)程監(jiān)控系統(tǒng)。該模塊最大上行速率和最大下行速率分別為500 Mbps和100 Mbps,信號覆蓋范圍廣泛,并且支持多輸入多輸出技術(shù)(MIMO)[17],完全符合本系統(tǒng)功能要求。模塊接口原理如圖4所示。
圖4 EC20模塊接口和SIM卡電路
2.2.4SD卡接口根據(jù)系統(tǒng)總體設(shè)計(jì),監(jiān)測系統(tǒng)需要將實(shí)時(shí)采集到的數(shù)據(jù)進(jìn)行本地存儲。該節(jié)點(diǎn)控制板板載了SD卡接口,SD卡采用4位SDIO方式驅(qū)動,理論最大速度可以達(dá)到25 MB/S。其原理如圖5所示,包括數(shù)據(jù)線、時(shí)鐘線和命令線。
圖5 SD卡電路
根據(jù)系統(tǒng)總體設(shè)計(jì),采集節(jié)點(diǎn)通過板載的AD通道以5 ms/次的接收頻率獲取由加速踏板傳輸來的電壓信號,通過RS232和UART接收中斷以10 ms/次的接收頻率獲取姿態(tài)傳感器傳輸來的加速度、傾角和橫擺角速度信號,并通過UART以50 ms/次的頻率接收來自GPS傳輸來的經(jīng)緯度和時(shí)間信號。在采集到各傳感器數(shù)據(jù)后,采集節(jié)點(diǎn)以50 ms/次的頻率通過UART將接收到的來自各傳感器的數(shù)據(jù)打包發(fā)送給通信節(jié)點(diǎn)。采集節(jié)點(diǎn)通過UCOS實(shí)時(shí)操作系統(tǒng)對各個(gè)實(shí)時(shí)任務(wù)進(jìn)行調(diào)度,實(shí)現(xiàn)上述功能。系統(tǒng)的實(shí)時(shí)任務(wù)包括:加速踏板采集任務(wù)、姿態(tài)傳感器采集任務(wù)、GPS采集任務(wù)和數(shù)據(jù)發(fā)送任務(wù)。采集節(jié)點(diǎn)的任務(wù)優(yōu)先級如表2所示。
表2 采集節(jié)點(diǎn)任務(wù)優(yōu)先級
采集節(jié)點(diǎn)運(yùn)行開始時(shí)創(chuàng)建各個(gè)實(shí)時(shí)任務(wù),并由系統(tǒng)任務(wù)調(diào)度器進(jìn)行各個(gè)實(shí)時(shí)任務(wù)的切換。當(dāng)最高優(yōu)先級的任務(wù)為加速踏板數(shù)據(jù)采集任務(wù),則對踏板電壓進(jìn)行AD采集,發(fā)送相應(yīng)事件標(biāo)志組到數(shù)據(jù)發(fā)送任務(wù),然后調(diào)用OSTimeDlyHMSM()函數(shù)對任務(wù)延時(shí)5 ms。延時(shí)函數(shù)在該任務(wù)中不僅起著任務(wù)掛起的作用,還起著任務(wù)喚醒的作用。當(dāng)最高優(yōu)先級的任務(wù)為姿態(tài)傳感器數(shù)據(jù)采集任務(wù),若該任務(wù)請求到了相應(yīng)串口接收中斷發(fā)送的消息隊(duì)列,該任務(wù)得到執(zhí)行,對消息隊(duì)列數(shù)據(jù)進(jìn)行解析,并發(fā)送相應(yīng)事件標(biāo)志組到數(shù)據(jù)發(fā)送任務(wù),執(zhí)行完成后將該任務(wù)延時(shí)10 ms,否則將任務(wù)掛起;當(dāng)最高優(yōu)先級的任務(wù)為GPS數(shù)據(jù)采集任務(wù)時(shí),若該任務(wù)請求到了相應(yīng)串口接收中斷發(fā)送的消息隊(duì)列,則對GPS數(shù)據(jù)進(jìn)行解析,發(fā)送相應(yīng)事件標(biāo)志組到數(shù)據(jù)發(fā)送任務(wù),否則將任務(wù)掛起;當(dāng)最高優(yōu)先級任務(wù)為數(shù)據(jù)發(fā)送任務(wù),若請求到了相應(yīng)事件標(biāo)志組時(shí),則將數(shù)據(jù)進(jìn)行發(fā)送,發(fā)送完成后調(diào)用任務(wù)延時(shí)函數(shù)對該任務(wù)延時(shí)50 ms。該節(jié)點(diǎn)各任務(wù)間的同步與切換如圖6所示。
圖6 采集節(jié)點(diǎn)軟件流程
根據(jù)系統(tǒng)總體設(shè)計(jì),通信節(jié)點(diǎn)通過CAN總線獲取燃料電池狀態(tài)、電堆電壓,以及車速、電機(jī)轉(zhuǎn)速、加速度等數(shù)據(jù),經(jīng)由串口接收來自采集節(jié)點(diǎn)的車輛狀態(tài)等數(shù)據(jù)。此外,通信節(jié)點(diǎn)還需將所獲取的數(shù)據(jù)通過4G通信模塊上傳至遠(yuǎn)程服務(wù)器,并同時(shí)將數(shù)據(jù)存儲在本地SD卡中。通信節(jié)點(diǎn)也通過UCOS對各個(gè)實(shí)時(shí)任務(wù)進(jìn)行調(diào)度,實(shí)現(xiàn)上述功能。實(shí)時(shí)任務(wù)包括:4G通信模塊初始化任務(wù)、串口數(shù)據(jù)接收任務(wù)、CAN總線數(shù)據(jù)接收任務(wù)、數(shù)據(jù)上傳任務(wù)、數(shù)據(jù)存儲任務(wù)和LED指示燈任務(wù)。該4G模塊支持AT指令配置,使用之前需要發(fā)送相關(guān)AT指令對其進(jìn)行配置,配置指令如表3所示。通信節(jié)點(diǎn)的任務(wù)優(yōu)先級如表4所示。
表3 AT指令
表4 通信節(jié)點(diǎn)任務(wù)優(yōu)先級
在通信節(jié)點(diǎn)程序運(yùn)行開始時(shí),首先創(chuàng)建各個(gè)實(shí)時(shí)任務(wù),其后便由操作系統(tǒng)按照任務(wù)就緒表中查詢到最高優(yōu)先級的任務(wù)進(jìn)行任務(wù)切換。當(dāng)最高優(yōu)先級的任務(wù)為CAN總線接收任務(wù),執(zhí)行該任務(wù),該任務(wù)執(zhí)行完成后調(diào)用OSTaskSuspend()延時(shí)函數(shù)將任務(wù)掛起;當(dāng)任務(wù)優(yōu)先級為2的任務(wù)獲得最高優(yōu)先級,并接收到CAN接收中斷發(fā)送的相應(yīng)消息隊(duì)列,則執(zhí)行程序,信號量將被發(fā)送到數(shù)據(jù)上傳任務(wù),另一個(gè)信號量將被發(fā)送到數(shù)據(jù)存儲任務(wù),事件標(biāo)志組也將被發(fā)送到LED指示燈任務(wù);當(dāng)任務(wù)優(yōu)先級為3的任務(wù)獲得CPU使用權(quán),若該任務(wù)接收到了串口接收中斷發(fā)送的消息隊(duì)列,則任務(wù)執(zhí)行程序并向數(shù)據(jù)上傳任務(wù)發(fā)送信號量,向數(shù)據(jù)存儲任務(wù)發(fā)送信號量,并將相應(yīng)事件標(biāo)志組發(fā)送到LED指示燈任務(wù);當(dāng)最高優(yōu)先級的任務(wù)為數(shù)據(jù)上傳任務(wù),若請求到信號量時(shí),則將采集的數(shù)據(jù)打包上傳至服務(wù)器,上傳完成后發(fā)送事件標(biāo)志組到LED指示燈任務(wù),否則將任務(wù)掛起,進(jìn)入等待態(tài);當(dāng)任務(wù)優(yōu)先級為5的任務(wù)獲得CPU使用權(quán),若請求到信號量時(shí),則使用FATFS文件系統(tǒng)將所有獲取到的數(shù)據(jù)打包并進(jìn)行本地SD卡存儲,然后發(fā)送相應(yīng)事件標(biāo)志組到LED指示燈任務(wù),調(diào)用OSTimeDlyHMSM()函數(shù)對任務(wù)延時(shí);當(dāng)最高優(yōu)先級的任務(wù)為LED指示燈任務(wù),若請求到相應(yīng)事件標(biāo)志組時(shí),則執(zhí)行相應(yīng)程序。通信節(jié)點(diǎn)各任務(wù)間的同步與切換如圖7所示。
圖7 通信節(jié)點(diǎn)軟件流程
在完成系統(tǒng)總體設(shè)計(jì)后,將系統(tǒng)進(jìn)行整合封裝,制作出系統(tǒng)終端如圖8所示。
圖8 系統(tǒng)終端
為檢測該監(jiān)測數(shù)據(jù)采集系統(tǒng)的準(zhǔn)確度與穩(wěn)定性,本項(xiàng)目進(jìn)行了實(shí)車測試。
實(shí)車測試安排在東風(fēng)汽車公司某試驗(yàn)場地、某車型燃料電池試驗(yàn)車環(huán)境下進(jìn)行。將該監(jiān)測終端固定在駕駛座底座位置(圖9),監(jiān)控系統(tǒng)數(shù)據(jù)界面如圖10所示。經(jīng)多次試驗(yàn),系統(tǒng)獲取的時(shí)間信息完全與云端時(shí)間同步,經(jīng)緯度信息也與地圖定位相同。由遠(yuǎn)程監(jiān)控系統(tǒng)界面得知,車輛狀態(tài)和燃料電池狀態(tài)信息與車載電腦顯示信息基本相同。
圖9 實(shí)車試驗(yàn)
圖10 監(jiān)控系統(tǒng)界面
本文針對需求,設(shè)計(jì)出燃料電池車位置、姿態(tài)、電池信息監(jiān)測采集系統(tǒng),通過試驗(yàn)車實(shí)驗(yàn)分析得出以下結(jié)果:
1)該燃料電池車實(shí)時(shí)狀態(tài)監(jiān)測系統(tǒng)具有一定的實(shí)時(shí)性,軟件上使用較為成熟的μ-COS嵌入式操作系統(tǒng),可將實(shí)時(shí)獲取車輛狀態(tài)和燃料電池狀況信息通過合理任務(wù)調(diào)度進(jìn)行本地存儲并傳輸至遠(yuǎn)程服務(wù)器。相較于其他裸機(jī)開發(fā)的系統(tǒng)而言,實(shí)時(shí)性得到大幅提升。
2)該系統(tǒng)具有一定的可靠性,硬件上選用的兩塊STM32開發(fā)板作為節(jié)點(diǎn)控制器很好地與Lpms-IG1姿態(tài)傳感器、GPS模塊等外部傳感器相適應(yīng),且具有系統(tǒng)所需要的各種接口。相較于其他以工控機(jī)為基礎(chǔ)設(shè)計(jì)得到的系統(tǒng),能更便攜、更方便部署到車內(nèi)。
3)通過試驗(yàn)車多次實(shí)驗(yàn),證明該系統(tǒng)滿足系統(tǒng)基本要求。由該系統(tǒng)采集整理得到的數(shù)據(jù)集可為下一階段開展汽車安全行駛監(jiān)測研究奠定數(shù)據(jù)基礎(chǔ)。