Está en la página 1de 7

CONTROL PROPORCIONAL DE

TEMPERATURA CON LABVIEW Y ARDUINO

Proyecto No. 2
Control de Procesos

 Miguel Alejandro Ponce de Leon Meza


 Edwin Trevizo Gonzáles
 José Enrique Saláis Sígala
 Jesús Miguel Aguayo Barrera

Instituto Tecnológico de Ciudad Juárez


Introducción

La instrumentación virtual es el uso de software personalizable y hardware de medición


modular para crear sistemas de medición definidos por el usuario, llamados instrumentos
virtuales.
Los sistemas de instrumentación de hardware tradicionales se componen de componentes
de hardware predefinidos, como multímetros digitales y osciloscopios que son
completamente específicos de su función de estímulo, análisis o medida. Debido a su
función codificada, estos sistemas tienen una versatilidad más limitada que los sistemas de
instrumentación virtual. La principal diferencia entre la instrumentación de hardware y la
instrumentación virtual es que el software se utiliza para reemplazar una gran cantidad de
hardware. El software permite que hardware complejo y costoso sea reemplazado por
hardware de computadora ya adquirido; por ejemplo. Un convertidor analógico-digital
puede actuar como un complemento de hardware de un osciloscopio virtual, un
potenciostato permite la adquisición y análisis de respuesta de frecuencia en espectroscopía
con instrumentación virtual.
El concepto de instrumento sintético es un subconjunto del concepto de instrumento virtual.
Un instrumento sintético es un tipo de instrumento virtual que está puramente definido por
software. Un instrumento sintético realiza una función específica de síntesis, análisis o
medición en hardware de medición completamente genérico. Los instrumentos virtuales
aún pueden tener hardware específico de medición y tienden a enfatizar los enfoques de
hardware modular que facilitan esta especificidad. El hardware que soporta los
instrumentos sintéticos es, por definición, no específico para la medición, ni necesariamente
(o por lo general) modular.
La instrumentación y control de procesos es una especialidad de la ingeniería que combina,
a su vez, distintas ramas, entre las que destacan: Sistemas de control, automatización,
electrónica e informática. Su principal aplicación y propósito es el análisis, diseño y
automatización de procesos de manufactura de la mayor parte de las áreas industriales.
LabVIEW (Laboratory Virtual Instrument Engineering Workbench) es un ambiente de
desarrollo basado en la programación gráfica. Utiliza terminología, iconos, e ideas
familiares a técnicos, científicos e ingenieros, y se basa en símbolos gráficos en lugar de
lenguaje textual para describir acciones de programación. LabVIEW está integrado
completamente en las comunicaciones con el hardware tal como GPIB, RS-232 Y DAQ.
Además cuenta con librerías para el manejo de redes TCP/IP y ActiveX.
Por su parte Arduino es una plataforma de hardware libre, basada en una placa con un
microcontrolador y un entorno de desarrollo (software), diseñada para facilitar el uso de la
electrónica en proyectos multidisciplinares. El hardware de Arduino consiste en una placa
con un microcontrolador generalmente Atmel AVR con puertos de comunicación y puertos
de entrada/salida.
Objetivo de la práctica
Se busca establecer una interfaz con ayuda del software de desarrollo LabVIEW
mencionado en la introducción, donde el usuario pueda observar el estado en tiempo real
del nivel de temperatura en grados centígrados de una “caja de temperatura”, tanto gráfico
como numérico, y le permita establecer un nivel deseado o setpoint y una constante Kp de
proporcionalidad para el calentado o enfriado de dicho depósito. Por su parte, Arduino
funcionara como controlador, será quien envié la lectura del nivel de temperatura a la
interfaz y procesara los datos recibidos por el usuario para arrojar una salida PWM, ya sea
al abanico que se encarga de enfriar o el foco destinado a calentar. Arduino calculara el
error a partir del setpoint para enviar una salida proporcional a estos actuadores y de esta
manera entre más se acerque el nivel de temperatura real al setpoint, la velocidad de estos
ira disminuyendo. El porcentaje mínimo que recibirá será de 30% con el fin de que las
actuadores realicen correctamente su función, y el mayor será de 100%. Como valores
iniciales se tomara un setpoint de 26°C, y un Kp unitario.

