用pic单片机实现采样交流计算有效值

[复制链接]
16553|21
 楼主| liguilin 发表于 2008-11-28 13:19 | 显示全部楼层 |阅读模式
用pic单片机实现交流采样,计算有效值,采用的算法是<br />1,信号半波整流<br />2,各个点的采样值乘方,&nbsp;<br />3,累加平方和×2&nbsp;<br />4,除以采样次数&nbsp;<br />5,开方,得到有效值&nbsp;<br />大还有什么好的算法?
yewuyi 发表于 2008-11-28 14:09 | 显示全部楼层

这个计算好累MCU啊。。。

  
xieyuanbin 发表于 2008-11-28 20:10 | 显示全部楼层

如果计算非正弦波,用此方法.

正弦波的话,采样一个最大值就可以
ddb_21ic 发表于 2008-11-28 20:49 | 显示全部楼层

人家这样可以标TrueRMS

  
armtft 发表于 2008-11-28 21:14 | 显示全部楼层

半波整流,会带来多大的精度损失?

?<br /><br />
machunshui 发表于 2008-11-29 08:44 | 显示全部楼层

fft算法

fft算法,<br /><br />应该比这个更麻烦
sticktang 发表于 2008-12-1 13:16 | 显示全部楼层

RMS

问题是如何确定采样次数?&nbsp;频率本身有漂移,且有不同制式
兰天白云 发表于 2008-12-2 08:32 | 显示全部楼层

xieyuanbin的是正解

  
ijk 发表于 2008-12-2 14:08 | 显示全部楼层

只是开方比较耗时间

&nbsp;&nbsp;只是开方比较耗时间,其它运算对于PIC18应该不成问题
sharpxcb 发表于 2008-12-2 17:21 | 显示全部楼层

问题是如何确定采样次数? 频率本身有漂移,且有不同制式

&nbsp;&nbsp;这里主要的问题是同步,必需先得到当前交流电的频率,然后分成稳定的采样周期,如50HZ(20ms)/60HZ(16.666ms)分成64等分,每312/266us去做一次采样,累加求和再取平均值!
 楼主| liguilin 发表于 2008-12-5 13:23 | 显示全部楼层

我准备用PIC16F73实现

开方程序已经实现,用小数插值算法,基本都是查表和移位的代码,效率还算可以。<br />准备采样33个点,用公式1/T-1&nbsp;(I1×I1+I2×I2.....IT×IT)的开方
 楼主| liguilin 发表于 2008-12-18 15:00 | 显示全部楼层

relay

改成全波采集了,半波采集要求精确的周期。误差很大。信号的参考点抬到2.5。降低了放大器的放大倍数。调试正在进行中!
nigelool 发表于 2008-12-18 20:12 | 显示全部楼层

re

哦我的方法就是这样的。。全波整流。采样时候抬高电压到2.5V,一个工频计算一次。
hjh002 发表于 2008-12-18 21:54 | 显示全部楼层

为什么不可以转换成直流滤波后再测量?想想万用表测交流的

  
 楼主| liguilin 发表于 2008-12-19 13:18 | 显示全部楼层

re

主要是成本考虑!如果用专用的交流变直流的IC成本高,这些IC的工作温度是0-70度。用桥整流再RC虑波,误差很大,线性度很不好。
lhkjg 发表于 2010-2-14 16:56 | 显示全部楼层
个人认为周期确实是一个难点,如果不规整的正弦波就更麻烦
ddb_21ic 发表于 2010-2-25 12:13 | 显示全部楼层
还有数字隔直的问题
ddb_21ic 发表于 2010-2-25 12:14 | 显示全部楼层
周期需要个准确的触发,一般要根据信号情况来看吧
yewuyi 发表于 2010-2-25 13:19 | 显示全部楼层
  
hjh002 发表于 2008-12-18 21:54



万用表只是对正弦波测量比较准确点外,对其他波形效果很差。
正弦波和无规则的波形,测量真有效值的差异还是比较大的。
qhcmcu 发表于 2010-2-26 17:08 | 显示全部楼层
确定周期用比较器输出脉冲信号,利用单片机外部中断实现。
采样频率要求是被测信号频率的2倍以上。一个信号周期计算一次有效值,把这个值拿去显示,显示数据会跳得很厉害(不知道是什么原因?)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

53

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部