【每周分享】ADC芯片采样高阻值NTC时采样值偏差大的原因分析
最近调试板子发现下面这个问题:ADC芯片采样高阻值NTC时采样值偏差大,截取的部分原理图和实测数据如下(参考电阻已从原理图的5.1KΩ改成47KΩ):ADC芯片采样高阻值NTC时采样值偏差大这个问题其实是很多嵌入式系统在采集高阻值传感器时都会遇到的问题;这并不是ADC芯片本身“坏了”,而是由一系列物理定律和电路特性决定的。下面我将详细解释为什么会出现这种现象,以及如何解决和改善它。核心原因可能还是出现在信号源阻抗与采样时间的矛盾上面。ADC的输入端并非理想的,它内部有模拟开关和一个小电容(称为采样保持电容),在采样阶段,ADC需要在一个非常短的时间内(采样时间)通过开关将这个电容充电到与被测电压相同的电平。这个充电过程可以简化理解为一个RC电路:R(电阻): 信号源本身的电阻(您的温度传感器电阻,例如PT1000在低温时可达几千欧姆)加上您前端电路的任何串联电阻。C(电容): ADC内部的采样保持电容(通常几皮法到几十皮法)加上PCB的寄生电容。RC电路有一个重要的特性:充电时间常数τ = R × C。电容电压上升到目标电压的63.2%需要1个τ的时间,上升到99.3%需要5个τ的时间。然后问题就出在这里:电阻R变大:当您的温度传感器电阻值增大时,整个充电回路的总电阻R显著增大。时间常数τ变大:根据 τ = R × C,时间常数τ随之线性增大。充电时间不足:ADC的采样时间通常是固定或有限制的。如果采样时间太短,小于5τ,那么采样电容上的电压就没有完全充电到真实的信号电压。导致的结果:读到的ADC值对应的是一个未充满电的电容电压,因此这个值会低于真实值。电阻越大,τ越大,充电越不充分,偏差也就越大。其他可能加剧问题的因素:ADC的输入泄漏电流:所有ADC的输入引脚都有一个微小的泄漏电流(Input Leakage Current)。这个电流会流过信号源电阻,从而产生一个额外的电压降。电压误差 = 泄漏电流 × 信号源电阻当信号源电阻很大时(例如1MΩ),即使一个很小的泄漏电流(例如100nA)也会产生 100nA × 1MΩ = 100mV 的显著误差!而对于低阻值信号,这个误差可以忽略不计。参考电压源的稳定性:如果您的ADC参考电压本身就不稳定或有噪声,在高阻值采样时,系统对抗噪声的能力会更差,可能导致读数跳动更大。外部噪声干扰:高阻抗节点对周围的电磁噪声非常敏感,就像一根天线。这些噪声会耦合到信号中,影响采样精度。
如何解决和改善这个问题?解决方案的核心思想是:降低ADC输入端看到的信号源阻抗。方案1:使用运算放大器(电压跟随器)——最有效、最常用的方法在传感器和ADC之间加入一个单位增益缓冲器(电压跟随器)。工作原理:运算放大器具有极高的输入阻抗(通常为GΩ级别)和极低的输出阻抗(通常为几欧姆到几十欧姆)。好处:对传感器:运放的高输入阻抗几乎不从传感器汲取电流,因此不会在传感器电阻上产生额外的压降,保证了测量精度。对ADC:运放的低输出阻抗为ADC的采样电容提供了一个“强壮”的驱动源,使得RC充电时间常数(τ = R_low × C)变得非常小,即使在很短的采样时间内也能快速完成充电。
方案2:调整ADC的采样时间参数如果您的微控制器允许配置ADC(例如STM32系列),可以尝试:延长采样时间:增加ADC的采样周期寄存器值,给予电容更充分的充电时间。这对于中等级别的源电阻(几十kΩ以下)可能有效,但对于更高的电阻,延长采样时间可能不够或会影响整体采样速率。降低ADC时钟频率:降低ADC的时钟也会变相增加采样时间。这种方法是一种软件/配置上的低成本尝试,但效果有限。
方案3:优化硬件设计选择合适的传感器:在满足要求的前提下,优先选择阻值较低的传感器(例如PT100相对于PT1000)。减小寄生电容:优化PCB布局,尽量缩短ADC输入走线的长度,避免在高速ADC输入线附近铺铜,以减小对地的寄生电容。添加滤波电容:在ADC输入端添加一个对地的小电容(例如10pF~100pF)可以帮助滤除高频噪声。注意:这个电容会与信号源电阻形成另一个RC滤波器,并增大总的RC时间常数,可能会加剧充电问题。因此,它必须与低输出阻抗的运放配合使用才安全。如果直接接在传感器后面,可能会让情况更糟。如果有这方面经验的大佬,也请回帖分享一下可行的解决方案,非常感谢! 如果有这方面经验的大佬,也请回帖分享一下可行的解决方案,非常感谢! 理想ADC是高阻态的,实际ADC运行需要输入电流的应该在几个微安级,可以找FAE问一下。
不知道是不是与电阻R451和R454有关? NTC采样用这么贵的ADC干什么,19K的采样率完全用不到白白浪费钱,用国产的CS1237,1K采样率采NTC再合适不过了,用我的PT100电路准得冒泡 qinlu123 发表于 2025-9-28 15:28
NTC采样用这么贵的ADC干什么,19K的采样率完全用不到白白浪费钱,用国产的CS1237,1K采样率采NTC再合适不过 ...
哈哈,最新方案已经改用国产芯片了,ADI和TI的确实老贵了。 dffzh 发表于 2025-9-28 16:01
哈哈,最新方案已经改用国产芯片了,ADI和TI的确实老贵了。
24位ADC19K的采样率也值这个钱 qinlu123 发表于 2025-9-28 16:22
24位ADC19K的采样率也值这个钱
不过现在不少国产芯片都可以与国外对标的芯片执行pin to pin兼容,更换+测试也比较方便。 真是神人,12位内部单片机可以测量NTC的,竟然采用这么贵的芯片,服...而且,还来纠结这个问题,我怀疑你卖芯片的。
页:
[1]