1. 程式人生 > >用NI的數據采集卡實現簡單電子測試之5——壓控振蕩器的測試

用NI的數據采集卡實現簡單電子測試之5——壓控振蕩器的測試

圖片 max 運算放大器 image 電容 改變 理論 usb 延時

本文從本人的163博客搬遷至此。

為了展示連續信號采集的方法,以其外部觸發采集功能。我用運算放大器實現了一個最簡單的低頻壓控振蕩器(VCO),作為USB-6009采集的信號源。在LabVIEW下編寫的應用軟件的控制下,USB-6009同時采集VCO產生的兩路模擬信號。在波形圖控件中可以比較、觀測兩路信號的幅度和相位關系。另外,本例還將涉及USB-6009的外部觸發采集功能的編程方法。

一、壓控振蕩器電路

壓控振蕩器是指輸出頻率是輸入電壓函數的振蕩器。我用運算放大器實現的低頻壓控振蕩器如下圖所示:

技術分享圖片

圖1 用運放實現的壓控振蕩器(VCO)

第一眼初看圖1所示的電路,初學者一般覺得比較復雜,難以下手分析。分析這樣的復雜電路,一種可行的方法是從其中簡單的部分入手:

1、運算放大器OPS1A是一個電壓跟隨器,其作用是降低左側可變電壓生成電路(由RS10、RS11、R_CTL和CS1構成)的輸出阻抗,從而提供控制頻率的電壓VCO。

2、運算放大器OPS2B用於構成只會比較器。當其輸出高電平時,同相端的比較電壓在HALF_VCC(大小為VCC/2)到輸出高電平的1/3處;當其輸出低電平時,同相端的比較電壓在HALF_VCC到輸出低電平的1/3處。假設運放的輸出高低電平分別為VL和VH,其滯回區間在VL到VH的1/3到2/3之間。

3、OPS2B的輸出還控制了NPN晶體管VN的開關狀態。當VN被打開時,由於運放OPS2A的同相端和反相端的虛短,兩端的電壓都必須為VCO/2(RS1和RS2均分了VCO的電壓)。所以必然有恒定的電流(VCO/RS4 - VCO/RS3)經過反饋電容CS2流入電阻RS4,才能保證反相端的電壓恒定為VCO/2。在恒定電流的作用下,CS2右側的電壓將均勻上升到OPS2B構成的滯回比較器區間的上限——2/3高電平,此後滯回比較器將立即翻轉輸出低電平,並關閉晶體管VN。此時同樣為使OPS2A的同相端和反相端“虛短”,必然有恒定的電流(VCO/2RS3)流入反饋電容CS2。在此恒定電流的作用下,CS2右側的電壓將均勻下降到OPS2B構成的滯回比較器區間的下限——1/3高電平,此後滯回比較器將再次翻轉輸出高電平,並打開晶體管VN回到初始狀態。

上述過程周而復始重復的結果是:

1、從AI6得到幅度為1/3~2/3*(VH-VL)的三角波,上升時間為:

t1 =C*U/I=CS2*(VH-VL)/3*(VCO/RS4 - VCO/RS3)

下降時間為:

t2 =C*U/I=CS2*(VH-VL)/3*( VCO/2RS3)

由以上兩式可知,三角波頻率與VCO電壓大小呈負線性關系。

2、從AI2得到的是幅度為VL至VH的方波,其頻率和相位與AI6輸出的三角波完全對應。

二、外部觸發電路

為演示USB-6009的外部觸發功能,使用滯回比較器輸出的AI2信號作為外部觸發信號源。但為防止USB-6009的觸發輸入引腳PFI0對壓控振蕩電路的影響(造成VN無法關閉),我在AI6後增加了一級由三極管構成的緩沖,如圖2所示。

技術分享圖片

圖2 數據采集的外部觸發緩沖電路

編程時應註意這級緩沖具有反相的作用。

三、測試程序

測試程序的編寫思路是:

1、以同樣的采樣率連續采集一段數據;

2、讀取這段數據,並將它們顯示在波形圖控件上;

3、延時一段固定時間,以便用戶看清波形,返回第一步並重復。

程序框圖如圖3所示:

技術分享圖片

圖3 采集並顯示壓控振蕩器的程序框圖

對於外部觸發的采集,程序框圖如圖4所示:

技術分享圖片

圖4 使用外部觸發的采集程序框圖

圖4中增加了DAQmax開始觸發(數字邊沿)函數來實現外部觸發輸入功能。

四、程序運行結果

打開圖3所示的測試程序,得到圖5所示的測試波形圖。

技術分享圖片

圖5 測試壓控振蕩器的結果

可以看到測試得到的三角波和方波的幅度、相位等參數,與上面理論分析得到的結果完全一致。 還可以改變電位器R_CTL的阻值,觀測電壓控制頻率的現象。

未完待續……

用NI的數據采集卡實現簡單電子測試之5——壓控振蕩器的測試