• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Не работает модуль esp8266

XSmile2008

New member
Чтож пару недель ожидания дюпон кабелей папа-мама из китая и модуль заработал. Проблема была в том что я подключал еого через 50см кабель от флопика))) Этому модулю кабеля не больше 20 см и без бредбордов
 

iamserg

New member
Пришел USB-TTL переходник, попробовал подключиться через него к модулю напрямую. Результаты:
1. Строки ready в терминале нет, сколько ни пытался ее получить. При передергивании CH_PD в терминал сыпется отладочная информация, хотя скорость подключения выбрана 115200.
2. Несмотря на это, управление модулем осуществляется без проблем, все команды принимаются и обрабатываются. ESPlorer действительно удобен:)
 

XSmile2008

New member
Пришел недавно вот такой конвертер логических уровней http://ru.aliexpress.com/item/IIC-I...Module-5V-to-3-3V-For-Arduino/1972814600.html. Попробовал подключить 8266 "правильно". Во первых если пустить RX через конвертер то 8266 не получает данные, с TX все норамально, тойсть вытягиваю RX и соединяю напрямую и все работает, если через конвертер то терминал молчит и лампочка синяя не мигает на команду AT. И еще притянул к VCC reset, CH_PD, GPIO2 и все хорошо. А вот когда подтягиваю GPIO0 то модуль начинает без остановки слать консоль какой то мусор, который не читается на любых скоростях.

UPD: проблему с GPIO0 решил. Когда TX подключен не напрямую, а через переходник все работает нормально. Проблема с RX осталась.
 
Последнее редактирование:

iamserg

New member
@XSmile2008, вот точно такое же счастье и я пробовал использовать - ни в какую. почитайте на предыдущей странице мои посты
 

XSmile2008

New member
И что с этим делать? На ум приходит только делитель напряжения или подключать напрямую RX. А конвертор все равно прийдется использовать для TX
 

iamserg

New member
Ну я не знаю, честно говоря... Лично я стал использовать USB-TTL с 3.3-вольтовой ногой, благо стоит он копейки, а преобразователь уровней 3.3<-->5 так и лежит пока. Но применение ему найдется, я думаю
 

XSmile2008

New member
Для меня такой вариант не подходит, модуль должен не только програмироваться, но и работать в связке с ардуино, потому что делаю робота. Может проблема в том что у меня питание немного занижено по линии 5в, так как питаюсь от батареек? У меня там выходит где то 4.6, на линиии 3.3в показывает 3.26в. Хотя смотрел на ютюбе туториал и там запитывали от двух пальчиковых батареек и норм.
 
  • Like
Реакции: A_D

Vlad7893

New member
И что с этим делать? На ум приходит только делитель напряжения или подключать напрямую RX. А конвертор все равно прийдется использовать для TX
Доброго времени суток! По согласованию уровней самый простой вариант, как это обычно делается в нормальных микросхемах, каждый вход-выход через встроенный диод Шоттки подтянут к питанию. Это делается для того, чтобы любой избыток напряжения на входе сбрасывался на стабилизатор питания - так ограничивается максимальное напряжение на входной ножке до напряжения питания микросхемы плюс напряжение падения на самом диоде. Поскольку китайцы в данных модулях сэкономили на этих диодах, то пришлось их цеплять снаружи параллельно каждому входу (для выходов, которые никогда не будут использоваться как входы, этого делать не нужно). Я подпаял диоды SS16 - у них падение напряжения до 0,3В, что в сумме не превышает 3,6В (3,3В + 0,3В = 3,6В). Диоды нужно подпаивать параллельно подтягивающим резисторам (10кОм).

Если диод не Шоттки, а обычный - то на нём падение напряжение будет выше - 0,6-0,8 В!!!, что в сумме превысит допустимое питание ESP8266. Ну и перед входом нужно ставить токоограничивающий резистор от 270 Ом, в зависимости от нагрузочной способности второго микроконтроллера или преобразователя USB2UART, чтобы не сгорел его выход - ибо в случае, если на ESP8266 отвалится питание от стабилизатора, то вся нагрузка по питанию припадёт на этот выход порта микроконтроллера.Согласование уровней  5В и 3,3В.jpg
PS. Так должно быть в идеале. Но поскольку китайцы делают всё далёким от идеала, то наличие диода на входе RX приводит только к ухудшению приёма - приходится подавать всё напряжение, которое есть на выходе TX конвертера USB-UART - а там все 5 Вольт.
 
