¿Cómo aprender el control PID?


26

Quiero aprender el control PID (Proporcional-Integral-Derivado) principalmente para la temperatura.

Me gustaría aprender preferiblemente a través de un proyecto fácil de hacer.

¿Podría por favor recomendar algo que tomaría algunas semanas para aprender?

Editar: Quiero controlar la temperatura de un tanque de agua. El calentamiento se realiza mediante una resistencia.


Traté de obtener un proyecto básico del que alguien pudiera aprender, creo que las matemáticas también son interesantes. La gente dedica sus vidas a ello.
Kortuk

¿De qué quieres controlar la temperatura?
J. Polfer

3
Como no puede eliminar el calor, debe asegurarse de que su sistema aún se enfríe incluso cuando aplica una corriente pequeña o su pid podría tener problemas de regulación. Posiblemente agregaría un ventilador o hielo cuando haga su experimento. Desea que suba cuando esté lleno y que baje cuando esté apagado. Si este es el caso, los comentarios se regularán por usted.
Rex Logan

1
Eso está determinado por la temperatura del tanque de agua que se requiere. Si quiere 80C, entonces la temperatura ambiente será suficiente, si quiere 25C, entonces tendrá un problema. El PID cuando está sintonizado correctamente debería ser capaz de lidiar con una pérdida de temperatura lenta.
Kortuk

Respuestas:


27

Controlar la temperatura (depende de tu medio) no es terriblemente difícil. Ese fue mi primer proyecto cuando comencé. Perdón, si repito cosas que ya sabes.

Supongo que ya tiene una forma de controlar el sistema (es decir, una unidad de calefacción o enfriador), y una forma de obtener retroalimentación del sistema (un sensor de temperatura como un termistor o algo así). Necesitará ambos para implementar un bucle PID, que es un tipo de control de bucle cerrado. Todo lo que realmente necesita hacer después de eso es escribir un poco de software para enviar comandos de control, leer comentarios y tomar decisiones sobre esos comentarios.

Comenzaría leyendo PID sin un doctorado . Es el artículo que utilicé cuando tuve que regular la temperatura en un experimento científico. Proporciona algunas imágenes fáciles de entender y un buen código de muestra (un bucle básico que puede ajustar solo necesita 30 líneas) que explica cómo controlar su 'planta', en este caso, lo que desea controlar la temperatura de .

La esencia del control PID (Proporcional-Integral-Diferencial) es utilizar el rendimiento instantáneo, pasado y futuro previsto (respectivamente) del sistema para determinar cómo controlar un sistema en un punto dado en el tiempo para alcanzar un punto establecido específico. En muchos casos, tendrá que ajustar los factores de ganancia del algoritmo para obtener el rendimiento deseado que necesita: qué tan rápido aumentará la temperatura, cuánto desea evitar el sobreimpulso, etc. Incluso puede encontrar que no necesita el diferencial o incluso control integral para llegar a donde quieres estar!


No podía recordar dónde fue ese enlace a PID sin un doctorado. Me había olvidado de su nombre y no podía recordar lo que leí hace tanto tiempo. +1 señor.
Kortuk

3
¡PID sin un doctorado es un gran artículo! Sin embargo, bueno, a mi microcontrolador de 8 bits no le gustaba esa aritmética de coma flotante ...
Abdullah Kahraman

Simplemente excelente! PID sin PHD es perfecto. Tengo un doctorado, pero he hecho todo lo posible para alejarme de la teoría del control :) Además, me encanta el seguidor de mini líneas.

@Bistromath Por favor, no agregue "gracias" como respuesta. Una vez que tengas suficiente reputación , podrá votar las preguntas y respuestas que considere útiles.
m

10

Sí. Consigue un termistor y una resistencia. Elija una resistencia que pueda extraer una corriente decentemente grande (> 100 mA).

Use pasta térmica entre ellas y péguelas con cinta adhesiva. Conecte el circuito del termistor a un microcontrolador a través de ADC. Use un transistor para controlar la resistencia y controlar esto con un PWM.

