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