Está en la página 1de 18

Universidad De El Salvador

Facultad de Ingeniería y Arquitectura


Escuela de Ingeniería Eléctrica
Sistemas de Control Automático

Guía de laboratorio # 1.

“Introducción a MATLAB aplicado a Los Sistemas de Control Automático”

Docente: Ing. Ricardo E. Cortez


Coordinador: Br. Ernesto Cerón

Instructores:
Br. David Martínez
Br. Luis Herrera

Introducción:
Actualmente los sistemas de Control Automático están presentes en diversas áreas de la ingeniería
y en la vida diaria con el fin de facilitar al ser humano la realización de diversas tareas. El diseño
de estos sistemas puede conllevar un esfuerzo matemático considerable. Para ello existen
diferentes alternativas de software que facilitan su análisis y diseño, siendo una de ellas
MATLAB, que es un software matemático equipado con una librería exclusiva para el área de
sistemas de control. Dicha librería contiene funciones que realizan operaciones de interés en el
área de control automático y por tanto es de importancia la inclusión de MATLAB en las prácticas
de laboratorio de la asignatura.

Objetivos:
Familiarizar al estudiante con MATLAB de tal forma que éste se encuentre en capacidad de:
 Ingresar una función de transferencia a MATLAB de forma numérica y simbólica, además
ser capaz de ingresarla de forma factorizada y polinomial.
 Determinar los polos y ceros de una función de transferencia.
 Trazar el diagrama de polos y ceros de una función de transferencia.
 Encontrar las raíces de la ecuación característica de un sistema.
 Ingresar modelos de Sistemas realimentados básicos a MATLAB.

1
Sistemas de Control Automático 2017
Consideraciones preliminares.
Antes de iniciar la aplicación de MATLAB a los Sistemas de Control, se definen dos cuestiones
básicas sobre el mismo:

1) Ingresando a MATLAB.
Como cualquier otro programa en Windows, para acceder a MATLAB una vez instalado, solamente
debe darse doble click sobre el ícono del programa. Podrá verse una ventana como la mostrada a
continuación.

Figura 1 Ventana de Inicio de MATLAB que aparece mientras carga el programa

2) Interfaz de MATLAB.
Luego de un momento la ventana de la figura 1 se cerrará y dará paso a la interfaz principal de
MATLAB que se muestra en la figura 2. En este caso se utiliza MATLAB R2013a como se observa en
la figura 1.
En la figura 2, pueden verse las diferentes partes que componen la interfaz de MATLAB R2013a,
que se detallan a continuación:
A. Directorio de trabajo actual de MATLAB, en esta sección se muestran todos los archivos
dentro del directorio en que usted se encuentre trabajando.
B. Línea de comandos de MATLAB, en éste se ingresan las diferentes instrucciones que
deseamos que MATLAB ejecute.
C. Información sobre las variables creadas (tipo, longitud, etc.)
D. Historial de comandos ingresados.
E. Barra de herramientas.
F. Barra de direcciones, se puede cambiar de directorio de trabajo fácilmente al usarla.
G. Barra de información sobre las funciones de MATLAB.

2
Sistemas de Control Automático 2017
Figura 2 Interfaz de MATLAB R2013a, identificando sus diferentes partes.

3) Archivos “.m”
Este tipo de archivos son programas o funciones que se pueden ejecutar en MATLAB, de tal forma
que varios comandos son ejecutados uno seguido del otro de forma secuencial. Durante el
desarrollo de las prácticas, se hará uso de este tipo de archivos y por ello se muestran los aspectos
más importantes para poder utilizar los archivos con extensión “.m”.
En MATLAB R2013a vaya a la pestaña “HOME” e identifique las siguientes figuras:

Figura 3 Acciones sobre un Script

Para crear un nuevo script presione “New Script” y para abrir uno previamente creado presione
“Open”. Cuando vaya a iniciar un nuevo script usted observará una imagen como la mostrada en la
figura 4.

3
Sistemas de Control Automático 2017
Figura 4 Editor de Codigo.

Cuando haya creado su código deberá presionar “Save” y darle un nombre a su archivo. Para
ejecutar el archivo, puede hacerlo de dos formas: una es presionar el botón “Run”, el cual aparece
en la figura 4, y la otra opción es ir a la línea de comandos de MATLAB y escribir el nombre de su
archivo sin la extensión “.m” al final. Por ejemplo, si crea un script para la asignación 1 al cual
llama “a1.m”, cuando vaya a ejecutarlo solo ingrese en línea de comandos de MATLAB “a1”.

