掛式空調(diào)器用控制板的自動測試系統(tǒng)技術(shù)
目前國內(nèi)外相關(guān)廠家的在線測試已經(jīng)做得相對成熟了,軟硬件配套設(shè)施先進且大多實現(xiàn)國產(chǎn)化,其在線測試的自動化程度與國外相比估計已經(jīng)相差無幾。盡管如此,功能測試的自動化進程卻一直進展相當(dāng)緩慢。雖然國內(nèi)也有不少廠家在一直研究功能測試的自動化儀器,并且也有少量產(chǎn)品已經(jīng)投放市場,但從目前的應(yīng)用情況來看,其實際應(yīng)用效果似乎不盡人意,遠遠達不到客戶預(yù)期的大大提高生產(chǎn)效率的要求。這也就是為什么直到現(xiàn)在,各加工廠只是在生產(chǎn)線上配備了自動在線測試儀而沒有裝配自動功能測試儀的原因。
在掛式空調(diào)器用控制板的生產(chǎn)過程當(dāng)中,控制板在下線之前一定要經(jīng)過成功的在線測試(ICT)和功能測試(FT),否則生產(chǎn)出來的就是不良的產(chǎn)品。在線測試主要是對控制板的R、L、C等元器件的電氣數(shù)值進行量測,以確定有無反插件、漏件、錯插件等;功能測試則主要檢測電腦板整體運行性能是否達標(biāo),各部分模塊工作是否正常等,只有成功經(jīng)過以上兩步測試的控制板才算是合格的產(chǎn)品。
正是出于此目的,本文對一種掛式空調(diào)器用控制板自動功能測試儀的具體實現(xiàn)作一介紹。
計算機與測試儀的通信方式
計算機控制著儀器的自動測試全過程,這一切都要有配套的計算機測試軟件來實現(xiàn),本設(shè)備使用的相關(guān)配套測試軟件采用VisualBasic語言開發(fā),可以用四畫面同時顯示四臺儀器的測試情況。該軟件可以實現(xiàn)對測試資料的統(tǒng)計、分類和查詢等功能,最終的測試結(jié)果可以導(dǎo)出為EXCEL格式文件。
計算機和每臺測試儀之間采用標(biāo)準(zhǔn)RS-232全雙工異步串行通信,速率為9600b/s, 1位起始位,1位停止位,采用奇校驗。通信協(xié)議采用如下格式:
頭碼 + 長度+ 功能+ 數(shù)據(jù)(N個字節(jié))+校驗碼字節(jié)
為了充分的保證測試數(shù)據(jù)在計算機和測試儀之間正確的傳輸,而不發(fā)生沖突,在上位機軟件和測試儀開始運行時,首先采用上位機為主機測試儀為從機的主從模式,此時上位機具有最高控制權(quán),讓雙方獲得正確的握手信號,以建立起通暢的通信鏈路,為測試數(shù)據(jù)的正確傳輸做好準(zhǔn)備。雙方一旦握手成功,便進入上位機為從機、測試儀為主機的另一種主從模式,最高控制權(quán)轉(zhuǎn)給下位機。在這種模式下,測試儀將獲得的測試數(shù)據(jù)通過串口上傳微機,由微機將數(shù)據(jù)保存并顯示[5]。
當(dāng)計算機和測試儀分別接收到對方的發(fā)送來的指令和數(shù)據(jù)后,先求校驗和。本協(xié)議規(guī)定接收和發(fā)送的數(shù)據(jù)包的最后一個字節(jié)為校驗碼字節(jié),該字節(jié)等于前面所有字節(jié)的異或和。具體計算方法如下:
頭碼字節(jié) ^ 長度字節(jié) ^ 功能字節(jié) ^ 數(shù)據(jù)字節(jié)1 …… ^ 數(shù)據(jù)字節(jié)N =校驗碼
信號檢測和遙控模擬
電壓檢測
控制板輸出的交流信號由于電壓高,絕對不能用儀器直接去量測,所以為了保護儀器,交流信號在進入儀器之前,一定要進行光電隔離,如圖2所示。220V的交流電首先經(jīng)過一個100k/3W的大電阻降壓限流后,再進入光藕,這樣光藕的另一端就會有一個幅度為5V,頻率為50HZ的脈沖輸出,此信號再進入量測的單片機,通過程序?qū)Υ嗣}沖計數(shù),即得此強電信號的存在與否,從而也就測得了此電腦板該項輸出功能是否完好的信息。
控制板上的5V和12 V電壓信號也需要輸出,過程是直流電壓信號經(jīng)由三極管反相后,直接進入單片機測試端如圖3所示。直流電壓信號由二極管D504進入,由三極管反相后從電阻R504取出進入單片機測試引腳,中間加三極管可防止干擾信號串入單片機,增強了抗干擾能力。
脈沖檢測
測量脈沖信號有兩種方法,一種是測量周期法,另一種是測量頻率法。周期法適合于測量低頻信號,頻率法適于測量高頻信號。
(1)蜂鳴器鳴叫次數(shù)的檢測
由于空調(diào)控制板輸出的蜂鳴器鳴叫脈沖,只在其鳴叫時才有輸出,又因為實際測試的是蜂鳴器的鳴叫次數(shù),而不是其鳴叫脈沖的周期或頻率,故無論采取以上哪種方法測試都不合適,這里采取對蜂鳴器鳴叫脈沖進行純計數(shù)的方法來獲得其鳴叫次數(shù)。由示波器測量可知蜂鳴器鳴叫脈沖周期為0.25ms,每鳴叫一次的時間長度為100ms,鳴叫一次的計數(shù)100/0.25=400,鳴叫兩次或四次的時間間隔也為100ms。又知給空調(diào)控制板發(fā)送補償指令后,蜂鳴器才會有2次或4次的鳴叫,故可以此時啟動計數(shù),從而獲得發(fā)送補償指令后的計數(shù)值可能為800或1600左右,據(jù)此確定蜂鳴器鳴叫次數(shù)。
(2)步進電機驅(qū)動脈沖的檢測
步進電機驅(qū)動脈沖是一組有特殊規(guī)律的脈沖。空調(diào)控制板上用的是4相步進電機,采用8拍驅(qū)動方式(A—AB—B—BC—C—CD—D—DA),其驅(qū)動信號如圖4所示。每相在單位時間內(nèi)出現(xiàn)的電平變化次數(shù)是相同的,通過在單位時間內(nèi)對各相電平變化次數(shù)計數(shù)值的比較,據(jù)此可以檢測步進電機短路、錯相、缺相。
(3)轉(zhuǎn)速測量
求取空調(diào)控制板上PG電機的轉(zhuǎn)速可以采用測脈沖周期的方法,因為此電機最高轉(zhuǎn)速一般不會高于2000r/min,據(jù)此求得其轉(zhuǎn)速的反饋脈沖最高頻率等于33Hz × 3 約為100Hz 左右(PG電機每轉(zhuǎn)一圈輸出3個脈沖),如此低的脈沖采用測量周期法會比測量頻率法產(chǎn)生的誤差更小。
R為轉(zhuǎn)速值, TPG為PG電機轉(zhuǎn)一圈的時間,200ms為定時器對PG電機轉(zhuǎn)5圈進行計數(shù)的時間基數(shù)值,TCN 為計數(shù)的個數(shù)。(200ms × TCN)即為PG電機轉(zhuǎn)5圈所用的時間,之所以先求取PG電機轉(zhuǎn)5圈的時間是為了提高測量準(zhǔn)確度,防止每次測得的轉(zhuǎn)速值偏差太大。
遙控模擬
現(xiàn)代空調(diào)控制板都具有遙控器功能,這是必不可少的,測試儀要測試空調(diào)控制板就必須給它發(fā)送模擬遙控器指令,以讓它執(zhí)行開機、關(guān)機、制熱、制冷等動作。各種遙控器指令實際上是一串串按照一定協(xié)議被編碼的脈沖。一般這種協(xié)議是遙控器給空調(diào)控制板發(fā)送數(shù)據(jù)的專用協(xié)議。這種脈沖指令可由測試儀按照編程者的意愿依靠單片機里的定時器產(chǎn)生,其產(chǎn)生的信號具有波形整潔、規(guī)則、無毛刺的優(yōu)點,非常適合模擬一些專用的低頻通信信號。
當(dāng)由單片機的定時器模擬遙控器所發(fā)送的信號時,要求定時時間必須精確,其產(chǎn)生的脈沖寬度和協(xié)議所要求的誤差最好不要超過1ms,否則會導(dǎo)致信號模擬失效,從而讓電腦板接收不到正確的遙控指令,這種錯誤是非常隱秘且難以捕捉的,有時侯開發(fā)者可能會懷疑自己的程序有問題,尋覓半天,卻最終發(fā)現(xiàn)是由于自己的定時精度達不到設(shè)計的要求。
硬件實現(xiàn)
如圖6所示,模擬的遙控信號從與三極管Q2基極相連的電阻R8進入,從Q2集電極輸出,再直接連接到空調(diào)控制板遙控接收端即可。在這里,三極管Q2起到加強驅(qū)動能力的作用。
軟件編程
測試儀按照遙控協(xié)議發(fā)送出來的數(shù)據(jù),本質(zhì)上無非是一些用來表示二進制的 0和1 的周期恒定不變的脈沖信號。只不過這種信號具有人工預(yù)先約定好的固定的格式,從而使其具有了傳送二進制數(shù)據(jù)的能力。。
通信的雙方一旦 (本遙控發(fā)送實質(zhì)上是一種單工通信) 獲知了通信協(xié)議的內(nèi)容和二進制數(shù)據(jù)0和1 的固定格式的波形表示方法,即可通過軟件編程實現(xiàn)雙方的通信了。下面是一段按照以上格式的波形所寫的如何產(chǎn)生二進制數(shù)據(jù)1的C代碼,該代碼在51開發(fā)軟件WAVE環(huán)境下編寫:
#include
#define MS2 2000
#define MS9 9000
sbit RemoteSend = P1 ^ 0;
void InitTimer0(void);
void main(void)
{
InitTimer0();//調(diào)用初始化定時
器函數(shù)
while (1);
}
void InitTimer0(void)
{
TH0 = (65536 - MS2) / 256;//初
始化為2MS
TL0 = (65536 - MS2) % 256;
RemoteSend = 1;//先輸出2ms高
TMOD = 0X01;//TC0 初始化為
16位定時器
ET0 = 1; //TC0 溢出中斷使能
EA = 1; //全局中斷使能
TF0 = 0; //TC0 中斷標(biāo)志清0
TR0 = 1; //TC0 啟動
}
void Timer0Service(void) interrupt
1 using 0 //中斷服務(wù)程序
{
TH0 = (65536 - MS9) / 256;//初
始化為2MS
TL0 = (65536 - MS9) % 256;
RemoteSend = 0;//輸出變低
}
結(jié)語
開發(fā)的功能自動測試議已經(jīng)應(yīng)用在了控制板的生產(chǎn)過程中,提高了檢測的效率,并實現(xiàn)了不同功能缺陷的分類匯總,為提高和改進控制板的產(chǎn)品質(zhì)量提供了基礎(chǔ)。