• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Вопрос ESP8266 и мониторинг собственной батарейки

Сергей_Ф

Moderator
Команда форума
@eratnik глянул даташит - вроде годится, но.. для LiPo я бы взял 7327, наверное. Еэспишке все равно, но питание будет стабильнее.
 

az_dedsad

New member
Если речь идет о скетче то так.
ESP.getVcc ();
Чтобы прочитать напряжение питания, и контакт АЦП должен быть отключен. Кроме того, следующая строка должна быть добавлена в заголовок:
ADC_MODE (ADC_VCC);
Эта строка должна появиться вне всяких функций, например сразу после #include строки эскиза.
Вот попытался реализовать запрос о состоянии питания.
Плата WiFi D1 R2 RobotDyn
Питание и и порт - USB
Скетч таков:

Код:
ADC_MODE (ADC_VCC);

double vcc = (double)ESP.getVcc()/1000; //измерение напряжения питания
String msg = "Battery_Vin = "+String(vcc);
void setup() {
  Serial.begin(115200);  // initialize serial communications at 115200 bps:
}
void loop() {
//  msg = "Battery_Vin = "+String(vcc);
Serial.println(msg);
  delay(5000);
}
Но вместо ожидаемых 3,3 на монитор получаю 2,76 ...
Подскажите - почему так, и как тогда контролировать входящее напряжение питания?
 

Evgeniy163

New member
В этой плате на выводе А0 весит резистивный делитель, он то и вносит ошибку измерения. Для нормальной работы getVCC() вывод A0 ESP8266 должен быть в воздухе.
 

Вложения

az_dedsad

New member
В этой плате на выводе А0 весит резистивный делитель, он то и вносит ошибку измерения. Для нормальной работы getVCC() вывод A0 ESP8266 должен быть в воздухе.
Значит, не мудрствуя лукаво, надо умножить получаемый результат на этот делитель. )) А как узнать что и что он делит?
 

Evgeniy163

New member
Я же схему платы дал. Можно попробовать выкинуть R17 и посмотреть результат getVCC().
Но, честно говоря, я не понимаю зачем контролировать VCC при стационарном стабилизированном питании, лишая себя единственного аналогового входа. Если бы схема питалась от батареек (аккумуляторов), то какой то смысл был бы.
 
Последнее редактирование:

az_dedsad

New member
Значит, не мудрствуя лукаво, надо умножить получаемый результат на этот делитель. )) А как узнать что и что он делит?
Если исходить из формулы -выходное напряжение прямо пропорционально входному напряжению и отношению сопротивлений R1 и R2, то имеем два варианта - 4в и 8,8в. Как в схеме определить где R1? а где R2 при номиналах 220к и 100к ?
 

az_dedsad

New member
Если исходить из формулы -выходное напряжение прямо пропорционально входному напряжению и отношению сопротивлений R1 и R2, то имеем два варианта - 4в и 8,8в. Как в схеме определить где R1? а где R2 при номиналах 220к и 100к ?
И при чем здесь делитель, если мы измеряем ПИТАЮЩЕЕ напряжение, а не вход на АЦП?
 

az_dedsad

New member
Я же схему платы дал. Можно попробовать выкинуть R17 и посмотреть результат getVCC().
Но, честно говоря, я не понимаю зачем контролировать VCC при стационарном стабилизированном питании, лишая себя единственного аналогового входа. Если бы схема питалась от батареек (аккумуляторов), то какой то смысл был бы.
Плата - всего лишь платформа дря разработки. Рабочий ESP-12f будет закопан в землю и питаться от батарейки, и только 2-4 раза в сутки выходить на связь...
 

Сергей_Ф

Moderator
Команда форума
при чем здесь делитель, если мы измеряем ПИТАЮЩЕЕ напряжение, а не вход на АЦП?
при том, что внутренний коммутатор не отключает пин аналогового входа, а добавляет делитель внутренний. Получается мешанина делителей.
 

az_dedsad

