Делитель напряжения для esp8266

Мониторинг напряжения LiPo батареи с помощью Wemos D1 в сервисе thingspeak

Здравствуйте. В данной статье я покажу Вам как можно мониторить заряд своей LiPo батареи подключенной к микроконтроллеру ESP8266 на примере Wemos D1 mini и shield к нему для подключения Lipo батарей. Для чего это нужно? Ну даже наверное не стоит это объяснять, так как все прекрасно понимают, что знать когда подзарядить свое устройство очень важно, дабы не потерять информацию.

Батарею можно использовать любую, 3.7 V емкость не имеет значения, так как батарея любой емкости, когда теряет свой запас энергии, тогда и теряет напряжение понемногу. За счет данного свойства мы и будем реализовывать наш мониторинг заряда батареи.

Как я уже и сказал нам понадобится:

И резистор понадобится на 100кОм его можно купить в магазинах радиоэлектроники или также заказать на сайтах aliexpress и banggood.

Схема подключения выглядит следующим образом:

Я думаю схема довольно примитивная, чтоб ее объяснять, резистор на 100 кОм используется потому что в Wemos D1 mini уже используется внутренний делитель напряжения, который соединяет контакт A0 с АЦП ESP8266. Это делитель напряжения из резисторов 220 кОм и 100 кОм. Выглядит схема делителя напряжения таким образом:

Добавив еще 100 кОм получится 100k+220k+100k = 420k. Поэтому если напряжение полностью заряженной батарейки будет составлять 4.2 В, АЦП ESP8266 получит 4.2*100/420= 1 Вольт.

1 Вольт это максимальный вход для АЦП и даст на A0 значение 1024. voltage =raw/1023; voltage =4.2*voltage;

График напряжения на сайте thingspeak выглядит примерно таким образом:

Если подключите все так как описано выше, то имейте ввиду, что резисторы тоже разряжают батарею с постоянным потреблением 10uA (4.2v / 420000 ohm) . Энергопотребление ESP8266 в режиме сна составляет 77 uA. С резистором это будет 87 uA.

Источник

О вкусном и здоровом питании ESP8266 от батареек

Многие из тех, кто мастерит разные штуковины на ESP8266, в какой-то момент задумывались, что было бы здорово взять ту штуковину, положить в карман — и пойти с ней погулять. ESP8266 ведь такой маленький, так и просится. И тут на нашем пути встречается небольшое препятствие — одним программированием здесь не обойтись, придётся брать в руки паяльник, но всё не так страшно, и, надеюсь, эта статья вам поможет.

В datasheet на ESP8266 указано напряжение питания от 3.0 до 3.6 вольт, что, в принципе, позволяет питать ESP8266 напрямую от двух батареек AA или одной литиевой 1S батарейки. Если нам не очень важна стабильность и аккуратное поведение устройства при падении напряжения, или не жалко литиевую батарейку, можно этим и обойтись, в противном случае перед нами встаёт ряд вопросов.

Преобразование напряжения

В большинстве случаев напряжение батареи будет выше, чем нужные нам 3.3 В, и оно будет заметно изменяться по мере разряда батареи, поэтому нам нужно его понизить и стабилизировать. Первое, с чем нужно определиться — это хотим ли мы питать остальную часть схемы от стабилизированного напряжения, или можно напрямую от батарейки. От этого зависит необходимый ток, отдаваемый регулятором напряжения. Самому ESP8266 надо максимум 200 mA, набросив немножко сверху на заряд конденсатора и прочие непредвиденные расходы, можно считать что 300. Стабильное напряжение часто любят датчики, а мощные исполнительные устройства часто лучше питать напрямую от батареи.

Дальше надо определиться с типом регулятора, тут есть два варианта, каждый со своими достоинствами и недостатками – линейный регулятор, или импульсный.

Линейный регулятор напряжения

Линейный регулятор, по сути, представляет из себя управляемый резистор, на котором падает всё «лишнее» напряжение и рассеивается в виде тепла.

Достоинства линейного регулятора:

  • Крайняя простота — обычно микросхема с 3 выводами и два конденсатора. Почти невозможно накосячить.
  • Дешевизна — от 6 рублей за микросхему.
  • Отсутствие высокочастотного шума в выходном напряжении. Это может быть полезно, например, если от этого же напряжения питается какой-нибудь чувствительный датчик.

