Pessoal,

Estou tentando gravar um firmware no ESP8266 (só o chip com a antena, sem a parte do conversor USB e sem o controlador de tensão. Fiz o seguinte:

1 - Espetei um conversor USB/Serial jumpeado para 3V3, usando apenas as linhas RX, TX, e GND;

2 - Alimentei o módulo com 3V3 de uma fonte externa. Deixei o GND comum conversor/fonte; 

3 - liguei as GPIO0, GPIO2, a porta EN e a porta RST no 3V3 através de um resistor de 10k;

4 - liguei a GPIO15 no GND através de um resistor de 10k;

5 - coloque um botão entre o RST e o GND.

Ocorre que o módulo não recebe o firmware, mesmo eu pressionando o botão. Entretanto, ele se comunica com o computador, pois eu consigo ler no monitor serial a execução do programa que estava gravado antes. Ou seja: ele ão entra no modo de gravação.

Será que estou fazendo algo errado? 

Estou ligando o módulo conforme um diagrama encontrado em uma publicação do Gustavo Murta aqui do forum: 

https://blog.eletrogate.com/nodemcu-esp12-introducao-1/

Agradeço qualquer ajuda.

Zé Roberto 

Exibições: 1165

Responder esta

Respostas a este tópico

Boa tarde J2R,

para carregar qq código no ESP8266 com o circuito que vc montou precisa também de um botão

no port GPIO0 para GND.

Em seguida, após ligar o ESP, mantenha o botão do GPIO0 pressionado, em seguida pressione e

solte o botão do RST, e então solte o botão do GPIO0.

Só aí então mande a IDE carregar o código.

TV

Bom dia , Rui.

Também já tinha lido sobre isso, mas o que me intriga é que se eu usar um módulo completo (com conversor USB/Serial e regulador, tipo os Amica) ele grava sem ter que pressionar nada. Então eu queria simular isso somente com o módulo puro. 

Depois de muita luta, consegui... Eu não tinha ligado o DTR do conversor. Fou só conectar ele no RST do ESP e a coisa fluiu. Agora ta redondo.

Obrigado pela ajuda.

Zé Roberto 

A ligação completa seria como o esquema:

(Que está no link da sua postagem original).

Usa 2 transistores.

Se ligar o RTS no RST e o DTR no GPIO0 vai funcionar sim, mas... Quando vc por ex der boot no micro ele vai resetar seu circuito.  Ainda podem acontecer situações em que seu circuito não roda com o gravador espetado. Aconteceu aqui especialmente ao gravar umando linux. O pino RTS fica acionado logo no boot provocando o reset constante.

Quebra um galhão pra gravar, mas o ideal seria colocar os 2 transistores sugeridos no esquema (VT1 e VT2).

Boa noite J2R,

se ficou resolvido, escreva a palavra RESOLVIDO antes do titulo do seu tópico.

RV

Bom dia José, 

O Tutorial do Blog é sobre NodeMCU- ESP12 - diferente do seu módulo. 

Favor informar o modelo do seu ESP8266 - isso é importante sabermos. 

Esse outro tutorial é mais adequado para a sua montagem:

ESP8266 - alimentação no Protoboard :
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - Conexão USB Serial:
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 12E - Conexão USB Serial
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - Interface Serial 5V - testado e aprovado OK :
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - Usando IDE Arduino (exemplos ADAFRUIT/SPARKFUN )
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

http://labdegaragem.com/forum/topics/conhecendo-o-esp8266

Como esse tutorial é antigo, de 2015, pode ser que algo esteja desatualizado. Me informe por favor.

IO_15 ( GPIO_15 / MTDO / Pino 13 do Chip):
Obedecendo configuração do firmware, para boot da memória Flash durante o reset, esse pino deverá ter o nível baixo - conectado ao terra. Para o modo de download através da interface serial UART, esse pino também deverá estar no nível baixo (zero Volts).

IO_2 ( GPIO_2 / Pino 14 do Chip):
Obdecendo configuração do firmware, para boot da memória Flash durante o reset, esse pino deverá ter o nível alto - conecte um resistor de 10K ohms ao +3,3V. Para o modo de download através da interface serial UART, esse pino também deverá estar no nível alto (3,3V).

IO_0 ( GPIO_0 / Pino 15 do Chip): Atenção !
Obdecendo configuração do firmware, para boot da memória Flash durante o reset, esse pino deverá ter o nível alto - conecte um resistor de 10K ohms ao +3,3V. Mas para gravar a memória Flash usando o modo de download através da interface serial UART, esse pino  deverá estar no nível nível baixo (zero Volts - conectado ao terra).

No caso do uso do ESP8266 com a IDE Arduino, não precisa ficar mudando as portas para o modo Download e Running. Se deseja fazer vários testes com os programas, mantenha-o no modo Download e antes de carregar o programa dê um reset no módulo. Após a gravação do programa (Sketch), se deseja rodar o programa novamente mude as portas para o modo Running.

Para uso normal do ESP8266 (Running mode) :
IO_00 - mantenha no nível 1 ( resistor de 10K conectado ao +3,3V).
IO_02 - mantenha no nível 1 ( resistor de 10K conectado ao +3,3V).
IO_15 - mantenha no nível 0 ( conectado ao terra).

Para download de programa para o ESP8266:
IO_00 - mantenha no nível 0 ( conectado ao terra).
IO_02 - mantenha no nível 1 ( resistor de 10K conectado ao +3,3V).
IO_15 - mantenha no nível 0 ( conectado ao terra).

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço