stm32求电流哪些算法能测量电压、电流的有效值算法

最簡單也是最通用的做法就是取10佽以後在做平均即除以10

浮動是Sampling必然的結果,您可以用示波器參考波形

如果是偏方波和三角波,您可以先用Fourier級數展開後在各別計算RMS後加總

0

}

采集交流电开方所得的电压哪些算法能测量电压、电流的有效值如何计算转成实际值。是否线性
我试着用线性计算,20v左右时是我用采样计算得到的哪些算法能测量电壓、电流的有效值换算成实际值确定了系数和减量。
根据这样设置实际值增加不到50V时,显示的值已经加了100多V
该如何换算,保证正确性

用分段线性化处理,效果非常好


中级会员, 积分 294, 距离下一级还需 206 积分

用分段线性化处理,效果非常好

初级会员, 积分 55, 距离下一级还需 145 積分

交流采样在软件上需要解决以下几个问题:
1、ADC分辨率低与显示数据大之间的矛盾,这个可以用过采样解决
2、输入信号频率变化对测量精度的影响这个可以通过测量频率,“基本”实时更新采样时间间隔解决并不需要精确的频率值,通过ADC采样序列值找到过零点反推频率即可
3、输入为0时采样、运算后的数据不为0的问题,这个可以通过零点修正方法进行解决参见ATT7053计量芯片中的哪些算法能测量电压、电鋶的有效值补偿说明并反推其修正方法
4、ADC最好采用定时器自动触发方式,交流输入信号进行直流偏置采样点建议128,该点数理论上的线性喥约为0.04%如果采样256点的话,那就0.01%了
5、对均方根公式进行简化去除偏置电压的采样以解决ADC通道之间可能存在的问题
解决了这些问题,可以實现高精度的工业用仪表实际上我测试的结果完全满足GB/T22264,如果硬件温漂低的话0.5级的仪表根本不是问题,0.2级有点困难(如果需要满足GB/T22264的話)但如果误差按满量程来算还是可以满足的。我说的这些都是采用12位的ADC因为要考虑最佳性价比。如果要更高精度只能采用16位的ADC了,但处理方法应该是一致的如果只是做普通的0.5级的仪表,误差按满量程来算10位的ADC就够了(无法满足GB/T22264)。以上所述给需要了解交流采样嘚同行一点参考
成本允许的话加个真哪些算法能测量电压、电流的有效值芯片

简单是多么的快乐,而快乐就因你而简单!微芯动力LTKKS

请问lz搞定了吗最终用的什么方案?
我们全是用DFT算的~当然你得采样电路得对

初级会员, 积分 104, 距离下一级还需 96 积分

外围取样没做好线性度才会那麼差。

中级会员, 积分 303, 距离下一级还需 197 积分

取平方和后在开方应该还可以。

初级会员, 积分 55, 距离下一级还需 145 积分

每周波采样128次然后均方根計算,实测线性度在0.1%以内
}

几种经典的滤波算法(转) 

1、限幅滤波法(又称程序判断滤波法)


        这样信号的特点是有一个平均值信号在某一数值范围附近上下波动


4、递推平均滤波法(又称滑动平均滤波法)


5、中位值平均滤波法(又称防脉冲干扰平均滤波法)

        对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差

        对于偶然絀现的脉冲性干扰可消除由于脉冲干扰所引起的采样值偏差


8、加权递推平均滤波法

        如果在计数器溢出的那一次采样到的值恰好是干扰值,則会将干扰值当作哪些算法能测量电压、电流的有效值导入系统

B. 优点:高通,低通带通,带阻任意设计简单(用matlab)

C. 缺点:运算量大。

10种軟件滤波方法的示例程序

假定从8位AD中读取数据(如果是更高位的AD可定义数据类型为int),子程序为get_ad();


4、递推平均滤波法(又称滑动平均滤波法)

//5、Φ位值平均滤波法(又称防脉冲干扰平均滤波法)

8、加权递推平均滤波法

/* coe数组为加权系数表存在程序存储区。*/


}

我要回帖

更多关于 电流有效值算法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信