Tengo un proyecto Arduino realmente simple: el sensor ultrasónico HC-SR04 devuelve la distancia que luego se usa como tiempo de sueño durante un efecto de onda LED. Entonces es una distance <-> LED-wave velocity
relación simple. Cuanto más se acerque al dispositivo, más rápidos serán los LED. Eso es todo.
La corriente que se extrae cuando no se ejecuta la onda LED y solo se verifica 5 veces por segundo si la distancia es inferior a 2 metros: 15 mA. Este valor es en mi opinión enorme.
Luego escuché sobre ESP-8266. Puede reemplazar completamente a Arduino. Sin embargo, los niveles de potencia aún no son lo suficientemente buenos. Navegué más, lea sobre Teensy y otros, y todos consumen energía como locos; parece así si una persona piensa en usar baterías por un momento.
Creo que los profesionales conocen la solución. Los aficionados están atrapados en un mundo Arduino muy divertido.
¿Alguien puede revelar la verdad? Debe haber una respuesta, ya que, por ejemplo, los ratones de computadora pueden funcionar durante meses con dos AA. O, por ejemplo, una lámpara comprada activada por detección de movimiento funcionó muy bien durante 7 días antes de que me aburriera y la pusiera en un cajón. La lámpara estaba dando luz real , no parpadeos de LED, y no agotó las tres pilas AAA que usaba.
¿Qué puedo usar para mi proyecto simple? Necesita funcionalidad de ping para HC-SR04, 8 pines para LED y eso es todo. ¿Cómo hacer esto correctamente y que la batería dure meses?
El Arduino tiene reguladores y chips USB-Serial que no son compatibles con Sleep.
Sin embargo , si observa la hoja de datos de ATMega328 (sección 32.2.2), verá que los estados de suspensión existen hasta alrededor de 4-8 uA (wake on WDT) para la MCU.
Considere simplemente construir su propio clon de Arduino (si ese es el entorno de programación que desea usar) que solo tenga el ATMega328 (u otro AVR como el ATMega8L). Puede funcionar con 3 baterías AAA sin un regulador, siempre que no necesite admitir LED de mayor voltaje. Hay muchos recursos que muestran cómo programar un entorno de cargador de arranque Arduino en una MCU AVR independiente. Podrías empezar aquí y aquí .
El chip utilizado en Arduino Uno (Atmega328P) ciertamente puede funcionar con bajo consumo de energía.
Consulte mi página sobre ahorro de energía para obtener más detalles.
Mi expectativa básica es que si no necesita un temporizador (por ejemplo, para hacer algo periódicamente), puede bajar a 100 nA de corriente y aún despertarse con una interrupción, como presionar un interruptor.
Si necesita despertarse de vez en cuando (usando el temporizador de vigilancia), su uso actual será de alrededor de 6,5 µA. Esto es mucho más bajo que los 15 mA que cita.
Si usa una placa Arduino , el LED integrado, el chip de interfaz USB y el regulador de voltaje serán los principales culpables de la alimentación. Además, no entrar en modo de suspensión no ayuda.
Hice un registrador de temperatura y humedad , vea la imagen a continuación, que ha estado funcionando durante un par de años tomando una lectura cada 15 minutos y registrándola en una tarjeta SD. Funciona con 3 pilas AA.
Está diseñado para dormir la mayor parte del tiempo. El "mosfet de alimentación de periféricos" que se muestra se utiliza para "apagar" los dispositivos integrados cuando no se necesitan.
Creo que he encontrado la respuesta: MCU de Texas Instruments. Por ejemplo, este: MSP430FR6989 tiene corriente, a 1 MHz con una tasa de aciertos de caché del 0%, 0,375 mA. Para modo de bajo consumo 0 (LPM0): 0,120 mA, para LPM1: 0,065 mA. Los LPM restantes tienen una corriente de 0,001-0,009 mA. Si el software consultará HC-SR04 dos veces por segundo, es decir, dormirá en un LPM durante 500 ms después de cada conjunto de acciones completo, entonces creo que obtendré el efecto deseado de meses con las baterías.
uint128_t
marcelmo