劉麗偉, 王艷梅*, 劉愛(ài)軍
(1.長(zhǎng)春工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院, 吉林 長(zhǎng)春 130102;2.長(zhǎng)春振宇機(jī)電成套有限公司, 吉林 長(zhǎng)春 133000)
近年來(lái),國(guó)家經(jīng)濟(jì)發(fā)展迅速,人民物質(zhì)生活水平提高,汽車成為家庭消費(fèi)的重要選擇。隨著人們對(duì)生活舒適度的要求越來(lái)越高[1],汽車在各方面的性能不斷更新,汽車上的電器部件隨之增加,汽車線束也越來(lái)越復(fù)雜。車輛的可靠性是衡量車輛性能的重要指標(biāo),而線束的可靠性是其重要的組成部分[2],確保它在制造過(guò)程中不發(fā)生故障是一個(gè)非常重要的研究課題[3]。
目前國(guó)內(nèi)的線束檢測(cè)與診斷技術(shù)正在逐步發(fā)展,存在線束導(dǎo)通信息設(shè)定單一、檢測(cè)正確率低等問(wèn)題。周樹艷等[4]研究了線束的快速檢測(cè),檢測(cè)系統(tǒng)與被測(cè)線束相連,若無(wú)故障,則相應(yīng)回路中的發(fā)光二極管被點(diǎn)亮,采樣電路輸出脈沖由高電平變?yōu)榈碗娖?單片機(jī)根據(jù)采集到的脈沖信號(hào),計(jì)算被點(diǎn)亮的發(fā)光二極管數(shù)量,在數(shù)碼管上進(jìn)行顯示。許雪軍等[5]設(shè)計(jì)了無(wú)地線線束檢測(cè)儀,在發(fā)射端對(duì)應(yīng)的電路施加電壓,接收端有輸出,則認(rèn)為導(dǎo)通,同時(shí)使用 CRC 校驗(yàn)確保數(shù)據(jù)的正確性。張婉茹等[6]設(shè)計(jì)了基于STM32的汽車線束故障診斷系統(tǒng), STM32將高低電平施加至MOS 管的柵極中,被檢測(cè)線束連接至輸出點(diǎn)OUT,通過(guò)采集到檢測(cè)點(diǎn)OUT 的電壓判斷線束的導(dǎo)通。
本設(shè)計(jì)針對(duì)目前國(guó)內(nèi)檢測(cè)方法存在的問(wèn)題,設(shè)計(jì)了一套基于壓控恒流源檢測(cè)方式的汽車線束檢測(cè)系統(tǒng),提出一種新的線束導(dǎo)通檢測(cè)方法。
線束生產(chǎn)加工的過(guò)程中,常見的故障主要包括:斷路(開路)、錯(cuò)路和短路。斷路(開路)是指線路斷開,在輸出端接收不到輸入端的信號(hào);錯(cuò)路故障通常都成對(duì)出現(xiàn),雖然在輸出端會(huì)有輸入端信號(hào)的響應(yīng),但是成對(duì)出現(xiàn)的輸入輸出端連接并不正確;短路故障則會(huì)出現(xiàn)多對(duì)連通導(dǎo)線。標(biāo)準(zhǔn)正確線束則是輸入輸出一致[7],無(wú)錯(cuò)路、短路。
標(biāo)準(zhǔn)線束模型及三種故障模型如圖1所示。

