关于单片机读取外部电压ADC阻抗匹配的问题——工程师原创应用笔记

工程师技术分享 雕塑者 · 2021-01-26

单片机的基准电压一般为3.3V,如果外部信号超过了AD测量范围,采用电阻分压是最为简单的一种方法,然而很多时候你会在阻抗匹配的问题上“踩坑”。比如,SMT32的模数输入阻抗约为10K,如果外接的分压电阻无法远小于该阻值,则会因为信号源输出阻抗较大,AD的输入阻抗较小,从而输入阻抗对信号源信号的电压造成分压,最终导致电压读取误差较大。这样的情况会导致你测量电压的时候,发现有些电压点好像测的挺准,而有些电压点测量的偏差却又很大。

 

考虑阻抗匹配的问题,对于使用单片机读取外部信号电压,外接分压电阻必须选用较小的电阻,但在对功耗有要求的情况下,你不得不选用大阻值的电压分压后,这时候则需要使用电压跟随器进行阻抗匹配(电压跟随器输入阻抗可达到几兆欧姆,输出阻抗为几欧姆甚至更小)。如果信号源的输出阻抗较大,可采用电压跟随器匹配后再接电阻分压。

 

当然,你也可以选择外置的ADC芯片,但是在选型时,要留意其类型(SAR型、开关电容型、FLASH型、双积分型、Sigma-Delta型),不同类型的ADC芯片输入阻抗不同。常见的Sigma-Delta型是目前精度最高的ADC类型,也属于开关电容型输入,其所需要注意的问题相对比较多。

 

1、测量范围问题:SigmaDelta型ADC属于开关电容型输入,必须有低阻源。所以为了简化外部设计,内部大多集成有缓冲器。缓冲器打开,则对外呈现高阻,使用方便。但要注意了,缓冲器实际是个运放。那么必然有上下轨的限制。大多数缓冲器都是下轨50mV,上轨AVCC-1.5V。在这种应用中,共莫输入范围大大的缩小,而且不能到测0V。一定要特别小心!一般用在电桥测量中,因为共模范围都在1/2VCC附近。不必过分担心缓冲器的零票,通过内部校零寄存器很容易校正的;


2、输入端有RC滤波器的问题:SigmaDelta型ADC属于开关电容型输入,在低阻源上工作良好。但有时候为了抑制共模或抑制乃奎斯特频率外的信号,需要在输入端加RC滤波器,一般DATASHEET上会给一张最大允许输入阻抗和C和Gain的关系表。这时很奇怪的一个特性是,C越大,则最大输入阻抗必须随之减小!刚开始可能很多人不解,其实只要想一下电容充电特性久很容易明白的。还有一个折衷的办法是,把C取很大,远大于几百万倍的采样电容Cs(一般4~20PF),则输入等效纯电阻,分压误差可以用GainOffset寄存器校正;


3、运放千万不能和SigmaDelta型ADC直连!前面说过,开关电容输入电路电路周期用采样电容从输入端采样,每次和运放并联的时候,会呈现低阻,和运放输出阻抗分压,造成电压下降,负反馈立刻开始校正,但运放压摆率(SlewRate)有限,不能立刻响应。于是造成瞬间电压跌落,取样接近完毕时,相当于高阻,运放输出电压上升,但压摆率使运放来不及校正,结果是过冲。而这时正是最关键的采样结束时刻。所以,运放和SD型ADC连接,必须通过一个电阻和电容连接(接成低通)。而RC的关系又必须服从datasheet所述规则;


4、差分输入和双极性的问题:SD型ADC都可以差分输入,都支持双极性输入。但这里的双极性并不是指可以测负压,而是Vi+ Vi-两脚之间的电压。假设Vi-接AGND,那么负压测量范围不会超过-0.3V。正确的接法是Vi+ Vi- 共模都在-0.3~VCC之间差分输入。一个典型的例子是电桥。另一个例子是Vi-接Vref,Vi+对Vi-的电压允许双极性输入


作者介绍:雕塑者(笔名),一名乐于开源文化的工程师,个人公众号【硬件大熊】。后续原创技术应用笔记还将在我爱方案网上线,敬请期待!


来源:我爱方案网



版权声明:本文为博主原创,未经本人允许,禁止转载!



相关推荐

文章评论