4
Sistemas de Control Automático 2017
Algunos Comandos utilizados en la teoría de sistemas de control

1) Funciones de transferencia.
La función de transferencia de un sistema lineal puede definirse como la relación matemática
entre una variable de salida y la de entrada. Para determinarla, se hace uso de la ecuación de
Mason tanto en una SFG (Signal Flow Graph) como también en un diagrama de bloques, aunque es
preferible dibujar la SFG equivalente del diagrama de bloques y luego aplicar Mason. MATLAB
representa una herramienta de gran utilidad en el manejo de funciones de transferencia, pues
permite realizar distintos análisis a las mismas, como por ejemplo, la determinación de los polos y
ceros de la función, realización de análisis de estabilidad y respuesta del sistema a diferentes tipos
de señales estándar como se verá cuando sea el momento apropiado. Las funciones de
transferencia se pueden expresar tanto en forma de relación de polinomios, como en forma de
polinomios factorizados. La forma de expresarla dependerá del análisis que se desee realizar sobre
la misma. Para ilustrar dicho punto, a continuación se muestran dos formas de ingresar una
función de transferencia dada.

Ejemplo 1
Supóngase la siguiente función de transferencia, en forma de relación de polinomios:

𝑠+4
𝐻(𝑠) =
𝑠2 + 2𝑠 + 10

Existen dos formas para poder ingresar esta ecuación en MATLAB:

a. Forma numérica.
Con forma numérica simplemente se enfatiza que no se utiliza explícitamente la variable compleja
“s” en el ingreso de la función de transferencia a MATLAB para esto se usa la función “zpk” de
MATLAB la cual crea modelos denominados Zero-Polo-Ganancia. Para la creación de estos
modelos se deberán especificar los parámetros antes mencionados a la función zpk, tal como se
muestra a continuación:

>> hs=zpk(z,p,k);%Z=ceros, p=polos, k=ganancia, recuerde que “%” indica comentarios.

Para ingresar la función del ejemplo es necesario conocer previamente la cantidad de ceros y
polos y la ubicación de los mismos en el plano S, además conocer el valor de la ganancia del
sistema.
En nuestro caso podemos observar de la función de transferencia que esta contiene:
- Un cero en s=-4
- Dos polos, uno en s=-1+3j y otro en s=-1-3j
- Ganancia=1

5
Sistemas de Control Automático 2017
Este paso previo es necesario ya que la función de transferencia no puede ingresarse en la forma
en que se encuentra actualmente si no que debemos factorizar su denominador y luego podemos
pasar a ingresar la función de transferencia de la siguiente forma en MATLAB:

𝑠+4
𝐻(𝑠) =
(𝑠 + 1 + 3𝑗) ∗ (𝑠 + 1 − 3𝑗)

Al ingresar la ecuación lo hacemos de la siguiente forma, en la línea de comando de MATLAB:

La desventaja de este método es que la función de transferencia debe encontrarse factorizada en


su numerador y denominador, debiéndose realizar un paso adicional para conocer los factores del
sistema, lo cual puede realizarse con la función “zero” como mostraremos posteriormente.
Además es necesario declarar a este modelo como función de transferencia antes de utilizarlo
para realizar algún análisis sobre él, para ello haremos uso de la función “tf”, así:

>>hss=tf(hs);

Una forma alternativa para el ingreso de esta ecuación en forma “numérica” es utilizando la
función “tf” la cual crea una función de transferencia de un sistema de tiempo continuo y la
variable al cual se asigna su resultado es un objeto de tipo “TF”. Para ingresar la función de
transferencia en éste caso es necesario ingresar dos vectores que son los coeficientes del
numerador y denominador, éstos vectores se ingresan de tal forma que MATLAB “sabe” que las
potencias de la variable en cuestión decrecen de izquierda a derecha, es decir la forma general de
éstos vectores es:

>>num=[𝑎𝑛 𝑠 𝑛 𝑎𝑛−1 𝑠 𝑛−1 𝑎𝑛−2 𝑠 𝑛−2 𝑎𝑛−3 𝑠 𝑛−3 … 𝑎1 𝑠1 𝑎0 𝑠 0 ]

Para el caso del numerador y lo mismo aplica para el denominador y esto se ilustra a continuación:

>>hs=tf(num,den);%hs es un objeto de tipo TF

6
Sistemas de Control Automático 2017
Retomando el ejemplo 1 la forma de ingresar la ecuación es:

b. Forma Simbólica.

