Vous êtes sur la page 1sur 25

Chapter 1

Aplicaciones en control y
electr
onica
En esta secci
on presentamos algunas aplicaciones de MATLAB en sistemas de
control. MATLAB cuenta para esto con un toolbox de control.
Ejemplo 9.16 Estabilidad de un sistema de retroalimentaci
on
MATLAB cuenta con el paquete CONTROL TOOLBOX que permite realizar una gran cantidad de funciones para sistemas retroalimentados. Por
ejemplo, consideremos el diagrama de la figura 9.20

Figure 1.1: Diagrama a Bloques de una planta con retroalimentaci


on.

La planta se define en MATLAB con:


nump = [1];
denp = [1 1 2 1];
Planta = tf(nump, denp)
Con lo que MATLAB nos da como salida Transfer function:
1
s3 +s2 +2s+1

CHAPTER 1. APLICACIONES EN CONTROL Y ELECTRONICA

Si la ganancia del sistema es K = 1, el sistema con retroalimentaci


on negativa
se define con
sistema = feedback(Planta,[1]) con lo que obtenemos la funci
on de transferencia del sistema como
1
s3 +s2 +2s+2

Para verificar la estabilidad del sistema obtenemos los polos con


polos = pole(sistema)
para obtener
polos =
0.0000 + 1.4142i
0.0000 - 1.4142i
-1.0000
Vemos que este sistema tiene un polo en -1 y una par de polos sobre el
eje en 1.4142i y por lo tanto es inestable. Podemos averiguar m
as sobre
la estabilidad de este sistema obteniendo su root locus, que es una gr
afica del
lugar geometrico de los polos del sistema contra la ganancia K. El root locus lo
podemos calcular con
rlocus( planta )
Con lo que obtenemos la figura 9.21. Usando el cursor y presion
andolo dos
veces sobre un punto cercano al eje vemos que para un valor de K < 1 el sistema
es estable pero para K > 1 el sistema es inestable.

Figure 1.2: Root locus de un sistema retroalimentado.

Ejemplo 9.17 Comparaci


on de m
etodos de compensaci
on
Consideremos la planta Gp(s)
Gp (s) =

1
s(s+1)(s+4)

El objetivo es comparar los diferentes metodos de control para optimizar alguno


de los par
ametros de la respuesta tales como el tiempo de subida, el tiempo de
establecimiento, sobretiro, etc.
Suponiendo que el tiempo de establecimiento es el importante podemos comparar tres metodos distintos: controlador proporcional, adelanta de fase y PID.
Primeramente verificamos la respuesta de la planta con retroalimentaci
on unitaria y sin compensador, Esto lo hacemos con el siguiente archivo-m:
%Este es el archivo Ejemplo9 17a.m
%Calcula la respuesta al escal
on para
%una planta usando retroalimentaci
on unitaria
%y con compensaci
on proporcional.
Nump = [1]; Demp = [1 5 4 0 ];
%Definimos la planta
Planta = tf ( nump , demp );
%Definimos el sistema
Sist = feedback (planta , [ 1 ] );
%checamos los polos Pole ( sist )
%checamos la respuesta al escal
on
t = [ 0 : 0.1 : 40 ];
step ( sist , t )
con lo que obtenemos, la figura 9.22 es donde vemos que el tiempo de subida
es Tr = 7.41 seg y que el tiempo de establecimiento es Ts 8.67 seg y que no
hay sobretiro.
Ahora vamos a usar el controlador proporcional con ganancia K como se
muestra en la figura 9.23
Si realizamos un an
alisis de root locus con

CHAPTER 1. APLICACIONES EN CONTROL Y ELECTRONICA

Figure 1.3: Respuesta al escal


on sin controlador.

Figure 1.4: Planta con controlador proporcional.

Figure 1.5: Root locus de sistema con controlador proporcional.


rlocus(nump,demp)

9
obtenemos la gr
afica de la figura 9.24 donde vemos que para K = 20 se
obtienen los polos sobre el eje jw y para K > 20 el sistema se vuelve inestable.
La funci
on de transferencia se puede obtener con
sist = feedback (K*planta , [ 1 ] );
Definimos el vector de ganancia con K en el rango de estabilidad como
K = [ 0 : 2 : 20 ];
Ahora con este archivo-m calculamos la respuesta al escal
on del sistema con
compensador proporcional.
%Este es el archivo Ejemplo9 17b.m
%Calcula la respuesta al escal
on para
%una planta con controlador proporcional
clear
clc
close all
nump = [ 1 ];
denp = [ 1 5 4 0 ];
planta = tf( nump, denp );
t = [ 0 : 0.1 : 30 ];
K = [ 0 : 2 : 20 ];
for i = 1: length(K) ;
sist = feedback ( K ( i )*planta , [ 1 ] );
step ( sist, t )
hold on
end
hold off