圖1 線束模型
對(duì)于大型線束,由于連接關(guān)系復(fù)雜,線束中的特殊元器件數(shù)量增多,線束導(dǎo)通信息的設(shè)定變得非常復(fù)雜,對(duì)線束的檢測(cè)不再僅僅是短路、斷路和錯(cuò)路的故障檢測(cè),更要對(duì)存在于導(dǎo)線中的元器件進(jìn)行檢測(cè),確保線束中的元器件安裝正確,例如電阻、電容是否安裝,阻值、容量是否正確,二極管是否正確接入。
目前國(guó)內(nèi)線束檢測(cè)設(shè)備對(duì)小規(guī)模線束的斷路、錯(cuò)路和短路故障都能有效進(jìn)行檢測(cè)。傳統(tǒng)汽車線束檢測(cè)的主要方法是:依次選擇一個(gè)端點(diǎn)施加一定的電壓,讀取剩余端點(diǎn)的電平進(jìn)行通斷判斷和故障定位[8]。實(shí)際應(yīng)用表明,雖然使用該方法可以較好地滿足檢測(cè)需求,但仍舊有很大的弊端。倘若導(dǎo)線接觸不良,接觸電阻過(guò)大時(shí),也可能被識(shí)別為導(dǎo)通,這使得檢測(cè)準(zhǔn)確率下降。而且傳統(tǒng)的線束檢測(cè)設(shè)備對(duì)線束中的電阻、電容、二極管等元器件的檢測(cè)存在很大問(wèn)題,尤其是對(duì)電阻、電容檢測(cè)的精準(zhǔn)度。
因此,本設(shè)計(jì)主要對(duì)線束檢測(cè)方法和線束中存在的電阻、電容等元器件的檢測(cè)進(jìn)行完善。
汽車線束檢測(cè)系統(tǒng)最主要是滿足國(guó)內(nèi)線束生產(chǎn)廠家對(duì)檢測(cè)系統(tǒng)的需求。首先在線束檢測(cè)系統(tǒng)工作之前對(duì)硬件設(shè)備進(jìn)行自檢,確保硬件設(shè)備的完好性;其次確保系統(tǒng)能滿足不同汽車線束的檢測(cè)需求,經(jīng)過(guò)調(diào)研和分析,該檢測(cè)系統(tǒng)主要實(shí)現(xiàn)的功能有以下幾方面:
1)所開發(fā)設(shè)備能夠?qū)θN故障進(jìn)行準(zhǔn)確檢測(cè),當(dāng)多種故障同時(shí)出現(xiàn)時(shí),也能夠?qū)收线M(jìn)行準(zhǔn)確分析;
2)能夠?qū)€束中存在的電阻、電容、二極管等特殊元器件進(jìn)行測(cè)量[9],確保這些元器件的正確接入;
3)能夠?qū)崿F(xiàn)用觸摸屏對(duì)系統(tǒng)操控,并實(shí)時(shí)地將線束的檢測(cè)結(jié)果和錯(cuò)誤線束的故障信息顯示在上機(jī)位觸摸屏,以便返修時(shí)工人能快速地解決問(wèn)題, 同時(shí)能夠打印線束信息等廠家需要信息的實(shí)時(shí)報(bào)表;
4)具有自學(xué)習(xí)功能,可以對(duì)標(biāo)準(zhǔn)線束的連通進(jìn)行自主學(xué)習(xí),通過(guò)輸入特殊元器件的信息(如電阻的阻值)對(duì)線束中的元器件進(jìn)行學(xué)習(xí),根據(jù)學(xué)習(xí)信息進(jìn)行線束檢測(cè),同時(shí)具備學(xué)習(xí)多種類型線束信息的能力。
硬件電路MCU 采用STM32F407ZGT6,它是ARM核心,擁有豐富的片內(nèi)資源,可以完成線束檢測(cè)所需的功能。同時(shí)使用16 M字節(jié),128 Mb容量的W25Q128芯片存儲(chǔ)不同類別的線束類型信息,以便進(jìn)行檢測(cè)時(shí)的信息調(diào)用。
硬件電路包括以下四部分:
1)電源電路負(fù)責(zé)給整個(gè)系統(tǒng)提供所需的電壓;
2)MCU 及其外圍電路包括時(shí)鐘電路、復(fù)位電路、串口通信電路、USB電路、Flash存儲(chǔ)器、按鍵和控制輸出接口電路、LCD屏幕接口電路等;
3)線束檢測(cè)電路對(duì)線束進(jìn)行通斷檢測(cè),對(duì)線束內(nèi)的電阻、電容、二極管進(jìn)行測(cè)量。線束檢測(cè)部分電路包含壓控恒流源電路、模擬開關(guān)電路、地址譯碼器電路、電容測(cè)量電路以及控制電路等;
4)狀態(tài)指示燈驅(qū)動(dòng)電路使用LED作為指示燈,用來(lái)指示檢測(cè)電路的工作狀態(tài)、故障狀態(tài)等。
硬件總體框圖如圖2所示。