Самый распространённый вариант — микросхема типа 1117, выпускаются многими производителями, как правило выпускаются в нескольких вариантах на линейку фиксированных выходных напряжений, среди которых всегда есть 3.3 В — например AZ1117C-3.3 производства компании Diodes Inc.


Рис. 1. Типовая схема включения линейного регулятора типа 1117

На что стоит обратить внимание:

  • Падение напряжения на регуляторе. Если падение напряжения на регуляторе 1.2 В (типовое значение для регуляторов типа 1117), это значит, что для поддержания напряжения 3.3 В на выходе нам надо иметь как минимум 4.5 В на батарее, что означает, что с мечтой о питании от трёх пальчиковых батареек придётся расстаться. Чем ниже это падение напряжения – тем лучше.
  • Максимальное напряжение конденсаторов. Для конденсатора на выходе регулятора достаточно 6 В, а вот на входе запас в +50% от максимального напряжения батареи никогда не повредит.
  • Максимальный ток редко бывает проблемой, потому что даже простейший регулятор, как правило, без проблем обеспечит ток до 1 А.
  • Максимальное входное напряжение. Типовое значение для регуляторов типа 1117 — 15 В, если у вас более высоковольтная батарея (например LiPo 4S) — обратите внимание.
Читайте также:  Shys32d08 zc21fg 01 напряжение

Недостаток линейного регулятора – не очень большой КПД, сильно зависящий от разницы между напряжением на батарее и выходным 3.3 В. Эта разница бесполезно рассеивается регулятором в виде тепла. Если устройство питается от трёх батареек размера АА (4.5 В), то примерно 27% энергии потратится впустую. Если напряжение батареи 12 В, то впустую потратится уже 73%.

Импульсный регулятор

Импульсные регуляторы обычно имеют более высокий КПД, мало зависящий от разницы напряжений между входом и выходом. Платить за это приходится усложнением схемы, а также определёнными требованиями к разводке печатной платы. Поскольку в регуляторе используется относительно высокая частота (обычно от десятков килогерц до единиц мегагерц), схема становится чувствительной к паразитным индуктивностям и ёмкостям, поэтому мало соединить элементы правильно, взаимное расположение самих элементов и проводников между ними тоже может критически повлиять на работоспособность. В моей практике был случай, когда из-за неудачной разводки проводников на плате регулятор начинал работать только при поднесении к нему пальца – то есть внесении дополнительной паразитной ёмкости. Также это может быть не самый удачный выбор, если ваша схема чувствительна к высокочастотным помехам – например рядом на печатной плате расположен чувствительный датчик.


Рис. 2. Типовая схема включения LM2736 производства компании Texas Instruments, цена примерно 80 рублей

На что стоит обратить внимание (гораздо больше пунктов, чем у линейного регулятора!):

  • Импульсные преобразователи бывают очень разные, поэтому будьте готовы потратить немало времени на выбор подходящего.
  • Необходимая «обвязка» преобразователя. Количество и номиналы используемых деталей могут заметно повлиять на габариты, стоимость и сложность.
  • Разводка платы. В datasheet почти всегда будут или словесные рекомендации, или даже картинка с эталонным дизайном платы, но это не догма — часто можно обойтись здравым электрическим смыслом (все проводники на плате как можно короче, на другой стороне платы сплошной заземлённый слой и т.п.).
  • Диапазон напряжения на входе.
  • Максимальный ток на выходе.
  • Частота преобразования. Схемы с более низкой частотой менее капризны с точки зрения паразитных ёмкостей, но требуют больших конденсаторов (обычно танталовые, полярные) и индуктивностей. Также многие люди слышат их высокочастотный свист – индуктивности работают как маленькие пищалки. Схемы с более высокой частотой более капризны, но требуют меньших конденсаторов (обычно многослойных керамических) и индуктивностей, и не свистят.
  • Максимальные напряжения конденсаторов. В импульсном преобразователе могут быть значительные высокочастотные колебания выходного напряжения (ripple), поэтому рекомендуется хороший запас.
  • Почти все импульсные преобразователи имеют регулируемое выходное напряжение, которое задаётся делителем из двух сопротивлений, поэтому их номиналы и допустимое отклонение должны быть довольно точными.