Al correr este programa obtenemos la figura 9.25. Ah vemos que para valores
de K cercanos a 20 se obtiene el mejor tiempo de subida pero el tiempo de
establecimiento es peor al igual que el sobretiro. Entonces repetimos el an
alisis
pero para valores de K entre 1 y 4, que se realiza con el archivo Ejemplo9 17c.
Obtenemos la gr
afica de la figura 9.26. Ah vemos que para K = 2, se obtiene
Ts 7.8 seg y Tr3.6 seg mientras que para K = 3 se obtiene Ts 6.46 y Tr
2.7 seg
%Este es el archivo Ejemplo91 7c.m
%Calcula la respuesta al escal
on para
%una planta usando retroalimentaci
on unitaria
%y con compensaci
on proporcional.
clc

10

CHAPTER 1. APLICACIONES EN CONTROL Y ELECTRONICA

Figure 1.6: Respuesta al escal


on para ganancias K entre 1 y 20.
clear
close all
nump = [ 1 ];
denp = [ 1 5 4 0 ];
planta = tf( nump, denp );
k = [ 1: 1 :4 ];
for i = 1 : 4;
sist = feedback( k(i)*planta, [1] );
step( sist )
hold on
end
legend ( K=1 , K=2, K=3 , K=4 )
hold off
grid on

11
Ahora probamos un controlador proporcional-derivativo (PD) cuya funcion
de transferencia es
Gc (s) = KP + Kd s = KP (s +

Kd
KP

de modo que la funci


on de transferencia de la planta y controlador en cascada
es
K

GC (s)GP (s) =

KP (s+ K d )
P

(s(s+1)(s+4))

Con el siguiente archivo-m investigamos su respuesta al impulso para KP =


4,

Figure 1.7: Respuesta al escal


on para distintos valores de K.
%Este es el archivo Ejemplo91 7d.m
%Calcula la respuesta al escal
on para
%una planta
%y con compensaci
on proporcional derivativa.
close all
clear
clc
Kp=4;
KD=[2:1:4]
for I = 1:3;
nump = [ Kp KD(I)];
denp = [ 1 5 4 0 ];
planta = tf( nump, denp );
sist = feedback( planta, [1] );
step( sist )
hold on
end

12

CHAPTER 1. APLICACIONES EN CONTROL Y ELECTRONICA


legend ( KD=2 , KD=3 , KD=4 )
hold off
grid on
que nos da la figura 9.27

Figure 1.8: Respuesta al escal


on para sistema retroalimentado con controlador
PD.
y que para KD = 4 nos da una Tr = 1.19 seg y Ts = 2.25 seg, adem
as de
no tener sobretiro.

EJEMPLO 9.18 Control del Telescopio espacial Hubble


Un modelo del telescopio espacial Hubble que se encuentra en
orbita alrededor de la tierra, junto con un sistema posicionador se muestra en la figura 9.28

El objetivo es encontrar valores de K1 y K tal que el sobretiro de una entrada


escal
on r(t) es menor o igual al 5cuando r(t) es una rampa y que el efecto de un
escal
on de perturbaci
on tambien se reduce.
El sistema tiene dos entradas, R(s) y P(s), con lo que:

13

Figure 1.9: Modelo del telescopio espacial Hubble.


Y (s) =

KG(s)
1+KG(s) R(s)

G(s
1+KG(s) P (s)

G(s
1+KG(s) P (s)

El error E(s) esta dado por:


E(s) =

1
1+KG(s) R(s)

Primero buscamos satisfacer el requisito de sobretiro de 5%. Para esto s


olo
tomamos en cuenta el sistema de la entrada a la salida para una entrada de
escalon de amplitud A como:
Y (s)
R(s)

KG(s)
1+KG(s)

K
s(s+K1 )+K

K
s2 +K1 s+K

Para un sobretiro de 5% se necesita seleccionar = 0.7 Para una rampa r(t)


= Bt, el error de estado estacionario est
a dado por:
B
eR
ee = lims0 KG(s) =

B
(K/K1

Y para una perturbaci


on de escal
on unitario:
1
eR
ee = lims ( (s+K)+K ) =

1
K

Para que el error debido a la perturbaci


on se pueda reducir, necesitamos
aumentar k. Tambien para reducir el error de estado estacionario cuando la
as se requiere =0.7 La
entrada es una rampa se necesita aumentar k/k1 . Adem
ecuaci
on caracterstica es:
s2 + 2 wn s + wn2 = s2 + K1 s + K = s2 + 2(0.7)wn s + K
De modo que wn =

KyK1 = (0.7)wn , dedondeK1 = 1.4 K. Por lo tanto:


K
K1

1.4 K)

K
1.4

K
2

Si K = 36, K 1 = 1.4 X 6 = 8.4 y K/K 1 = 36/ 8.4 =4.28 y si K = 100, K 1


= 1.4, la respuesta al escal
on para r(t) y para la perturbaci
on se muestra en la
figura 9.62

14

CHAPTER 1. APLICACIONES EN CONTROL Y ELECTRONICA


% Este es el archivo Ejemplo91 8.m
% Se eval
ua el comportamiento del telescopio Hubble.
clear
clc
close all
% Primero se calcula la planta.
K = 100;
K1 = 14;
nump = [ 1 ];
denp = [ 1 K1 0 ];
% funci
on de transferencia desde r(t)
planta = tf( nump, denp );
% funci
on de transferencia desde r(t)
sistema = feedback ( K*planta, [ 1 ] );
% perturbaci
on
% funci
on de transferencia desde la perturbaci
on
perturbaci
on = feedback (planta, [ K ] )
step ( sistema )
hold on
step ( perturbaci
on )
hold off

Figure 1.10: Respuesta del sistema del telescopio Hubble.

15
EJEMPLO 9.19 Control del
angulo de inclinaci
on de una aeronave*
Se desea controlar el angulo de inclinaci
on de una aeronave como se muestra
en la figura 9.30a.

Figure 1.11: Sistema de control del


angulo de inclinaci
on de una aeronave. a)
Definici
on del
angulo de inclinaci
on, b)Sistema de control.
La figura 9.30b muestra el lazo de alimentaci
on unitario del control de
angulo
de un Jet, donde para la planta
Gp (s) =

((s+6)(s+15))
(s(s+312j)(s+3+12j)

Este problema fue resuelto y programado por el Ing. Antonio Arizaga, estudiante de Maestra en Electr
onica en la Universidad de las Americas, Puebla.
Y para el sistema del aler
on
Galeron (s) =

4000
(s+8)

se desea dise
nar un compensador que cumpla con estas especificaciones:
a)Constante de error de velocidad Kv >= 130
b)Sobretiro Mp 15%
c)Tiempo del primer m
aximo Tp 0.7s
Para hacer uso de otras funciones de MATLAB se resolver
a este problema
utilizando variables de estado.
Se define el sistema en terminos de los polos, ceros y ganancia tomando en
cascada las expresiones Gp y Galeron
Z = [ -6 -15 ];
P = [ -8 -3+ 12i -3-12i 0 ];
K = 4000;

