李加升,熊 潔,陽 磊
(湖南城市學院 信息與電子工程學院,湖南 益陽 413000)
在電路中,電流信號是一個重要標志,對它進行準確檢測是判斷電路性能的重要依據(jù).而在對這些電流信號進行檢測時,由于電路的復(fù)雜性和不穩(wěn)定性,往往很難達到所需要的精度.對電流信號檢測技術(shù)及設(shè)備進行研究和探討具有重要意義,如何有效精準地檢測電流信號是電子領(lǐng)域的一個難題[1-2].電流信號的應(yīng)用范圍很廣,在教學、科研、實驗和生產(chǎn)實踐中都存在大量交、直流以及各種波形的電流信號.目前,人們獲取這些電流信號,一般是通過電流傳感器等設(shè)備來實現(xiàn)的,它能夠檢測出被測電流信號的信息,并將檢測到的復(fù)雜、無規(guī)則的信號通過一定規(guī)律進行轉(zhuǎn)換,使之成為符合一定標準的電氣信號或其它形式的信號輸出,來實現(xiàn)參數(shù)的測量與分析[3].
近年來,隨著科技的發(fā)展,對電流信號檢測的需求越來越迫切,傳統(tǒng)的電磁式檢測設(shè)備已經(jīng)無法滿足需要,出現(xiàn)了非接觸式的基于單片機的電流傳感器[4-5].本文主要以STM32 為主控芯片對電流信號檢測裝置進行設(shè)計和探討.
電流信號檢測裝置結(jié)構(gòu)如圖1 所示,系統(tǒng)主要由任意波形信號發(fā)生器、功率放大電路、電流傳感器、運算放大電路、輔助電源、STM32 模塊和LCD 顯示模塊等組成.由任意波形發(fā)生器產(chǎn)生信號,功率放大后接入10 Ω 電阻負載,形成電流回路,使回路通過用漆包線繞制的電流傳感器,從而實現(xiàn)對電流信號的非接觸式檢測.傳感器獲 得的信號經(jīng)運算放大電路調(diào)理放大后,最后由STM32 處理與控制,經(jīng)顯示模塊將電流信號的電流峰值和頻率等參數(shù)顯示出來.電流傳感器采用漆包線手工繞制而成,可根據(jù)電路設(shè)計需要,改變漆包線的粗細、大小、線圈繞制匝數(shù)和磁芯材質(zhì),以滿足測量電路要求.其繞制方法簡單,成本低,易于實現(xiàn),也便于操作.功率放大電路選擇TDA2030A,它是一款單片功率放大器,采用了先進的電路技術(shù),具備很強的處理能力[6].它還具有體積小、輸出功率大和失真小等特點,并具有內(nèi)部保護電路,其輸出的電流能滿足本設(shè)計要求.運算放大電路選用AD623,它是一種低成本、高精度的儀表放大器[7],需要一個外部電阻來設(shè)置增益系數(shù),其增益范圍大,可以采用單電源供電,屬于軌到軌運放,很適合集成并在低功耗放大器中應(yīng)用,信號放大后基本無失真,符合本設(shè)計要求.
圖1 系統(tǒng)總體結(jié)構(gòu)
功率放大器采用TDA2030A,它可以實現(xiàn)電流和電壓的放大,一級為電壓放大,二級為電流放大[8].根據(jù)設(shè)計要求,應(yīng)使電壓增益為1,其電流有效值和功率的計算式為
其中,Irms為電流有效值;Ipp為電流峰峰值;P為功率;R 為負載電阻.
電流傳感器由初級線圈、次級線圈和磁芯組成,初級線圈通過主電路從磁環(huán)中連接而過(線圈匝數(shù)為N1,電流為I1),次級線圈為錳芯磁環(huán)繞制的漆包線(匝數(shù)為N2,電流為I2),電流互感器的變流率K 為 次級線圈電流為
磁環(huán)感應(yīng)電流轉(zhuǎn)換成電壓信號后,先進行AD 采樣,再經(jīng)過傅里葉變換把時域信號轉(zhuǎn)換成頻域信號,可得到頻率和振幅,最后經(jīng)過多次測量比較,轉(zhuǎn)換成幅度系數(shù).
離散傅里葉變換(DFT)是指傅里葉變換在時域和頻域都是離散的,它將信號在時域的采樣轉(zhuǎn)換為在頻域的采樣[9-10].雖然變換兩端(時域和頻域)的序列長度在形式上有一定的限制,但在實際應(yīng)用中,應(yīng)將這2 組序列視為離散周期信號的主值序列.即使對有限長度的離散信號做DFT,也應(yīng)將其視為經(jīng)過周期延拓后的信號(周期信號)再作變換.為提高DFT 的計算效率,實際工程中常采用快速傅里葉變換(FFT).因此,本設(shè)計選用STM32 主控芯片進行FFT 分析.
采用FFT 算法對采樣數(shù)據(jù)進行分析,比較采樣數(shù)據(jù)的頻率、幅值、基波或諧波等參數(shù).三角波的傅里葉級數(shù)形式見公式(5),方波的傅里葉級數(shù)形式見公式(6),由此也可得到相應(yīng)波形參數(shù).
其中,A 為三角波幅值;E 為方波幅值;n 取1、3、5 等奇數(shù);L 為常量.
對各點進行FFT 分析之后,可得出各點的頻率值,再通過進一步分析,即可得到基波和諧波的頻率和峰值.
根據(jù)設(shè)計要求,一是輸入信號的頻率應(yīng)為50~1 000 Hz,且信號不能失真;二是流過負載電阻的電流峰值應(yīng)大于1 A.若欲達到該要求,輸入較寬的頻率范圍信號,同時還不能失真,功放電路中的芯片選擇就顯得非常重要,如果選擇的功放芯片精度達不到,就會出現(xiàn)各種各樣的意外結(jié)果.設(shè)計采用TDA2030A,連接10 Ω 負載,形成閉合回路,功率放大電路如圖2 所示.
圖2 功率放大電路
當通電的導線穿過采用漆包線繞制而成的電感線圈時,線圈兩端就會輸出感應(yīng)信號.無鐵芯電感線圈又稱中空線圈,線性度好,易校準,瞬態(tài)反應(yīng)能力強,可用于中高壓保護;其可測電流頻率較寬(0.1 Hz~1 MHz)、范圍大(1 mA~1 MA),還可以用來測量諧波.
若想準確還原被測電流,須在電磁感應(yīng)裝置后面加一個運算放大電路.因為電流信號經(jīng)過線圈感應(yīng)后輸出的信號較小,需經(jīng)過運算放大才能供單片機采集.AD623 直流性能出色,失調(diào)電壓小,共模抑制比隨增益同步增大,誤差極小,噪聲低且抗干擾,其電路結(jié)構(gòu)如圖3 所示.
圖3 運算放大電路
AD623 是在傳統(tǒng)的三運放結(jié)構(gòu)基礎(chǔ)上改進的一種新型儀表放大器,它的增益調(diào)節(jié)可變,通過輸入信號作用到電壓緩沖器的PNP 晶體管上,會提供一個共模信號到輸入放大器,每個放大器接入一個精確的50 kΩ 的反饋電阻,來保證輸出增益可調(diào)節(jié).AD623 差分輸出為
其中,Vc和Vo分別為輸入和輸出電壓,V;Rg為反饋電阻,Rg=R1//R2,kΩ.
功率放大后的信號,經(jīng)漆包線制成的電流互感線圈,進一步經(jīng)運算放大,再經(jīng)AD 轉(zhuǎn)換,輸入STM32;STM32 采用改進的FFT 算法對信號進行分析和處理,并將信號參數(shù)輸送至LCD 顯示模塊,最終實現(xiàn)了電流信號的檢測和顯示.在Keil uVision 5 軟件上編程,調(diào)用STM32 的AD轉(zhuǎn)換庫和FFT 庫以完成軟件編寫;通過FlyMcu軟件寫入STM32.該模塊實現(xiàn)了對電流信號的檢測分析,并能顯示電流的幅值和頻率等信息.
所選用的STM32F405RGT6 主控芯片是帶有FPU 的32 位 Cortex-M4 CPU,支持所有ARM 單核的精確數(shù)據(jù)處理指令和數(shù)據(jù)類型,同時還具備睡眠、停止和待機3 種低功耗模式,能在節(jié)省CPU內(nèi)存的情況下快速計算,有內(nèi)置的ADC 轉(zhuǎn)換模塊,可以用FFT 算法對獲取的信號進行分析.
系統(tǒng)軟件設(shè)計采用 C 語言編程,運用ADC+DMA+定時器等模塊化結(jié)構(gòu).首先,定時器觸發(fā)ADC,后者再調(diào)用ADC 庫進行轉(zhuǎn)換;其次,由DMA 完成數(shù)據(jù)傳輸;最后,基于FFT 算法對采樣結(jié)果進行分析,以實現(xiàn)對基波電流的頻率、峰峰值、諧波頻率和諧波幅度等參數(shù)的測量與顯示.主程序流程如圖4 所示.
圖4 主程序流程
電流信號檢測裝置實物如圖5 所示.
圖5 電流檢測裝置
任意波形發(fā)生器選用ICL8038 信號發(fā)生器,它能發(fā)射正弦波、方波和三角波,完全滿足設(shè)計需求.上電后,先把排線插在輸出正弦波的接口,在所需范圍內(nèi)調(diào)節(jié)好頻率,連接負載,穿過電流互感線圈形成閉合回路;用示波器測量檢測電流大小,并調(diào)節(jié)至大于1 A 的要求,觀察波形有無失真;檢測感應(yīng)線圈的信號,測出電流信號的峰峰值和頻率;重復(fù)進行多組測量,并計算精度.
輸入非正弦波信號,控制基波頻率范圍為50~200 Hz,連接已寫好程序的STM32,觀察LCD顯示的諧波頻率和幅度,計算測量精度.
1)將信號發(fā)生器輸出的振幅值設(shè)為100 mV,頻率分別設(shè)為50,500 和1 000 Hz,在輸出端檢測輸出電流的大小,計算相對誤差.
2)使信號發(fā)生器產(chǎn)生頻率為50 Hz,振幅分別為0.1,5 和10 V 的脈沖波,檢測信號輸出點的電流大小和頻率,計算相對誤差.
3)非正弦電流信號測量時,輸入的幅值不變,頻率分別設(shè)為50,120 和200 Hz,測量基波和2次諧波的電流幅值,計算相對誤差.
5.3.1 頻率對電流測量結(jié)果的影響
控制輸入信號的幅值不變(100 mV),分別對頻率為50,500 和1 000 Hz 時的電流進行測量,測試結(jié)果如表1 所示.
表1 不同頻率下的電流測量結(jié)果及誤差
從表1 中可以看出,電流測量誤差在2%以內(nèi),達到了設(shè)計的精度要求.
5.3.2 幅值對電流測量結(jié)果的影響
保持輸入信號的頻率為50 Hz,分別設(shè)置其幅值為0.1,5 和10 V,對電流進行測量,測試結(jié)果如表2 所示.
表2 不同幅值下的電流測量結(jié)果及誤差
從表2 中可以看出,電流測量誤差在2%以內(nèi),滿足設(shè)計精度要求.
5.3.3 幅值對頻率測量結(jié)果的影響
輸入信號頻率給定為50 Hz,輸入信號幅值分別設(shè)為0.1,5 和10 V,對信號頻率進行測量,結(jié)果如表3 所示.
表3 不同幅值下的頻率測量結(jié)果及誤差
從表3 中可以看出,頻率測量誤差在1%以內(nèi),滿足設(shè)計精度要求.
5.3.4 非正弦波電流測試
輸入幅值不變、頻率分別為50,120 和200 Hz的非正弦電流信號時,測量輸出端基波和2 次諧波所對應(yīng)的電流幅值,結(jié)果如表4 所示.
表4 不同頻率非正弦電流信號測試結(jié)果及誤差
從表4 中可以看出,基波電流測量精度在2%以內(nèi),2 次諧波的電流測量精度5%以內(nèi),滿足設(shè)計精度要求.
本文設(shè)計并實現(xiàn)了一種基于STM32 的電流信號檢測裝置,它利用任意波形信號發(fā)生器產(chǎn)生的信號,經(jīng)功率放大后接入10 Ω 電阻負載,形成電流回路,并使回路通過漆包線繞制的電流傳感器,從而實現(xiàn)對電流信號的非接觸式檢測,再由STM32 主控和顯示模塊將電流信號的相關(guān)參數(shù)計算并顯示出來.用所設(shè)計的電流信號檢測裝置對給定電路電流的有關(guān)參數(shù)進行了測試,并與示波器、電流表和信號發(fā)生器等測量工具的所測參數(shù)進行了比較.結(jié)果表明,本裝置所測數(shù)據(jù)精度較高,各項指標均達到了較為滿意的效果.