新聞中心

EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于CS5451A的三相多功能電能表設(shè)計(jì)

基于CS5451A的三相多功能電能表設(shè)計(jì)

作者: 時(shí)間:2006-07-12 來(lái)源:網(wǎng)絡(luò) 收藏

隨著電子技術(shù)的飛速發(fā)展,電能表的集成度越來(lái)越高,在多功能電表市場(chǎng)上,主要有兩種架構(gòu):電能計(jì)量芯片加微控制器;A/D轉(zhuǎn)換芯片加微處理器。第一種方案成本比較低,功能主要取決于電能芯片,微控制器不能進(jìn)行復(fù)雜的數(shù)據(jù)處理,所以不具有諧波分析功能。第二種方案可以通過(guò)復(fù)雜的數(shù)據(jù)處理,實(shí)現(xiàn)非常多的功能。本文主要介紹基于A+TMS320F2801的多功能電表設(shè)計(jì)。

A是Cirrus Logic公司為能源測(cè)量工業(yè)設(shè)計(jì)的高度集成的Δ-Σ A/D轉(zhuǎn)換器。A在一個(gè)芯片上集成了6個(gè)Δ-Σ A/D轉(zhuǎn)換器、濾波器和一個(gè)與微控制器或DSP相聯(lián)接的串行接口。CS5451A與一個(gè)變流器或可測(cè)量電流的分流器和電阻分割器或測(cè)量用變壓器直接連接。同時(shí)該產(chǎn)品已被初始化和功能完全設(shè)置,并包括一個(gè)參考電壓。

TMS320C28x系列數(shù)字信號(hào)控制器是業(yè)界第一款32位基于DSP的控制器,具有板載Flash存儲(chǔ)器和高達(dá)150MIPS的性能,它們針對(duì)于工業(yè)自動(dòng)化、數(shù)字電源、汽車(chē)控制以及高級(jí)傳感應(yīng)用。C28x內(nèi)核是世界上最高性能控制優(yōu)化內(nèi)核,提供計(jì)算帶寬來(lái)實(shí)時(shí)處理許多復(fù)雜的控制算法,如無(wú)傳感速度控制、隨機(jī)PWM以及功率因數(shù)校正。C28x還提供了足以與一般MCU相匹敵的C代碼效率,與C2000系列中的當(dāng)前器件完全代碼兼容。

硬件設(shè)計(jì)

圖1:基于CS5451A+TMS320F2801的多功能電表框圖。

圖1所示為本方案的硬件框圖,本方案按功能可分成以下幾個(gè)模塊:

電壓轉(zhuǎn)化模塊是一個(gè)電阻網(wǎng)絡(luò),用分壓電阻的方法,把三相電壓信號(hào)轉(zhuǎn)化成三個(gè)400mV的信號(hào),經(jīng)過(guò)阻容濾波送入CS5451A(見(jiàn)圖2)。




圖2:采用電阻網(wǎng)絡(luò)的電壓轉(zhuǎn)化模塊。

電流轉(zhuǎn)化模塊是通過(guò)電流互感器,把0-6安的三相電流信號(hào)轉(zhuǎn)化成三個(gè)400mV的信號(hào),經(jīng)過(guò)阻容濾波送入CS5451A(見(jiàn)圖3)。


圖3:通過(guò)電流互感器把0-6安的三相電流信號(hào)轉(zhuǎn)化成三個(gè)400mV的信號(hào)。

CS5451A模塊功能是把輸入的六通道電壓電流信號(hào)轉(zhuǎn)化成數(shù)字信號(hào)輸出。CS5451A與TMS320F2801通過(guò)SPI口連接,每隔250微秒主動(dòng)發(fā)出一組數(shù)據(jù)。

TMS320F2801有兩個(gè)SPI接口,一個(gè)作為從SPI接收CS5451A數(shù)據(jù),另一個(gè)作為從SPI與MCU通訊。24C04用來(lái)保存設(shè)置數(shù)據(jù)和校準(zhǔn)數(shù)據(jù)。

軟件設(shè)計(jì)

軟設(shè)計(jì)分兩大部份,TMS320F2801的軟件和MCU軟件。

MCU軟件主要是從TMS320F2801種讀取數(shù)據(jù)、顯示和與PC機(jī)通訊,本文不作介紹。