Materiales
 Computadora con LabVIEW y Arduino instalados.
 Placa Arduino UNO.
 Abanico de 12V, 0.6A.
 Foco 12V, 2A, 120W.
 Protoboard.
 Cables de conexión.
 Transistor TIP31C.
 Mosfet IRF520.
 Sensor de temperatura LM35.
 Fuente externa de 12V.

Programación en LabVIEW.
Como es costumbre al programar en LabVIEW, cuenta con una estructura WhileLoop que
permite que nuestro programa este corriendo constantemente, únicamente fuera de esta
estructura se dejó la configuración del puerto serial y los valores iniciales del setpoint y Kp.
Una vez adentro se utilizó una estructura FlatSecuence para mantener un orden en las
acciones que la interfaz realiza. En la primera imagen se puede observar las primeras dos
secuencias, muy parecidas entre sí. Estas se encargan de enviar los valores setpoint y kp
únicamente al accionar los botones correspondientes a cada uno, esto con el fin de que
Arduino reciba solo un valor a la vez cuando sea necesario. Para el Kp se realizó un
pequeño ajuste el cual consiste en tomar el valor introducido por el usuario y multiplicarlo
por 100 antes de enviarlo al puerto serial, esto con el fin de que sea posible para Arduino
diferenciar uno del otro.

Por último, simplemente se recibe los datos enviados por Arduino que indican el nivel de
temperatura de la caja. Como se mencionó anteriormente, LabVIEW únicamente funciona
como interfaz de usuario y no realiza ningún procesamiento.
A continuación se presenta la interfaz con la que interactúa el usuario directamente.

Programación en Arduino.

double num=0; pinMode(11,OUTPUT);


double setpoint=26;
double kp=1; }
double Error, Control, por1, por2, out1,
out2; void loop() {
char inChar; int sensorValue = analogRead(A0);
String string=""; volts = (5 * sensorValue);
int tp=2; volts = volts / 1024;
int ep=3; temp = volts / .01;
int T;
float D, N; if (Serial.available()){
double volts;
double temp; inChar = Serial.read();

void setup() { if ( inChar != ',') {


string+=inChar;
Serial.begin(9600); }
pinMode(tp,OUTPUT); else {
pinMode(ep,INPUT); num= string.toInt();
string="";
pinMode(10,OUTPUT); }
if (num<100){ analogWrite(10,out1);
setpoint=num; analogWrite(11,LOW);
} }
else { if(Control>0){
kp=num/100; por2=Control;
} if (por2<0.20){
} por2=0.20;
Error=(setpoint-temp)/15; }
Control=Error*kp; if (por2>1){
por2=1;
if(Control<0){ }
por1=Control*(-1); out2=255*por2;
if (por1<0.50){ analogWrite(11,out2);
por1=0.50; analogWrite(10,LOW);
} }
if (por1>1){ Serial.println(temp);
por1=1; delay(10);
} }
out1=255*por1;
El presentado anteriormente es el código que se le cargo a la placa Arduino. Después de la
declaración de variable y los puertos de entrada y salida, lo primero es accionar los pulsos
al sensor LM35 de Arduino para tomar la lectura de la temperatura, la señal recibida se
procesa y para transformar la señal a grados centigrados. Una vez que se tiene el nivel
actual se lee el dato que está recibiendo por parte de LabVIEW si es que este está
transmitiendo uno, lo evalúa según su valor y establece si corresponde a setpoint o a Kp.
Con estos tres valores y conociendo rango de temperatura, se calcula el error y el porcentaje
de salida que se tendrá en cada actuador. Si el error es positivo, se accionara el foco y si es
negativo, el abanico.

Evidencia.
Se presentan las imágenes capturadas durante la evaluación del proyecto.
Conclusión y observaciones.
Durante la presentación del proyecto se
presentó un fallo en cuanto a lo que corresponde a lo electrónico. Al principio se intentó
utilizar un TIP31C para controlar el PWM correspondiente al foco, sin embargo este no
lograba proporcionar el amperaje exigido por el foco lo que llevaba a su
sobrecalentamiento. Debido a esto se utilizó el Mosfet IRF520 el cual funciono de manera
correcta al proporcionar un amperaje adecuado, así el objetivo del proyecto se alcanzó de
forma exitosa.

También podría gustarte