背景
電能表作為電能計量的基本設(shè)備,受到國家電力部門的長期重視,電能表生產(chǎn)企業(yè)更是不遺余力地尋求設(shè)計與開發(fā)性能俱佳且成本更低的解決方案。目前國內(nèi)的電能表設(shè)計已經(jīng)走過了由8位MCU向通用DSP甚至專用DSP的變革,通用DSP的應(yīng)用方案的劣勢在于DSP的專業(yè)應(yīng)用和嵌入程度不夠深的問題,成本偏高;而專用DSP功能相對固定,這樣給電能表設(shè)計和生產(chǎn)廠家?guī)砉δ懿町惢臻g不足的困難?;贏RM的方案也已經(jīng)出現(xiàn),但是適合應(yīng)用的ARM7 TDMI在性能上不盡人意,同時外設(shè)資源不足;而更高端的ARM9系統(tǒng)的復(fù)雜程度很高,成本也較高。選擇一顆合適且低成本的微處理器日益成為電能表行業(yè)的關(guān)鍵所在,直到意法半導(dǎo)體公司(STMicroelectronic公司,下稱ST)STM32的出現(xiàn)為電能表設(shè)計的專門化和定制化帶來了嶄新的機遇和空間。 一、關(guān)于CORTEX-M3與STM32 2005年ARM公司發(fā)布其最新一代ARM v7內(nèi)核,命名為Cortex,同ARM7/9/10/11相比在架構(gòu)上有了革命性突破,性能上更是本質(zhì)的飛越,Cortex系列包含三個系列,-A/-R/-M。Cortex-M3特別針對功耗和價格敏感的嵌入應(yīng)用領(lǐng)域,同時具備高性能,它采用高效的哈佛結(jié)構(gòu)三級流水線,達到1.25DMIPS/MHz,在功耗上更是達到0.06mW/MHz。Cortex-M3使用Thumb-2指令集,自動16/32位混合排列,具有很高的代碼密度。單周期的32位乘法以及硬件除法器,保證Cortex-M3的運算能力有大幅提高,在一些對計算能力要求相對較低而嵌入式要求相對較高的場合,STM32就具有取代傳統(tǒng)DSP的潛力甚至優(yōu)勢。Cortex-M3包含嵌套向量中斷控制器NVIC,中斷響應(yīng)速度最快僅6周期,內(nèi)部集成總線矩陣,支持DMA操作及位映射。 STM32是ST公司在業(yè)界最先推出的基于ARM Cortex-M3內(nèi)核產(chǎn)品,繼承了Cortex-M3內(nèi)核的優(yōu)良血統(tǒng),同時增加了ST高性能的外設(shè)資源,F(xiàn)LASH、SRAM存儲器,豐富的串行通信接口,如IIC、SPI、USART、CAN、USB等,以及12位的ADC和DAC模塊,支持外部存儲器訪問的靈活的靜態(tài)存儲器控制器FSMC。 二、基于STM32的電能表方案 根據(jù)電能表的功能和誤差精度的需求,我們選用了ST公司STM32的增強型系列STM32F103xx,最高工作頻率為72MHz。在程序設(shè)計上除了完成快速數(shù)據(jù)處理工作以外,還針對系統(tǒng)非線性失真進行了修正和補償。 電能表系統(tǒng)組成框圖如圖1所示: ?。ㄒ唬┎杉瘮?shù)據(jù)處理與計算 在實際應(yīng)用中,電力信號通過互感器采集到電能表中,通過一個6通道16位模擬前端處理器(AD73360)進行A/D轉(zhuǎn)換,轉(zhuǎn)換成數(shù)字信號并傳輸?shù)絊TM32中。AD73360是6通道同步采樣的Σ-ΔADC器件,它內(nèi)置了基本型電壓基準(zhǔn)及通道內(nèi)置獨立的PGA(可編程增益放大器),非常適合三相電流電壓信號的同步采樣,在小信號的時候,通過調(diào)整通道PGA可以獲得合適的動態(tài)范圍從而保證微弱信號的計量精度。電能表數(shù)據(jù)采集框圖示于圖2。 電壓電流輸入信號首先需要RC濾波網(wǎng)絡(luò)濾波和數(shù)據(jù)采樣,然后進行A/D轉(zhuǎn)換。AD73360有獨立的時鐘源,可配置為自動數(shù)據(jù)采集與發(fā)送模式,通過SPI總線不斷的將數(shù)據(jù)傳向STM32。STM32內(nèi)的Cortex-M3內(nèi)核對輸入的數(shù)字信號進行處理,完成數(shù)字濾波,過零點檢測,得到基本的電流電壓數(shù)據(jù),經(jīng)過時間積分計算和轉(zhuǎn)換得到相應(yīng)的電能計量。 ?。ǘ┎蓸与娐泛蜑V波網(wǎng)絡(luò) 由于被采樣信號為高電壓信號和大電流信號,我們需要對被采樣信號做高保真轉(zhuǎn)換為雙極性的電壓信號以便用AD電路離散化處理,而AD73360是單電源供電模擬前端,所以我們需要令輸入信號位于AD73360的動態(tài)范圍的正中。采用的方法是:定義ADC工作電壓為5伏(動態(tài)范圍0~5V),選擇參考電壓2.5伏,將AD差分輸入的負端直接接到參考電壓輸入,差分輸入的正端接被測信號。具體電路如圖3。 在實際電路中,相電流信號經(jīng)CT變換為低電壓信號,相電壓則通過高精度電阻網(wǎng)絡(luò)分壓得到線性的低電壓信號,信號幅度范圍需保證在5V之內(nèi)。 ?。ㄈ〢D73360與STM32的接口 因為AD73360產(chǎn)生的基礎(chǔ)數(shù)據(jù)總量龐大,為了盡量少的占用CPU時間,需要使用STM32內(nèi)部的硬件SPI和DMA單元實現(xiàn)數(shù)據(jù)傳輸,而STM32的內(nèi)核根據(jù)DMA的傳輸結(jié)果來批量獲取基礎(chǔ)數(shù)據(jù)并啟動數(shù)據(jù)處理程序。硬件連接關(guān)系如圖4所示。 由STM32的GPIO控制AD73360的SE和RESET,并用一個外部中斷輸入腳來監(jiān)聽幀同步信號,這樣才可以用程序來保證數(shù)據(jù)幀內(nèi)容的字節(jié)對應(yīng)關(guān)系。 在STM32的硬件設(shè)置程序中,需要關(guān)閉SPI的所有中斷,設(shè)置SPI為從模式,并選取一個DMA通道與之協(xié)同工作,自動將SPI從模式收到的數(shù)據(jù)保存在指定的內(nèi)存地址。為了令A(yù)D73360正確采集數(shù)據(jù),還必須根據(jù)使用要求配置AD73360的內(nèi)部寄存器,令A(yù)D73360處于數(shù)據(jù)模式并主動向STM32發(fā)送采樣數(shù)據(jù)。 三、主要電能參量的計算 AD73360是固定周期采集,我們使用的是150Hz或160Hz,即每周期采集150/160點,為此AD73360采用的時鐘是6.000MHz或16.384MHz,系統(tǒng)中對AD73360的配置為DMCLK分頻因子為2048。AD73360是差分采集,很方便進行過零點檢測和直流分量調(diào)節(jié),以保證信號幅度對稱,從而減小系統(tǒng)誤差。 電壓測量(有效值)計算式: 式中:U-電壓有效值,n-每周期采樣點數(shù), uk —電壓采樣值 電流測量(有效值)計算式: 式中:I-電流有效值,n-每周期采樣點數(shù), ik-電流采樣值 在得到的電流電壓有效值基礎(chǔ)上計算出總功率S(即視在功率),通過對時間積分的電流電壓積得到有功功率P,無功功率Q是總功率S與有功功率P之差,功率因數(shù)是有功功率P與總功率S的比。 對于單器件和三相四線星形負載的有功功率和無功功率的計算匯總?cè)缦拢?/p> 單元件有功功率計算式: 式中: P-單元件有功功率,n-每周期采樣點數(shù), uk-元件上電壓采樣值, ik-元件上電流采樣值 單元件無功功率計算式: 式中:Q-單元件無功功率,n-每周期采樣點數(shù), uk-元件上電壓采樣值, ik-元件上電流采樣值(90度移相后) 三相四線三元件有功功率計算式: PΣ=Pu+Pv+Pw 式中: PΣ-三相有功功率,Pk -(k=u,v,w)各相有功功率 三相四線三元件無功功率計算式: QΣ=Qu+Qv+Qw 式中: QΣ-三相無功功率,Qk -(k=u,v,w) 各相無功功率 四、非線性失真的補償與修正 電信號采集過程中可能存在的電磁元件(CT或PT)會造成采集信號和實際信號之間的相位失真以及線性失真。為了補償和修正這些失真帶來的誤差,還需要使用分段矯正和補償?shù)姆椒?。例如,根?jù)CT(PT)的相移曲線選擇合適的兩個點將整個量程分為三段,在測量值分處不同的段時,分別調(diào)用不同的相移參數(shù)對測量值進行相位補償。 線性度補償參數(shù)和相位補償參數(shù)的獲取方法(校準(zhǔn)過程)如下: 1、零偏校準(zhǔn):令所有通道輸入為零,分別記錄各通道零點位置。 2、電壓校準(zhǔn):令所有電壓通道輸入值為標(biāo)準(zhǔn)電壓值220V(RMS),記錄各相電壓校準(zhǔn)參數(shù)。 3、電流校準(zhǔn):令所有電流通道輸入值為分界點電流,記錄各通道小電流測量段校準(zhǔn)參數(shù)。再令所有電流通道輸入值為最大值,分別記錄各通道大電流測量段的校準(zhǔn)參數(shù)。 4、相移校準(zhǔn):分別令電流電壓通道輸入相位相差60度感性,并且電流通道的電流值處于相位補償段的中間點,并根據(jù)有功電能誤差來求取該補償段的相位補償參數(shù)。 5、求取的全部補償參數(shù)存儲在非易失存儲器中,例如STM32的FLASH。 五、電能表配合電路 除了測量計量功能外,電能表還需要實現(xiàn)通訊,存儲以及時間管理功能,具體的程序和做法在此不再贅述,但為了實現(xiàn)完整的電能表功能,其周邊器件的選擇卻很關(guān)鍵。 實時時鐘電路:Intersil的ISL12022M是內(nèi)置時鐘晶體的高可靠性全自動溫度補償RTC芯片。該RTC依靠工廠預(yù)校準(zhǔn),和全工業(yè)級溫度范圍的自動溫補來保障電子產(chǎn)品全生命周期的計時精度,免除了電表的時鐘校準(zhǔn)的工藝過程,降低了生產(chǎn)成本。該RTC還具有電池狀態(tài)監(jiān)測、上電/掉電時間戳記錄功能和內(nèi)置數(shù)字溫度傳感器功能,更可以用在除電表外的綜合電力終端設(shè)備中。 電壓參考基準(zhǔn):Intersil的ISL21009系列是低噪聲,高穩(wěn)定度的精密電壓基準(zhǔn),用于在AD73360內(nèi)置基準(zhǔn)的穩(wěn)定度(50ppm)不夠的情況下,為測量系統(tǒng)補充提供更高穩(wěn)定度(5ppm)的參考電壓。 電源管理電路:ON Semiconduction的NCP3063是低成本、高效率的DC/DC穩(wěn)壓器,它對外圍電路要求簡單,輸入電壓范圍寬達40伏。而電能表往往工作在很寬的輸入電壓范圍條件下,因此,NCP3063非常適合用在電能表工頻變壓器后面做5伏或3.3伏的直流穩(wěn)壓。 通信接口電路:Intersil的ISL3152E是全功能RS485接口芯片,該接口芯片擁有多項特別適合于電能表AMR系統(tǒng)的特性指標(biāo)。其中包括,1/8標(biāo)準(zhǔn)負載驅(qū)動(256節(jié)點),正負16.5千伏ESD保護,熱插拔功能(節(jié)點電源變化不影響總線通信),20Mbps總線速率,支持星型拓撲網(wǎng)絡(luò)等等。 結(jié)語 基于CORTEX的STM32的三相電能表方案已經(jīng)證明是當(dāng)前的主流的最具優(yōu)勢的方案,得到了業(yè)界的廣泛好評和認可。目前,本方案已成功應(yīng)用在某大型電表生產(chǎn)企業(yè)0.5S電子式三相多功能電能表中。
1)ARM公司《ARM Cortex-m3 Technical Reference Manual》,2004,Revision r1p1 2)ARM公司《ARM Architecture Reference Manual》,2005,Issue D 3)ST公司《STM32F103Fx Datasheet》,2008,Rev 5 4)ST公司《STM32 Reference Manual》,2008,Rev 6 5)ADI公司《AD73360 Datasheet》,2001,Rev A 6)INTERSIL公司《ISL12022M Datasheet》,2008,Rev .0 7)INTERSIL公司《ISL21009 Datasheet》,2007,Rev .6 8)INTERSIL公司《ISL3152E Datasheet》,2008,Rev .1 |
|