Suministre ESP8266 con voltaje de red a través del convertidor Hi-Link HLK-PM03

El ESP8266 es un popular microcontrolador utilizado en proyectos de IoT, pero ¿cómo podemos suministrarle voltaje de red de manera segura y eficiente? En este artículo, te mostraremos cómo usar el convertidor Hi-Link HLK-PM03 para alimentar tu ESP8266 con voltaje de red. ¡Sigue leyendo para descubrir cómo hacerlo!

En este artículo aprenderá cómo suministrar tensión de red al ESP8266 (o ESP32) utilizando el convertidor Hi-Link HLK-PM03. Como ejemplo, utilizamos el ESP8266-01 para controlar un relé con un servidor web.

Suministre ESP8266 con voltaje de red a través del convertidor Hi-Link HLK-PM03

ESP32 y ESP8266 son módulos WiFi asequibles que son perfectos para proyectos de automatización del hogar y de Internet de las cosas (IoT) de bricolaje. Con un ESP32 o ESP8266 con relé, puede controlar cualquier dispositivo electrónico de CA a través de WiFi (por ejemplo, a través de un servidor web).

Uno de los mayores problemas con estos proyectos es encontrar una fuente de alimentación adecuada para el factor de forma pequeño ESP32/ESP8266 al mismo tiempo (en una aplicación final, no querrás alimentar el relé y el ESP32/ESP8266 con dos fuentes de alimentación diferentes). suministros). Una solución es alimentar el ESP8266 o ESP32 desde el voltaje de línea utilizando el convertidor CA/CC Hi-Link HLK-PM03 (o modelo HLK-PM01).

Presentamos los módulos convertidores Hi-Link HLK-PM03/01

El enlace Hola HLK-PM03 Es un pequeño módulo convertidor CA/CC como se muestra en la siguiente figura.

Suministre ESP8266 con voltaje de red a través del convertidor Hi-Link HLK-PM03

El convertidor CA/CC HLK-PM03 puede suministrar 3,3 V desde 110 VCA o 220 VCA. Esto lo hace ideal para proyectos pequeños que requieren un suministro de 3,3 V de la tensión de red. Alternativamente, también puede obtener una salida de 5 V con el HLK-PM01.

Puede encontrar más información sobre las especificaciones de estos módulos aquí: HLK-PM03 Y HLK-PM01. También hay un artículo muy bueno sobre eso. Prueba de rendimiento del HLK-PM01.

Para suministrar voltaje de red al ESP8266-01, usamos el HLK-PM03 para suministrar 3.3V al pin VCC. Si necesita 5V para alimentar otros modelos ESP8266 o un ESP32 a través del pin VIN, puede usar el Modelo HLK-PM01 que proporciona una salida de 5V y funciona de manera similar.

¿Donde comprar?

Puede utilizar los módulos HLK-PM03 o HLK-PM01 Asesor de creadores y encuentra el mejor precio.

Advertencia de seguridad

Este proyecto trata sobre la tensión de red. Asegúrese de comprender lo que está haciendo. Lea atentamente la advertencia de seguridad a continuación.

Suministre ESP8266 con voltaje de red a través del convertidor Hi-Link HLK-PM03

Alimentación del ESP8266 con alimentación de CA a través del módulo Hi-Link HLK-PM03

También puedes usar el HLK-PM03 sin circuitos y conectarlo directamente al pin VCC del ESP8266. Sin embargo, lo desaconsejo. Se recomienda agregar un circuito de protección con fusible térmico y fusibles de acción rápida.

Agregar condensadores a la salida HLK-PM03 también es una buena idea para suavizar los picos de voltaje y evitar reinicios inesperados o comportamientos inestables al alimentar el ESP8266. También colocamos un varistor a través de la entrada de energía para proteger el circuito de picos de voltaje.

Piezas requeridas

Aquí hay una lista de todas las piezas necesarias para construir el circuito de nuestro proyecto:

Puedes utilizar los enlaces anteriores o ir directamente MakerAdvisor.com/tools ¡Para encontrar todas las piezas para tus proyectos al mejor precio!

Suministre ESP8266 con voltaje de red a través del convertidor Hi-Link HLK-PM03

diagrama de circuito

La siguiente figura muestra el diagrama del circuito.

