ESP8266. Авто программирование flash

22 января, 2018

Существует такая проблема как автоматический перевод ESP в режим программирования.
Классическая схема (схема 5 на рис ниже) из nodemcu построена на двух транзисторах и двух резисторах и использует два сигнала DTR и RTS от адаптера USB-COM.
—————————
Но не во всех адаптерах есть эти два сигнала. Бывает всего один DTR или вообще нет их.
Я использую любые адаптеры, в том числе и самые дешевые на чипе CH340G.
Сигналы DTR и RTS можно вывести с чипа это 13(DTR) и 14(RTS) пины.
——————-
Все просто, но вопрос лишь в наличии лишних контактов на разъеме.
Так на адаптерах с СР340G всего шесть контактов (5v, Vcc, 3v3,TXD,RXD,GND)
——————-
Если нет желания приклеивать доп контакты, то можно освободить один контакт Vcc .
Для этого надо перерезать дорожку к нему и соединить отсоединенную дорожку к контакту 3V3.
На освободившийся контакт припаиваем 13 пин CH340G.
=======================
В результате получаем USB адаптер c выходами на 3.3 v для ESP c сигналом DTR.
==========================
В инете можно найти различные варианты схем , которые работают не от двух сигналов DTR и RTS , как классика NODEMCU, а от одного DTR.
========================
классическая схема самая надежная и работает без проблем, но два сигнала и для рассматриваемого адаптера не подходит.
============================
Однако, все известные в интернете схемы имею проблему работы с терминальными программами такими как TeraTerm,PuTTY, в которых не просто управлять сигналом DTR, а его значение по умолчанию нулевое, что при старте программы автоматически переводит ESP в режим программирования.
=============================
Причина недостатка всех известных в инете схем управления с одним сигналом в том, что управление выполняется потенциалом.

==============================================================
Для устранения указанного недостатка я реализовал схему автомата управления импульсом.
схема получилась очень простая и по моей проверки работает надежно с терминальными программами и с UDK.
=========================

 

 

 

=================================================================

Схема 2.2 содержит два конденсатора С1, С2 номиналом 2.2 мкф
и один резистор R1 c номиналом 10 к, при наличии подтяжки GPIO0 к Vcc .
——————————————
Конденсатор C1 соединяет контакты DTR и RESET ESP
——————————————
Конденсатор C2 соединяет последовательно c резистором R1 контакты DTR и GPIO0 .

ESP8266 Deep-Sleep SDK_2.1.0

14 октября, 2017

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

После этого, модуль либо переходит в режим сна, либо загружает основное приложение и передает данные по WIFI по протоколу UDP.

Результаты исследований показали, что в режиме работы без загрузки основного приложения (режим «загрузка»), минимальное активное время работы модуля составляет 85 ms, при этом модуль потребляет 2.6 ma*s.

При загрузке основного приложения (режим  «приложение»), минимальное активное время составляет 310 ms, при этом модуль потребляет 21 ma*s, устанавливает связь с сервером по WIFI, передает данные и принимает подтверждение от сервера.

В режиме Загрузка энергопотребления модуля примерно в семь раз меньше, чем в режиме Приложение.

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

 

 

 

 

————————————————————————————

импульсы с амплитудой 40 ма — режим Загрузка;

импульсы с амплитудой до 300 ма — режим приложение;

Первый импульс Приложения — длительностью до 3 сек. Это время модуль затратил на установление связи с роутером и регистрацию в сети. После регистрации дальнейшая связь с сервером осуществляется в интервале от 0.31 сек.

Модуль переходит в режим Приложение каждый восьмой цикл просыпания.