均方根值 有效值 方均根法快速计算有效值

有同学问我如何计算交流信号的有效值?

这是非常基础的问题。之前的文章傅里叶变换就提到了可以使用傅里叶变换计算有效值,这里再简单地说一说使用方均根法计算有效值。

均方根值 有效值 方均根法快速计算有效值(1)

图一方均根计算公式

均方根值 有效值 方均根法快速计算有效值(2)

图二三相交流信号

三相交流信号通过信号调理和采样电路之后,调整到AD的采样范围之内,确保信号不会饱和,也不会因为信号太小导致采样数值小影响计算。

信号通过AD采样之后得到采样值,可以选择缓存起来,等到采集满一个信号周期之后通过按照方均根公式计算即可。也可以在得到采样之后之后直接将采样值平方,再累加起来,这样在采样周期到了之后,计算出均值并且开方就得到了结果。

下面上伪代码,假设采样中断为 void isr_AD(void)

WORD square[3]{0,0,0};

WORD Vrms[3]{0,0,0};

WORD factor[3]={100,101,99};//根据实际校正结果初始化校正系数,这里举例随便初始化的值

BYTE sample_cnt=0;

void isr_AD(void)

{

WORD sample_temp=0;

WORD adc_buffer[3]={0,0,0}; // 三相电压采样

adc_buffer[0] = AD_RG0;

adc_buffer[1] = AD_RG1;

adc_buffer[2] = AD_RG2;

sample_cnt ;

for (BYTE i = 0; i < 3; i )

{

sample_temp = adc_buffer[i];

square[i] = sample_temp*sample_temp;

}

}

void get_rms(void)

{

INT32U corr_factor;

WORD res;

for (BYTE i = 0; i < 3; i )

{

res = square[i]/sample_cnt;

Vrms[i] = sqrt(res)*factor[i];

square[i]=0;

}

sample_cnt=0;

}

这样每个采样周期就能计算更新一次有效值了。这里有一个问题,假如使用这种方式计算有效值做故障检测的话,为了快速地检测出故障,除了使用滑窗每个采样点得到之后立即计算一次有效值之外,还有没有其他的方法,能达到快速计算出有效值的目的,毕竟等到一个采样周期结束之后一般至少一个周波或者至少半个周波也就是10-20ms过去了。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页