基于VB的電子線路板自動測試系統(tǒng)設(shè)計
摘 要: 應(yīng)用VB高級語言的圖形功能和RS2232串行通信方面的功能,設(shè)計了一套燃油取暖器電子線路板的自動測試系統(tǒng),可以快速高效地檢查電子線路板的裝配質(zhì)量和電子元器件的質(zhì)量問題。該系統(tǒng)是一種圖形化測試裝置,在生產(chǎn)實踐中獲得了很好的使用,稍作改動也可用于其他電子線路板的自動測試,有一定的適用面。
0 引言
在電子產(chǎn)品的生產(chǎn)過程中,需要將各種電子元器件安裝到電子線路板上,由于種種原因,安裝后的線路板可能會存在故障,需要進行測試。在生產(chǎn)流水線上,若依靠人工進行測試既費事費力又容易出現(xiàn)差錯。針對這種情況,我們在生產(chǎn)燃油取暖器的電子線路板的過程中,設(shè)計了一套電子線路板自動測試系統(tǒng),可以在幾秒鐘內(nèi)利用計算機自動測試線路板的各種功能,如果存在問題,測試系統(tǒng)會自動顯示故障的類型和性質(zhì),由于采用機器自動測試,排除了人為的干擾因素,大幅度提高了測試的效率和產(chǎn)品的合格率。
1 測試系統(tǒng)結(jié)構(gòu)
1. 1 線路板的設(shè)計
燃油取暖器的電子線路板各有4個模擬量、2個開關(guān)量輸入信號和輸出控制信號,如圖1所示。一般,在線路板的設(shè)計中,只需要考慮線路板的輸入、輸出信號接插件的結(jié)構(gòu)。在這里是用仿真的方法來實現(xiàn)測試任務(wù)的,由計算機向線路板輸入測量信號并接收線路板的輸出信號,所以在設(shè)計電子線路板的時候,需要在線路板上設(shè)計相應(yīng)的測試點,把這些輸入點和輸出點安排在適當?shù)奈恢?,讓計算機能夠輸入和檢測這些信息。
圖1 輸入輸出信號。
1. 2 測試系統(tǒng)的硬件結(jié)構(gòu)
為了能夠向電子線路板輸入和獲得信號,需要設(shè)計一個測試夾具。當電子線路板放置在測試夾具上時,測試夾具的測試頂針正好與電子線路板上的所有測試點相接觸,測試系統(tǒng)硬件結(jié)構(gòu)如圖2 所示。
圖2 測試系統(tǒng)硬件結(jié)構(gòu)
圖2中:測試夾具由測試頂針、夾緊裝置和單片機構(gòu)成。夾緊裝置和測試頂針使電子線路板能夠可靠地與單片機進行信息的傳送,單片機根據(jù)計算機發(fā)出的命令,向電子線路板輸入仿真測試信號,使電子線路板工作在不同的工作狀態(tài),然后把測量到的信號,通過RS2232串行口傳輸給計算機,在計算機里判別電子線路板的工作狀態(tài),并以文字和圖表的形式顯示測試的結(jié)果。
2 RS2232串行通信的實現(xiàn)
2. 1 串行通信的實現(xiàn)
測試夾具中的單片機和計算機之間的數(shù)據(jù)傳送是通過RS2232串行口實現(xiàn)的。計算機向單片機傳送控制命令和數(shù)據(jù),由單片機把信號傳輸?shù)诫娮泳€路板上,然后再測量電子線路板的輸出信號,通過串行口回傳給計算機。串行口數(shù)據(jù)通信協(xié)議是:數(shù)據(jù)傳輸速率為9 600 bp s, 1位開始位, 8位數(shù)據(jù)位, 1位停止位,無奇偶校驗位。由于僅僅是單片機與計算機相互傳送信息,都是在生產(chǎn)現(xiàn)場工作,所以RS2232 串行口只需要接收、發(fā)射和地三根導線,也不存在傳輸距離的問題。電子線路板的信號都是開關(guān)量信號或模擬電壓值,線路板輸出的信號也是電信號,當通信傳輸速率為9 600bp s時,最快速度是每1. 04 ms發(fā)送一個字節(jié)。測試夾具中的單片機采用AT89C52芯片,它的邏輯電平與計算機的RS2232的接口電平不一致,需要在單片機和計算機的RS2232串行口之間設(shè)計一個MAX232芯片,該芯片可以實現(xiàn)把單片機的0 V、+ 5 V電壓轉(zhuǎn)換成RS2232接口的邏輯“1”電平( - 3~ - 15 V)和邏輯“0”電平( + 3~ + 15 V) ,MAX232芯片的應(yīng)用結(jié)構(gòu)如圖3所示。
圖3 MAX232芯片的應(yīng)用結(jié)構(gòu)
2. 2 VB的應(yīng)用
VB ( visual basic)是計算機系統(tǒng)中主要的開發(fā)語言之一,它具有高效、簡單易學的特點和強大的圖形功能,支持面向?qū)ο蟮某绦蛟O(shè)計,具有結(jié)構(gòu)化的事件驅(qū)動編程模式和良好的人機界面,提供了功能強大的通信控件MSCOMM,因此,應(yīng)用VB語言可以方便地設(shè)計需要大量圖形顯示的應(yīng)用程序。利用MSCOMM控件可以設(shè)置串行通信的數(shù)據(jù)發(fā)送和接收,對串口狀態(tài)及串口通信的信息格式和協(xié)議進行設(shè)置。MSCOMM控件是一個標準的10位串行口通信,在發(fā)送和接收數(shù)據(jù)過程中觸發(fā)ONComm事件,訪問CommEvent屬性來了解通信事件的類型。在電子線路板自動測試中,就是應(yīng)用這種方法實現(xiàn)計算機與單片機的數(shù)據(jù)通信的。
2. 3 VB通信控件的程序設(shè)計
VB串行口的初始化程序如下:
Private Sub Form_Lopad ( ) ;串行口初始化程序
Comm1. InputLen = 0 ;設(shè)置串行口1
Comm1. Settings =“9 600, n, 8, 1”;設(shè)置波特率、奇偶校驗、數(shù)據(jù)位和停止位
Comm1. InputLen = 0 ;讀接收緩沖區(qū)的數(shù)據(jù)
Comm1. InBufferSize = 255 ;設(shè)置接收緩沖區(qū)的大小
Comm1. OutBufferSize = 255 ;設(shè)置發(fā)送緩沖區(qū)的大小
Comm1. PortOpen = True ;打開串行口1
Comm1. SThreshold = 1 ;緩沖區(qū)空觸發(fā)
Comm1. Rthreshold = 1;數(shù)據(jù)進入接收緩沖區(qū)觸發(fā)接收事件
2. 4 單片機串行通信程序設(shè)計
單片機與計算機進行串行通信,需要對AT89C52的串行口控制器SCON設(shè)置,使SCOM = 50H,工作在串行方式1的10位異步通信方式,使AT89C52的中斷允許寄存器IE的中斷位EA = 1,允許串行口中斷。串行口的初始化程序如下:
CXK: MOV TH1, #0FDH ;設(shè)置波特率
MOV TL1, #00H
MOV TMOD, #20H;設(shè)置定時器2的工作方式為2
MOV TCON, #40H ;定時器啟動
SETB ES ;串行口允許中斷
MOV SCOM, #50H;設(shè)置串行口工作方式為1
RET
3 測試系統(tǒng)的工作流程
測試系統(tǒng)的工作流程共分以下六個部分:
① 室內(nèi)溫度測試。計算機通過單片機發(fā)出一個室內(nèi)溫度的仿真信號,與接收到的溫度測量信號相比較,誤差在±0. 5 ℃時認為測試結(jié)果正確,否則顯示有故障。
② 汽化溫度測試。計算機通過單片機發(fā)出一個汽化溫度的仿真信號,與接收到的溫度測量信號相比較,誤差在±2 ℃時認為測試結(jié)果正確,否則顯示有故障。同時,當汽化溫度達到235 ±3 ℃時,應(yīng)該接收到啟動油泵驅(qū)動和點火控制、燃燒風機、取暖風機的控制信號,否則顯示有故障。
③ 火焰溫度測試。計算機通過單片機發(fā)出一個2~3 V的火焰溫度仿真信號,與接收到的溫度測量信號相比較,誤差在±012 V時認為測試結(jié)果正確,否則顯示有故障。同時,當火焰溫度電壓高于315 V時,應(yīng)該接收到關(guān)閉汽化加熱、油泵驅(qū)動、點火控制、燃燒風機和取暖風機的控制信號,并且還會接收到報警輸出信號,否則顯示有故障。
④ 燃燒風機速度測試。計算機通過單片機發(fā)出一個燃燒風機速度的仿真信號,與接收到的燃燒風機速度相比較,測量信號的誤差在±5 r/min時認為測試結(jié)果正確,否則顯示有故障。
⑤ 油面位置測試。計算機通過單片機發(fā)出一個油面位置低的仿真信號,若接收到油面位置低的報警信號,則認為測試結(jié)果正確,否則顯示有故障。
⑥ 振動檢測測試。計算機通過單片機發(fā)出一個振動的仿真信號,若接收到振動的報警信號,同時接收到關(guān)閉汽化加熱、油泵驅(qū)動、點火控制、燃燒風機和取暖風機的控制信號,則認為測試結(jié)果正確,否則顯示有故障。
以上所有的輸入/輸出信號都是電信號,不涉及傳感器和機械部件,所以測試的速度很快。通過以上的信號仿真測試,可以檢查燃油取暖器電子線路板上的輸入/輸出接口部分的電子元器件質(zhì)量和焊接質(zhì)量。
4 結(jié)束語
燃油取暖器電子線路板測試系統(tǒng),充分發(fā)揮了VB的圖形功能,在使用中具有相當友好的用戶界面。由于使用了計算機,可以存儲記錄大量的測試數(shù)據(jù),可以十分方便地進行生產(chǎn)質(zhì)量的分析,這是單純使用單片機所不能達到的。如果把該系統(tǒng)的測試夾具經(jīng)過適當?shù)母膭樱匦略O(shè)計用戶的操作界面,還可用于其他電子線路板的自動測試。
End Sub ;程序結(jié)束
此外還有數(shù)據(jù)發(fā)送和接收程序。數(shù)據(jù)發(fā)送程序是計算機向單片機發(fā)送控制命令和數(shù)據(jù),使電子線路板進入工作;接收程序是接收單片機檢測的數(shù)據(jù),通過這三個程序,完成數(shù)據(jù)的串行通信工作。