16

CHAPTER 1. APLICACIONES EN CONTROL Y ELECTRONICA


Se transforma a variables de estado
[ A, B, C, D ] = zp2ss( Z, P, K )

Dados Tp y Mp se encuentra el sistema de Segundo orden que cumple con


estos requerimientos.
Tp = .5;
Mp = .15; % sobretiro
si = (-log( Mp ) )/( sqrt( ( pi 2 ) + (log(M p))2 ));
wd = pi/tp ;
wn = wd/( sqrt( 1- (si 2 )))
[ NUM, DEN ] = ORD2( wn, si )
Se obtienen las races del denominador.
r = roots( DEN )
El sistema es de cuarto orden por lo que se adicionan 2 polos m
as a las races
del denominador los cuales ser
an -6 y -15 para cancelar los ceros del sistema y
dejarlo de segundo orden
polos = [ r(1) r(2) -15 -6 ]
Definimos k como el vector de las ganancias de la retroalimentaci
on de estados.
k = acker( A, B, polos )
Hacemos la retroalimentaci
on de estados
Anueva = A -B*K
El nuevo sistema queda definido como
sys2 = ss( Anueva, B, C, D )
T = tf( sys2 )
Se cancelan los terminos comunes.
T = minreal( T )
Se verifica la respuesta al escal
on
step ( sys2 )

17

El error de estado estacionario es muy grande por lo que se hace necesario