Контроль напряжения батареи

Есть как минимум две причины, зачем это может быть нужно. Во-первых, это позволяет примерно оценить оставшееся время работы до полного разряда. Во-вторых, если ваше устройство питается от литиевой батареи, то эти батареи быстро пухнут и теряют свои характеристики от переразряда, поэтому очень желательно выключать устройство до того, как батарея разрядится совсем.

Сделать это очень просто – достаточно делителя из двух резисторов, подключённых ко входу ADC. Делитель рассчитывается так, чтобы максимальное напряжение на входе ADC не превышало 1 В (верхний предел ADC). В принципе, если оно будет немного выше, то ничего страшного не случится, но надо быть внимательным, чтобы не превысить напряжение питания – помните, что напряжение батареи, которое мы измеряем, может быть существенно выше 3.3 В – если его случайно подать на ADC то ESP8266 сгорит.

Недостаток один – это занимает единственный доступный ADC. Эту проблему, в свою очередь, можно решить использованием внешнего мультиплексора (например NLAS4599 производства компании ON Semiconductor, цена примерно 10 рублей), но он, в свою очередь, займёт один или несколько GPIO для управления. Также к недостаткам этого метода можно отнести, что на ADC нельзя повесить прерывание, и его надо регулярно опрашивать самому.

Детектирование “brownout”

“Brownout” — это проседание напряжения питания ниже номинала, но не до нуля. Зачем нужно его детектировать? Представьте, что у вас есть грелка с батарейным питанием и управлением на ESP8266. Становится холодно – обогреватель включается, становится тепло – выключается. Казалось бы, что может пойти не так? Но давайте посмотрим подробнее.

Батарейка как источник питания имеет определённое внутреннее сопротивление, при попытке забрать от неё большой ток (например, при включении обогревателя) её выходное напряжение проседает. Что происходит с ESP8266, если оно проседает ниже 3.3В? А происходит вот что – небольшого проседания напряжения недостаточно для того, чтобы наступил общий ресет и все выходы перешли в неактивное состояние, но достаточно для того, чтобы “мгновения остановились” для мозгов ESP8266. В результате, в нашем примере с грелкой, получается, что ESP8266 включает грелку, тут же уходит в коматоз из-за brownout, а GPIO выход, управляющий грелкой, сохраняет высокий уровень – соответственно грелка продолжает греть и прогревает вас до состояния medium well, если батарейка не кончается раньше и не наступает наконец долгожданный общий ресет.

Читайте также:  Какое напряжение выходит с ресивера

Во многих серьёзных микроконтроллерах эта проблема давно решается аппаратно, и часто даже можно выбирать программно реакцию на brownout – это может быть как принудительный ресет, так и прерывание, в котором микроконтроллер “из последних сил” может успеть (без гарантий, конечно) сам перевести себя в безопасное состояние. В ESP8266 ничего такого нет, поэтому придётся браться за паяльник. К счастью, всё давно придумано до нас, и для решения этой проблемы давно существуют микросхемы с всего тремя выводами, которые можно подключать к ESP8266 без какой-либо дополнительной обвязки. Куда подключать – есть два варианта: или на ресет, или на GPIO и обрабатывать ситуацию программно, возможно через прерывание.


Рис. 3. Типовая схема включения микросхемы CAX803TTBI-T3 производства компании ON Semiconductor, цена примерно 10 рублей. Обратите внимание, что в ESP8266 есть программно включаемые pull-up сопротивления, так что внешнее сопротивление не нужно

На этом всё, в большинстве случаев описанного выше хватит, чтобы обеспечить вашей ESP8266 вкусное, здоровое и недорогое питание. Да пребудет с вами электродвижущая сила!

Источник

ESP8266 с чего начать или первый опыт

В этой статье я хочу поделиться опытом того, что делать, когда в руки впервые попадают платки ESP8266. Сразу оговорюсь, что ковыряние в таких железках, равно как и программирование, это моё хобби за мои деньги и в свободное от основной деятельности время. Поэтому прошу отнестись с определенной скидкой к степени критики данного материала.

