¿El uso del controlador PID requiere conocimiento de la función de transferencia de la planta?

3

Tan simple como eso. Supongo que utiliza PID cuando no conoce la función de transferencia del sistema, de lo contrario, lo utiliza y lo conecta directamente en el control de bucle cerrado.

    
pregunta student1

2 respuestas

5

No, no es necesario que conozca toda la función de transferencia. Es una práctica bastante común ajustar manualmente un PID ya sea a mano o con alguna computadora. A veces, la función de transferencia podría ser compleja o arbitraria para ser calculada, por lo que puede aproximarse o usar un dispositivo que genere una respuesta escalonada de su sistema para generar un PID aproximado.

El último método no da la respuesta "perfecta / ideal" para su sistema, pero en la práctica nunca podrá hacerlo. Incluso si tiene la función de transferencia de un sistema, hay factores que tendrán un impacto: la tolerancia de los componentes, la tolerancia del proceso, el envejecimiento, la temperatura, etc. Por lo tanto, utiliza un PID que es el más cercano a la especificación que espera.

En la teoría de control, sería posible usar una función lineal para todo (solo factor P), pero tendría una respuesta muy mala en muchos sistemas y esa respuesta no es aceptable en la mayoría de las situaciones, pero incluso con un PID no siempre puede proporcionar una respuesta lo suficientemente buena. Depende de usted determinar si necesita una función de transferencia compleja o no. Ya tuve que diseñar un PID para un sistema complejo con una función de transferencia de octavo orden. Un PID simple no fue suficiente para modelar el inverso de esa función de transferencia, pero he podido eliminar muchos componentes a través del estudio del mapa de polos y cero de la función de transferencia. Entonces, decidí qué función de transferencia sería la mejor PID para mi sistema. Tenía muchos candidatos y los probé (manualmente) para averiguarlo.

Actualización: Para responder a tu comentario:

Un PID es una herramienta, pero no es "EL único feedback posible". Si tiene la función de transferencia, puede utilizarla directamente. Lo que aprendes de los libros de texto es que la mayoría de las veces un PID es lo suficientemente bueno como para modelar los sistemas más simples.

Sin embargo, estudio en robótica y puedo decirte que rara vez puedo usar un PID para controlar el robot (llamémoslo una planta). Utilizamos un PID para accionar los motores de unión, porque los mecánicos son simples (tiene un par, fricción, etc.). Pero no puede usar un PID para suavizar los movimientos realizados por un brazo completo o una pierna. En su lugar, utiliza herramientas más potentes: direct kinematics (un conjunto de matrices) permite definir la ubicación del efector final en relación con otra parte del robot y luego usamos la cinemática inversa. (otro conjunto de matrices) en el bucle de retroalimentación, para que pueda ajustar la posición actual del robot en relación con la ruta que esperamos.

Esas matrices son elementos de un bucle de control, pero no pueden modelarse como una ecuación de segundo orden. Esto puede parecer extraño al principio, pero si tienes a mano un matlab, puedes intentar convertir cualquier función de transferencia PID a una matriz SOS. Las matemáticas son muy similares: mutiplicamos todas las matrices juntas e implementas tu bucle de retroalimentación con ellas.

La razón por la que los PID son muy populares es porque son:

  1. Fácil de implementar, incluso en código de máquina (práctico para microcontroladores);
  2. Lo suficientemente bueno la mayor parte del tiempo;
  3. Requieren muy poco cálculo.

Como ya discutí los puntos 1 y 2, discuto el tercero: Si realmente tiene la función de transferencia de su sistema, digamos una enorme función de transferencia de orden 23 que incluye muchos senos, cosenos (en sus parámetros polinomiales), etc., puede terminar con un cálculo muy complejo que puede requerir El uso de la aritmética de punto flotante. En una computadora, esto no es un gran problema, pero en un sistema integrado, puede ser problemático, porque es demasiado lento para mantenerse al día con la tasa de actualización esperada. Si estudia la gráfica de polo cero e identifica que puede reducir su gigantesco TF de 23 órdenes a una orden de 4ª orden, entonces el cálculo es mucho más manejable.

    
respondido por el Mishyoshi
0

El objetivo en un sistema de control típico es producir la secuencia de estímulos de salida que permitirán que el sistema logre un estado deseado al "costo" más bajo [el costo puede medirse en energía, tiempo, esfuerzo de la máquina, imprecisión en el logro logrado Estado, o varias otras formas]. Si uno sabe con precisión cómo reaccionará el sistema a varios estímulos, puede simular lo que haría si se le suministraran varias secuencias de estímulos y determinar cuál daría los mejores resultados. De hecho, si el conocimiento del sistema era perfecto, se podría determinar qué secuencia era necesaria y luego emitir esa secuencia sin molestarse en observar cualquier comentario. En general, sin embargo, uno no sabrá con precisión cómo responderá el sistema a los estímulos, pero podrá establecer una envolvente de estados que se pueden lograr dentro de un cierto período de tiempo. Por ejemplo, si se sabe que "acelerar un 90% el avance máximo" aumentará la velocidad de avance de la máquina (o disminuirá la velocidad de retroceso) al menos 1 m / s, y "acelerar el máximo de retroceso" hará lo contrario, y si el objetivo es Si la máquina llega lo más rápido posible a un punto 10 metros más adelante, se puede calcular la velocidad máxima a la que la máquina puede viajar a cualquier distancia particular del objetivo sin tener que aplicar una aceleración máxima de más del 90%. si la velocidad actual de una persona es menor que la máxima, uno puede calcular cuánto tiempo puede ahorrarse acelerando en lugar de deslizarse hasta que haya que reducir la velocidad y acelerar o acelerar según sea apropiado; de lo contrario, se puede solicitar un retroceso máximo del 90% si la velocidad de uno coincide exactamente con la envolvente, más del 90% del máximo si es demasiado rápido, o menos del 90% del máximo si es más lento de lo que debe ser.

Si un sistema tiene una buena relación limpia entre "posición" y "velocidad" (como en el ejemplo de control de movimiento), uno puede leer la velocidad directamente, y el objetivo es alcanzar el objetivo rápidamente, un enfoque basado en la envolvente Puede ofrecer muy buena respuesta. Sin embargo, si la relación entre la salida del sistema de control y cualquier respuesta observable es más compleja o está menos caracterizada, un bucle PID puede ser útil. Cuando se utiliza un modelo de comportamiento complejo, incluso si uno puede predecir cómo responderá el sistema a cualquier estímulo dado, puede ser difícil determinar qué estímulo debe darse para lograr una respuesta deseada. Si se supone que la respuesta del sistema se puede modelar como un filtro lineal de segundo orden en el estímulo de salida, se puede calcular la inversa de ese filtro (que, en sí mismo, será un filtro de segundo orden). El filtro de segundo orden resultante se puede convertir a su vez en un bucle PID (un bucle PID es básicamente un filtro de respuesta de impulsos infinitos de segundo orden con una constante de tiempo muy corta en la primera etapa y una muy larga en la segunda; la suma de los coeficientes de la entrada y la primera etapa es el término "P" y la diferencia, dividida por la constante de tiempo, es el término "D"; el coeficiente de la segunda etapa dividido por la constante de tiempo del segundo término representa la "I "término).

    
respondido por el supercat

Lea otras preguntas en las etiquetas