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