劉光碩 鄧自寧 王林飛
(北方民族大學計算機科學與工程學院,寧夏 銀川 750000)
電路板故障檢測一直以來都是一個研究熱點,當下主要從兩個大方向解決此問題。其一是智能算法類,例如SVM算法、字典學習和神經網絡等方法,該類方法需要大量的數據集和強大的處理器。其二是非智能算法類,最具代表性的是故障字典法,該類方法需要故障實驗數據或者專家知識作為判斷標準。對于電路板而言,大量的數據集不容易獲得,但是故障數據卻可以通過人為的實驗來得到,因此本系統采取故障字典法。傳統故障字典和待檢測電路是一一對應的,由于電路板線路差異較大且使用的器件類型和種類各不相同,所以難以建立一個萬用的故障字典。因此本文介紹了一種新的故障字典構建方式,首先將檢測電路板線路轉變為檢測元器件,之后對元器件引腳電壓值進行二值化,用簡化后的數據構建故障字典,既提高了字典的通用性也節省了存儲空間,方便數據處理。
故障字典法分為直流故障字典、交流故障字典以及瞬時故障字典。直流故障字典法顧名思義就是使用直流電源作為待測電路板回路的激勵進行仿真。通過人為的加入故障,收集故障發生時檢測點的電氣信號數值。將收集到的數值進行故障編號、保存,形成故障字典。在使用故障字典時,只需將檢測點的特征值與保存在故障字典中的特征值進行比較,即可得出當前回路中出現的故障。由于直流故障字典法非常適合檢測硬故障,所以本系統采取了直流故障字典。
建立故障字典的總體思路是向正常的電路中逐個加入故障,然后收集檢測點的數據,將檢測點的數據與注入的故障值進行對應保存,從而得出故障字典。使用故障字典時需要按照電路原理圖為待測電路施加正常工作時的激勵,然后收集檢測點的電壓值,將檢測點的電壓值與故障字典中的電壓值進行對比,進而找到檢測電壓對應的故障。
傳統故障字典法需要事先對待測回路進行仿真、選取檢測點以及注入故障值。由于電路中包含了許多元器件,在制作故障字典時需要對這些元器件逐個注入故障,然后保存特征值。除此之外,還需要考慮組合故障,這就增加了制作故障字典的難度和時間。故障字典的制作人員需要了解電路原理以及元器件故障原理,普通工人無法勝任,從而導致雇傭成本的提高。
故障字典與仿真電路是一一對應的,這就導致了故障字典的使用對象極為苛刻,必須要和仿真電路完全相同,包括元器件的類型和種類,電路板的走線等等,使得傳統故障字典無法重復使用,通用性較差。
為了解決傳統故障字典通用性差以及字典制作困難的缺點,本文從以下幾個方面進行改進:
本文采取化整為零的方法,將檢測電路板線路分解為檢測若干個元器件,通過檢測元器件達到檢測電路板線路的目的。
理論上電路各檢測點的電壓存在不確定性,導致電路中元器件各個管腳的電壓值無法確定,所以難以建立一個囊括所有故障值的故障字典。本文對傳統故障字典的建立做出了改進,將電壓數據二值化為0 和1 保存到故障字典中,D 為故障字典中的特征值,A 代表條件集合,X 為當前引腳的電壓值如以下公式:

公式(1)中A={a1,a2,a3,a4,a5,a6…},a1表示二極管末端電壓和前端電壓值相等,例如在檢測過程中二極管末端的電壓等于前端電壓D=1,若不等D=0,a2表示電阻末端電壓值等于前端電壓值,a3表示24V 繼電器正極電壓在20-24 之間,a4表示繼電器負極電壓值不為0 等等,根據器件不同,ai所代表的含義不同,以24V 五腳繼電器為例講解如何構建器件故障字典。

圖1
24V 五腳繼電器有五個接觸點如圖1 所示,所以構建的故障字典有五個特征值,接下來根據公式和表格逐個分析這五個特征值。首先繼電器的正負極管腳(5 和6),根據公式和表格,X代表正負極管腳的實際電壓值,此時A 所代表的條件就是能夠使24V 繼電器正常工作的值,所以此時A 是一個范圍。在實際檢測中發現20V-24V 都可以使繼電器正常工作,所以當X 的值在此區間內D=1 不在此區間內D=0。
默認負極接地D 等于0,其他電壓值D 為1。
除此之外繼電器還有三個管腳,這三個管腳都與公共極有關,當繼電器正常工作時公共級(圖1-2)與常開極(圖1-1)是接通的(如圖1 所示),所以常開極與公共級的電壓值相同D 為1,電壓值不同D 為0。
常閉極(圖1-3)與常開極的判斷條件相同,電壓值與公共級相同D=1,不同D=0。
公共級的電壓值沒有特殊的二值化要求,本系統規定電壓值為0 時D=0,不為0 時D=1。

表1 繼電器特征值引腳條件
使用故障字典檢測過程中發現兩個缺點。其一,計算量大。如果一條線路中元器件的數量比較多且故障元器件位置靠后,逐個進行對比將導致計算量大,增加檢測時間。其二,故障字典中的數據是經過二值化的,假使前后兩個元器件條件A(公式1)不同,會導致相同的電壓值有不同的二值化值。這個問題在單個元器件檢測時不存在,但是在回路檢測中會導致線路斷路的誤診斷。針對這兩個問題本文提出了分步檢測的思想。先整體檢測并定位故障器件,再對故障器件使用故障字典進行具體分析,得出故障。該方法的具體實現如下:
(1)將參與回路的元器件的管腳數據值存入數組S1。
(2)將回路中元器件管腳數據值進行二值化存入S2。
(3)根據回路特性和元器件的特性檢測S1定位故障元器件。
(4)使用故障字典對故障元器件進行分析處理。
(5)得出故障。
第一步與第二步都是將收集到的數據保存到數組中,區別在于第一步的數據未經二值化。第三步是對S1數組的掃描操作,根據元器件的特性對數組進行掃描,定位故障器件。例如,繼電器在正常的工作狀態時公共極和常開極是接通的(圖1 中左中和右下),即公共級的值等于常開極的值,對應S1中繼電器的兩個值應該是相等的,如果不相等即可得出該繼電器出現故障,之后利用故障字典對S2中的值具體分析,得出繼電器故障。
能夠使用該方法的重要原因是真正參與回路的元器件管腳的只有兩個,即一進一出。S1中保存的數值是未經二值化的,可以有效避免上文所述的誤檢測。除此之外元器件在回路中的正常狀態是確定的,所以在步驟(3)對故障元器件進行定位時,判斷條件較少,有利于提高運行速度。
傳統故障字典法存在通用性差、字典制作人員要求高、制作成本高和耗費時間長的缺點,為了解決上述問題,本文通過二值化檢測數據改進了故障字典,通過檢測元器件進而檢測回路的方法優化檢測方案,通過先整體定位故障器件,再對器件單獨分析的思路來簡化檢測過程,增強了本系統的通用性并且加快了檢測速度。在滿足企業需求的前提下,降低了檢測成本,保障了產品的質量。