闫晨我爱你:RC滤波实验有感

来源:百度文库 编辑:九乡新闻网 时间:2024/05/02 11:26:17
备注:下面这篇文章应该是出自一个女研究生之手,应该说是带着思考做实验,试验中又在思考。发现了一些现象可以一些手段方法去验证,寻找问题所在,有点研究生的味道。虽然文章整体较为凌乱,但还是挺意思,故转载。

今天是周末。本来准备休息。

前段时间一直在做采集板的实验。由于我们实验要求比较高,采集恒温槽的温度,但是采集值最后误差不能超过0.1°。我们是用PT100采集温度。PT100每升高10°电阻增加3.85Ω,如果是0.1°的话那就是0.0385.现在我们是给1mA的恒流源,那么电压误差就就是0.0385mV之内。这么小误差的电压值,确实在单片机中很难保持。我们采用的是24位的AD7793外部AD转换器,然后把值传给飞思卡尔单片机。

以2.5V参考电压理论上24位的单片机分辨率是2.5/16777216=0.00015mV。是绝对可以测量保持到0.0385的误差。

但是由于外部的干扰,PCB的布线,器件的噪声。导致我们的误差都远远大于我们想要的误差范围。

经过各种排查,首先我们把各种安全保护器件去掉,比如TVS管,保险丝,磁珠,RC。

去掉以后果然,误差小了很多,几乎减少了5-10倍的数量级。但是与我们自己想要的误差还相差比较大。

后来我们增加了RC,效果大增,几乎可以满足实验要求。然后我们又加入了磁珠误差也有相应的好转。于是我们最后判定,信号要通入AD转换前,最好先进行RC滤波和磁珠。

后来查了一下资料。发现,磁珠原来就是电感,就是它的线圈匝数只有一砸。电感可以去除一定的交流信号。使得信号更加平滑。

RC滤波原来是大有学问,网上各种这类的介绍。

首先RC滤波可以去除信号毛刺,也就是突然一个高点,变化率很大的噪声。这样就可以保持信号的平滑,是单片机更容易采集到正确的值。

同时RC滤波也是一个低通滤波器,让频率比较低的信号过去。公式是:f=1/(2*π*R*C).小于这个频率的信号可以通过,大于的则被电容吸收。

还有就是RC可以理解成RC网络,用自动控制原理里面的拉普拉斯变化(频域变化)可以计算得出,如果一个电压信号通过RC滤波,那么它一定要等3RC的时间之后才会达到原来的95%,4RC之后到达原来的98%,5RC之后到达原来的99.3%.因此信号采集频率和这个关系非常大,一般我们要让采集周期的1/3就要到达那个输入信号。计算可得采集周期要大于15倍的RC。如果RC太小的话那么滤波的效果也会很差(建议选用R=1K,C=0.1uF)。也就是1/f>15RC.这样采集才会误差小于0.007.

综述可得RC既然滤波也就要让留下来的波频率接近采集平率的2-3倍。RC不能太大,也不能太小。若太大大于5倍数量级效果变化很明显。若太小小于1/100数量级的话也效果会很差。最好的就是1/f=15RC。

然后就会有一个疑问,R,C的取值怎么取。

今天自己好奇做实验。终于得出一个很重要的结论。但是还有待后来人的验证。结果是这样的。R和C的取值关系不大,只要RC的值满足就行的。

我实验的f=16.7.换成RC=0.004=4*10-3.

我是取R=100K,C=0.001uf。RC=1*10-3。这样最后的效果已经非常好了,误差只有0.003-0.004mV。

然后R=1K,C=1uf,RC=1*10-3.效果也是一样的。

R=1K,C=0.01UF,RC=0.01*10-3(RC过小).误差有时候会大于0.01

R=1K,C=0.1UF,RC=0.1*10-3(RC略小).误差一般都也在0.003-0.004之间。

R=1K,C=220pf,RC=0.22*10-6.误差接近0.01.

R=20K,C=0.1uf,RC=0.002.误差也几乎在0.003上下。

R=20K,C=1uf,RC=0.02(RC过大50倍).误差有时候超过0.005

R=100K,C=1uf,RC=0.1(RC过大100倍).误差有时候超过0.009

 总之最好是取值是在原来的5倍或1/50之间。

太小(大小RC/50)是因为RC太小,滤波不好干扰噪声还会存在。,太大(小于30RC)是因为RC太小,响应时间太短,输出信号不平稳影响采集。

 以后待后人继续验证。