Desarrolle un PID que le permita controlar la temperatura con un dial y practique haciendo un PID que sobrepase y haga sonar la temperatura. Hágalo demasiado amortiguado y tómese una eternidad para alcanzar la temperatura, e intente amortiguarlo críticamente y llegar a la temperatura a la velocidad máxima.

Avíseme si más detalles ayudarían.

Después de hacer esto, reduzca su conductancia térmica, intente agregar una etapa que demore la propagación de la temperatura e intente controlarla bien.

Esto también se puede hacer con un LED y un fototransistor.


Estas son buenas sugerencias para tratar de entender cómo se comportan los bucles PID.
J. Polfer



1

Solo agrego mis 2 centavos de valor a las buenas respuestas ya.

El uso práctico de PID para el control de temperatura a menudo tiene comportamientos no lineales si la detección del error de temperatura es limitada (la ganancia del amplificador operacional satura la salida) y la potencia disponible para controlar la temperatura es fija.

Considere un controlador de encendido y apagado. El sistema tendrá latencia desde el momento en que se aplica calor y se detecta un cambio de temperatura. Sin lazo PID, esta latencia crea un bucle inestable que oscila y, si hay histéresis, la potencia se enciende con ruido (encendido-apagado-encendido) Sin embargo, una ganancia muy alta (como un comparador) produce un pequeño error de temperatura residual. La latencia afecta el tiempo del ciclo y el exceso.

Si hubo una perturbación externa como una lámpara del tanque que puede agregar calor significativo, entonces el regulador del calentador debe responder tan pronto como se detecte un aumento de temperatura por el calor de la lámpara. Si su lámpara Swith no es parte del circuito PID, entonces no puede "anticipar" el efecto (ganancia de retroalimentación derivada) Obviamente, si las lámparas generan demasiado calor, entonces la temperatura no puede ser regulada y excederá el punto de ajuste.

Su control de calor con control PID puede tener que tener una entrada para el estado del interruptor de la lámpara y el control de salida para regular la potencia de la luz como fuente secundaria de calor, nuevamente si es demasiado.

La definición de sus requisitos de error de control absoluto,% de sobreimpulso y tiempo de respuesta son algunas entradas de diseño necesarias para optimizar su bucle PID. Igualmente importante es definir las perturbaciones de su sistema e incluirlas en su sistema de control para entrada y salida. p.ej. Potencia de calor de la lámpara y elección de sensor (es) y ubicación.

Aparte de la experiencia.

Mi primera experiencia con un calentador de agua fue durante la era del lecho de agua de los años 70, cuando era estudiante, diseñé mi propio controlador de temperatura usando un termistor, un circuito de control y un interruptor triac de cruce cero al calentador. Comencé con el control de comparación y encontré una respuesta inusual al saltar en la cama. Así que agregué control proporcional usando ruido sin filtrar en el sensor para darme "ciclos faltantes" proporcionales cuando el triac ZCS estaba encendido cerca del umbral. Pude regular la temperatura dentro de 0.1'C. La respuesta fue más suave pero el resultado fue el mismo.

Encontré que el error más grande estaba en la ubicación y pequeños cambios en la presión del agua en el sensor. (Era pequeño entonces, solo 185 libras pero en un lecho de agua de 2000 lb <10% el cambio en la presión del agua era pequeño)

La resistencia térmica entre el sensor y la cama de agua creó un pequeño error de compensación dependiendo de la presión del agua contra el sensor. En el escenario de su tanque de agua, el error del sensor podría verse afectado por el tamaño del tanque y la distancia entre el sensor y el calentador o el sensor y la superficie más alejada del agua o la velocidad del flujo de agua o las burbujas entre el sensor y el calentador.

En mi caso, cada vez que saltaba a la cama, la resistencia térmica disminuía ligeramente debido a la presión adicional y la luz de encendido brillaba más tenue durante un minuto o dos hasta que la temperatura caía una décima de grado o para igualar el aumento aparente de temperatura del peso y la presión adicionales de la cama de agua contra el termostato.

(Lección aprendida. No descuidar las fuentes de perturbaciones y sus efectos sobre el error del sistema de control)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.