種興靜,高軍偉
(青島大學 自動化學院,青島266071)
LabVIEW 是一種靈活的編程語言,相較于C 語言或者JAVA 語言,LabVIEW 語言是一種圖形化的編程語言,程序設計相對比較簡單,靈活性很強,利于用戶對上位機人機界面的設計。LabVIEW 可以做運動控制、算法的仿真等,但用的最多的還是Lab-VIEW 數據采集,例如一些板卡的測試以及自動化控制類的數據采集等。一個VI 程序包括前面板和程序面板。前面板是用戶所能看到的界面,可以實現數據顯示、波形顯示、數據輸入等其他功能,程序面板是前面板運行的一個支持。通過建立VI 程序來實現一系列的功能,達到用戶的要求。
基于LabVIEW 數據采集的功能[1-3],本文提出了在LabVIEW 2014 編程軟件環境下,利用USB 數據采集卡進行實時的監測電壓電流變化情況。在控制器設計過程中,利用LabVIEW 2014 編程軟件編寫電壓電流采集控制程序。該系統可實現電壓電流的準確測量,并將測量數據結果保存到數據庫。實驗結果表明,該系統實時響應性良好,測量結果準確。
在USB 數據采集卡電壓電流監測系統中,USB數據采集卡通過USB 接口與上位機搭建,安裝驅動程序,實現上位機與USB 數據采集卡的通訊,LabVIEW 調用動態鏈接庫函數,完成串口通訊[4]。LabVIEW 前面板作為人機交互界面,可以實時地監控測量的電壓、電流的變化情況,通過波形圖方式直接顯示出來,并將獲得的數據保存到數據庫中。
USB 數據采集卡電壓電流監測系統的總體結構如圖1所示。

圖1 系統總體結構圖Fig.1 System overall structure
電壓電流實時監測系統采用恒凱電子的USBDAQ V1.2 數據采集卡,如圖2所示。使用USB2.0高速總線接口,具有即插即用的易用特性,便攜式特點可以成為用戶的最佳選擇,可以取代PCI 卡更加方便的使用。該數據采集卡采用8 路差分/16 路單端輸入,具有2 路模擬信號輸出,12 位AD,通道轉換速度為100 kHz,最大的共模電壓為±10 V,可支持輸入通道連續自動掃描。USB-DAQ V1.2 數據采集卡可工作多種常用的操作系統,如Win7、XP、Win9x/Me 等。該數據采集卡可用于各種傳感器信號的數據采集和數據分析,以及工業生產中的控制和測量,還可以應用于科研等其他領域,結合計算機強大的數據處理能力、便捷的軟件編程方式[5],與傳感器、控制器搭建,完成各種數據信號處理、分析和保存,可以大大降低設計成本。

圖2 USB 采集卡Fig.2 USB data auquision card
USB_DAQ 數據采集卡的模擬輸入電路如圖3所示,MUX、MUX2 為多路選擇器,每次將1 組AI 或1 個AI 接入放大器(AMP)。MUX2 用于切換單端或差分輸入模式。AMP 放大器根據板上的跳線和撥碼開關選擇不同的放大倍數,對輸入信號進行調理及緩沖,使信號適合模數轉換器(ADC)的量程。ADC模數轉換器將模擬電壓轉換為數字編碼,從而實現AI 信號數字化。AI FIFO 可對固定或無限次數采樣執行單個或多個A/D 轉換。AI 采集過程中,采用先進先出(FIFO)緩存存儲數據,確保數據不會丟失[6-7]。

圖3 USB_DAQ 模擬輸入電路Fig.3 USB_DAQ analog input circuit
被測可調電壓模塊和蜂鳴電壓報警模塊如圖4和圖5所示,電壓模塊的電壓范圍為0~5 V,USB 數據采集卡的AD1 端口和GND 端口分別連接可調電壓模塊端口P7 的1和2,用USB 數據采集卡的模擬通道對模擬電壓進行采集[8],對被測電壓持續進行監控,獲取測量的電壓值。圖5 為電壓報警模塊,USB 數據采集卡的數字輸出端口OUT1和接地端口GND 分別連接電壓報警模塊端口P10的1和2,當電壓超過設定值,實現電壓監控的超壓報警。

圖4 被測可調電壓圖Fig.4 Measured adjustable voltage diagram

