Convertir el PID OPAMP único a la implementación del software

2

Tengo varias implementaciones de PID analógicas que necesito convertir al software. En un ejemplo típico (dado a continuación), la unión de suma se usa para obtener un error medido en el punto de ajuste. Al decodificar los coeficientes P e I para la implementación del software, estoy confundido en cuanto a qué resistencia de entrada debo considerar, R1 + R2 o R1 paralela a R2.

Toda la ayuda es bienvenida :)

simular este circuito : esquema creado usando CircuitLab

    
pregunta Vishal

5 respuestas

2

Tomo los valores de resistencia (especialmente R5 / R6? 200 ohms es una carga muy pesada en un amplificador operacional) y tal vez el número de op-amp sea solo para fines ilustrativos.

La ganancia 'P' es 0.1

La salida se desplaza a una velocidad de Vfb / (100K * 470nF) voltios / segundo para la ganancia integral, por lo que la constante de tiempo I es de 47 ms.

No hay un término 'D'.

Los diodos y R5 / R6 deben sujetar la salida de forma asimétrica (principalmente para evitar el enrollamiento integral). Presumiblemente, la salida del 0-100% requiere un swing asimétrico como 0.5 a -7.5V o algo así. Es importante en los circuitos analógicos evitar que la integración continúe una vez que la salida esté saturada. Es infinitamente más importante en las implementaciones de firmware, ya que casi no hay límite en cuanto a qué tan alto puede llegar el término de integración (especialmente si está usando punto flotante). También es importante limitarlo o al menos inicializarlo. De lo contrario, el controlador podría tardar más que la edad del universo en recuperarse si el término integral se configurara en algo extraño, lo que a muchos clientes les puede parecer inaceptable.

    
respondido por el Spehro Pefhany
2

El "comando" para este circuito es Vref / 2, no Vref. La salida es solo cero cuando $$ \ frac {V_ {ref}} {200K} = \ frac {-V_ {fdbk}} {100K}, $$ significa que la salida es cero cuando Vref / 2 = Vfdbk - Este de El curso está arruinando los intentos de análisis.

Entonces, calcule su circuito utilizando Vref / 2 como su entrada y 100K como su resistencia asociada. Entonces sabes que la ganancia del circuito con respecto a (Vref / 2 + Vfdbk) es

$$ \ frac {- [R3 + 1 / sC1]} {100K}. $$

Por lo tanto, utilizando Vref / 2 como su entrada, la ganancia P es R3 / 100K, y la ganancia I es 1 / (100K * C1)

    
respondido por el Scott Seidman
1

Mi primer pensamiento:

Olvídese del circuito analógico, elija una de las muchas implementaciones PID digitales y vuelva a sintonizar desde cero.

Usted podría acelerar el proceso haciendo suposiciones informadas para los parámetros de ajuste iniciales basados en el sistema que está controlando, pero esa es la idea básica. Comience solo con "P", luego agregue "I" y "D" mientras equilibra la estabilidad y la capacidad de respuesta.

Mi segundo pensamiento:

Simula el circuito analógico en tiempo real. Cuando inicias la simulación por primera vez, todos los voltajes y corrientes son cero. Uso:

  • Leyes actuales y de voltaje de Kirchoff
  • Ley de Ohm con impedancias complejas
  • Un modelo ideal de opamp (la salida tiene una ganancia en modo diferencial infinito y una ganancia en modo común cero)
  • Todos los voltajes y corrientes del ciclo anterior

para encontrar los voltajes y corrientes del ciclo actual.

Este enfoque probablemente no sea útil a menos que tenga una aplicación muy especializada que aproveche un circuito funky para compensar el comportamiento funky. Incluso entonces, mi tercer pensamiento es probablemente más fácil.

Mi tercer pensamiento:

Saque el controlador analógico de su aplicación, déle algunas entradas de prueba y mida su respuesta. Luego haga un filtro digital (no tiene que ser PID) que proporcione la misma respuesta.

Tema común:

El análisis del circuito en busca de una solución de primer disparo, conversión y ejecución está bien en el área de rendimientos decrecientes. Puede hacerlo, pero el punto de equilibrio entre eso y comenzar de nuevo es muy pronto. Y probablemente cometerás un error en alguna parte, lo que borra la parte del primer disparo.

Dada la apariencia especializada del circuito analógico, creo que su versión digital probablemente también estará especializada, en cierta medida. Es decir, usted:

  • Comience con un intento más o menos estándar de encontrar una solución
  • Encuentre que puede sintonizarlo muy bien si excluye ciertas situaciones
  • Modifíquelo para manejar esas situaciones con menos desajuste.

Dependiendo de la cantidad de rube-goldberg que haya entre el actuador y el efecto deseado, incluso puede terminar con varios PID, cada uno alimentando a otro, cada uno correspondiente a su propio paso en la máquina rube-goldberg.

    
respondido por el AaronD
0
  

Estoy confundido en cuanto a qué resistencia de entrada debo considerar, R1 + R2 o   R1 paralelo a R2.

La resistencia de entrada para Vfdbk es R2 (100kohm) y para Vref es R1 (200k). Esta configuración de amplificador operacional es un circuito de tipo tierra virtual y, para un nivel de precisión muy razonable, se puede considerar que el nodo -Vin del amplificador operacional tiene el mismo potencial que el nodo + Vin. Como el nodo + Vin está conectado a 0V (a través de 47k), el nodo -Vin estará en gran parte a 0V.

Esto significa que las impedancias de entrada son los valores de la resistencia de entrada.

Por cierto, el TL081 es un amplificador de entrada FET y no requiere 47k en la entrada + Vin.

    
respondido por el Andy aka
0

Hmm, bueno, no estoy seguro de lo que está pasando con R5,6 y los diodos ... Tendría que pensarlo o simularlo. En cuanto a sus valores. Kp es la ganancia ... o una sobre la ganancia ... o lo que sea ... De todos modos, esto también lo establece el resto del circuito que no se muestra. En la práctica, es difícil saber exactamente cuál es la ganancia a veces.

Re: la constante de tiempo. A mi parecer, ese circuito tiene dos constantes de tiempo diferentes.
Para Vref, el TC es ~ 200k * 470 nF ~ 94 ms y para el Vfeedback es aproximadamente 1/2. (Creo que R3 debería agregarse a R1 o R2 ... pero eso es un cambio del 10% como máximo).

    
respondido por el George Herold

Lea otras preguntas en las etiquetas