Почему я это решил написать? Всё просто: я убил 3 недели времени на то, чтобы разобраться с чего начинать и как это работает. Кроме того, попробую собрать небольшой каталог ссылок по работе с ESP8266. Надеюсь, что эта информация поможет сэкономить вам хоть толику времени.

Итак, приступим!

Я заказал себе 3 варианта плат на известном китайском сайте:

  1. ESP8266 WIFI Serial Wireless Dev Test Board на основе ESP-12 (далее «Жёлтая плата») ($3.12)
  2. ESP8266 ESP-07 вместе с Adapter Plate For ESP8266 (далее ESP-07) ($2.30)
  3. LoLin V3 NodeMcu Lua на основе ESP-12 (далее «Лолин») ($3.12)

Причины, по которым я взял такой зоопарк:

  1. У Жёлтой платы уже встроены светодиодики, которыми можно сразу поморгать, для питания можно использовать не сказочные 3,3В, которые надо еще как-то добыть, а 3 батарейки типа АА или подключив 4,5В (что я и сделал).
  2. ЛоЛин меня подкупила тем, что подключается с помощью микро юсб кабеля и ей не нужны никакие UART конвертеры — в ней сразу он встроен на основе китайского чипа CH340, для которого можно легко найти драйвера как на win7x64 и на win10x64 (мои случаи), и, опять же питание от обычного адаптера с USB выходом, а не мудреные 3,3В.
  3. Конкретно эту ESP-07 я брал под метеостанцию. Ртутно-аналоговый градусник выцвел, прибивать новый лениво, да и врёт он нагреваясь от стены дома прилично. Для начинающих рекомендую брать сразу Adapter Plate — удорожание всего на 20 центов, а удобств намного больше.

Для начала — проверка модулей.

Во всех инструкциях по запуску пишут, что если Вы подключили питание и появилась WiFi сеть «AI-THINKER xxxxxxx», значит устройство работает. С моими устройствами так и вышло — они все создали WiFi сеть, к которой можно было подключиться. Ура! Заработало! Обрадовался я, но рано.

Для начала решил экспериментировать с Жёлтой платой. У продавца с лучшим показателем цена-рейтинг в описании товара были только картинки. И ни слова описания. На русскоязычных ресурсах были упоминания это платы, но конкретики именно про неё не нашёл. У некоторых продавцов я видел такую инструкцию:

1. Android phone installation IOT.APK, IOS client be released later
2. shorting cap connected to the power to enter the programming mode, enter the normal operating state removed
3. Replace the battery, mobile search network «AI-THINKER» router
4. join the router (the router module form) password is: ai-thinker
5. after the success can be added directly to the control module of the mobile phone.
6. Enter the home router «SSID» and «Password» in the «Configure Device», then click on the icon at the top of the router, wait a few moments after the jump to join the router, connect the phone router WiFi, again «discovered device» to achieve control in the LAN.

Читайте также:  Определить линейное напряжение генератора если его фазное напряжение 220 в

1. На устройство с Wi-Fi работающим на ОС Андроид (не работает на версии 5.0 и старше!) установите IOT.APK, Клиент для IOS будет выпущен позже
2. На плате необходимо снять пермычку, активирующую режим прошивки.
3. Перезагрузите модуль (отключить и подключить питание) и через минуту ищите на андроид устройстве Wi-Fi сеть «AI-THINKER»
4. Подключитесь к этой сети с паролем «ai-thinker»
5. После этого запустите установленной приложение IOT и нажмите на лупу. Плата должна автоматически определиться. После этого перемещайте ползунки, щелкайте выключателями и наблюдайте светодиоды на плате.

Нестыковка была в том, что моя сеть «AI-THINKER хххххххх» не спрашивала пароль, а сразу телефон к ней подключался. И приложение в упор не «видело» ESP после подключения. RGB светодиод горел синим с установленной перемычкой или зеленым без неё.

