如何通过AD采样检测工频正弦信号的峰值啊?

[复制链接]
8289|11
 楼主| longlyway 发表于 2008-3-15 00:20 | 显示全部楼层 |阅读模式
正在做一个项目,要求用单片机来采样并显示电机的电流值。电流信号经过互感器并作精密半波整流后(不做滤波),输入到单片机的AD端口进行采样。请问个位大虾有没有好的算法求出峰值电压。小弟作了一个算法,效果不是很理想,显示的电流波动较大。哪位大虾能否指点一下?
yewuyi 发表于 2008-3-15 08:27 | 显示全部楼层

ad要足够快,并加上信号趋势判断

  
zgl7903 发表于 2008-3-15 14:07 | 显示全部楼层

用均方根算有效值方法处理

  
 楼主| longlyway 发表于 2008-3-15 15:42 | 显示全部楼层

yewuyi能否具体说说

知道峰值后,有效值好办,关键是如何判断峰值,而且不要占用太多时间来处理数据。二楼的方法我试过,只是单片机内的AD速度只有15kSPS,加上趋势判断后,一是反应慢,而是数值波动大
yewuyi 发表于 2008-3-15 16:12 | 显示全部楼层

波动大的原因在于你很难在峰值点恰好采样

所以,这个时候你还需要再加入一个连续多次峰值求平均等的算法,当然,如果你采用1阶滤波:Yn=a*Xn+(1-a)*Y(n-1)效果会更好,关于一阶滤波请自己查阅相关文献。
 楼主| longlyway 发表于 2008-3-16 18:24 | 显示全部楼层

谢谢yewuyi

  
01dxwlm 发表于 2008-3-16 19:56 | 显示全部楼层

首先用硬件产生一个ZERO_CROSS的信号

首先用硬件产生一个ZERO_CROSS的信号,计算出周期,然后根据上一个周期把本周期的信号均分为32分,即每周期采样16或者32次,再用均方根算有效值方法处理。这样做出来的要多准就有多准。
 楼主| longlyway 发表于 2008-3-17 22:02 | 显示全部楼层

7楼的方法可行

7楼的方法可行,但要增加硬件,还要增加IO口,在IO口资源已用尽的情况下无能为力
兰天白云 发表于 2008-3-20 18:24 | 显示全部楼层

不知道你用什么单片机?

如果1秒采样100万次,找个峰值应该没问题
 楼主| longlyway 发表于 2008-3-22 23:18 | 显示全部楼层

我用的是M64

采样速度才15K
ddb_21ic 发表于 2008-3-23 13:12 | 显示全部楼层

15k应该也够了

15000/50=300,最大相位误差才1.2度,sin(90-1.2)&nbsp;=&nbsp;0.99978<br /><br />
wyb668 发表于 2012-8-22 22:57 | 显示全部楼层
正想做个显示电机电流的电流表,很有用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

17

帖子

0

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