采用LabVIEW 8.2的多用虛擬電壓表原理及設計
概述:為了滿足不同測量的要求傳統的電壓表分別做成獨立的儀表,包括峰值電壓表、平均值電壓表和有效值電壓表。在此,提出采用虛擬儀器同時實現三種示值電壓表的方案;介紹了虛擬儀器軟件平臺LabVIEW的特點。對虛擬數字電壓表的設計和實現進行了詳細描述,包括基于LabVIEW 8.2的虛擬信號發生器的實現過程,它能產生正弦、方波、三角波及由輸入數學公式確定的復雜自編輯波形。最后,對設計的虛擬電壓表運行結果進行分析,驗證了虛擬電壓表設計方法的正確性。
??? 虛擬儀器是隨著計算機技術、電子測量技術和通信技術發展起來的一種新型儀器。它充分利用計算機系統強大的數據處理和顯示能力,利用軟件完成數據的采集、控制、數據分析和處理以及測試結果的顯示等,通過軟、硬件的配合,實現傳統儀器的各種功能,真正實現了“軟件即儀器”的概念,用戶可以方便地對儀器進行維護和擴展。
??? 電壓是電路中常用的電信號,通過電壓測量,利用基本公式可以導出其他的參數。因此,電壓測量是其他許多電參數和非電參數量的基礎。測量電壓相當普及的一種測量儀表就是電壓表,但常用的是模擬電壓表。模擬電壓表根據檢波方式的不同。分為峰值電壓表、均值電壓表和平均值電壓表,它們都各自做成獨立的儀表。這樣,使用模擬電壓表進行交流電壓測量時,必須根據測量要求選擇儀表。另外,多數電壓表的表頭是按正弦交流有效值刻度的,而測量非正弦波時,必須經過換算才能得到正確的測量結果,從而給實際工作帶來不便。
??? 采用虛擬電壓表,可將表征交流電壓特征的峰值、平均值和有效值集中顯示在一塊面板上,測量時可根據波形在面板上選擇儀表,用戶僅通過面板指示值就能對測量結果進行分析比較,大大簡化了測量步驟。
1 虛擬電壓表的設計思路
??? LabVIEw 8.2版本的工程技術比以往任何一個版本都豐富.它采用了中文界面,各個控件的功能一目了然。利用它全新的用戶界面對象和功能,能開發出專業化、可完全自定義的前面板。LabVIEW 8.2對數學、信號處理和分析也進行了重大的補充和完善,信號處理分析和數學具有更為全面和強大的庫,其中包括500多個函數。所以在LabVIEW 8.2版本下能夠更方便地實現虛擬電壓表的設計。
??? 虛擬電壓表是基于計算機和標準總線技術的模塊化系統,通常它由控制模塊、儀器模塊和軟件組成,由軟件編程來實現儀器的功能。在虛擬儀器中,計算機顯示器是惟一的交互界面,物理的開關、按鍵、旋鈕以及數碼管等顯示器件均由與實物外觀相似的圖形控件來代替,操作人員只要通過鼠標或鍵盤操作虛擬儀器面板上的旋鈕、開關、按鍵等設置各種參數,就能根據自己的需要定義儀器的功能。在虛擬電壓表的設計中,考慮到儀器主要用于教學和實驗,使用對象是學生,因此將引言中提到的三種檢波方式的儀器合為一體,既簡化了面板操作,又便于直接對比。
??? 該電壓表主要用于電路分析和模擬電子技術等實驗課的教學和測量儀器,能夠使學習者了解和掌握電壓的測量和電壓表對各種波形的不同響應。因此,虛擬電壓表應具備電源開關控制、波形選擇,以及顯示峰值、有效值和平均值三種結果,且輸入信號的大小可調節等功能。虛擬電壓表由硬件設備與接口、設備驅動軟件和虛擬儀器面板組成。其中,硬件設備與接口包括儀器接口設備和計算機,設備驅動軟件是直接控制各種硬件接口的驅動程序,虛擬儀器通過底層設備驅動軟件與真實的儀器系統進行通信,并以虛擬儀器面板的形式在計算機屏幕上顯示與真實儀器面板操作相對應的各種控件。在此,用軟件虛擬了一個信號發生器。該信號發生器可產生正弦波、方波和三角波,還可以輸入公式,產生任意波形。根據需要,可調節面板上的控件來改變信號的頻率和幅度等可調參數,然后檢測電壓表的運行情況。因此,在LabVIEW圖形語言環境下設計的虛擬電壓表主要分為兩個部分:第一部分是虛擬電壓表前面板的設計;第二部分是虛擬電壓表流程圖的設汁。
2 前面板的設計
??? 前面板模擬真實電壓表的前面板,用于設置輸入數值和觀察輸出量。由于虛擬面板直接面向用戶,是虛擬電壓表控制軟件的核心。設計這部分時,主要考慮界面美觀、操作簡潔,用戶能通過面板上的各種按鈕、開關等控件來控制虛擬電壓表進行測量工作。根據傳統電壓表面板控件的功能,利用LabVIEW中的控制模板,分別在設計面板上放入模擬實際電壓表控件的數據輸入控件、顯示器、數據輸出控件、開關、選擇器,顯示器用于顯示輸入的信號波形;數據輸入控件主要用于輸入被測信號的信號頻率、采樣頻率、采樣數、振幅和相位;數據輸出控件則用于輸出被測信號經過處理后得到的峰值、平均值和有效值及標準頻率的有效顯示。打開LabVIEW前面板的編輯窗口,點擊鼠標右鍵,顯示控制模板,選擇圖形一波形圖,作為電壓表的顯示器。在顯示器模板上點擊鼠標右鍵,對其進行屬性設置,例如根據示波器的頻率與幅度值的變化,利用工具模板中的文字工具,對示波器橫(時間)、縱(幅度)坐標的刻度進行重新設置。用Graph控件設計的示波器是完全同步的,且波形穩定。
??? 選擇控件→數值→數值輸入控件/數值顯示控件,作為電壓表參數設置中輸入和測試結果的數據顯示。
??? 選擇控件→下拉列表與枚舉→菜單下拉列表,放置對輸入波形選擇開關,在下拉列表中單擊鼠標右鍵,選擇“編輯項”對其進行編輯。
??? “電源開關”控件選擇經典→經典布爾→方形按鈕,當按下開關時,虛擬電壓表開始運行,同時電源開關的指示燈亮。同樣,當彈起開關時,虛擬電壓表停止運行。前面板如圖1所示。
3 流程圖的設計
??? 每一個前面板都對應一個流程圖程序。前面板的設計完成后,可對流程圖程序進行設計。打開LabVIEW設計環境中的窗口→顯示程序框圖,進入流程圖編輯窗口,與前面板各控件對應的端口圖標自動出現在流程圖編輯窗口中。利用LabVIEW中的功能模塊,根據虛擬示波器前面板各控件的作用和聯系,虛擬示波器運作后數據流的控制,分別在流程圖設計面板中放置各個功能模塊,合理擺放后,在用連線工具依次連接,以實現虛擬示波器的功能。數據流的編輯主要是對端口圖標的連接。用連線工具進行連線時,如果端口閃爍,說明相連的數據類型匹配,否則不能連接。
3.1 虛擬信號發生器的實現
??? 由于虛擬電壓表主要用于演示,所以為了方便,可直接利用LabVIEW軟件產生仿真信號。在該設計中,設置了正弦波、方波和三角波以及由公式確定的任意波形。在程序設計框圖中,使用一個Case(選擇)語句對四種波形進行選擇。Case語句中,每一個數字(0,1,2,3,4)都代表一種波形,與前面板控件中5種狀態相對應。至于Case語句的制作,只需將4個圖標中的一個,例如正弦波發生程序,用Case框起來,然后在上面的空白處寫上相應的數字,例如1;然后點擊箭頭,可以設置第二個圖標,如果要添加一個Case的話,可以點擊鼠標右鍵,直接添加,編輯相應的基本信號發生器VI中相應的節點即可。在添加公式波時,要把基本信號發生器VI換成公式波形VI,0代表默認狀態,表示無任何波形輸入。本文給出了Case結構的一個分支,公式波形的流程圖如圖2所示。該子Ⅵ可使用指定時間函數的公式字符串生成一個函數波形,它要求公式的自變量必須是t,它所支持的運算符和常用的函數詳見參考文獻。
??? 另外,在模擬狀態下,信號頻率以赫茲或者每秒周期數為單位。但是在數字系統中,通常使用數字頻率,它是信號頻率與采樣頻率的比值,被稱為標準頻率。所以,在框圖程序中,應當在信號頻率與采樣頻率之間加載一個除法器。
?在波形發生程序按照規定的參數產生波形后,如果將波形直接輸入波形顯示控件,那將是錯誤的。因為波形顯示控件,并不像數據顯示控件那樣只需要一個或一組數據,因此波形能否按規定顯示出來,取決于輸入的幾組不同且具有決定性的數據,例如周期、相位等。在該設計中,將z軸起始坐標、周期、波形捆綁成一個數組,同時輸入到波形顯示控件中。
3.2 數據處理部分
??? 數據處理部分的作用,就是將產生出的信號通過不同形式的檢波、計算,得出規定的不同的結果。在該設計中同時顯示交流有效值、峰值和平均值。對于一個純粹的交流電壓,正半周期信號與負半周期信號對稱,U的平均值等于零,所以一般不直接測量平均值。在設計時,按函數→數值→絕對值取交流電壓的絕對值,然后求平均值,取全波平均值。交流電壓中的最大值,即為峰值??梢酝ㄟ^比較數據求出最大值,這需要使用波形最大、最小子虛擬儀器來處理框圖。有效值顯示:在函數→信號處理→波形測量中選擇基本平均直流均方根。其框圖符號如圖3所示。
??? 圖3中,DC value為測量的直流分量;RMS為value測量有效值;reset用于重啟過去記錄的時間信號、平均測量的參數;averaging type是測量中的平均類型,在單個模塊VI中,可依據輸入記錄長度自動設置平均時間;Window是在DC/RMS計算之前,用于記錄時間的窗;erroe in是在該VI運行之前描述錯誤環境,默認值為no error。如果錯誤已經發生,該VI在errorout端返回錯誤代碼,子VI在無錯誤時才正常運行。
3.3 開關部分
??? 用一個while條件語句設計整個框圖程序,當模擬電壓開關為“1”時,虛擬電壓表工作,條件語句中的程序開始運行;當模擬開關為“0”即關時,條件語句中的程序停止運行,虛擬電壓表不工作。設計好的流程圖如圖4所示。
4 結 語
??? 經過實際使用,虛擬電壓表所有的控制鍵和功能正常,符合使用要求。需要指出的是,在設計該虛擬電壓表時,簽于教學使用的目的,僅從功能上考慮,并未對虛擬電壓表的技術指標進行深入研究。事實上,峰值是取樣值的最大值,而取樣點不可能取得太多,否則運行速度太慢,因此顯示的峰值與理論值是有差別的,在設計時應注意合理選擇參數。
??? 在LabVIEW圖形化語言環境下設計的虛擬儀器簡單快捷,用戶完全可根據測試功能的需要,調用不同功能的軟件模塊,以組建自己的儀器。這對測量者,尤其是高等院校的實驗室是非常方便的??稍谕慌_計算機中,根據不同的教學層次,設計不同檔次的儀器為教學服務。如何針對不同的教學目的,分別對硬件驅動程序部分、虛擬面板部分、信號的后期處理部分進行部分或完整的設計,信號的后期處理程序可以設計成一個獨立的功能模塊,能夠對采樣信號進行非實時的在現和離線分析,既滿足了學生的要求,又避免了設備的重復購置。
評論
查看更多