Suministre ESP8266 con voltaje de red a través del convertidor Hi-Link HLK-PM03

Debe conectar la tensión de red al bloque de terminales J1.

Los 3,3 V y GND después de los condensadores proporcionan energía al ESP8266-01.

También agregamos un bloque de tres pines que se conecta al ESP8266 para acceder a 3.3V, GND y GPIO 2 para controlar una salida (módulo de relé). Como estamos trabajando con 3,3 V, deberías tener uno. Módulo de relé de 3,3 V como este.Por ejemplo.

Suministre ESP8266 con voltaje de red a través del convertidor Hi-Link HLK-PM03

Para realizar pruebas, soldamos el circuito en una placa prototipo. Planeamos construir una placa con este circuito en un proyecto futuro.

Suministre ESP8266 con voltaje de red a través del convertidor Hi-Link HLK-PM03

Soldar fusibles térmicos

El fusible térmico utilizado en el circuito es un fusible de 73ºC. Esto significa que hay que tener mucho cuidado al soldar ya que el calor del soldador puede provocar que se queme. Para obtener más información sobre la soldadura de fusibles térmicos, le recomendamos echar un vistazo a los siguientes recursos:

código

En este ejemplo, programamos el ESP8266 usando Arduino IDE. Para programar el ESP8266 con Arduino IDE, se debe instalar el complemento ESP8266. Siga el siguiente tutorial para instalar el complemento ESP8266 si aún no lo ha hecho.

  • Cómo instalar la placa ESP8266 en Arduino IDE

El siguiente código crea un servidor web al que puede acceder para controlar el relé conectado al ESP8266 (GPIO 2) a través de WiFi en su red local.

/*********
  Rui Santos
  Complete project details at https://randomnerdtutorials.com  
*********/

// Load Wi-Fi library
#include <ESP8266WiFi.h>

// Replace with your network credentials
const char* ssid     = "REPLACE_WITH_YOUR_SSID";
const char* password = "REPLACE_WITH_YOUR_PASSWORD";

// Set web server port number to 80
WiFiServer server(80);

// Variable to store the HTTP request
String header;

// Auxiliar variables to store the current output state
String output2State = "off";

// Assign output variables to GPIO pins
const int output2 = 2;

// Current time
unsigned long currentTime = millis();
// Previous time
unsigned long previousTime = 0; 
// Define timeout time in milliseconds (example: 2000ms = 2s)
const long timeoutTime = 2000;

