单片机采样电压问题

有个模块输出0-1V,我用万用表测量很稳定,比如0.554v就是这个值,基本不会波动,我现在用单片机采样这个电压值显示,为什么老是波动呢,用的12位AD,TLC2543,滤波算法也有,采样11次,从小到大排,去中间5次的平均值.
但是显示还是会有0.553~0.556波动,差不多有3mv,而且这是牺牲了响应时间的,万用表的话测量不是很快嘛,而且还稳,求大神指教啊
怎么实现和万用表一样的显示,稳定,响应时间快

你的毛病就出在“相应时间快”上面,可以肯定信号电压中含有较大纹波,即使对几个离散的取平均,仍然有抖动。
而数字万用表的A/D是“双积分”型,是对一段连续的时间积分后取得的平均电压,通常还取积分周期是电源50Hz周期的整数倍,这样还有抵抗电源频率干扰的优点。即便如此,数字万用表还没有模拟万用表抗纹波干扰的能力强,因为机械系统的的惯性就是一个低通滤波器。
因此解决的办法是在A/D前面加一个低通滤波器(相当于积分器),它的截止频率应该小于信号中的干扰频率而大于信号本身变化频率。由于你已经发现信号数值基本不动(变化很慢),因此“相应时间快”对你而言没有任何意义,反而成为数据不稳定的源头,因此只要能够通过信号变化周期,这个低通截止频率越低越好。追问

字太多,只能图片了..

追答

示波器看到的干扰周期大概在什么数量级?ms?us?
软件滤波是对几个离散的样本取平均,低通积分器是对连续的模拟数值滤波,效果不同。
你可以参照数字万用表的积分周期,每秒2~4个样本数据,因此低通频率2~4Hz,f=1/2πRC,取330k,1uF;
或者参照万用表的稳定时间3~4s,就是0.3Hz,取330k、10uF。你的信号(浓度)绝对是一个缓变信号,不可能有快速改变的状态,这样的大RC选择比较好,RC时间常数或许还能更大。

追问

这个先留着,分析仪还在客户那边试用,等拿回来我在用示波器看在周期,
要求做到和西门子,仕富梅的表差不多的参数,..
您有什么即时通讯方式吗,我加下,碰到问题再向您请教啊

追答

不是一直在线,没事上网时会到这里看看。也不使用QQ。

追问

追答

我怎么看你的试验结果很正常呀?如果是0.9120与0.9110这才是有问题的数据。你这是0.912与0.911,只是在末位数误差+-1,数字系统总是有尾数+-1的误差的,它是量化过程造成的,不可避免,它总不能给你一个0.911与0.912中间的数字啊,人家没有这个量化台阶!你用的是几位A/D(我猜想是12位?)?最大量程设计在多大电压(4V?)?如果我猜想正确,它就是应该有1/4098(即1mV)误差。
要达到0.001%精度,即十万分之一,即使用足16位A/D的精度,也只有1/65536,都够不着啊!起码要17位以上,还要有效的利用它的全部动态范围,像你的试验状态,0~1V只用了它的1/4动态范围,等于又白白减少了2位精度,这就需要用19位以上的采样精度才能达到0.001%误差。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-28
万用表是经过滤波的,首先建议你用示波器看下模块的输出波动在1mv以内,集成12位AD的单片机AD速率应该不低,我用过的基本上都能达到100k,完全可以加大采样次数。
还有一个就是在电压基准5V情况下12位AD的分辨率为0.0012v,有3mv的波动也很正常,干嘛那么较真呢
第2个回答  2014-01-28
万用表响应很慢,你可以用双积分型的ad,响应慢,但是稳定
相似回答