1. 引言
在電工電子這類工科課程中,實驗是與課程相輔相成的實踐性教學環節,有著至關重要的作用。它能夠在鞏固基礎理論知識的基礎上將理論聯系實際,培養學生的實踐技能、動手能力、初步設計能力和分析解決實際問題的基本能力,啟發創新意識及創新思維潛力,為今后的進一步工作打下基礎。
電工電子實驗系統由最初的單個儀器儀表發展到現在的智能網絡型實驗臺。而這些實驗臺大多都只是單純的對數據進行采集和管理,沒有融入虛擬儀器技術。本文所設計的電工電子實驗數據采集與處理系統是在智能網絡型實驗臺的基礎上增加虛擬儀器實現實驗數據的實時采集、分析和處理功能。
在設計中選用的開發系統是Windows XP,開發平臺是NI公司的LabVIEW。之所以在這里選用LabVIEW進行開發是由于它具有強大的數據采集和處理功能,編程效率高。即使有無法完成的功能,也仍就能夠通過外部接口調用其他語言來完成。近幾年來,LabVIEW廣泛地被工業界、學術界和研究實驗室所接受,被公認為是標準的數據采集和儀器控制軟件。在設計中采用的是LabVIEW不支持的普通數據采集卡,因此要在現有的情況下進行開發就必須編寫LabVIEW與采集卡之間的驅動程序做為接口。
2. 系統的結構
該系統包含以下幾個部分:信號調理電路、數據采集卡、與LabVIEW的接口驅動程序、軟件和計算機等。系統結構如圖1所示。
3. 硬件平臺
設計中所采用的數據采集卡為AC6010采集卡。這是一種通用A/D板卡,采用PCI總線,具有32路模擬輸入、32路開關量-16路輸入及16路輸出。模擬電壓輸入范圍采用-5V~+5V。
由于數據采集卡只能對電壓量進行轉換,在采集非電壓信號時就需要先將其轉換為電壓信號。當信號不在采集卡的可接收范圍之內或有干擾時就需要通過調理電路進行放大、衰減、濾波、隔離等使其適合采集卡的需求。圖2為由LM324構成的調理電路。左邊由AR1組成的跟隨器可以增加輸入阻抗,右邊由AR3組成的跟隨器是為了減小輸出阻抗,中間的電路可以進行信號放大或衰減。R3和C1并聯可以進行低通濾波,C2為旁路電容,可以濾除高頻干擾。電阻和電容值根據實際情況決定。
4. 驅動程序
為LabVIEW開發普通采集卡的驅動程序共有三種方法:采用動態數據交換(DDE),利用代碼接口節點接點(CIN)和調用動態鏈接庫(DLL),這里采用的是第三種,驅動程序流程圖如圖3所示。
程序采用Call Library Function Node(CLFN)節點調用動態鏈接庫。打開驅動需要調用的是AC_OpenDriver函數,CLFN節點在調用時就已經指定了具體的動態庫,因此程序在打開驅動前不需要再加載庫文件。
在初始化、獲得插卡數和識別ID這一步需要調用的是AC_6010_INIT函數。其輸入參數有兩個,一個為AC_OpenDriver輸出的句柄,另一個為數組指針。在調試時可以發現程序運行到這里總會彈出一個錯誤對話框,提示LabVIEW的內存出現問題,這是由于LabVIEW沒有內存指針引起的。為了解決這個問題,就必須用C++另編一個動態庫完成對這個調用后再被LabVIEW調用。
在采樣或輸出環節中,可以調用int AC_6010_AD、int AC_6010_DI或int AC_6010_DO函數進行模擬、數字量的采集或數字量的輸出。由于采集卡沒用D/A功能,不能輸出模擬量。數據采集可以采集一次也可以采集多次,如示波器程序就可以做一個循環進行多次采集。最后在結束程序之前調用AC_CloseDriver關閉驅動。
5. 虛擬儀器設計
5.1 信號發生
可以在兩個通道分別產生正弦波、方波、三角波、鋸齒波、白噪聲、隨機信號、高斯白噪聲、直流信號和自定義信號七種,以及他們之間的合成信號,參數可以自己定義,但必須滿足采樣定理。產生的信號可以用線性和對數兩種方式現實,也可以對其進行局部放大等操作。
5.2 信號采集與輸出
能夠對多個通道信號進行采集或輸出,采樣頻率要求滿足采樣定理。對于AC6010采集卡來說,信號采集或輸出都必須配合驅動程序而完成,驅動程序是LabVIEW與采集卡之間通信的一個接口。設計采集程序時可以先由AI Config.vi指定使用的采集卡和通道,AI Start.vi啟動掃描,并將得到的數據放入緩存,AI Read.vi從計算機的緩存中讀取數據,最后再由AI Clear.vi停止數據采集過程,并釋放緩存和板上的資源。在循環采集或輸出時,將程序置于循環結構中即可。
5.3 信號分析與處理
可以對信號進行時域、頻域分析,如自相關分析,傅里葉變換,功率譜分析、聯合時頻分析、數字濾波、波形參數分析等。在LabVIEW中有不少專門分析處理信號的vi,如利用FFT.vi可以做單邊和雙邊的傅里葉變換,用AutoCorrelation.vi對信號進行子相關分析等等。如圖4為200Hz,幅值2伏正弦波的單邊傅里葉變換,圖5為其程序。
6. 總結
該系統可以對學生實驗數據進行采集、分析和處理等,使學生可以看到書本上沒有的各種信號的分析,以及不同處理的結果,從而學到更多的知識,并對課上的內容進一步加深理解。此次設計是基于虛擬儀器技術的,系統具有一下優勢和特點:
1.界面友好,使用方便。LabVIEW提供了快速的G語言編程方式,使用戶的開發變得容易且界面的各種控件與實際儀器面板非常相似。
2.功能強大。系統包括信號發生、采集、分析、處理、存儲等多種功能。
3.系統維護簡單、擴展功能方便。使用軟件替代了傳統儀器設備,系統安全可靠,且大大降低了系統成本。在為設備升級時也不需要淘汰以前的儀器,只需做簡單的更新軟件即可。
然而由于條件限制,該系統存在著許多缺點有待改進和完善:
1.本次設計中,采用的數據采集卡的采樣頻率比較低,沒有模擬輸出功能。一方面影響著采集信號的準確性。另一方面,由于沒有模擬輸出功能,在實驗的設計上也不能采用自動模式,而只能一步一步地手動操作,然后采樣。
2.本次設計中虛擬儀器軟件的控制還可以采用菜單結構,使界面更加簡潔。
參考文獻
[1] 楊樂平,李海濤,趙勇等LabVIEW高級程序設計 清華大學出版社 2003年4月
[2] 侯國屏,王