劉麗偉, 王艷梅*, 劉愛軍
(1.長春工業(yè)大學(xué) 計算機科學(xué)與工程學(xué)院, 吉林 長春 130102;2.長春振宇機電成套有限公司, 吉林 長春 133000)
近年來,國家經(jīng)濟發(fā)展迅速,人民物質(zhì)生活水平提高,汽車成為家庭消費的重要選擇。隨著人們對生活舒適度的要求越來越高[1],汽車在各方面的性能不斷更新,汽車上的電器部件隨之增加,汽車線束也越來越復(fù)雜。車輛的可靠性是衡量車輛性能的重要指標(biāo),而線束的可靠性是其重要的組成部分[2],確保它在制造過程中不發(fā)生故障是一個非常重要的研究課題[3]。
目前國內(nèi)的線束檢測與診斷技術(shù)正在逐步發(fā)展,存在線束導(dǎo)通信息設(shè)定單一、檢測正確率低等問題。周樹艷等[4]研究了線束的快速檢測,檢測系統(tǒng)與被測線束相連,若無故障,則相應(yīng)回路中的發(fā)光二極管被點亮,采樣電路輸出脈沖由高電平變?yōu)榈碗娖?單片機根據(jù)采集到的脈沖信號,計算被點亮的發(fā)光二極管數(shù)量,在數(shù)碼管上進(jìn)行顯示。許雪軍等[5]設(shè)計了無地線線束檢測儀,在發(fā)射端對應(yīng)的電路施加電壓,接收端有輸出,則認(rèn)為導(dǎo)通,同時使用 CRC 校驗確保數(shù)據(jù)的正確性。張婉茹等[6]設(shè)計了基于STM32的汽車線束故障診斷系統(tǒng), STM32將高低電平施加至MOS 管的柵極中,被檢測線束連接至輸出點OUT,通過采集到檢測點OUT 的電壓判斷線束的導(dǎo)通。
本設(shè)計針對目前國內(nèi)檢測方法存在的問題,設(shè)計了一套基于壓控恒流源檢測方式的汽車線束檢測系統(tǒng),提出一種新的線束導(dǎo)通檢測方法。
線束生產(chǎn)加工的過程中,常見的故障主要包括:斷路(開路)、錯路和短路。斷路(開路)是指線路斷開,在輸出端接收不到輸入端的信號;錯路故障通常都成對出現(xiàn),雖然在輸出端會有輸入端信號的響應(yīng),但是成對出現(xiàn)的輸入輸出端連接并不正確;短路故障則會出現(xiàn)多對連通導(dǎo)線。標(biāo)準(zhǔn)正確線束則是輸入輸出一致[7],無錯路、短路。
標(biāo)準(zhǔn)線束模型及三種故障模型如圖1所示。
圖1 線束模型
對于大型線束,由于連接關(guān)系復(fù)雜,線束中的特殊元器件數(shù)量增多,線束導(dǎo)通信息的設(shè)定變得非常復(fù)雜,對線束的檢測不再僅僅是短路、斷路和錯路的故障檢測,更要對存在于導(dǎo)線中的元器件進(jìn)行檢測,確保線束中的元器件安裝正確,例如電阻、電容是否安裝,阻值、容量是否正確,二極管是否正確接入。
目前國內(nèi)線束檢測設(shè)備對小規(guī)模線束的斷路、錯路和短路故障都能有效進(jìn)行檢測。傳統(tǒng)汽車線束檢測的主要方法是:依次選擇一個端點施加一定的電壓,讀取剩余端點的電平進(jìn)行通斷判斷和故障定位[8]。實際應(yīng)用表明,雖然使用該方法可以較好地滿足檢測需求,但仍舊有很大的弊端。倘若導(dǎo)線接觸不良,接觸電阻過大時,也可能被識別為導(dǎo)通,這使得檢測準(zhǔn)確率下降。而且傳統(tǒng)的線束檢測設(shè)備對線束中的電阻、電容、二極管等元器件的檢測存在很大問題,尤其是對電阻、電容檢測的精準(zhǔn)度。
因此,本設(shè)計主要對線束檢測方法和線束中存在的電阻、電容等元器件的檢測進(jìn)行完善。
汽車線束檢測系統(tǒng)最主要是滿足國內(nèi)線束生產(chǎn)廠家對檢測系統(tǒng)的需求。首先在線束檢測系統(tǒng)工作之前對硬件設(shè)備進(jìn)行自檢,確保硬件設(shè)備的完好性;其次確保系統(tǒng)能滿足不同汽車線束的檢測需求,經(jīng)過調(diào)研和分析,該檢測系統(tǒng)主要實現(xiàn)的功能有以下幾方面:
1)所開發(fā)設(shè)備能夠?qū)θN故障進(jìn)行準(zhǔn)確檢測,當(dāng)多種故障同時出現(xiàn)時,也能夠?qū)收线M(jìn)行準(zhǔn)確分析;
2)能夠?qū)€束中存在的電阻、電容、二極管等特殊元器件進(jìn)行測量[9],確保這些元器件的正確接入;
3)能夠?qū)崿F(xiàn)用觸摸屏對系統(tǒng)操控,并實時地將線束的檢測結(jié)果和錯誤線束的故障信息顯示在上機位觸摸屏,以便返修時工人能快速地解決問題, 同時能夠打印線束信息等廠家需要信息的實時報表;
4)具有自學(xué)習(xí)功能,可以對標(biāo)準(zhǔn)線束的連通進(jìn)行自主學(xué)習(xí),通過輸入特殊元器件的信息(如電阻的阻值)對線束中的元器件進(jìn)行學(xué)習(xí),根據(jù)學(xué)習(xí)信息進(jìn)行線束檢測,同時具備學(xué)習(xí)多種類型線束信息的能力。
硬件電路MCU 采用STM32F407ZGT6,它是ARM核心,擁有豐富的片內(nèi)資源,可以完成線束檢測所需的功能。同時使用16 M字節(jié),128 Mb容量的W25Q128芯片存儲不同類別的線束類型信息,以便進(jìn)行檢測時的信息調(diào)用。
硬件電路包括以下四部分:
1)電源電路負(fù)責(zé)給整個系統(tǒng)提供所需的電壓;
2)MCU 及其外圍電路包括時鐘電路、復(fù)位電路、串口通信電路、USB電路、Flash存儲器、按鍵和控制輸出接口電路、LCD屏幕接口電路等;
3)線束檢測電路對線束進(jìn)行通斷檢測,對線束內(nèi)的電阻、電容、二極管進(jìn)行測量。線束檢測部分電路包含壓控恒流源電路、模擬開關(guān)電路、地址譯碼器電路、電容測量電路以及控制電路等;
4)狀態(tài)指示燈驅(qū)動電路使用LED作為指示燈,用來指示檢測電路的工作狀態(tài)、故障狀態(tài)等。
硬件總體框圖如圖2所示。
圖2 硬件總體框圖
硬件中最核心的部分是檢測電路,要確保檢測部分能在MCU的控制下完成線束的通斷,錯接檢測以及對線束內(nèi)的電阻、電容、二極管的檢測。線束檢測部分的電路包含壓控恒流源電路[10]、模擬開關(guān)電路、地址譯碼器電路、電容測量電路以及控制電路等。
基于傳統(tǒng)的電平檢測方法對線束導(dǎo)通檢測的誤判考慮,本系統(tǒng)設(shè)計了壓控恒流源電路來進(jìn)行導(dǎo)線檢測,采用電流源流過被測導(dǎo)線,通過A/D轉(zhuǎn)換來檢測導(dǎo)線兩端電壓,如果電壓超過限定值(事先測量出給定電流值時,標(biāo)準(zhǔn)導(dǎo)線導(dǎo)通時的電壓最大值,并留出少許余量,定該值為限定值),就認(rèn)為不合格(STM32F407ZGT6的A/D轉(zhuǎn)換時間低至0.5 μs,可以較高的精度快速完成檢測)。同時測量電阻、電容和二極管也使用恒流源電路實現(xiàn)。檢測電阻時給定電流,讓電流流過被測電阻,經(jīng)過A/D轉(zhuǎn)換測得電壓,計算出電阻值。檢測二極管時,使其正向流過電流,正向的導(dǎo)通壓降在正常范圍,反向流過電流,因二極管反向截止,電流無法流過,故反向壓降超出測量范圍(大于3 V),就認(rèn)為二極管安裝正確。電容的測量采用恒流源給電容充電,通過計數(shù)器測量充電時間,從而確定電容的大小。
3.2.1 壓控恒流源電路設(shè)計
恒流源電路如圖3所示。
圖3 恒流源電路
恒流源輸出的電流值根據(jù)被測電阻和電容的范圍來確定。MCU 的A/D轉(zhuǎn)換電壓基準(zhǔn)源選擇3 V,即A/D轉(zhuǎn)換的輸入滿量程電壓為3 V,電流源的大小設(shè)置要使其流過電阻產(chǎn)生的電壓不超過3 V,而且在測量范圍內(nèi),電流值要稍大一些。例如檢測的電阻范圍為50 Ω~200 kΩ,當(dāng)被測電阻為200 kΩ時,恒流源的最大電流Iom=3 V/200 kΩ=0.015 mA。這個電流值要留出余量,故取0.014 mA??梢詼y量的電阻最大值Rmax=3 V/0.014 mA=214.29 kΩ。
電阻測量分3個范圍:
1)50 Ω~2 kΩ,測量電流為1.2 mA;
2)2~20 kΩ,測量電流為0.14 mA;
3)20~200 kΩ,測量電流為0.014 mA。
恒流源的電流經(jīng)過Q1的漏極輸出,流經(jīng)被測電路,再通過控制開關(guān)流入GND。電流源輸出的電流由D/A輸出的電壓來控制。在該系統(tǒng)中,MCU的PA4,PA5腳是D/A輸出引腳,用PA5輸出電壓控制恒流源的輸出電流。PA5的輸出電壓UD/A與輸出電流Io的關(guān)系為
其中,Io單位為mA,UD/A單位為V。
恒流源的輸出使能由三極管Q3控制,當(dāng)Q3截止時,電流流經(jīng)被測線束進(jìn)行測量,當(dāng)Q3導(dǎo)通時,電流通過Q3流入GND。 Q3的導(dǎo)通或者截止,通過STM32F407ZGT6的PB11引腳控制。
3.2.2 模擬開關(guān)電路設(shè)計
由于要檢測的線束端點較多(以1 024個檢測點為例),若每個端點都接一路恒流源,并且連接到A/D的輸入端,這就使得檢測系統(tǒng)復(fù)雜化,不利于實際應(yīng)用。因此為簡化系統(tǒng),選用模擬開關(guān),把需要檢測的端點切換到恒流源和A/D檢測輸入端。由于檢測的端點較多,故使用8選1結(jié)構(gòu)的74HC4051D。該模擬開關(guān)能通過模擬信號和數(shù)字信號實現(xiàn)信號雙向傳輸,并且具有較低的導(dǎo)通內(nèi)阻。采用兩個芯片為一組的電路結(jié)構(gòu),一個芯片作為發(fā)送端,另一個作為接收端,兩個芯片組成8個檢測端點,這8個端點既可以作為發(fā)送端,又可以作為接收端。當(dāng)檢測點同時作為發(fā)送端和接收端時,該電路結(jié)構(gòu)可實現(xiàn)電路的自檢。
模擬開關(guān)電路如圖4所示。
圖4 模擬開關(guān)電路
要組成1 024點的檢測電路,就需要256片74HC4051D,系統(tǒng)采用插卡式結(jié)構(gòu),分成8塊檢測卡,每塊卡檢測128點,即每塊卡32片74HC4051D。發(fā)送端的公共點連接到一起,接收端的公共點連接到一起,分別接到恒流源輸出端和MCU的A/D檢測輸入端。每個檢測點都有保護(hù)電路,防止因為靜電而燒壞74HC4051D。保護(hù)電路由100 Ω電阻和鉗位二極管BAV99W組成。保護(hù)電路如圖5所示。
圖5 保護(hù)電路
3.2.3 測試通道切換電路
測試通道切換電路的基本結(jié)構(gòu)如圖6所示。
圖6 測試通道切換電路
其中導(dǎo)線、電阻、電容和二極管等都在同一位置檢測,即圖中待測電阻RX的位置。
該電路用上下兩片74HC4051D芯片組成8個檢測點,兩片74HC4051D的X0~X7分別連接到一起,再通過一個100 Ω電阻連接到檢測點。上方兩片74HC4051D的X端接在一起,構(gòu)成發(fā)送端的公共端,使用發(fā)送端地址選通,下方兩片74HC4051D的X端接在一起,構(gòu)成接收端的公共端,使用接收端地址選通。以測量電阻為例,需測量4次才可以精確計算出RX的阻值。具體步驟為:待測電阻RX兩個端點的地址分別為A和B(上端點為A,下端點為B),連接電阻兩端的4個74HC4051D的導(dǎo)通電阻從左至右,從上至下分別標(biāo)記為Ra,Rb,Rc和Rd。
第一次測量:發(fā)送端和接收端地址都為A,測量電阻R1=Ra+Rc;
第二次測量:發(fā)送端和接收端地址都為B,測量電阻R2=Rb+Rd;
第三次測量:發(fā)送端地址為A,接收端地址為B,測量電阻R3=Ra+Rd+200 Ω+RX;
第四次測量:發(fā)送端地址為B,接收端地址為A,測量電阻R4=Rb+Rc+200 Ω+RX。
通過4次測量,可以計算出電阻
RX=0.5(R3+R4-R1-R2)-200 Ω,
該測量計算方法有效地消除了模擬開關(guān)導(dǎo)通電阻的影響。所以測量電阻的誤差主要來源于檢測點上100 Ω的電阻,該電阻選用1%誤差的電阻,使測量電阻的理論誤差不大于2 Ω。考慮上述實際情況可能出現(xiàn)的其他誤差,實際測量誤差小于5%(測量范圍50 Ω≤RX≤200 kΩ)。
3.2.4 電容測量電路設(shè)計
電容的測量方法是通過恒流源給電容充電,計數(shù)器測量充電時長,當(dāng)電容兩端電壓達(dá)到設(shè)定電壓時,比較器控制計數(shù)器停止計數(shù),根據(jù)電容容量與充電時長成正比,計算出電容容量。計數(shù)器的啟動和停止都由比較器控制。
電容的檢測范圍為1 nF~1 000 μF,檢測范圍較大,因此把測量范圍分成兩段:1 nF~1 μF和1~1 000 μF。
由圖6可以看出,恒流源輸出的電流共流經(jīng)兩個模擬開關(guān)和兩個100 Ω的保護(hù)電阻,模擬開關(guān)導(dǎo)通電阻最大為150 Ω(根據(jù)數(shù)據(jù)手冊得知74HC4051D最大內(nèi)阻,留出余量)。故檢測通道的最大總電阻為
100+100+150+150=500 Ω。
控制計數(shù)器開始計數(shù)比較器的閾值電壓設(shè)定為1 V,故檢測通道的最大壓降不能大于1 V,所以檢測電容的恒流源輸出的最大電流Imax≤2 mA。測量1~1 000 μF較大范圍的電容時,為了縮短測量時間,使用2 mA的電流,測量1 nF~1 μF的小電容時,使用小一些的電流值,這里采用0.3 mA的電流。
采用不同的時鐘頻率測量兩個范圍的電容,時鐘源和計數(shù)器都在MCU內(nèi)部,1 nF~1 μF選擇2 MHz時鐘計數(shù);1~1 000 μF選擇1 MHz時鐘計數(shù),并對其進(jìn)行8分頻產(chǎn)生125 kHz時鐘,對125 kHz時鐘進(jìn)行計數(shù)。不同頻率的時鐘經(jīng)過控制電路輸入到MCU的PA0引腳,該引腳可對外部時鐘進(jìn)行計數(shù)。計數(shù)器啟動、停止,控制電路如圖7所示。
圖7 控制電路
Ucx是電容電壓(連接到恒流源輸出),送入比較器U9B(控制計數(shù)器開始計數(shù))和U9A(控制計數(shù)器停止計數(shù)),當(dāng)電容電壓Ucx達(dá)到1 V時,U9B輸出低電平,此時時鐘經(jīng)過U10A和U10B送入MCU的PA0引腳,控制計數(shù)器開始計數(shù)。U7是二選一模擬開關(guān),用來選擇比較器U9A的閾值電壓(被測電容在1 nF~1 μF,選擇2.5 V電壓,選取較大的閾值,使計數(shù)時間加長,方便測量。被測電容在1~1 000 μF,選擇1.2 V電壓)。當(dāng)電容兩端達(dá)到比較器U9A的閾值電壓時,U9A輸出高電平,U10B的輸出變?yōu)楦唠娖?計數(shù)器停止計數(shù)。MCU的PB1檢測到高電平時,讀取計數(shù)器的值,就可以計算出電容值。
被測電容
式中:I----恒流源電流;
T----時鐘周期;
N----計數(shù)值;
Ut----兩個比較器U9A和U9B的閾值之差。
當(dāng)電容范圍為1 nF~1 μF 時,電容值與計數(shù)值N之間的關(guān)系為
其中,Cx單位是nF。
當(dāng)電容范圍為1~1 000 μF時,
其中,Cx單位是μF。
系統(tǒng)軟件分為以下兩部分:
1)觸摸屏上用戶端的界面操作設(shè)計,一切操作指令都由操作者通過觸摸屏向MCU下發(fā),同時觸摸屏將接收到的系統(tǒng)反饋信息在屏幕上顯示;
2)MCU中的測試程序,即程序代碼,對從觸摸屏傳來的指令進(jìn)行分析處理,例如存儲數(shù)據(jù)、學(xué)習(xí)線束、檢測線束和顯示錯誤線束信息、打印信息等。
為使測試程序方便移植,程序代碼使用C語言編寫,開發(fā)環(huán)境采用Keil5,便于調(diào)試。觸摸屏使用北京迪文科技有限公司的迪文智能屏,界面開發(fā)軟件采用DWIN_DGUS[11],對屏幕背景界面上的按鍵、顯示框、輸入框等進(jìn)行設(shè)計,以實現(xiàn)觸摸屏的所有指令發(fā)送和接收顯示。界面背景圖片使用CorelDRAW軟件進(jìn)行設(shè)計和繪制。需要繪制出線束檢測、自學(xué)習(xí)信息輸入和用于信息顯示的所有界面,實現(xiàn)觸摸屏和硬件電路之間的信息通信,同時使用人性化的操作界面,使操作直觀容易,提高線束檢測效率。
設(shè)計了基于壓控恒流源檢測方式的汽車線束檢測系統(tǒng),采用壓控恒流源電路對汽車線束進(jìn)行導(dǎo)通檢測,同時實現(xiàn)對導(dǎo)線中存在的元器件的精確測量,保證實際測量誤差小于5%。解決了傳統(tǒng)線束檢測采用電平檢測存在的誤判問題,提高了檢測精確度,同時對傳統(tǒng)線束檢測中電阻、電容等元器件無法精確檢測的問題進(jìn)行了完善。