搜索
bottom↓
回复: 20

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

[复制链接]

出0入0汤圆

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

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2008-3-15 03:32:50 | 显示全部楼层
45,90,135三个点就可以搞定.采40个点,简化代码.
俺精密半波后,加个反向放大,然后再加个OP做过零比较器,触发,启动AD.

出0入0汤圆

发表于 2008-3-15 06:19:36 | 显示全部楼层
1楼正解

出0入0汤圆

 楼主| 发表于 2008-3-15 16:42:49 | 显示全部楼层
电路有点麻烦,不用比较器可不可以?看有的产品就是整流放大后直接送到单片机,是可以实现的。请问1楼,半波整流后信号不是〉=0吗?为何用过零比较?

出0入0汤圆

发表于 2008-3-15 22:37:09 | 显示全部楼层
用有效值最准确了,用峰值不太可靠。中国的电网,,,

出0入0汤圆

发表于 2008-3-15 22:59:46 | 显示全部楼层
AD就是峰值啊

出0入0汤圆

发表于 2008-3-15 23:07:04 | 显示全部楼层
滑动平均值

我就是用它搞电流环的

采样频率要变,

出0入0汤圆

 楼主| 发表于 2008-3-16 20:55:25 | 显示全部楼层
我是想通过峰值来求有效值的,这样采样时间会少些。

出0入0汤圆

发表于 2008-3-17 09:57:27 | 显示全部楼层
呵呵这样吧:
连续采样,采样N个周期的时间,如果是50HZ就采样N*20ms,
然后把这些点求绝对值再求平均,就得到有效值了。有效值*1.414就得到峰值了。
电路这样:
              VREF
               |
             R=5.1K
               |
ACIN---C=10uF--|----ADC_IN
               |
             R=5.1K
               |
              GND

出0入0汤圆

发表于 2008-3-17 16:45:50 | 显示全部楼层
可以做周期法啊,10ms内测8次,然后平均值

出0入0汤圆

发表于 2008-3-17 16:58:47 | 显示全部楼层
学习

出0入0汤圆

 楼主| 发表于 2008-3-17 22:28:15 | 显示全部楼层
先谢谢楼上兄弟!我的原意是通过峰值来求有效值。周期法可取吗?谁能保证工频一定是50Hz?

出0入0汤圆

发表于 2008-3-17 23:31:04 | 显示全部楼层
只有你采样的时间够长,管你周期是多少,得到的一律是有效值,如一秒钟那么最大误差也就约是1/50,2s:1/100...
我所说的是20ms 的整数倍,只是让当采样时间比较短的时候,缩小误差。

出0入0汤圆

发表于 2008-3-18 16:28:14 | 显示全部楼层
这是检测峰值电路
1

出0入0汤圆

 楼主| 发表于 2008-3-19 00:51:40 | 显示全部楼层
采样时间不能太长,否则影响其它工作。
楼上的电路有人用过吗?输入变化时响应速度如何?

出0入0汤圆

发表于 2008-3-23 20:12:49 | 显示全部楼层
看来得理论给你分析分析:
如果采样20ms,不考虑AD量化误差。

频率 vs 误差
45 5.13%       
46 4.13%       
47 3.11%
48 2.07%       
49 1.02%       
50 0.00%       
51 0.98%       
52 1.91%       
53 2.77%       
54 3.55%       
55 4.24%

另外纠正一下,应该是对各点电压值先平方,再平均,再开方,推荐采样频率1K
相信我,没错的
下面是分析的 频率(赫兹) VS 误差(%)
1

出0入0汤圆

发表于 2008-3-26 14:10:50 | 显示全部楼层
一个周期采几十个点,查找里面最大的.

出0入0汤圆

 楼主| 发表于 2008-3-28 17:31:56 | 显示全部楼层
谢谢zhonghua_li及各位热心大虾,我采用每个波形采20点然后求最大值的方法应经能够求得有效值了,而且也很稳定。现在的问题是三相电流的采样只有A相稳定,B相有时候显示为0,C为0的个数更多,这应该是相序的问题,不知大家对三相电流有没有好的处理方法?

出0入0汤圆

发表于 2008-3-28 21:51:25 | 显示全部楼层
三相采样和一相采样是一样的,你把你的输入交换下就很容易看出是信号问题还是各自模块的问题.如果是信号问题,就得加强滤波和去干扰.有些不明白:你为啥要测电流的峰值?一般是根据采样直接求出有效值的.峰值的意义不大,就是做电力保护,也是根据有效值的变化来反应的

出0入0汤圆

发表于 2012-2-7 15:28:30 | 显示全部楼层
看看,也在弄这个

出0入0汤圆

发表于 2013-10-24 13:49:14 | 显示全部楼层
在搞峰值检测,效果不是太理想啊 、、、
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 00:24

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表