Este documento presenta la solución a un taller de control de sistemas con 5 ejercicios resueltos en Matlab y Simulink. El primer ejercicio involucra obtener transformadas de Laplace e inversas de varias funciones. El segundo ejercicio caracteriza una planta experimentalmente. El tercer ejercicio modela un circuito RLC. Los ejercicios 4 y 5 involucran modelar sistemas en Simulink y analizar su estabilidad. El documento provee detalles completos sobre cómo resolver cada punto del taller.
1. TALLER 1 – CONTROL 2
SOLUCIÓN
INGENIERÍA ELECTRÓNICA
Ing. Armando Mateus
Taller para desarrollo en Matlab/Simulink; los ejercicios 1, 2 y 3 deben resolverse desde la
ventana de comandos de Matlab y los puntos 4 y 5 que debe resolverse en Simulink.
1. Obtenga la transformada de Laplace para las siguientes funciones; verifique obteniendo la
transformada inversa con ayuda de Matlab en cada caso:
a. 4t
b. sen(2t)
c. t2 – t + 1
d. sen2(t) + cos2(t)
e. et
Solución:
Lo primero que se debe hacer es definir una variable simbólica 't'; esto debe hacerse pues la función
'laplace' calcula la transformada de Laplace de una función simbólica.
>> syms t
Con el comando anterior Matlab “entiende” que se va a utilizar el símbolo 't' como una variable.
El paso a seguir es la definición de cada función:
>> f1=4*t
f1 =
4*t
>> f2=sin(2*t)
f2 =
sin(2*t)
>> f3=t^2 - t + 1
f3 =
t^2 - t + 1
>> f4=[sin(t)]^2 + [cos(t)]^2
f4 =
cos(t)^2 + sin(t)^2
>> f5=exp(t)
f5 =
exp(t)
De esta forma las 5 funciones quedarían definidas; no es la única forma de definirlas; por ejemplo f1
podría haberse definido también como “f1 = t + t + t + t”. El siguiente paso es la utilización del
2. comando 'laplace' que permitirá la obtención de la transformada:
>> F1=laplace(f1)
F1 =
4/s^2
>> F2=laplace(f2)
F2 =
2/(s^2 + 4)
>> F3=laplace(f3)
F3 =
1/s - 1/s^2 + 2/s^3
>> F4=laplace(f4)
F4 =
2/(s*(s^2 + 4)) + (s^2 + 2)/(s*(s^2 + 4))
>> F5=laplace(f5)
F5 =
1/(s – 1)
Acá se ha utilizado el nombre de la función en letra mayúscula para indicar que se trata de la
transformada; F1 corresponde a la transformada de Laplace de f1 (Matlab diferencia entre minúsculas
y mayúsculas).
Un buen ejercicio para verificar la validez de la transformación es realizar la transformación inversa
mediante el comando 'ilaplace' (inverse laplace); este comando es también de tipo simbólico, por lo
que se hace necesario definir la variable simbólica 's'. En este caso, sin embargo, Matlab
automáticamente ha realizado la definición de la variable simbólica al momento de realizar la
transformada de Laplace, así que no es necesario realizar la definición.
>> ilaplace(F1)
ans =
4*t
>> ilaplace(F2)
ans =
sin(2*t)
>> ilaplace(F3)
ans =
t^2 - t + 1
>> ilaplace(F4)
ans =
1
3. >> ilaplace(F5)
ans =
exp(t)
Todos los resultados corresponden a la función original; en el caso de 'f4' aunque el resultado a simple
vista no parece el mismo debe recordarse que 'sen2(t) + cos2(t) = 1' (propiedad trigonométrica); para
este caso también se debe ser consciente de que los algoritmos y resultados de Matlab pueden brindar
soluciones no tan claras como se esperan (F4 debería ser simplemente 1/s).
4. 2. Dada la función de transferencia:
a. Defina el sistema lineal correspondiente en Matlab
b. Obtenga la representación de la forma zero – polo – ganancia para ese sistema
c. Obtenga las respuestas al impulso y al escalón
d. Obtenga experimentalmente (caracterización) la función de transferencia del sistema
e. Obtenga la función de transferencia G0 para la malla de lazo cerrado
Solución:
a.
Mediante la definición de la función de transferencia de un sistema se hace la definición del sistema
lineal correspondiente; con el comando 'tf' se define en Matlab la función de transferencia de un
sistema y por tanto el sistema.
Antes que nada es necesario identificar los polinomios del numerador y el denominador. Para el
numerador se tiene:
N(s) = 4 = ...+0s3 + 0s2 + 0s + 4
Acá lo único que se ha hecho es expandir en forma de polinomio el numerador, con esto ya es posible
definir en Matlab un vector numerador compuesto por los coeficientes del polinomio así:
>> N=[0 0 0 4]
N=
0 0 0 4
Nótese que los 3 primeros coeficientes utilizados son 0 por lo que una forma alterna sería definir el
numerador solo así:
>> N=[4]
N=
4
El mismo proceso se sigue para el denominador:
D(s) = 2s + 5
Y en Matlab
>> D=[2 5]
D=
2 5
Finalmente el sistema lineal quedará definido con la función de transferencia así:
5. >> G=tf(N,D)
Transfer function:
4
-------
2s+5
b.
La representación ZPK (cero – polo – ganancia) es una forma alterna de representar una función de
transferencia; para ello se factorizan tanto el numerador como el denominador, por ejemplo si
Ge(s) = (4s2 – 12s + 8)/(s3 + 6s2 + 11s + 6) = 4(s – 1)(s – 2)/(s + 1)(s + 2)(s + 3)
La expresión de la derecha donde ya se ha factorizado es conocida como la forma ZPK. La ganancia
es 4 (el término sin s), los ceros serán s – 1 y s – 2 (s = 1 y s = 2 producen que la función de
transferencia valga cero) y los polos son s + 1, s + 2 y s + 3 (s = -1, s = -2 y s = -3 producen que la
función de transferencia tienda al infinito o polo).
Para generar la representación ZPK se utiliza el comando 'zpk', para el caso será:
>> zpk(G)
Zero/pole/gain:
2
-------
(s+2.5)
Para este caso en particular, la representación ZPK es la misma función en términos polinomiales
(sólo cambia la ganancia); esto es así pues la función no posee ceros y sólo posee un polo.
c.
Para obtener la respuesta al impulso y al escalón se utilizan los comandos 'impulse' y 'step'
respectivamente; esto puede hacerse pues ya se ha definido el sistema lineal mediante la función de
transferencia.
>>impulse(G)
6. Figura (1). Respuesta al impulso
>> step(G)
Figura (2). Respuesta al escalón unitario
d.
La “Caracterización” de una planta es un proceso experimental por medio del cuál se busca obtener la
7. función de transferencia de un sistema a partir de su respuesta en el tiempo. La respuesta al escalón
que se presenta en la figura (2) corresponde a un sistema de primer orden cuya función de
transferencia es:
G(s) = K/(1 + Ts)
Esta función de transferencia tiene una respuesta temporal al escalón (figura 2) determinada por la
siguiente expresión matemática:
x(t) = K [1 – e-t/T]
Es claro de la ecuación anterior que cuando t tiende a infinito x(t) vale K
x(∞) = K [1 – 0] = K
De la figura 2, se ve que el valor final de x(t) es 0.8, por tanto K = 0.8.
Para determinar el valor de T buscamos el valor para el cuál x(t) alcanza el 63,2% de su valor final.
Esto es así pues cuando t = T se tiene:
x(T) = K [1 – e-T/T] = K [1 – e-1] = K [1 – 0.3678] = K [0.6321] = 63,21% de K
Lo que indica que T es el tiempo para el cuál x(t) alcanza el 63,21% del valor de K.
Para este caso el 63,21% de K es 0.6321*0.8 = 0.5056 se alcanza aproximadamente para t = 0.401, por
tanto T = 0.401.
Resumiendo
K = 0.8
T = 0.401
Y la función de transferencia será:
G(s) =0.8 /(1 + 0.401 s)
Esta función de transferencia se transforma mediante la multiplicación arriba y abajo por 5 en:
G(s) = 4 /(5 + 2.005 s) = 4 /(2.005 s + 5)
Está función de transferencia es prácticamente la función original propuesta en el ejercicio. Este
procedimiento es muy útil para obtener funciones de transferencia sin necesidad de conocer los
parámetros de la planta.
e.
Como ya se tiene definida la función G, sólo es necesario definir la función de transferencia en lazo
cerrado; se recuerda que la función de transferencia en lazo cerrado de una función es:
8. Go(s) = G(s)/(s+G(s))
>> Go=G/(G+1)
Transfer function:
8 s + 20
-----------------
4 s^2 + 28 s + 45
9. 3. Del siguiente circuito RLC
se puede obtener la siguiente ecuación diferencial
Para R = 2 ohm, C = 1µF y L= 1mH
a. Hallar la función de transferencia del sistema Vo(s)/Vi(s)
b. Definir el sistema en Matlab
c. Obtener la respuesta al impulso y al paso en Matlab
d. Obtener las gráficas de Bode y Nyquist, ¿es el sistema estable (explique)?
e. Obtenga las raíces de la ecuación característica, ¿es el sistema estable (explique)?
Solución:
a.
A partir de la última ecuación diferencial se realiza la transformada de Laplace para toda la ecuación
y se obtiene:
Vi(s) = LC s2 Vo(s) + RC s Vo(s) + Vo(s)
Se factoriza Vo(s) para tener
Vi(s) = [LC s2 + RC s + 1] Vo(s)
Y la función de transferencia será:
G(s) = Vo(s) / Vi(s) = 1/(LC s2 + RC s + 1)
Remplazando los valores se tiene
G(s) = Vo(s) / Vi(s) = 1/(1x10-9s2 + 2x10-6 s + 1)
10. b.
Para definir el sistema se realiza la definición de la función de transferencia:
>> G=tf(1,[0.000000001 0.000002 1])
Transfer function:
1
-------------------------
1e-009 s^2 + 2e-006 s + 1
c.
La respuesta al impulso es:
Figura (3) Respuesta al impulso
La respuesta al paso es:
Figura (4). Respuesta al paso
d.
La gráfica de Nyquist es:
11. Figura (5). Gráfica de Nyquist
Como el punto (-1,0) no es rodeado por la gráfica el sistema es estable.
La gráfica de Bode es:
Figura (6). Diagramas de Bode
La fase tiende a ser 180º para valores de frecuencia mayores a 10 5 radianes por segundo, para
esos valores de frecuencia la magnitud está siempre por debajo de 0dB por lo que el sistema es
estable.
e.
La ecuación característica es el denominador de la función de transferencia igualado a 0, osea:
1e-009 s^2 + 2e-006 s + 1 = 0
Para obtener las raíces de esta ecuación es posible usar el comando 'solve' de Matlab que devolverá las
raíces para las cuales este polinomio es 0
12. >> syms s
>> solve(0.000000001*s^2+0.000002*s+1)
ans =
(1875*5^(1/2)*4834731869212693689325625913676722332027^(1/2)*i)/9223372036854775
808 - 9223372036854775390625/9223372036854775808
(1875*5^(1/2)*4834731869212693689325625913676722332027^(1/2)*i)/9223372036854775808
– 9223372036854775390625/9223372036854775808
Se obtienen 2 respuesta, cada 1 es un renglón. Sin embargo este resultado no es muy claro por lo que
es bastante conveniente utilizar el comando 'simplify' para que Matlab realice todas las operaciones
indicadas y arroje un resultado más amable:
>> simplify(-
(1875*5^(1/2)*4834731869212693689325625913676722332027^(1/2)*i)/9223372036854775808 -
9223372036854775390625/9223372036854775808)
ans =
-1.0000e+003 -3.1607e+004i ' Raiz 1'
>>simplify((1875*5^(1/2)*4834731869212693689325625913676722332027^(1/2)*i)/92233720368
54775808 - 9223372036854775390625/9223372036854775808)
ans =
-1.0000e+003 +3.1607e+004i 'Raiz 2'
Luego de la simplificación se puede ver de una forma más sencilla las 2 raices. Estas raices al
graficarlas en el plano complejo se encuentran en el semi plano izquierdo por lo que se dirá que
el sistema es estable.
13. 4. Por medio de Simulink y mediante el uso de las fuentes, integradores y derivadores obtenga
las formas de onda para:
a. La integral y la derivada de una señal constante
c. La integral y la derivada de una señal paso
b. La integral y la derivada de un tren de pulsos
d. La integral y la derivada de una señal rampa
e. La integral y la derivada de una señal sinusoidal
a.
18. 5. En la figura siguiente se presenta el modelo para la simulación de una planta G(s)=1/s(s+1)
Adicionalmente en la siguiente figura se presenta el modelo para la simulación en lazo cerrado
a. Implemente los dos modelos en Simulink
b. Presente los resultados de la simulación
c. Es el primer modelo estable (justifique)?
d. Es el segundo modelo estable (justifique)?
e. Obtenga la función de transferencia de lazo cerrado en forma analítica
Solución:
a y b.
19. c. El primer modelo no es estable.
En “Scope” se ve que la respuesta al escalón es una rampa que continuará creciendo al infinito, por lo
tanto se tendrá una respuesta infinita a un estimulo finito.
d. El segundo modelo es estable
En “Scope” se ve que la respuesta al escalón luego del tiempo “7” mantiene su valor, osea que se
estabiliza; esto es una respuesta finíta a una entrada finita lo que corresponde con la definición de
sistema estable.
e.
La función de transferencia de forma análitica de lazo cerrado para el sistema es:
Go(s) = G(s) / (1 + G(s)) = 1/(s2 + s)/[1 + 1/(s2+s)] = 1/ (s2 + s +1)
Se ve claramente que la función de transferencia en lazo cerrado agrega un 1 en el denominador,
convirtiendo el sistema inicial en un sistema estable de segundo orden. Originalmente el sistema es
un sistema integrador ya que posee un cero en el origen (1/(s2 + s) = 1/[(s)(s + 1)]) lo que lo hace
inestable.