Esta forma de ingresar una función de transferencia tiene la facilidad al igual que el segundo
método de la sección anterior, de no tener que realizar ningún paso adicional si no, solo ingresar la
ecuación tal cual se nos ha proporcionado y se puede realizar cualquier análisis sobre esta función
de transferencia.

A continuación mostramos el ingreso de la ecuación del ejemplo 1 en forma simbólica:

2) Cálculo de polos y ceros de una función de transferencia.

Los polos de una función pueden definirse sencillamente como una singularidad de la misma
donde la función en cuestión no tiene derivada o como un valor que provoca que la función se
indetermine. Por otra parte un cero es un valor que evaluado en una función en particular provoca
que la misma genere un valor de cero.

Para realizar el cálculo de dichos valores especiales en una función de transferencia, se usarán las
funciones “pole” y “zero”.

7
Sistemas de Control Automático 2017
a. Función pole (sys).

Ésta función calcula los polos “p” de un modelo de sistema dinámico SISO o MIMO (múltiple
entrada múltiple salida) representado por “sys”. Cabe aclarar que “sys” tiene que ser declarado
previamente como simbólico o numérico.

Una de las principales limitaciones es que si el sistema tiene retardos internos, los polos se
obtienen por ajuste haciendo primero que todos los retardos internos sean cero de modo que el
sistema tiene un número finito de ceros. En algunos sistemas, el establecimiento de los retrasos a
cero crea lazos algebraicos singulares, que resultan en ya sea aproximaciones sin retardo
impropias o mal definidas. Para estos sistemas, la función pole devuelve un error. Este error no
implica un problema con el propio sistema modelo.

Ejemplo 2

Dada la siguiente función de transferencia, calcule sus polos.

(𝑠 − 4.2)(𝑠 − 0.25)(𝑠 + 0.004)


𝐻(𝑠) =
(𝑠 − 1)(𝑠 − 9.6)(𝑠 − 17)

Calcularemos usando MATLAB sus polos o singularidades.

8
Sistemas de Control Automático 2017
b. Función zero(sys).

Devuelve los ceros de la función “sys” el cual es un modelo dinámico SISO (una sola entrada, una
sola salida), aclarando que la función “sys” puede ser declarada como simbólica o numérica.

Para ilustrar su uso haremos uso de la misma ecuación del ejemplo 2, como se muestra a
continuación:

c. Gráficas de polos y ceros

Algo que a menudo nos interesará en el estudio de estabilidad de los sistemas de control será la
gráfica de polos y ceros de una función de transferencia, esta puede realizarse en MATLAB a través
de la función “pzmap” la cual tiene como argumento de entrada la función de transferencia de
interés. A continuación se ilustra su uso a través de un ejemplo.

Ejemplo 3

Dada la función de transferencia:

3𝑠 2 + 5𝑠 + 8
𝐻(𝑠) =
4𝑠 3 + 3𝑠 2 − 2𝑠 + 6

Trazar su diagrama de polos y ceros usando la función “pzmap” así :

9
Sistemas de Control Automático 2017
La gráfica obtenida con el código anterior es:

Algo que se debe destacar en las líneas anteriores es el uso de la función “sgrid” la cual genera una
cuadrícula en el plano s de los factores de amortiguación constantes desde 0 hasta 1 en avances
de 0.1 (Líneas que salen del origen) y de las frecuencias naturales desde 0 hasta 10 rad/s en
avances de 1rad/s (Curvas).

3) Interconexión de Sistemas.

La mayoría de sistemas reales están conformados por la interconexión de varios subsistemas más
sencillos que el sistema total, dichos subsistemas pueden conectarse en paralelo, serie,
combinaciones serie-paralelo y en lazo básico de realimentación, dichas conexiones se ilustran en
la figura 5.

a)

10
Sistemas de Control Automático 2017
b)

c)

d)

Figura 5. a) Conexión Serie de sistemas, b) conexión en paralelo de sistemas, c) conexión en serie


paralelo de sistemas, d) conexión en bloque básico de realimentación de sistemas.

Es posible utilizar comandos de MATLAB para obtener la función de transferencia del diagrama de
bloques de un sistema realizando las operaciones indicadas en el mismo, cabe mencionar que esto
no debe confundirse con la reducción de los diagramas de bloques, ya que el procedimiento que
se sigue tiene una lógica un tanto diferente a las reglas de reducción de bloques y se recomienda
al estudiante no usar éste procedimiento para resolver problemas si no únicamente para la
verificación de resultados, el procedimiento correcto para la reducción de diagramas de bloques
se explora en el libro de la serie Schaum (Ver bibliografía de la asignatura).

