Explique en términos sencillos cómo un PID representa la inercia en el control de temperatura

Estoy construyendo mi propio horno de reflujo controlado por microprocesador. Estoy usando relés (mecánicos) para encender o apagar los calentadores (es decir, tubos de cuarzo). He notado que el calentamiento se retrasa un par de segundos antes de que la temperatura comience a subir.

Por ahora estoy administrando el perfil de temperatura manualmente con la ayuda de un Arduino, que simplemente apaga los calentadores cuando se alcanza la temperatura establecida. Por ejemplo, cuando configuro la temperatura en, digamos, 120° Celsius y los calentadores se detienen, la temperatura todavía sube entre 10 y 20 grados, por lo que hay un poco de exceso y luego un poco de timbre, que disminuye lentamente.

He leído y visto muchos ejemplos que hacen uso de un PID para un mejor control de la temperatura. Sin eso, simplemente detendría los calentadores, como 10-20 grados por debajo del valor establecido y luego los encendería y apagaría en períodos cortos hasta que la temperatura se estabilice alrededor del valor establecido. Solo sé que el delta varía con la temperatura, por lo que podría no ser tan sencillo: conozco la naturaleza exponencial del aumento de temperatura con un valor establecido fijo.

Entonces, ¿alguien puede explicar en términos sencillos cómo un PID explica la inercia, por ejemplo, qué papel juegan la parte integral y la parte derivada en términos simples, así como también cómo/si puedo averiguar intuitivamente una estimación de la derivada y la integral? cantidades sin recurrir a cálculos complejos.

El reto son los retrasos, como has visto. Por lo tanto, la clave para el control está en examinar las tasas de cambio y la derivada de las tasas de cambio.
@analogsystemsrf Creo que lo tengo en realidad. Como puede leer, tengo algunas dificultades para establecer el vínculo entre esto (teoría) y aquello (práctica). En resumen: ¿cuál es la parte que compensa el retraso y cómo ?
Los retrasos son horribles de tratar. Quizás causado por un sensor demasiado lejos del calentador. O un calentador demasiado grande, con demasiada masa térmica. Los factores de escala de PID pueden cambiar mucho cuando se cambia la disposición física. La disminución de los retrasos ayuda a lograr factores de control PID que producen errores más pequeños.
Realmente no puede implementar un PID si el único control que tiene es encender y apagar el calentador con un relé.
@mkeith: ¡Claro que puedes! Siempre que el período de conmutación sea corto en relación con la respuesta de la carga, está bien y un tiempo de ciclo de 3 a 20 s no sería inusual en los sistemas industriales. Para mayor confiabilidad, por supuesto, un SSR supera a un relé, pero el PID es posible con el control del relé. La salida PID se utiliza para ajustar el ciclo de trabajo.
@Transistor, interesante. Sinceramente, no sabía que se podían hacer ciclos de relevos tan rápido durante un período prolongado. Entonces, ¿es solo control PWM con un período PWM de varios segundos o más? ¿Y tal vez también algunas restricciones del ciclo de trabajo?
Uso controladores de temperatura industriales para el trabajo. Los que tienen salida de relé generalmente limitan el tiempo de ciclo a 5 s como mínimo. Los que tienen una salida de CC de estado sólido para impulsar un SSR no tienen esta restricción. Si piensa en una aplicación con una constante de tiempo prolongada (un horno de vidrio o una tonelada de chocolate, por ejemplo), podría imaginar que un ciclo de trabajo de 30 s podría ser adecuado para controlarlo bien.

Respuestas (3)

Tuve que + el comentario de Glen. Siempre tiene su cerebro en el lugar correcto, en mi humilde opinión. No hay nada más difícil de manejar en un PID que un Δ t demora. He estado lidiando con controles de temperatura calentados por lámparas para FAB de oblea IC, de una forma u otra, durante años. Permítanme comenzar con una descripción general de PID y hablar un poco sobre dónde NO será tan útil como en otros casos. También sugeriré uno de muchos otros dominios de métodos de control que también podría explorar, pero con una prioridad de los pasos que debe seguir primero antes de ir a otro lado.

La expresión canónica para el control PID es:

tu t = k [ mi t + 1 T i 0 t mi τ d τ + T d d mi t d t ]

