Logo Studenta

guia-3

¡Este material tiene más páginas!

Vista previa del material en texto

1
Introducción al control automático con MATLAB
• Conocer uno de los programas para el análisis y diseño de sistemas de control
automático más popular.
• Operar de manera básica el programa para obtener funciones de transferencia y la
respuesta en el tiempo de sistemas de control.
• Simular sistemas de control automático con la herramienta SIMULINK de MATLAB.
• 1 Computadora con MATLAB y SIMULINK instalado
• 1 Archivo mason.m 
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. 
MATLAB puede considerarse como un lenguaje de programación, como Fortran o C,
aunque sería difícil describirlo en unas cuantas palabras. He aquí algunas de sus
características más notables: 
➢ 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. 
Una característica notable de los números en MATLAB es que no hay distinción entre
reales, complejos, enteros, de precisión sencilla y de doble precisión. En MATLAB, todos
estos números están conectados continuamente, como debe ser. Esto significa que en
Facultad: Ingeniería.
Escuela: Electrónica.
Asignatura: Sistemas de Control Automático SCA131
Lugar de ejecución: Instrumentación y Control 
(Edificio 3, 2da planta)
Objetivos específicos
Materiales y equipo
Introducción teórica
 Sistemas de Control Automático. Guía 3
2
MATLAB cualquier variable puede 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. 
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. Entre las numerosas funciones matemáticas, los solucionadores de álgebra
lineal desempeñan un papel crucial; de hecho, todo el sistema MATLAB se basa en estos
solucionadores. 
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. 
SIMULINK
Simulink es un entorno de diagramas de bloque para la simulación multidominio y el
diseño basado en modelos. Admite el diseño y la simulación a nivel de sistema, la
generación automática de código y la prueba y verificación continuas de los sistemas
embebidos.
Simulink ofrece un editor gráfico, bibliotecas de bloques personalizables y solucionadores
para modelar y simular sistemas dinámicos. Se integra con MATLAB, lo que permite
incorporar algoritmos de MATLAB en los modelos y exportar los resultados de la
simulación a MATLAB para llevar a cabo más análisis.
A continuación se presenta un tutorial con diferentes comandos y herramientas de
MATLAB utilizados para el análisis y diseño de sistemas de control automático, desarrolle
los ejemplos para poder resolver los ejercicios que se presentan en el análisis de
resultados. 
Abra el programa MATLAB, espere que este cargue e indique que está listo (Ready).
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:
8.06.1
5.14.3
)(
2 


ss
s
sH
Procedimiento
Sistemas de Control Automático. Guía 3
3
Para crearla se tiene que escribir lo siguiente:
>> H1=tf([0,-3.4,1.5],[1,-1.6,0.8])
y se obtendrá:
Transfer function:
 -3.4 s + 1.5
-----------------
s^2 - 1.6 s + 0.8
Otra forma de lograr lo mismo es:
s=tf('s'); H1 = (-3.4*s+1.5)/(s^2-1.6*s+0.8)
Transfer function:
 -3.4 s + 1.5
-----------------
s^2 - 1.6 s + 0.8
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):
H s=
3s2
s32s5
3s35s22s1
Se puede hacer de la siguiente manera:
>> H=tf({[3,2];[1,0,2,5]},{[3,5,2,1];[3,5,2,1]})
Transfer function from input to output...
 3 s + 2
#1: -----------------------
3 s^3 + 5 s^2 + 2 s + 1
 s^3 + 2 s + 5
#2: -----------------------
3 s^3 + 5 s^2 + 2 s + 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:
 Sistemas de Control Automático. Guía 3