Последнее редактирование:

Andy Korg

Moderator
Команда форума
Более подробно о согласовании уровней можно прочитать тут На мой взгляд схема с диодом "сбрасывающим" напряжение в источник 3.3 В не очень удачная, диод включенный последовательно более надежно. ИМХО
 

Andrey_66

New member
Добрый день!
Требуется помощь экстрасенсов и любые предположения по моей проблеме.
Имеется ESP-01 с прошивкой 0018000902-AI03 подключенный к arduino nano, с преобразователем USB_UART на чипе CH340G.
Подключение самое примитивное без использования резисторов и преобразователей логических уровней, питание и CH_PD 3.3 вольта.
Ардуино запитана от внешнего источника, так что проблем с питанием прожорливого ESP быть не должно.
Модуль работал и работает, правильно мигает светодиодом и отображается в беспроводных сетях.
Проблемы начались с момента, как я попытался поменять скорость обмена, командой AT+CIOBAUD=115200
В мониторе последовательго порта с этого момента я начал видеть ответы на свои AT команды вот в таком уродском виде:


Подумал, что вероятно проблема в SoftSerial, для которого скорость 115200 является большой и стал пытаться пообщаться со своей ESP-01 посредством CoolTerm. Результат нулевой, делал всё как описано тут http://esp8266.ru/esp8266-podkluchenie-obnovlenie-proshivki/#esp8266-setup, делает вид, что коннектится на любой скорости но ответа на AT команды нету.
Решил попробовать перепрошить модуль, чтобы вернуться к исходным данным, пробовал XTCOM и ESP8266Flasher никто из них прошить не может, делая вид что не могут подключиться к ком-порту. При этом Arduino IDE успешно подключается. Может быть прошивальщикам важно чтобы USB_UART был реализован обязательно на FTDI (где-то читал об этом) а других они не понимают?
При этом модуль стартует и видится в списке беспроводных сетей, так что умершим его считать не получается.
Если есть какие-то мысли прошу поделиться.
У меня это уже второй модуль, первый вошёл в экстаз после попытки прошивки из облака (busy или что-то в этом духе) и не смог из него выйти (кстати тогда я работал с ним через другой ардуино с FTDI и тоже не работал XTCom), теперь вот с этим фокусы.
Чувствую придётся покупать третий и не дай бог не давать ему никакие опасные AT команды из за невозможности перепрошить
 

AndreyF

New member
УРАА я свой ESp-12e прошил) вот так2015-08-17 21-56-57.JPG
у чайников тоже что-то получается, залил прошивку от homes-smart, вообще без резисторов и с китайским бп от этой макетки, который от USB-зарядки питается, правда двухамперный, питание четко 3,3, когда подключаешь 3,29, не просаживается.В режиме настройки когда rx-tx закорачиваешь все настроилось, а потом работать не хочет когда клиента wifi задаешь, хотя ip по dhcp от роутера получает но сразу отваливается. ну когда решу-напишу)
в общем наблюдения такие. прошилась на 115200, но читать с нее можно только на 75000.
 

AndreyF

New member
Еще добавление. фото, переходник слева работает справа красный-замирает на определенном месте.
2015-08-18 19-49-55.JPG
 

boka17