TMS320F2801的軟件實(shí)現(xiàn)對(duì)CS5451A的數(shù)據(jù)采集、電量計(jì)算、諧波分析、與89C52

通訊、脈沖輸出。軟件主流程如圖4。

初始化系統(tǒng)配置寄存器,包括系統(tǒng)頻率設(shè)置、Flash寄存器初始化、SPIA和SPIB的使能。SPIA用來(lái)接收CS5451A的數(shù)據(jù),SPIB用于89C52通訊。

外部中斷用來(lái)捕捉CS5451A的同步信號(hào),在捕捉到同步信號(hào)以后,初始化并啟動(dòng)SPIA模塊,SPIA模塊在接收到12個(gè)字節(jié)數(shù)據(jù)以后產(chǎn)生中斷,把數(shù)據(jù)保存到緩存中。流程如圖5。

圖4:軟件主流程圖。

電能計(jì)算方法

電壓有效值:

電流有效值:

有功功率:

無(wú)功采用移相90度算法,In+t是移相90度后的電流值

諧波分析方法

由于電網(wǎng)頻率是變化的,采樣頻率固定,所以每個(gè)周波采集到的瞬時(shí)值個(gè)數(shù)是不固定的。要進(jìn)行64點(diǎn)FFT計(jì)算,必須把采集到的瞬時(shí)值轉(zhuǎn)化成64點(diǎn)瞬時(shí)值,轉(zhuǎn)化方法有多種,本設(shè)計(jì)采用的是拉格朗日二次差值法,精度比線性差值法高,計(jì)算量也可以達(dá)到要求。

圖5:中斷處理流程圖。

/*

拉格朗日定理(lagrange):

若函數(shù)f(x)滿足:(1)f(x)在閉區(qū)間[a,b]上連續(xù);(2)f(x)在開(kāi)區(qū)間(a,b)可導(dǎo);

則在開(kāi)區(qū)間(a,b)必存在S,使得f(b)-f(a)=f'(s)(b-a)。

拉格朗日二次插值公式:

已知曲線上三點(diǎn)(x0,y0),(x1,y1),(x2,y2),則該二次曲線為:

L(x)=(x-x1)(x-x2)f(x0)/(x0-x1)(x0-x2)+(x-x0)(x-x2)f(x1)/(x1-x0)(x1-x2)+(x-x0)(x-x1)f(x2)/(x2-x0)(x2-x1);

*/

//Ta是周期值

//Points是要抽取的點(diǎn)數(shù),本系統(tǒng)進(jìn)行64點(diǎn)FFT計(jì)算,Points取64

float fft_buf[128]; // 保存CS5451A采集的128點(diǎn)數(shù)據(jù)

float dataR[128]; // 保存抽出來(lái)的64點(diǎn)數(shù)據(jù)

void DataChange(float Ta,int Points)

{

int i,j,k;

int index; //offset;

float p=1.0;//初始化p

float c=1.0;

float yE=0;

float m;

int T0=25; //To單位為10us.

for(i=0;i{ //找到所需的三個(gè)點(diǎn)的第一個(gè)點(diǎn). 整除的狀況要考慮.

index=(floor((i*Ta*100)/(Points*T0))); //若所求的點(diǎn)為已知點(diǎn)則跳過(guò).

if((i*Ta*100)/(Points*T0)-floor((i*Ta*100)/(Points*T0))==0)

{

dataR[i]=fft_buf[index];

continue;

} //用lagrange計(jì)算出所求的點(diǎn).

for(j=0;j3;j++)

{

p=1;

c=1;

for( k=0;k3;k++)

{

if(k==j)continue;//判斷是否為同一個(gè)數(shù)

m=index+k;

m=m*T0*Points;

p=p*(Ta*i*100-m);

p=p/Points;

c=c*((index+j)*T0-(index+k)*T0); } //求和

yE=yE+p*fft_buf[index+j]/c;

}

dataR[i]=yE;

yE=0;

}

}

本方案中數(shù)據(jù)運(yùn)算量很大,對(duì)TMS320F2801的要求很高,所以FFT計(jì)算和電量計(jì)算程序用匯編語(yǔ)言編寫(xiě),程序編寫(xiě)這里不作介紹。

電能表相關(guān)文章:電能表原理


關(guān)鍵詞: 5451A 5451 CS 三相

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