Измерение уровня заряда батареи с уже используемым АЦП
У меня есть NodeMCU v3 с ESP8266, и я запускаю небольшой проект, в котором я измеряю вход от ИК-фототранзистора через вывод АЦП (A0), и все работает безупречно.
Но теперь я хочу перенести его на источник батареи (powerbank -> microUSB) и хочу иметь возможность определить оставшуюся емкость батареи, но все учебные пособия, которые я нашел, проходили через переключение АЦП (A0) на внутренний, тем самым отключая его.
Есть ли другой способ измерить заряд батареи ИЛИ вход фототранзистора?
Спасибо!
@Sheler, 👍0
Обсуждение1 ответ
Лучший ответ:
Как справедливо заметил в комментариях @dandavis, напряжение аккумулятора от повербанка измерить нельзя. Это связано с тем, что блок питания обычно включает в себя повышающий преобразователь для преобразования напряжения аккумулятора (от 3,2 до 4 В) в стабильные 5 В. Эти 5 В всегда будут 5 В (или около того), пока батарея не разрядится и внешний аккумулятор не отключится.
Чтобы измерить состояние батареи, вам потребуется напрямую подключиться к батареям (разобрать блок питания) и подключиться к самим клеммам батареи.
Некоторые внешние аккумуляторы также оснащены светодиодами для отображения оставшегося заряда. С ними также можно напрямую взаимодействовать.
Однако следует отметить, что использование блока питания для платы ESP8266 довольно глупо. Вы берете номинальное напряжение 3,6 В, увеличиваете его до 5 В, а затем снова линейно опускаете до 3,3 В. Обе ступени связаны с потерей мощности — больше всего от 5 В до 3,3 В (линейный регулятор превращает лишнее напряжение в тепло).
Вам было бы лучше вынуть батареи из блока питания и подключить их напрямую к входу питания или, что еще лучше, подать их через высокоэффективный импульсный стабилизатор, чтобы получить стабильные 3,3 В, и подать их непосредственно на контакт 3,3 В. . не забудьте включить какой-либо способ контроля напряжения батареи и отключения питания, когда оно становится слишком низким. Поскольку ваш вход АЦП уже используется, самым простым способом является добавление внешнего чипа АЦП в вашу конструкцию.
- ESP8266: system_adc_read_fast() всегда возвращает 1024
- Измерение напряжения литий-ионного элемента, используемого для питания Arduino через повышающий модуль
- Считать напряжение батареи и значение аналогового датчика с помощью NodeMCU ESP8266.
- Arduino/ESP8266 нет данных SPI, поступающих от MCP3008
- Как считывать высокое напряжение (40-65В) с блока солнечных батарей
- Где определение system_adc_read() в коде esp8266 Arduino?
- Обратное напряжение двигателя постоянного тока, как правильно разместить диод?
- Любой способ использовать DMA для передачи данных на SD - карту в ESP8266
вы можете просто прекратить исследовать сейчас; банк питания будет выдавать 5,0 В, пока не разрядится., @dandavis