圖2 硬件總體框圖
硬件中最核心的部分是檢測(cè)電路,要確保檢測(cè)部分能在MCU的控制下完成線束的通斷,錯(cuò)接檢測(cè)以及對(duì)線束內(nèi)的電阻、電容、二極管的檢測(cè)。線束檢測(cè)部分的電路包含壓控恒流源電路[10]、模擬開關(guān)電路、地址譯碼器電路、電容測(cè)量電路以及控制電路等。
基于傳統(tǒng)的電平檢測(cè)方法對(duì)線束導(dǎo)通檢測(cè)的誤判考慮,本系統(tǒng)設(shè)計(jì)了壓控恒流源電路來(lái)進(jìn)行導(dǎo)線檢測(cè),采用電流源流過(guò)被測(cè)導(dǎo)線,通過(guò)A/D轉(zhuǎn)換來(lái)檢測(cè)導(dǎo)線兩端電壓,如果電壓超過(guò)限定值(事先測(cè)量出給定電流值時(shí),標(biāo)準(zhǔn)導(dǎo)線導(dǎo)通時(shí)的電壓最大值,并留出少許余量,定該值為限定值),就認(rèn)為不合格(STM32F407ZGT6的A/D轉(zhuǎn)換時(shí)間低至0.5 μs,可以較高的精度快速完成檢測(cè))。同時(shí)測(cè)量電阻、電容和二極管也使用恒流源電路實(shí)現(xiàn)。檢測(cè)電阻時(shí)給定電流,讓電流流過(guò)被測(cè)電阻,經(jīng)過(guò)A/D轉(zhuǎn)換測(cè)得電壓,計(jì)算出電阻值。檢測(cè)二極管時(shí),使其正向流過(guò)電流,正向的導(dǎo)通壓降在正常范圍,反向流過(guò)電流,因二極管反向截止,電流無(wú)法流過(guò),故反向壓降超出測(cè)量范圍(大于3 V),就認(rèn)為二極管安裝正確。電容的測(cè)量采用恒流源給電容充電,通過(guò)計(jì)數(shù)器測(cè)量充電時(shí)間,從而確定電容的大小。
3.2.1 壓控恒流源電路設(shè)計(jì)
恒流源電路如圖3所示。