el uso de un integrador.
La respuesta del escal
on se eleva hasta 74. Para hacerla unitaria cambiamos
por una ganancia.
k1 = 0.0135
lo que deja al sistema como
sys2 = sys2*k1
step(sys2)
El archivo-m que realiza esto es
% Este es el archivo Ejemplo9 19.m
% Controla el
angulo para mantener horizontal un avi
on.
%
clear
close all
Z = [ -6 -15 ];
P = [ -8 -3+12i -3-12i 0 ];
K = 4000;
[ A, B, C, D ] = zp2ss( Z, P. K )
Tp =.5;
Mp =.15; % sobretiro
si = ( -log( Mp ) )/( sqrt( ( pi 2 ) + (log(M p))2 ));
wd = pi/Tp;
wn = wd/ ( sqrt( 1- ( si 2 )))
[ NUM, DEN ] = ord2w(wn, si )
r = roots( DEN )
polos = [ r(1) r(2) -15 -6 ]
k = acker( A, B, polos )
Anueva = A - B*k
sys2 = ss( Anueva, B, C, D )
T = tf( sys2 )
T = minreal( T )
step (sys2)
k1 = 0.0135
sys2 = sys2*k1
step( sys2, 2.5)
grid on

18

CHAPTER 1. APLICACIONES EN CONTROL Y ELECTRONICA

La respuesta al escal
on se muestra en la figura 9.31 donde vemos que el
primer m
aximo ocurre en 0.5 seg y el sobretiro es de 1.527-1.0023 = 15.04%

Figure 1.12: Respuesta al escalon del sistema.

9.5 Aplicaciones en Electr


onica
EJEMPLO 9.19 Sumador digital (Full adder)
La versatilidad de MATLAB se hace patente al manejar variables Booleanas
definidas por MATLAB como l
ogicas. Una variable se vuelve l
ogica con solo
asignarle uno de los dos posibles valores True o False. Las variables l
ogicas
pueden ser vectores o matrices. Las operaciones b
asicas con variables l
ogicas
pueden ser NAND, OR y XOR, las cuales se realizan con & para nand, | para
nor, y xor para xor, respectivamente.
Deseamos ahora realizar un sumador completo (full adder) usando dos medios
sumadores (half adder). El circuito que realiza esto se muestra en la figura 9.32a
y la realizaci
on de un medio sumador se muestra en la figura 9.32b. Un medio
sumador se puede realizar por la siguiente funci
on:
function [ s c ] = medio sum ( a, b )
% s es el bit de la suma y c es el carry resultante.
% las entradas son los bits a y b.
s = xor ( a , b );
c = a & b;
La interconexi
on de los medios sumadores y la compuerta or se realiza con
el siguiente archivo-m y la figura 9.33 muestra las formas de onda de salida.
% Este es el Archivo Ejemplo9 20.m

19
% Realiza un sumador completo a partir de medios sumadores.
close all
clc
clear
x = [0 0 0 0 0 0 true true true 0]; % entrada x.
y = [0 0 0 true true 0 0 0 true true ]; % entrada y
carry en = [ 0 0 0 true true true 0 0 0 true ]; % carry de entrada.
t=[0:1:9];
[ s1 c1 ] = medio sum ( x , y ); % Resultados del primer medio sumador.
[ ss c2 ] = medio sum ( carry en , s1 );% Resultados del segundo medio
carry sal = c2c1; % carry de salida.
subplot(5, 1, 1)
plot(t, x )
axis([0 10 -1 2])
xlabel ( entrada x )
subplot(5, 1, 2)
plot(t, y )
axis([0 10 -1 2])
xlabel ( entrada y )
subplot(5, 1, 3)
plot (t, carry en )
axis([0 10 -1 2)]
xlabel ( carry de entrada )
subplot( 5, 1, 4)
plot(t, ss )
xlabel ( suma )
axis([0 10 -1 2])
subplot(5, 1, 5)
plot(t, carry sal )
xlabel ( carry de salida )
axis([0 10 -1 2])

Figura 9.32 Sumador completo a) Diagrama de bloqueo. b) Medio sumador.


Figura 9.33 Resultados de sumar las se
nales x, y y carrye n.
EJEMPLO 9.21 An
alisis de MonteCarlo para un transitor en configuraci
on
de emisor com
un.

20

CHAPTER 1. APLICACIONES EN CONTROL Y ELECTRONICA

Consideremos el circuito de la figura 9.34. Para este circuito el punto de


operaci
on se obtiene de la siguiente manera: del lazo colector-emisor
V CC=(R C+R E ) I C+V CE
Del lazo base-emisor
V BB=R B I B+V BE+R B I B

Figura 9.34 Transistor en configuraci