Siendo los parámetros del controlador la ganancia proporcional k , tiempo integral T i , y tiempo derivado T d .

  1. Control proporcional : La acción de control aquí es simplemente proporcional al error de control. (La ecuación anterior se reduce a tu t = k mi t + tu b , donde tu b es un sesgo o reinicio del controlador.) Un análisis de un modelo de proceso estático muestra que el proceso resultante tiene una compensación residual o un sesgo del controlador en estado estable (aunque un sistema se puede ajustar manualmente para que pueda haber un error de control de cero en uno y solo un valor de punto de ajuste mediante una elección adecuada de la polarización del controlador). depende de los objetivos.
  2. Control Proporcional + Integral : La función principal de la acción integral es asegurarse de que la salida del proceso coincida con el punto de referencia en estado estable. Con acción integral, un pequeño error positivo siempre dará como resultado una señal de control creciente y un pequeño error negativo siempre dará como resultado una señal de control decreciente. Esto es cierto sin importar cuán pequeño sea el error.
  3. Control PID : agregar control derivado mejora la estabilidad de circuito cerrado. (Pasará algún tiempo antes de que se note un cambio en el control en la salida del proceso. Por lo tanto, el sistema de control se demorará en corregir ese error. El resultado del término derivado es que es una especie de predicción hecha extrapolando el error utilizando una tangente a la curva de error, utilizada para anticipar los resultados retrasados.

La descripción anterior, agregada a su propia descripción de su problema de demora, sugeriría que un término derivado lo ayudaría. Pero como de costumbre, nada es necesariamente tan simple.

El control proporcional-integral es suficiente cuando la dinámica del proceso es de primer orden. Es fácil averiguarlo midiendo la respuesta escalonada. (Si la curva de Nyquist se encuentra solo en los cuadrantes 1 y 4). También se puede aplicar en los casos en que el proceso no requiere un control estricto, incluso si no es de primer orden.

El control PID es suficiente para procesos donde la dinámica dominante es de segundo orden. El control de temperatura es a menudo el caso aquí. Entonces, una vez más, esto quizás argumente a favor de agregar control derivado en su situación.

Sin embargo. Todo lo anterior solo debe considerarse después de haber hecho todo lo posible para mejorar algunas cosas:

  • Utilice el sensor de temperatura de respuesta más rápida que pueda aplicar razonablemente (masa pequeña, pirometría, etc.) y aplíquelo en una situación con el menor retraso de respuesta posible para el proceso que desea controlar (cerca, no lejos).
  • Reduzca la variación del retraso en la toma de medidas y la promulgación del control del proceso.

Quiero profundizar un poco en este último punto. Imagine el control de procesos como si estuviera parado en algún lugar, tratando de clavar una vara de bambú delgada, muy flexible y tambaleante en un agujero de pajarera distante que está sentado en un árbol arriba y lejos de usted. Si estás cerca y la caña de bambú es corta, es fácil. Puedes hacerlo cada vez de forma rápida y sencilla. Pero si la caña de bambú es larga y la pajarera está lejos de ti, es muy, muy difícil de lograr. El polo sigue dando vueltas y hace que su predicción y control sean muy difíciles.

(Si aún no está claro, la longitud de la caña de bambú es como el tiempo de retardo del bucle).

Así que el retraso es probablemente la PEOR PESADILLA de los sistemas de control. Más retraso es muy malo. Así que es muy importante que hagas todo lo que esté a tu alcance para reducir este retraso. Pero hay un punto más importante.

Ahora imagina la misma situación. Pero ahora la caña de bambú también sigue cambiando de longitud. A veces es más corto, a veces más largo, y varía continuamente sin predicción de su parte. Ahora tienes que seguir cambiando tu postura y nunca sabes cuándo cambiará la demora. Esta es la situación que existe si su SOFTWARE no controla con mucho cuidado y con mano de hierro, el tiempo de retraso en el procesamiento de su valor ADC y la generación de una salida de control DAC.

Entonces, aunque el retraso es lo suficientemente malo para un sistema de control PID. El retraso variable es aún peor. Por lo tanto, debe prestar atención estricta al diseño de su software, atención muy estricta, para que no tenga declaraciones IF y código de cálculo condicional, o uso descuidado de temporizadores, etc., todo lo cual puede causar variaciones significativas en el retardo entre la muestra y la salida de control.

Debe incorporar lo anterior a la administración antes de LUEGO preocuparse por si necesita o no el control derivado. Lo primero es lo primero. Limpia tu acto. Luego examine el sistema para determinar qué queda por hacer (usando PI vs PID, por ejemplo).


Estaba trabajando en sistemas de control PID usando un sistema de pirómetro extremadamente preciso (también muy costoso para los clientes). Recibí una llamada de un investigador canadiense que trabajaba con nuestro pirómetro, pero usando un controlador PID separado de una compañía comercial muy grande (la más grande en el mundo haciendo estas cosas.) El investigador estaba luchando con las ondas que caían por el costado de una bola de arseniuro de galio que estaba extrayendo de una masa fundida. Y quería mi ayuda para averiguar las variables de control PID correctas. (Al tirar de boule, desea diámetros muy uniformes).

El controlador que estaba usando era bastante bueno según cualquier medida estándar. Pero agregó demoras, y esas demoras también variaron, ya que el software interno no controló rigurosamente la demora que introdujo en el ciclo de control general.

Entonces, lo primero que le dije fue que agregaría el control PID al software en nuestro pirómetro y que simplemente debería SACAR el controlador externo del sistema que estaba usando. Agregué ese software en menos de una semana y le envié el sistema pirotécnico modificado. No hice nada elegante con el software PID. Sin embargo, mantuve mi variabilidad en ADC a DAC a menos de un par de microsegundos y también ajusté el retraso general a aproximadamente 100 microsegundos. Le envié eso.

Recibí una llamada el lunes de la semana siguiente. Las bolas estaban saliendo casi a la perfección, sin ondulación alguna.

Era tan simple como reducir los retrasos y también reducir la variabilidad de esos retrasos. Nada especial sobre el control PID, en absoluto. Fue una implementación simple y sencilla que cualquiera produciría por primera vez al aprender sobre uno.

Esto ilustra la importancia de eliminar el retraso y la variabilidad del retraso. Claro, el control derivado puede proporcionar algún tipo de idea de predicción "secante/tangente". Pero nada reemplaza reducir los retrasos y mantener la variabilidad al mínimo absoluto.

Sigue pensando en el problema de la caña de bambú y el agujero de la pajarera.


¿Conclusión?

El control de los sistemas con un retardo de tiempo dominante es notoriamente difícil. He sugerido algunas razones por las que podríascree que un término derivado ayudará con los retrasos de tiempo. Pero existe un acuerdo general de que la acción derivada no ayuda mucho en los procesos que tienen retrasos de tiempo dominantes. Es por eso que inmediatamente sugerí ayudar a ese investigador eliminando todos los retrasos que podría eliminar fácilmente (como un cuadro PID externo, por ejemplo). No imaginé que mi implementación fuera mejor que el producto comercial. De hecho, sabía que mi implementación no estaría tan bien examinada. Caramba, tuve que escribirlo desde cero, probarlo e instalarlo, y enviar una unidad con software recién agregado que nunca antes había incluido, y hacer todo eso en una semana. Pero también sabía que la demora estaba MATANDO todas las posibilidades que tenía este investigador de obtener los resultados que deseaba. Así que inmediatamente supe que el mejor enfoque era exprimir los retrasos y no inventar un código PID mágico implementado "brillantemente" que solo un genio podría seguir. Se trata de los retrasos y cómo varían esos retrasos, ante todo. El resto es una prioridad mucho menor.

Hay algunas cosas llamadas "compensadores de tiempo muerto". Pero en el análisis final, debe hacer todo lo posible para eliminar los retrasos y la variabilidad en esos retrasos. Y luego, después de haber hecho todo lo posible allí, si todavía hay un problema, es probable que necesite controles más sofisticados que los que permite un PID. Aquí, buscaría transformadas de Fourier (y usaría una transformada inversa para analizar las respuestas escalonadas y desarrollar una descripción de las respuestas del sistema), tal vez. Puede hacer mucho con estos que no se pueden tocar con PID. Resultados casi milagrosos, de hecho, si puede modelar la función de respuesta lo suficientemente bien.

Pero en su caso, me centraría en eliminar los retrasos y su variabilidad. Creo que, si es posible, también debería considerar evitar el uso del control simplista de encendido/apagado de lámparas. Sería bueno si pudieras controlar la intensidad de la lámpara. Pero no sé si puedes considerar eso.

Muchas gracias, jonk, esa fue una explicación (para mí) bastante profunda. El retraso del que hablé bien, me temo que no puedo reducirlo, ya que creo que es inherente a la forma en que se fabrica el horno: modifiqué un horno de uso general en un horno de reflujo como se encuentra comúnmente en Internet. Sin embargo, a pesar de usar tubos de cuarzo, el aumento de temperatura es la mitad de la tasa requerida (no más de 1°C por segundo en lugar de 2-3). En cuanto al sensor, estoy usando un par de termopares K y verifiqué que tiene poca o ninguna inercia. Sin embargo, lo único que he notado es que el retraso de la temperatura disminuye si precaliento el horno, es decir, alrededor de 50 ° C.
¿Has probado el Smith Predictor Controller para mitigar el retraso?
@Chu Todavía no, solo lo aprendí aquí :-D. Además, mi horno está parcialmente desmontado en este momento y no lo tengo en mis manos.
He aceptado tu respuesta primero por lo elaborada y detallada que es. También porque estaba abierto a usar lo que sea que encaje, incluso si no implica un PID. Su respuesta y la de Transistor me dieron suficientes pistas sobre qué hacer a continuación. Sin embargo, solo puede haber una [respuesta aceptada]. Muchas gracias a todos de todos modos .

Esto no responde directamente a su pregunta, pero le brinda algunas herramientas para jugar y mejorar su comprensión.

Hay un simulador de Excel simple en Engineers-Excel que puede resultarle útil.

ingrese la descripción de la imagen aquí

Figura 1. Modelo de simulador PID.

La parte difícil es modelar su proceso, el horno, para establecer K , la ganancia del proceso, Ts , la constante de tiempo de respuesta y Ls , el retraso de la respuesta. Yo sugiero:

  • Encienda su horno a, digamos, 40% de potencia ( PAG 1 ) y ver a qué temperatura se estabiliza. Repita a, digamos, 70% de potencia ( PAG 2 ) y registre la temperatura. La ganancia del proceso se da (para este rango de ajustes) como
    k = T 2 T 1 PAG 2 PAG 1
    y la respuesta tendrá las extrañas unidades de grados/%.
  • Trace la respuesta de la temperatura a lo largo del tiempo a medida que cambia entre PAG 1 y PAG 2 . L S , el tiempo de retraso, es el tiempo entre el cambio y cuando la temperatura comienza a subir.
  • T S es el tiempo (desde el inicio de la respuesta) hasta que la temperatura alcanza el 63% (una constante de tiempo) del camino desde el T 1 a T 2 .

Después de eso, puede jugar con los parámetros PID para ver si puede obtener la respuesta que desea.

Tomando algunas conjeturas salvajes:

  • PAG 1 = 40 % y T 1 = 92 ° C .
  • PAG 1 = 70 % y T 2 = 176 ° C .
  • k = 176 92 70 40 = 2.8 ° C / % .
  • L s = 3 s .
  • Se necesitan 50 s para recorrer el 63% del camino de 92 °C a 176 °C, por lo que T S = 50 s .

ingrese la descripción de la imagen aquí

Figura 2. Salida del simulador PID de Excel.

Por lo general, se sale con la suya con un término D cero si no es probable que su proceso sufra perturbaciones, como un cambio repentino en el punto de referencia o un cambio repentino en la carga térmica. Eso simplifica las cosas hasta una configuración de control PI.

Para la calefacción, puede obtener una potencia proporcional encendiendo y apagando la energía lo suficientemente rápido en relación con el tiempo de respuesta térmica.ingrese la descripción de la imagen aquí

Figura 3. Ciclo de trabajo variable para el control de CA de un calentador.

Gracias por la comprensible información técnica. Solo una nota al margen: dado que uso relés, que descubrí que son más baratos que los SSR (fuente: Digi-Key), solo puedo encender o apagar completamente los calentadores, no hay ajuste posible entre 0% y 100%. Además, no puedo usar el cruce por cero para apagar los calentadores, pero supongo que eso es de menor importancia. De todos modos, muchas gracias por tus conocimientos.
Mi Figura 3 muestra el control de encendido y apagado y es lo que hará y está bien. Promediará en cualquier lugar que desee entre 0 y 100%. Efectivamente, es una modulación de ancho de pulso (PWM) lenta con CA. Intercambiará mantener el tiempo de ciclo razonablemente corto con la vida útil del relé. El cruce por cero es bueno porque reduce el ruido eléctrico. ¡Si no es un problema, entonces no es un problema!

En PID hay 3 partes: Proporcional, Integral y Derivativo.

Proporcional es el controlador más simple. Amplifica el error entre la señal deseada y la real. Por ejemplo, si la temperatura deseada es 100C, la real es 80C, entonces la salida = 20 * Kp. La cantidad de salida que se proporciona se ajusta mediante Kp.

Si ajusta Kp demasiado bajo, no habrá suficiente calefacción y es posible que nunca alcance la temperatura deseada.

Si ajusta Kp demasiado alto, puede aumentar demasiado rápido. La inercia puede dar lugar a sobreimpulsos y zumbidos. Esto se debe a que hay un retraso entre dar una cierta potencia de salida y medir su efecto.

La parte integral es necesaria si desea bajas compensaciones estáticas. Tenga en cuenta que para que un controlador P proporcione una salida, debe tener un error presente para generar cualquier valor de salida. Si desea que el error sea muy cercano a cero, necesita que la parte I tome el relevo de P. Sin embargo, esto puede llevar algún tiempo.

La parte derivada es probablemente la más interesante para su problema de inercia. La derivada mira la tasa de cambio del error. Si hay una gran tasa de cambio en el error, significa que hay una gran inercia. Usando un factor sintonizado Kd, puede asegurarse de que la salida se reduzca en el tiempo. Esto es para que la inercia disminuya antes de alcanzar el valor de salida final.

Esto le permite usar un factor P más alto para una respuesta agresiva adecuada, mientras usa D para evitar el exceso. La parte I se usa para hacer que el error estático finalmente se asiente en 0.

En realidad, a largo plazo es el término P el que cae a cero, ya que el término I se integra exactamente al punto de ajuste, dejando la diferencia de salida en cero, y P por cero es cero.