void setup() {
  Serial.begin(115200);
  // Initialize the output variables as outputs
  pinMode(output2, OUTPUT);
  // Set outputs to LOW
  digitalWrite(output2, LOW);

  // Connect to Wi-Fi network with SSID and password
  Serial.print("Connecting to ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  // Print local IP address and start web server
  Serial.println("");
  Serial.println("WiFi connected.");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
  server.begin();
}

void loop(){
  WiFiClient client = server.available();   // Listen for incoming clients

  if (client) {                             // If a new client connects,
    currentTime = millis();
    previousTime = currentTime;
    Serial.println("New Client.");          // print a message out in the serial port
    String currentLine = "";                // make a String to hold incoming data from the client
    while (client.connected() && currentTime - previousTime <= timeoutTime) { // loop while the client's connected
      currentTime = millis();
      if (client.available()) {             // if there's bytes to read from the client,
        char c = client.read();             // read a byte, then
        Serial.write(c);                    // print it out the serial monitor
        header += c;
        if (c == 'n') {                    // if the byte is a newline character
          // if the current line is blank, you got two newline characters in a row.
          // that's the end of the client HTTP request, so send a response:
          if (currentLine.length() == 0) {
            // HTTP headers always start with a response code (e.g. HTTP/1.1 200 OK)
            // and a content-type so the client knows what's coming, then a blank line:
            client.println("HTTP/1.1 200 OK");
            client.println("Content-type:text/html");
            client.println("Connection: close");
            client.println();
            
            // turns the GPIOs on and off
            if (header.indexOf("GET /2/on") >= 0) {
              Serial.println("GPIO 2 on");
              output2State = "on";
              digitalWrite(output2, HIGH);
            } else if (header.indexOf("GET /2/off") >= 0) {
              Serial.println("GPIO 2 off");
              output2State = "off";
              digitalWrite(output2, LOW);
            }
            
            // Display the HTML web page
            client.println("<!DOCTYPE html><html>");
            client.println("<head><meta name="viewport" content="width=device-width, initial-scale=1">");
            client.println("<link rel="icon" href="data:,">");
            // CSS to style the on/off buttons 
            // Feel free to change the background-color and font-size attributes to fit your preferences
            client.println("<style>html { font-family: Helvetica; display: inline-block; margin: 0px auto; text-align: center;}");
            client.println(".button { background-color: #195B6A; border: none; color: white; padding: 16px 40px;");
            client.println("text-decoration: none; font-size: 30px; margin: 2px; cursor: pointer;}");
            client.println(".button2 {background-color: #77878A;}</style></head>");
            
            // Web Page Heading
            client.println("<body><h1>ESP8266 Web Server</h1>");
            
            // Display current state, and ON/OFF buttons for GPIO 5  
            client.println("<p>GPIO 2 - State " + output2State + "</p>");
            // If the output5State is off, it displays the ON button       
            if (output2State=="off") {
              client.println("<p><a href="/2/on"><button class="button">ON</button></a></p>");
            } else {
              client.println("<p><a href="/2/off"><button class="button button2">OFF</button></a></p>");
            } 
               
            client.println("</body></html>");
            
            // The HTTP response ends with another blank line
            client.println();
            // Break out of the while loop
            break;
          } else { // if you got a newline, then clear currentLine
            currentLine = "";
          }
        } else if (c != 'r') {  // if you got anything else but a carriage return character,
          currentLine += c;      // add it to the end of the currentLine
        }
      }
    }
    // Clear the header variable
    header = "";
    // Close the connection
    client.stop();
    Serial.println("Client disconnected.");
    Serial.println("");
  }
}

Ver código sin formato

Configuración de sus credenciales de red

Debes cambiar las siguientes líneas con tus credenciales de red: SSID y Contraseña antes de cargar el código. El código contiene comentarios detallados sobre dónde debe realizar los cambios.

// Replace with your network credentials
const char* ssid     = "REPLACE_WITH_YOUR_SSID";
const char* password = "REPLACE_WITH_YOUR_PASSWORD";

Para obtener una explicación del código, consulte el siguiente tutorial: Servidor web ESP8266 con Arduino IDE.

Nota: Si está utilizando un ESP32 con el módulo HLK-PM01, puede usar el código de este tutorial.

Sube el código

Cargue el código proporcionado a la placa ESP8266-01 usando un programador FTDI o un adaptador serial ESP8266-01.

Si tienes un A los programadores FTDI les gusta estodebe realizar una conexión como se muestra en el siguiente diagrama esquemático:

Suministre ESP8266 con voltaje de red a través del convertidor Hi-Link HLK-PM03

Después de cargar el código, abra el monitor serie para obtener la dirección IP del ESP8266-01. Lo necesita para acceder al servidor web.

Suministre ESP8266 con voltaje de red a través del convertidor Hi-Link HLK-PM03

demostración

Después de cargar el código en su ESP8266 y obtener la dirección IP, colóquelo en el circuito y encienda el circuito.

Advertencia: ¡No toque el circuito mientras esté conectado a la red eléctrica!

Abra su navegador, ingrese la dirección IP de ESP y se cargará la siguiente página.

Suministre ESP8266 con voltaje de red a través del convertidor Hi-Link HLK-PM03

Debería poder controlar el relé de forma remota a través de su red local.

Suministre ESP8266 con voltaje de red a través del convertidor Hi-Link HLK-PM03

Nota: Estamos utilizando el circuito en una placa prototipo con fines de demostración. Si desea utilizar el circuito en una aplicación final, le recomendamos construir una PCB y ponlo en uno adecuado Caja de proyecto.

Suministre ESP8266 con voltaje de red a través del convertidor Hi-Link HLK-PM03

Planeamos construir este circuito en una PCB en las próximas semanas si hay suficiente interés, y compartiremos todos los archivos y recursos que necesita para construir su propia PCB usando los módulos HLK-PM03 o HLK-PM01.

Envolver

HLK-PM01 y HLK-PM03 son módulos convertidores que suministran 5V y 3,3V de la tensión de red, respectivamente. Esto proporciona una manera fácil de alimentar su ESP8266 o ESP32 en sus proyectos de IoT y automatización del hogar.

¡Esperamos que este proyecto te haya resultado útil! Si te gustan estos temas, también te pueden gustar:

  • [Course] Aprendiendo ESP32 con Arduino IDE
  • [Course] Domótica con ESP8266
  • Circuito con interruptor de encendido con bloqueo (apagado automático)
  • Construya un escudo multisensor para ESP8266
  • Escudo de estación meteorológica ESP32 todo en uno
Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded

Suministro de ESP8266 con voltaje de red a través del convertidor Hi-Link HLK-PM03

En este artículo aprenderás cómo alimentar el ESP8266 (o ESP32) con voltaje de red utilizando el convertidor Hi-Link HLK-PM03. Como ejemplo, utilizaremos el ESP8266-01 para controlar un relé con un servidor web.

Los módulos ESP32 y ESP8266 son módulos Wi-Fi económicos perfectamente adaptados para proyectos DIY en los campos de Internet de las Cosas (IoT) y Automatización del Hogar. Utilizar un ESP32 o ESP8266 con un relé te permite controlar cualquier electrodoméstico electrónico de corriente alterna a través de Wi-Fi (utilizando un servidor web, por ejemplo).

Uno de los mayores problemas con estos proyectos es encontrar una fuente de alimentación adecuada para el ESP32/ESP8266 con un factor de forma pequeño al mismo tiempo (en una aplicación final no se desea alimentar el relé y el ESP32/ESP8266 con dos fuentes de alimentación diferentes). Una solución es alimentar el ESP8266 o ESP32 desde el voltaje de red utilizando el convertidor AC/DC Hi-Link HLK-PM03 (o el modelo HLK-PM01).

Introducción a los Módulos Convertidores Hi-Link HLK-PM03/01

El Hi-Link HLK-PM03 es un pequeño módulo convertidor AC/DC como se muestra en la figura a continuación.

El convertidor AC/DC HLK-PM03 puede suministrar 3.3V desde 110VAC o 220VAC. Esto lo hace perfecto para proyectos pequeños que necesitan un suministro de 3.3V desde el voltaje de red. También puedes obtener una salida de 5V utilizando el modelo HLK-PM01 en su lugar.

Puedes leer más información sobre las especificaciones de estos módulos: HLK-PM03 y HLK-PM01. También hay un artículo muy bueno sobre la prueba de rendimiento del HLK-PM01.

Para alimentar el ESP8266-01 desde el voltaje de red, utilizaremos el HLK-PM03 para proporcionar 3.3V al pin VCC. Si necesitas 5V para alimentar otros modelos de ESP8266 o un ESP32 a través del pin VIN, puedes utilizar el modelo HLK-PM01 que proporciona una salida de 5V y funciona de manera similar.

¿Dónde Comprar?

Puedes revisar los módulos HLK-PM03 o HLK-PM01 en Maker Advisor y encontrar el mejor precio.

Advertencia de Seguridad

Este proyecto trata con voltaje de red. Asegúrate de entender lo que estás haciendo. Por favor lee la advertencia de seguridad a continuación detenidamente.

Alimentando el ESP8266 con AC utilizando el módulo Hi-Link HLK-PM03

Puedes utilizar el HLK-PM03 sin ningún circuito y conectarlo directamente al pin VCC del ESP8266. Sin embargo, no recomiendo hacerlo. Es aconsejable agregar un circuito de protección con un fusible térmico y fusibles de acción rápida.

Agregar capacitores a la salida del HLK-PM03 también es una buena idea para suavizar los picos de voltaje y evitar reinicios inesperados o comportamientos inestables al alimentar el ESP8266. También hemos agregado un varistor en la entrada de red para proteger el circuito de los picos de voltaje.

Continuará…

3 comentarios en «Suministre ESP8266 con voltaje de red a través del convertidor Hi-Link HLK-PM03»

  1. ¡Qué genial! Nunca se deja de aprender nuevas formas de alimentar nuestros proyectos. Definitivamente le echaré un vistazo a este convertidor Hi-Link HLK-PM03. ¡Gracias por la recomendación! 🙌🏽🤩

Deja un comentario