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