on de emisor com
un.
Si suponemos que I C=I E, I E=? I B y V BE=0.7 V, entonces de la segunda ecuaci
on,
I CQ=(V BB-V BE)/(R B/?+R E )=(4-0.7)/((12 K)/75+16 K)?(4-0.7)/(16
K)=3.3/(16K)=0.206mA
de la primera ecuaci
on, V CEQ=V CC-(R C+R E ) I CQ=4.4 V
Ahora deseamos realizar un an
alisis de MonteCarlo. En este tipo de analisis
los componentes del circuito varan aleatoriamente en una base estadstica y
el circuito se analiza con estos valores. Se generan conjuntos aleatorios de los
par
ametros y se construye el comportamiento estadstico del circuito. Por ejemplo, para un resistor el valor aleatorio se puede generar con:
R=R nom [ 1+2 ? ( aleatorio-0.51 ) ]
Donde R nom es el valor nominal de R y el ancho de la distribucion es 2 ?
R nom. La funci
on rand genera n
umeros aleatorios uniformemente distribuidos
entre 0 y 1.
Supongamos que la tolerancia V CC es de 5
V CC=12 ( 1+0.1 rand-0.5 )
R 1=18000 ( 1+0.2 rand-0.5 )
R C=22000 ( 1+0.2 rand-0.5 )
R E=16000 ( 1+0.2 rand-0.5 )
R B=12000 ( 1+0.2 rand-0.5 )
?=75 ( 1+ rand-0.5 )
El siguiente archivo-m calcula los puntos Q correspondientes a cada conjunto
de valores y los grafica.