圖5 電壓報警模塊圖Fig.5 Voltage alarm module diagram
測流電路如圖6所示,F1 為貼片自恢復保險絲,用以保護測流電路。P8 端口的1、2 分別連接USB 數據采集卡的AD8 端口和AD16 端口。測流電路的P9 的1、2 分別連接P14 的1、2 來測量被測電路中的電流。

圖6 測流電路圖Fig.6 Flow measurement circuit diagram
被測電流電路如圖7所示,被測電流電路采用5 V 電源供電,可通過調節電位器實現電流的改變。

圖7 被測電流電路圖Fig.7 Measured current circuit diagram
USB 數據采集卡電壓監控模塊的LabVIEW 程序框圖如圖8所示。軟件采用While 循環與條件結構結合實現電壓的連續采集。調用庫函數ADSingleV12()完成模擬通道電壓的單次采集,設定采集時模擬輸入模式ad_mod 為1,實現USB 數據采集卡的單端采集模式;AD 輸入通道設置chan 為0,將AD1 端口設為電壓數據采集的通道;設置USB 采集卡的量程代碼gain 為10,測量電壓的量程設定為0~5 V。庫函數ADSingleV12()的adResult 將采集到的電壓直接顯示,并通過反饋節點將采集到的數據通過插入數組,依次將電壓數據通過波形圖呈現出來。采集到的電壓數據再通過創建波形完成電壓的實時采集,最后通過“導出波形至電子表格文件”,將采集到的電壓數據保存到數據庫。庫函數DoSetV12 設定chan 為0 來實現USB 數據采集卡的OUT1 端口作為蜂鳴器報警模塊的輸入端口,通過布爾(0,1)轉換函數設置DoSetV12 的state 的狀態,state 為1 時報警,為0 時消除報警。

圖8 電壓監控程序框圖Fig.8 Voltage monitoring block diagram
USB 數據采集卡電流監控模塊的LabVIEW 程序框圖如圖9所示。調用庫函數ADSingleV12()完成模擬通道電壓的單次采集,設定采集時模擬輸入模式ad_mod 為0,實現USB 數據采集卡的差分采集模式;AD 輸入通道設置chan 為7,將AD8 端口設為電流數據采集的通道;設置USB 采集卡的量程代碼gain 為6,測量電壓的量程設定為-0.5~0.5 V,由于測流電路中測量1 Ω 電阻兩端的電壓,所以利用歐姆定律,所測的電壓除以1 Ω 等于電流值,單位為安培。庫函數ADSingleV12()的adResult 將采集到的電流乘1000,設置測量電流的單位為毫安,并通過反饋節點將采集到的電流數據通過插入數組,依次將電流數據通過波形圖呈現出來。采集到的電流數據再通過創建波形完成電流的實時采集,最后使用“導出波形至電子表格文件”函數,將采集到的電流數據保存到數據庫。同樣,當測量電流值超過設定值,可實現報警功能。

圖9 電流監控程序框圖Fig.9 Current monitoring block diagram
USB 數據采集監控系統采集到的電壓波形圖如圖10所示,設置報警電壓為5 V,當測量電壓低于5 V 時,超壓指示燈關閉為紅色;當測量電壓超過5 V 時,超壓指示燈開啟為綠色,并且蜂鳴電壓報警模塊自動開啟,完成蜂鳴報警。

圖10 電壓波形圖Fig.10 Voltage waveform diagram
通過數據采集監控系統將采集電壓保存到數據庫,采集到的電壓值如圖11所示,電壓采集的時間間隔為1 s,可以詳細記錄電壓采集的時間,并且能夠精確的測量電壓數據。

圖11 電壓值顯示Fig.11 Voltage value display
USB 數據采集監控系統采集到的電流結果通過波形圖顯示,采集結果如圖12所示,設定的最大報警電流為500 mA,電流監控系統同樣具備電流超值報警功能。
通過數據采集監控系統將采集電流保存到數據庫,采集到的電流值如圖13所示,電流采集的時間間隔為5 s,可以詳細記錄電流采集的時間,并且能夠精確的測量電流數據,測量電流的單位為毫安。

圖12 電流波形圖Fig.12 Current waveform

圖13 電流值顯示Fig.13 Current value display
本文設計了基于USB 采集卡的電壓電流實時監測系統,本系統可以安全可靠運行,能夠高效、便捷的對電壓、電流進行精確的測量,并可實現電壓、電流超值報警功能,通過LabVIEW 前面板可以監測到電壓、電流數據并實時顯示,并將采集的詳細數據結果保存到數據庫,方便對采集到的數據查看。