圖3 恒流源電路
恒流源輸出的電流值根據(jù)被測(cè)電阻和電容的范圍來(lái)確定。MCU 的A/D轉(zhuǎn)換電壓基準(zhǔn)源選擇3 V,即A/D轉(zhuǎn)換的輸入滿量程電壓為3 V,電流源的大小設(shè)置要使其流過(guò)電阻產(chǎn)生的電壓不超過(guò)3 V,而且在測(cè)量范圍內(nèi),電流值要稍大一些。例如檢測(cè)的電阻范圍為50 Ω~200 kΩ,當(dāng)被測(cè)電阻為200 kΩ時(shí),恒流源的最大電流Iom=3 V/200 kΩ=0.015 mA。這個(gè)電流值要留出余量,故取0.014 mA。可以測(cè)量的電阻最大值Rmax=3 V/0.014 mA=214.29 kΩ。
電阻測(cè)量分3個(gè)范圍:
1)50 Ω~2 kΩ,測(cè)量電流為1.2 mA;
2)2~20 kΩ,測(cè)量電流為0.14 mA;
3)20~200 kΩ,測(cè)量電流為0.014 mA。
恒流源的電流經(jīng)過(guò)Q1的漏極輸出,流經(jīng)被測(cè)電路,再通過(guò)控制開關(guān)流入GND。電流源輸出的電流由D/A輸出的電壓來(lái)控制。在該系統(tǒng)中,MCU的PA4,PA5腳是D/A輸出引腳,用PA5輸出電壓控制恒流源的輸出電流。PA5的輸出電壓UD/A與輸出電流Io的關(guān)系為
其中,Io單位為mA,UD/A單位為V。
恒流源的輸出使能由三極管Q3控制,當(dāng)Q3截止時(shí),電流流經(jīng)被測(cè)線束進(jìn)行測(cè)量,當(dāng)Q3導(dǎo)通時(shí),電流通過(guò)Q3流入GND。 Q3的導(dǎo)通或者截止,通過(guò)STM32F407ZGT6的PB11引腳控制。
3.2.2 模擬開關(guān)電路設(shè)計(jì)
由于要檢測(cè)的線束端點(diǎn)較多(以1 024個(gè)檢測(cè)點(diǎn)為例),若每個(gè)端點(diǎn)都接一路恒流源,并且連接到A/D的輸入端,這就使得檢測(cè)系統(tǒng)復(fù)雜化,不利于實(shí)際應(yīng)用。因此為簡(jiǎn)化系統(tǒng),選用模擬開關(guān),把需要檢測(cè)的端點(diǎn)切換到恒流源和A/D檢測(cè)輸入端。由于檢測(cè)的端點(diǎn)較多,故使用8選1結(jié)構(gòu)的74HC4051D。該模擬開關(guān)能通過(guò)模擬信號(hào)和數(shù)字信號(hào)實(shí)現(xiàn)信號(hào)雙向傳輸,并且具有較低的導(dǎo)通內(nèi)阻。采用兩個(gè)芯片為一組的電路結(jié)構(gòu),一個(gè)芯片作為發(fā)送端,另一個(gè)作為接收端,兩個(gè)芯片組成8個(gè)檢測(cè)端點(diǎn),這8個(gè)端點(diǎn)既可以作為發(fā)送端,又可以作為接收端。當(dāng)檢測(cè)點(diǎn)同時(shí)作為發(fā)送端和接收端時(shí),該電路結(jié)構(gòu)可實(shí)現(xiàn)電路的自檢。
模擬開關(guān)電路如圖4所示。

圖4 模擬開關(guān)電路
要組成1 024點(diǎn)的檢測(cè)電路,就需要256片74HC4051D,系統(tǒng)采用插卡式結(jié)構(gòu),分成8塊檢測(cè)卡,每塊卡檢測(cè)128點(diǎn),即每塊卡32片74HC4051D。發(fā)送端的公共點(diǎn)連接到一起,接收端的公共點(diǎn)連接到一起,分別接到恒流源輸出端和MCU的A/D檢測(cè)輸入端。每個(gè)檢測(cè)點(diǎn)都有保護(hù)電路,防止因?yàn)殪o電而燒壞74HC4051D。保護(hù)電路由100 Ω電阻和鉗位二極管BAV99W組成。保護(hù)電路如圖5所示。

圖5 保護(hù)電路
3.2.3 測(cè)試通道切換電路
測(cè)試通道切換電路的基本結(jié)構(gòu)如圖6所示。

