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

Нужна помощь Впервые прошиваю ESP-12F. Не получается

nikolz

Well-known member
@nikolz, я разве предлагал подать питание на reset?
В начале темы автор выложил схему, на которой ресет закорочен на питание.
---------------
@kolio
про GPIO16 я сразу написал, что ставиться для deep-sleep.
------------------
проверьте прогой из указанной выше темы работу Вашей схемы и сообщите результат.
 

CodeNameHawk

Moderator
Команда форума
Соберите схему согласно второму варианту и тестером замерьте напряжения на каждом из выводов относительно корпуса.
На RESET и на GPIO2 замерьте как при не нажатой, так и при нажатой кнопке.

Какое питание используете?
 

kolio

Member
Соберите схему согласно второму варианту и тестером замерьте напряжения на каждом из выводов относительно корпуса.
На RESET и на GPIO2 замерьте как при не нажатой, так и при нажатой кнопке.

Какое питание используете?
Схема собрана по второму варианту. вечером померяю.
Питание: 8V от Li-ion батарей через понижающую плату на 3.3В
 

kolio

Member
Замеры с и без замкнутым RESET
Единственное, это то, что с GPIO04 идет на звуковой усилитель дорожка. И звуковой усилитель 3Вт при этом под питанием. Влияет это или нет - я не знаю.

 

mercer07

New member
День Добрый.
Первая схема подключения у вас правильная.
По крайней мере даже на платах для модулей из китая так же разведено.
По дальнейшему подключению, рекомендую сделать так.
Собираете всю схему от TTL не запитывая сам модуль(не накидывайте + или -)
далее ТТL в USB компа.После этого подаем питание на модуль.
Единственный момент, провод GND от TTL должен быть обязательно подтянут к GND модуля.
Проверяем любой прогой типа Cool Term наше подключение.(иногда на TTL перепутаны RX и TX)
Если все ок, шьем модуль.
Подключение,так же, единственное, перед подачей питания на модуль накидываем gnd на gpio-0, далее скидываем gnd с gpio-0, после этого модуль переходит в режим заливки прошивки.
Можно андуринку любую за место TTL использовать кстати.

#include <SoftwareSerial.h> //Подключаем библиотеку работы с Последовательным портом
SoftwareSerial mySerial(9, 10); // RX, TX (Создаем виртуальный порт Esp. подключаем на цифровые пины 9 и 10 порты TX, RX от Esp)

void setup()
{//...
 

Сергей_Ф

Moderator
Команда форума
@kolio какой звуковой усилитель? Мерить надо полностью отключив внешние цепи. Подать только питание. На Witty вообще не нужны никакие резисторы, там уже всё есть.
И как вы питание подаёте от вашего преобразователя на модуль? У Witty встроенный стабилизатор и диапазон питания от 4 до 8 вольт. От 3.3 он не заводится.
 

kab

New member
@kolio какой звуковой усилитель? Мерить надо полностью отключив внешние цепи. Подать только питание. На Witty вообще не нужны никакие резисторы, там уже всё есть.
И как вы питание подаёте от вашего преобразователя на модуль? У Witty встроенный стабилизатор и диапазон питания от 4 до 8 вольт. От 3.3 он не заводится.
@kolio
Меня другой вопрос заинтересовал:
- Если там
Замеры с и без замкнутым RESET
Откуда тогда на выводе более чем полвольта? Причем в обеих вариантах?
 

kolio

Member
На моём изображении witty из fritzing - просто там другого я не нашел. У меня обычный ESP-12F.
По поводу напряжений я тоже очень удивлен не менее всех остальных
думаю померять напряжения со снятым ESP из готовой схемы и подать напряжения - и замерять. Интересно получить картину.
Ладно парни, я вас тут всех помучил. И так все накинулись помогать. Это конечно приятно :) Думаю моя идея с распайкой программатора на готовой плате не самый хороший вариант - нужно делать отдельный и не морочить голову.


Теперь попробую сам разобраться и отпишусь
 

kab

New member
По поводу напряжений я тоже очень удивлен не менее всех остальных
По поводу "неправильных" напряжений:
- Мне кажется, что тут надо не "удивляться", а поработать. Даже на готовой плате нужно пройти мультимером по всем сомнительным (с "неправильными" напряжениями) цепям, обнаруживая по пути непропаи, сопли-замыкания, внешние некондиционные элементы и т. п....

Хотя бы надо понять, почему ресет всегда фактически в нуле
 

CodeNameHawk

