田二林,王鳳琴,韓雪琴
(鄭州輕工業(yè)學(xué)院 計算機與通信工程學(xué)院,鄭州 450002)
隨著機械自動化、計算機控制系統(tǒng)和自動檢測技術(shù)的不斷發(fā)展,裝載在農(nóng)用車輛上的計算機控制系統(tǒng)越來越先進,極大提高了車輛的動力性和安全性,也較大程度地提高了車輛內(nèi)部結(jié)構(gòu)的復(fù)雜性,加大了車輛的維修和保養(yǎng)難度,因此檢測與排除車輛故障的方法應(yīng)運而生。車載故障檢測系統(tǒng)可實時在線檢測農(nóng)用車輛狀況和故障信息,有利于故障判斷、異常識別以及預(yù)警報警。本文以解決農(nóng)用車輛故障檢測及預(yù)警報警為出發(fā)點,設(shè)計和開發(fā)了一套基于MatLab的農(nóng)用車輛故障檢測系統(tǒng)。
農(nóng)用車輛車載故障檢測系統(tǒng)由車內(nèi)在線和車外離線檢測系統(tǒng)構(gòu)成,前者主要檢測車內(nèi)各種傳感器和控制器的實時狀態(tài),根據(jù)采集到的信息對其進行故障檢測,若車輛存在故障或隱患則以故障代碼的形式儲存在微處理器中,并通過人機交互界面實時顯示出來,讓司機了解車輛的實時狀況;后者則是向車內(nèi)在線檢測系統(tǒng)發(fā)送檢測請求,獲得車輛的故障代碼及故障維修碼,為車輛自主檢測提供策略。
目前,各農(nóng)用車輛生產(chǎn)廠商都結(jié)合車內(nèi)在線和車外離線檢測系統(tǒng)各自優(yōu)勢,開發(fā)和設(shè)計車載故障檢測系統(tǒng),該系統(tǒng)能夠準(zhǔn)確對農(nóng)用車輛進行快速檢測。車載故障檢測系統(tǒng)一般分為兩個模塊:
1)以軟硬件平臺搭建的車內(nèi)在線檢測系統(tǒng)實現(xiàn)自我檢測功能。在農(nóng)用車行駛過程中,車內(nèi)在線檢測系統(tǒng)會對汽車上的各個部分進行實時檢測,判斷車輛是否存在機械或電子控制方面的故障;如判斷有故障產(chǎn)生時,車內(nèi)在線檢測系統(tǒng)會以點亮相應(yīng)指示燈向司機發(fā)出警示,并將故障代碼和發(fā)生時間保存在存儲器中。
2)車輛被送修后,售后人員通過車外離線檢測系統(tǒng)獲取車內(nèi)在線檢測系統(tǒng)的信息,從而快速地對送修車輛進行維修和保養(yǎng)。
農(nóng)用車輛車載故障檢測系統(tǒng)采用軟硬件相結(jié)合的方式設(shè)計,硬件主要包括STM32微處理器、傳感檢測電路、電機驅(qū)動電路及電壓穩(wěn)控電路等;軟件則包括故障信號的采集、判斷,以及相應(yīng)故障代碼的確定。農(nóng)用車輛車載設(shè)備故障底層設(shè)計如圖1所示。
圖1 農(nóng)用車輛車載故障檢測系統(tǒng)底層設(shè)計Fig.1 The bottom design of vehicle fault detection system for agricultural vehicles
農(nóng)用車輛在作業(yè)過程中,其機械和電子方面的控制部件的信號會在一定的范圍內(nèi)呈現(xiàn)出有規(guī)律的變化,而當(dāng)出現(xiàn)機械或者電控故障時,這些信號會偏離正常值,而微處理器能夠準(zhǔn)確地識別這些不正常變化。倘若這些信號在一定周期內(nèi)繼續(xù)存在,系統(tǒng)會自動檢測該信號對象的故障,并送至相應(yīng)的故障指示燈置位,同時保存在存儲器上。若在接下來的1個周期內(nèi),該故障信號消失,則將相應(yīng)的故障指示燈清零。在故障指示燈清零后,系統(tǒng)會自動將一部分不太重要的故障信息刪除,而保留那些重要的故障信息,在車輛送修時,供維修人員讀取。
農(nóng)用車輛車載故障檢測系統(tǒng)包括各傳感器、驅(qū)動、電源、能源及電子控制等子電路。因此,故障代碼不僅僅是指該傳感器電路存在故障或隱患,而是表示子電路回路存在問題,具體原因則可能是該子電路(包括傳感器件、接線頭、信號線或者車輛驅(qū)動等)出現(xiàn)了問題。因此,故障代碼只能為駕駛員或售后技術(shù)員提供車輛大致出現(xiàn)的故障或隱患區(qū)域,并不能判斷出子回路哪個部件出現(xiàn)了問題,還需由售后技術(shù)員采用儀表工作進行詳細的檢測。
農(nóng)用車輛車載故障檢測系統(tǒng)故障代碼由5位數(shù)字或字母結(jié)合組成,第一部分(第1位)為P(車輛動力總成),B(車身電子系統(tǒng)),C(車輛底層系統(tǒng)),U(車輛網(wǎng)絡(luò)系統(tǒng));第二部分(后面4位)為“0,1, 2, 3, 4, 5, 6, 7, 8, 9”中的4位組成。故障檢測系統(tǒng)故障代碼含義如圖2所示。
圖2 故障檢測系統(tǒng)故障代碼含義Fig.2 The fault code meaning of fault detection system
本文在設(shè)計農(nóng)用車輛車載故障檢測系統(tǒng)是后面4位和5位具體故障參照OBD系統(tǒng),其可以為故障詳細類型進行指導(dǎo)。例如,電路開路、電路短路、電壓低、電壓高、火宅、傳感器故障及間歇不穩(wěn)定等詳細故障。
在設(shè)計農(nóng)用車輛故障檢測節(jié)點中,為了讓各子系統(tǒng)具有標(biāo)準(zhǔn)接口、模塊化、可移植性、可擴展性及可互換性等功能,最大程度地提高整個系統(tǒng)的擴展性、移植性以及穩(wěn)定性,各個子系統(tǒng)均采用模塊化設(shè)計方法。
農(nóng)用車輛故障檢測系統(tǒng)采用ST公司高性能、低成本及低功耗STM32F103微處理器,該處理器具有快速的處理能力和響應(yīng)能力。整個系統(tǒng)包括微處理器、CAN總線、串口、存儲設(shè)備,以及輸入、輸出設(shè)備等,如圖3所示。
圖3 農(nóng)用車輛故障檢測系統(tǒng)硬件結(jié)構(gòu)圖Fig.3 The hardware structure of fault detection system for agricultural vehicle
在農(nóng)用車輛故障檢測系統(tǒng)中,故障診斷節(jié)點主要包括設(shè)備檢測信號采集模塊、信號調(diào)理模塊及信號分析處理模塊,故障診斷節(jié)點框架如圖4所示。
圖4 故障診斷節(jié)點框架圖Fig.4 The frame diagram of fault diagnosis nodes
故障檢測節(jié)點采用CAN局域網(wǎng)現(xiàn)場總線通信協(xié)議,系統(tǒng)設(shè)備檢測的信息通過檢測傳感器組、中繼電纜、數(shù)字信號接口及模擬信號接口采集,由調(diào)理電路進行濾波和放大處理后發(fā)送給CAN總線,進而發(fā)送給微處理器。
農(nóng)用車輛故障檢測系統(tǒng)的主要功能都是在硬件的基礎(chǔ)上,由軟件實現(xiàn)。因此,軟件的設(shè)計也較為復(fù)雜,系統(tǒng)不僅需要對底層驅(qū)動程序進行編譯、移植,還需要對CAN總線接口進行驅(qū)動開發(fā)移植;另外,還需要對其他應(yīng)用層的程序進行編寫。農(nóng)用車輛故障檢測系統(tǒng)軟硬件之間的關(guān)系如圖5所示。
圖5 檢測系統(tǒng)軟硬件之間的關(guān)系圖Fig.5 The relation diagram between the hardware and software of the detection system
整個軟件系統(tǒng)主要包括主程序、初始化、定時器與計數(shù)器、通信協(xié)議及故障檢測等多個子程序。由于受到篇幅的限制,本文僅僅給出主程序的流程,如圖6所示。
在建立農(nóng)用車輛車載故障檢測系統(tǒng)模型過程中,本文根據(jù)試驗獲取故障檢測實際樣本集,對數(shù)據(jù)進行歸一化處理,得到故障類型樣本集;然后通過神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練模型進行測試,得到神經(jīng)網(wǎng)絡(luò)模型;最終結(jié)合測試樣本集數(shù)據(jù)得到車輛故障檢測結(jié)果。農(nóng)用車輛車載故障檢測系統(tǒng)模型如圖7所示。
MatLab在農(nóng)用車輛故障檢測中的應(yīng)用是通過對燃油、空氣排放控制系統(tǒng),燃油、空氣計量系統(tǒng),以及噴油器檢測系統(tǒng)、點火系統(tǒng)、排放控制系統(tǒng)、車速及怠速控制系統(tǒng)、計算機輔助控制系統(tǒng)、變速箱和動力系統(tǒng)的樣本集進行訓(xùn)練并確定各部分在網(wǎng)絡(luò)連接中的權(quán)值。若樣本中沒有足以判斷故障信息或未能獲取車輛故障的信息,則檢測結(jié)果是不確定的。因此,建立農(nóng)用車輛故障故障及其特征值是建立模型的關(guān)鍵所在。農(nóng)用車輛故障及其特征值如表1所示。
表1 農(nóng)用車輛故障及其特征值Table 1 The fault and characteristic value of agricultural vehicle
在進行MatLab軟件仿真時,需要輸入樣本矩陣、目標(biāo)矩陣、網(wǎng)絡(luò)層數(shù)、輸出單元層個數(shù)、輸入層-隱層連接權(quán)值和隱層-輸出層連接權(quán)值;在仿真和數(shù)據(jù)檢測的過程中,建立神經(jīng)網(wǎng)絡(luò)模型,并根據(jù)需要檢測的車輛故障對數(shù)據(jù)樣本進行訓(xùn)練,使網(wǎng)絡(luò)識別故障檢測模式。例如,在某個車輛故障檢測模式中,神經(jīng)網(wǎng)絡(luò)的輸出一個目標(biāo)矩陣,采用數(shù)據(jù)庫保存的訓(xùn)練樣本和模型權(quán)值,便可以輸出直觀的車輛故障檢測結(jié)果。MatLab軟件仿真檢測程序框圖如8所示。
圖8 MATLAB軟件仿真檢測程序框圖Fig.8 The test program block diagram of MATLAB software simulation
為了驗證農(nóng)用車輛故障檢測系統(tǒng)是否能夠準(zhǔn)確檢測車輛故障,及檢驗該系統(tǒng)的實時性、穩(wěn)定性和有效性,特對該系統(tǒng)進行了MatLab仿真測試。系統(tǒng)通過CAN總線對信息數(shù)據(jù)進行采集并生成特征向量,最后采用神經(jīng)網(wǎng)絡(luò)的方式對特征故障庫進行分類識別與處理,并輸出檢測結(jié)果。MatLab仿真界面及結(jié)果如圖9所示。
圖9 MATLAB仿真界面及結(jié)果圖Fig.9 The interface and results diagram of MATLAB simulation
該農(nóng)用車輛故障檢測系統(tǒng)經(jīng)過長時間的測試和應(yīng)用,能夠準(zhǔn)確檢測車輛故障代碼及類型,也能夠?qū)崟r輸出檢測結(jié)果。例如,故障代碼為P0350,故障類型為點火線圈一次/二次線路失效等信息,并且測試結(jié)果與維修售后人員實際檢測故障相符合。測試結(jié)果說明:基于MatLab的農(nóng)用車輛故障檢測系統(tǒng)實現(xiàn)了預(yù)期的故障檢測功能,系統(tǒng)具有較高的實時性、穩(wěn)定性和有效性,對實現(xiàn)農(nóng)用車輛故障檢測系統(tǒng)具有重要的參考意義。
本文以STM32F103微處理器為核心,結(jié)合MatLab軟件仿真平臺,從農(nóng)用車輛故障的分析和診斷入手,設(shè)計和開發(fā)了農(nóng)用車輛車載故障檢測系統(tǒng),系統(tǒng)能夠?qū)囕v故障和行車隱患進行實時檢測,具有結(jié)構(gòu)簡單和成本低廉等優(yōu)勢。測試結(jié)果表明:基于MatLab的農(nóng)用車輛故障檢測系統(tǒng)實現(xiàn)了預(yù)期的故障檢測功能,具有較高的實時性、穩(wěn)定性和有效性,對實現(xiàn)農(nóng)用車輛故障檢測系統(tǒng)具有重要的參考意義。