Sistema de control para minimizar un parámetro [duplicar]

0

Esta es una pregunta bastante vaga, así que por favor tengan paciencia conmigo. Puedo agregar más información si es necesario; Solo házmelo saber en los comentarios. Así que aquí está el problema que quiero resolver.

Hay un sistema que da cierta salida de voltaje que es el error en un sistema. Es una onda sinusoidal cuyo valor pico a pico es mi voltaje de error. Tengo que tomar ese voltaje de error y luego dar una señal de voltaje a un atenuador controlado electrónicamente que luego atenúa mi sistema y cambia el voltaje de error. Obviamente tengo que minimizar el voltaje del atenuador. Pero aquí están las partes problemáticas:

  1. Hay un error en el punto de voltaje nulo que, cuando se le da al atenuador, anulará el error de que el punto nulo no se conoce. El circuito debe encontrar ese punto nulo y mantener el voltaje del atenuador allí.

  2. El punto nulo de error puede cambiar el cambio durante la operación del sistema debido a cosas diferentes. Eso también puede crear algunos problemas.

¿Puede alguien ayudarme a diseñar un sistema electrónico (tal vez utilizando amplificadores operacionales?) para resolver este problema?

Editar: Ya tenemos un sistema basado en microcontroladores para esto. Utiliza el ADC del controlador y un DAC para dar el voltaje al atenuador. Pero pensé que tal vez hay formas más simples de hacer esto.

    
pregunta Rick_2047

2 respuestas

2

El microcontrolador es de manera simple. Los valores digitales no se desvían, tienen errores de compensación, cambian de temperatura y, en general, son mucho más precisos que los analógicos. El firmware también permite varios esquemas no lineales que serían difíciles en analógico.

Parece que lo más natural es ejecutar una iteración de bucle de control en cada pico de forma de onda de error. Captura el pico, y ese es tu nivel de error para esa iteración. La parte difícil puede ser determinar la dirección de la salida de control. ¿Hay una referencia de fase para que pueda obtener un valor de error firmado en lugar del valor absoluto? Eso ayudaría mucho.

    
respondido por el Olin Lathrop
0

Es un bucle de control básico que necesitas. Puede ser implementado en un microcontrolador o circuito analógico. El microcontrolador permitirá cambiar las cosas rápidamente, pero necesitará un poco de hardware para comenzar.

La idea es muy simple. Su salida (llamada "comando") es lo que aplica al atenuador. Es igual a la suma de (error por el factor P), (integral [0 a t] del error por el factor F), (derivada del error por el factor D). Para simplificar, algunos factores pueden ser 0, pero probablemente los necesitará todos.

En el sistema analógico, los factores son solo ganancias, y los integrales o derivados se implementan con un simple circuito opamp. El error en sí debería probablemente medirse por el detector de picos.

En la implementación digital, solo tiene que ejecutar un temporizador de, por ejemplo, 1 ms y calcular el comando cada vez. integral será la suma de todos los errores entrantes (no olvide limitar este valor) y la derivada será la resta de los dos valores más recientes. Una vez más, la medición en sí debe ser realizada por un detector de picos, hardware o software.

Y luego vas a ajustar el sistema encontrando los tres factores. Tomará un poco de tiempo. Buena suerte.

Sí, se basa en el supuesto de que su seno es más rápido que la interrupción de control. Si no es así, las cosas serán un poco más complicadas, ya que tendrá que utilizar los picos como temporizador de interrupción en lugar de hacerlo, y esto hará que el firmware sea bastante complicado para algunos casos. Así que sugeriría reducir la velocidad del temporizador. Si su frecuencia es lenta, haga que el cronómetro sea incluso más lento.

    
respondido por el Gregory Kornblum

Lea otras preguntas en las etiquetas