Moderator
Команда форума
0.58 в на RESET, при нажатой кнопке, явно не правильно, а при отпущенной тем более.
Отпаяйте все от RESET (если надо перережьте дорожку) и померьте на нем напряжение.
Дорожки под есп случаем не пускали?
Пока не добьетесь, чтобы на RESET был высокий уровень, схема не запустится.


Кнопка BURN не работает или не мерили?
Резистор на GPIO2 где?
 
Последнее редактирование:

kolio

Member
Сейчас буду копать в сторону RESET и PRG_MODE
по поводу "Резистор на GPIO2 где?" - ну так мне же в этой ветке посоветовали почитать вот, что https://esp8266.ru/arduino-ide-esp8266/
там эта схема как раз таки и приведена. Честно говоря я малость поражен. Выходит, что в сети куча схем для одной и той же микрухи :( Жаль, что нет проверенного "эталона"
Хотя в ветке https://esp8266.ru/esp8266-podkluchenie-obnovlenie-proshivki/ чуть иная схема. Короче ну непонятно.
Я уже злой на эту ESP. Хотя 100% виновен где-то сам.
 

kolio

Member
Замерял сопротивление между ножками ESP со всеми комбинациями (перебором всех вариантов) - при втыкнутой плате в схему - коротыша нет нигде

Вытянул ESP из платы и замерял еще раз напряжение на ножке RESET без нажатой кнопки RESET.
Выдало 3.25V - то есть входящее напряжение
Потом нажал кнопку и выдало 0.0V - то есть как и должно быть
Может это deep sleep резистор 470 Ом всё портит, который между RESET и PGIO16 ?

Я уже подумываю перепаять заново микруху на плате-переходнике - хотя выпаивать думаю будет не менее весело.
 

CodeNameHawk

Moderator
Команда форума
Может это deep sleep резистор 470 Ом всё портит, который между RESET и PGIO16 ?
Только если кнопка подключена не тот конец резистора 470 Ом.
Сфотографируйте ваши манипуляции с платой, а то не понятно то вы выбрали плату, то нужно выпаять...
 

kolio

Member
По поводу странных напряжений
только что начал звонить 2 гребенки под ESP со снятой платой
Так я нашел 1 пин, который тупо идет на соседнюю гребенку (на преобразователь логических уровней), который тоже снят
короче 2 пина тупо в воздухе, но соединены между собой. Так вот: при подаче напряжения на них тоже показывает 3.25V. Мало того! Оно еще и показывает в соседних 4х дырочках, в которых вообще ничего не паял (просто сквозная дыра без нифига). Паял канифолью. Видимо нужно или промывать или перепаивать всё это добро. Но при этом сопротивление не показывает.

По поводу выпаять - я имел ввиду саму ESP с переходника (белая плата)
 

CodeNameHawk

Moderator
Команда форума
По поводу выпаять - я имел ввиду саму ESP с переходника (белая плата)
Надо просто проверить есп на плате переходника.
Подайте на нее питание 3,3в и еще раз замерьте напряжения.
И если есть переходник USB - TTL на 3.3В, проверьте прошивается ли с компа.

При таком монтаже часто случаются ошибки, соберите на другой плате и дополнительные платы подключайте по одной, так проще разобраться, что мешает работе.

Тут проблема простая, вы показываете только часть схемы, которая относится к есп, но остальная часть как подключена неизвестно.
 
Последнее редактирование:

Сергей_Ф

Moderator
Команда форума
Паял канифолью. Видимо нужно или промывать или перепаивать всё это добро. Но при этом сопротивление не показывает
Сама канифоль ток не проводит и на постоянный ток никакого влияния не оказывает. Это только для ВЧ критично. Так что дело не в канифоле, а в том что скрывается под ней. Ошибки монтажа или "сопли" на соседние контакты. Может и сама монтажная плата быть невысокого качества с "соплями" металлизации на соседние контакты. Проверяйте
 

kolio

Member
Помыл и протер плату спиртом
Увы картина не изменилась
По этому однозначно перепайка. Увы. Сопротивление между землей и теми ножками 3-8 МОм. Ну его нафиг такую плату. Думаю тема закрыта до перепайки :)
 

kolio

Member
И так. Снова вернулся к теме. Купил YiHUA 995D+ (и офигел от удобства)
Перепаял заново ESP на адаптер, спаял отдельный программатор.
Смекнул, что на адаптере уже есть 2 резистора 10К между GND+IO15 и VCC+CHPD
По этому на программаторе не паял 2 резистора R1 и R4 как на схеме выше https://esp8266.ru/forum/threads/vpervye-proshivaju-esp-12f-ne-poluchaetsja.2979/page-2#post-45001

