Publicado el 17 de Marzo del 2020
670 visualizaciones desde el 17 de Marzo del 2020
299,1 KB
16 paginas
Creado hace 11a (22/01/2014)
Control Digital. Guía 1
1
Facultad: Ingeniería.
Escuela: Electrónica.
Asignatura: Control Digital.
Lugar de ejecución: Instrumentación y Control (Edificio
3, 2da planta)
Herramientas de MATLAB
Objetivos General
• Utilizar MATLAB para la resolución de problemas de sistemas de control automático discreto
Objetivos específicos
Familiarizarse con el entorno de trabajo de MATLAB
•
• Operar de manera básica el programa para obtener funciones de transferencia y la respuesta en
el tiempo de sistemas de control de tiempo discreto.
Materiales y equipo
1 Computadora con MATLAB 2008a o superior.
•
Introducción teórica
En años recientes, el análisis y diseño de sistemas de control han sido afectados dramáticamente por la
proliferación del uso de las computadoras, especialmente de las computadoras personales. Estas se han
hecho tan poderosas y avanzadas que pueden resolver problemas de sistemas de control con facilidad.
Uno de los programas útiles en el campo del control automático es MATLAB.
Algunas de las características más notables de MATLAB son:
➢ La programación es mucho más sencilla
➢ Hay continuidad entre valores enteros, reales y complejos
➢ La amplitud de intervalo y la exactitud de los números son mayores
➢ Cuenta con una biblioteca matemática amplia
➢ Abundantes herramientas gráficas, incluidas funciones de interfaz gráfica con el usuario
➢ Capacidad de vincularse con los lenguajes de programación tradicionales
➢ Transportabilidad de los programas MATLAB
Que en MATLAB no exista distinción entre valores reales, complejos, enteros, de precisión sencilla y de
doble precisión, permite que cualquier variable pueda contener números de cualquier tipo sin una
declaración especial durante la programación, con lo cual esta última se hace más rápida y productiva.
2
Control Digital. Guía 1
La biblioteca matemática de MATLAB facilita los análisis matemáticos. Además, el usuario puede crear
rutinas matemáticas adicionales con mucha mayor facilidad que en otros lenguajes de programación,
gracias a la continuidad entre las variables reales y complejas.
IMPORTANCIA DE LAS GRÁFICAS
El análisis visual de los problemas matemáticos ayuda a comprender las matemáticas y a hacerlas más
asequibles. Aunque esta ventaja es bien conocida, la presentación de resultados calculados con gráficos
de computadora solía requerir un esfuerzo adicional considerable. Con MATLAB, en cambio, bastan
unos cuantos comandos para producir presentaciones gráficas del material matemático. Es posible crear
objetos gráficos científicos e incluso artísticos en la pantalla mediante expresiones matemáticas.
Procedimiento
Parte I. Tutorial.
Funciones de transferencia:
La sintaxis es: SYS = TF(NUM,DEN)
Se desea crear la siguiente función de transferencia de un sistema SISO en MATLAB:
H z= −3.4z1.5
z2−1.6z0.8 , con un tiempo de muestreo de 1s
Para crearla se tiene que escribir lo siguiente:
>> H1=tf([0,3.4,1.5],[1,1.6,0.8],1)
Transfer function:
3.4 z + 1.5
z^2 1.6 z + 0.8
Sampling time: 1
Otra forma de lograr lo mismo es:
z=tf('z',1); H1 = (3.4*z+1.5)/(z^21.6*z+0.8)
Transfer function:
3.4 z + 1.5
z^2 1.6 z + 0.8
Sampling time: 1
Control Digital. Guía 1
3
Para escribir la función de transferencia de sistemas MIMO con NY salidas y NU entradas como el
siguiente de dos salidas y una entrada (SIMO):
3z2
z32z5
3z35z22z1
H z=
, con un tiempo de muestreo de 1s
Se puede hacer de la siguiente manera:
>> H=tf({[3,2];[1,0,2,5]},{[3,5,2,1];[3,5,2,1]},1)
Transfer function from input to output...
3 z + 2
#1:
3 z^3 + 5 z^2 + 2 z + 1
z^3 + 2 z + 5
#2
3 z^3 + 5 z^2 + 2 z + 1
Sampling time: 1
Ganancia-Polos-Ceros
La sintaxis es: SYS = ZPK(Z,P,K), si no hay ceros se puede poner Z=[ ].
Se desea crear la siguiente función de transferencia de un sistema SISO en MATLAB:
H z= 3z8
z4 z5
Para crearla se tiene que escribir lo siguiente:
>> Z=[8];
>> P=[4 5];
>> K=3;
>> Ts=1;
>> H2=zpk(Z,P,K,Ts)
Zero/pole/gain:
3 (z+8)
(z+4) (z+5)
Otra forma de realizar lo mismo es:
>> z=zpk('z',1); H2=3*(z+8)/((z+4)*(z+5))
4
Control Digital. Guía 1
Zero/pole/gain:
3 (z+8)
(z+4) (z+5)
También se pueden representar sistemas MIMO con NY salidas y NU entradas.
Por ejemplo se desea representar el siguiente sistema de dos salidas y una entrada:
H 1= −5
z−1
, H−2=
z−2z−3
zz1
, con un tiempo de muestreo de 1s
>> H = zpk({[];[2 3]},{1;[0 1]},[5;1],1)
Zero/pole/gain from input to output...
5
#1:
(z1)
(z2) (z3)
#2:
z (z+1)
Sampling time: 1
Fracciones Parciales
Para encontrar la expansión en fracciones parciales o viceversa se puede utilizar el comando “residue”:
Encuentre la expansión en fracciones parciales de la siguiente función de transferencia:
H z= −3.4z1.5
z2−1.6z0.8
>> num=[-3.4 1.5];
>> den=[1 -1.6 0.8];
>> [R,P,K]=residue(num,den)
R =
-1.7000 + 1.5250i
-1.7000 - 1.5250i
P =
0.8000 + 0.4000i
0.8000 - 0.4000i
K =
[]
Control Digital. Guía 1
5
La solución es:
H z= r 1
z− p 1
r2
z− p2
= −1.70001.5250j
z−0.8000−0.4000j
−1.7000−1.5250j
z−0.80000.4000j
Se vuelve a obtener la función original de la siguiente forma:
>> [n,d]=residue(R,P,K)
n =
-3.4000 1.5000
d =
1.0000 -1.6000 0.8000
Conversión de modelos
Los comandos para la conversión de modelos son:
residue: Expansión en fracciones parciales.
tf(SYS): Convierte el modelo SYS al formato de función de transferencia.
zpk(SYS): Convierte el modelo SYS al formato de ceros, polos y ganancia.
Funciones de Análisis:
Respuesta en el tiempo.
impulse: Respuesta al impulso unitario.
step: Respuesta al escalón unitario.
lsim: Simula la respuesta en el tiempo de modelos LTI ante entradas arbitrarias.
Encuentre la respuesta en el tiempo ante un impulso de entrada de la siguiente función de transferencia:
En MATLAB se escribiría lo siguiente:
H z= −3.4z1.5
z2−1.6z0.8 , Ts=1s
>> H1=tf([0,-3.4,1.5],[1,-1.6,0.8],1);
>> impulse(H1)
Esto da una salida usando un retenedor de orden cero, si queremos la salida únicamente con las
muestras podemos usar
>> stem(impulse(H1))
6
Control Digital. Guía 1
Encuentre la respuesta en el tiempo del sistema anterior ante una entrada impulso unitario en el intervalo
de 0 a 15 segundos.
>> impulse(H1,15)
Encuentre la respuesta del sistema anterior ante una entrada escalón unitario y añádala en la misma
gráfica de la respuesta al impulso en el intervalo de 0 a 15 segundos:
>> [Yi,T]=impulse(H1,15);
>> [Ye,T]=step(H1,15);
>> stem(T,Yi,'r')
>> hold on
>> stem(T,Ye,'b')
>> hold off
La respuesta al impulso aparecerá de color rojo y la respuesta al escalón de color azul.
Se pueden usar las funciones de MATLAB para encontrar las respuestas en frecuencia similarmente a
como se hace con la del tiempo con los comandos, bode, bodemag, nichols, nyquist, rlocus.
Pruebe estos comandos para obtener la respuesta en frecuencia.
Propiedades del modelo:
damp: Factores de amortiguamiento y frecuencias naturales
dcgain: Ganancia de estado estable (D.C.) de sistemas continuos.
Encuentre los factores de amortiguamiento y frecuencias naturales del siguiente sistema ante una entrada
escalón unitario:
La solución sería:
H z=
5
z20.4z1000 , ts=1s
>> z=tf('z',1); H=5/(z^2+0.4*z+1000)*(z/(z1))
Transfer function:
5 z
z^3 0.6 z^2 + 999.6 z 1000
Sampling time: 1
Control Digital. Guía 1
7
>>damp(H)
Eigenvalue Magnitude Equiv. Damping Equiv. Freq. (rad/s)
1.00e+000 1.00e+000 1.00e+000 0.00e+000
2.00e001 + 3.16e+001i 3.16e+001 9.10e001 3.80e+000
2.00e001 3.16e+001i 3.16e+001 9.10e001 3.80e+000
Ya que el amortiguamiento de este sistema es muy pequeño, la respuesta en el tiempo será muy
oscilatoria.
Modelado de sistemas de lazo abierto y de lazo cerrado.
parallel: Conexión en paralelo de sistemas.
series: Conexión en cascada de sistemas.
feedback: Conexión de sistemas en retroalimentación.
Encuentre la función de transferencia simplificada del siguiente sistema usando MATLAB:
Solución:
>> z=zpk('z',1); G1=(z+3)/((z+1)*(z+4)); G2=4*(z+2)/(z^2+4*z+5);
>> G=series(G1,G2)
Zero/pole/gain:
4 (z+2) (z+3)
(z+4) (z+1) (z^2 + 4z + 5)
Sampling time: 1
>> tf(G)
Transfer function:
4 z^2 + 20 z + 24
z^4 + 9 z^3 + 29 z^2 + 41 z + 20
Sampling time: 1
Si la función de respuesta anterior se retroalimenta negativamente con una función H(s) = 1. Encuentre
la función de transferencia de lazo cerrado GCL.
Solución:
>> H=1;
>> Gcl=feedback(G,H,1)
Zero/pole/gain:
4 (z+3) (z+2)
8
Control Digital. Guía 1
(z+3.59) (z+1.673) (z^2 + 3.737z + 7.326)
Sampling time: 1
>> tf(Gcl)
Transfer function:
4 z^2 + 20 z + 24
z^4 + 9 z^3 + 33 z^2 + 61 z + 44
Sampling time: 1
Encuentre la función de transferencia Gsum si G1 y G2 se colocan en paralelo.
>> Gsum=parallel(G1,G2)
Zero/pole/gain:
5 (z+3.826) (z+1.834) (z+1.339)
(z+1) (z+4) (z^2 + 4z + 5)
Sampling time: 1
>> tf(Gsum)
Transfer function:
5 z^3 + 35 z^2 + 73 z + 47
z^4 + 9 z^3 + 29 z^2 + 41 z + 20
Sampling time: 1
La transformada y Antitransformada Z
La caja de herramientas de matemática simbólica de MATLAB posee la función ztrans e iztrans para
transformar una función en el tiempo al dominio de la frecuencia compleja discreta y viceversa.
Comentarios de: Herramientas de MATLAB (0)
No hay comentarios