補星瑩,阮炳鑫,邵李煥
(杭州電子科技大學電子信息學院,浙江杭州,310018)
導納分析儀可以用于電阻、電容、電感以及組合電路的測量。在實際生活生產設計中,一些器件無法從外形判斷阻抗值,這就需要一個導納測試系統對其導納值進行測試,分析其在所用頻段的導納特性,便于下一步生產應用。導納分析儀在電化學、儀器儀表、生物醫學和電路傳輸系統等領域有著廣泛的應用[1-3]。導納分析儀還可用于教育行業,輔助教學實驗系統,成為遠程操控實驗平臺的重要系統之一。學生可通過導納分析儀測量阻抗值,選取電路實驗所需的基礎元器件,實現遠程操作實驗[4]。
隨著電子信息的不斷發展,導納分析方法已從傳統的模擬方法演變到數字信號處理的方法[5]。本文基于FFT算法,設計了STM32單片機的簡易網絡導納分析儀系統,實現了被測網絡的導納、阻抗、相位角、幅頻特性和相頻特性的準確測量。
簡易導納分析儀系統總體設計如圖1所示。將標準阻抗和待測阻抗串聯,采用STM32F103ZET6單片機DAC模塊作為控制單元產生掃頻信號,輔以按鍵控制實現100Hz-10kHz范圍調頻的正弦信號,可以100Hz步進實現連續掃頻輸出和點頻測量。正弦激勵信號從A點輸入,通過高速同步ADC采樣A、B兩點電壓信號[6],ADC采樣頻率為信號基波頻率的整數倍,滿足Nyquist采樣定理,避免了頻譜泄露。由STM32單片機進行數據處理,利用快速傅里葉變換算法(FFT)獲得電壓矢量值[7]。最后通過A、B兩點電壓矢量比例與標準電阻阻值,計算得到待測阻抗Zx。由LCD液晶屏顯示導納、導納模、導納角、幅頻特性數值和相頻特性曲線。

圖1 簡易導納分析儀系統設計總體框圖
測試電路總體設計如圖2所示。

圖2 測試電路
使用 DAC 產生正弦波時,原理為:按一定時間間隔輸出正弦曲線上的點。產生的波形非連續,在示波器上可以看到波形不夠光滑。因此在單片機DAC輸出端和系統激勵信號輸入端之間增加濾波電路以獲得更加光滑、標準的正弦波。實踐后發現,濾波后波形幅值削減嚴重。所以最后的方案不再使用濾波電路,該過程對測量精度幾乎沒有影響。
本電路使用了四個跟隨器。選用TI公司的OPA2365芯片,該運放為單電源供電且輸入/輸出滿足軌到軌(rail-torail),具有較大的壓擺率,較寬的增益帶寬。從左至右,第一個跟隨器用來跟隨單片機的DAC輸出,增強正弦波的驅動能力。中間兩個跟隨器與標準電阻和測試電阻相連,用來跟隨A、B兩點的待測電壓,可將輸入阻抗變高、輸出阻抗變低,使得ADC采樣與輸入激勵信號互不影響。最后一個跟隨器用來跟隨VDD/2的電壓,抬升待測電阻后端的電平的同時,隔離了分壓電阻對測量精度的影響,使ADC所測正弦信號始終保持在0~3.3V的可測范圍內,解決了電路由導納特性變化產生負電壓而造成ADC采樣缺失的問題。
電源設計如圖3所示。直接通過AMS1117-3.3降壓芯片輸出3.3V的直流電壓,電路簡潔、實用方便。

圖3 電源設計
為了增強系統的整體性,在電路設計的時候增加了按鍵控制接口以及LCD屏幕顯示接口,通過3.3V與5V集中供電。核心板與LCD屏幕顯示電路如圖4所示,獨立按鍵電路如圖5所示。

圖4 核心板與LCD屏幕顯示電路

圖5 獨立按鍵電路
軟件設計總體流程如圖6所示,采用C語言編寫,基于STM32F103單片機,用IDE軟件keil5進行仿真與調試。總程序由鍵盤服務模塊、ADC模塊、DAC模塊、FFT運算模塊、顯示服務模塊、ADC采樣數據解析模塊子程序構成。

圖6 軟件設計總體流程圖
DAC設計流程圖如圖7所示,STM32F103單片機帶有兩路DAC,可配置為8位或12位,并與DMA控制器配合使用。模擬輸出電壓為0到VREF+(0~3.3V),輸出信號頻率可由定時器2的TRGO事件觸發控制。目標要求:頻率范圍為100Hz~10kHz,最小步進100Hz,可連續掃頻輸出。設置輸出正弦信號頻率為f0,一個周期64個取值點,則DAC觸發頻率為f0*64。

