Necesitaba un perfilador de energía para mis proyectos basados en baterías, pero son demasiado caros. Así que diseñé uno con un ATMEGA328P (usando AVR-C) y un sensor de corriente/voltaje INA219. Hice mi propio controlador para el sensor para comprender mejor su arquitectura y un pequeño programa de Python para la configuración (resolución, tiempo de integración, atenuación, etc.).
Conecte usando el siguiente esquema:

python3 /python_plot/plot.py
Úselo, se explica por sí mismo.
Conecte un LED verde con una resistencia de 170ohm a VCC (5V) y obtenga la corriente:
Esquemático:

Resultado:

Utilizando una fuente de energía de laboratorio variable, cambie la corriente de 2 V a 6V con el mismo esquema de resistencia LED del último ejemplo

La corriente consumida por un SoC ESP32 se medirá, utilizando una placa de desarrollo Wreom32-DeV. Esto será alimentado por el suministro ajustable, por 5V a la entrada del regulador de la placa. Aunque el regulador ofrece el 3V3 requerido por el ESP32, se medirá la corriente que circula entre la fuente y el ensamblaje y, por lo tanto, se verá un voltaje de 5V.
Esquemático:

Resultados:

Referencia:
El límite Currnt de la fuente de alimentación de laboratorio se configuró a 70 mA, no lo suficiente para una conexión WiFi exitosa. Vemos una caída repentina en el voltaje a medida que la corriente llega a ese límite. No podemos ver el consumo de energía característico de la conexión exitosa que se muestra en el ejemplo anterior, lo que demuestra que el dispositivo no puede conectarse.
