cómo calcular el valor RMS de una señal de CA (220v, 50c / s) utilizando un microcontrolador. Estoy usando el controlador stm32f3 y su convertidor A / D tiene una frecuencia de reloj de 72MHZ.
cómo calcular el valor RMS de una señal de CA (220v, 50c / s) utilizando un microcontrolador. Estoy usando el controlador stm32f3 y su convertidor A / D tiene una frecuencia de reloj de 72MHZ.
Puede digitalizar muestras de la forma de onda a una frecuencia alta, cuadrarlas y luego introducirlas en un filtro de paso bajo. Saca la raíz cuadrada de la salida del LPF.
La frecuencia de corte (y el orden) del filtro de paso bajo es una compensación entre la ondulación de salida y el tiempo de respuesta (por ejemplo, después de los cambios de la forma de onda de entrada). Un simple filtro de paso bajo IIR podría ser suficiente.
Ya que conoce la frecuencia de la red, hay filtros de respuesta más rápida, como el filtro boxcar que Andy sugiere, asumiendo que tiene suficiente RAM para admitir ese enfoque y organizar las cosas para tener un número entero de muestras en un ciclo de línea eléctrica.
Tome un montón de muestras consecutivas (por ejemplo, 100). Cuadrar cada uno numéricamente. Sumarlos todos juntos para producir un valor acumulado. Divide por el número de muestras y finalmente toma la raíz cuadrada.
Ese es el método básico. Si desea un valor RMS móvil, para cada nueva muestra, elimine el valor más antiguo (cuadrado) del valor acumulado y agregue el nuevo cuadrado al valor acumulado.
RMS es básicamente lo mismo que calcular la desviación estándar: -
Excepto que no necesita saber \ $ \ bar x \ $ (valor medio) porque en RMS se supone que es cero.
Si la señal es una onda sinusoidal, para una mejor precisión debe ajustar la frecuencia de muestreo a la señal de entrada, para tener un número constante de muestras por período, por ejemplo, detectando cruces por cero.
Hice esto hace muchos años para un equipo de análisis de potencia (que calcula armónicos, distorsión, fases ...).
Lea otras preguntas en las etiquetas microcontroller