圖7 DAC設計流程圖
ADC采樣設計如圖8所示,STM32F103單片機帶有三路ADC,具有12位分辨率,可與DMA控制器配合使用。ADC的模擬輸入電壓為VREF-~VREF+(0~3.3V),設計輸出信號頻率由定時器的TRGO事件控制。雙DAC處于同步規則模式,同步觸發ADC1和ADC2進行采樣,獲得采樣標準電阻和待測阻抗器件的電壓,以實現采樣到的兩電壓值無采樣相位偏移[8]。且采用此方法可以實現基波頻率和采樣頻率的關系均可程控的優點,可任意控制FFT基頻點的位置,方便調整采樣關系。設置ADC采樣頻率fs為基波頻率f0的16倍。將ADC采樣的兩路數據分別保存在數組內,做256點FFT后,得到頻域的電壓矢量。基頻信號所對應的序列點N、采樣頻率fs和基波頻率f0的對應關系為:

圖8 ADC采樣設計流程圖

N為快速傅里葉變換后的序列點,范圍為0~256。通過固定fs=16*f0的倍數關系,確定取FFT序列點N=16為基波頻率點,該點的實部和虛部數據即為待測點的電壓數據。
激勵信號由A點輸入,ADC采樣A、B兩點的波形,經過FFT運算后,取N=16,得到待測電壓分別為
求導納可先求阻抗,再進行轉換。待測阻抗和標準阻抗的對應關系為:

引入所測A、B點電壓的實部和虛部:

故導納為:

即系統所需參數的計算公式為:

選用4.3寸LCDTFT液晶屏顯示測試數據、采樣波形。通過按鍵控制系統進行頻率調節和顯示界面切換。實時顯示采樣波形有利于直觀地觀察A、B 兩端口的波形狀態,預估與驗證結果的正確性。按鍵判斷流程圖如圖9所示;LCD顯示流程圖如圖10所示。

圖9 按鍵判斷流程圖

圖10 LCD顯示流程圖
測試儀器如表1所示。使用MCO5102數字示波器觀察并測量。首先測試單片機DAC輸出口產生的正弦波是否符合要求,經過第一個跟隨器后電壓幅度、相位是否正確。滿足以上要求后,檢測標準電阻前級電壓通過跟隨器后是否正常,觀察接入待測導納網絡時標準電阻后級電壓經過跟隨器的輸出波形。然后在示波器上觀察前、后波形幅度和相位的變化,通過計算驗證波形是否符合理論。確保ADC測得的數據無誤后,在STM32單片機中進行處理。最后通過電橋測得高精度的待測元件導納數值,與本系統設計的導納儀所測數據進行比較,得到最終結果。

表1 測試儀器
導納測試儀所測數據結果如表2所示。利用單片機DAC外設作用信號源,可產生頻率為100~10kHz的正弦信號,輸出的信號電壓峰—峰值為1V,誤差的絕對值小于10mV;所測電導、電納、導納模誤差的絕對值小于理論值的5%;所測導納角的誤差絕對值小于理論值的3%。

表2 導納測試儀所測數據
系統實物圖如圖11所示。本系統基于STM32單片機以及簡易的外部電路,實現了導納分析功能。所測數據既可用數字方法讀取,也可用圖形方式顯示。本系統采用單片DAC外設代替DDS芯片以產生近乎連續的頻率點掃描信號。利用STM32單片機的雙ADC同步采樣以及DSP為核心的實時算法,獲得待測導納的實部和虛部數值。在數據處理方面,采用排序取平均等方法穩定數值,做浮點類型數據的FFT運算是我們獲得優良指標的關鍵。系統最后采用4.3寸LCDTFT液晶屏顯示導納、導納模、導納角、幅頻特性和相頻特性曲線。

圖11 系統實物圖
本系統簡化了電路設計,提高了系統的抗干擾能力和測量精度,價格低廉,便攜性更好,對生產的可指導性強。本系統還具有特有的數據圖形化顯示和人機交互界面,使得測量自動化程度高。該導納分析儀可以成為分析元件和材料的得力工具,使得導納分析儀的整機性能和性價比都較傳統儀器有很大的提高。此系統也可以與物聯網平臺結合,應用于遠程操控實驗平臺,輔助實驗基礎元器件的選型。
本系統的不足之處在于:在FFT運算方面,我們實際上只需要其中特定點的數據,但卻對256個點進行了FFT運算,導致程序的運行效率不高。希望在未來可以進一步優化算法,簡化運算量的同時擴大FFT運算點數,實現更高效、更精確的測量。