21
% Este es el archivo Ejemplo9 21.m
% Realiza un an
alisis de MonteCarlo
% cuando algunos elementos varan de su valor nominal.
clear
clc
close all
VCC = 12*(1+0.005*(rand(2000, 1)-0.5));
RC = 22e3*(1+0.05*(rand(2000, 1)-0.5));
RE = 16e3*(1+0.05*(rand(2000, 1)-0.5));
RB = 12e3*(1+0.05*(rand(2000, 1)-0,5));
beta = 75*(1+0.1*(rand(2000, 1)-0.5));
VBB = 4;VBE= 0.7;
for I = 1:2000;
ICQ(i) = (VBB-VBE)/(RB(i)/beta(i)+RE(i));
VCEQ(i) = VCC(i)-(RC(i)+RE(i)*ICQ(i);
end
a = [ICQ, VCEQ];
hist(ICQ)
figure
hist(VCEQ)
Figura 9.35 Variaci
on de I CQ
Figura 9.36 Variaci
on de V CEQ
an muy
En la figura 9.35 vemos que casi todos los resultados de I CQ est
cerca de 0.2mA mientras que en la figura 9.36 vemos que la mayora de los
analisis resultan en un valor deV CEQ alrededor de 4.2 volts. Las figuras 9.35
y 9.36 pueden variar ligeramente en otras m
aquinas ya que se usan n
umeros
aleatorios.
EJEMPLO 9.21 C
alculo de funciones trigonometricas usando el algoritmo
CORDIC*
La tecnica de CORDIN (Cordinate Rotation DIgital Computer) es un algoritmo dise
nado para realizarse en hardware binario y que solamente usa operaciones b
asicas como sumas y corrimientos. Utiliza unidades de memoria y
tablas de datos (Look Up Tables) previamente calculadas. Este algoritmo es
capaz de calcular varias funciones incluyendo las trigonometricas, hiperb
olicas,
races y funciones logartmicas, entre otras.
Algoritmo General Para entender este algoritmo, se describe el funcionamiento
utilizando la figura 9.37,

Figura 9.37 Angulos


en el sistema CORDIC

22

CHAPTER 1. APLICACIONES EN CONTROL Y ELECTRONICA

La diagonal OA est
a a un
angulo inicial de ?? que por simplicidad se elige
igual a cero, la lnea OB es la lnea OA, pero con una rotaci
on contraria a las
manecillas del reloj de ? grados para llegar a un
angulo de ??, que es el
angulo
de interes del cual obtendremos el seno y el coseno. Para el algoritmo CORDIC,
esta rotaci
on de ?? a ?? se hace en un n
umero definido de peque
nas rotaciones
cuyos angulos se eligen de una manera conveniente, de forma que al sumar cada
incremento de X y Y de cada peque
na rotaci
on se obtendr
a del cos ?? y el sen
??, respectivamente, claro, si se eligi
o ?? = 0.
Siguiendo con el an
alisis matem
atico: dada cada rotaci
on, la nueva coordenada X2, Y2 est
a relacionada con las coordenadas anteriores X1, Y1 en la forma
siguiente: X2 = X1 * cos ? - Y1 * sin ? Y2 = X1 * sin ? + Y1 * cos ?
De este par de ecuaciones que definen la transformaci
on por rotaci
on se
deriva el algoritmo CORDIC. Las ecuaciones anteriores pueden reescribirse de
la manera siguiente:
X2 = cos ? * [ X1 - Y1 * tan ? ]
Y2 = cos ? * [ X1 * tan ? + Y1 ]
Este problema fue resuelto y programado por el Ing. Daniel Ortega, estudiante de Maestra en Electr
onica en la Universidad de las Americas, Puebla.
Donde ? es el angulo con el que estaremos rotando el vector inicial hasta llegar
al
angulo de interes. Estos incrementos se eligen de tal forma que el valor tan ?
es una potencia fraccional de 2, esto es, el valor de tan ? y el
angulo ? cambiara
de la siguiente manera:
tan ? = 1/1 1/2 1/4 1/8 1/16 1/32
? = 45 26.56 14.03 7.12 3.57 1.78
De esta manera se ha remplazado la multiplicaci
on de tan ? por el uso de
una r
apida y sencilla operaci
on de corrimiento. Estos valores son guardados en
una peque
na memoria ROM o Look Up Table.
Por otro lado el valor de cos ? que multiplicar
a a cada incremento, se reduce
a una multiplicaci
on final por un factor que tendr
a el valor de la multiplicaci
on
de los cosenos, por ejemplo, para 5 iteraciones, se tendr
a un factor de:
cos(45)*cos(26.56)*cos(14.03)*cos(7.12)*cos(3.57)*cos(1.78) = 0.0607352
M
as a
un, para evitar la multiplicaci
on de este valor al resultado final, se
puede incializar X con este valor, en lugar de 1.Finalmente, haciendo esta consideraci
on, sustituyendo tan ? por 2( 1) en las ecuaciones de rotaci
on, el
algoritmo se puede representar por las siguientes ecuaciones:
X(i+1) = X (i)-m*Y(i)*d(i) * 2( 1)
Y(i+1) = Y (i)-X(i)*d(i) * 2( 1)

23
Donde
+sgn [Z( i )]
d(i)=
-sgn [Z ( i )]
E(i) = arctan( i )

para modo de creaci


on
para modo vectorial
para seno y coseno

y m depende tambien del tipo de operaci


on que se quiere realizar, m = 1
para funciones trigonometricas, m = -1 para funciones hiperb
olicas, o m = 0
para funciones aritmeticas.
El algoritmo CORDIC brevemente descrito aqu se ha realizado en SIMULINK
y se muestra en la figura 9.38. El valor de
angulo se da en el bloque 1/z con la
leyenda doble pulsaci
on; aqu se ha dado el valor inicial de 60, como se muestra
en la figura 9.39, para obtener la repuesta en los bloques de seno y coseno.
Figura 9.38 Sistema que realiza el algoritmo CORDIC para calculo de seno
y coseno.
Figura 9.39 Ventana para indicar el
angulo
9.6 Aplicaciones en Ingeniera de Alimentos EJEMPLO 9.23 Interpolaci
on
de datos experimentales del proceso fredo de donas
En el proceso de fredo de donas a 180 se recabaron datos experimentales del
proceso de transferencia de masa (Velez y Sosa-Morales, 2003). En particular
aqu consideramos el total de aceite ganado en las donas durante el proceso.
Los datos experimentales se muestran en la Tabla 9.3. Los datos de la tabla se
van a ajustar a una curva. Los autores reportan como la mejor aproximaci
on a
estos datos la ecuaci
on:
O G=1.313+?10.160?t ?0.001?( t2 )
Al realizar un ajuste de curvas en MATLAB podemos buscar distintos grados
de los polinomios y observar que tan fino es el ajuste. El siguiente archivo-m
realiza el ajuste de las curvas para polinomios de distintos grados.
%
%
%
%

Este es el archivo Ejemplo9 23.m


Realiza el ajuste de curvas para los datos del aceite
ganado durante el fredo de donas a 180 grados.
Se usan grados 2 3 y 4.

t= [0 15 30 45 60 75 90 105 120];
gain= [ 0 5 6 6.2 7.2 6.8 6.7 7.9 6.1];
stem(t,gain)
hold on

24

CHAPTER 1. APLICACIONES EN CONTROL Y ELECTRONICA


p2 = polyfit(t,gain,2)
p3 = polyfit(t,gain,3)
p4 = polylfit(t,gain,4)
pp2 = polyval(p2,t);
pp3= polyval(p3,t);
pp4= polyval(p4,t);
plot(t,pp2,1,pp3,t,pp4)
hold off
legend ( datos, n=2, n=3, n=4 )
xlabel( Tiempo de fredo -seg )
ylabel ( Aceite ganado (%) )
La salida en MATLAB al correr el archivo es:
p2 =
-0-0010 0.1576 1.3509
p3 =
0.0000 -0.0033 0.2604 0.6354
p4 =
-0.0000 0.0001 -0.0114 0.4506 0.0857
Esto indica que los polinomios que se obtienen son:
OG = 1,359+0.1576t - 0,004t n=2
OG = 0.6354+0.2604t - 0.0033t n=3
O = 0.0857+0.4506t - 0.0114t +0.001t n=4

Observaciones: 1) el caso n = 2 es muy parecido al de la Ref.1; 2) aunque


