El módulo ESP8266 emite caracteres aleatorios / basura en la fuente externa (pero funciona en las versiones 5v y 3.3v de arduino)

1

Resumen: con arduino's 5v & Con una alimentación de 3.3 V, el módulo ESP8266 emite mensajes de arranque y responde a los comandos AT en el terminal serie @ 115200 baudios como -

mensaje de arranque:

<random/garbage characters>
Ai-Thinker Technology Co. Ltd.
ready

Salida del comando "AT":

OK

Salida "AT + GMR":

AT version:1.2.0.0(Jul 1 2016 20:04:45)
SDK version:1.5.4.1(39cb9a32)
Ai-Thinker Technology Co. Ltd.
Dec 2 2016 14:21:16
OK

mientras que con la fuente de alimentación externa 3.3 (se probaron varias fuentes de alimentación - detalles a seguir), hay mensajes aleatorios / basura en el mensaje de arranque, y la respuesta al comando AT también tiene caracteres basura.

Aunque las versiones 5v y 3.3v de Arduino han solucionado el problema para mí, no se recomienda usar las para encender ESP, como Arduino

  • 5v puede ser peligroso para ESP (se calentó a los pocos minutos de la conexión) y,
  • 3.3v puede no tener suficiente corriente (peligroso para el chip Arduino / Atmega),

así que ahora, parece que necesito lograr cerca de lo que los pines 5v y 3v3 de arduino están entregando a Vcc de ESP usando una fuente de alimentación externa.

Detalles: Compré el módulo ESP8266 en amazon , y hacer que pase algunas pruebas básicas como ejecutar el comando AT a través del monitor serial, planeando ir a la parte de programación más tarde. Esto es lo que he intentado hasta ahora. potencia de entrada para el módulo ESP.

Intento1 (error):

AC --- > Adaptador DC de salida 5v / 1A --- > AMS1117 (3.3v) - > Vcc de ESP8266

Según la información en el artículo iotbytes , ingresé ~ 3.3v (medido mediante un voltímetro) a Vcc de ESP8266 desde el pin # 2 de ams1117, y había usado todos los condensadores de valores como se sugiere en el post.

  • (Observación):
     El LED azul parpadea rápidamente, el LED rojo brilla constantemente,
     Aparece el SSID AI Thinker, al cual puedo conectarme (192.168.4.2) a través de mi computadora portátil y puedo hacer ping a 192.168.4.1
     El monitor de serie se llena con valores de basura en todas las velocidades en baudios, excepto 115200. En 115200, el monitor de serie es silencioso y obtengo 2/3 caracteres de basura en respuesta al comando AT.
  • (Pinout): Pin # 2 usado (salida de 3.3 v) & # 3 (tierra) de Ams1117 a alimentar el módulo. Descansar otras conexiones pin es igual que un artículo en medium.com como

    Esp8266 | Arduino
    ------------------
    RX      | RX
    TX      | TX
    GPIO 0  | None
    GPIO 2  | None
    
    
    Arduino | Arduino
    -------------------
    Reset   | GND
    
    Esp8266 | AMS1117
    ------------------
    Vcc     | 3.3v 
    CH_PD   | 3.3v (/Vcc of esp8266)   tried via jumper as well as 100 Ohm resistor
    GND     | GND 
    

Luego, intenté avanzar al poner el ESP8266 en modo de programación siguiendo un video . Tuve que agregar solo 1 conexión "adicional" -

Esp8266 | Esp8266
------------------
GPIO0   | GND (From AMS1117)

Y, al cargar el programa de parpadeo del LED esp8266, obtuve (@ 9600/115200 tasas de carga) -

  

Las variables globales utilizan 27968 bytes (34%) de memoria dinámica, dejando 53952 bytes para las variables locales. El máximo es de 81920 bytes.   advertencia: espcomm_sync falló   error: espcomm_open falló   error: espcomm_upload_mem falló   error: espcomm_upload_mem falló

Intenté agregar una resistencia de 1k con GPIO-Ground, ¡pero no funcionó!

Intento2 (falla):

batería 9v / 1A --- > Buck Converter (ajustado a una salida de 3.3v) - > Vcc de ESP8266

  • (Observación):
    El LED azul parpadea una vez y permanece apagado (hasta que me desconecte y vuelva a conectar Vcc), el LED rojo brilla constantemente.
    AI Thinker SSID aparece y puede conectarse a / ping it
    Monitor de serie ... basura en respuesta al comando AT.

  • (Pinout):

    Esp8266 | Arduino
    ------------------
    (Same as Attempt1)
    
    Arduino | Arduino
    ------------------
    (Same as Attempt1)
    
    Esp8266 | Buck Converter
    ------------------
    Vcc     | 3.3v
    CH_PD   | 3.3v (/Vcc of esp8266) - tried via jumper as well as 100 Ohm resistor
    GND     | GND 
    

Intento3 (falla):

AC --- > Adaptador DC de salida 5v / 1A --- > Convertidor Buck (ajustado a una salida de 3.3 v) - > Vcc de ESP8266

  • (Observación): Igual que el intento 2
  • (Pinout): Igual que el intento 2

Intento4 (pase):

Arduino (5v y 3v3) --- > Vcc de ESP8266

  • (Observación):

    El LED azul parpadea una vez y permanece apagado (hasta que escribo un comando a través del Monitor serie), el LED rojo se ilumina constantemente.     AI Thinker SSID aparece y puede conectarse a / ping     El monitor serial captura el mensaje de inicio / bienvenida de ESP8266 y responde a los comandos AT @ 115200 baud.

  • (Pinout):

    Esp8266 | Arduino
    ------------------
    RX      | RX
    TX      | TX
    GPIO 0  | None
    GPIO 2  | None
    Vcc     | 3.3v (also tried 5v) 
    CH_PD   | 3.3v (/Vcc of esp8266)   tried via jumper as well as 100 Ohm resistor
    GND     | GND 
    
    
    Arduino | Arduino
    -------------------
    Reset   | GND
    

Nota: arduino se alimenta mediante el puerto usb (a a b) de la computadora portátil.

¿Cuáles podrían ser las razones detrás de este comportamiento de ESP con una fuente de alimentación externa? Puedo publicar más información si es necesario. Cualquier ayuda / sugerencia podría ser muy útil.

    

1 respuesta

1

Le falta una conexión GND entre ESP y Arduino cuando alimenta el ESP externamente. En general, los dispositivos que comparten señales basadas en voltaje también tienen que compartir una base común. De lo contrario, sin una referencia común, el voltaje pierde su significado: una señal de + 5V en Arduino puede verse como -1V en ESP (asumiendo que hay una diferencia de 6V entre los voltajes de tierra de los dos).

También puede razonar en términos de corriente: cuando Arduino controla su pin TX alto y la corriente comienza a fluir, ¿cómo regresa esa corriente a Arduino?

    
respondido por el Dmitry Grigoryev

Lea otras preguntas en las etiquetas