• Система автоматизации с открытым исходным кодом на базе 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

New 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, чтобы не разряжать батарейку.
 
Сверху Снизу