se pidi
o el resultado para un polinomio de grado 3, MATLAB solo entrea un
polinomio de segundo grado pero con distintos coeficientes y mejor ajuste para
n = 3; 3) para n = 4 se obtiene un polinomio de grado 3 para el cual el ajuste
es mejor como se observa en la figura 9.40.
Figura 9.40 Datos experimentales y polinomios de ajuste.
EJEMPLO 9.24 Ley de Fick
Cuando se agrega una gota de tinta en un vaso con agua se efect
ua un proceso
de de difusi
on. Este y otros fen
omenos est
an gobernados por las leyes de Fick.
Si la difusi
on es en estado estable, la primera ley de Fick establece que el perfil
de la concentraci
on C(x) y el flujo de la difusi
on J, que es la masa transportada
por unidad de
area por unidad de tiempo est
an relacionadas por:
J=-D dC/dx

Primera Ley de Fic

25
donde D es el coeficiente de difusi
on. En esta ecuaci
on suponemos que la
difusi
on es en la direcci
on X. Si la difusi
on no es en estado estable, entonces la
difusi
on est
a gobernada por la segunda ley de Fick.
?C/?t=-D (?2 C)/(?x2 )

Segunda Ley deFick

donde C = C( x, t )
Una soluci
on para esta ecuaci
on es:
(C x-C 0)/(C s-C 0 )=6/?2 ? (n = 1)? ??1/n2 exp?(? n?2 (D?2 )/r2 )
donde C ses la concentraci
on superficial del material que se va a difundir,
C 0 es la concentraci
on incial, C x es la concentraci
on a una distancia X de
la superficie, D es el coeficiente de difusi
on, n es el n
umero de terminos que
tomamos en la serie y r es la distancia de la difusi
on. Otra soluci
on dada por
funciones error como:
(C x-C 0)/(C s-C 0 )=1-erf(x/(2?(D t)))
donde erf es la funci
on error. La ley de Fick es usada para c
alculos de contenido de humedad durante el proceso de secado en el periodo de deshidrataci
on
decreciente (Soriano y Velez, 2003). En particular, se desea saber el contenido
de humedad en el betabel despues de ser sometido a un secado durante un
tiempo t. El betabel se encuentra en forma de esferas de 2.5cm de diametro y
las condiciones de operaci
on del secador son: temperatura de 60C, humedad de
on de la ecuaci
on
equilibrio de 0.066 y la inicial de 0.25kg agua/kg ss. La soluci
de Fick para este caso est
a dada por:
(X-X 6)/(X i-Xe)=6/?2 ? (n = 1)? ?1/n2 exp(n2 (D?2 )/r2 )
donde D es la difusividad que para el betabel es de 7=?10? ( 10)m2 /s. El
siguiente archivo-m calcula las gr
aficas del contenido de humedad durante los
primeros 60 segundos. La figura 9.41 muestra el resultado cuando se toman
desde un solo termino de la serie hasta 13 terminos. De la figura 9.41 podemos
apreciar que a partir del quinto termino de la serie las curvas de humedad son
casi iguales.
% Este es el archivo Ejemplo9 24.m
% Calcula el comportamiento, seg
un la
% ley de Fick, del secado de betabel.
clear
clc
close all
y=zeros(11,3601);
Xi = 0.25;

26

CHAPTER 1. APLICACIONES EN CONTROL Y ELECTRONICA


Xe = 0.066;
x1 = (6/pi 2 );
t = [0:1:3600];
D = 7e-10;
r = 1.25e-2;
x=0
for n = 1:13;
x = x+x1*(1/n 2 ) exp(n2 D pi2 t/r2 );
X = x*(Xi-Xe)+ Xe;
y(n,:) = X;
end
plot ( t/60, y(1:2:13,:))
legend ( n=1,n=3,n=5,n=7,n=9,n=11,n=13 )
ylabel( Curvas de secado )
xlabel( tiempo-minutos )
Figura 9.41 Curvas de secado para distinto n
umero de terminos de la serie.
EJEMPLO 9.24 Transferencia de calor*

Se requiere determinar la temperatura de pure de chcharo contenido en un


