Documente Academic
Documente Profesional
Documente Cultură
INTRODUCCIÓN ............................................................................................... 1
1. MARCO TEÓRICO ....................................................................................... 1
2. DESCRIPCIÓN DEL PROTOTIPO............................................................... 7
3. DESCRIPCIÓN DEL CIRCUITO .................................................................. 9
4. DESCRIPCIÓN DEL SOFTWARE ............................................................. 12
4.1. DESCARGA DEL PROGRAMA ARDUINO .................................... 12
4.2. PROGRAMACIÓN PARA EL CONTROL DE TEMPERATURA ..... 15
5. PROTOCOLO DE USO Y MANEJO DEL PROTOTIPO ............................ 18
5.1. PRE-PRÁCTICA .............................................................................. 18
5.2. PRÁCTICA ...................................................................................... 18
5.3. POST-PRÁCTICA............................................................................ 19
6. PRECAUCIONES Y SEGURIDAD ............................................................. 20
7. PRÁCTICA DE LABORATORIO Y PREGUNTAS ..................................... 21
7.1. RECONOCIMIENTO DEL PROTOTIPO Y LAS VARIABLES ........ 21
7.2. BALANCES DE MATERIA Y ENERGÍA ......................................... 21
7.3. ANÁLISIS DE LA VARIACIÓN DE TEMPERATURA ..................... 22
7.4. DIAGRAMA DE LAZO CERRADO .................................................. 23
7.5. GRÁFICAS ...................................................................................... 23
7.6. APLICACIÓN DE UNA PERTURBACIÓN ...................................... 23
8. RECOMENDACIONES Y MEJORAS ........................................................ 23
8.1. RECOMENDACIONES .................................................................... 23
8.2. MEJORAS ....................................................................................... 24
BIBLIOGRAFÍA ....................................................................................................... 24
INTRODUCCIÓN
La necesidad de mantener un proceso físico o químico en unas condiciones de
operación deseadas representa un gran reto para la industria, en vista de que
existen muchos factores que pueden modificar las variables de dichas condiciones
de operación de un sistema, se busca implementar las tecnologías y herramientas
informáticas que facilitan la manipulación de estas variables en los diferentes
sistemas permitiendo mejor control del proceso, la manipulación de estos sistemas
representa un aprendizaje práctico a través del cual el estudiante de ingeniería
química puede repasar y afianzar la teoría estudiada en la asignatura de control de
procesos, siendo esto un factor clave en el desarrollo profesional. Durante este
trabajo se desarrolla la mejora de un prototipo didáctico del semestre anterior (2016-
2) con el cual los estudiantes podrán implementar los conceptos aprendidos en la
asignatura de control de procesos del programa de ingeniería química. El siguiente
manual presenta un sistema de control de temperatura en un tanque de
almacenamiento de agua.
1. MARCO TEÓRICO
Arduino: Este dispositivo conecta el mundo físico con el mundo virtual. Es una
plataforma electrónica de hardware de código abierto, se compone de en un
tablero de microcontroladores basado en el ATmega328 (hoja de datos). Tiene
14 pines digitales de entrada / salida (de los cuales 6 se pueden usar como
salidas PWM), 6 entradas analógicas, un resonador cerámico de 16 MHz, una
conexión USB, un conector de alimentación de 5V, una cabecera ICSP y un
botón de reinicio. Basado en un lenguaje de programación Processing. Contiene
todo lo necesario para soportar el microcontrolador; simplemente conéctelo a un
ordenador con un cable USB o conéctelo con un adaptador de CA a CC o batería
para empezar.
2
controlador que lo hace oscilar a 2 KHz. Solo requiere de un voltaje entre 3-
5V. Es compatible con protoboard y consume una corriente de 25 mA, lo que
permite conectarlo directamente, sin circuito externo, a la plataforma
preferida, bien sea Arduino, PIC, AVR, Raspberry entre otras.
Fig.3.Dispositivo Buzzer.
Fig.4.Dispositivo Relé.
3
Sensor De Temperatura Tipo Termocupla (ARDUINO) DS18B20: El
sensor de temperatura DS18B20 es un dispositivo que se comunica de forma
digital. Cuenta con tres terminales: Vcc, GND y el pin Data. Este sensor utiliza
comunicación One Wire, este protocolo permite enviar y recibir datos
utilizando un solo cable, a diferencia de la mayoría de los protocolos que
requieren dos cables. (Gonzales, 2014)
● Sensor Digital
● Resolución de 9 y 12 bits
● Rango de operación de -50 a 125
grados Centígrados
● Precisión +- 0.5 grados
● Protocolo One Wire
Fig.5.Termocupla.
Para leer el sensor con un Arduino es necesario utilizar una librería OneWire que
deben ser instalada antes de cargar el código a nuestra placa de desarrollo.
4
Fig.6. Resistencia
5
Estos equipos presentan las siguientes especificaciones:
-13 espirales
-Tubo cobre: diámetro 12 x 05 304L.
Serpentín de cobre -Diámetro: Serpentín 16cm.
-Desarrollo: 14,5 m.
-Altura: 26,5cm.
-Altura del arrollamiento:
32cm
-Capacidad de 8,5 L
-Dimensiones:
Alto: 25cm
Ancho: 19cm
Tanque de agua a Largo: 19cm
controlar
6
Arduino. Este dispositivo permite mantener la temperatura constante en el
recipiente.
-Voltaje 5V
-Potencia Min: 0,5W
-Potencia Max: 4,5 W
-Velocidad de Rotación Min: 5 904 rpm (37 095,93 rad.min-1)
-Velocidad de Rotación Max: 12 500 rpm (78 539,82 rad.min-1)
-Diámetro: 24mm
7
125ºC, rango en el que se ajusta el set point. La programación de la tarjeta Arduino
cuenta con unos valores máximos y mínimos de temperatura en los cuales si se
excede su valor se acciona un Buzzer (5V ARDUINO) que funciona como alarma y
también se encuentra conectado a la tarjeta Arduino UNO. La interface para
manipular el microcontrolador, donde se ejecuta el encendido y apagado de los
elementos finales de control es un programa de Visual Basic en Excel (PLX-DAQ)
que nos permite observar los valores medidos de temperatura en tiempo real.
1
6
3
5
Fig.9. Prototipo
8
3. DESCRIPCION DEL CIRCUITO
Fig.10,1. Circuito
El motor eléctrico posee dos terminales los cuales van conectados a la resistencia
como se indica en la figura 10.2.
9
Fig.10,2. Circuito
Fig.10,3. Circuito
10
El Buzzer, es un transductor electroacústico que produce un sonido o zumbido
continuo o intermitente de un mismo tono (generalmente agudo). Sirve como
mecanismo de señalización o aviso y se utiliza en múltiples sistemas; este
generalmente posee dos terminales (positivo y negativo) las cuales están
conectadas en los pines 13 y GND respectivamente; este esquema del circuito nos
ayuda a corroborar las distintas conexiones y sitios donde deben estar ubicadas por
posibles daños o mal funcionamiento del circuito.
Fig.10,4. Circuito
11
4. DESCRIPCIÓN DEL SOFTWARE
✓ Se ingresa a ‘Software’:
12
✓ Luego, se baja un poco la barra cursora y se encuentra una opción para
la instalación de Arduino en Windows llamada: ‘Windows Installer’.
13
Fig.11,5. Ubicación del archivo.
14
✓ Se seleccionan sobre el cuadro de diálogo anterior siempre las
opciones de proceder y de aceptar los términos respectivos para la
adquisición gratis de esta aplicación; también, para mayor facilidad
sobre ese cuadro de diálogo aparece la opción de crear un acceso
directo, se chulea que sí. Cómo último paso, se cliquea sobre finalizar.
#include <OneWire.h>
void setup(void) {
Serial.begin(9600);
Serial.println("CLEARDATA"); // Borra los
datos en Excel.
Serial.println("LABEL,TIEMPO (s), TEMPERATURA (C), RESISTENCIA, BOMBA,
SETPOINT"); // Titulos de los ejes en la grafica de Excel.
pinMode(alarma,OUTPUT);
pinMode(calentador,OUTPUT);
pinMode(bomba,OUTPUT);
pinMode(7,OUTPUT);
}
15
void loop(void) {
dsp1=Serial.read(); //lee datos ingresados al setpoint del excel
if (dsp2 == -1000) {
dsp2=dsp1;
}
if (dsp1!=dsp2) {
setpoint=(dsp1-48)*10;
dsp1=Serial.read();
setpoint=setpoint+(dsp1-48);
dsp1=Serial.read();
dsp1=Serial.read();
dsp2=dsp1;
}
digitalWrite(7,LOW);
float temperature = getTemp(); //will take about 750ms to run
if(temperature>=setpoint+tolerancia){
digitalWrite(bomba,HIGH);
B=1;
}
if(temperature<=setpoint-tolerancia){
digitalWrite(bomba,LOW);
B=0;
}
if(temperature>=setpoint-0.4){
digitalWrite(calentador,HIGH); //Apaga la resistencia
R=0;
}
if(temperature<=setpoint-tolerancia){
digitalWrite(calentador,LOW); //Apaga la resistencia
R=1;
}
if (temperature>=maxima || temperature<=minima){
digitalWrite(alarma,HIGH);
}
else{
digitalWrite(alarma,LOW);
}
tiempo = millis()/1000; // Define la variable "tiempo" como el
tiempo en ejecución del programa en [s].
if (temperature>=-55){
Serial.print("DATA,"); // Envie los valores a Excel.
Serial.print(tiempo); // Salida del valor de tiempo en [s].
Serial.print(", ");
Serial.print(temperature);
Serial.print(", ");
Serial.print(R);
16
Serial.print(", ");
Serial.print(B);
Serial.print(", ");
Serial.println(setpoint);
delay(1000);
}
}
float getTemp(){
//returns the temperature from one DS18S20 in DEG Celsius
byte data[12];
byte addr[8];
if ( !ds.search(addr)) {
//no more sensors on chain, reset search
ds.reset_search();
return -1000;
}
ds.reset();
ds.select(addr);
ds.write(0x44,1); // start conversion, with parasite power on at the end
ds.reset_search();
17
byte MSB = data[1];
byte LSB = data[0];
return TemperatureSum;
18
10. Cuando se llegue a la temperatura deseada, tanto la resistencia como la
bomba se apagarán y en la gráfica se debe evidenciar la estabilización de
la temperatura.
11. Si llegado al caso se sobrepasa el valor óptimo, la bomba será la
encargada de devolver agua de un tanque a otro para llegar al valor óptimo.
12. Click en desconectar en el caso que se requiera o necesite dejar de
registrar las mediciones.
13. Sacar conclusiones de la gráfica obtenida.
14. Para ver la tabla de datos dar click en ver tabla y en el caso que se quiera
descargar o imprimir seleccionar la opción descargar. Se descarga un
archivo (.xps) en el disco local C en mis documentos.
3
4
5
6,9
2
7
8
10
19
6. PRECAUCIONES Y SEGURIDAD
• Una vez llenado los tanques encender la bomba para llenar el espacio vacío
del serpentín y volver a llenar el tanque al nivel indicado.
• Cuando se vacíe el tanque por medio de las válvulas, tener en cuenta que
una parte del agua queda en el fondo. Para esto, se debe inclinar los tanques
con sumo cuidado, evitando que se desarmen sus accesorios.
20
7. PRÁCTICA DE LABORATORIO Y PREGUNTAS
21
7.3. ANÁLISIS DE LA VARIACIÓN DE TEMPERATURA:
𝑑𝑇(𝑡)
−𝐴𝑇 𝑈𝑇 (𝑇(𝑡) − 𝑇𝐴 ) = 𝑉1 𝜌 𝐶𝑣
𝑑𝑡
−𝑈𝑇 𝐴𝑇 𝑡
( )
𝑇(𝑡) = 𝑇𝐴 + 𝑒 𝑉1 𝜌 𝐶𝑣 (𝑇𝑖 − 𝑇𝐴 )
2. Validación del calor cedido por el serpentín: A partir del balance del
serpentín junto con el balance en el tanque 1 para relacionar las variables
de temperatura del tanque con el flujo del serpentín se obtuvo la siguiente
función de transferencia cuando la resistencia está apagada.
𝑑𝑇(𝑡)
−𝐴𝑆 𝑈𝑆 (𝑇(𝑡) − 𝑇2(𝑡) ) − 𝐴𝑇 𝑈𝑇 (𝑇(𝑡) − 𝑇𝐴 ) = 𝑉1 𝜌 𝐶𝑣
𝑑𝑡
𝑑𝑇2(𝑡)
𝐴𝑆 𝑈𝑠 (𝑇(𝑡) − 𝑇2(𝑡) ) + 𝐹(𝑡) 𝐶𝑝 𝜌𝑇1(𝑡) − 𝐹(𝑡) 𝐶𝑝 𝜌𝑇2(𝑡) = 𝑉1 𝜌 𝐶𝑣
𝑑𝑡
𝑇(𝑠) −𝐾2 𝐾1
= − 𝐾3 𝐾1
𝐹(𝑠) (𝜏2 𝑠 + 1)(𝜏1 𝑠 + 1)
𝑇(𝑠) 𝐾5
=
∆𝑇(𝑠) (𝜏3 𝑠 + 1)
• ¿Cuáles son las suposiciones que se deben hacer para realizar las
funciones de transferencia?, justifique cada consideración.
22
• ¿Cuáles son los valores de las constantes y las velocidades de respuesta?
8. RECOMENDACIONES Y MEJORAS
8.1. RECOMENDACIONES
• El sistema de control puede mejorarse para casos en los que se desea
llevar la temperatura (set point) por debajo de los 20°C, ya que el prototipo
funciona muy bien para temperaturas mayores a ésta. Para llevar a cabo
esta mejora, es necesario implementar el uso de un sistema de refrigerante
que consta de válvulas de expansión, capilares y un flujo refrigerante. Es
recomendable usar R134a es un gas refrigerante del tipo HFC
(hidrofluorcarbono) que no daña la capa de ozono y es relativamente
económico (US 2-5/ Kilogramo). Se anexa cotización.
23
Fig. 14. Cotización.
8.2. MEJORAS
• La bomba usada en el dispositivo puede ser reemplazada por una que tenga
mayor potencia, de manera que el flujo de agua se dezplace con mayor
rapidez y así se pueda garantizar deltas de tempraturas en menor tiempo.
• Modificar la ubicación de las válvulas inferiores para que el agua a vaciar los
tanques se retire totalmente el agua de éstos.
BIBLIOGRAFÍA
• Laura A., Yuleyxi G., María G., Orlando O., Oscar S. y Judith Z. Proyecto de
control de procesos químicos: prototipo didáctico para control de temperatura
en un tanque de almacenamiento de agua. Universidad Industrial de
Santander. Escuela de Ingeniería Química. 2016.
24
• La Revista Informática: Lenguaje de programación Visual Basic. Revista
informática. http://www.larevistainformatica.com/lenguaje-programacion-
viasual-basic.htm.
25