抖动ADC采样值

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.wsdof.com/support.我们将在未来几天修复bug /优化搜索和标记。
4个职位/ 0个新
最后发表
贺拉斯谢长廷
离线
最后看到:2年9个月前
加入:2016-05-05 16:34
抖动ADC采样值

你好,

在我们的设计中,使用4.2v锂电池。
由于14580只支持1.2v或3.6v的adc Vref,
我们为两个参考电压设计了几个外部分压器,以找出一个可接受的解决方案(更少的泄漏电流+稳定的采样值),

请查收附件我们的测试
采样代码如下:
adc_init (GP_ADC_SE GP_ADC_SIGN,经办人);// attn == 0 in case of attn1x & attn == GP_ADC_ATTN3x in case of
adc_usDelay (20);
adc_enable_channel(渠道);// channel == ADC_CHANNEL_P01/P02,且gpio已经被配置为PID_ADC。
adc_sample = adc_get_sample ();
adc_usDelay (1);
adc_init (GP_ADC_SE 0经办人);
adc_enable_channel(渠道);
adc_sample2 = adc_get_sample ();

在浏览了论坛上许多关于ADC采样的帖子后,
对于无限阻抗(w/ attn1x),你推荐的采样模式是移除内部衰减(ATTN3x)。

但是,从我们的测试结果来看,attn1x的采样结果不如attn3x的稳定。
例如:
一个。
配置外分频2.7M+1M+attn1x设置,电压4.2的采样值范围为934 ~ 953 (adc_sample1)。
偏差将达到82mv=((953-934) * 1200/1024)*(2700+1000)/1000,这对于电池放电估计是不可接受的。
b。
配置外部分频680k+2.7M+attn3x设置,4.2v的采样值从689扩展到699 (adc_sample1)
偏差等于((699-689)*3600/1024)*(2700+680)/2700=44mv,小于上述解。

因此,我们的问题是
1)使用attn3x的解决方案有什么缺点?从测试结果来看,无穷大的阻抗不能得到稳定的采样值,这是为什么?
2)在attn3x模式下,如果内部阻抗只有300K欧姆,
使用一对较大的电阻器(如3M)比一对较小的电阻器(xxx K)以减少泄漏(大约20ua+)是否合理?
正如有人告诉我的,外部分压电阻不会超过内部阻抗的1/10。

设备:
MT_dialog
离线
最后看到:4个月1天前
工作人员
加入:2015-06-08 34
嗨,霍勒斯,

嗨,霍勒斯,

1)通常当使用分压器来降低你测量的信号接近ADC参考时,这意味着会有一个从分压器引入的误差,通过使用衰减器和外部分压器应该结果不是一个更大的错误,而是一个完全未定义的电压部门因为你也涉及到内部的内部电阻分压器parrallel外部的电阻分压器(这就是为什么建议不要使用衰减器以及一个外部分压器由于大的阻抗,使您没有电阻的限制)。所以你在上面执行的衰减器部分的计算是错误的,因为在这些计算中,你只考虑形成分压器的外部电阻,而不考虑来自内部衰减器的电阻,这就是为什么你不应该使用外部分压器的衰减器,显然,误差是更大的衰减器配置比正常配置。

2)对于使用更小或更大的电阻,通常使用更大的电阻会引入更大的误差,但会限制泄漏,更小的电阻将提供更准确的测量,但会增加泄漏电流。有关的阻力和1/10的内部阻抗有一些原因,因为如果例如内部阻抗是300 k,您使用一个大电阻并联(3000 k)这意味着几乎会影响上的电阻分压器(你会得到一个电阻器值272 k的分频器),因此一个不同的分割因子,但如果你使用一个值的内部阻抗的1/10让我们说30K,这意味着总电阻将接近27K(非常接近电阻值,你已经放置)。

由于MT_dialog

贺拉斯谢长廷
离线
最后看到:2年9个月前
加入:2016-05-05 16:34
嗨太,

嗨太,

好的,谢谢你详细的解释,我学到了很多。
现在我剩下的问题是如何在低泄漏的情况下减小adc采样的偏差范围,
为什么这对(750K:249K)的采样值与较大的那对(2700K:1000K)的采样值有相似的偏差?

我的代码中是否有任何错误,或者有任何建议来最小化软件方面的偏差?

贺拉斯谢长廷
离线
最后看到:2年9个月前
加入:2016-05-05 16:34
你好,

你好,

我们通过更换E96电阻,缩短电阻连接的调试线,解决了adc采样值浮动的问题。
请按已解决的关闭,谢谢!