根据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参考电压时,分辨率的提高将有利于该应用。
Arduino参考页建议这样做是可行的,因为您已通过5kOhm串联电阻耦合到1.8V AREF,并考虑到内部32kOhm电阻隐含的分压器。这只是来自Arduino参考的不好建议,还是做这种事情实际上是一种普遍的做法?Atmel的陈述是否仅限于在没有外部限流电阻的情况下施加到AREF的外部电压(如果是,则考虑内部32k电阻)?
顺便说一句,显然,使用适当构建的运算放大器将1.8V信号缩放至5V可以达到类似的结果,但是如果同样可以由板载ADC处理的话,那么增加的复杂性和部件似乎很浪费。通过利用可变参考电压。同样,如果您可以使自己确信所感测的信号不会超过1.1V,则可以利用内部参考电压。再次,对我来说,使用为低压传感器供电的1.8V调节器来设置参考值似乎更为优雅。