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.
microcontroller
control-system
pid-controller
Daniel Grillo
fuente
fuente
Respuestas:
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!
fuente
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.
fuente
Además de la aplicación de control de temperatura obvia, aquí hay un hermoso proyecto que requiere control PID. Hazte un bot de seguimiento de línea: http://elm-chan.org/works/ltc/report.html
fuente
Un buen simulador PID está disponible para Scilab.
fuente
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.
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.
fuente