圖6 測(cè)試通道切換電路
其中導(dǎo)線、電阻、電容和二極管等都在同一位置檢測(cè),即圖中待測(cè)電阻RX的位置。
該電路用上下兩片74HC4051D芯片組成8個(gè)檢測(cè)點(diǎn),兩片74HC4051D的X0~X7分別連接到一起,再通過(guò)一個(gè)100 Ω電阻連接到檢測(cè)點(diǎn)。上方兩片74HC4051D的X端接在一起,構(gòu)成發(fā)送端的公共端,使用發(fā)送端地址選通,下方兩片74HC4051D的X端接在一起,構(gòu)成接收端的公共端,使用接收端地址選通。以測(cè)量電阻為例,需測(cè)量4次才可以精確計(jì)算出RX的阻值。具體步驟為:待測(cè)電阻RX兩個(gè)端點(diǎn)的地址分別為A和B(上端點(diǎn)為A,下端點(diǎn)為B),連接電阻兩端的4個(gè)74HC4051D的導(dǎo)通電阻從左至右,從上至下分別標(biāo)記為Ra,Rb,Rc和Rd。
第一次測(cè)量:發(fā)送端和接收端地址都為A,測(cè)量電阻R1=Ra+Rc;
第二次測(cè)量:發(fā)送端和接收端地址都為B,測(cè)量電阻R2=Rb+Rd;
第三次測(cè)量:發(fā)送端地址為A,接收端地址為B,測(cè)量電阻R3=Ra+Rd+200 Ω+RX;
第四次測(cè)量:發(fā)送端地址為B,接收端地址為A,測(cè)量電阻R4=Rb+Rc+200 Ω+RX。
通過(guò)4次測(cè)量,可以計(jì)算出電阻
RX=0.5(R3+R4-R1-R2)-200 Ω,
該測(cè)量計(jì)算方法有效地消除了模擬開關(guān)導(dǎo)通電阻的影響。所以測(cè)量電阻的誤差主要來(lái)源于檢測(cè)點(diǎn)上100 Ω的電阻,該電阻選用1%誤差的電阻,使測(cè)量電阻的理論誤差不大于2 Ω。考慮上述實(shí)際情況可能出現(xiàn)的其他誤差,實(shí)際測(cè)量誤差小于5%(測(cè)量范圍50 Ω≤RX≤200 kΩ)。
3.2.4 電容測(cè)量電路設(shè)計(jì)
電容的測(cè)量方法是通過(guò)恒流源給電容充電,計(jì)數(shù)器測(cè)量充電時(shí)長(zhǎng),當(dāng)電容兩端電壓達(dá)到設(shè)定電壓時(shí),比較器控制計(jì)數(shù)器停止計(jì)數(shù),根據(jù)電容容量與充電時(shí)長(zhǎng)成正比,計(jì)算出電容容量。計(jì)數(shù)器的啟動(dòng)和停止都由比較器控制。
電容的檢測(cè)范圍為1 nF~1 000 μF,檢測(cè)范圍較大,因此把測(cè)量范圍分成兩段:1 nF~1 μF和1~1 000 μF。
由圖6可以看出,恒流源輸出的電流共流經(jīng)兩個(gè)模擬開關(guān)和兩個(gè)100 Ω的保護(hù)電阻,模擬開關(guān)導(dǎo)通電阻最大為150 Ω(根據(jù)數(shù)據(jù)手冊(cè)得知74HC4051D最大內(nèi)阻,留出余量)。故檢測(cè)通道的最大總電阻為
100+100+150+150=500 Ω。
控制計(jì)數(shù)器開始計(jì)數(shù)比較器的閾值電壓設(shè)定為1 V,故檢測(cè)通道的最大壓降不能大于1 V,所以檢測(cè)電容的恒流源輸出的最大電流Imax≤2 mA。測(cè)量1~1 000 μF較大范圍的電容時(shí),為了縮短測(cè)量時(shí)間,使用2 mA的電流,測(cè)量1 nF~1 μF的小電容時(shí),使用小一些的電流值,這里采用0.3 mA的電流。
采用不同的時(shí)鐘頻率測(cè)量?jī)蓚€(gè)范圍的電容,時(shí)鐘源和計(jì)數(shù)器都在MCU內(nèi)部,1 nF~1 μF選擇2 MHz時(shí)鐘計(jì)數(shù);1~1 000 μF選擇1 MHz時(shí)鐘計(jì)數(shù),并對(duì)其進(jìn)行8分頻產(chǎn)生125 kHz時(shí)鐘,對(duì)125 kHz時(shí)鐘進(jìn)行計(jì)數(shù)。不同頻率的時(shí)鐘經(jīng)過(guò)控制電路輸入到MCU的PA0引腳,該引腳可對(duì)外部時(shí)鐘進(jìn)行計(jì)數(shù)。計(jì)數(shù)器啟動(dòng)、停止,控制電路如圖7所示。