Подпаялся на DTR и RTS на USB-TTL программаторе

После того как промыл адаптер замерял везде сопротивление - сопротивлений нет (всё в обрыв). Хотя до промывки было 4 контакта с мегаомными сопротивлениями.

Попытался залить прошивку через Aduino IDE - наполовину прошило и зависло (так каждый раз, но на разном прогрессе) с ошибкой:

Archiving built core (caching) in: d:\temp\arduino_cache_482744\core\core_esp8266_esp8266_generic_CpuFrequency_80,FlashFreq_40,FlashMode_dio,UploadSpeed_115200,FlashSize_1M512,ResetMethod_ck,Debug_Disabled,DebugLevel_None_____497064ef5de90819bb494b2d5b50b3d0.a
Sketch uses 231949 bytes (46%) of program storage space. Maximum is 499696 bytes.
Global variables use 32316 bytes (39%) of dynamic memory, leaving 49604 bytes for local variables. Maximum is 81920 bytes.
C:\Users\kolio\AppData\Local\Arduino15\packages\esp8266\tools\esptool\0.4.9/esptool.exe -vv -cd ck -cb 115200 -cp COM9 -ca 0x00000 -cf d:\temp\arduino_build_473566/WiFiWebServer.ino.bin
esptool v0.4.9 - (c) 2014 Ch. Klippel <ck@atelier-klippel.de>
setting board to ck
setting baudrate from 115200 to 115200
setting port from COM1 to COM9
setting address from 0x00000000 to 0x00000000
espcomm_upload_file
espcomm_upload_mem
setting serial port timeouts to 1000 ms
opening bootloader
resetting board
trying to connect
flush start
setting serial port timeouts to 1 ms
setting serial port timeouts to 1000 ms
flush complete
espcomm_send_command: sending command header
espcomm_send_command: sending command payload
read 0, requested 1
trying to connect
flush start
setting serial port timeouts to 1 ms
setting serial port timeouts to 1000 ms
flush complete
espcomm_send_command: sending command header
espcomm_send_command: sending command payload
espcomm_send_command: receiving 2 bytes of data
espcomm_send_command: receiving 2 bytes of data
espcomm_send_command: receiving 2 bytes of data
espcomm_send_command: receiving 2 bytes of data
espcomm_send_command: receiving 2 bytes of data
espcomm_send_command: receiving 2 bytes of data
espcomm_send_command: receiving 2 bytes of data
espcomm_send_command: receiving 2 bytes of data
Uploading 236096 bytes from d:\temp\arduino_build_473566/WiFiWebServer.ino.bin to flash at 0x00000000
erasing flash
size: 039a40 address: 000000
first_sector_index: 0
total_sector_count: 58
head_sector_count: 16
adjusted_sector_count: 42
erase_size: 02a000
espcomm_send_command: sending command header
espcomm_send_command: sending command payload
setting serial port timeouts to 15000 ms
setting serial port timeouts to 1000 ms
espcomm_send_command: receiving 2 bytes of data
writing flash
...... read 0, requested 1
warning: espcomm_send_command: didn't receive command response
warning: espcomm_send_command(FLASH_DOWNLOAD_DATA) failed
read 0, requested 1
warning: espcomm_send_command: didn't receive command response
closing bootloader
flush start
setting serial port timeouts to 1 ms
setting serial port timeouts to 1000 ms
flush complete
error: espcomm_upload_mem failed
error: espcomm_upload_mem failed

там почти в конце есть ...... - как вы знаете это процесс заливки. Лью со скоростью 115200.
После неудачной прошивки всё же приходится выдергивать USB-TLL программатор так как потом не заливает вообще и отваливается по таймауту. Ну то такое.

Потом решил попробовать прошить с помощью вот этого:

com.JPG
как видите прошило более половины и снова зависон :( и ошибка. Пару раз в начале тоже вылетало с ошибкой

Пробовал прошивать со скоростью 9600 в Arduino IDE - льет, но потом всё равно ошибка.

При прошивке у меня на компе 1 арз клава отваливалась и раз мышка. Тупо USB выключается и только полное выключение и включение помогает. Я так понял программатор чудит.
В некоторых гнездах программатор не определяется - по этому я укоротил USB шнур в 2 раза. и начал втыкать спереди через USB-картридер. Вроде стабильнее.

Вопрос: как думаете, это всё же программатор или ESP (имею ввиду схема для программирования) нестабильный? Может кто сталкивался с таким?
 
Сверху Снизу