4
)5)(4(
)8(3
)(



ss
s
sH
Para crearla se tiene que escribir lo siguiente:
>> Z=[-8];
>> P=[-4 -5];
>> K=3;
>> H2=zpk(Z,P,K)
Zero/pole/gain:
 3 (s+8)
 -----------
(s+4) (s+5)
Otra forma de realizar lo mismo es:
>> s=zpk('s'); H2=3*(s+8)/((s+4)*(s+5))
Zero/pole/gain:
 3 (s+8)
-----------
(s+4) (s+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:
)1(
)3)(2(
,
1
5
21 





ss
ss
H
s
H
>> H = ZPK({[];[2 3]},{1;[0 -1]},[-5;1])
Zero/pole/gain from input to output...
-5
#1: -----
 (s-1)
 (s-2) (s-3)
#2: -----------
s (s+1)
Sistemas de Control Automático. Guía 3
5
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:
H (s)=
8
s2+1.5 s+0.6
En MATLAB se escribiría lo siguiente:
>> H1=tf([0,3.4,1.5],[1,1.6,0.8]);
>> impulse(H1)
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);
>> plot(T,Yi,'r',T,Ye,'b')
La respuesta al impulso aparecerá de color rojo y la respuesta al escalón de color azul.
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 (1/S):
10004.0
5
)(
2 

ss
sH
La solución sería:
s=tf('s'); H=5/(s^2+0.4*s+1000)*1/s
 Sistemas de Control Automático. Guía 3
6
Transfer function:
 5
----------------------
s^3 + 0.4 s^2 + 1000 s
>> damp(H)
 
 Eigenvalue Damping Freq. (rad/s)
 0.00e+000 -1.00e+000 0.00e+000
-2.00e-001 + 3.16e+001i 6.32e-003 3.16e+001
-2.00e-001 - 3.16e+001i 6.32e-003 3.16e+001
Ya que el amortiguamiento de este sistema es muy pequeño, la respuesta en el tiempo
será muy oscilatoria.
La transformada y Antitransformada de Laplace:
La caja de herramientas dematemática simbólica de MATLAB posee la función laplace e
ilaplace para transformar una función en el tiempo al dominio de la frecuencia compleja
y viceversa.
Ejemplo: Encontrar la respuesta en el tiempo de la siguiente función de transferencia
cuando a la entrada se presenta una señal rampa unitaria.
2041299
4773355
)(
234
23



ssss
sss
sG
Solución:
>> syms s t
>> G=(5*s^3+35*s^2+73*s+47)/(s^4+9*s^3+29*s^2+41*s+20);
>> g=ilaplace(G*1/s^2);
>> pretty(g)
 467 47
 - --- + 1/48 exp(-4 t) + 2/3 exp(-t) + -- t
 400 20
 + 4/25 exp(-2 t) (3 cos(t) - 4 sin(t))
>> ezplot(g,[0,15])
Ejemplo:
Encuentre la transformada de Laplace de la siguiente función:
)())sin(()( tueatttg at
Donde a es una constante real positiva.
Sistemas de Control Automático. Guía 3
7
Solución:
>> syms a t s
>> g=t*sin(a*t)+exp(-a*t);
>> G=laplace(g);
>> pretty(G)
 s a 1
 2 ---------- + -----
 2 2 2 s + a
 (s + a )
Programa en MATLAB que resuelve las gráficas de flujo de señales por medio de
la regla de Mason
Explicación:
Este programa resuelve las gráficas de flujo de señales para generar una ecuación
simbólica equivalente que relaciona el nodo de salida y el nodo de entrada. Por ejemplo:
 
Hay cuatro nodos 1,2,3 y 4 y hay cinco coeficientes S11,S21,S12,S22 y R2. Si colocamos el
nodo 1 como el nodo de entrada independiente y escogemos el nodo 3 como un nodo
dependiente obtenemos la siguiente simplificación:
 
b
a
=s11s21∗ R2
1−s22∗R2
∗s12
Si colocamos al nodo 1 como el nodo de entrada independiente y el nodo 2 como el nodo
de salida dependiente obtenemos:
 
Este programa genera estas ecuaciones. 
 Sistemas de Control Automático. Guía 3
b
a
= s21
1−s22∗R2
8
Especificando la red.
Se usa un archivo descriptor para especificar la topología del diagrama de flujo, que
puede ser creado en cualquier editor de texto. A cada nodo se le asigna un número y
cada rama se define como un número coeficiente. Cada rama se define como una línea
en el archivo, descrito como sigue:
[# Coeficiente] [# Nodo de Inicio] [# Nodo Final] [Nombre del Coeficiente]
Los números de los coeficientes deben estar en orden. Por ejemplo, para describir el
siguiente diagrama (donde el número del coeficiente está entre paréntesis):
 
Figura 3.1. Diagrama de flujo.
El archivo creado sería como el siguiente (donde los espacios en blanco son tabulaciones,
pero cualquier espacio en blanco es aceptable):
1 1 2 s21
2 4 2 s22
3 4 3 s12
4 1 3 s11
5 2 4 R2
Nota: Es importante que las líneas en el archivo de red estén ordenadas de modo que los números
de los coeficientes se incrementen a partir de 1. No use 0 como número de coeficiente o nodo. El
nombre del coeficiente puede ser cualquier expresión simbólica válida. Si la expresión tiene múltiples
términos, ellos deben encerrase entre paréntesis. Por ejemplo: (-D*z^(-1)) ó (1+B)
Usando el programa
El archivo creado debe guardarse con cualquier nombre y extensión en la misma carpeta
donde se tenga el archivo mason.m y luego llamarse desde la consola de MATLAB
especificando nombre del archivo con todo y extensión, número del nodo de inicio y
número del nodo final como se muestra en el siguiente ejemplo.
Ejemplo de uso de mason.m para resolver un diagrama de flujo:
Encuentre la relación entre y7 / y2 en la Figura 3.2, que representa la dependencia de y7
sobre y2 donde este último no es la entrada.
Sistemas de Control Automático. Guía 3
9
Figura 3.2. Gráfica de flujo para el ejemplo del método de Mason.
Solución:
Primero creamos el archivo que define la configuración de la red, podemos utilizar
cualquier editor de texto pero ya que tenemos abierto MATLAB utilizaremos el de este,
para ello en la pestaña “Home” de clic en “New” y luego seleccione “Script”, el editor se
abre, copie los siguientes datos ya sea separándolos con un espacio o tabulación.
1 1 2 1
2 2 3 G1
3 3 2 -H1
4 5 2 -H3
5 3 6 G5
6 3 4 G2
7 4 5 G3
8 5 4 -H2
9 5 6 G4
10 6 6 -H4
11 6 7 1
Al finalizar guarde el archivo con un nombre como por ejemplo “red1.udb” (es necesario
que ponga las comillas, sino se guardará como red1.udb.m) debe almacenarlo no solo en
un directorio que MATLAB tenga como directorio de trabajo sino que en este debe estar
también el archivo mason.m (en el caso del laboratorio debería estar en
Documentos/MATLAB, sino es así notifique al docente de laboratorio1).
Notamos que como debemos encontrar y7 / y2, primero hallaremos y7 / y1, luego y2 / y1
para finalmente hallar : 
y7
y2
= y7 / y1
y2/ y1
 puesto que mason.m solo puede trabajar con un
nodo que sea final y con otro que sea inicial.
 
Una vez comprobado que en la carpeta correspondiente está tanto el archivo mason.m
como el de red que creamos corremos en MATLAB la función de la siguiente manera para
crear y7 / y1:
>> [y7,y1]=mason('red1.udb',1,7)
-- Network Info --
Net File : ejemplo.red
Start Node : 1
1El archivo puede descargarse de la dirección de la tercera referencia bibliográfica de esta guía. 
 Sistemas de Control Automático. Guía 3
10
Stop Node : 7
----- Paths -----
P1 : 1 2 5 11 
P2 : 1 2 6 7 9 11 
- Order 1 Loops -
L11 : 2 3 
L12 : 2 6 7 4 
L13 : 7 8 
L14 : 10 
- Order 2 Loops -
L21 : 2 3 7 8 
L22 : 2 3 10 
L23 : 2 6 7 4 10 
L24 : 7 8 10 
- Order 3 Loops -
L31 : 2 3 7 8 10 
The variables returned are strings describing
the numerator and Denominator of the transfer equation.
If you have the symbolic toolbox, use Denominator=sym(Denominator)
and Numerator=sym(Numerator) to make these symbolic equations.
You can now use simple(Numerator/Denominator) to boil the whole
thing down. You could also use simple(Numerator) to simplify the
Numerator on it' own.
y7 =
1*G1*G5*1*(1-(G3*-H2)+0-0)+1*G1*G2*G3*G4*1*(1-0+0-0)
y1 =
1-(G1*-H1+G1*G2*G3*-H3+G3*-H2+-H4)+(G1*-H1*G3*-H2+G1*-H1*-H4+G1*G2*G3*-H3*-
H4+G3*-H2*-H4)-(G1*-H1*G3*-H2*-H4)
Luego obtenemos y2 / y1:
>> [y2,y1]=mason('red1.udb',1,2)
-- Network Info --
Net File : ejemplo.red
Start Node : 1
Stop Node : 2
----- Paths -----
P1 : 1 
Sistemas de Control Automático. Guía 3
11
- Order 1 Loops -
L11 : 2 3 
L12 : 2 6 7 4 
L13 : 7 8 
L14 : 10 
- Order 2 Loops -
L21 : 2 3 7 8 
L22 : 2 3 10 
L23 : 2 6 7 4 10 
L24 : 7 8 10 
- Order 3 Loops -
L31 : 2 3 7 8 10 
The variables returned are strings describing
the numerator and Denominator of the transfer equation.
If you have the symbolic toolbox, use Denominator=sym(Denominator)
and Numerator=sym(Numerator) to make these symbolic equations.
You can now use simple(Numerator/Denominator) to boil the whole
thing down. You could also use simple(Numerator) to simplify the
Numerator on it' own.
y2 =
1*(1-(G3*-H2+-H4)+(G3*-H2*-H4)-0)
y1 =
1-(G1*-H1+G1*G2*G3*-H3+G3*-H2+-H4)+(G1*-H1*G3*-H2+G1*-H1*-H4+G1*G2*G3*-H3*-
H4+G3*-H2*-H4)-(G1*-H1*G3*-H2*-H4)
Para obtener la respuesta de manera ordenada primero deben hacerse simbólicos los
nombres de los coeficientes y luego las expresiones que necesitamos:
>> syms G1 G2 G3 G4 G5 H1 H2 H3 H4
>> y7=sym(y7);
>> y2=sym(y2);
Finalmente obtenemos la respuesta con:
>> R=y7/y2;
>> pretty(R)
 G1 G5 (G3 H2 + 1) + G1 G2 G3 G4
 -------------------------------
 H4 + G3 H2 + G3 H2 H4 + 1
 Sistemas de Control Automático. Guía 3
12
Simulación de sistemas de control automático en SIMULINK:
Digite el comando Simulink, este tardará un tiempo en cargar.
Se abrirá la ventana del buscador de librerías de Simulink que se muestra en la Figura
3.3.
Figura 3.3. Buscador de Librerías de Simulink.
De clic en el menú “File”, “new “y seleccione “Model”.
Cree el sistema que se muestra en la Figura 3.4, arrastrando loselementos que se
muestran en el buscador de librerías a la ventana del modelo. En la Tabla 3.1 se
encuentran las librerías donde están los elementos del sistema, para unir los elementos
haga clic en los conectores que tienen los elementos, arrastre el cursor hasta el otro
elemento a conectar y luego suelte.
Elemento Librería de Simulink
Transfer Fcn Continuous
Step Sources
Sum Math Operations
Scope Sinks
Tabla 3.1 Librerías donde se encuentran los elementos del circuito de la Figura 3.4.
Sistemas de Control Automático. Guía 3
13
Figura 3.4. Diagrama de bloques de un sistema de motor DC.
Nota: En el sistema de la Figura 3.4, el módulo “Transfer Fcn” representa un controlador
proporcional con una ganancia de 0.5, el módulo “Transfer Fcn1” representa el modelo
matemático de un horno, el módulo “Transfer Fcn2” representa al transductor con una relación de
0.1V/°C, “Step” representa el valor de referencia en voltios aplicado con una función escalón y
“Step1” representa una perturbación; finalmente los “Scopes” son instrumentos para visualizar la
respuesta del sistema, “Scope” muestra el resultado en grados y “Scope1” en voltios.
Para que el sumador de la realimentación quede con uno de los signos negativo, de doble
clic sobre este y en “List of signs” coloque: |+- y para que el sumador que añade la
perturbación quede invertido como en la figura mueva la barra a la derecha así: ++| 
Configure los parámetros de los elementos como se indica a continuación (lo que está en
paréntesis no se coloca solo es para referencia del usuario):
“Step”:
• Step Time: 0
• Initial Value: 0
• Final Value: 8.0 (voltios)
“Step1”:
• Step Time: 300 (segundos)
• Initial Value: 60 (grados)
• Final Value: 50 (grados)
Transfer Fcn:
• Numerator coefficients: [0.5]
• Denominator coefficients: [1]
Transfer Fcn1:
• Numerator coefficients: [154.4]
• Denominator coefficients: [49 14 1]
Transfer Fcn2:
• Numerator coefficients: [0.1]
• Denominator coefficients: [1]
Cambie el tiempo de simulación a 450 segundos como se muestra en la Figura 3.5.
Figura 3.5. Tiempo de simulación.
Simule el sistema, para ello de clic en el botón “Run” , luego haga doble clic en los
 Sistemas de Control Automático. Guía 3
14
elementos “Scope”. Para ver mejor las gráficas presione el botón de auto escala que
tiene la siguiente forma , si ha hecho todo correctamente deberá ver en “Scope” la
gráfica que se muestra en la Figura 3.6.
Figura 3.6. Gráfica de “Scope”. 
Determine a que valor se estabilizó la temperatura luego de aplicada la
perturbación:________________
¿En cuanto tiempo se estabilizó la temperatura luego de aplicada la perturbación?
____________________
Aumente la ganancia del controlador proporcional a 5, ¿Bajó o subió el error en estado
estacionario?, ¿que pasó con la estabilidad del sistema?_________________________________
__________________________________________________________________________________________
Cambie la función de transferencia del controlador proporcional (“Transfer Fcn”) por una
de controlador PID:
Numerator Coefficient: [20 10 0.5]
Denominator Coefficient: [0.03 1 0] 
¿Cuanto vale ahora el error en estado estacionario?_______________________________, ¿que
pasó con la estabilidad del sistema?______________________________________________________
1. Encuentre la transformada de Laplace de la siguiente función:
)()2sin()( 2 tuetttg t
Sistemas de Control Automático. Guía 3
Análisis de Resultados
20 s2+10 s+0.5
0.03 s2+s
15
2. Encuentre la antitransformada de Laplace de la siguiente función:
)22(
)2(10
)(
2 


sss
s
sG 
3. Encuentre la respuesta del siguiente sistema G(s)=
2.6
3 s2+0.8 s+1.2
ante una
entrada escalón unitario en el intervalo de 0 a 80 segundos.
4. Para el sistema realimentado que aparece en la siguiente figura, muestre que Y(s)/
U(s) es:
Figura 3.7. Diagrama de bloques ejercicio 4.
5. Encuentre )(
)(
)(
sR
sC
sT  para el sistema representado por el gráfico de flujo
siguiente:
Figura 3.7. Diagrama de flujo ejercicio 5.
6. Presente las 6 preguntas que se le realizaron en la parte de SIMULINK.
• Ogata, K., (2010), Ingeniería de Control Moderna, Madrid, España: Pearson Educación,
S.A.
 Sistemas de Control Automático. Guía 3
Bibliografía
16
• Nakamura, S., (1998). Análisis Numérico y Visualización Gráfica con Matlab, México,
México: Prentice Hall. 
• Archivo mason.m, Recuperado en agosto de 2019 de: 
http://www.mathworks.com/matlabcentral/fileexchange/22-mason-m
EVALUACIÓN
% 1-4 5-7 8-10 Nota
CONOCIMIENTO 25 Conocimiento 
deficiente de los 
siguientes 
procedimientos:
-Introducción de una 
ecuación en MATLAB.
-Como graficar con 
MATLAB.
-Como simular un 
sistema con SIMULINK
Conocimiento y 
explicación 
incompleta de 
los 
procedimientos.
Conocimiento 
completo y 
explicación clara de 
los procedimientos.
APLICACIÓN
DEL
CONOCIMIENTO
70 Cumple con uno de los
siguientes criterios:
-Obtiene la 
transformada y la 
antitransformada de 
Laplace con Matlab.
-Resuelve las gráficas 
de flujo de señales por 
medio de la regla de 
Mason con Matlab.
-Simula sistemas con 
SIMULINK
Cumple con dos
de los criterios.
Cumple con los tres 
criterios.
ACTITUD 5 Es ordenado pero no 
hace un uso adecuado 
de los recursos.
Hace un uso 
adecuado de lo 
recursos, 
respeta las 
pautas de 
seguridad, pero 
es 
desordenado.
Hace un manejo 
responsable y 
adecuado de los 
recursos conforme a 
pautas de seguridad 
e higiene.
TOTAL 100
Guía 3: Introducción al control automático con MATLAB
Alumno:
Hoja de cotejo: 3
Docente: Fecha:GL:
Puesto No:
Sistemas de Control Automático. Guía 3
http://www.mathworks.com/matlabcentral/fileexchange/22-mason-m

Continuar navegando

Materiales relacionados

255 pag.
64 pag.
IntroduccionaMatlab

User badge image

Estudiando Ingenieria

19 pag.
matlabysimulink

ESTÁCIO

User badge image

Jorge deavila