AD转换0~3.3V 测较低电压数值会漂移,AD值,电压数值波动
有时候是正确的,有时候又不正确,怎么办?
当输入测量电压低于该电压时,AD值就会波动如下图(PA0输入0.99V)
当PA1输入0V时(10K下拉电阻接地)AD转换值波动如下图
我也做过相似的项目,AD电压不稳可能有:
1、电源纹波太大,前日做的一项目发现电压不稳,在AD输入引脚加了几个104的电容虽然有所改善但是还是有抖动,最后发现时纹波太大500MV,什么概念电压输入0~3.3V。这干扰有多大。最后在电源和地之间加了两个1000uf大电容才大大改善,但是还是有点不稳
2、软件加滤波,建议小编把采回的电压数据进行排序,取中间的稳定值才非常稳
你的电压好像有脉冲干扰,先查电路纹波,后加软件滤波
噢噢 谢谢!我尝试一下看看结果怎样
我想问一下 小编,STM32采集AD的时候一直有一个初值怎么去掉
没有遇到这样的情况,你检查一下是不是配置问题?
最好采用传感器,低电压踩出来会有噪声的,
有噪声干扰,可以拿测量电路或者是霍尔传感器
1)谢谢各位大神指点,漂移的问题基本解决,将ADC改成初始化的时候启动,将 ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_55Cycles5);
ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 2, ADC_SampleTime_55Cycles5 );
采样时间从239.5改成55.5,然后测0.几伏电压就不漂移了
2)现在的问题是测较低电压(低于2V)的时候误差比较小,约0.1V;但是测2点几伏,3点几伏的时候,所有数据都比万用表测得数据小0.2V左右,该怎么处理呢?求平均的话结果也还是会比真实值低0.2V吧?
把采集的数据直接发串口显示,分析采回的数据,如果采回的数据比较平稳可以采用平均,但是如果有个别波动比较大,不适合求平均!