Я догадывался, что, возможно, китайцы спаять — спаяли, а прошить забыли (или криво прошили). Поэтому решил шить сам. Для прошивки я использовал ESP8266 Flasher. И тут вылез второй сюрприз: ни одна программа плату не распознавала, на команды не отвечала, прошивка не заливалась. Подключал через Ардуино и через UART-конвертер — ничего. Две другие платы уже успел перепрошить и помигать светодиодом, а тут глухо. Пока не догадался прозвонить контакты.

На этой плате отдельно выведены три контакты для прошивки: TX, RX, GND. Так вот оказалось, что TX разведен на RX самой ESP-12, соответственно RX — на TX. Т.е. просто надо было поменять местами два провода: к отдельно вынесенным трём контактам подключаем UART-конвертер по схеме:

TX-TX
RX-RX
GND-GND
Или Ардуино:
TX-RX
RX-TX
GND-GND

После такого открытия модуль ожил, была найдена оригинальная прошивка для мигания светодиодами (AI-THINKER-IOT-2014-10-17 165528.bin) и прошита все тем же ESP8266 Flasher. Появился пароль на точку доступа, и приложение сразу увидело Жёлтую плату. Единственный нюанс: для перепрошивки надо установить перемычку, для всех остальных случаев снять. И не забывать перезагружать устройство после перепрошивки.

ESP8266 ESP-07 вместе с Adapter Plate

Инструкция подключения ESP-07 (ESP-12) через UART-конвертер:

  • Красный — питание 3,3в;
  • Черный — GND;
  • Желтый — на стороне ESP8266 — RX, на стороне USB-TTL — TX;
  • Зеленый — на стороне ESP8266 — TX, на стороне USB-TTL — RX;
  • Оранжевый — CH_PD (CHIP ENABLE) — должен быть всегда подтянут к питанию;
  • Синий — GPIO0 — подключен через выключатель к земле для включения режима перепрошивки модуля. Для обычного старта модуля GPIO0 можно оставить никуда не подключенным;
  • Серый — GPIO15 (MTDO, HSPICS) этот пин необходимо притянуть к земле;
  • Если подключаете к Ардуино, то RX-RX, а TX-TX.

С помощью паяльника были объединены ESP-07 и адаптер. Адаптер рекомендую поскольку он в дальнейшем облегчает соединение беспаечным методом с помощью макетной платы и проводов. В данном случае для питания я использовал понижающий DC-DC преобразователь из Китая. В наличии были датчики DS18B20, их и было решено подключать.

HomesSmart сразу ставить не хотелось и выбор пал на такой вот пример. Не буду перепечатывать схему и код — они практически такие же. Заработало не сразу, но с гуглом и бубном завелось и полетели данные на Народный мониторинг.

Жду компактный модуль питания 220AC — 3,3DC чтобы оптимизировать количество проводов.

LoLin V3 NodeMcu (Лолин)

Эту плату советовали сразу прошить прошивкой NodeMcu, что и было сделано через программу NodeMcu flasher. Сама прошивка собирается конструктором, что позволяет включить только самое необходимое.

Далее предполагалось подключение и управление 2-хканальным реле и управлять двумя бра в спальне. Тут хочу остановиться на одном ньансе. У китайского варианта такого реле есть перемычка JD-VCC — VCC — GND. По умолчанию она установлена на контакты JD-VCC — VCC.

Так вот, пермычку никогда нельзя устанавливать на VCC — GND — устроите КЗ! Эти три контакта используются для дополнительного питания реле, в случаях, когда управляющее может быть недостаточным для срабатывания реле. Присутсвие перемычки обозначает, что питание идет от «управляющих» контактов.

Скрипт был использован такой:

Я не смог повторно найти ссылку на первоисточник. Но схема проста: К Лолин подключаем на выходы D3 и D4 реле 1 и реле 2 (led1 = 3 led2 = 4). Дальше заходим на выданный нашим роутером IP адресс и видим страничку:

К моему огромному сожалению, я пока не разобрался как наводить красоту, например подключить файл CSS-стиля. Вопрос именно в задействовании отдельных файлов при выводе странички, а не в задании стиля.

Очень надеюсь что эта информация пригодиться хотябы одному человеку. И не судите строго за первую статью.

Источник

Оцените статью
Adblock
detector