...
Recien empiezo con esto del muestreo y tengo algunas dudas. Estoy pensando en tomar 128 muestras para que al hacer el calculo del valor RMS se me facilite en la operacion de division. La duda que tengo es como establecer el periodo de muestreo.
He probado poniendo las rutinas de lectura del ADC, elevacion al cuadrado y suma en un acumulador en un bucle 128 veces y obtengo
el valor correcto. Pero no se si dentro del bucle debo poner algun retardo para establecer el periodo de muestreo.
En estas mediciones es muy importante que las lecturas sean verdaderamente equiespaciadas, no te sirven los retardos porque dependés de la demora del código anterior, que por lo general es variable.
Tenés que crear una interrupción por timer que haga lo siguiente:
-Lee el ADC
-Guarda el valor en buffer circular.
-Dispara la siguiente conversión
-return
En el bucle principal:
- Lee el valor actual del puntero del buffer y le resta la cantidad de muestras a procesar.
- Hace los cálculos correspondientes y actualiza el display o lo que haya.
- Espera un tiempo mientras se hacen otras tareas de acuerdo a la velocidad con que se necesite actualizar las lecturas (un display no tiene sentido actualizarlo mas de 4 veces por segundo).
Esto que estás haciendo (128 muestras y filtro de 107Hz) tiene sentido como experimento de programación y algoritmos, pero a nivel práctico, para medir solamente el valor RMS de la fundamental, es el camino más complicado.
Medir correctamente el valor RMS tiene sus complicaciones.
- Si la señal tiene alto contenido armónico se necesitan tiempos de muestreo muy cortos, numero de muestras alto y hacer las operaciones en punto flotante.
- Si la señal es de baja frecuencia. como las muestras no puede cubrir muchos ciclos (por el tiempo que tardaría) habría que sincronizar el muestreo con la señal --> en una señal periódica arbitraria no es trivial.
Por eso, los tester comerciales True-RMS pasan de lo anterior y te especifican un rango de frecuencias máxima y mínima de medición , si tenés que medir una senoide rectificada hay que hacer dos mediciones: Una en alterna, otra en continua , agarrar la calculadora y hacer raiz(Icc^2+Iac^2) , porque el las mediciones True-RMS te eliminan en la entrada la componente continua. Como que están pensados para 50/60/400Hz sin armónicos altos, que es lo normal en electricidad
Además, por mas que sea el mejor Fluke , el error en las escalas de alterna es bastante mayor que en las de continua.