来自ATMega328 数据表,第 24.9.1 节:
如果将外部参考电压施加到 AREF 引脚,则可能无法使用内部参考电压选项。
从 Arduino参考页面:
或者,您可以通过一个 5K 电阻将外部参考电压连接到 AREF 引脚,从而允许您在外部和内部参考电压之间切换。请注意,电阻器会改变用作参考的电压,因为 AREF 引脚上有一个内部 32K 电阻器。两者充当分压器,因此,例如,通过电阻器施加的 2.5V 将在 AREF 引脚产生 2.5 * 32 / (32 + 5) = ~2.2V。
ATMega328 数据表确认表 29.16 ADC 特性中的“内部 32k 电阻器”参考:参考输入电阻 = 32 kOhm。
话虽如此,上述两种说法似乎有些相互对立。我有一个应用程序,其中一些传感器输出 0-5V 满量程,其他传感器输出 0-1.8V 满量程。当对 1.8V 传感器进行采样并切换到 5V 传感器的内部 AVCC 参考时,该应用将受益于切换到 1.8V AREF 的更高分辨率。
Arduino 参考页面建议,如果您已通过 5kOhm 串联电阻耦合到 1.8V AREF,并考虑了内部 32kOhm 电阻的隐含分压器,那么这是一件好事。这只是来自 Arduino 参考的坏建议,还是实际上是做这种事情的一种常见做法?Atmel 的声明是否仅限于在没有外部限流电阻的情况下施加于 AREF 的外部电压(如果是,为什么,考虑到内部 32k 电阻)?
顺便说一句,显然,通过适当构造的运算放大器将 1.8V 信号缩放至 5V 可以达到类似的结果,但是如果板载 ADC 也能处理增加的复杂性和部件似乎很浪费通过利用可变电压基准。同样,如果您可以说服自己检测到的信号不会超过 1.1V,您可以利用内部电压基准。再一次,对我来说,使用我为低压传感器供电的 1.8V 稳压器来设置参考值似乎更优雅。