Control PID Temperatura en Labview y Arduino
Control PID Temperatura en Labview y Arduino
RESUMEN
Se debe controlar la temperatura de un espacio cerrado (un cubo), mediante el empleo de un
controlador PID. Las fuentes de calor recomendables son focos incandescentes o
resistencias calefactoras. Para enfriar el espacio se recomienda el empleo de ventiladores.
Los equipos deben de especificar los rangos de temperatura (máximo y mínimo) que puede
alcanzarse dentro del espacio confinado. Se recomienda emplear unicel o madera para el
diseño de su cuboide, pues son materiales aislantes térmicos. Como sensor de temperatura
se recomienda al LM35, y debe de estar colocado en el centro del cubo. Las dimensiones del
cubo quedarán definidas por los ventiladores y calentadores que decidan emplear.
OBJETIVOS
Objetivos generales:
Objetivos específicos:
INTRODUCCIÓN
El control PID es un mecanismo de control que a través de un lazo de retroalimentación
permite regular la velocidad, temperatura, presión y flujo entre otras variables de un proceso
en general. El controlador PID calcula la diferencia entre nuestra variable real contra la
variable deseada.
El parámetro Proporcional (P) mide la diferencia entre el valor actual y el set-point (en
porcentaje) y aplica el cambio. Para aplicaciones sumergibles, el valor recomendado es 50%
y para aplicaciones centrífugas, el valor recomendado es 10%.
El parámetro Integral (I) se refiere al tiempo que se toma para llevar a cabo acción
correctiva. Mientras el valor sea más pequeño, el ajuste es más rápido pero puede causar
inestabilidad en el sistema, oscilaciones, vibración, etc.
El parámetro Derivativo (D) emite una acción predictiva, es decir, prevé el error e inicia una
acción oportuna. Responde a la velocidad del cambio del error y produce una corrección
significativa antes de que la magnitud del error se vuelva demasiado grande.
DESARROLLO
Material
● 2 protoboards
● 1 transistor 2N2222A
● 1 TRIAC BTA08-6008
● 1 optoacoplador MOC3011
● 1 sensor de temperatura LM35
● 2 resistencia de 1k𝞨
● 1 resistencia de 100𝞨
● 1 resistencia de 220𝞨
● 1 placa de Arduino UNO
● 1 ventilador a 12v CD
● 1 foco incandescente a 120v AC
● 1 placa de unicel
● Silicon
● 1 clavija
● Cables de conexión
● 1 fuente de voltaje de 12v CD
Dentro del while se abre un canal de lectura analogica en el pin A0 del arduino, ya que será
la entrada de señal para los datos que mande el LM35, como se muestra en la imagen 3.
imagen 3.- conexion de lectura de canal analogico
Puede observarse que la señal de salida del canal analogico, es decir, la lectura del LM35,
se multiplica por 100, esto para convertir la lectura a temperatura ya que el sensor manda un
voltaje en una relación de:
1°C = 10 mV
Puede observarse que se coloca un control PID, en setpoint se conecta una perilla con la
cual se podrá indicar al programa el valor de temperatura que se desea alcanzar. En PID
gains se coloca un control para llevar a cabo la regulación PID. En output range se coloca un
control para definir el rango de salida minimo y maximo que podra manejar el programa, en
este caso se coloca un rango de 0 a 100.
La división entre 100 se realiza porque el canal PWM necesita un valor en el rango de 0 a 1.
Por último para detener el programa se agrega el botón stop y la línea de error del programa
mediante una or. Se coloca el wait function p
ara no sobrecargar el procesador y poder
observar más a detalle el comportamiento de las lecturas, se establece en 500 milisegundos,
esto quiere decir que cada medio segundo se actualizará el programa. Se agrega también el
ara la conexión con arduino.
loop rate p
En la imagen 7 puede observarse que existen 3 referencias a tierra, las cuales en realidad
corresponden solo a una, a la conexión GND de arduino.
Para el control de potencia en este caso el foco incandecente a 120 vAC, se utiliza un
optoacoplador MOC3011 para aislar los circuitos y evitar algún tipo de riesgo para los
elementos de bajo voltaje y la computadora. Como interruptor para la corriente alterna se
utiliza un TRIAC BTA08 ya que permite trabajar de una manera más eficiente con el PWM en
lugar de un relevador mecánico.
El pin 6 PWM de arduino activa al led del MOC3011, se dispara la compuerta del TRIAC
interno y permite el flujo de corriente para activar la compuerta del TRIAC BTA08 que
controla al foco.
Puede observarse también que para la activación del ventilador se utiliza una fuente externa
ya que Arduino solo es capaz de entregar 5v máximo y el ventilador trabaja con 12v, por lo
tanto cuando se activa el pin 3 desde LabVIEW, lo que hace es energizar la base de un
transistor 2n2222a y cerrar el circuito de la fuente de 12v y hacer funcionar el ventilador.
Cabe mencionar que la conexión de los elementos: TRIAC BTA08, MOC3011, Transistor
2N2222A y LM35, se realizó en base a cada una de sus datasheet para asegurar el buen
funcionamiento.
RESULTADOS
Descripción de funcionamiento
El LM35 sensa la temperatura dentro del cubo de unicel, manda una señal al pin analogico
A0 de arduino. Y mediante el control PID se compara la temperatura deseada con la
temperatura sensada, si la temperatura mínima deseada es mayor que la temperatura que
sensa, el control PID mandara la señal PWM al optoacoplador para energizar la compuerta
del TRIAC BTA08 con un ancho de pulso grande, en este momento el ventilador no ha
entrado en funcionamiento.
Se podrá observar en la gráfica el ancho de pulso (salida del control PID) en una escala de 0
a 100, debido a que se toma la señal antes de realizar la división. Antes de llegar a la
temperatura mínima deseada se observa que el ancho de pulso se encuentra en 100 ya que
se está detectando que se necesita calor.
Cuando la temperatura sensada alcance la mínima deseada podrá observarse que el ancho
de pulso disminuye y mantendrá esa temperatura especificada mediante pulsos pequeños.
Para esta temperatura establecida, el foco debe de prender para elevar la temperatura y
apagar el ventilador, como se muestra en la imagen 18.
imagen 18.- foco elevando la temperatura
El funcionamiento del control PID puede apreciarse mejor en video ya que puede observarse
los pulsos que realiza el foco y el ventilador conforme pasa el tiempo.
CONCLUSIONES
Se utilizó un PID en LabVIEW, para procesar los datos del proceso, los cuales se obtendrá
con una tarjeta Arduino que es usada como tarjeta de adquisición de datos. Un controlador
PID es de ayuda ya que sirve de realimentación. Es ampliamente usado en sistemas de
control industrial. Este calcula la desviación o error entre un valor medido y un valor deseado.
Este proyecto puede utilizarse en diversas aplicaciones tales como aplicaciones para la
elaboración de alimentos, climatización para control ambiental, incubadoras, invernaderos,
etc.
REFERENCIAS
[1] Karl J. Aström & Tore Hagglund. (2009). Control PID avanzado. Madrid:
Pearson Prentice Hall.
[2] Karl J. Aström & Tore Hagglund. (1995). PID controllers: [theory, design and
tuning]. Research Triangle Park: Instrument Society of America
[3] Gutiérrez López Marcos (2020). Control PID [Material del aula]. video creativo,
Instituto Tecnológico de México en Celaya, Celaya , Guanajuato.
[4] foro web. Subforo de LabVIEW . De la empresa National Instruments Sitio web:
http://forums.ni.com/t5/LabVIEW/bd-p/170
[7] March Kevin, (1995-2020), Texas Instruments, Dallas, Texas, Estados Unidos,
recuperado de: https://www.ti.com/