Medición del uso de energía de la computadora

Estoy tratando de optimizar el uso de energía de una aplicación personalizada (C#) que se ejecuta en una computadora integrada (Intel i7, Windows 7). Para hacerlo, estoy midiendo la corriente que requiere el sistema mientras ejecuta la aplicación.

Esta corriente fluctúa; cada segundo obtengo una lectura diferente con un multímetro normal (Fluke 175). Esto hace que me pregunte acerca de la precisión de la lectura.

1) Si calculara el promedio de estas lecturas, ¿sería una buena indicación del uso de energía? ¿O me perdería los picos / caídas de alta frecuencia en la corriente?

2) ¿Se podría resolver esto tomando múltiples medidas por segundo usando algún tipo de sensor de corriente con un microcontrolador y promediando los valores?

3) Si es así, ¿cuál sería una buena tasa para tomar medidas? 10 Hz? 1000Hz?

4) ¿Podría ayudar de alguna manera agregar un filtro RC entre el sensor de corriente y el ADC del microcontrolador?

Esta es mi primera pregunta sobre StackExchange. Por favor, avísenme si estoy cometiendo algún error.

Editar: el objetivo es obtener una estimación realista del consumo de energía para que podamos mejorar y predecir la duración de la batería.

¿Podría simplemente medir el uso de la CPU en su lugar?
computadora integrada (... Windows 7) Luego, también se están ejecutando muchos otros procesos que perturbarán su medición. Tal vez muchos promedios den resultados más confiables, aunque no una lectura instantánea. Supongo que necesitaría un promedio de al menos 10 segundos más o menos.
Sí, la creación de perfiles basada en CPU es definitivamente el lugar para comenzar, y luego ver si puede poner el sistema en suspensión. La medición de la potencia general de la pared le brinda muy pocos detalles.
@FakeMoustache, los procesos en segundo plano son una parte inseparable de la vida de la PC. Entonces, si los procesos en segundo plano dominan sobre la aplicación personalizada, entonces el trabajo está hecho. Si la aplicación personalizada tiene un consumo de energía significativo, entonces el resultado es el que es, con fondo.
Gracias por los comentarios sobre el detalle de la medida. Mirar el uso de la CPU durante el desarrollo parece una buena idea. Al final, queremos medir el uso de energía "en la vida real" durante las pruebas que duran más de 15 minutos, ya que nuestros sistemas recopilan grandes cantidades de datos (un par de GB) de los sensores a intervalos bastante bajos (cada dos minutos).

Respuestas (2)

Si está tratando de calcular cosas como la vida útil de la batería, entonces quiere la corriente o potencia promedio, dependiendo de cómo funcione su sistema de suministro de energía. Si el voltaje es constante, simplemente promediando la corriente y multiplicándolo por el voltaje fijo se obtiene la potencia promedio.

El problema con el que te encuentras es el alias . Muestrear cada segundo no le brinda una imagen válida de la corriente, ya que aparentemente esa corriente tiene componentes de frecuencia significativos por encima de los 500 mHz. La solución es muestrear tan rápido que haya poco contenido por encima de la mitad de la frecuencia de muestreo, o filtrar el resultado con un filtro de paso bajo para eliminar el contenido por encima de la mitad de la frecuencia de muestreo.

Este último es más fácil y todo lo que necesita si solo desea encontrar el consumo actual "promedio". Coloque un filtro de paso bajo entre lo que sea que esté produciendo la señal actual y donde se muestrea.

Por ejemplo, supongamos que está utilizando una resistencia de detección de corriente de bajo valor y está midiendo su voltaje con su voltímetro que muestrea a 1 Hz. Por ejemplo, dos polos de filtrado RC a 100 mHz deberían ayudar mucho. Cada uno podría realizarse con una resistencia de 10 kΩ en serie seguida de un límite de 160 µF en la señal. Pruébelo y vea si le da la combinación correcta de no ser demasiado nervioso, pero aún lo suficientemente receptivo.

Gracias por el consejo sobre la adición de filtrado de paso bajo. Estoy leyendo sobre aliasing, pero tengo dificultades para determinar cuáles son los componentes de alta frecuencia. ¿Podría la determinación de la frecuencia de cruce del filtro por medio de prueba y error dar como resultado una medición menos precisa? Promediaría los valores durante más de 15 minutos.
@Pow: cualquier cosa que no sea un seno tiene componentes de mayor frecuencia. Los bordes afilados o los puntos tienen un contenido de frecuencia especialmente alto. Si desea promediar más de 15 minutos, entonces puede ser mucho más agresivo con el filtrado. Si el voltímetro no tiene modo promedio, puede hacerlo con un microcontrolador y A/D. En ese caso, literalmente promedias 15 minutos de lecturas digitalmente. Sin embargo, todavía necesita el filtro anti-aliasing delante del A/D.

El trabajo de optimizar o medir la energía de una PC que ejecuta una aplicación en particular generalmente se realiza con instrumentos especializados llamados "registradores de energía", como este " Registrador de datos de carga de enchufe HOBO ", o registradores menos costosos como UNI . Estos registradores de datos generalmente muestrean datos a frecuencia de CA y pueden mostrar los gráficos de tiempo resultantes en una PC conectada. Un desafío habitual para esta tarea es sincronizar su aplicación en ejecución con el gráfico de potencia en ejecución, para encontrar piezas de código que consuman demasiado.

Si se trata de una PC integrada que funciona con alimentación de CC, hay suministros/registradores de CC, como esta buena herramienta Agilent N6705 .

Gracias por sus recomendaciones con respecto a los registradores de energía.