New member
Три одинаковых модуля ESP-01 с одинаковыми прошивками потребляют разный ток. Как это может быть?
Собрал простую макетку, на которой стоит "мама" для 8-ми ног платки ESP-01 и к ней распаяны остальные необходимые штырьки. Блок питания внешний , "суровый-цифровой" - выдаю с него 3,3в с ограничением по току 0,7 А.
Макетка, USB-TTL, все провода и т.п. одни и теже, меняю только ESP-01 и заливаю одну и ту-же прошивку.
С одной платкой ток 0,03А вторая плата ток 0,10А и третья "рекордсмен" 0,17А.
Ток смотрю по амерметру блока питпния
Прошивка - Blink с датчиком DHT22.
Так вот, платка с минимальным потреблением работает "на ура".
Плата с максимальным током тоже работает стабильно, только греется сильно (прилепил радиатор)
А вот "середнячек" по току зависает на этапе коннекта к WiFi очень на долго - если и получит IP то отваливается через несколько секунд. Blink не работает в итоге.
Прошивается эта плата нормально и коды программ работают разные, которые без WiFi - например считать DHT и передать в сом порт - все работает.
 

pvvx

Активный участник сообщества
Три одинаковых модуля ESP-01 с одинаковыми прошивками потребляют разный ток. Как это может быть?
Посмотрите прошитые данные в esp_init_data_default.bin (установки мощности передатчика и т.д.) и установки режима sleep у WiFi. Там три режима NONE_SLEEP, LIGHT_SLEEP, MODEM_SLEEP.
В зависимости от этих опций модуль потребляет от 10 до 170 mA, как вы и пишите.
 

boka17

New member
Посмотрите прошитые данные в esp_init_data_default.bin (установки мощности передатчика и т.д.) и установки режима sleep у WiFi. Там три режима NONE_SLEEP, LIGHT_SLEEP, MODEM_SLEEP.
В зависимости от этих опций модуль потребляет от 10 до 170 mA, как вы и пишите.
Спасибо....
Речь идет об этом бинарном файлике в 128 байт и его смещении в памяти0 x3fc000? esp_init_data_default.bin: 0x3fc000
Вот, только, чем его посмотреть-редактировать?
И ещё - разве при заливке очередной скомпилированной прошивки (допустим Blink из ардуино) переписывается не вся память?
Или надо очищать (занулять?) всю флэш перед записью?
 

pvvx

Активный участник сообщества
Спасибо....
Речь идет об этом бинарном файлике в 128 байт и его смещении в памяти0 x3fc000? esp_init_data_default.bin: 0x3fc000
Вот, только, чем его посмотреть-редактировать?
Переменные esp_init_data_default.bin редактируются в FLASH_DOWNLOAD_TOOLS от версии v1.2. http://esp8266.ru/forum/threads/dok...-sajte-popolnjaemyj-razdel.5/page-3#post-6139
"На ходу" эти переменные редактируются в Web-свалке.
Данные в esp_init_data_default.bin имеют различия в разных версиях SDK.
Если стереть область 0x7C000 (первый байт не равен 5), где находится esp_init_data_default.bin в 512 килобайтной Flash, то в версиях SDK от 1.0.0 применяются параметры по умолчанию (как в прилагаемом файле esp_init_data_default.bin к SDK от китайцев).
Очищают блок данных установок WiFi - это в 0x7D000...0x7FFFF. Но можно установить все пароли и режимы WiFi программно. Тогда эта область перепишется.
Но данные какой режим старта и некоторые другие установки, тоже влияющие на потребление хранятся в встроенной в чип памяти RTC. При отключении питания или CH_PD они сбрасываются. Возобновляются они когда переключите разные режимы или используете deep_sleep(), который не работает на ESP-01.
На потребление зависит и как включены ST/AP модуля - модуль подключен или только пытается подключиться к внешней AP, а так-же включена ли на нем его AP...
Если в прошивке назначены выходы и они закорочены (как GPIO15 на ESP-01) то происходит КЗ и естественно чип греется.
По этому потребление надо сравнивать в одинаковых условиях, при всех возможных одинаковых настройках. А это более сотни параметров, один из которых = внешняя активность WiFi эфира :)
Частично сравнить потребление разных модулей можно активировав RESET и/или переключив в режим программирования и измеряя ток потребления. Если сильно разный у разных модулей ESP-01, то ищем брак пайки модуля и т.д.

