在没有已知参考的情况下监测电压

电器工程 Arduino avr 电压测量
2022-01-21 00:05:33

我正在开发一个没有电池的小型传感器平台。我希望能够在电压过低时触发警报。问题是我用来测量该电压的任何东西都将由相同的电压源供电。对于它的价值,我正在使用 4xAA 可充电电池(开始时为 4.8 V,但系统似乎可以在 2 V 左右工作,包括 XBee 发射器)运行 Arduino Pro-mini 克隆(3.3 V)。

有没有人对如何工作有任何聪明的想法?似乎任何使用 ATmega 芯片模拟输入的东西都只是将输入电压与自身进行比较。也许检查来自调节器的东西和来自电池本身的东西之间的区别?

3个回答

大多数(全部?)带有 ADC 的 AVR 都有一个内部参考电压,该电压被调节到一个恒定值,与电源电压无关。检查您的数据表……在我使用的芯片中,它是 2.56V。有一个寄存器可以在与 Vcc、AREF 或内部电压基准进行比较之间进行选择。您只需将其设置为与内部电压参考进行比较,并使用分压器,因此最大电压永远不会超过 2.56V。

像德克萨斯这样的供应主管怎么样

通常,它们会监控电源,如果它低于固定阈值,则输出引脚会改变状态。

然后,您可以将其连接到处理器的不可屏蔽中断(或复位)引脚。

如果您的 Arduino 不支持测量内部带隙参考,只需使用外部参考。

输入引脚上的电压将由参考二极管保持恒定,但您读取的值会因电源而异,因为 ADC 以电源为参考。例如,如果您的参考电压为 1.0 V,而您的 ADC 读取 1024 个中的 512 个,那么您知道电压轨为 2 V。