張婉茹,陳厚軍,聶 燕,劉蘇蘇,3,張 平
(1.南通大學(xué)機(jī)械工程學(xué)院,江蘇南通 226019;2.中天智能裝備有限公司,江蘇南通 226009;3.南通棉花機(jī)械有限公司,江蘇南通 226002;4.南通友星線束有限公司,江蘇南通 226010)
汽車線束是汽車的傳動系統(tǒng)、制動系統(tǒng)、行走系統(tǒng)和轉(zhuǎn)向系統(tǒng)傳遞信號的載體,線束的安全可靠是汽車正常行駛的保障。隨著人們對汽車安全性能的要求不斷增加,汽車線束也更加復(fù)雜,給線束故障檢測帶來了困難。傳統(tǒng)的檢測方法利用萬用表等工具采用逐點搭接的方式來判斷線束的通斷,該方法速度慢、檢測效率低、智能化水平低且容易造成線束的錯檢和漏檢[1]。
國內(nèi)有關(guān)線束的故障檢測與診斷技術(shù)正處于起步階段,存在檢測數(shù)量受限制等問題。S. Y. Jiang等以S3C44B0微處理器為核心設(shè)計了線束檢測的硬件電路[2]。盛碧云等分析了任意拓?fù)浣Y(jié)構(gòu)線束的故障模型,并運(yùn)用矩陣降價處理和矩陣異或運(yùn)算實現(xiàn)了故障分析[3],此方法減少內(nèi)存消耗,縮短了檢測時間。W. D. Feng等基于LabVIEW編程語言開發(fā)的測試系統(tǒng)更加靈活[4]。G. H. Bao等提出了基于無線網(wǎng)絡(luò)通信的新型系統(tǒng),用于飛機(jī)線束導(dǎo)通試驗[5]。
國外已經(jīng)出現(xiàn)了較專業(yè)化、自動化的線束檢測系統(tǒng),準(zhǔn)確性高但成本高。因此。本文針對國內(nèi)檢測系統(tǒng)存在的問題,設(shè)計了一套基于STM32的汽車線束故障檢測系統(tǒng)。
圖1 線束故障模型圖
線束檢測的基本原理是將檢測到的線束狀態(tài)信號轉(zhuǎn)為數(shù)字信號,將數(shù)字信號轉(zhuǎn)化為矩陣模型再進(jìn)行線束故障的診斷分析?;诖嗽砜纱_立線束檢測的基本步驟:
(1)將線束設(shè)計圖紙中的線號連接信息解析處理后存儲到設(shè)計矩陣中。
(2)系統(tǒng)主板向各個單元板發(fā)送檢測命令,檢測由n×64(n為單元板個數(shù))個引腳所組成的點陣,觀察其信號信息。
(3)單元板依次選擇1個引腳X給其施加一定電壓,對剩余的n×64-1個引腳循環(huán)掃描讀取其電壓變化情況。若存在m個引腳的電壓隨X點的電壓變化而變化,則這m個引腳與X點存在導(dǎo)通關(guān)系,該狀態(tài)記為“1”;剩余的n×64-m-1個引腳電壓未發(fā)生變化,則這些點與X點不存在導(dǎo)通關(guān)系,該狀態(tài)記“0”。
(4)將狀態(tài)信號{0,1}轉(zhuǎn)化為檢測矩陣的數(shù)字信息,將其與設(shè)計矩陣進(jìn)行運(yùn)算進(jìn)而得到判斷矩陣,即可判斷出線束是否有斷路、短路等故障發(fā)生。
基于線束故障檢測原理建立的3種類型的矩陣分別為設(shè)計矩陣Ai×j、檢測矩陣Bi×j和判斷矩陣Ci×j。其中,Ai×j存儲線束正確連接信息;Bi×j存儲檢測時的狀態(tài)信息;Ci×j存儲線束故障信息。3種矩陣的運(yùn)算關(guān)系如式(1)所示。
Ci×j=Ai×j-Bi×j
(1)
設(shè)檢測含有5個點位的護(hù)套的線束連接情況,5個點位分別記為1、2、3、4、5。其中,1號點與2號點存在導(dǎo)通關(guān)系,3號點與4號點存在導(dǎo)通關(guān)系,共兩條線束。檢測系統(tǒng)的3種矩陣如圖2所示。
圖2 三類型矩陣
首先,根據(jù)導(dǎo)通關(guān)系可得5×5的設(shè)計矩陣A5×5,如圖2(a)所示。設(shè)計矩陣中,“1”代表點與點之間存在導(dǎo)通關(guān)系,“0”代表不存在導(dǎo)通關(guān)系。故由假設(shè)條件可知,記A12與A21為“1”,A34與A43為“1”;而5個引腳自導(dǎo),也將A11、A22、A33、A44與A55記作“1”。
接著,在檢測過程中發(fā)現(xiàn)1號點與5號點存在導(dǎo)通關(guān)系,3號點與4號點存在導(dǎo)通關(guān)系。根據(jù)實際檢測過程中的線束檢測狀態(tài)可編寫5×5的檢測矩陣B5×5,如圖2(b)所示。
最后,根據(jù)式(1)運(yùn)算處理得到判斷矩陣C5×5,如圖2(c)所示。該判斷矩陣中的“1”代表斷路故障,“-1”表示短路故障。在此矩陣中,C12與C21為“1”,即1號點與2號點發(fā)生斷路故障;C51與C15為“-1”,即1號點與5號點發(fā)生短路故障。線束故障矩陣是檢測系統(tǒng)的核心,矩陣的建立也為檢測系統(tǒng)的設(shè)計提供了依據(jù)。
系統(tǒng)總體架構(gòu)圖如圖3所示。汽車線束故障診斷系統(tǒng)主要由上位機(jī)軟件、下位機(jī)硬件、串口通信模塊和被測線束4個部分組成。上位機(jī)通過串口將檢測命令下發(fā)至下位機(jī),下位機(jī)的主板中的STM32通過解析串口命令,向單元板發(fā)送不同的檢測脈沖波形。單元板執(zhí)行板卡自檢、導(dǎo)通檢測、電壓檢測等相應(yīng)的檢測命令,并將檢測結(jié)果按照相應(yīng)協(xié)議通過RS-485總線[6]反饋到主板中,主板再將檢測結(jié)果送至上位機(jī)中。上位機(jī)對接收到的數(shù)據(jù)進(jìn)行相應(yīng)變換和運(yùn)算,在界面上實時顯示診斷結(jié)果,并將顯示故障信息打印,進(jìn)而定位到故障線束。
圖3 系統(tǒng)總體架構(gòu)圖
線束檢測系統(tǒng)的流程圖如圖4所示。上位機(jī)打開串口和檢測線程,串口通信的波特率為115 200 kbit/s[7]。使用條碼槍掃描被測線束條形碼,若與上位機(jī)預(yù)設(shè)線束條形碼一致,則向下位機(jī)發(fā)送檢測命令。下位機(jī)的檢測分為兩個部分,分別是板卡硬件自檢和線束檢測。板卡硬件自檢是為了獲取單元板的數(shù)量和單元板是否都被上電進(jìn)而為線束檢測做準(zhǔn)備;線束檢測則是為了獲取線束的檢測點數(shù)據(jù)。主板將采集的檢測數(shù)據(jù)上傳至上位機(jī),由上位機(jī)轉(zhuǎn)換后形成檢測矩陣,并通過式(1)的矩陣運(yùn)算進(jìn)行線束檢測。上位機(jī)通過操作具有自描述功能的XML文件[8],將XML文件與圖形化編程相結(jié)合,實現(xiàn)了線束的可視化動態(tài)檢測。
圖4 檢測流程圖
汽車線束檢測系統(tǒng)下位機(jī)的硬件電路主要由電源電路、串口電路、STM32單片機(jī)最小系統(tǒng)[9]、檢測電路、串/并口轉(zhuǎn)換電路和并/串口轉(zhuǎn)換電路、電壓檢測電路和多路模擬開關(guān)電路組成,硬件電路總體框架圖如圖5所示。
圖5 硬件電路總體框架圖
主板中STM32向單元板發(fā)送“點名”指令,單元板控制74HC595串口/并口電路對通斷檢測電路施加不同的檢測信號,并將檢測結(jié)果通過74HC165并口/串口電路返回至單元板中,進(jìn)而單元板對主板“應(yīng)答”,實現(xiàn)了閉環(huán)控制。多路模擬開關(guān)電路中的通道電路均有不同阻值的電阻,實現(xiàn)了多種電壓測量范圍的電阻測量。
硬件電路中最核心的部分是通斷檢測電路。單元板的STM32對主板命令進(jìn)行解析,通過8個級聯(lián)的HC595芯片將高低電平施加至MOS管的柵極中,被檢測線束連接至輸出點OUT,8個級聯(lián)的HC165芯片將檢測點OUT的高低電平反饋到STM32中,進(jìn)而完成對線束的檢測電壓采集,線束故障檢測電路圖如圖6所示。
圖6 線束故障檢測電路
CTRH0、CTRH1…對MOS管進(jìn)行高端控制,CTRL0、CTRL1…對MOS管進(jìn)行低端控制,OUT0…OUT63為電平檢測點,故一塊單元板可檢測64個點。若有一被檢測線束兩端連接在OUT0和OUT63兩點,故檢測時對OUT0的MOS管的高端驅(qū)動輸入高電平,其他輸出點的MOS管的高端驅(qū)動輸入低電平,對MOS管的低端驅(qū)動始終輸入低電平。由電路原理可知,OUT0輸出高電壓,若線束導(dǎo)通,則OUT63輸出高電壓,反之,輸出低電壓。理論上,由于單元板個數(shù)不受限制,故檢測線束的點數(shù)亦不受限制,但經(jīng)實測,檢測的線束過多時,檢測的速度也相應(yīng)降低。
系統(tǒng)的診斷原理是將{0,1}信號上傳至上位機(jī)進(jìn)行檢測運(yùn)算,故需將檢測的電壓轉(zhuǎn)化為邏輯電平,電壓比較電路如圖7所示。
圖7 電壓比較電路
本文設(shè)計的電壓比較電路利用雙路電壓比較器LM319比較兩輸入電壓[10],進(jìn)而輸出邏輯電平。由D/A轉(zhuǎn)換芯片DAC7512輸出的模擬電壓為LM319的基準(zhǔn)電壓,待測電壓接LM319的“-”輸入端。由于LM319是OC(集電極開路)輸出,故接10 kΩ的上拉電阻保證高電平輸出。
為了適應(yīng)被測線束電阻在不同量程范圍內(nèi)變化,系統(tǒng)選擇74HCF4051和干簧繼電器組成多路模擬開關(guān)電路[11]實現(xiàn)不同電阻阻值的自動切換。STM32通過改變A、B和C 3個通道的信號值來控制X0~X7通道任一通道被接通,連接在此通道的干簧繼電器的常開觸點閉合,實現(xiàn)不同電阻的切換。多路模擬開關(guān)電路圖如圖8所示。
圖8 多路模擬開關(guān)電路
對于本文研究的線束檢測系統(tǒng),研究它的速度和準(zhǔn)確率是非常有必要的。為此,系統(tǒng)搭建了由工控機(jī)、銀信檢測臺、RF10安全氣囊線束和檢測機(jī)箱組成的實驗平臺,如圖9所示。
圖9 實驗平臺圖
單個檢測機(jī)箱由1塊主板、10塊單元板以及1塊底板組成。主板上分別有機(jī)箱轉(zhuǎn)接插槽、串口插槽和電源插槽。機(jī)箱轉(zhuǎn)接插槽將多個機(jī)箱相連,可擴(kuò)展被檢測線束的數(shù)量;串口插槽則負(fù)責(zé)與上位機(jī)進(jìn)行實時通信。而被測線束則通過單元板的線束插槽與單元板的通斷檢測電路相連。
被測對象RF10安全氣囊線束由7個護(hù)套組成,共產(chǎn)生 23條導(dǎo)通關(guān)系。為了檢測此安全氣囊線束是否存在故障,首先,要為線束設(shè)計護(hù)套模塊,為每個端口添加PIN點物理地址和線號名等信息,如圖10(a)所示;接著,根據(jù)設(shè)計矩陣生成帶有導(dǎo)通關(guān)系的測試臺文件,即將線束的導(dǎo)通關(guān)系添加至預(yù)先設(shè)計的線束模塊中,護(hù)套間的連線即是被測線束;最后將生成的測試臺文件導(dǎo)入到線束檢測界面,即可檢測此線束的通路、斷路和短路等信息,如圖10(b)所示。
圖10 上位機(jī)系統(tǒng)界面
汽車線束檢測系統(tǒng)投入試行后,實現(xiàn)了64 h工作無故障記錄,線束檢測數(shù)據(jù)如表1所示。測量結(jié)果表明,線束測量點數(shù)在3 000個點以內(nèi),檢測速度約為0.6 ms/點,準(zhǔn)確率為100%,不會出現(xiàn)丟失測量點的現(xiàn)象;當(dāng)測試點數(shù)量大于3 000個點時,測試速度降低為0.65 ms/點且會丟失4個測量點,準(zhǔn)確率降低至99.89%。故本文設(shè)計的診斷系統(tǒng)適合檢測測量點在3 000個點以內(nèi)的汽車線束。
本文設(shè)計了一個基于STM32的汽車線束故障診斷系統(tǒng),實現(xiàn)了線束檢測信息的采集、上傳、處理,且系統(tǒng)檢測機(jī)箱的可擴(kuò)展性使線束的檢測數(shù)量得以擴(kuò)充。此外,上位機(jī)通過觀測圖形界面上線束顏色的變化進(jìn)而判斷該線束的合格與否形象直觀,對故障信息的打印可直接定位至故障線束,顯著提高了工作效率。
表1 線束檢測數(shù)據(jù)表