虛擬數(shù)字交流電壓表設(shè)計
一、實(shí)驗(yàn)?zāi)康?/b>??????????
1. 了解交流數(shù)字電壓表的測量原理。
2. 掌握交流電壓測量的基本方法。
3.掌握虛擬交流電壓表的LabView軟件設(shè)計。
4. 測量數(shù)據(jù)的誤差分析。
二、實(shí)驗(yàn)內(nèi)容
?? 1.設(shè)計一個虛擬數(shù)字交流電壓表界面和軟件,符合以下要求:測量電壓范圍峰值100mV~25V, 頻率1Hz~100KHz,可測量正弦波、三角波、方波信號的峰值、有效值、平均值,可對多種波形的信號進(jìn)行測量,如正弦波、方波、三角波等。
?? 2. 使用設(shè)計的交流電壓表測量正弦波、三角波、方波信號的幅值。
三、實(shí)驗(yàn)器材
1. 計算機(jī) 1臺
2. SJ-8002B電子測量實(shí)驗(yàn)箱(817V4.5)?。迸_
3. SAMPO(FG1617)函數(shù)信號發(fā)生器(1Hz~1MHz) 1臺
4. TEK(TDS2012)雙蹤示波器(20MHz以上的模擬或數(shù)字示波器) 1臺
四、實(shí)驗(yàn)原理
1.交流電壓測量方法
??? 傳統(tǒng)的交流電壓測量技術(shù),大都是采用把交流電壓變換成直流電壓(AC/DC變換)后進(jìn)行測量,即交流電壓通過檢波器后測量其直流電壓或電流。由于直流電壓及電流測量準(zhǔn)確度可做的很高,因此交流電壓測量的準(zhǔn)確度在很大程度上取決于檢波器的性能。使用檢波器類型不同,有峰值,均值,有效值方式的電壓表,各種方式的電壓表對不同的交流電壓波形(如正弦波,三角波和方波)的響應(yīng)不同,欲測量電壓,往往有波形影響的誤差。
??????????
?? ?????????? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖1
??? 一個交流電壓的大小,可以用有效值U,峰值,平均值等表征,若被測電壓的瞬時值為,則
?? 全波平均值為
????????????? ????? (1)
?? 有效值為
? ?????????? ? (2)
?? 波形因數(shù)為??? ?????????? (3)
?? 波峰因數(shù)為?? ?????????????? ?? (4)
?? 幾種典型電壓波形的U、、之間的換算關(guān)系見表1。
???????? ??????????? ???????????? ???????? ??????? 表1
波形 測量值 |
正弦 |
方波 |
三角 |
有效值 |
A-1 |
A-3 |
A-4 |
峰值 |
A-1 |
A-3 |
A-4 |
平均值 |
- |
-3 |
A-4 |
??? 本實(shí)驗(yàn)采用了與傳統(tǒng)方法完全不同的交流電壓測量的方法,它基于高速的A/D轉(zhuǎn)換技術(shù)測量出交流電壓的波形瞬時值,傳給計算機(jī),由計算積按照式(1)~(3)進(jìn)行計算,得到交流電壓的各種特征值。
??? 本實(shí)驗(yàn)系統(tǒng)基于虛擬儀器構(gòu)建的流數(shù)字電壓表通過實(shí)驗(yàn)箱內(nèi)的數(shù)據(jù)采集來實(shí)現(xiàn)的。被測的模擬電壓通過數(shù)據(jù)采集得到的離散的數(shù)字信號,由PC機(jī)運(yùn)行虛擬儀器軟件按各種電壓的定義計算出被測電壓的有效值、均值或峰值。
??? 離散信號的電壓平均值及峰值的數(shù)學(xué)表達(dá)式如下所示:
?? 電壓有效值: ??????? ? ???? (5)
?? 電壓平均值: ?????? ???? (6)
? 電壓峰-峰值: ??????????? ????????? (7)
?? 在上面各式中,其中N為整周期倍數(shù)的采樣點(diǎn)總數(shù),VK為第K次采樣值。
?? 與傳統(tǒng)的模擬電壓表相比,被測電壓的瞬時值數(shù)據(jù)量化更實(shí)時準(zhǔn)確,而且很容易實(shí)現(xiàn)存儲、傳輸、處理等。在對交流電壓的測量,根據(jù)奈奎斯特采樣定理,采樣速率必須是信號最高頻率的兩倍以上,采樣頻率越高,時間軸上的信號分辨力就越高,所獲得的信號就越能反映原始信號的瞬時變化值。電壓測量的分辨率取決于A/D采樣器件的位數(shù)。
??? Ain1通道接入同樣的采樣時鐘,同時進(jìn)行轉(zhuǎn)換。轉(zhuǎn)換后的數(shù)據(jù)經(jīng)過緩沖器,送至SRAM鎖存。當(dāng)一次采集完成后,由主機(jī)讀回數(shù)據(jù),進(jìn)行進(jìn)一步的處理,如濾波、顯示等。
?? 數(shù)據(jù)寫入:AD9288在采樣時鐘CLK的控制下,將兩路輸入模擬信號數(shù)字離散為8bit數(shù)字信號經(jīng)過數(shù)據(jù)緩沖器送至SRAM。地址由同一個地址計數(shù)器提供,該地址計數(shù)器為加/減計數(shù)器(采集數(shù)據(jù)時遞增,讀取時遞減)。這樣,每次采集所得數(shù)據(jù)都會順利的存入SRAM中。
2.交流電壓表的相關(guān)參數(shù)
?? 下面主要介紹一下每個電壓表的檔位對應(yīng)的通道增益放大倍數(shù),由于此電壓表分為了6檔,因此對應(yīng)的關(guān)系如下表所示。
????????????????????????????????????????????????表2
DIV序號 div |
2 |
5 |
6 |
7 |
8 |
9 |
峰值量程 |
0.1 |
1 |
2.5 |
5 |
10 |
25 |
通道總增益理想值 |
5 |
0.5 |
0.2 |
0.1 |
0.05 |
0.02 |
?? 由于選用的A/D輸入范圍為1V,再考慮適當(dāng)?shù)倪^載的情況的話,
??? 以及對應(yīng)的秒格序號(總的采集點(diǎn)數(shù)5000點(diǎn)):
???????????????????????????????????????????????? 表3
秒格序號 |
1 |
7 |
12 |
15 |
18 |
秒格范圍(Hz) |
1k~1M |
10k~100k |
1k~10k |
100~10k |
1~100 |
?? 選用這些秒格序號的原因是,設(shè)采樣頻率為fs,總采樣點(diǎn)數(shù)為N,被測信號頻率為fx,則被測信號每周期采樣點(diǎn)數(shù)M=fs/fx,總的采樣點(diǎn)數(shù)為N時,信號周期數(shù)K=N/M=Nfs/fx.測量時,采樣的周期數(shù)>2,每周期采樣點(diǎn)數(shù)>100為好。
五 設(shè)計指導(dǎo)
??? 本實(shí)驗(yàn)基于“SJ8002B電子測量實(shí)驗(yàn)箱”的高速數(shù)據(jù)采集和基于PC機(jī)的虛擬儀器軟件平臺(LabView)構(gòu)建,實(shí)現(xiàn)交流信號電壓和波形的測量,完成“虛擬存直流電壓表”的設(shè)計。SJ8002B的采集通道性能的控制。
?? 1.功能與前面板設(shè)計
?? 虛擬直流電壓表主要完成的是對信號發(fā)出的數(shù)據(jù)的采集和處理,并將其顯示在LabView的前面板上。因此,在虛擬直流電壓表的前面板上需要有峰值量程,頻率范圍,三組電壓值顯示,電壓值的指針顯示,采集波形顯示,量程和頻率出錯判斷。。根據(jù)SJ8002B高速數(shù)據(jù)采集的性能指標(biāo),我們使用了峰值量程的其中的六個檔位,分別為:100mV,1V,2.5V,5V,10V和25V,頻率范圍分為了:1Hz-100Hz,100Hz-1KHz,1KHz-10KHz,10KHz-1MHz。此外,界面上還有運(yùn)行和退出控件,主要是執(zhí)行測量電壓值的控制和退出面板的控制。
軟件流程如下所示:
??????? ???
??? 啟動虛擬儀器labview軟件開發(fā)環(huán)境,建立新的工程文件,打開front Panel設(shè)計界面,并存儲,由界面文件自動生成相關(guān)流程圖框架。
?? 本程序用到的前面板控件有:
???? ??? ?? ??? ??? ??? ?? ??? ??? ?? ??? ?? 表 4
控件類別 |
控件名稱 |
位置 |
注釋 |
指示類 |
峰值顯示 |
Controls>numeric>indicators |
用于顯示峰值 |
有效值顯示 |
用于顯示有效值 | ||
平均值顯示 |
用于顯示平均值 | ||
波形顯示 |
用于顯示采集波形 | ||
電壓值指針顯示 |
用指針顯示三類電壓值 | ||
超量程顯示 |
用于顯示超量程出錯 | ||
欠量程顯示 |
用于顯示欠量程出錯 | ||
頻率錯顯示 |
用于顯示頻率出錯 | ||
測量控制類 |
峰值量程選擇 |
Controls>numeric control>dial |
用于控制峰值量程 |
頻率范圍選擇 |
用于控制頻率范圍 | ||
程序控制類 |
開始/停止 |
Buttons>OK Button |
控制程序的開始與停止 |
退出 |
Buttons>Stop Button |
控制退出程序面板 | |
面板裝飾類 |
面框 |
All controls-decorations |
使得面板更加美觀 |
?? 3 動態(tài)鏈接庫的調(diào)用
??? 本程序設(shè)計的主要實(shí)現(xiàn)已經(jīng)做成底層fp函數(shù)(用Labwindows/CVI實(shí)現(xiàn)),在程序?qū)崿F(xiàn)時可直接調(diào)用實(shí)驗(yàn)箱提供的驅(qū)動函數(shù)動態(tài)鏈接(即.dll函數(shù)),驅(qū)動函數(shù)原型及常數(shù)和變量在control_channel.prj中。程序設(shè)計時,應(yīng)加入動態(tài)鏈接control_channel.dll。
?? 實(shí)現(xiàn)虛擬直流電壓表的驅(qū)動函數(shù)如表5所示:
??????? ???????????????????? ??????????????? 表 5
Fp函數(shù) |
實(shí)現(xiàn)功能 |
輸入?yún)?shù) |
輸出參數(shù) |
返回值 |
動態(tài)鏈接圖標(biāo) |
Void epp_init(void) |
初始化EPP端口 |
無 |
無 |
無 |
|
Void div_control (int div, double *gain, unsigned char *div_cw) |
采集通道增益控制 |
Div:伏格序號 |
Gain:該伏格的通道增益量 |
無 |
|
Void DC_control (int sampling_channle,int DC_code) |
直流偏置設(shè)置 |
Sampling_channel采集通道(控制序號為0,1) |
無 |
無 |
|
Void timebase_control (int timebase, unsigned char *fr_cw, double *show_pots,double *sampling_fr) |
采集時基控制 |
Timebase:秒格序號 |
Fr_cw:采集時鐘控制字 |
無 |
?? 動態(tài)鏈接調(diào)用舉例: int led_display(double display_data):
?? 在block panel中點(diǎn)擊右鍵:All functions>Advanced>Call library function node.
???????????????
???????????????????? ??? ?????????? 圖 2
?
雙擊圖圖標(biāo),將出現(xiàn)如圖3所示
????????????????????????? ????? 圖 3
?? 此時可根據(jù)調(diào)用函數(shù)的路徑,參數(shù)及名稱進(jìn)行設(shè)置進(jìn)行得
???????????????????????????????? ??? ??? ??圖 4
??? 這樣就完成了動態(tài)鏈接的調(diào)用及設(shè)置。
?? 4. 子VI的編寫與調(diào)用
??? 本程序除了調(diào)用了動態(tài)鏈接庫以外還編寫并調(diào)用了多個子VI,使得整個程序更加的緊湊和完善,子VI編寫過程和整個程序的編寫都是相同的。但不同的是在子VI的程序做好后要對其做輸入和輸出的引腳,以便在調(diào)用子VI的時候就能夠方便的進(jìn)行程序的編寫。本程序在編寫中主要調(diào)用了以下的幾個子VI程序,如表6
???????????????????????????????????????????????????? 表 6
Fp函數(shù) |
實(shí)現(xiàn)功能 |
輸入?yún)?shù) |
輸出參數(shù) |
返回值 |
注釋 |
sampling (unsigned char coupling1_cw, int div1, int DC1_code,unsigned char coupling2_cw, int div2, int DC2_code,int timebase, unsigned char tri, int sampling_points,int Panel_Handle, int stop_ID,unsigned char ain1_data[], unsigned char ain2_data[],double *show_pots); |
在虛擬交流電壓表上對采集的波形的顯示以及得到的數(shù)據(jù)送出進(jìn)行數(shù)據(jù)的處理 |
coupling1_cw,coupling2_cw :Ain1,2通道耦合方式控制字(01表示交流耦合,00表示直流耦合)。 |
ain1_data[]Ain1的采集值 ain2_data[]Ain1的采集值;采集的數(shù)據(jù)的類型是U8,即8位無符號整形 |
Err: |
|
processing_data (unsigned char data[],int points,unsigned char coupling_cw,int div,int timebase, double *signal_fr,double *vp, double *vm, double *ve); |
進(jìn)行數(shù)據(jù)的處理,并輸出相應(yīng)所求的值 |
data[] 采集的數(shù)據(jù) |
signal_fr 信號頻率Hz |
Err: |
|
Void process_vs_AC (unsigned char data[], int n, int m,int div, double *vp,double *vm, double *ve) ; |
用于計算交流耦合方式下峰值、均值和有效值 |
data[] :信號數(shù)據(jù) |
Vp :峰峰值 |
無 |
|
Int amp_OK(unsigned char data[],int points, unsigned char v_min) |
主要用于判斷電壓表讀數(shù)是否超量程、欠量程等情況 |
data[] :信號數(shù)據(jù) |
? ? 無 |
0: OK,伏格選擇合適2 :增益太大,應(yīng)增大伏格序號(div),以減小通道增益 |
? ? ? |
六、實(shí)驗(yàn)步驟
?? 1. 采用實(shí)驗(yàn)箱提供的虛擬交流電壓表進(jìn)行測量的步驟如下:
? (1)按圖5所示各輸入輸出接頭連接實(shí)驗(yàn)系統(tǒng)。
? (2)測量內(nèi)部DDS信號源輸出的交流電壓:
?
?
?
? ? ???? ?? ???? ?? ??? ???? ??????????? 圖 5
????????????
??? 交流數(shù)字電壓表的輸入信號有兩種接法:(1)測外部信號發(fā)生器輸出的交流電壓,如圖5所示的①,由外部的信號發(fā)生器連接Ain1的BNC插頭;一種是如圖5所示的②,由實(shí)驗(yàn)箱內(nèi)的信號源Aout1(或者Aout2)連接實(shí)驗(yàn)箱內(nèi)的采集通道輸入Ain1的BNC接頭;同時可用示波器監(jiān)測輸入信號的幅度和頻率,以便對測量結(jié)果進(jìn)行對照和比較。
?? 軟件調(diào)試:
?? 首先對軟件的功能性測試,可以看到面板上有三組指示燈,超量程、欠量程和頻率出錯的指示。在這里可以分別對三組指示等分別測試功能是否正確。
?? 對超量程,首先輸入一個較大的信號,如5V峰值的正弦波,而虛擬交流電壓表則選擇幅格低于5V的檔位來進(jìn)行測量,這時可以看到超量程的指示燈亮起,這就說明這個軟件實(shí)現(xiàn)了超量程判定的功能。
?? 同理,對于欠量程功能的判定,我們也可以選取一個400mV的正弦信號,而幅格則用5V/div的檔位。這時如果欠量程的指示燈亮起,則說明欠量程測量功能實(shí)現(xiàn)。
?? 對于頻率出錯,我們可以選用一個5KHz的電壓,而頻率范圍我們則選用在非5KHz的范圍,則可以看到頻率出錯指示燈亮。這時說明這個功能也成功實(shí)現(xiàn)。
?? 然后按照交流電壓表實(shí)驗(yàn)運(yùn)行交流電壓表程序進(jìn)行電壓值的測量.
?? 2. 使用如圖6所示虛擬交流數(shù)字電壓表的面板,進(jìn)行測量操作。
?????????????????????????????????????? 圖6 ? 虛擬交流數(shù)字電壓表面板
??? 使用說明:
- 選擇合適的量程:“峰值量程”提供了100mV/1V/2.5V/5V/10V/25V六種.應(yīng)根據(jù)被測電壓大小選用合適量程。當(dāng)被測電壓未知時,應(yīng)選用大的量程測量后,根據(jù)初測值換用對應(yīng)量程。
- 選擇適當(dāng)?shù)念l段范圍:被測頻率的范圍包括 “1Hz~100 Hz”、“100Hz~1kHz”、“1kHz~10kHz”和“10kHz~100k Hz”,”100kHz~1MHz”。
- 采集波形的顯示
- 電壓值指針和數(shù)字顯示,這些都是根據(jù)波形顯示計算出來的。
? 3.交流電壓表實(shí)驗(yàn)
表7
波形 |
有效值 |
峰值 |
平均值 | ||||||
參考值 |
測量值 |
誤差 |
參考值 |
測量值 |
誤差 |
參考值 |
測量值 |
誤差 | |
正弦 |
? |
? |
? |
? |
? |
? |
? |
? |
? |
三角 |
? |
? |
? |
? |
? |
? |
? |
||
方波 |
? |
? |
? |
? |
? |
? |
? |
? |
? |
?
?????????????????
?????????????????????????????????????????????? 圖? 7
??????????????????
???????????????????????????????????????????????? 圖8
?????????????????
? ?? ???????? ??????? ???????????????? ??? 圖 9
? (2) 由外部信號源輸出不同頻率、峰值為1V的正弦(三角波、方波)電壓信號,用虛擬交流數(shù)字電壓表測量其有效值、平均值,并與理論值比較做誤差分析,并將測量和計算結(jié)果填入表8
?????????????????????????????????????????????????????????? 表8
正弦波頻率 |
50 Hz |
500 Hz |
5kHz |
50kHz |
500kHz |
1MHz | |
有 |
參考值 |
? |
? |
? |
? |
? |
? |
測量值 |
? |
? |
? |
? |
? |
? | |
誤差 |
? |
? |
? |
? |
? |
? |
?????????????????
?????????????????????????????????????????? 圖 10
????????????????????????????????????????????????????? ?????? 表9
正弦波幅度 |
500 mV |
1V |
2V |
4V |
8V | |
有 |
參考值 |
? |
? |
? |
? |
? |
測量值 |
? |
? |
? |
? |
? | |
誤差 |
? |
? |
? |
? |
? |
- 電壓表(38070)
評論
查看更多