王 洋,巫慶輝,龐艷偉
(渤海大學(xué) 遼寧 錦州 121013)
真空系統(tǒng)在電力、石油化工、醫(yī)療制藥、塑料、環(huán)保、醫(yī)療器械等行業(yè)都得到了廣泛地應(yīng)用[1],隨著真空應(yīng)用領(lǐng)域的不斷擴(kuò)展和深入,對(duì)真空技術(shù)指標(biāo)要求亦越來越高,例如,在金剛石鍍膜裝置中,由于沉積金剛石膜的時(shí)間長達(dá)幾十個(gè)小時(shí),真空室真空度的穩(wěn)定性對(duì)成膜質(zhì)量的好壞有很大的影響,所以保持真空度的穩(wěn)定將成為一個(gè)關(guān)鍵性的技術(shù)問題[2];離心式水泵在抽真空引水過程及水泵抽水過程中,離心式水泵入口的真空度已成為離心式水泵起/停、故障診斷的重要依據(jù)。只有將壓力傳感器獲取的模擬信號(hào)進(jìn)行有效的A/D轉(zhuǎn)換成數(shù)字量后,才能輸入單片機(jī)中進(jìn)行處理,以及與PC通信及后續(xù)的波形顯示和分析[3]。筆者提出了ADC0832與壓力傳感器(PTB710)相結(jié)合,并利用單片機(jī)AT89S52的程序控制轉(zhuǎn)換時(shí)鐘脈沖方法,對(duì)真空度數(shù)據(jù)進(jìn)行檢測。
ADC0832是由美國國家半導(dǎo)體公司生產(chǎn)的一種8位分辨率、雙通道A/D轉(zhuǎn)換芯片。由于其體積小,兼容性強(qiáng),性價(jià)比高而深受單片機(jī)愛好者及企業(yè)的歡迎,該芯片目前在工業(yè)控制及教學(xué)中有著較高的普及率和廣泛的使用。
如圖1為ADC0832的引腳圖,其中CS為片選端,低電平有效;CH0,CH1為兩路模擬信號(hào)輸入端;DI兩路模擬輸入選擇輸入端;DO為模數(shù)轉(zhuǎn)換結(jié)果串行輸出端;CLK為串行時(shí)鐘輸入端;VCC(REF)為正電源端和基準(zhǔn)電壓輸入端;GND為電源地。
圖1 ADC0832引腳圖Fig.1 Pin figure of ADC0832
如表1所示為ADC0832工作時(shí)的多路復(fù)用尋址,包括單端多路復(fù)用模式及微分多路復(fù)用模式,通過對(duì)DI,DO兩個(gè)數(shù)據(jù)位操作進(jìn)行通道選擇,當(dāng)此2位數(shù)據(jù)位為“1”,“0”時(shí),僅對(duì) CH0進(jìn)行單通道轉(zhuǎn)換。當(dāng) 2位數(shù)據(jù)為“1”,“1”時(shí),僅對(duì) CH1進(jìn)行單通道轉(zhuǎn)換。當(dāng)2位數(shù)據(jù)為“0”,“0”時(shí),將CH0作為正輸入端IN+,CH1作為負(fù)輸入端IN-進(jìn)行輸入。
表1 ADC0832多路復(fù)用模式Tab.1 ADC0832 MUX addressing
如圖2所示為本文實(shí)驗(yàn)所用原理圖中AT89s52與ADC0832的接口電路圖部分,其中片選端與單片機(jī)P2.3口連接,時(shí)鐘端與單片機(jī)P2.2口連接。由于所選單片機(jī)I/O口均為雙向,且在工作時(shí)DI,DO兩端并不同時(shí)有效,故將兩引腳并聯(lián)后與單片機(jī)P2.1口相連接進(jìn)行數(shù)據(jù)通信。圖2僅給出主控單片機(jī),上電復(fù)位,晶振以及模數(shù)轉(zhuǎn)換外設(shè)電路,缺省部分包括電源,檢測及輸出端口,三極管開關(guān)等其他邏輯轉(zhuǎn)換電路,設(shè)計(jì)電路過程中考慮到工業(yè)現(xiàn)場的噪聲干擾等因素,在輸入輸出端均添加光耦隔離以增強(qiáng)電路的抗干擾性能。
圖2 ADC0832與AT89s52接口電路Fig.2 Interface circuit of ADC0832 and AT89s52
考慮到設(shè)計(jì)應(yīng)用于工業(yè)現(xiàn)場,各種外界干擾可能導(dǎo)致單片機(jī)程序跑飛,如果沒有人為的復(fù)位操作,那么軟件系統(tǒng)將完全癱瘓,因此在程序編寫時(shí)加入看門狗功能,以保證微控制器 (MCU)在意外狀況下重新回復(fù)到系統(tǒng)上電狀態(tài),AT89S52內(nèi)置看門狗,它由14位計(jì)數(shù)器組成,復(fù)位后,調(diào)用喂狗指令清零計(jì)數(shù)器,然后,每個(gè)機(jī)器周期該計(jì)數(shù)器自動(dòng)加1,當(dāng)計(jì)數(shù)值達(dá)到 1FFF(2^14-1=16 383)時(shí),產(chǎn)生一個(gè)復(fù)位信號(hào),系統(tǒng)復(fù)位。因此,在啟動(dòng)看門狗后,在16 383個(gè)機(jī)器周期內(nèi),至少要調(diào)用一次喂狗指令,防止看門狗溢出復(fù)位,而這個(gè)時(shí)間是固定的,無法更改。當(dāng)晶振12 MHz時(shí)每16毫秒需喂一次狗。為了保證足夠的抗干擾能力,喂狗時(shí)間一般不超過14 ms(即留有10%的裕量)。
芯片啟動(dòng)A/D轉(zhuǎn)換時(shí),首先將CLK時(shí)鐘與CS片選電平置低,然后把DI數(shù)據(jù)信號(hào)輸入端電平置高,由時(shí)鐘的上升沿將起始位寫入,最后由時(shí)鐘負(fù)跳變加一個(gè)DI反轉(zhuǎn)操作。并且保持低電平直到轉(zhuǎn)換結(jié)束。
由于ADC0832數(shù)據(jù)采樣頻率高,轉(zhuǎn)換時(shí)間(僅為0.32 μs)快的特點(diǎn),考慮到方便程序的移植,故本文中數(shù)據(jù)讀取以子程序的形式給出。首先定義局部變量并初始化AD通道,選擇單通道10,待第二個(gè)脈沖來臨,CLK第二個(gè)上升沿,通道的第一位開始寫入,延時(shí)等待,第三個(gè)脈沖上升沿到來,通道的第二位寫入,待到第四個(gè)脈沖,通道號(hào)選擇完。讀數(shù)據(jù)子程序本文采用由高位向低位讀取八位數(shù)據(jù),待CLK下降沿可以讀出,高八位數(shù)據(jù)讀完后則開始由低八位向高八位讀取數(shù)據(jù)并最終判斷二者是否相等,如果相等就把數(shù)據(jù)賦值給DAT。
數(shù)據(jù)處理子函數(shù)完成對(duì)數(shù)據(jù)的數(shù)字濾波功能,采用去極值求均值的方法,具體思路為對(duì)數(shù)據(jù)進(jìn)行采樣后,求取每10次采樣數(shù)據(jù)的最大值與最小值及和,去掉一個(gè)最大值,一個(gè)最小值后,求取采樣數(shù)據(jù)的平均值,并返回濾波后的數(shù)字信號(hào)。
如圖3為程序流程圖,其中左側(cè)為主程序,右側(cè)為A/D轉(zhuǎn)換子函數(shù)。
圖3 程序流程圖Fig.3 Program flow chart
A/D轉(zhuǎn)換子函數(shù)部分代碼:
本文成功的通過控制ADC0832對(duì)真空度數(shù)據(jù)進(jìn)行采集,并且利用單片機(jī)AT89S52的程序控制轉(zhuǎn)換時(shí)鐘脈沖方法,實(shí)現(xiàn)了真空度檢測的設(shè)計(jì)目的,為工業(yè)控制中廣泛應(yīng)用的真空度檢測提出了切實(shí)可行的方案,并通過實(shí)驗(yàn)及軟硬件的具體實(shí)現(xiàn)證實(shí)了該方法的有效性。
[1]力僑科技.真空泵的應(yīng)用領(lǐng)域 [EB/OL]. (2012-02-13)[2013-03-05].http://www.zblqv.com/News/News/News_45.html.
[2]程健,鄔欽崇.一種保持真空室真空度穩(wěn)定的控制系統(tǒng)[J].真空,1999,5(10):19-22.
CHENG Jian,WU Qin-chong.Controlsystem tokeep vacuum stability in vacuum chamber[J].Vacuum,1999,5(10):19-22.
[3]馮忠?guī)X,童英華,陳學(xué)煌.ADC0809在兩路數(shù)據(jù)采集系統(tǒng)中的應(yīng)用[J].電子設(shè)計(jì)工程,2011,19(13):75-77.
FENG Zhong-ling,TONG Ying-hua,CHEN Xue-huang.Application of ADC0809 in two channel data collection system[J].Electronic Design Engineering,2011,19(13):75-77.
[4]梁明亮,韋成杰.單片機(jī)對(duì)串行A/D轉(zhuǎn)換器ADC0832的C51編程[J].鄭州鐵路職業(yè)技術(shù)學(xué)院學(xué)報(bào),2009,21(1):36-37.
LIANG Ming-liang,WEI Cheng-jie.MCU C51 programming of the serial A/D converter ADC0832[J].Journal of Zhengzhou Railway Vocation&Technical College,2009,21(1):36-37.
[5]顧涵.基于AT89S51單片機(jī)的電子血壓計(jì)設(shè)計(jì) [J].常熟理工學(xué)院學(xué)報(bào),2011,25(8):97-100.
GU Han.The design of electronic blood pressure monitor based on AT89s51 MCU[J].Journal of changshu institute technology,2011,25(8):97-100.
[6]佘東.單片機(jī)數(shù)字濾波程序設(shè)計(jì)與實(shí)現(xiàn)[J].四川兵工學(xué)報(bào),2012,33(9):78-80.
SHE Dong.Design and implementation of MCU digital filtering program[J].Journal of Sichuan Ordnance,2012,33(9):78-80.