No entiendo muy bien esta instruccion:
valorADC = funcionQueLeeELADC();
Si uso el ADC para leer la señal estare leyendo un valor instantaneo. Entoces, si uso ese valor y lo comparo con 1.45 por ejemplo se puede decidir encender o apagar la carga.
Mi duda es que como la señal en la salida es variable y 1.45 esta entre sus valores, entonces, cuando tenga 180V la carga se encendera y apagara cuando se lea un valor mayor o menor que 1.45V. No se si estoy equivocado
Cuando diseñas un sistema como lo que
yo estoy entendiendo y como he explicado que debe funcionar, acercarte a los límites es un poco indeterminado.
Según gráfica yo tomé el valor promedio, ya que se ve que el filtro aun deja pasar un poco de la componente de alterna. Entonces supongamos que toma un valor de 1.35V, entonces el sistema toma la decisión de apagar la carga y luego toma otro valor y digamos que es ahora de 1.52, y toma la decisión de activar la carga.
¿Qué sucede en dichos límites? El relé empieza a vibrar, a pagar y encender la carga a toda p*t4.
El primer paso que debes hacer, es mejor al filtro lo mejor que puedas.
Obviamente no se logra completamente. El segundo paso es tomar varias muestras, por ejemplo digamos que tomo 10 muestras y voy sumando y al final divido para 10 y obtengo un valor promedio y con eso decido si encender o apagar la carga.
Si es muy complicado los dos anteriores, puedes utilizar un control de histéresis cuando estás cerca de los límites.
Son brechas cuando estás en esos límites.
Por ejemplo.
Maximo es 260.
Límite superior 250.
Límite inferior 190V
Minimo 180V.
Cuando estés entre 250 a 260 o entre 180 y 190. Cuando apagas la carga, debes esperar un tiempo antes de decidir volver medir, por ejemplo, digamos unos 3 segundos. De esa manejar evitas que el relé esté vibrando en los límites.
Una combinación de los 3 métodos es mejor.