圖7 控制電路
Ucx是電容電壓(連接到恒流源輸出),送入比較器U9B(控制計(jì)數(shù)器開始計(jì)數(shù))和U9A(控制計(jì)數(shù)器停止計(jì)數(shù)),當(dāng)電容電壓Ucx達(dá)到1 V時(shí),U9B輸出低電平,此時(shí)時(shí)鐘經(jīng)過(guò)U10A和U10B送入MCU的PA0引腳,控制計(jì)數(shù)器開始計(jì)數(shù)。U7是二選一模擬開關(guān),用來(lái)選擇比較器U9A的閾值電壓(被測(cè)電容在1 nF~1 μF,選擇2.5 V電壓,選取較大的閾值,使計(jì)數(shù)時(shí)間加長(zhǎng),方便測(cè)量。被測(cè)電容在1~1 000 μF,選擇1.2 V電壓)。當(dāng)電容兩端達(dá)到比較器U9A的閾值電壓時(shí),U9A輸出高電平,U10B的輸出變?yōu)楦唠娖?計(jì)數(shù)器停止計(jì)數(shù)。MCU的PB1檢測(cè)到高電平時(shí),讀取計(jì)數(shù)器的值,就可以計(jì)算出電容值。
被測(cè)電容
式中:I----恒流源電流;
T----時(shí)鐘周期;
N----計(jì)數(shù)值;
Ut----兩個(gè)比較器U9A和U9B的閾值之差。
當(dāng)電容范圍為1 nF~1 μF 時(shí),電容值與計(jì)數(shù)值N之間的關(guān)系為
其中,Cx單位是nF。
當(dāng)電容范圍為1~1 000 μF時(shí),
其中,Cx單位是μF。
系統(tǒng)軟件分為以下兩部分:
1)觸摸屏上用戶端的界面操作設(shè)計(jì),一切操作指令都由操作者通過(guò)觸摸屏向MCU下發(fā),同時(shí)觸摸屏將接收到的系統(tǒng)反饋信息在屏幕上顯示;
2)MCU中的測(cè)試程序,即程序代碼,對(duì)從觸摸屏傳來(lái)的指令進(jìn)行分析處理,例如存儲(chǔ)數(shù)據(jù)、學(xué)習(xí)線束、檢測(cè)線束和顯示錯(cuò)誤線束信息、打印信息等。
為使測(cè)試程序方便移植,程序代碼使用C語(yǔ)言編寫,開發(fā)環(huán)境采用Keil5,便于調(diào)試。觸摸屏使用北京迪文科技有限公司的迪文智能屏,界面開發(fā)軟件采用DWIN_DGUS[11],對(duì)屏幕背景界面上的按鍵、顯示框、輸入框等進(jìn)行設(shè)計(jì),以實(shí)現(xiàn)觸摸屏的所有指令發(fā)送和接收顯示。界面背景圖片使用CorelDRAW軟件進(jìn)行設(shè)計(jì)和繪制。需要繪制出線束檢測(cè)、自學(xué)習(xí)信息輸入和用于信息顯示的所有界面,實(shí)現(xiàn)觸摸屏和硬件電路之間的信息通信,同時(shí)使用人性化的操作界面,使操作直觀容易,提高線束檢測(cè)效率。
設(shè)計(jì)了基于壓控恒流源檢測(cè)方式的汽車線束檢測(cè)系統(tǒng),采用壓控恒流源電路對(duì)汽車線束進(jìn)行導(dǎo)通檢測(cè),同時(shí)實(shí)現(xiàn)對(duì)導(dǎo)線中存在的元器件的精確測(cè)量,保證實(shí)際測(cè)量誤差小于5%。解決了傳統(tǒng)線束檢測(cè)采用電平檢測(cè)存在的誤判問(wèn)題,提高了檢測(cè)精確度,同時(shí)對(duì)傳統(tǒng)線束檢測(cè)中電阻、電容等元器件無(wú)法精確檢測(cè)的問(wèn)題進(jìn)行了完善。