◎覃傳妹 覃傳寶 陳 瑩
基于LabVIEW的智能萬用表設(shè)計(jì)
◎覃傳妹 覃傳寶 陳 瑩
所謂的虛擬儀器是指以計(jì)算機(jī)為核心,將計(jì)算機(jī)與測試系統(tǒng)結(jié)合一體,計(jì)算機(jī)軟件代替?zhèn)鹘y(tǒng)儀器的某些硬件的功能,計(jì)算機(jī)的顯示器代替?zhèn)鹘y(tǒng)儀器面板的測量儀器。虛擬儀器是科技時(shí)代發(fā)展的潮流,憑借其功能強(qiáng)大靈活性高、研發(fā)周期短、成本低、可操作性好等優(yōu)點(diǎn),將會(huì)越來越多的取代傳統(tǒng)儀器。本設(shè)計(jì)借助虛擬儀器軟件LabVIEW和數(shù)據(jù)采集板卡PCI-6221,制作了一個(gè)虛擬儀器萬用表。
本虛擬萬用表除了跟傳統(tǒng)的萬用表一樣可測量電壓、電流、電阻及檢測短路外還有當(dāng)前時(shí)間的顯示、斷路電路的檢測、工作指示燈的顯示、歷史數(shù)據(jù)的保存和調(diào)用,當(dāng)然也有信號檔位的選擇,還可以任意改動(dòng)其功能和美化界面,是一款智能化、實(shí)用性強(qiáng)、性價(jià)比高的儀器,由虛擬軟件LabVIEW搭建而成,再通過PCI-6221數(shù)據(jù)采集板卡、通信電纜、接線盒連接外部信號,實(shí)現(xiàn)電壓、電流、電阻等信號的采集,到計(jì)算機(jī)顯示器上的萬用表界面顯示。
NI公司的37針的PCI6221的DAQ卡是整個(gè)數(shù)據(jù)采集硬件電路的核心部分,其帶有16路模擬輸入端口,2路16位模擬輸出端口(833 kS/s),10條數(shù)字I/O線,32位計(jì)數(shù)器/定時(shí)器。本設(shè)計(jì)通過差分方式連線,采集的電壓、電流、電阻信號分別各占用的兩個(gè)模擬輸入通道為(ai0,ai20)、(ai2,ai21)、(ai3,ai22),模擬輸入/輸出通道能通過的電壓范圍為±10V,采集的信號太小可以先適當(dāng)?shù)姆糯笠欢ǖ谋稊?shù)再連接到DAQ卡的相應(yīng)接線盒端口,之后再用軟件進(jìn)行還原,采集的電壓不在±10V范圍內(nèi),先縮小適合的倍數(shù)。
虛擬萬用表前面板如圖1所示,程序框圖總設(shè)計(jì)如圖2所示。
軟件設(shè)計(jì)解析
測量電壓信號。本虛擬萬用表電壓、電流、電阻的量程檔位的選擇用了數(shù)值類型的轉(zhuǎn)盤控件結(jié)合Case結(jié)構(gòu)實(shí)現(xiàn)換擋,共有7個(gè)檔位所以Case結(jié)構(gòu)有7個(gè)條件分支,把轉(zhuǎn)盤控件的文本標(biāo)簽設(shè)置為“100Ω、5V、10V、OFF、100mA、200mA、50Ω”,對應(yīng)的值為“0、1、2、3、4、5、6”,當(dāng)控件輸出的值對應(yīng)Case結(jié)構(gòu)選擇器標(biāo)簽值時(shí),執(zhí)行本分支內(nèi)的代碼。萬用表測壓范圍在0-10V,有5V、10V兩個(gè)量程檔位,分別對應(yīng)Case結(jié)構(gòu)的1、2分支,如果測量小于等于5V的電壓先把檔位調(diào)到5V檔量程,通過DAQ卡的模擬通道(ai0,ai20)采集到的電壓信號顯示在萬用表顯示器上,如果采集的信號在5V-10V之間應(yīng)該換到10V檔位,如果檔位放在5V但測量電壓超過量程,通過大小比較函數(shù)執(zhí)行內(nèi)嵌套的另一個(gè)條件結(jié)構(gòu)“真”分支,真分支里面的代碼為一個(gè)賦值“已超出量程,請換擋”的字符串常量連接字符串控件(萬用表顯示器)的局部變量,可使(萬用表顯示器)顯示“已超出量程,請換擋”字樣提醒超過量程。如果采集超過10V的電壓,可以通過放大器硬件電路縮放倍數(shù)再采集,后再通過軟件放大相應(yīng)倍數(shù)再顯示,而采集的電壓太小如0.5V以下的,最好先放大一定的倍數(shù)再采集,否則采集數(shù)據(jù)不穩(wěn)定和引起較大的誤差。
測量電流信號。由于PCI-6221采集卡適合采集電壓信號,要采集電壓信號時(shí)應(yīng)根據(jù)U=IR原理,先把電流換成電壓信號方可采集,本設(shè)計(jì)用2個(gè)1W的100歐電阻并聯(lián)組成一個(gè)電流至電壓的轉(zhuǎn)換電路,可測量的電流范圍為0-200mA,采集到的電壓信號單位先換成毫伏級再除以50Ω電阻得到電流信號。電流信號分有100mA檔和200mA檔編程思路和流程基本與電壓代碼相似。短路報(bào)警可在電流檔采集到的電流幾乎為0時(shí)可啟動(dòng)短路報(bào)警燈。
測量電阻信號。電阻測量范圍0-100Ω,分50Ω和100Ω量程檔,電阻轉(zhuǎn)換成電壓需要一個(gè)電流源,可選200mA量程的電流源。采集到的電壓除以0.2A即可得到電阻顯示。斷路報(bào)警可認(rèn)為在電阻采集檔采集到的電阻超過最大量程時(shí)點(diǎn)亮斷路報(bào)警燈。
萬用表顯示屏。萬用表顯示器用的是字符串顯示控件,DAQ卡每個(gè)通道采集到的都是數(shù)值型信號,可用數(shù)值至十進(jìn)制數(shù)字符串轉(zhuǎn)換函數(shù)方可在萬用表顯示屏上顯示,顯示屏控件要多次調(diào)用可創(chuàng)建局部變量。系統(tǒng)要求顯示時(shí)間,可用獲取日期/時(shí)間字符串函數(shù)獲取系統(tǒng)時(shí)間顯示在字符串控件上。
數(shù)據(jù)保存。保存數(shù)據(jù)可供回放歷史數(shù)據(jù)使用,保存數(shù)據(jù)用文本文件格式,通過“當(dāng)前VI路徑”、“拆分路徑”、“創(chuàng)建路徑”、“打開/創(chuàng)建/替換文件”等函數(shù)可自動(dòng)創(chuàng)建文本文件在主程序保存的根目錄下,總共需要保存電壓、電流、電阻信號的數(shù)據(jù),可以再調(diào)用一個(gè)3分支的條件結(jié)構(gòu)來完成,比如當(dāng)換到測量電流檔位時(shí)一邊顯示某一時(shí)刻的電流值一邊執(zhí)行保存條件結(jié)構(gòu)的分支1即可保存當(dāng)前顯示的電流值,保存的數(shù)據(jù)要留3位小數(shù)點(diǎn)。
萬用表關(guān)閉檔。萬用表關(guān)閉檔對應(yīng)3分支,當(dāng)要停止工作關(guān)閉萬用表時(shí),要把檔位打到“OFF”檔,程序框圖執(zhí)行相應(yīng)的代碼,送布爾常量“F”給電源指示燈即可關(guān)閉、送空字符串給字符串控件顯示器和時(shí)間即可清零,進(jìn)一步輸出布爾量“T”給while循環(huán)的停止接線端就可以停止整個(gè)程序的執(zhí)行。萬用表工作指示燈點(diǎn)亮只用在每一個(gè)分支里面輸出“真”信號給布爾類型的指示燈局部變量即可。
數(shù)據(jù)采集卡通道分配。模擬信號采集通過DAQ助手函數(shù)分配通道、設(shè)置連接方式、采樣數(shù)和采樣率,用拆分信號函數(shù)把電壓、電流、電阻信號拆分出來,再對這3個(gè)通道信號求平均值。
前面板裝飾。基于LabVIEW創(chuàng)建的虛擬儀器可以任意美化和改動(dòng)儀器界面,根據(jù)個(gè)人的喜好對界面背景、字體、控件的顏色以及大小進(jìn)行配置,顏色的調(diào)試可以調(diào)出“工具選板”的“設(shè)置顏色”工具來操作,字體的大小可以在自動(dòng)狀態(tài)下選中再鼠標(biāo)拖動(dòng)放大或縮小即可,字體大小調(diào)節(jié)先選中需要調(diào)節(jié)的字體再單擊菜單欄中的“對話框字體”下拉列表選擇“大小”再選中字號。指示燈亮滅狀態(tài)的顏色設(shè)置可以通過右鍵快捷方式的“屬性”內(nèi)部去設(shè)置。
基于虛擬儀器LabVIEW的智能萬用表適用于實(shí)驗(yàn)室內(nèi),這樣可以節(jié)省買傳統(tǒng)萬用表的資金,通過外部轉(zhuǎn)換電路和放大處理電路的調(diào)整可以任意改變電壓、電流、電阻的采集量程,是一個(gè)操作性強(qiáng)、實(shí)用性大的虛擬儀器。
(作者單位:廣西大學(xué)行健文理學(xué)院)
廣西大學(xué)行健文理學(xué)院,自然科學(xué)類項(xiàng)目,編號為2012ZKLX03