Академический Документы
Профессиональный Документы
Культура Документы
Diseño, Simulación y
Construcción de un Control PID
Aplicado a un Sistema Térmico
M. en C. Romeo Urbieta Parrazales a 75°C con una precisión de 0.1°C. un voltaje Es , proporcional a la
Profesor e Investigador del CINTEC-IPN.
La representación de la variable de temperatura To. El voltaje obtenido
temperatura se llevó a cabo por por el sensor se amplifica a un factor
ste artículo trata tres aspec- medio de la creación de un progra- K1 , obteniendo un voltaje Ef , el cual
E tos mayores que son: el dise-
ño, la simulación, y la cons-
ma gráfico estructurado en lenguaje
C++, el cual contiene las rutinas de
es aplicado a un sumador juntamen-
te con el valor deseado de voltaje
trucción de un control PID (propor- graficación y de cálculo de la varia- Evd. La diferencia de la señal de
cional más integral más derivativo) ble de temperatura. voltaje desde el sumador es una
aplicado a un sistema térmico. señal de error e.
La construcción del sistema de
El diseño del sistema de control control PID aplicado a la tempera- La señal de error e se introduce
de temperatura comprende el mo- tura del agua contenida en un reci- a la entrada del controlador PID
delado y cálculo de los parámetros piente de un litro consiste de tres (proporcional más integral más deri-
del controlador, el proceso de tem- módulos mayores: el módulo de cál- vativo) generando una señal de sali-
peratura, y las interfaces entre la culo, consistente en una computa- da de control U, que alimenta des-
computadora y el proceso. El com- dora PC 386; el módulo de conver- pués a un amplificador de potencia
portamiento de la temperatura del sión y de potencia, consistente en cuya salida es Eh, para excitar una
agua en el recipiente es un modelo una interface electrónica contenien- resistencia eléctrica sumergida en el
de primer orden expresado con la do un puerto paralelo para capturar agua; este a su vez entrega una
transformada s. En este modelo se y enviar datos, conversión de datos entrada de calor qi causando que la
muestra una curva de la variable de de A/D y D/A, amplificador de temperatura del agua sea To y tam-
temperatura con respecto al tiem- corriente y voltaje para excitar la bién como el voltaje de retroalimen-
po. En la curva del proceso de tem- resistencia térmica que calienta al tación Ef, para aumentarlo, y la
peratura de lazo abierto se obtuvie- agua, y amplificador para sensor de señal de diferencia en la salida del
ron tres parámetros de interés que temperatura; y el módulo físico, con- amplificador sumador e, para de-
son: la zona muerta, ganancia del sistente de un recipiente de porcela- crementarlo (a consecuencia de la
proceso, y la constante de tiempo. na con capacidad de un litro, equi- retroalimentación negativa).
El algoritmo de control empleado es pado con resistencia térmica y sen-
un sistema clásico PID cuyos pará- sor de temperatura. Cuando la señal de diferencia se
metros Kp, Ki, Kd se obtuvieron aproxima al valor de cero, el excita-
por el método de Ziegler & Nichols. dor de corriente corta la señal de
1. Introducción
El algoritmo de control de tempera- entrada de la resistencia eléctrica,
tura implantado en la PC viene ex- por lo tanto, el calor del agua deja de
presado en una ecuación de diferen- aumentar. Como resultado, la tem-
El objetivo del sistema de control
cias. peratura del agua en el recipiente es
de temperatura del agua contenida
la del valor deseado de temperatura
en un recipiente es mantener la
La simulación trata de represen- To.
temperatura del agua a un valor
tar la variable de temperatura del deseado (set point) To.
agua de un recipiente con capacidad El sistema de control de tempe-
de un litro. El rango de temperatura La temperatura del sensor den- ratura de la figura 1a se puede
del agua en el recipiente es de 25°C tro del agua en el recipiente produce representar por un diagrama a blo-
VII 1 15 polibits 11
Diseño, Simulación y Construcción de un Control PID Aplicado a un Sistema Termico
PROCESO TERMICO
alimentado por la resistencia eléctri-
ca al agua, qi, y el calor perdido en
el recipiente y el ambiente puede ser
CONTROLADOR SENSOR DE igual a la elevación de calor en el
To TEMPERATURA
agua. La acumulación de calor en el
e U Eh qi agua es proporcional a la razón de
PID AMPLIFICADOR
DE RESISTENCIA cambio de la temperatura del agua,
POTENCIA ELECTRICA
con Ct de capacitancia térmica del
SUMADOR
agua, siendo esta la constante de
AMPLIFICADOR
proporcionalidad. De esta manera,
Ef Es
CONT ROLADOR ANALOGICO INTERFASE Y PROCESO ANALOGICO donde qi (t) = calor alimentado al
VALOR CONTROLADOR
AMPLIFICADOR
DE POTE NCIA
RESISTENCIA
ELECTRICA
PROCESO agua [Btu/s]
DESEADO
e U Eh Qi To
Kp + Ki /s+ Kd s Ka Kh R te /(RtCs +1)
q o = (To - Ta)/Rt (2.1.2)
AMPLIFICADOR
q o = flujo de calor [Btu/s] a través de agua
Ef - ambiente.
Kf
12 polibits 1995
Diseño, Simulación y Construcción de un Control PID Aplicado a un Sistema Termico
es también. Así mismo, Rte puede 15 segundos. El modelo térmico Un método simple para determi-
ser tratado como otro parámetro correspondiente queda como sigue: nar los ajustes del controlador , una
del sistema el cual incluye efectos de vez que el proceso ha sido diseñado
carga. Resistencia Eléctrica Recipiente con agua y simulado, es obtener los tiempos
P(s)
0.1
Qi(s) 1 To(s) de importancia a partir de la gráfica
Pasando a transformada de La- 125 Vac Btus
5.25 s + 1 °C °C de simulación, como por ejemplo el
place (2.1.7): Figura 2.1b tiempo de zona muerta, el valor de
Diagrama a bloques del módulo del proceso la constante de tiempo del proceso
térmico
Qi (s) Rte térmico y la ganancia del proceso.
To(s) = (2.1.8) El método es el de Ziegler & Nichols,
τs+1 La respuesta en el tiempo se quienes propusieron que a partir de
puede apreciar en la figura 2.1c. estos tres parámetros del proceso,
La resistencia térmica equivalen-
te o ganancia del proceso térmico se
puede obtener por medios experi-
mentales midiendo los watts de en-
trada o aplicados a la resistencia
eléctrica y el rango de temperatura
del agua. Los datos que se tienen de
la resistencia eléctrica son :
R = 28.3 W
I = 4.22 A
V = 124 VAC
P = R I 2 = (28.3)(4.22)(4.22) = 504 W
(2.1.9)
∆T = T75 - T25 = (75°C - 25°C) = 50°C
(2.1.10)
Rte = ∆T / P = 50 °C / 504 W
(2.1.11)
= 0.1 °C/W
P ∆T
Rte = 0.1 °C/W
Figura 2.1a
Resistencia térmica equivalente Figura 2.1c
Simulación de la respuesta To de lazo abierto vs. tiempo.
VII 1 15 polibits 13
Diseño, Simulación y Construcción de un Control PID Aplicado a un Sistema Termico
Kd = 0.5 q = (0.5)(0.25) = 0.125 Este será el algoritmo de control 0°C equivalen a 273°K, como el
(2.2.4) PID final a implementar, siendo dispositivo avanza cada 10mV/°K, en-
Se asume que T = 0.5 min. u(k-1) la señal de control o coman- tonces para esta temperatura se tienen
do de control retardado un período 2.73 voltios. Entonces para 25°C que va
En el modo digital, el controla- ser el comienzo serán (273 + 25)°K que
de tiempo, e(k-1) la señal de error
dor PID toma la forma: es igual a 298°K por 10 mV/°K, se llega
también retrasado un período de a 2.98 voltios de salida en el sensor; así,
tiempo, y e(k-2) dos períodos de 75°C serán 3.48 voltios. La señal de este
tiempo. sensor se aplica directamente a un con-
E(z) U(z) vertidor Analógico a Digital para captu-
D(z) 2.3 Módulo de rar los voltajes entre 2.98 voltios a los
Retroalimentación 3.48 voltios, siendo una diferencia de
0.5 voltios.
Otro módulo de importancia en
Figura 2.2b
el sistema de control térmico es su Usando el programa de simula-
Diagrama a bloque de algoritmo de
control digital retroalimentación, el cual sustituye ción antes expuesto, se incluye un
al hombre en su intento de controlar circuito amplificador diferencial con
un proceso. El módulo de retroali- referencia en 2.98 voltios para com-
mentación consiste básicamente de: pararlo con la lectura de los 25°C y
El controlador PID se expresa un sensor de temperatura y un siste- que se obtengan 0 voltios. El ampli-
como: ma de amplificación o acondiciona- ficador tendrá una ganancia de 10
miento de señal de medida de 0 a 5 para obtener un rango de voltaje de
D(z) = Kp + KiT(z+1)/(2)(z-1) voltios. 0 a 5 voltios @ 10 mA, que repre-
+ Kd(z-1)/Tz (2.2.5) sentan el rango de 25°C a 75°C. El
El sensor de temperatura se dise- diagrama final a bloques de retroali-
donde: ñó con un circuito integrado LM335 mentación quedará como en la fi-
D(z) es el algoritmo de control de National Semiconductor, basado gura 2.3a y 2.3b.
digital PID. en el principio del diodo. El circuito
T es el período de tiempo entre integrado, mediante una polariza- 2.4 Módulo de Excitación
muestreos. ción externa adecuada, provee a su
Ki ganancia integral. salida un voltaje del orden de los La potencia u aplicada a la resis-
Kp es la ganancia proporcional. 10mV/°K, a una corriente de 1mA. tencia térmica es una función del
Kd es la ganancia derivativa. (Ver diagrama esquemático final). error entre el comando de tempera-
tura y la temperatura medida por el
Entonces, la variable controlada El rango de temperatura de ope- sensor, y es calculada por la PC.
U(z) es: ración de este circuito integrado va Esta potencia es aplicada a la resis-
desde los -55°C hasta los 100°C. En tencia con la ayuda de circuitos de
U(z) = D(z)E(z) este caso de estudio trabajará desde estado sólido, como un dispositivo
= KpE(z) + [KiT(z+1)/(2)(z-1)]E(z) opto-electrónico y un triac (ver es-
los 25°C a los 75°C. El circuito
+ [Kd(z-1)/Tz]E(z) quema electrónico).
integrado para 25°C da un voltaje
(2.2.6)
de salida de 2.98 voltios.
Tomando la transformada inver- El dispositivo optoelectrónico
sa de z, se tiene: aislará la PC del po-
10mV/°K tencial aplicado a la
u(k) = u(k-1) + Kp* e(k) - Kp*e(k-1) To(°C) 0v a 5v
LM335 A/D A=10 resistencia y además
+ [Ki*T*e(k)]/2 + [Ki*T*e(k-1)]/2 25°C a
+ Kd*e(k)/ T - 2Kd*e(k-1)/T dará el prendido y
75°C
+ Kd*e(k-2)/T apagado inteligente
(2.2.7) al interruptor de po-
Sustituyendo los valores de Kp, Figura 2.3a tencia o triac. El triac
Diagrama a bloques del módulo de retroalimentación es un interruptor de
Ki, y Kd encontrados en la simula-
ción se tiene que: potencia del estado
sólido, y será el que dé la potencia
u(k) = u(k-1) + 252.75*e(k) Este voltaje de salida se obtiene a final a la resistencia térmica. Este
- 252*e(k-1) + 0.25*e(k-2) (2.2.8) partir de: interruptor se cerrará cada tp se-
14 polibits 1995
Diseño, Simulación y Construcción de un Control PID Aplicado a un Sistema Termico
gundos o minutos
según sea el error; si To
F(s) =
el error es grande el Sensor 1-e0.5S
s
10
(0 a 5 ) v
período de prendi- (25 a 75)°C
do será grande y vi-
ceversa, y el apaga-
Figura 2.3b
do será equivalente
Diagrama a bloques del módulo de retroalimentación
al tiempo de mues-
treo Ts.
Controlador PID
Entonces, la potencia promedio
aplicada a la resistencia térmica en 252
el intervalo Ts es:
Proceso Térmico
u = 1 V dt = V tp
2 2
(2.4.1) E(z) M(z)
0.5(z+1) 0.019
Ts R R Ts Ti(z)
z-1 z-0.9
To(z)
tp = uTs (2.4.2)
V2 / R
0.25(z-1)
z
P(Watts)
z3+46.027z2-46.98z+0.048
tp Ts
3. Simulación
Figura 3.1b
Para la simulación del sistema de
control se requiere la función de + 4.7927*Ti(k-1) + 4.788*Ti(k-2)
transferencia total Ti(z)To(z). Las + 0.0048*Ti(k-3)
figuras 3.1a y 3.1b muestran esta (3.1)
función tanto en su representación La simulación del sistema de con-
gráfica como en forma matemática. trol aplicado al proceso térmico tie-
ne como interés ajustar los paráme-
A partir de esta función de trans- tros de control Kp, Ki, y Kd del
ferencia se obtiene la respuesta del controlador para una sintonía per-
sistema térmico en tiempo discreto fecta. A continuación se presenta el
k. programa que lleva a cabo esto.
To(k) = - 46.027*To(k-1)
+ 46.98 *To(k-2) - 0.048*To(k-3)
VII 1 15 polibits 15
Diseño, Simulación y Construcción de un Control PID Aplicado a un Sistema Termico
}
void ecua_graf()
/* INSTITUTO
{
POLITECNICO NACIONAL
char buffer[100];
CENTRO DE INVESTIGACION
double T0,T1,T2,T3,R0,R1,R2,R3
TECNOLOGICA EN COMPUTACION
int xorg = 50, yorg = 440; /* El origen esta en 50,440 */
Proyecto:
k = 0;
Software gráfico para un sistema de control PID aplicado a un
T0 = 0.0;
sistema térmico.
x = xorg + k;
y = yorg - T0;
Participantes:
M. en C. Romeo Urbieta Parrazales
putpixel (x,y, color);
Col. Granjas México, Delg. Iztacalco
*/
k = 1;
R0 = R1 = R2 = cajon[i].M
#include <stdio.h>
#include <stdlib.h>
T1 = 4.7927*R0;
#include <math.h>
x = xorg + k;
#include <graphics.h>
y = yorg - T0;
#include <conio.h>
#include dos.h
putpixel (x,y, color)
#include <string.h>
#include borracad.c
k = 2;
R0 = R1 = R2 = R3 = cajon[i].M
/* Definición de variables para el 8255 */
T2 = - 46.027*T1 + 4.7927*R1 + 4.788*R0;
#define PA 0x100
x = xorg + k;
#define PB 0x101
y = yorg - T0;
#define PC 0x102
#define PCONTROL 0x103
putpixel (x,y, color)
/*Configuración de los puertos del 8255 */
k = 3;
#define PALABRA1 0x82
#define PALABRA2 0x8B
T3 = - 46.027*T2 + 46.98*T1 + 4.7927*R2 + 4.788*R1 + 0.0048*R0;
x = xorg + k;
/* Constantes para el ADC y DAC */
y = yorg - T0;
#define BAJO 0
putpixel (x,y, color);
#define ALTO 55000
#define RETAR 0
for (k = 4; k <= 500; k++ ) {
#define LIM 500
T4 = - 46.027*T3 + 46.98*T2 - 0.048*T1 + 4.7927*R3 + 4.788*R2 +
/* Definición de Funciones */
0.0048*R1;
void ini_graficos(void); /* rutina de inicia gráfico */
void cie_graficos(void); /* rutina de cierra gráfico */
C0 = C1;
void ecua_graf(void); /* rutina ecuaciones a graficar */
C1 = C2;
void pinta_ejes(void); /* rutina de pintar ejes */
C2 = C3;
int adc(void);
C3 = C4;
void dac(void);
x = xorg + k;
int main()
y = yorg - T0;
{
putpixel (x,y, color);
ini_graficos(); /* llama subrutina de iniciar gráficos */
}
pinta_ejes(); /* llama subrutina de pinta ejes */
ecua_graf(); /* llama subrutina de pintar ejes */
void pinta_ejes()
getche(); /* espera tecla */
{
cie_graficos(); /* llama subrutina de cerrar gráfico */
char buffer[200];
return 0;
int pasov = 50; /*45 */
}
int pasoh = 50;
int xorg = 45, xorg0 = 50, xorg1 = 550;
void ini_graficos(void)
int yorg = 189, yorg0 = 435, yorg1 = 440,y=390;
{
int modo,controlador=DETECT;
setbkcolor(BLUE);
int error_graf; /* controlador = 0; */
setcolor(WHITE);
modo = 4;
initgraph(&controlador, &modo, ); /* c:\\tc); */
rectangle(70,1,550,50);
error_graf = graphresult();
outtextxy(240,5,CINTEC);
if (error_graf != grOk)
outtextxy(150,20,Medición de voltaje y temperatura);
{
printf(Error en gráficos > ,grapherrormsg(error_graf));
rectangle(70,100,550,147);
exit(1);
settextstyle(DEFAULT_FONT, HORIZ_DIR, 1);
}
outtextxy(225,103, Valores a Graficar );
}
outtextxy(160,120, Voltaje Temperatura);
void cie_graficos()
moveto (xorg, yorg); /* POSICION INICIAL */
{
lineto (xorg, yorg1); /* MARCO VERTICAL */
closegraph();
16 polibits 1995
Diseño, Simulación y Construcción de un Control PID Aplicado a un Sistema Termico
VII 1 15 polibits 17
Diseño, Simulación y Construcción de un Control PID Aplicado a un Sistema Termico
EXTERNA
INTERFACE
18 polibits 1995
Diseño, Simulación y Construcción de un Control PID Aplicado a un Sistema Termico
VII 1 15 polibits 19