Я рассчитываю сделать индикатор заряда батареи, который можно использовать вместе с микроконтроллером. Я надеюсь, что смогу тогда прочитать текущее время автономной работы и все больше перевести микроконтроллер в режим сна, чтобы продлить срок службы батареи.
microcontroller
sleep
indicator
low-battery
littlebirdceo
источник
источник
Ответы:
На основной вопрос, как измерить напряжение батареи, самый простой метод - это использовать один из выводов АЦП на Arduino.
Если вы подаете 5 В от батареи (маловероятно), то вы можете запустить + прямо на один из аналоговых выводов и использовать analogRead () - каждое приращение значения (от 0 до 1023) будет представлять 4,9 мВ. Таким образом, умножьте значение чтения на .0049, чтобы получить показания вольт.
Если вы используете напряжение выше 5 В (более вероятно), вы можете использовать схему делителя напряжения (см .: http://en.wikipedia.org/wiki/Voltage_divider ), чтобы подать напряжение, которое вы посылаете, на аналоговый вход для <= 5 Если вы используете 12 В, вам нужно разделить напряжение примерно на 1/3. Затем, после умножения значения АЦП, умножьте на 3, чтобы получить фактическое напряжение.
Таким образом, при использовании 12 В и 1/3 делителя напряжения:
! с
источник
tinker.it опубликовал «секретный» измеритель уровня напряжения в Atmega168 / atmega328. С небольшой хитростью Arduino может сравнить VCC с внутренней точностью 1.1v. Объяснение и код здесь: https://provideyourown.com/2012/secret-arduino-voltmeter-measure-battery-voltage/
источник
Предложение shutterdrone очень хорошее, но не хватает деталей, так как это означает, что аналоговое опорное напряжение такое же, как напряжение измеряется (в сторону от предполагая, что Arduino используется, который явно не указано иное).
Вам понадобится АЦП, будь то встроенный в ваш ОК или внешний компонент. АЦП необходим аналоговый источник опорного напряжения (AREF), чтобы сравнить вход с. Вы не хотите, чтобы ARef быть таким же, как напряжение вы будете зондирование, потому что тогда АЦП всегда будет видеть входные и опорные напряжения в равных условиях, поэтому аналоговое значение для считываемого напряжения всегда будет максимальным. Что вам нужно, это очень точное опорное напряжение аналогового что не будет изменяться по мере изменения напряжения питания. АЦП будет сравнивать, что опорное напряжение на напряжение аккумуляторной батареи; Вы можете использовать делитель напряжения, чтобы уменьшить напряжение аккумулятора в диапазоне ARef.
Arduino (Atmega8 / 168/328 / etc.) Имеет встроенный АЦП и встроенный аналоговый эталон 1,1 В, поэтому единственными внешними компонентами, которые вам нужны, являются резисторы для делителя напряжения. Я думаю, что вы также хотели бы использовать очень высокие значения для резисторов, чтобы уменьшить ток утечки на батарею.
источник