recipiente cilndrico que se calienta a cierta temperatura. El punto donde se desea calcular est
a a una distancia r del eje del cilindro. Los recipientes cilndricos
de dimensiones finitas se modelan mediante las intersecciones de planos y cilindros infinitos como se muestra en la figura 9.42.
Figura 9.42 Intersecci
on de planos paralelos y cilindro infinito.
Este ejemplo fue propuesto por el Dr. Jorge Welti Chanes, profesor del
Departamento de Ingeniera Qumica y Alimentos de la Universidad de las
Americas-Pueblas. Para determinar la temperatura de un recipiente cilndrico
se puede proceder de la siguiente manera: primero se calcula la temperatura
residual de un cilindro infinito de radio r m, la cual est
a dada por:
((T a-T)/(T a-T b )) ( infinitoc ilindro) = 2/r m? (m = 1)? ?(J 0(B nr/r m)[exp(?
B? n2 K?/(?C pr m2 ))])/((1 + (kB n2 )/(h2 r m2 ))B n/r mJ 1(B n))
donde B n son las soluciones de mJ 0 (B)=BJ 1 (B). J 0 y J 1son las funciones de Bessel de orden cero y uno, respectivamente. Despues se calcula la
temperatura residual de un volumen acotado por dos planos infinitos paralelos.
En este caso:

((T a-T)/(T a-T b )) ( ?(infinitos@paralelos)p lanos) = 2/r m? (n = 1)? ??sen(B n)cos(B nr/r d
sen(B n)cos?(B n))exp(? B? n2 K?/(?Cp rd2 ))?

27
donde la distancia entre los planos es 2rd yBn sonlassolucionesdemcotB =
B.Latemperaturaresidualdelcilindrof initoest
adadaentoncespor :
((Ta T )/(Ta Tb ))(f initoc ilindro) = ((Ta T )/(Ta Tb ))(i nf initoc ilindro)x((Ta
T )/(Ta Tb ))(? (inf initos@paralelos)p lanos)
Los par
ametros son el coeficiente de transferencia de calor del vapor h o, la
conductividad termica del pure K, el calor especfico del pure C p, la densidad
?, la temperatura ambiente T ay la temperatura del vapor T V, dados por:
h o=670 Btu/(h x pie2 xF )
K=0.48 Btu/(libra x F)
?=68 libras/pie3
T a=86 F T v=240 F
El radio del cilindro es de 0.112 pies y la altura es de 0.167 pies. Las ecuaciones dadas antes se programan en el siguiente archivo-m:
% Este es el archivo Ejemplo92 5.m
% Este archivo calcula la temperatura en el eje de un cilindro de radio
% rcm conteniendo pure de chcharo y calentandose a una temperatura
% de Tcal grados Farenheir, la temperatura ambiente es Ta,
% el tiempo de calentamiento es teta cal y el come up time es teta come up
clear
close all
clc
b1(1) = fsolve(@funcion,1);
b1(2) = fsolve(@funcion,5);
b1(3) = fsolve(@funcion,10);
b(1) = fsolve(@funcionbessel,1);
b(2) = fsolve(@funcionbessel,5);
b(3) = fsolve(@funcionbessel,10);
rm= 0.167; % radio del stub
rmc = 0.112;% radio del cilindro
%r = 0.0; %distancia del eje del cilindro
%
r = [0 : rmc/25 :rmc ];
K = 0.48; %conductividad termica del slab
Ro = 68; % densidad
Cp = 0.91;% calor especfico del pure
h = 670; %coeficiente de transferencia del vapor
teta cal = 20; % minutos
teta come up = 5;
teta = (teta cal + 0.42*teta come up)/60;

28

CHAPTER 1. APLICACIONES EN CONTROL Y ELECTRONICA


teta1 = [(0.42*teta come)/60)/25 : teta ];
Ta = 86;% temperatura ambiente
Tcal = 240;%temperatura del vapor
jj = [1:3];
T = 0;
Tc = 0;

% CALCULOS
PARA r VARIABLE DESDE EL CENTRO DEL CILINDRO
% HASTA LA SUPERFICIE.
% c
alculos para el stub
for kk = 1:length(r);
T = 0;
Ts = 0;
for n= 1 :length(jj) ;
Ts = 2*sin(b1(n))*cos(b1(n)*r(kk)/rm)/
(b1(n)+sin(b1(n))*cos(b1(n)));
Ts = Ts*exp(-b1(n) 2 K teta/(ro Cp rm2 ));
T = T + Ts;
%pause
end
TR(kk) = T;
end
%for ij = 1:
%nn = n/rmc;
%c
alculos para el cilindro infinito
for j = 1:length(r);
Tc = 0;
for n = 1:lenght(jj);
Tcs = 2*besselj(0,b(n)*r(j)/rmc);
Tcs = Tcs*exp((-b(n)2 ) K teta/(ro Cp rmc2 ));

Bibliography
[1] ...
[2] ...

29