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