任宏斌,冷建偉
(天津理工大學(xué) 天津300384)
基于STM32的交流電壓檢測
任宏斌,冷建偉
(天津理工大學(xué) 天津300384)
電壓信號(hào)采集是電子系統(tǒng)中常用的功能模塊,本文針對(duì)于交流電壓信號(hào)的采集,設(shè)計(jì)出了一種以STM32為核心的低功耗、高性能的交流電壓采集系統(tǒng)。系統(tǒng)使用運(yùn)算放大器對(duì)信號(hào)進(jìn)行跟隨,利用STM32中內(nèi)置的ADC對(duì)信號(hào)進(jìn)行模數(shù)轉(zhuǎn)換。實(shí)際運(yùn)行表明該設(shè)備操作簡單、技術(shù)指標(biāo)完全符合國家相關(guān)標(biāo)準(zhǔn),具有較好的應(yīng)用、推廣價(jià)值。
STM32;交流電壓;等相位采樣;CD4046
隨著我國經(jīng)濟(jì)的發(fā)展,各行業(yè)對(duì)電力的需求逐漸增長。因此,科學(xué)的對(duì)電力供應(yīng)進(jìn)行管理變?yōu)楫?dāng)前的主要任務(wù),電力參數(shù)的采集作為電力管理的基礎(chǔ)環(huán)節(jié),具有至關(guān)重要的作用。隨著電力系統(tǒng)的發(fā)展和完善,對(duì)電力數(shù)據(jù)采集系統(tǒng)的精確性、實(shí)時(shí)性、可靠性等個(gè)方面指標(biāo)都有更高的要求。
傳統(tǒng)的電力數(shù)據(jù)采集系統(tǒng)的存儲(chǔ)空間和通信接口有限,普遍具有信息量小、精確度低、實(shí)時(shí)性差等缺點(diǎn)[1],已經(jīng)無法滿足實(shí)際的電力系統(tǒng)調(diào)度及管理需要,本文提出基于STM32的交流電壓采集方案。該芯片是ST公司基于Cortex-M3內(nèi)核生產(chǎn)的擁有眾多外設(shè)的MCU,充分利用其豐富的片上資源進(jìn)行設(shè)計(jì),以達(dá)到節(jié)省硬件投資的目的。利用STM32內(nèi)置的高精度A/D轉(zhuǎn)換器可對(duì)信號(hào)進(jìn)行高速采集和處理,通過TFT對(duì)相關(guān)數(shù)據(jù)進(jìn)行實(shí)時(shí)顯示,利用先進(jìn)的電源及時(shí)鐘管理、雙看門狗等功能,使系統(tǒng)的實(shí)時(shí)性與可靠性得到加強(qiáng),精度顯著提高,同時(shí)功耗大為降低。系統(tǒng)有結(jié)構(gòu)簡單、可靠性高、低成本、低功耗等優(yōu)點(diǎn),適合實(shí)時(shí)現(xiàn)場操作,具有較高的應(yīng)用價(jià)值[2]。
1.1系統(tǒng)整體方案
本系統(tǒng)采用STM32為核心設(shè)計(jì)。使用電壓互感器降壓,經(jīng)過預(yù)處理電路和調(diào)理電路使電壓符合ADC通道的輸入范圍。在測量該電壓信號(hào)時(shí),使用鎖相環(huán)對(duì)信號(hào)倍頻,得到的脈沖觸發(fā)STM32外部中斷對(duì)電壓信號(hào)進(jìn)行等相位測量。通過該信號(hào)采集電路,STM32可以得到一組離散的電壓值,利用芯片的高性能進(jìn)行FFT算法對(duì)基波分量以及諧波進(jìn)行檢測分析,檢測結(jié)果在屏幕上顯示,利用串口等通訊方式可以在多個(gè)檢測設(shè)備之間進(jìn)行數(shù)據(jù)交換,并可以連接上位機(jī)對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)和分析。系統(tǒng)總體框圖如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)圖
1.2交流電壓采集原理分析
對(duì)交流工頻電壓的采集,一般是以其有效值進(jìn)行計(jì)量,其計(jì)算公式為[3]:
其中T為信號(hào)周期。由上式可得
令F=U2T,f(t)=u2(t),則
在計(jì)算機(jī)數(shù)據(jù)采集系統(tǒng)中U(t)和f(t)都是一些離散點(diǎn)的數(shù)值,所以用數(shù)值積分法將函數(shù)分解,變?yōu)槿舾呻x散值之和,
即:
上式中,h=T/(2n)為采樣間隔;n=N/2,N為每周期采樣點(diǎn)數(shù)。
從理論上分析,電壓是一個(gè)正弦信號(hào),但當(dāng)電壓發(fā)生波動(dòng)時(shí),其三次諧波的影響最大,因此可以認(rèn)為電壓波形是由基波和三次諧波之和所組成的,即:
假設(shè)在最惡劣的情況下,令U1=U3=U,則=928U2ω4,由于MCU內(nèi)部的A/D轉(zhuǎn)換器采用0~3.3 V滿量程,可以認(rèn)為U=3.3 V,則。由上分析可得,在每個(gè)周期采集64個(gè)點(diǎn)時(shí),它的余項(xiàng)部分為23 μV,相比ADC模塊的最低分辨率0.8 mV,可以忽略不計(jì),故采集精度完全滿足要求。
2.1電壓預(yù)處理電路及調(diào)理電路
電壓預(yù)處理電路由電壓互感器和電壓跟隨器組成。采用澤明電子的電壓互感器ZMPT101B。交流電信號(hào)經(jīng)過互感器一次側(cè)的限流電阻R'變?yōu)殡娏餍盘?hào),經(jīng)過互感器后使用電阻R1將電流轉(zhuǎn)換為所需的電壓幅值。根據(jù)ADC的輸入范圍及互感器參數(shù),經(jīng)計(jì)算可得R'阻值為250 kΩ,R1阻值為330 Ω,此時(shí)得到的交流電壓幅值為1.5 V。為了提高帶載能力,該電壓信號(hào)在經(jīng)過C1濾波后進(jìn)入一個(gè)由LM324構(gòu)成的電壓跟隨器,再經(jīng)過運(yùn)算放大器后輸出到雙向穩(wěn)壓管上,把電壓限制在±1.5 V范圍內(nèi)。因?yàn)镾TM32的ADC通道輸入范圍是0~3.3 V,所以使用交流量提升模塊INA128,使交流電壓向上平移1.5 V,再經(jīng)過RC濾波電路,所得電壓輸出到ADC通道。其電路如圖2所示。
圖2 電壓預(yù)處理電路及調(diào)理電路
2.2A/D轉(zhuǎn)換電路
STM32芯片集成了許多片上外設(shè),其中包含有1~3個(gè)ADC,這些ADC可以獨(dú)立使用,也可以使用雙重模式(提高采樣率)。對(duì)于 ADC來說,我們最關(guān)注的就是它的分辨率、轉(zhuǎn)換速度、類型、參考電壓范圍[4]。STM32的ADC是 12位逐次逼近型的模擬數(shù)字轉(zhuǎn)換器;最短采樣時(shí)間為 1 μs。它的參考電壓負(fù)極是要接地的,即VREF-=0 V,所以STM32的ADC是不能直接測量負(fù)電壓的,輸入的電壓信號(hào)的范圍為:VREF-≦VIN≦VREF+。本系統(tǒng)需要測量負(fù)電壓并且測量的電壓信號(hào)超出范圍,利用了電壓互感器進(jìn)行降壓,并經(jīng)過運(yùn)算電路進(jìn)行平移以達(dá)到芯片所能識(shí)別的電壓范圍。該ADC完全滿足A/D轉(zhuǎn)換的精度要求。
2.3過零檢測電路
為了使系統(tǒng)可以采集到交流電壓頻率,在系統(tǒng)中加入了過零檢測電路,即由TL082構(gòu)成的同相檢零器,如圖3所示。當(dāng)輸入信號(hào)高于0 V時(shí),輸出高電平,當(dāng)輸入信號(hào)低于0 V時(shí),輸出低電平。該電路產(chǎn)生的方波在提供給MCU進(jìn)行頻率的計(jì)算的同時(shí),也提供給鎖相倍頻電路,保證采樣準(zhǔn)確。
圖3 過零檢測電路及波形
2.4鎖相環(huán)倍頻電路
在理想情況下,工頻信號(hào)的頻率是固定不變的,那么采樣周期也固定不變。但是在實(shí)際的系統(tǒng)中,工頻信號(hào)的頻率經(jīng)常會(huì)發(fā)生變動(dòng)造成采樣失真,從而影響到測量的精度。所以在實(shí)際的應(yīng)用中,必須保持采樣的時(shí)間間隔隨著信號(hào)頻率的變化而自動(dòng)調(diào)整,即把每個(gè)周期內(nèi)等時(shí)間間隔采樣變?yōu)榈认辔徊蓸?。在本系統(tǒng)中采用由鎖相環(huán)CD4046和計(jì)數(shù)器CD4518構(gòu)成鎖相環(huán)倍頻電路將信號(hào)進(jìn)行64倍頻[5],在被采集電壓信號(hào)的一個(gè)周期中產(chǎn)生64個(gè)脈沖,利用此脈沖信號(hào)作為STM32的中斷信號(hào),快速啟動(dòng)AD轉(zhuǎn)換通道進(jìn)行轉(zhuǎn)換,實(shí)現(xiàn)高速的數(shù)據(jù)采集[6]。電路如圖4所示。
本系統(tǒng)的STM32程序采用庫函數(shù)方式編寫,庫函數(shù)是建設(shè)在寄存器與用戶驅(qū)動(dòng)層之間的代碼,下轄處理與寄存器直接相關(guān)的配置,向上為用戶提供配置寄存器的接口,開發(fā)者可以通過調(diào)用這些函數(shù)接口來配置STM32的寄存器,有開發(fā)快速,易于閱讀等優(yōu)點(diǎn)。
程序主體部分為ADC采集程序,為了提高CPU的利用效率,在本系統(tǒng)中使用STM32自帶的DMA(Direct Memory Access)功能。DMA即直接存儲(chǔ)器存取,是一種可以大大減輕CPU工作量的數(shù)據(jù)存取方式。DMA為CPU分擔(dān)了數(shù)據(jù)轉(zhuǎn)移的工作,因?yàn)镈MA的存在,CPU被解放出來,它可以在DMA轉(zhuǎn)移數(shù)據(jù)的過程中同時(shí)進(jìn)行數(shù)據(jù)運(yùn)算,響應(yīng)中斷,大大提高效率。
圖4 鎖相倍頻電路
整體軟件流程圖如下:
圖5 軟件流程圖
使用Keil工具編寫STM32程序,并通過J-Link進(jìn)行下載和調(diào)試,調(diào)試完成后程序可以達(dá)到預(yù)期的功能。上位機(jī)使用C#編寫一個(gè)通訊程序,通過串口與STM32相連接,并可以實(shí)時(shí)顯示檢測出的電壓值。如圖6所示,通過程序?qū)Υ谠O(shè)置,方便后期數(shù)據(jù)傳輸格式的修改,在listview控件內(nèi)以表格的形式顯示實(shí)時(shí)電壓值。
圖6 上位機(jī)程序截圖
本文介紹的交流電壓采集系統(tǒng)使用 意法半導(dǎo)體公司的ARM芯片STM32,該芯片使用Cortex-M3內(nèi)核,其內(nèi)部功能模塊豐富,系統(tǒng)不需要其它拓展芯片就可以實(shí)現(xiàn) A/D轉(zhuǎn)換、數(shù)據(jù)通信等功能,簡化了硬件設(shè)計(jì),節(jié)約了投資成本。隨著電力系統(tǒng)的進(jìn)一步發(fā)展,對(duì)采集數(shù)據(jù)要求的進(jìn)一步提高,STM32芯片可以在現(xiàn)有的基礎(chǔ)上進(jìn)行程序的改進(jìn),可以實(shí)現(xiàn)對(duì)采集的交流信號(hào)進(jìn)行FFT處理,計(jì)算更精準(zhǔn)的數(shù)據(jù)及諧波的分析。這種基于STM32的電壓采集系統(tǒng)將有更高的應(yīng)用價(jià)值和廣闊的市場前景。
[1]季力.基于STM32芯片的電參數(shù)測量與數(shù)據(jù)傳輸[J].自動(dòng)化與儀器儀表,2010(3):137-139.
[2]張旭.基于STM32電力數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J].電子測量技術(shù)報(bào),2010(11):90-93.
[3]夏恒志.基于PIC的交流電壓檢測設(shè)計(jì)[J].科技信息:學(xué)術(shù)研究,2008(36):705-706.
[4]劉火良.STM32庫開發(fā)實(shí)戰(zhàn)指南[M].北京:機(jī)械工業(yè)出版社,2013:112-138.
[5]許艷惠.智能化數(shù)字工頻有效值多用表的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2008(4):153-154.
[6]張旭,黃細(xì)霞,孔祥品,等.鎖相倍頻電路在電壓信號(hào)DSP數(shù)據(jù)采集中的應(yīng)用[J].電源學(xué)報(bào),2012(5):32-36.
AC voltage detection based on STM32
REN Hong-bin,LENG Jian-wei
(Tianjin University of Technology,Tianjin 300384,China)
Voltage signal acquisition is the common function module in the electronic system.In this paper,a low power consumption and high performance AC voltage acquisition system is designed based on STM32.The system uses the operational amplifier to follow the signal,and use LF398 to sample the signal,and use the ADC STM32 to convert the signal to analog signal.The practical results show that the equipment is simple and the technical specifications meet the national standards perfectly,and it has good value of application and promotion.
STM32;ACvoltage;phase sampling;CD4046
TN98
A
1674-6236(2016)13-0133-03
2015-06-30稿件編號(hào):201506258
任宏斌(1991—),男,河南洛陽人,碩士研究生。研究方向:電力系統(tǒng)及其自動(dòng)化。