¿Cómo prevenir la fluctuación de conmutación continua?

0

Estoy diseñando un estabilizador digital, estoy usando la función ADC del microcontrolador para detectar el voltaje entrante y procesar la salida a través de un transformador AUTO. El código es como

if(63<Voltage_INT && Voltage_INT<78 )
  {
  Relay1=0;
  Relay2=0;
  Relay3=0;
  Relay4=1;
  }
  else if (78<Voltage_INT && Voltage_INT<96)
  {
  Relay1=1;
  Relay2=0;
  Relay3=0;
  Relay4=0;
  }
  else if (96<Voltage_INT && Voltage_INT<120)
  {
  Relay1=1;
  Relay3=0;
  Relay2=0;
  Relay4=1;
  }
  else if (120<Voltage_INT && Voltage_INT<150)
  {
  Relay1=1;
  Relay3=0;
  Relay2=1;
  Relay4=0;
  }
  else if (150<Voltage_INT && Voltage_INT<188)
  {
  Relay1=1;
  Relay3=0;
  Relay2=1;
  Relay4=1;
  }
  else if (188<Voltage_INT && Voltage_INT<224)
  {
  Relay1=1;
  Relay3=1;
  Relay2=1;
  Relay4=0;
  }
  else if (224<Voltage_INT && Voltage_INT<300)
  {
  Relay1=1;
  Relay3=1;
  Relay2=1;
  Relay4=1;
  }
  else if (Voltage_INT && Voltage_INT<63)
  {
  Relay1=0;
  Relay3=0;
  Relay2=0;
  Relay4=0;
  }

Sin embargo, si el voltaje fluctúa continuamente entre algún valor, por ejemplo, 95 & 97, los relés cambiarán continuamente dando como resultado una disminución de la vida útil. ¿Cómo abordar esta situación si deseo cambiar solo si se detecta una diferencia de 5 voltios?

    

1 respuesta

1

Un enfoque simple es decir que si su entrada está por encima de un umbral superior, debe cambiar el relé de una manera, si está por debajo de un umbral inferior, debe cambiarlo por el otro, y si se encuentra entre los umbrales, debe dejar el relevo solo Una limitación de este enfoque desde la perspectiva del sistema de control es que si el sistema a veces es ruidoso, puede ser necesario establecer los umbrales relativamente separados para evitar el "parloteo", y establecer los umbrales muy separados puede hacer que el sistema responda " descuidado "cuando las cosas están tranquilas.

Un enfoque ligeramente mejor es utilizar una variable de contador para realizar un seguimiento de cuándo valdría la pena cambiar el relé. En lugar de usar los dos umbrales para cambiar el relé directamente, diga que cuando la entrada está más allá del umbral lo que indicaría que el relé debería estar activado, incremente un contador si está por debajo de 255. Cuando está más allá del umbral lo que indicaría que el relé Debería quedarse donde está, disminuir el contador si no es cero. Si está entre los umbrales, deje el contador donde está. Si el contador llega a cero y el relé no está desactivado, apáguelo. Del mismo modo, si el contador llega a 255 y el relé no está activado.

Usando este enfoque, si la entrada está por encima del umbral "activar relé de encendido" más a menudo que por debajo del umbral de "apagar relé de apagado", el relé finalmente se activará. Del mismo modo, si está por debajo del umbral "apagar el relé" más a menudo que el anterior, "encender el relé". La distancia entre los valores de contador mínimo y máximo se puede ajustar según sea necesario para controlar la frecuencia con la que se conmutará el relé. Debido a que el sistema solo cambiará el relé si ve un balance persistente de valores de entrada que indiquen "activar" o "desactivar", los umbrales se pueden establecer mucho más juntos que en el escenario anterior.

    
respondido por el supercat

Lea otras preguntas en las etiquetas