New member
Надо сделать так.
При первом включении ESP, это состояние определите по коду system_get_rst_info() ,
измеряете напряжение питания и пишите полученный код в RTC memory
Когда ESP проснется то код system_get_rst_info() будет другой.
Вы снова измеряете напряжение и сравниваете его с сохраненным кодом.
В таком варианте вам вообще по... все делители на входе, вы просто определяете какая доля напряжения от начального осталась.
Спасибо! Это вариант... Вот только с " system_get_rst_info()" надо разобраться и постигнуть азу записи / чтения RTC memory...
 

Pashy777

New member
Если речь идет о скетче то так.
ESP.getVcc ();
Чтобы прочитать напряжение питания, и контакт АЦП должен быть отключен. Кроме того, следующая строка должна быть добавлена в заголовок:
ADC_MODE (ADC_VCC);
Эта строка должна появиться вне всяких функций, например сразу после #include строки эскиза.
Подскажите скейтч для измерения напряжения 12 вольт.
 

123ganzubas

New member
Подскажите скетч для измерения напряжения 12 вольт.
Присоединяюсь к вопросу. Необходимо дистанционно контролировать напряжение 12 вольт в автомобиле. Поскольку в нем стоит воздушный отопитель салона. И при Снижении напряжения ниже 11 вольт он отключается. Нужно не про...ть этот момент.
 

Shyster

New member
Присоединяюсь к вопросу. Необходимо дистанционно контролировать напряжение 12 вольт в автомобиле. Поскольку в нем стоит воздушный отопитель салона. И при Снижении напряжения ниже 11 вольт он отключается. Нужно не про...ть этот момент.
нет такого. esp меряет только до 1В. решение вашего вопроса в делителе или компараторе. ну и скетч у вас будет под вашу схему.
 

bstsoft

Member
Приветствую,
реализовывал ли кто-то мониторинг напряжения внешней батарейки для сигнализации того, что ее надо заменить?
Интересует то, как это было организовано/ вы бы организовали(минимальные напряжения, возможно есть какие-то другие нюансы)?
Я использовал вот этот модуль Купить Модуль измерения уровня заряда литиевых аккумуляторов MAX17043 I2C
Он предназначен для контроля заряда литиевых батарей. Процент зарядки батареи показывает.
Можем схему обсудить будет питаться и при 2.5 от лития просто поставим повышайку.

Пиши на почту bstsoft@yandex.ru
 

az_dedsad

New member
при том, что внутренний коммутатор не отключает пин аналогового входа, а добавляет делитель внутренний. Получается мешанина делителей.
Прошел почти год, и , как я понимаю,
при том, что внутренний коммутатор не отключает пин аналогового входа, а добавляет делитель внутренний. Получается мешанина делителей.
Всем привет! Прошел почти год, а вопрос "ESP8266 и мониторинг собственной батарейки" так и остался без решения... И без идей его решения...)
 

az_dedsad

New member
И что вас не устраивает в MAX17043 I2C?
Прежде всего что это - литиевые аккумуляторы. Огород, где находятся "датчики ЕСП" не лучшая среда их обитания. А во-вторых это наращивание пирамиды модулей для простого решения очевидной задачи, что , имхо, не практично...
 

az_dedsad

New member
Прежде всего что это - литиевые аккумуляторы. Огород, где находятся "датчики ЕСП" не лучшая среда их обитания. А во-вторых это наращивание пирамиды модулей для простого решения очевидной задачи, что , имхо, не практично...
И, в- третьих, цена модуля контроля батарея в раза выше цены модуля ЕСП. Ну и стоит ли огород городить ....
 

=AK=

New member
Всем привет! Прошел почти год, а вопрос "ESP8266 и мониторинг собственной батарейки" так и остался без решения... И без идей его решения...)
Элементарно.

1. От батареи запитайте MIC94091 или аналогичный.
2. Вход управления MIC подключите к выходному порту ESP.
3. К выходу MIC подлючите резистивный делитель 1:5 и подайте на вход АЦП.

Для измерения напряжения батарейки включите MIC, померяйте напряжение и отключите MIC, чтобы не разряжать батарейку.
 
Сверху Снизу