При RESET и всех подтяжках на всех пинах ESP-01 потребляет 23..24 mA
В режиме программирования (но ничего не заливаем, просто включен в режим программирования) и всех подтяжках на всех пинах ESP-01 потребляет 33..34 mA
При установленной flash Winbond на 16 мегабайт в этих режимах всегда меньшее значение 23/33 mA. Стандартная flash жрет на 0.5..1 mA больше (это когда не задействована, а если программа исполняется из неё, то до +10 mA :mad:).

И ещё - разве при заливке очередной скомпилированной прошивки (допустим Blink из ардуино) переписывается не вся память?
Или надо очищать (занулять?) всю флэш перед записью?
Специально "занулять" или очищать Flash не требуется ни где, кроме исключительных случаев (к примеру багов в NodeMCU со spiffs и типа).
Что такое "Blink" я не знаю.
 
Последнее редактирование:

boka17

New member
Спасибо за подробную информацию!
***Blynk - я опечатку сделал.
Я имею три экземпляра одинаковых ESP-01 купленых на Алиэкспресс,и одну самодельную макетку, куда их ставлю по очереди для экспериментов.
Заливал в них АТ прошивки, NodeMcu... и "игрался" с различными примерами кодов. Заливал через FlashDownloader.
Все работало ожидаемо (ну, или не работало - если мой ошибки :)
Обычно, "издевался" над одной платкой ESP-01 поэтому изменений тока потребления и не замечал.
Понятно, что греется сильно.
Вышла Arduino с поддержкой ESP8266. Поставил и решил попробовать проект http://esp8266.ru/esp8266-blynk/
Настроил, залил..... светодиодик замигал по команде с андроидного телефона -красота!....
Но, я залил этот проект в "новую" платку есп (ещё ни разу не пользованную - из магазина) и заметил что она едва теплая, по сравнению с той, где работал НодеМСУ и кристалл был очень горячий.
Я прошил из Ардуино этот проект Blynk во все три имеющиеся платы и обнаружил значительное различие в токе потребления при абсолютно одинаковых прочих условиях - ставлю их по очереди на один макет и прошиваю одной прошивкой из Ардуино.
Выходит, прошивка ESP из среды ардуино не затрагивает многие внутренние регистры ESP и предыдущая "история прошивок" и "издевательств" может оставить свой след на всегда?
Я предполагал, что прошивка из Ардуины затирает/ставит в нужное состояние всех регистров....
Ардуино заливат 300 - 400 килобайт кода, выходит в остальной части флеша остаются следы предыдущих прошивок, которые влияют на работу?

У меня было несколько раз , что под NodeMCU не запускалось WiFi только-что залитой прошивки. Шьется и не работает. Заливаю АТ прошивку, делаю коннект в сеть вручную АТ командами - все соединяется.... Прошиваю заново NodeMCU и все работает и здесь....
Как можно сбросить по умолчанию всю память ESP ?
 

pvvx

Активный участник сообщества
@boka17 - проверьте модули по данной методике:
При RESET и всех подтяжках на всех пинах ESP-01 потребляет 23..24 mA
В режиме программирования (но ничего не заливаем, просто включен в режим программирования) и всех подтяжках на всех пинах ESP-01 потребляет 33..34 mA
И напишите какой у вас ток в данных режимах. Я сделал эти замеры на 3-х модулях ESP-01 перед тем как написать, но ранее (по памяти) ток потребления не отличался на десятке предыдущих модулей. Если наберется статистика от "народа", то можно будет вписать в FAQ как простейшая диагностика исправности модулей.
Без этих замеров говорить что либо более бесполезно. Средний ток потребление у исправного модуля с различными прошивками находится в пределах от десятков микроампер (deep-sleep) до 170 mA. Более - это что-то не так и скорее всего косяк пользователя (замкнуты выходы, заданы неверные параметры).
Если прошить Web-свалку, то она устанавливает все возможные параметры. Средний ток по умолчанию, после прошивки составляет около 70 mA, но меняется в зависимости от эфира WiFi и стадии запуска (при старте есть пик). Это режим без всяких sleep.
Ссылки на примеры с графиками потребления даны в заглавном соо темы Web-свалки:
Измеренные ТТХ по питанию модуля:
Потребление при передаче на скорости к 1 мегабайт в секунду - пример два графика в конце
Потребление модулем в разных режимах WiFi-sleep модуля и стартовые примеры
Потребление по питанию часов (по ноге RTC_VDD)
 
