張佑春
(安徽工商職業(yè)學(xué)院 電子信息系,合肥231131)
伴隨著電子技術(shù)、計(jì)算機(jī)技術(shù)、測(cè)試測(cè)量技術(shù)等的飛速發(fā)展,傳統(tǒng)的測(cè)試儀器由于其本身存在的測(cè)量精度、測(cè)量誤差、硬件固化及維護(hù)成本等諸多缺陷,越來(lái)越不能適應(yīng)當(dāng)下測(cè)試測(cè)量行業(yè)發(fā)展的要求。20世紀(jì)80年代由NI公司提出的虛擬儀器是對(duì)傳統(tǒng)儀器時(shí)代的一次革命,虛擬儀器主要借助于計(jì)算機(jī)豐富的軟硬件資源,實(shí)現(xiàn)傳統(tǒng)測(cè)試測(cè)量?jī)x器的數(shù)據(jù)采集功能,同時(shí)完成對(duì)信號(hào)的調(diào)理、處理、存儲(chǔ)、輸出和顯示等諸多功能[1-3]。虛擬儀器開(kāi)發(fā)中使用一種圖形化的編程語(yǔ)言——LabVIEW,該軟件內(nèi)置VXI、GPIB、RS-232、RS-422、RS-485、USB等協(xié)議接口,富含ActiveX、TCP/IP等軟件標(biāo)準(zhǔn)庫(kù)函數(shù),同時(shí)還提供CIN代碼接口節(jié)點(diǎn)和DLL動(dòng)態(tài)鏈接庫(kù)功能[4-6]。軟件編程摒棄傳統(tǒng)的文本語(yǔ)言,采用直觀的圖形化語(yǔ)言——G語(yǔ)言,編程方便、界面友好。
本研究正是在綜合考慮傳統(tǒng)儀器與虛擬儀器的各自特點(diǎn)與應(yīng)用場(chǎng)合后,采用了虛擬儀器LabVIEW軟件,以計(jì)算機(jī)豐富的軟硬件為平臺(tái),設(shè)計(jì)了一種新型的數(shù)字式直流電壓表。
虛擬直流電壓表的硬件系統(tǒng)設(shè)計(jì)主要包括測(cè)量對(duì)象、A/D轉(zhuǎn)換模塊、增益選擇模塊和通道輸入模塊4個(gè)部分。系統(tǒng)框圖如圖1所示。
圖1 虛擬直流電壓表的硬件系統(tǒng)設(shè)計(jì)框圖Fig.1 Design diagram of virtual DC voltmeter hardware system
A/D轉(zhuǎn)換電路設(shè)計(jì)采用雙積分式12位A/D轉(zhuǎn)換芯片ICL7109,該芯片具有轉(zhuǎn)換速度快、轉(zhuǎn)換精度高等特點(diǎn)。為與微處理器通信方便,該芯片分別內(nèi)置了2個(gè)14位的數(shù)據(jù)寄存器和鎖存器,大大簡(jiǎn)化了外圍電路設(shè)計(jì)。ICL7109提供了2種數(shù)據(jù)交換方式,即間接方式和直接方式,可以通過(guò)設(shè)置MODE引腳完成方式設(shè)定。前者采用標(biāo)準(zhǔn)工業(yè)數(shù)據(jù)交換格式,主要針對(duì)遠(yuǎn)程數(shù)據(jù)采集;后者在數(shù)據(jù)輸出過(guò)程中,由B1~B8完成低8位字節(jié)數(shù)據(jù)輸出,由B9~B12完成高4位數(shù)據(jù)輸出。該方式可在片選和字節(jié)使能的控制下直接讀取數(shù)據(jù)[7-9]。系統(tǒng)MODE引腳設(shè)置低電平,為直接方式,通過(guò)改變電位器的狀態(tài),經(jīng)INH引腳完成模擬電壓Vx的輸入。A/D轉(zhuǎn)換時(shí)序圖與模塊電路原理圖分別如圖2、圖3所示。
鑒于待測(cè)模擬信號(hào)比較微弱,為得到合適的測(cè)量信號(hào),電路引入集成運(yùn)算放大器LM324,增益選擇功能可以通過(guò)模擬開(kāi)關(guān)CD4052實(shí)現(xiàn)。它是數(shù)字控制的模擬數(shù)據(jù)選擇/分配器,具有低導(dǎo)通阻抗和低泄漏電流等特性,通過(guò)2個(gè)二進(jìn)制輸入端A、B和一個(gè)禁止輸入端INH來(lái)實(shí)現(xiàn)通道選擇。模塊電路中支持4檔增益選擇,即0.5、1、2、5倍。增益選擇模塊電路如圖4所示。
通道輸入模塊電路提供了3路輸入信號(hào),分別是2.048V參考電壓VREF輸入通道,0V接地通道,以及直流測(cè)量電壓輸入通道,即7109+和7109-。需要說(shuō)明的是,測(cè)量電壓通過(guò)調(diào)節(jié)電位器來(lái)實(shí)現(xiàn),電壓范圍在0~±4V之間。
由ICL7109的A/D轉(zhuǎn)換關(guān)系,有
圖2 A/D轉(zhuǎn)換時(shí)序圖Fig.2 A/D conversion timing chart
式中:VIN—A/D轉(zhuǎn)換器輸入電壓;NOUT—A/D轉(zhuǎn)換結(jié)果的12位數(shù)字量;VREF—A/D轉(zhuǎn)換器外部參考輸入電壓。調(diào)節(jié)至VREF=2.048V,此時(shí)NOUT可以看作為以mV為單位表示的VIN,即
圖3 A/D轉(zhuǎn)換模塊電路原理圖Fig.3 A/D converter module circuit diagram
圖4 增益選擇模塊電路原理圖Fig.4 Gain selection module circuit diagram
系統(tǒng)基于PC機(jī)的虛擬儀器軟件平臺(tái)——LabVIEW構(gòu)建測(cè)量方案,實(shí)現(xiàn)直流電壓的數(shù)字化測(cè)量,完成虛擬交流數(shù)字電壓表的設(shè)計(jì)。整個(gè)流程采取順序程序結(jié)構(gòu),依次實(shí)現(xiàn)對(duì)象選擇、量程選擇、EPP接口初始化與讀數(shù)校驗(yàn)、7109啟動(dòng)與運(yùn)行、量程超出判斷,以及結(jié)果顯示等功能。整個(gè)軟件設(shè)計(jì)流程圖如圖5所示。
程序設(shè)計(jì)主要借助Labwindows/CVI編寫(xiě)底層fp函數(shù),在程序?qū)崿F(xiàn)時(shí)可直接調(diào)用驅(qū)動(dòng)函數(shù)動(dòng)態(tài)鏈接,即7109.dll函數(shù),驅(qū)動(dòng)函數(shù)原型及常數(shù)和變量在封裝在cvidll.prj工程中。程序設(shè)計(jì)時(shí),應(yīng)加入動(dòng)態(tài)鏈接7109.dll動(dòng)態(tài)鏈接庫(kù)函數(shù)。實(shí)現(xiàn)直流電壓測(cè)量的驅(qū)動(dòng)函數(shù)主要包括以下函數(shù):
void stdcall epp_init(void) ∥初始化EPP接口;
int stdcall epp_read_check(void) ∥EPP讀數(shù)檢查;
int stdcall run_7109(unsigned char m_what,unsigned char gain_cw,double vref,double*rult) ∥運(yùn)行7109,實(shí)現(xiàn)7109的讀數(shù)及轉(zhuǎn)化;
void stdcall amp_7109(unsigned char gain_cw,double*gain,int*showdot) ∥根據(jù)量程設(shè)置增益和顯示位數(shù);
void stdcall indicator_7109(unsigned char gain_cw,double*indicator_gain,double*indicator_max) ∥根據(jù)量程設(shè)置7109輸入增益,電壓表最大顯示數(shù)字;
void stdcall start_7109(void) ∥啟動(dòng)7109;
int stdcall display(double display_data) ∥顯示。
虛擬直流數(shù)字電壓表的主要功能是用于完成測(cè)量與顯示電位器或外部直流電壓。虛擬儀器前面板設(shè)計(jì)有測(cè)量對(duì)象選擇按鈕和測(cè)量與自測(cè)選擇按鈕,在數(shù)據(jù)測(cè)量中提供了數(shù)字和表盤(pán)兩者同時(shí)顯示。參照高速數(shù)據(jù)采集的相關(guān)主要性能指標(biāo),設(shè)計(jì)設(shè)置了8檔量程,即8、4、2、0.8、0.4、0.2、0.08、0.04V,對(duì)應(yīng)增益為0.5、1、2、5、10、20、50、100倍。同時(shí),前面板上設(shè)置超量程指示,測(cè)量的啟動(dòng)和退出等功能。考慮到電壓表在實(shí)際使用時(shí)的需要,故將量程選在最大檔,量程缺省值設(shè)為8V。虛擬直流電壓表前面板設(shè)計(jì)如圖6所示。
圖5 軟件設(shè)計(jì)流程圖Fig.5 Software design flow
圖6 虛擬直流電壓表前面板Fig.6 Front panel of virtual DC voltmeter
由前面板設(shè)計(jì)可知,“退出”按扭控制了程序的運(yùn)行狀況,“測(cè)量”按鈕控制了測(cè)量狀況,因而可采用structure中的while循環(huán)作為設(shè)計(jì)主框架??紤]到LabVIEW的順序流程特性,順序結(jié)構(gòu)同樣適用于循環(huán)內(nèi)部設(shè)計(jì)。因此,可借助structure中的flat sequence case結(jié)構(gòu)完成程序流圖設(shè)計(jì)。
整體設(shè)計(jì)流程大體上由4個(gè)步驟構(gòu)成:首先,對(duì)EPP接口初始化,可通過(guò)調(diào)用動(dòng)態(tài)鏈接庫(kù)函數(shù)來(lái)完成,同時(shí)庫(kù)函數(shù)無(wú)需返回?cái)?shù)值;其次,啟動(dòng)7109,依然可通過(guò)調(diào)用動(dòng)態(tài)鏈接庫(kù)函數(shù)來(lái)完成,庫(kù)函數(shù)仍無(wú)需返回?cái)?shù)值;再次,啟用EPP讀數(shù)據(jù)校驗(yàn),此處通過(guò)設(shè)置函數(shù)返回值來(lái)判斷EPP讀數(shù)據(jù)成功與否,成功則繼續(xù),否則將“測(cè)量”按鈕彈起,程序停止;最后,運(yùn)行7109,借助case結(jié)構(gòu)選擇測(cè)量對(duì)象和量程,把run_7109的輸出用于表盤(pán)和led數(shù)字顯示。超量程可根據(jù)7109的返回值判斷,不等于1則超出,同時(shí)點(diǎn)亮超量程指示燈。部分程序框圖面板如圖7所示。
圖7 虛擬直流電壓表程序框圖面板Fig.7 Program diagram panel of virtual DC voltmeter
為分析與比較虛擬直流電壓表和傳統(tǒng)電壓表的測(cè)量測(cè)試性能,分別對(duì)被測(cè)對(duì)象進(jìn)行了測(cè)試,采用3塊傳統(tǒng)直流電壓表得到平均值,再與虛擬直流電壓表進(jìn)行誤差比較。容易得出,采用虛擬直流電壓表測(cè)試數(shù)據(jù)誤差小、精度高。測(cè)試結(jié)果分別如表1、表2所示。
表1 傳統(tǒng)電壓表測(cè)試數(shù)據(jù)Table 1 Test data of traditional voltmeter
表2 虛擬直流電壓表測(cè)試數(shù)據(jù)Table 2 Test data virtual DC voltmeter
采用虛擬儀器LabVIEW軟件設(shè)計(jì)的虛擬直流電壓表,大大簡(jiǎn)化了傳統(tǒng)電壓表的硬件結(jié)構(gòu)與制造維護(hù)成本,克服了傳統(tǒng)電壓表測(cè)量精度不高,數(shù)據(jù)無(wú)法存儲(chǔ)、分析、計(jì)算以及攜帶不方便等一系列缺點(diǎn);同時(shí),簡(jiǎn)化的圖形編程語(yǔ)言進(jìn)一步縮短了開(kāi)發(fā)周期,也方便后期產(chǎn)品功能更新和性能優(yōu)化。由于設(shè)計(jì)選取的A/D轉(zhuǎn)換器、參考電壓和增益電阻的精度高,經(jīng)過(guò)實(shí)驗(yàn)測(cè)試,開(kāi)發(fā)的虛擬直流電壓表具有測(cè)試方便、測(cè)量精度高等優(yōu)勢(shì),有廣闊的市場(chǎng)應(yīng)用前景。
[1] National Instruments Corporation.LabVIEW User Manual[Z].2008.
[2] 陳國(guó)順,于涵偉,王格芳,等.測(cè)試工程及LabVIEW應(yīng)用[M].北京:清華大學(xué)出版社,2013.
[3] 章佳榮,王璨,趙國(guó)宇.精通LabVIEW虛擬儀器程序設(shè)計(jì)與案例實(shí)現(xiàn)[M].北京:人民郵電出版社,2013.
[4] 陳世超.基于虛擬儀器的多路電壓測(cè)量的設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2012,20(8):82-84.
[5] 程雙江,李世平,鄭堂.基于LabVIEW 的數(shù)字電壓表設(shè)計(jì)[J].電子測(cè)量技術(shù),2013,36(1):88-90,104.
[6] 范強(qiáng),付永麗.基于LabVIEW 8.2的多用虛擬電壓表設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2009,311(24),183-185,188.
[7] 莫勇濤,楊景常.基于LabVIEW 的多功能虛擬直流電壓表設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2011,19(6):1507-1509.
[8] 王鋒,楊超,趙河明.基于LabVIEW 的虛擬溫度檢測(cè)系統(tǒng)[J].測(cè)試技術(shù)學(xué)報(bào),2013,27(5):431-435.
[9] 劉東升,尹成群,呂安強(qiáng),等.基于虛擬儀器技術(shù)的電子測(cè)量?jī)x器平臺(tái)開(kāi)發(fā)[J].儀表技術(shù)與傳感器,2011(9):23-25,55.