Las siguientes instrucciones forman parte de la Control System Toolbox de MATLAB.

>>parallel(h1,h2); siendo h1 y h2, subsistemas este comando obtiene la suma de ambos.


>>s1=serie(h1,h2);%s1=h1*h2
>>feedback(h1,h2);%h1/(1+h1*h2)

11
Sistemas de Control Automático 2017
De las Interconexiones entre sistemas anteriormente mencionadas es necesario realizar algunas
aclaraciones solo de la conexión en realimentación, ya que los otros comandos realizan
operaciones sencillas.

a. Sistemas de Control Realimentados Básicos

Son sistemas de control capaces de obtener información de su salida y compararla con su entrada
de tal forma que se puede determinar si la salida en un momento dado es la esperada para la
señal de entrada que se está considerando. Si la salida no es apropiada, el sistema ajusta la señal
de error para que la salida se adecúe al valor deseado representado por la entrada.
En MATLAB es posible crear un “lazo básico de realimentación” utilizando la función “feedback”
como se describe a continuación. Esto facilita aplicar directamente los conceptos sobre
realimentación los programas de MATLAB, también la obtención de la función de transferencia de
un sistema con realimentación negativa y, además el análisis de la respuesta en el tiempo a
algunas señales de entrada predeterminadas aplicadas al sistema. Consideremos el siguiente
ejemplo:

Ejemplo 4

Dado el siguiente sistema de lazo básico realimentado, utilice MATLAB para determinar la función
𝑌(𝑠)
de transferencia 𝑅(𝑠) del sistema representado.

+
R(s) 𝑠 2 + 3𝑠 + 4 Y(s)

𝑠+2

Se utiliza de la función feedback y el modo simbólico introducido en la sección 1 para solucionar


de la forma más sencilla este problema, teniendo en cuenta la sintaxis de la función feedback, que
es la siguiente:

>>feedback(Ganancia de trayectoria directa, Ganancia del lazo de realimentación )

12
Sistemas de Control Automático 2017
La solución para éste caso es:

Algunos aspectos importantes que vale la pena recalcar sobre la función feedback es que esta
asume que el sistema en cuestión tiene realimentación negativa, aunque también se puede
obtener la función de transferencia para un sistema con realimentación positiva al usar un
argumento adicional de la siguiente manera:

>>feedback(G(s),H(s),+1)

Donde el “+1” indica la realimentación positiva.

TOME EN CUENTA QUE:


“feedback” solo puede usarse para la representación del lazo básico de realimentación, si usted
tiene un problema con un diagrama de bloques más complicado que el ejemplo deberá realizar los
pasos necesarios para reducir su caso específico al a la forma de lazo básico realimentado.

4) Raíces de la ecuación característica (Δ(s)).

Esta ecuación caracteriza a un sistema porque sus raíces denotan la forma de la respuesta del
mismo ante una entrada aplicada. Para conocer las raíces de dicha ecuación utilizando MATLAB,
depende de la forma en que ingresemos la función de transferencia del sistema en cuestión, ya
que la ecuación característica es el denominador de la función de transferencia, esto se denota de
forma clara a continuación, con un ejemplo:

Ejemplo 5

10𝑠
𝐻(𝑠) =
𝑠2 − 3𝑠 + 5

13
Sistemas de Control Automático 2017
a. Ingresando la función de transferencia completa

Suponga que se requiere ingresar la función de transferencia total para realizar diferentes análisis
sobre ella, entonces para calcular las raíces de Δ(s) , deben calcularse los polos de H(s), así:

b. Ingresando solo Δ(s)

Suponga que solo se requiere conocer las raíces de Δ(s) para un análisis de estabilidad, entonces el
procedimiento es:

14
Sistemas de Control Automático 2017
Desarrollo de la práctica

1. Introduzca las siguientes funciones de transferencia en MATLAB de las 3 formas previamente


explicadas, tome las capturas necesarias sólo de la línea de comandos de MATLAB, para
agregar en su reporte:

𝑠 3 + 5𝑠 2 + 12𝑠 + 4
𝐻1(𝑠) =
𝑠 5 +4𝑠 3 + 2𝑠 + 10

2𝑠 3 + 6𝑠 2 + 2𝑠 + 4
𝐻2(𝑠) = 30 ×
10𝑠 5 + 5𝑠 4 + 7𝑠 3 + 16𝑠 2 + 3𝑠 + 3

2. Trace las gráficas de polos y ceros de las funciones de transferencia anteriores, utilizando
MATLAB, recuerde tomar las capturas necesarias para su reporte. Use sgrid en cada gráfica.