Последнее редактирование:

boka17

New member
Мои "лыжи" совсем не едут.... или я что-то упустил.
Итак: три модуля ESP-01 - синенькие, самые простые с алиэкспресс.
Залита в каждый одна и та же прошивка NodeMCU 0.9.5 build 20150214 powered by Lua 5.1.4
на макетной плате стоит датчик DHT22 подключен к GPIO2, подтяжка 10к на +.
Загружено три файла примера
----------------------------
DHT22_example.lc : 1564 bytes
dht22.lc : 1344 bytes
init.lua : 324 bytes
----------------------------
Total file(s) : 3
Total size : 3232 bytes

суть которых - кидать каждую минуту T и H на сервер thingspeak.com . Запускаю - все работает, данные идут - код работает верно.
Плата номер один - самая малопотребляющая. Напряжение питания выставлено на внешнем цифровом БП 3,3V проверяю тестером прямо на ногах платы 3,32.
Ток потребления всей схемы 0,008 А = 8мА!. Беру нормальный цифровой тестер (вдруг блок питания врет своим амперметром) и меряю ток им 8..9 мА - все верно.
Это ток при работе чипа - периодически видны всплески тока до 50мА (в моменты передачи, надо полагать, раз в минуту задано в программе)
Зажимаю и держу Reset секунд 10 - все это время ток ровно 8мА. Отпускаю -всплеск тока до 70мА и далее "попрыгав" по меньшим значениям, снова устанавливается в районе 8мА.
Чип едва теплый, все прекрасно и стабильно работает и коннект с моим WiFi - "железный".
Режим программирования - подаю "0" на GPIO0 и жму ресет. Ток подскакивает до 33мА и стабильно стоит (я ничего не программирую).
Снимаю ноль с GPIO0 и ресет - все начинает снова работать и ток потребления те-же 8мА
Плата номер два-после включения ток потребления стабилизируется на 180мА. При зажатом ресет - на 10мА меньше 170мА. Коннект с сетью неустойчивый, регулярно вижу
> =wifi.sta.getip()
nil
> =wifi.sta.getip()
192.168.0.106 255.255.255.0 192.168.0.1
В режиме программирования ток 190мА. Чип горячий очень. (прилепил радиатор)
Итого - работает плохо - постоянно отваливается от сети, данные постоянно теряются.
Плата номер три.Здесь ток вообще 310мА! Кристалл горяченный. При зажатом ресет ток практически не меняется. В режиме программирования 330мА.
Однако, эта плата стабильно цепляет сеть, получает IP и шлет данные на сервер ! Кипит, но работает!?

Предыстория этих плат такая - на всех я запаял перемычку с 13 ноги на землю GPIO15=0. Тонким волоском но запаял. Проверял микроскопом - все нормально, без коротышей.
Без этого платы не хотели программироваться через ESP8266Flasher.exe
Плата №2 два месяца непрерывно работала - грелась, но работала. Ток тогда не измерял. Был сбой, после которого ESP стала плохо цеплять сеть при тех-же условиях....
Подозреваю, что плата все-таки перегрелась и "стрельнул" чип .
Самая горячая плата долго не работала, по этой самой причине - очень греется.
Сейчас (неделю на зад) я убрал на всех платах волосок провода GPIO15=0, но они прекрасно программируются ?!
Как так, ведь по таблице надо эту ногу на ноль подавать для программирования ?
А сейчас для прошивки достаточно подать ноль на IO0 и нажать ресет - все заливается на ура, а весной не получалось... ? Что я упустил?
Может, этим жестким нулем на IO15 я и подпалил кристалл?
CH_PD запаян на +.
Первая плата лежала в коробочке, её не использовал - поэтому и не "спалил" ?
В общем -заблудился в "трех платах".
Мне кажется, что две я таки подпалил жестоким перегревом и без радиатора....
 
Сверху Снизу