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

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

Тема в разделе "Раздел для начинающих", создана пользователем kolio, 2 дек 2017.

  1. kolio

    kolio Новичок

    Сообщения:
    31
    Симпатии:
    0
    Прошу помощи без холивара и "ты ничего не понимаешь"

    Купил ESP-12F, увы не знаю какая там прошивка - в принципе думаю не столь важно.
    Я хочу перепрошить её из Arduino IDE 1.8.5
    Паял схему вот такую:
    [​IMG]
    При включении питания мигало 1 раз синим светодиодом и всё.
    когда прошивал - говорило что-то там на счет synchronization failed
    Потом кучу статей по этой ошибке и задумался "а вообще эта схема правильная?!!"
    Как видно - на ней даже нет reset кнопки
    и потом прочитал на этом сайте статью про прошивку ESP8266

    Ну и там есть схема: [​IMG]

    Спаял, и теперь при подаче напряжения синий светодиод не моргает
    Пытаюсь прошивать так:
    1. подаю питание через стабилизатор напряжения 3.3v рассчитанный до 1А - источик 2 батареи li-ion 18650 по 3.7v последовательно (собственно питание хорошее)
    2. замыкаю BURN
    3. кратковременно замыкаю и размыкаю RESET
    4. Размыкаю BURN
    5. пытаюсь прошить через Arduino IDE
    6. сейчас выдает вот такое:

    Лог прошивки (раскрыть)
    Archiving built core (caching) in: d:\temp\arduino_cache_888931\core\core_esp8266_esp8266_generic_CpuFrequency_80,FlashFreq_40,FlashMode_qio,UploadSpeed_115200,FlashSize_512K64,ResetMethod_ck,Debug_Disabled,DebugLevel_None_____497064ef5de90819bb494b2d5b50b3d0.a

    Sketch uses 234489 bytes (54%) of program storage space. Maximum is 434160 bytes.
    Global variables use 32312 bytes (39%) of dynamic memory, leaving 49608 bytes for local variables. Maximum is 81920 bytes.

    C:\Users\Niko\AppData\Local\Arduino15\packages\esp8266\tools\esptool\0.4.9/esptool.exe -vv -cd ck -cb 115200 -cp COM4 -ca 0x00000 -cf d:\temp\arduino_build_941233/wifi.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 COM4
    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
    espcomm_send_command: receiving 228 bytes of data
    read 0, requested 1
    error: failed reading byte
    warning: espcomm_send_command: cant receive slip payload data
    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 36 bytes of data
    read 0, requested 1
    error: failed reading byte
    warning: espcomm_send_command: cant receive slip payload data
    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 36 bytes of data
    read 0, requested 1
    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
    espcomm_send_command: receiving 56612 bytes of data
    read 0, requested 1
    error: failed reading byte
    warning: espcomm_send_command: cant receive slip payload data
    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 36 bytes of data
    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 36 bytes of data
    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    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
    espcomm_send_command: receiving 56576 bytes of data
    read 0, requested 1
    error: failed reading byte
    warning: espcomm_send_command: cant receive slip payload data
    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 56612 bytes of data
    read 0, requested 1
    error: failed reading byte
    warning: espcomm_send_command: cant receive slip payload data
    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 36 bytes of data
    read 0, requested 1
    error: failed reading byte
    warning: espcomm_send_command: cant receive slip payload data
    warning: espcomm_sync failed
    error: espcomm_open failed
    error: espcomm_upload_mem failed
    error: espcomm_upload_mem failed



    Только что еще раз запустил и выдало вот такое:
    Лог2 прошивки (раскрыть)
    всё то же, что и в предыдущем варианте, но в конце такое:
    .....
    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_sync failed
    error: espcomm_open failed
    error: espcomm_upload_mem failed
    error: espcomm_upload_mem failed


    Хочу обратить внимание, что при замыкании RESET светодиод не мигает. Хотя я не знаю - должен ли?

    Для прошивки юзаю TTL USB-TO-COM Profilic PL2303, который работает с 3.3V - проверял на втором Arduino - работает, данные туда, сюда принимает и передает.

    Когда была первая схема, модуль хоть признаки жизни подавал, а на этой один раз синим светодиодом, что-то еле еле поморгал секунд 5 и всё.
    Напряжение между VCC и GND на ESP 3.3V

    Настройки Arduino IDE:
    [​IMG]

    Какая-то грусть и печаль и спросить не у кого, что дальше делать. По этому я тут и оказался.
    Прошу помощи знатоков
     
  2. kolio

    kolio Новичок

    Сообщения:
    31
    Симпатии:
    0
    хотел добавить: я не паял резистор 470 Ом обозначенный как deep sleep
     
  3. gerkimuyda

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

    Сообщения:
    309
    Симпатии:
    62
    Начните не с прошивки, а с проверки правильности подключения к компу. Запустите терминал на нужный COM-порт с модулем и подключитесь на скорости 74880, потом запустите (или через reset) модуль. Если все ок - выдаст служебную информацию (пару строк). Если служебной информации нет - значит у вас именно физическая проблема подключения к компу. :cool: Если инфу видно - можно мучать ардурню. :D
    Копайте в сторону правильности подключения. Когда будет служебка - тогда можно смотреть на режим bootmode (прошивка или работа) и пробовать шить. А пока разберитесь с этим. o_O
    [​IMG]
     
    kolio нравится это.
  4. AndrF

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

    Сообщения:
    338
    Симпатии:
    33
    Чисто как рекомендация - новичкам проще начинать с модулей Nodemcu. Хотя бы из-за того что на них собрано все необходимое и не надо каждый раз при прошивке жать кнопки...
     
  5. kolio

    kolio Новичок

    Сообщения:
    31
    Симпатии:
    0
    подключил через Arduino UNO, чтобы снимать логи через его COM-порт
    пробовал на 9600, 74880 - увы при подаче питания на ESP12f ничего выдает
    думаю есть смысл еще раз проверить схему на предмет ошибок

    и он не мигает светодиодом как при первой схеме - может он бедолага и не запускается?

    Еще читал, что некоторые через 10КОм GPIO2 садят на VCC 3.3v
     
  6. CodeNameHawk

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

    Сообщения:
    1.618
    Симпатии:
    180
    Вы писали
    и теперь оказывается, что вы спаяли как то по другому, без резисторов.
     
  7. kolio

    kolio Новичок

    Сообщения:
    31
    Симпатии:
    0
    объясните сказанное
     
  8. kab

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

    Сообщения:
    633
    Симпатии:
    78
    Что Вы мучаетесь?
    сделайте, как очень подробно расписано в
    https://esp8266.ru/arduino-ide-esp8266/

    а дальше уже будет понятнее
     
    kolio нравится это.
  9. CodeNameHawk

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

    Сообщения:
    1.618
    Симпатии:
    180
    Этот резистор( 10КОм GPIO2 на VCC 3.3v) используется в этой схеме, как без него схема будет работать?
     
  10. nikolz

    nikolz Гуру

    Сообщения:
    4.752
    Симпатии:
    453
    Когда я работаю с ESP-12 то схема почти такая же, но ресет надо твключить к питанию через резистор 4.7...20 к. и добавить кнопку от ресет на землю для сброса.
    еще ставлю резистор между RESET и GPIO16 для deep-sleep.
    а СН_PD можно соединить с Vcc напрямую
    --------------------------
    Теперь про программирование.
    Для работы с любыми ESP (кроме nodemcu - в ней уже есть USR-USB) берем любой urt-usb
    и для автоматического перехода в режим программирования добавляем простую схему на двух транзисторах из схемы nodemcu.
    upload_2017-12-3_12-18-14.png
    upload_2017-12-3_20-2-19.png
    Для программирования берете NODEMCU FIRMWARE PROGRAMMER или ESPflasher
    это проще чем дурина.
    Потом будете из дурины писать, когда отладите программирование.
     
    Последнее редактирование: 3 дек 2017
  11. kolio

    kolio Новичок

    Сообщения:
    31
    Симпатии:
    0
    у меня схема программатора на готовой схеме. Но видимо придется паять отдельный программатор
    хотя я уже подумывал купить Witty для программирования, но программатор не продается отдельно от ESP

    Еще одна особенность, что из моего PL2303 разведены DTR и RTS, но без маркировки - могу вызвонить и подпаяться
    ну и видимо придётся убрать из готовой платы схему программирования - всё равно у меня всё съемное, не проблема снять ESP и переставить в отдельный программатор

    всем спасибо за ссылки и помощь. Попробую разобраться с глюками и отпишусь
     
  12. kolio

    kolio Новичок

    Сообщения:
    31
    Симпатии:
    0
    это полный фак :) я про него забыл. Щас припаяю. Позорище :)
    //увы не помогло. Проверю на ошибки пайки - если не найду, буду паять программатор чисто под ESP
     
    Последнее редактирование: 3 дек 2017
  13. Сергей_Ф

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

    Сообщения:
    2.169
    Симпатии:
    226
    kolio, если бы были из Москвы, то usb-serial Witty мог подарить.
    А так, могу передать с оказией, если будет.
     
    Последнее редактирование: 3 дек 2017
  14. kolio

    kolio Новичок

    Сообщения:
    31
    Симпатии:
    0
    Опытным путём выяснил, что если на фото ниже, вместо резистора RESET-10K-3.3v поставить перемычку - как это было в самой первой моей схеме - то при подаче питания голубой светодиод на ESP мигает 2 раза. Но в этом случае я не могу использовать RESET - так как будет короткое
    [​IMG]
     
  15. Сергей_Ф

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

    Сообщения:
    2.169
    Симпатии:
    226
    @kolio, может в резисторе обрыв? Проверьте напряжение на входе reset у esp с без перемычки. Должно быть 3.1-3.3 В.
     
  16. nikolz

    nikolz Гуру

    Сообщения:
    4.752
    Симпатии:
    453
    Нельзя ресет соединять с питанием.
    я не внимательно посмотрел на вашу схему.
    Надо соединить через резисторы:
    1) Reset->Vcc резистор от 4.7 до 20к.
    2)GPIO16->Reset здесь можно использовать диод шотки или резистор 1-4.7 k
    3) GPIO15->GND резистор от 4.7 до 20к.
    4) СH_PD прямо соединить с Vcc или можно через резистор
    ------------------
    И соберите схему на двух любых транзисторах npn, чтобы не заморачиваться включением режима программирования.
    -------------------
    еще поставьте кнопку от reset На землю для сброса .
    Бывает необходимо сбросить при зависании или после программирования.
     
    Последнее редактирование: 3 дек 2017
    kolio нравится это.
  17. nikolz

    nikolz Гуру

    Сообщения:
    4.752
    Симпатии:
    453
  18. kolio

    kolio Новичок

    Сообщения:
    31
    Симпатии:
    0
    Кнокпа Reset реализована
    по поводу GPIO16 у меня вопрос: я читал, что это для deep sleep, но мне deep sleep не нужен. Или всё равно нужен резистор?
    Схему на ошибки проверил - всё нормально
    Еще проверил нет ли разрыва резюка 10К на Reset - проверил всё нормально

    Щас впаяю 470 Ом - если не поможет - буду наверное TTL вызванивать на макетке DTR и RTS и собирать всё это добро на макетке
     
  19. Сергей_Ф

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

    Сообщения:
    2.169
    Симпатии:
    226
    @kolio, 470 ом не нужен, если не нужен режим сна. Ищите ошибку в схеме.
    @nikolz, я разве предлагал подать питание на reset?
     
  20. kolio

    kolio Новичок

    Сообщения:
    31
    Симпатии:
    0
    да резистор не помог
    Как сказал Сергей - я уперся в не рабочую схему. Увы кроме как сложить на макетке схему и пытаться её делать пока не получится - других вариантов не вижу
    печально. Но надеюсь на положительный результат
     

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