3. Obtenga la función de transferencia del siguiente diagrama de bloques utilizando comandos


de MATLAB de la Control System Toolbox. Para ello, desarrolle un archivo “.m”.

Dónde:
6 (𝑠 + 4) 1
𝐺1(𝑠) = , 𝐺2(𝑠) = , 𝐺3(𝑠) =
(𝑠 + 2) 𝑠2 + 10𝑠 + 12 0.1𝑠 + 1

1 3(6𝑠 + 1) 2
𝐺4(𝑠) = , 𝐺𝑐(𝑠) = , 𝐻(𝑠) =
𝑠 4𝑠 + 2 40𝑠 + 12

Para su reporte guarde el archivo .m generado y los resultados del mismo.

15
Sistemas de Control Automático 2017
Asignaciones

1. Diseñar un archivo .m para calcular y graficar los polos y ceros de las siguientes funciones.
Además brinde una breve explicación de los resultados obtenidos.

(𝑠 + 7)(𝑠 + 2)
𝐺(𝑠) = 10
(𝑠 + 2)(𝑠 + 8)(2𝑠 2 + 4𝑠 + 10)

2𝑠 3 + 4
𝐺(𝑠) =
(𝑠 + 1)(𝑠 + 2)(𝑠 2 + 2𝑠 + 6)

𝑠 3 + 16𝑠 2 + 9
𝐺(𝑠) =
𝑠 4 + 6𝑠 2 + 8𝑠 + 4

2. Para la gráfica de polos y ceros que se presenta a continuación, obtenga su función de


transferencia G(s) la cual es multiplicada por una constante k=5. Deje claros los pasos seguidos
en la obtención de G(s).

16
Sistemas de Control Automático 2017
3. A continuación se presentan los polos y ceros de diferentes funciones de transferencia.
Encontrar dichas funciones de transferencia utilizando MATLAB y trazar su respectivo
diagrama de polos y ceros. Especifique cuántos ceros estarían en el infinito (recuerde que el
número de polos debe ser igual al número de ceros en una función).

a) Polo simple: -1, -3; polo de segundo orden: -2; cero: -5.
b) Polo simple: -4 -2; ceros: 1, 3.
c) Polo simple: -4; polo de segundo orden: -1, -1; ceros: ±j.
d) Polo complejo: -2±j, -4±2j, ceros: 1, 4.

4. Obtener la función de transferencia Y/X del siguiente diagrama utilizando los comandos de la
Control System Toolbox de MATLAB (podría ser necesaria la simplificación del diagrama
mediante álgebra de bloques, previo al uso de MATLAB).

𝑠+4 𝑠+6
𝐺1 = , 𝐺2 = 𝑠 + 3, 𝐺3 =
𝑠2 + 9 4𝑠 + 4

𝑠2 + 1
𝐻1 = 𝑠 2 + 4𝑠 + 4, 𝐻2 = , 𝐻3 = 𝑠 − 2
4𝑠 3 + 2

5. Investigue el uso de la función “minreal” de MATLAB y escriba un ejemplo de su uso.

6. Investigue el uso de la función sym de MATLAB y compare el uso de ésta con la forma
simbólica desarrollada en la práctica, ¿Cuál resulta mejor para usted? Explique de forma
breve.

17
Sistemas de Control Automático 2017
7. *Problema adicional: Escriba un archivo .m que tenga como argumentos de entrada los polos,
ceros y ganancia de una función de transferencia y devuelva como respuesta la función de
transferencia correspondiente. Es decir, realice una código en MATLAB que haga la misma
función que ‘zpk(z,p,k)’. [Sugerencia: Investigue las funciones de MATLAB relacionadas a los
polinomios.]
Como requisito su archivo deberá ser capaz de devolver la siguiente función de transferencia,
por lo cual es necesario que obtenga previamente los polos y ceros de la misma:

𝑠 4 (𝑠 + 4)
𝐻(𝑠) =
𝑠 2 + 2𝑠 + 10

Fuentes de Referencia

 Schaum – Teoría y Problemas de Realimentación y Sistemas de Control.

 Benjamín Kuo – Sistemas de Control Automático, 7ma edición, Editorial Prentice Hall.

 http://ctms.engin.umich.edu/CTMS/index.php?example=Introduction&section=SystemAnalysi
s

 http://www.mathworks.com/help/pdf_doc/matlab/getstart.pdf

18
Sistemas de Control Automático 2017

También podría gustarte