Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

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

Тема в разделе "Общие вопросы по esp8266", создана пользователем noone, 18 мар 2016.

  1. tretyakov_sa

    tretyakov_sa Moderator Команда форума

    Сообщения:
    991
    Симпатии:
    151
    Именно аналоговый вход никуда не подключайте. Пусть висит в воздухе.
    Функция считает напряжение с ноги питания. И если аналоговый вход куда то подключен, то это создаст искажение замера.
     
  2. Сергей_Ф

    Сергей_Ф Moderator Команда форума

    Сообщения:
    2.230
    Симпатии:
    229
    @eratnik на witti cloud, вообще затруднительно использовать readvdd33. Там на аналоговый вход фоторезистор с подтяжкой повешен, а питание через стабилизатор подается. Кроме того, пробегала информация, что замерять напряжение надо при отключении wifi. Но за последнее не ручаюсь, сам не пробовал.
     
  3. eratnik

    eratnik Новичок

    Сообщения:
    12
    Симпатии:
    0
    @Сергей_Ф Были у меня именно такие подозрения... А если выпаять фоторезистор? Или из-за стабилизатора все-равно показания будут некорректными?
    А если не следить за напряжением литиевого акка, то ему же придут кранты, несмотря на стаб? Есть какие-то варианты этого избежать?
     
  4. tretyakov_sa

    tretyakov_sa Moderator Команда форума

    Сообщения:
    991
    Симпатии:
    151
    Как вы подаете питание от аккумулятора на плату?
     
  5. Сергей_Ф

    Сергей_Ф Moderator Команда форума

    Сообщения:
    2.230
    Симпатии:
    229
    @eratnik одного фоторезистор мало, там резистор еще. Проще дорожку от аналогового входа модуля перерезать. Стабилизатор встроенный закоротить, только как заряжать тогда аккумулятор? 5 вольт могут сжечь модуль без стабилизатора. В понедельник посмотрю, что без фоторезистор будет - напишу. Там в любом случае даже через стабилизатор будут некоторые флуктуации напряжения, вопрос заметит ли их встроенный АЦП.
     
  6. eratnik

    eratnik Новичок

    Сообщения:
    12
    Симпатии:
    0
    @tretyakov_sa на данный момент плата подключена через microUSB, как писал выше, пробовал подключать 3хАА на контакты vcc, gnd. Показания в обоих случаях очень разняться, но явно некорректные.
    @Сергей_Ф спасибо большое, буду ждать.
    PS я сейчас жду получения платы nodeMCU, там, я так понял, проще будет с реализацией измерения напряжения?
     
  7. Сергей_Ф

    Сергей_Ф Moderator Команда форума

    Сообщения:
    2.230
    Симпатии:
    229
    @eratnik глянул мельком, не выпаивайте фоторезистор просто так!!!! Велика вероятность сгорания аналогового входа или всего модуля. Китайцы там настолько схемотехнику упростили, что ах. Если я не ошибся. На проверку нужно время, а сегодня его нет. Так что, если не уверены в своих знаниях и силах - лучше не делайте до моей проверки.
    Проверил. Не туда смотрел. Можно не бояться и спокойно выпаять фоторезистор без последствий.
     
    Последнее редактирование: 26 фев 2017
  8. eratnik

    eratnik Новичок

    Сообщения:
    12
    Симпатии:
    0
    @Сергей_Ф Понял, спасибо, что предупредили. И вопрос вдогонку, rgb светодиод же вроде можно выпаять? Везде пишут, что для улучшения энергопотребления его нужно выпаять
     
  9. Сергей_Ф

    Сергей_Ф Moderator Команда форума

    Сообщения:
    2.230
    Симпатии:
    229
    @eratnik хотел как раз написаиь, что для автономного питания он явно будет мешать :). Если только нет задачи разноцветной подсветки :)
    Там еще и встроенный синий светодиод жрет лишним ХХ мА. Обычно про него пишут. А RGB еще и выходы занимает.
     
  10. Сергей_Ф

    Сергей_Ф Moderator Команда форума

    Сообщения:
    2.230
    Симпатии:
    229
    @eratnik еще рекомендую познакомиться с темой Питание от Li-ion батареи
    Там хоть про другой чип, но познавательно и поясняет куда дальше копать для автономной работы модуля.
     
  11. Evgeniy163

    Evgeniy163 Читатель

    Сообщения:
    33
    Симпатии:
    7
    @eratnik, и еще, для корректного измерения VCC надо в скетч добавить: ADC_MODE(ADC_VCC);
    У меня без этого, функция readvdd33() иногда возвращала не правильные значения.
    with.png without.png
     
    Последнее редактирование: 24 фев 2017
  12. tretyakov_sa

    tretyakov_sa Moderator Команда форума

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

    Сергей_Ф Moderator Команда форума

    Сообщения:
    2.230
    Симпатии:
    229
    @eratnik
    Вот этот код дает примерно реальное значение на входе стабилизатора в милливольтах при изменении входного напряжения от 3 до 4.2 вольта. Надо перерезать дорожку, показанную на фото что бы не влиял фоторезистор и резистор подтяжки.
    При 3 вольтах на модуль подается всего 2,1 вольт, что не обеспечивает стабильную работу. При 4,2 - 3,1 вольта. При большем напряжении не замерял, нет возможности. Но при зарядке мерить напряжение не имеет смысла, имхо. И использование AMS1117 при автономном питании, не есть хорошо. Лучше от него избавится и использовать преобразователь DC-DC. Но это Вам решать, что лучше.

    Код (Text):
    1. ADC_MODE (ADC_VCC);
    2. #define pinR 15
    3. #define pinG 12
    4. #define pinB 13
    5.  
    6.  
    7. void setup() {
    8.   // put your setup code here, to run once:
    9. Serial.begin(115200);
    10. pinMode ( pinR, INPUT);
    11. pinMode ( pinG, OUTPUT); digitalWrite(pinG, LOW);
    12. pinMode ( pinB, INPUT);
    13. }
    14.  
    15. void loop() {
    16.   // put your main code here, to run repeatedly:
    17. int voltInt = ESP.getVcc ();
    18. long volt = (voltInt*117+54000)/100;
    19. Serial.print("Vin = ");
    20. Serial.print (volt);
    21. Serial.println(" mV");
    22. delay (1000);
    23. }
    Примечание (раскрыть)
    Странная формула volt = (voltInt*117+54000)/100 - это попытка найти входное напряжение ams1117 по выходному. Она не точна и подвержена многочисленным погрешностям при изменении потребления самим модулем. Если нужно точнее, вычисляем сами или... см. следующий пост.
     

    Вложения:

    Последнее редактирование: 26 фев 2017
  14. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    9.296
    Симпатии:
    1.319
    Но в SDK существует 2 функции опроса ADC. Одна с переключением в режим замера питания, вторая - для замера со входа TOUT.
    При замере питания включаются внутренние назовем так "внутренние делители" ко входу TOUT. По этому внешнее подключение к нему мешает.
    Но если замеряете другой функцией, на своем внешнем делителе включенном к TOUT, то зачем отрезать совcем TOUT?
    Надо добавлять коммутатор - отключать вход от датчика или отключать цепь к датчику или его питание (зависит какой датчик). Замер напряжения питания корректируется на величину включенного резистора к TOUT.
     
  15. Сергей_Ф

    Сергей_Ф Moderator Команда форума

    Сообщения:
    2.230
    Симпатии:
    229
    @pvvx как сказали @tretyakov_sa и @Evgeniy163 вывод Analog In должен висеть в воздухе при использовании readvdd33() или ESP.getVcc (). И это действительно так, фоторезистор подключенный к аналоговому входу влияет на показание внутреннего вольтметра. Потому и перерезал дорожку к делителю с фоторезистором - он ТС не нужен. Впрочем, как и трехцветный светодиод.
    Внешний делитель я не ставил, если он нужен ТС - он может поставить, но он будет жрать батарейку постоянно. Можно, конечно впаять постоянный резистор вместо фоторезистора, но второе плечо запаяно на землю всего 470Ом, а ТС вряд ли сможет перепаять SMD-резистор. А так, будет жрать много, имхо.
     
  16. Сергей_Ф

    Сергей_Ф Moderator Команда форума

    Сообщения:
    2.230
    Симпатии:
    229
    Измерения напряжения питания для witty cloud. Продолжение. Навеяно замечаниями @pvvx

    Дорожку не трогаем. Вооружаемся паяльником и выпаиваем резистор (см. фото красным) и заменяем его на 10кОм, выпаиваем фоторезистор и вместо него вапаиваем резистор 39кОм по синим стрелкам, согласно рисунку. Значение напряжения меряем простым analogRead без всякой инициализации вначале. Значение 1000 соответствует напряжению 4,9 В и линейно меняется вместе с напряжением на Vcc (до стабилизатора).
    Отмазка (раскрыть)
    Возможно номиналы резисторов придется кратно скорректировать для правильной работы в меньшую сторону. Например, 1кОм и 3,9 кОм. Я выбирал значения с учетом минимизации потребления от батареи. В моем случае делитель будет постоянно "жрать" около 90 мкА. Но будет ли при этом правильно работать АЦП, не проверял. При уменьшении сопротивления делителя, ток будет больше.
     

    Вложения:

    Последнее редактирование: 26 фев 2017
  17. tretyakov_sa

    tretyakov_sa Moderator Команда форума

    Сообщения:
    991
    Симпатии:
    151
    Самое правильное решение.
     
  18. Сергей_Ф

    Сергей_Ф Moderator Команда форума

    Сообщения:
    2.230
    Симпатии:
    229
    @tretyakov_sa самым правильным, будет поставить какой нибудь коммутатор, для включения делителя только в моменты замера входного напряжения. Хотя бы на одном полевике. И включать делитель свободным пином на время замера. Но он тоже погрешность в замере даст, имхо. Придется программного компенсировать.
     
  19. eratnik

    eratnik Новичок

    Сообщения:
    12
    Симпатии:
    0
    Я правильно понял, что резистор на 39кОм нужно одной ногой на AMS, а второй на оставшийся контакт от фоторезистора (второй контакт от фоторезистора висит ни к чему не подключен)?
    PS использование HT7333-A вместо AMS не лучшая замена для автономного питания или норм?
     
  20. Сергей_Ф

    Сергей_Ф Moderator Команда форума

    Сообщения:
    2.230
    Симпатии:
    229
    @eratnik правильно, на вход AMS или на пин Vin. Вам же входное напряжение мерить надо. Второй вывод на среднюю точку делителя, которая на аналоговый вход идёт. С пустого контакта от фоторезистор можно 3.3в снимать для чего нибудь, но при питании от LiPo там будет от 2.1 до 3.2 в. По HT7333 не подскажу, надо даташит смотреть.
     

Поделиться этой страницей