AD转换数据一般要怎么处理???

[复制链接]
9390|14
 楼主| areshan 发表于 2010-6-9 15:26 | 显示全部楼层 |阅读模式
大家在用AD时是怎么处理转换数据的呢?我要测量220V的交流电压,用的是电阻分压,和1个电容的滤波。在设置AD的时候,AD的转换时间为50us。我想得到AD结果平均值。220V的交流电的周期是20ms,那我要是得到平均值,我不是要得到20ms/50us=400个数据。单片机怎么能一样处理这么多的数据???大家在用AD时是怎么处理数据的呢???
lanmp 发表于 2010-6-9 16:24 | 显示全部楼层
没必要采个不停阿。
ningling_21 发表于 2010-6-9 16:39 | 显示全部楼层
采集一组数据,例如16个,然后取平均...
 楼主| areshan 发表于 2010-6-9 17:39 | 显示全部楼层
16个数据是连续采集的吗???如果是连续采集,那时间太短了,不能覆盖一个周期,取平均值有问题。。。。。
要是不用连续采集,那用定时器,设置时间。像是交流电压,周期是20ms,我要是采集20次,就是1ms产生中断,获取AD的值吗????
但是这样就多用了一个定时器!!!
 楼主| areshan 发表于 2010-6-9 17:41 | 显示全部楼层
还有我在程序中用到了3个中断源,感觉AD中断时间太短了,会对其他中断有影响。。。
black.lu 发表于 2010-6-9 20:40 | 显示全部楼层
首先如果你需要很多地方用定时器,那就把定时器的值设定一个基值,例如100us进入一次定时器溢出中断,然后累计10次后触发另一个不用的中断用于AD采集,关于中断会打扰程序主体的实时性的问题,需要LZ自己分配好了,不同情况不同对待吧
Quentin 发表于 2010-6-9 20:43 | 显示全部楼层
AD转换速率没必要设那么高
根据采样定理,50Hz的信号采样率达到100Hz以上就可以了
AD转换时间为50us,但是采样间隔应该是可以控制的吧
SLEET1986 发表于 2010-6-10 08:02 | 显示全部楼层
期待高手的回答哦,变化的信号不太会处理啊
decayworld 发表于 2010-6-10 14:55 | 显示全部楼层
搞不懂啊 真复杂啊
humy 发表于 2010-6-10 15:43 | 显示全部楼层
测有效值还是平均值哦
 楼主| areshan 发表于 2010-6-10 15:57 | 显示全部楼层
11# flmyueyang   
你的思路是,定义采样次数变量UI_SampleCount,然后采样第2次,和第1次相加,取平均值,再与第3次采样相加,取平均值,依次下去。。。这样算法也挺好,当的权数占50%。。。。。谢谢你,我会考虑你的算法的。。。。
jacky-cheung 发表于 2010-6-10 16:02 | 显示全部楼层
以上的答复者基本都没有搞过交流采样。
采样周期性的交流信号,例如220V的市电,一般用电压互感器,先把220降到AD的许可范围,且起到隔离的安全作用,加运放调理一下,再到AD,最好用可以正负输入的双极性AD,用单极性的AD必须用运放把信号抬到正。
采样的频率一般为2的N次方。如32点,64点等。如果信号频率已知且不变,AD的启动信号可以用定时器;如果信号频率可变,则最好用PLL锁相环。
kimi.wang 发表于 2010-6-12 15:58 | 显示全部楼层
以上的答复者基本都没有搞过交流采样。
采样周期性的交流信号,例如220V的市电,一般用电压互感器,先把220降到AD的许可范围,且起到隔离的安全作用,加运放调理一下,再到AD,最好用可以正负输入的双极性AD,用单极 ...
jacky-cheung 发表于 2010-6-10 16:02


AC电压采样用电阻分压采样也是可以的, 只是精度差了点(可以加小线圈、电容、使用1%电阻之类的措施改善, 注意采样口加个嵌位二极管),应该MS级的采样间隔就够了。。。
ic_ic 发表于 2010-6-13 14:21 | 显示全部楼层
我的一般做法是:
采集(n(通常为4,8,16,。。)+2)个数据值,然后“砍头(max)斩尾(min)”,求平均值。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

127

主题

728

帖子

0

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