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.
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 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:
Siendo los parámetros del controlador la ganancia proporcional , tiempo integral , y tiempo derivado .
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:
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.
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.
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:
Después de eso, puede jugar con los parámetros PID para ver si puede obtener la respuesta que desea.
Tomando algunas conjeturas salvajes:
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.
Figura 3. Ciclo de trabajo variable para el control de CA de un calentador.
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.
analogsystemsrf
usuario59864
glen_geek
keith
Transistor
keith
Transistor