¿Te imaginas un dispositivo que pueda ahorrar energía de manera extrema, llegando a consumir 0 µA? En este artículo te hablaremos sobre cómo lograrlo activando externamente el microcontrolador a través de un circuito de autoretención. Descubre cómo implementar esta innovadora técnica para optimizar el consumo de energía en tus proyectos electrónicos. ¡Sigue leyendo!
En este tutorial, le mostraremos cómo construir un circuito de potencia con enclavamiento en una PCB personalizada, lo cual es extremadamente útil para ahorrar energía en sus proyectos de electrónica.
A Circuito de apagado automático o también llamado Circuito autosuficiente le permite cortar completamente la energía cuando un microcontrolador no está realizando una tarea. Esto es ideal para extender la vida útil de las baterías en sus proyectos de electrónica.
Mira el vídeotutorial
Puede ver el video tutorial o seguir leyendo para obtener instrucciones completas del proyecto.
recursos
Todos los recursos que necesita para crear este proyecto se pueden encontrar en los enlaces a continuación (o visite el Proyecto GitHub):
- Boceto de ejemplo (para Arduino IDE)
- Representación esquemática
- Archivos Gerber
- Archivos de proyecto EasyEDA para editar la placa de circuito
- Haga clic aquí para descargar todos los archivos
Apagado automático de la placa de circuito
Hace un tiempo escribimos una guía sobre cómo ensamblar el circuito de bloqueo en una placa de pruebas, pero si desea usarlo en varios proyectos, es más práctico colocarlo en una placa de circuito dedicada (consulte la figura a continuación).
La placa de circuito que vamos a construir es muy versátil y se puede utilizar con un ESP32, Leva ESP32, ESP8266, arduino u otro microcontrolador.
Puedes alimentarlo con batería, baterías recargables + paneles solares o cualquier fuente de voltaje.
Puede activarse mediante diferentes activadores, por ejemplo uno Presionar el botón Presione, el movimiento es detectado por Sensor PIRA interruptor magnético de cremallerau otro sensor digital.
Apagado automático versus sueño profundo
Este proyecto no tiene nada que ver con el sueño profundo porque con el circuito de apagado automático tu El microcontrolador no consume energía. cuando no se está ejecutando ninguna tarea.
En modo de suspensión profunda, el consumo de energía es mucho menor que en modo activo. Sin embargo, hay consumo de energía porque su microcontrolador está encendido (y algunos de sus periféricos están apagados). Obtenga más información sobre el sueño profundo.
Patrocinio de JLCPCB
Este proyecto fue financiado por JLCPCB. JLCPCB es una de las marcas de PCB más populares con más de 700.000 clientes en todo el mundo. La empresa se especializa en la producción rápida de prototipos de PCB y series pequeñas.
Puede pedir al menos 5 PCB por solo $2 más envío, que varía según el país.
Si desea convertir sus placas de pruebas en placas de circuitos reales, sólo necesita cargar los archivos Gerber para solicitar PCB de alta calidad a un precio económico. Le mostraremos cómo hacer esto más adelante en este tutorial.
Así funciona la placa de apagado automático
Echemos un vistazo rápido a cómo funciona la placa de apagado automático sin entrar en detalles sobre los circuitos, ya que tenemos una guía dedicada que explica cómo funciona. Puedes leerlo aquí: Circuito de interruptor de encendido con enclavamiento (circuito de apagado automático) para ESP32, ESP8266, Arduino.
Breve recuerdo: El circuito de apagado automático corta completamente el suministro eléctrico. Por lo tanto, no se consume energía cuando el microcontrolador no realiza ninguna tarea. El modo de suspensión profunda, por otro lado, siempre consume algo de energía porque su microcontrolador está encendido pero algunos de sus periféricos están apagados.
Así funciona la placa de apagado automático:
Envían una señal ALTA al pin TRIGGER (1). Si envía una señal ALTA a través de este pin, el microcontrolador se encenderá, pero solo durante unos microsegundos (2).
El disparador para alimentar su microcontrolador puede ser un botón, un interruptor de láminas, un sensor de movimiento PIR u otro sensor digital.
Para mantener su microcontrolador encendido, debe enviar una señal ALTA desde uno de sus GPIO al pin LATCH (etiquetado IN) (3).
Mientras el LATCH PIN esté configurado en ALTO, su placa permanecerá encendida (4). Para que puedas realizar cualquier tarea durante este tiempo (5). Para alimentar este circuito, puedes utilizar una batería o cualquier fuente de voltaje (batería + paneles solares).
Tenga en cuenta que el voltaje en el lado de entrada es el mismo que en el lado de salida. Si desea alimentar su ESP32 o ESP8266 con una batería de litio (que genera aproximadamente 4,2 V cuando está completamente cargada), necesitará un circuito regulador de voltaje. Este tema ya se ha tratado en los siguientes tutoriales:
- Alimentación ESP32/ESP8266 con paneles solares
- Regulador de voltaje ESP8266 (baterías LiPo y Li-ion)
Cuando haya terminado con esta tarea, puede cortar la energía enviando una señal BAJA al PIN DE LATCH (6). Como el microcontrolador está completamente apagado, no consume energía (7).
Diseño de placa de circuito
Para diseñar el circuito y la PCB utilizamos FácilEDA Este es un software basado en navegador para diseñar placas de circuito.
Si deseas personalizar tu placa de circuito, sólo necesitas cargar los siguientes archivos:
O simplemente descargar el Archivos Gerber que utilicé y ordene usted mismo los PCB finales.
En mi opinión, el paso más importante en la creación de una placa de circuito es asegurarse primero de que su circuito realmente funcione en una placa de pruebas o en una placa de circuito impreso antes de comenzar a diseñar el circuito.
La creación del circuito funciona como cualquier otra herramienta de software de circuitos. Colocas algunos componentes y los conectas. Una vez que esté satisfecho con su circuito y el uso de los pines, asigne una huella a cada componente.
Una vez que haya asignado las piezas, puede comenzar a colocar cada componente. Una vez que esté satisfecho con el diseño, puede realizar todas las conexiones y configurar el enrutamiento de su PCB.
Cuando haya terminado, guarde su proyecto y genere los archivos Gerber.
Este software le permite solicitar automáticamente sus PCB a JLCPCB. Alternativamente, puede seguir los siguientes pasos para pedir los PCB exactos que construimos.
Ordenar las placas de circuito
Puedes pedir fácilmente los PCB incluso si no sabes cómo diseñarlos (solo necesitas usar nuestros archivos).
1. Descargue los archivos Gerber – Haga clic aquí para descargar los archivos Gerber.
2. Ir a JLCPCB.com y haga clic en el botón “CREAR OFERTA AHORA”.
3. Después de unos segundos deberías ver el mensaje “Éxito”mensaje a continuación. tu puedes el Enlace del visor Gerber para ver si todo salió como esperaba.
4. Puedes pedir 5 PCB de cualquier color por solo $2 + envío (alrededor de $6 a Portugal). Si estás satisfecho con tu pedido, haz clic AÑADIR A LA CESTA botón para completar la compra.
Piezas requeridas
Para construir su PCB y seguir este tutorial necesitará las siguientes piezas:
- Microcontrolador o placa de desarrollo, por ejemplo:
- MOSFET de canal P con transistor SMD AO3413
- 2x transistores 2N3904 SMD BJT NPN
- Resistencias SMD: 220 K ohm, 2 x 100 K ohm, 2 x 10 K ohm, 1 K ohm, 330 ohm y 220 ohm (paquete 1206)
- LED SMD (carcasa 1206)
- 2x diodos SMD (por ejemplo: 1N5819W)
- Sensor de movimiento PIR (o interruptor de láminas, Presionar el botónetc…)
- Fuente de alimentación
Puedes utilizar los enlaces anteriores o ir directamente MakerAdvisor.com/tools ¡Para encontrar todas las piezas para tus proyectos al mejor precio!
Pedí los componentes de PCB a LCSCpero puedes pedirlos en cualquier otra tienda de electrónica.
Desembalaje de las placas de circuito
Recibí las placas de circuito en mi oficina en 4 días hábiles.
Como siempre todo está muy bien empaquetado y las placas de circuito son de muy alta calidad, especialmente la serigrafía.
Soldar las placas de circuito
El siguiente paso es soldar los componentes a la placa de circuito. Aunque son componentes SMD, no me resultó difícil soldar. Las resistencias utilizadas están en el paquete 1206. Recomiendo comenzar soldando los componentes más pequeños y guardar los encabezados para el final.
Utilicé el soldador TS80 para soldar las placas de circuito. El soldador TS80 es el sucesor del TS100. tengo un Informe de prueba del soldador TS100. Aún no he tenido tiempo de escribir una reseña al respecto. TS80pero es, con diferencia, el mejor soldador portátil que he usado.
Recomendaciones de literatura: Los mejores soldadores para principiantes.
Montaje del circuito
Para probar la placa, conectamos un sensor de movimiento PIR al pasador del gatillo y aplicamos 3,3 V de una fuente de alimentación. Tenemos el pin LATCH puesto GPIO5 del ESP32. También tenemos el pin marcado como LED GPIO4 para fines de prueba.
Puedes seguir el siguiente esquema:
También se puede usar un circuito similar para otros microcontroladores; aquí estamos usando un ESP32.
Puede utilizar cualquier otro disparador, como un pulsador, un interruptor de láminas o sensores digitales con umbral, como un sensor de humo, un sensor de ruido, un sensor de humedad del suelo, un sensor de lluvia, etc.
Sube el código
Para probar el circuito, puede cargar un código de muestra que mantenga su placa encendida durante 10 segundos después de una señal de activación.
El siguiente código es compatible con ESP32, ESP8266 y Arduino.
/*********
Author: Rui Santos
Complete project details at https://RandomNerdTutorials.com/power-saving-latching-circuit/
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files.
The above copyright notice + link to project page and this permission
notice shall be included in all copies or substantial portions of the Software.
*********/
// Define power latch pin for ESP32 (GPIO 5) / ESP8266 (GPIO 5) / Arduino (Digital 5)
const int powerLatch = 5;
const int led = 4;
void setup() {
// Define pin as an OUTPUT
pinMode(powerLatch, OUTPUT);
pinMode(led, OUTPUT);
// Keeps the circuit on
digitalWrite(powerLatch, HIGH);
// Turn ON an LED connected to GPIO 4
// (after the powerLatch pin is set to LOW, your board powers off and it also turns off this LED automatically)
digitalWrite(led, HIGH);
// ADD YOUR TASK HERE (HTTP REQUEST, MQTT Message, Datalogger, etc)
// Waits for 10 seconds
delay(10000);
// Turns the power latch circuit off
digitalWrite(powerLatch, LOW);
}
void loop() {
}
Así es como funciona el código
Primero define el pestillo de potencia Código PIN. Usamos GPIO5Pero también puedes utilizar cualquier otro pin.
const int powerLatch = 5;
Para fines de prueba, encendemos un LED que enciende GPIO4. En este caso se trata del LED integrado de la placa de apagado automático.
const int led = 4;
En el configuración()definir eso pestillo de potencia Y CONDUJO Pines como salidas.
pinMode(powerLatch, OUTPUT);
pinMode(led, OUTPUT);
A continuación, establezca el pestillo de potencia adjuntar a ALTOSi lo ponemos ALTOasegurémonos de que Hay Energía para alimentar el microcontrolador.
digitalWrite(powerLatch, HIGH);
Enciende el LED que está encendido. GPIO4 (después pestillo de potencia El pin está configurado en BAJOTu placa se apagará y este LED también se apagará automáticamente)
digitalWrite(led, HIGH);
A continuación, dejamos el LED encendido durante diez segundos a modo de demostración.
delay(10000);
Luego los configuramos pestillo de potencia adjuntar a BAJOcuando esta encendido BAJOse corta el suministro eléctrico y se apaga el microcontrolador.
digitalWrite(powerLatch, LOW);
Agregue la tarea que desea completar después de completar el pestillo de potencia adjuntar a ALTO y antes de ponértelo BAJO.
Su tarea puede ser realizar una solicitud HTTP, publicar un mensaje MQTT, registrar datos, etc.
demostración
Finalmente, probemos esta configuración y veámosla en acción.
Cuando se detecta movimiento, el sensor de movimiento PIR envía una señal ALTA y el ESP32 se energiza, lo que puede ser confirmado por el LED encendido continuamente.
Cuando se enciende el ESP32, todo el circuito consume alrededor de 65 mA.
Después de 10 segundos el ESP32 se apaga. Si medimos el consumo de energía, puedes ver que el ESP32 no consume energía. Está completamente apagado.
Esto funcionaría igual para ESP8266, Arduino, STM32 o cualquier otro microcontrolador.
El sensor de movimiento PIR consume muy poca energía, unos 14uA. Así que incluso con una batería pequeña duraría años. Pero si usa un botón pulsador o un interruptor de láminas, Estos no usan electricidad..
Envolver
[Update] El sorteo de los circuitos impresos montados ha finalizado y los ganadores son: Ion Gheorghe, Domenico Carvetta y Jan Pieter Duhen.
Esperamos que este proyecto le haya resultado útil y pueda adaptarlo a sus propias necesidades. Para obtener más información sobre el circuito de bloqueo o para construir la versión de placa de pruebas, puede leer el siguiente tutorial:
- Circuito de interruptor de encendido con enclavamiento (circuito de apagado automático) para ESP32, ESP8266, Arduino
Para suministrar energía a la placa de circuito de apagado automático:
- Alimenta ESP32/ESP8266 con paneles solares (incluido el monitoreo del nivel de batería)
- Regulador de voltaje ESP8266 para baterías LiPo y Li-ion (compatible con ESP32)
Más proyectos con placas de circuito:
- Construya un escudo multisensor para ESP8266
- Construya un escudo de estación meteorológica ESP32 todo en uno
Gracias por leer.
AHORRO DE ENERGÍA EXTREMO (0 µA) activando externamente el microcontrolador: Circuito de autoretención
En este tutorial, te mostraremos cómo construir un circuito de Auto Power Off (Circuito de Encendido Latching) en una PCB personalizada, que es extremadamente útil para ahorrar energía en tus proyectos electrónicos.
Ver el Tutorial en Video
Puedes ver el tutorial en video o seguir leyendo para obtener las instrucciones completas del proyecto.
Recursos
Puedes encontrar todos los recursos necesarios para construir este proyecto en los siguientes enlaces:
- Sketch de Ejemplo (para Arduino IDE)
- Diagrama Esquemático
- Archivos Gerber
- Archivos del Proyecto EasyEDA para editar la PCB
PCB de Auto Power Off
Escribimos una guía hace un tiempo sobre cómo ensamblar el circuito de encendido latching en un protoboard, pero es más práctico tenerlo en una PCB dedicada si planeas usarlo en múltiples proyectos.
La PCB que construiremos es muy versátil y puede ser utilizada con un ESP32, ESP32-CAM, ESP8266, Arduino u cualquier otro microcontrolador.
Puedes alimentarlo con una batería, baterías recargables + paneles solares, o cualquier fuente de voltaje.
Puede encenderse por diferentes disparadores, por ejemplo, desde una tecla pulsada, movimiento detectado por un sensor PIR, un interruptor magnético de láminas, u cualquier otro sensor digital.
AHORRO ENERGÍA EXTREMO vs. Sueño Profundo
Este proyecto no tiene nada que ver con el sueño profundo, ya que con el circuito de auto power off, tu microcontrolador no consume energía cuando no está ejecutando ninguna tarea.
En el modo de sueño profundo, hay mucho menos consumo de energía que en el modo activo. Sin embargo, hay consumo de energía porque tu microcontrolador está siendo alimentado (con algunos de sus periféricos apagados).
Patrocinio de JLCPCB
Este proyecto fue patrocinado por JLCPCB. JLCPCB es una de las marcas de PCB más populares, con más de 700,000 clientes en todo el mundo. Está especializado en prototipos rápidos de PCB y producción en pequeñas cantidades.
Puedes ordenar un mínimo de 5 PCBs por solo $2 + envío, el cual variará dependiendo de tu país.
Funcionamiento de la PCB de Auto Power Off
Vamos a echar un vistazo rápido a cómo funciona la PCB de auto power off sin entrar en muchos detalles sobre la circuitaría, porque tenemos una guía dedicada que explica cómo funciona.
Aquí está cómo funciona la PCB de auto power off:
- Envías una señal ALTA al pin TRIGGER. Cuando envías una señal ALTA a través de este pin, el microcontrolador se encenderá, pero solo por unos pocos microsegundos.
- El disparador para alimentar tu microcontrolador puede ser un botón pulsador, un interruptor de lámina, un sensor de movimiento PIR, u cualquier otro sensor digital.
- Para mantener tu microcontrolador encendido, necesitas enviar una señal ALTA desde una de sus GPIOs al pin LATCH (etiquetado como IN).
- Mientras el PIN LATCH esté en ALTO, mantendrás tu placa energizada. Así que puedes ejecutar cualquier tarea durante ese tiempo.
- Para alimentar este circuito, puedes usar una batería o cualquier otra fuente de voltaje.
Diseño de la PCB
Para diseñar el circuito y la PCB, utilizamos EasyEDA, que es un software basado en navegador para diseñar PCBs.
Si deseas personalizar tu PCB, simplemente necesitas subir los archivos del proyecto a EasyEDA o descargar los archivos Gerber que hemos utilizado para ordenar las PCB.
Ordenando las PCB
Puedes ordenar las PCB fácilmente, incluso si no sabes cómo diseñarlas (solo necesitas usar nuestros archivos).
- Descarga los Archivos Gerber.
- Ve a JLCPCB.com y haz clic en el botón «PEDIR AHORA».
- Después de unos segundos, deberías ver un mensaje de «Éxito» en la parte inferior. Puedes verificar el enlace Gerber Viewer para ver si todo salió como se esperaba.
- Puedes pedir 5 PCBs de cualquier color por solo $2 + envío.
Partes Requeridas
Para construir tu PCB y seguir este tutorial, necesitas las siguientes partes:
- Microcontrolador o Placa de Desarrollo, por ejemplo: ESP32 Dev Board, ESP8266 NodeMCU, Arduino UNO.
- Transistor SMD AO3413 de Canal P.
- 2x Transistor SMD 2N3904 BJT NPN.
- Resistencias SMD: 220K Ohm, 2x 100K Ohm, 2x 10K Ohm, 1K Ohm, 330 Ohm, y 220 Ohm.
- LED SMD.
- 2x Diodos SMD.
- Sensor de movimiento PIR (o interruptor de lámina, botón pulsador, etc…).
- Fuente de Alimentación.
Desempaquetando las PCBs
En 4 días laborables, recibí las PCBs en mi oficina.
Como siempre, todo viene muy bien empaquetado y las PCBs son de alta calidad, especialmente la serigrafía.
Ensamblaje de las PCBs
El siguiente paso es soldar los componentes a la PCB. Aunque estos son componentes SMD, no los encontré difíciles de soldar. Las resistencias utilizadas son del paquete 1206.
Recomiendo empezar soldando los componentes más pequeños y dejar los headers para el final.
Para soldar las PCBs, he utilizado el soldador TS80. El soldador TS80 es el sucesor del TS100 y tengo una reseña sobre el TS100. No he tenido tiempo aún de escribir una reseña sobre el TS80, pero es de lejos el mejor soldador portátil que he usado.
Ensamblaje del Circuito
Para probar la placa, conectamos un sensor de movimiento PIR al pin de disparo y aplicamos 3.3V desde una fuente de alimentación. Conectamos el pin LATCH al GPIO 5 del ESP32. También conectamos el pin marcado como LED al GPIO 4 para fines de prueba.
Puedes seguir el siguiente diagrama esquemático:
Subiendo el Código
Para probar el circuito, puedes cargar un código de ejemplo que mantenga tu placa encendida durante 10 segundos después de una señal de disparo.
El siguiente código es compatible con ESP32, ESP8266 y Arduino.
Código en Español
Funcionamiento del Código
Comienza definiendo el pin powerLatch. Estamos usando GPIO 5, pero puedes usar cualquier otro pin.
Para propósitos de prueba, pondremos en marcha un LED conectado a GPIO 4. En este caso, es el LED incorporado de la PCB de auto power off.
En el setup(), define los pines powerLatch y led como salidas.
A continuación, establece el pin powerLatch en ALTO. Cuando lo pones en ALTO, aseguras que haya energía llegando para alimentar el microcontrolador.
Enciende el LED conectado a GPIO 4 (después de que el pin powerLatch se establezca en BAJO, tu placa se apaga y también apaga automáticamente este LED).
Luego, para fines de demostración, mantén encendido el LED durante diez segundos.
Después de eso, establece el pin powerLatch en BAJO. Cuando se establece en BAJO, la energía se corta y el microcontrolador se apaga.
Agrega la tarea que deseas realizar después de establecer el pin powerLatch en ALTO y antes de establecerlo en BAJO.
Demostación
Finalmente, vamos a probar esta configuración y verla en acción.
Cuando se detecta movimiento, el sensor de movimiento PIR envía una señal ALTA y hay energía llegando al ESP32, lo cual se puede confirmar con el LED que permanece encendido.
Después de 10 segundos, el ESP32 se apaga. Si medimos el consumo de energía, verás que el ESP32 no está consumiendo energía. Está completamente apagado.
Esto funcionará exactamente de la misma forma para un ESP8266, Arduino, STM32 u cualquier otro microcontrolador.
Conclusión
Esperamos que hayas encontrado útil este proyecto y que puedas modificarlo para tus propias necesidades. Para obtener más información sobre el circuito de encendido latching o construir la versión en protoboard, puedes leer el siguiente tutorial.
¡Gracias por leer!
Wow, qué interesante! Nunca había oído de esto antes. Definitivamente voy a leer más al respecto.