Está en la página 1de 54

Documentacin y ejercicios de Matlab

INTRODUCCIN AL MATLAB
Introduccin al manejo y a la programacin de Matlab como paquete
informtico aplicado a SERVOSISTEMAS. En esta prctica destacaremos:
- Entorno de Matlab (aplicacin windows)
- Fundamentos de Matlab: Definicion de matrices, operadores, simbologa y
funciones basicas
- Acciones de interes: trabajo con polinomios, y sus funciones caracteristicas,
generacin de graficos.
- Funciones de manejo del entorno Matlab

Explicacin
El programa Matlab es un potente entorno de trabajo, diseado para el
desarrollo de aplicaciones cientfico-tcnicas.

Es un potente lenguaje industrial, orienteado a la resolucin de problemas


del mundo real (no solo tericos), pertenecientes al entrono de la ingeniera e
investigacin bsica.

Matlab es un entorno abierto, que integra computacin numrica y


visualizacin cientfica.

Matlab integra computacin matricial, anlisis numrico, proceso y anlisis de


seal, adems de grficos con un sencillo interface viusal de usuario.

Los datos bsicos son matrices y vectores que no requieren la definicin de


dimensionalidad. Las matrices en matlab pueden ser reales o complejas.

Maneja tambin una gran cantidad de funciones dentro de su


librera estndar; funciones matemticas, estadsticas y cientficas empliadas
dentro de la computacin.

Pudiendo acoplar gran cantidad de libreras ms especficas para temas


concretos, denominado Toolbox como por ejemplo:

- Control
- Procesamiento de seales
- Procesamiento de imgenes ...

Entorno de Matlab
Al ejecutar la palicacin Matlab para servosistemas, se genera una
ventana Windows de comandos Matlab y se abre una sesin de trabajo. En
esta ventana definiremos las variablse y las funciones a emplear.

El sistema retorna una impronta: >> a partir de la cual el usuario teclea los
comandos siempre y cuando la ventana de comandos de Matlab sea activa.

La ventana de comandos posee todos los elementos y caractersticas de los


objetos ventana.

La lnea de mens contiene acciones que nos permiten:

File

Crear nuevos elementos de Matlab:


Fichero de comandos (.M)
Nuevas figuras
Nuevos Modelos...
Abrir ficheros de comando (*.M)
Salvar el rea de trabajo
Ejecutar ficheros .M
Imprimir
Configurar impresora
Salida de Matlab
etc

Edit

Cortar
Copiar
Pegar
Limpiar Sesin

Options

Definir formato numrico


Activar/desactivar el eco
Activar/desactivar procesos en background
Definir las letras del entrono
Definir el editor de ficheros de texto (.M)

Windows

Ventana (permite paso de una ventana a otra)

Help

Ayuda

Fundamentos de Matlab
Los elementos a manejar sern matrices y sus datos sern reales o complejos.

Los datos se pueden asignar a nombres de variables, y por dicho nombre


accedemos a su valor
>>Variable=valor
>>Variable=expresin
o permitir la salida a pantalla.
>>expresin

El resultado de la ltima accin realizada se guarde en la variable de


entorno ans.
>> 34*4
ans =
136

Definicin de matrices:

Desde la impronta del sistema:


>> a=[1 2 3; 4 5 6; 7 8 9]

a =

1 2 3
4 5 6
7 8 9

Las filas de las mtrices se separan con ';' en la misma lnea o por finales de
lnea. Los arrays comienzan con '[' y finalizan por ']'

Los elementos de un array, pueden ser no slo nmeros sino expresiones (ej:
(1+2+3)*4):

Se accede a los elementos indidviduales del array poniendo entre parntesis el


nidice (o los que es lo mismo, su posicin dentro del array).

Ej:

a(1,1) para matrices bidimensionales

b(1) para matrices unidimensionales.

Si al final de una orden de Matlab dada, ponimos el carcter ';' el sistema


ejecuta la accin y no retorna el resultado en la pantalla.

El listado de las variables alamacenadas en el rea de trabajo las obtenemos


con los comandos:

who whos

Los datos los puede representar en distintos formatos (Men Options--


>Numeric Format).

Podeis manejar nmeros complejos entodas las opreciones y funciones:

z=3+4*i
OPERADORES DE MATLAB Y FUNCIONES ELEMENTALES
Los operadores metemticos son:

+ Suma

- Resta

* Multiplicacin

/ Divisin

\ Divisin inversa

^ Potencias

.* Multiplicacin elemento a elemento

./ Divisin elemento a elemento

.\ Divisin inversa elemento a elemento

.^ Potencia elemento a elemento

Operadores relacionales

< Menor que

<= Menor igual que

> Mayor que

>= Mayor igual que

== Igual

~= Distinto

Operadores Lgicos

& AND

| OR

~ NOT

Otros smbolos empleados

Empleado para generar rangos.


:
Generacin de vectores y de elementos de matrices.

Empleados para definir elementos de matrices.


() Indica la precedencia de operadores.
Empleado para indicar los argumentos de una funcin.

[] Definir matrices.
. Punto decimal.

... Continuacin.

Separa subelementos de matrices.


,
Separa argumentos en las funciones.

% Comentario

! Ejecucin de rdenes externas, comandos del S.O.

Transpuesta de una matriz


'
Empleado para difinir vectores cuyos componentes son cdigos ASCII.

Empleado dentro de los [] para indicar fin de fila.


;
Empleado para separar rdenes, dentro de una misma lnea.

= Asignacin.

Funciones trigonomtricas

sin Seno

cos Coseno

tan Tangente

asin Arcoseno

acos Arcocoseno

atan Arcotangente

sinh Seno hiperblico

cosh Coseno hiperblico

tanh Tangente hiperblica

asinh Arcoseno hiperblico

acosh Arcocoseno hiperblico

atanh Arcotangente hiperblica

Funciones elementales

abs Valor absoluto de un valor o magnitud compleja

angle ngulo de fase

sqrt Raz cuadrada

real Parte real

imag Parte imaginaria


conj Conjugado

exp Exponencial base e

log Logaritmo natural

log10 Logaritmo base 10

Acciones de inters
Generacin de vectores. Empleo del carcter ':'

- Genera vectores fila conteniendo nmeros entre los dos valores dados con
paso1.
>> x=1:10
x =

1 2 3 4 5 6 7 8 9 10

- Genera vectores con un paso definido:


>> x=1:.5:4
x =

1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000


>> x=6:-1:1
x =

6 5 4 3 2 1
>> x=1:pi/2:10
x =

1.5700 3.1416 4.7124 6.2832 7.8540 9.45248

TRABAJO CON POLINOMIOS

Matlab posee funciones para trabajar con. Estas funciones oprean sobre
vectores:

Dado el siguiente:

lo podemos expresar en Matlab:


>> p=[1 2 12 10]
p =

1 2 12 10

Funciones caractersticas de maenejo de polinomios:

roots Determina las races de un polinomio


>> r=roots(p)
r =

-0.5458 + 3.2727i
-0.5458 - 3.2727i
-0.9084

poly Determina el polinomio definidas las races del mismo


>> a=poly(r)
a =

1.0000 2.0000 12.000 10.0000

conv Multiplicacion de polinomios. Dados los polinomios "a(s)=s+10" y


"b(s)=s^2+2"
>> a=[1 10];
>> b=[1 0 2];
>> c=conv(a,b)
c =

1 10 2 20

deconv Divisin polinmica


>> c
c =

1 10 2 20
>> a
a =

1 10
>> u=deconv(c,a)
u =

1 0 2

residue Expansin en fracciones parciales

Dado el polinomio, la expansin en fracciones parciales ser:


Aplicando Matlab:
>> B=[1 2 3];
>> A=[2 4 5 7];
>> [r,p,k]=residue(B,A)
r =

0.2787
0.1107 - 0.1804i
0.1107 + 0.1804i
p =

-1.7263
-0.1369 - 1.4713i
-0.1369 + 1.4173i
k =

[ ]

Donde Ay B contienen los coeficientes de los polinomios en orden


descendente de s. Los residuos retornan en el vector columna 'r', los polos en
el vector columna 'p' y el trmino independiente en el vector 'k'.

Funciones para el manejo de grficos:


plot Grficos lineales
loglog Grfico logartmico en x
semilogx Grfico semilogartmico en x
semilogy Grfico semilogartmico en y
polar Grfico polar

Una vez definido el grfico podemos generar:


title Ttulo de grfico
xlabel Etiqueta eje x
ylabel Etiqueta eje y
text Posicionado arbitrario de texot
grid Lneas en los ejes (grid)

>> t=0:.01:5*pi;
>> y=sin(t);
>> plot(t,y,'-r');title('Grfico funcin
seno`);xlabel('Tiempo(t)');ylabel('Salida');grid
Las funciones empleadas se han tecleado en la impronta del sistema. Pero
Matlab nos permite generar ficheros con rdenes o funciones y ser invocadas
para su ejecucin, como cualquiera de sus rdenes definidas anteriormente.

Dichos ficheros de textom, pueden ser generados por editores sencillos o por
cualquier procesador y guardados en formato ASCII, la extensin ser .M.
Estos ficheros puden contener rdenes de Matlab, y los denominados ficheros
de procesamiento por lotoes ('scripts') o funciones generadas por le usuario.

Las acciones para editar, modificar o ejecutar un fichero .M estan el aopcin


File del men de la ventana de comandos Matlab.

A modo de ejemplo de fichero .M, edita las lneas anteriores en un fichero


llamado: primer.M

Presentacin grfica
Funciones para el manejo de grficos lineales

Ms Utilizadas:
plot(y) Trazador lineal de vecotes y matrices.
plot(x,y) Trazador x-y. Ambos x e y del mismo tamao.
Trazado x-y expresando trazo y color
plot(x,y,'<trazo><color>') trazo cualquier carcter (-, _, *, +, ... )
color r, w, g, b, ... (iniciales colores principales en ingls)
plot(x1,y1,x2,y2, .... ) Reproduce multiples grficas.
xlabel('<texto>') Escribe texto en el eje x.
ylabel('<texto>') Escribe texto en el eje y.
title('<cadena>') Escribe ttulo de grfico.
Escribe la cadena <texto> en una posicin de la grfica definida
text(x,y,'<texto>')
por x, y.
grid Activa la cuadrcula del grfico en curso.
Activa la cuadrcula del grfico con lneas de coeficiente cte y Wn
sgrid
cte.

Funciones Generales:
help Ayuda del sistema.
Borra la pantalla y posiciona el cursor en la primera fila, primera columna de la
clc
ventana.
what Muestra ficheros .M del disco.
size Determina la dimensin (tamao) de las variables.
clear Borra el rea de trabajo.
quit Termina el programa.
exit Termina el programa.

Valores Especiales:
ans Variable en la que retorna una expresin cuando no es asignada.
eps Precisin, tolerancia por defecto.
i Nmero imaginario.
j Nmero imaginario.
pi Nmero pi.
Inf Infinito.
NaN No es un nmero. Indefinido.

1. MATLAB Y LOS SISTEMAS DE


CONTROL
Manejo y programacin de Matlab como paquete informtico aplicado a
SERVOSISTEMAS.
En esta prctica destacaremos:

- Definicin de funciones de transferencia.


- Otros formatos y sus conversiones.
- Obtencin de los residuos de una f.d.t.

Explicacin
La toolbox de control contiene funciones tiles de ingenera de control. Los
sistemas de control son modelados mediante funciones de transferencia o en
formatos de variables de estado.
Las caractersticas a destacar son:

- Permite el manejo de sistemas continuos en el tiempo o sistemas


discretos.
- Tambin posee funciones de cambio de un formato o modelo a otro.
- Respuesta en el tiempo.
- Respuesta en frecuencia.
- Lugar de la races.
- etc...

En la presente prctica nos didicaremos: a definir f.d.t., a obtener otras formas


de representacin de las mismas, as como realizar reducciones de sistemas
formados por varios bloques o f.d.t.

Modelos de sistemas en matlab


Empleado para sistemas lineales invarientes en el tiempo. Los modelos a
emplear pueden ser:

- Contnuos en el tiempo

- Discretos en el tiempo
Y estos sistemas se pueden representar en Matlab de diversas formas:

1. Variables de estado

Ecuaciones diferenciales en el formato:

Donde:

u es un vector que contiene las entradas de control


x es un vector que contiene los elementos del vector estado
y es un vector que contiene las salidas
A, B, C, y D matrices que lo definen.

2. Funciones de transferencia

Es la representacin equivalente de sistemas de variables de estado empleando


la transofrmada de Laplace.

3. Ganancia-Polos-Zeros

Una funcin de transferencia puede representarse en formato factorizado de


ganancia-polos-ceros

Donde:

k puede ser vector fila que contiene la/s ganancias.


p puede ser vector columna que contiene los polos.
z es vector columna que contiene los ceros.

4. Fracciones parciales
Una f.d.t. puede tambin representarse en fracciones parciales o en formato de
residuos:

Donde:

p un vector columna contiene los polos.


r un vector columna contiene los residuos.
k contiene el plinomio independiente.

Conversin de modelos
[num, den]=ss2tf(a,b,c,d,iu) De variables de estado a funcin de transferencia.
[z,p,k]=sstzp(a,b,c,d,iu) De variable de estado a polos-ceros.
[a,b,c,d]=tf2ss(num,den) Funcin de transferencia a variables de estado.
[z,p,k]=tf2zp(num,den) Funcin de transferencia a polos-ceros.
[a,b,c,d]=zp2ss(z,p,k) Polos-ceros a variables de estado.
[num,den]=zp2tf(z,p,k) Polos-ceros a funcin de transferencia.
[r,p,k]=residue(num,den) Funcin de trasferencia a residuos.
[num,den]=residue(r,p,k) Residuos a funcin de transferencia.

Para cualquier duda sobre las fucniones de Matlab, se puede pedir


informacin de las mismas tecleando el comando help.
>> help residue

RESIDUE Partial-fraction expansion (residues).


[R,P,K] = RESIDUE(B,A) finds the residues, poles and direct term of
a partial fraction expansion of the ratio of two polynomials B(s)/A(s).
If there are no multiple roots,
B(s) R(1) R(2) R(n)
---- = -------- + -------- + ... + -------- + K(s)
A(s) s - P(1) s - P(2) s - P(n)
Vectors B and A specify the coefficients of the numerator and
denominator polynomials in descending powers of s. The residues
are returned in the column vector R, the pole locations in column
vector P, and the direct terms in row vector K. The number of
poles is n = length(A)-1 = length(R) = length(P). The direct term
coefficient vector is empty if length(B) < length(A), otherwise
length(K) = length(B)-length(A)+1.

If P(j) = ... = P(j+m-1) is a pole of multplicity m, then the


expansion includes terms of the form
R(j) R(j+1) R(j+m-1)
-------- + ------------ + ... + ------------
s - P(j) (s - P(j))^2 (s - P(j))^m

[B,A] = RESIDUE(R,P,K), with 3 input arguments and 2 output arguments,


converts the partial fraction expansion back to the polynomials with
coefficients in B and A.

Warning: Numerically, the partial fraction expansion of a ratio of


polynomials represents an ill-posed problem. If the denominator
polynomial, A(s), is near a polynomial with multiple roots, then
small changes in the data, including roundoff errors, can make
arbitrarily large changes in the resulting poles and residues.
Problem formulations making use of state-space or zero-pole
representations are preferable.

Class support for inputs B,A,R:


float: double, single

See also poly, roots, deconv.

Reference page in Help browser


doc residue

Matlab en control
Definicin de funciones de trasferencia

Manejamos las f.d.t. mediante polinomios. Un polinomio se prespresnta


mediante un vector que contiene los coerficientes del polinomio, donde el
primer componente es el coeficiente de mayor potencia de s, y el ltimo es el
coeficiente de orden 0.

se representa por : p=[1 3 5]

Los polinomios del numerador y del denominador de la f.d.t. se manteienen


separados. As dada la f.d.t.:

se definen dos polinomios: num=[1]; den=[1 3 5];

Multiplicacin de polinomios

Dados dos polinomios p1=[1 2] y p2=[3 5] los podemos multiplicar mediante


la funcin conv como en el ejemplo:
>> p1=[1 2]; p2=[3 5];
>> p=conv(p1,p2);
p =

3 11 10

Multiplicacin de bloques

Dos bloques en serie, se combinan al multiplicar los polinomios, o lo que es lo


mismo al convolucionar las dos repuestas impulso asociadas.

Dadas dos funciones:

>> g1n=[1 0]; g1d=[1 2];


>> g2n=[4 4]; g2d=[1 4 5];
>> gn=conv(g1n, g2n)
gn =

4 4 0
>> gd=conv(g1d, g2d)
gd =

1 6 13 10
>> ceros=roots(gn)
ceros =

0
-1
>> polos=roots(gd)
polos =

-2.0000 + 1.0000i
-2.0000 - 1.0000i
-2.0000

Suma y resta de funciones

La suma y resta de dos funciones el algo ms complicada, debido a que


Matlab trabaja con polinomios, tendremos que emplear lo siguiente.

Dados dos polinomios cualesquiera el polinomio suma ser:


Tendremos que recordar que al sumar dos vectores, estos tienen que tener la
misma longitud:
>> gn1=[1 0]; gd1=[1 2];
>> gn2=[4 4]; gd2=[1 4 5];
>> gn=conv(gn1,gd2)+conv(gd1,gn2)
gn =

1 8 17 8
>> gd=conv(gd1,gd2)
gd =

1 6 13 10

Funciones de reduccin de bloques para control

- serie Genera en un sistema SISO la f.d.t. de dos bloques SISO en serie.

[NUM,DEN] = series (NUM1,DEN1,NUM2,DEN2)

- parallel Genera la f.d.t. resultado de dos funciones de transferencia en


paralelo.

[NUM,DEN] = parallel (NUM1,DEN1,NUM2,DEN2)

- feedback General la f.d.t. de un sistema SISO al conectar dos bloques en


bucle cerrado, con realimentaciones positiva o negativoa.

[NUM,DEN] = feedback (NUM1,DEN1,NUM2,DEN2,SIGNO,)

- cloop Sistema como el anterior pero con realimentacin unitaria

[NUM,DEN] = cloop (NUM1,DEN1,SIGNO)

- Otras funciones

Las races de un polinomio p=[1 3 5], se obtienen mediante la funcin roots:


>> p=[1 3 5];
>> roots(p)
ans =

-1.5000 + 1.6583i
-1.5000 - 1.6583i

o guardar el resultado en un array columna llamado 'raices'


>> p=[1 3 5];
>> raices=roots(p)
raices =

-1.5000 + 1.6583i
-1.5000 - 1.6583i

Si dicho polinomio es el numeroador de una f.d.t. obtenemos los ceros de la


funcin, y si es el denominador obtenemos los polos.

Otras formas de representar las f.d.t.

Otra forma de representar las funciones de transferencia es la llamda forma de


ceros y polos.

[z, p, k]=tf2zp(num, den)

Obtenemos los factores de la f.d.t.:

donde:

z son los ceros (tantas columnas como filas en num)


p polos del sistema
k ganancia
>> num=[1 2];
>> den=[1 3 5 8];
>> [z,p,k]=tf2zp(num,den)
z =

-2
Inf
Inf
p =

-2.3283
-0.3359 + 1.8230i
-0.3359 - 1.8230i
k =

Para pasar del formato polos.ceros a f.d.t. utilizamos:

[num, den]=tf2zp(z, p, k)

donde:
z es una matriz columna con los ceros.
n es un vector columna con los polos.
k ganancia
>> z=[-2];
>> p=[-2 3 4];
>> k=5;
>> [num, den]=tf2zp(z, p, k)
num =

5 10
den =

1 -5 -2 24

Matlab dispone de una funcin que permite el clculo de residuos; es decir,


nos permiten expandir una funcin en fracciones parciales:

[r, p, ki]=residue(num, den)

donde:

r son los residuos.


n son los polos.
ki terminos independientes
>> num=[16 80];
>> den1=[1 4 8]; den2=[1 10];
>> den=conv(den1,den2);
>> [r,p,ki]=tf2zp(num,den)
r =

-1.1765
0.5882 - 1.6471i
0.5882 + 1.6471i
p =

-10.0000
-2.0000 + 2.0000i
-2.0000 - 2.0000i
k =

[ ]

Si se desea determinar la magnitud y el ngulo que forma los residuos,


emplearemos las funciones abs(), y angle():
>> magr=abs(r)
magr =
1.1765
1.7489
1.7489
>> angr=angle(r)*180/pi
angr =

180.0000
-70.3462
70.3462

Ejercicios
1. Determinar en Matlab las siguientes f.d.t.

2. Visualizar las f.d.t. anteriores en otros formatos, comentar la funcin


empleada y describe los elementos que los definen:

a) De variables de estado
b) Polos-ceros
c) Residuos

3. Comentar las siguientes lneas y definir sus elementos:


num=[4 11 9];
den=[1 6 11 6];
[r,p,ki]=residue(num,den)

4.Determina el bloque final de los sistemas siguientes


Donde:

5. Definir la accin que realizan los comandos


a) who
b) whos

2. MATLAB Y FUNCIONES
TEMPORALES
Definir la forma de representacin de funiciones temporales, en el entorno
Matilab, as como la visualizacin en la pantalla de dichas funciones.

- Introduccin de funciones temporales.


- Funicones tiles.
- Visualizacin de funciones temporales.
- Represetnacin en fracciones parciales para obtener la funcin
temporal.

Funciones tiles
FUNCIONES TILES

clock:

Sentencia que devuelve el ao, mes, da, hora, minutos y segundo. Retorna
por tanto un vector fila de 6 elementos, en formato decimal.
>> clock=[ao mes da hora minutos segundos]

date:

Genera la fecha en curso


>> date

exp:

Funcin exponencial
>> exp(expresion)

sqrt:

Funcin raz cuadrada


>> sqrt(expresion)

'i' 'j':
Uso indistinto para la expresin de nmeros complejos.
>> 1+4i
>> 1+j*sqrt(3)
se puede introducir como:
x=2*exp((pi/3)*j) x=1+4*i

En la introduccin de estos nmeros, no introducir el carcter espacio entre


sus elementos, ya que en tal caso representa nmeros distintos.

Operadores
+ Suma.
- Resta.
* Multiplicacin.
/ Divisin.
\ Divisin inversa.
^ Potencia
.* Multiplicacion elemento a elemento.
./ Divisin elemento a elemento.
.\ Divisin inversa elemento a elemento.
.^ Potencia elemento a elemento

Recordar que Matlab es 'case sensitive', es decir diferencia entre maysculas


minsculas. El comando casesen off hace que no lo sea.

REPRESENTACIN DE FUNICONES

Grficos x-y

Sea 'x' e 'y' dos vectores de la misma longitud


>> plot(x,y)

Dibuja los valores de 'y' contra los valores de 'x'.

Para dibujar varias funciones, empleamos el comando plot con mltiples


argumentos.
>> plot(x1,y1, x2,y2, ...)

Grfico x-y definiendo tipo de lnea - tipo de punto (-, --, :, -3, 3, +, *, o, x) y
color de la misma (r, g, b, w)
>> plot(x,y,'+g')
Podemos dibujar varias curvas con varias lneas de plot (x,y), pero en este
caso se emplea el comando hold, para mantener el grfico anterior de la
ventana grfica y as evitar el borrado de las misma (hold on, hold off)
>> plot(x1,y1);
>> hold on;
>> plot(x2,y2);
>> plot(x3,y3);
>> hold off;

CAMBIO DE RANGO DE EJES


axis([Xmin Xmax Ymin
Donde las variables son los rangos deseados para el grfico.
Ymax])
axis() Retorna el estado de ejes actual en el vector V.
grid Lneas de grid.
title('cadena') Ttulo al grfico.
xlabel('cadena') Texto eje x.
ylabel('cadena') Texto eje y.
text(x1,y1,'cadena') Escribe texto en cualquier lugar de la pantalla grfica, dado por sus coor

Ejemplo:
>> t=0:0.05:10;
>> y=sin(t);
>> z=cos(t);
>> plot(t,y,'o',t,z,'x')
>> grid
>> title('Curvas de las funciones Seno y Coseno')
>> xlabel('segundos')
>> ylabel('y=Seno t; z=Cos t')
>> text('3,0.45, 'seno t')
>> text(0.8,-0.3, 'coseno t'

Otros grficos
loglog Grfico logartmico
semilogx Grfico semilogrtmico eje x
semilogy Grfico semilogrtmico eje y
bar(x) Grfico de barras
stairs Similar al barras, sin lneas verticales

EXPRESIN EN FRACCIONES PARCIALES

Funcin residue
Una f.d.t. puede tambin representarse en fracciones parciales o en formato
de residuos:

donde:

p un vector colulmna que contiene los polos

r un vector columna que contiene los residuos

k contiene el polinomio independiente

Ejercicios
1. Representacin de funciones en el tiempo.

Teclear en Matlab
>> t = 0:.05:10;
>> x2=exp(-
2.5*t).*(151000*sin(1.32*t)+30200+sin(1.32*t+41.30*pi/180));
>> plot(t,x2);grid;xlabel('Tiempo');ylabel('Amplitud');

Comentar la accin realizada por cada lnea

2. Visualizacin de varias grficas y de distitnos elementos dentro de la


misma ventana grfica:
>> t=(0:500)/500;
>> e1=1.245*exp(-7.21*t).*sin(9.72*t+2.21);
>> e2=1.1*exp(-7.22*t).*sin(15.5*t+2.01);
>> e3=1.8*exp(-7.22*t).*sin(4.59*t+2.58);
>> plot(t,e1,'-r',t,e2,'-g',t,e3,'-b');grid;
>> xlabel('t');ylabel('e(t)');
>> hold on;
>> plot([.7 .8],.9*[1 1]+.02,'-r'); text(.8,.9,'E1');
>> plot([.7 .8],.7*[1 1]+.02,'-g'); text(.8,.7,'E2');
>> plot([.7 .8],.5*[1 1]+.02,'-b'); text(.8,.5,'E3');
>> hold off;

Comentar cada lnea


3. Dada la siguiente funcin:

Determinar la funcin en el tiempo de salida del mismo ante una entrada


impulso; para ello seguir los siguientes pasos:

a) Emplenado sus residuos determinar los valores de los mimos y expresar la


funcin con el nuevo formato.

b) Representar dicha salida en un grfico empleando los datos generados por


la orden anterior, y sus correspondientes antitransformadas.

4. Expresar en fracciones parciales las funicones, y determinar la fucnin c(t)


ante un impulso:

5. Comenta la accin realizada en cada una de las siguientes lneas


>> t=0:.01:10;
>> escalon=4.*ones(1:size(t,2));
>> rampa=4.*t;
>> parabola=3*t.^2/2;

a) Determinar que genera la funcin ones y la funcin size


b) Representa en un grfico las funciones dadas

3. MATLAB SISTEMAS DE PRIMER


ORDEN
Introduccin de sistemas de primer orden, a las distintas formas de
represetnacin y al clculo de su respuesta en el tiempo ante diferentes tipos
de entrada.

- Caractersticas de los sitemas de primer orden


- Visualizacin de respuestas impulso y escaln
- Clculo de valores respuesta ante cualquier seal de entrada
- Parmetros que definen un sistema d eprimer orden

Formato general de sistemas de primer


orden
FORMATO GENERAL DE SISTEMAS DE PRIMER ORDEN

Parmetros a destacar:

T = Constante de tiempo.

Parmetro de la respuesta temporal:

Tiempo de establecimiento ts.


ts = 3T

MATALB Y EL ANLISIS EN EL TIEMPO

Anlisis de funciones. Respuestas en el tiempo.

Matlab proporciona las herramientas necesarias para simular sistemas de


control con distintas entradas:
[x,y]=impulse(num,den,t) Calcula respuesta impulso de un sistema lineal continuo.
[x,y]=step(num,den,t) Calcula la respuesta escaln de un sistema lineal continuo.
[x,y]=lsim(num,den,u,t) Respuesta del sistema lineal continuo a una entrada dada por u.
Cada fila de 'u' es un valor de la entrada. El vector 't' especifica eje de tiempo
simulacin

Donde:
- x es un vector columna que contiene los valores de la respuesta de
salida.
- y es un vector columna que contiene los estaods intermedios.
- t es un vector fila que contiene los valores de tiempo para los que se
calcula la salida

Se tienen que cuplir que el nmero de columnas de t conincide con es nmero


de filas de 'y' e 'x'.

Formato:

y=lsim(num,den,u,t)

Donde:

- u es una matriz formada por tantas columnas como entradas al sistema


y donde cada fila corresponde a un punto en el tiempo t.
- t es el eje de tiempo para la simualcin; suele ser un rango de vlores
t=0:0.001:3. u y t poseen la misma dimensin..
- y retorna la salida.

Distintas formas de visualizar respuestas en el tiempo para cualquier


sistema.
impulse(num,den)
step(num,den) Visualiza la salida en una ventana grfica, pero no guarda en vectores los val
lsim(num,den,u)
Y=impulse(num,den,t)
Y=step(num,den,t) Genera vector de salida 'y' para unos valores de tiempo dados en 't'.
Y=lsim(num,den,u,t)
[y,x]=impulse(num,den,t)
[y,x]=step(num,den,t) Genera la salida y unos valores intermedios para unos valores de tiempo dado
[y,x]=lsim(num,den,u,t)
[y,x,t]=impulse(num,den)
[y,x,t]=step(num,den) Se genera incluso, el vector con los valores de tiempo, que emplea la funcin
[y,x,t]=lsim(num,den,u)

Por ejemplo si definimos una seal rampa:


>> num=[1];
>> den=[1 2 3];
>> t=0:.001:2;
>> u=t*4;
>> y=lsim(num,den,u,t);
>> plot(t,y),xlabel('tiempo'),ylabel('Salida');

La funcion axis permite especificar el rango de los ejes del grfico

axis([Xmin Xmax Ymin Ymax])

Ejercicios
1. A) Calcular la respuesta a un impulso y a un escaln para los sistemas:

Donde K=1 y T posee los valores: 1, 3, 6, 9

- Obtener en un slo grfico las respuestas a un impulso de las 4 funciones.

- Comentar los resultado, y marcar sobre la grfica los prametros


caractersticos de los mismos.

B)Para los sistemas donde K=2 y T=1, 4, 5, 7

-Obtener las respuestas a un impulso de las cuatro funciones y


mostralas en un solo grafico.

2. Dada la siguiente respuesta a un escaln de un sistema determinar la


funcin de transferencia. (Comprobar que la respuesta es igual a la dada)
3. Calcular la respuesta a una parbola

para los siguientes sistemas:

Visualizar la seal de salida y la seal de entrada en un mismo grfico.

4. Comentar las respuestas a un escan para distintos valores de K=1,3,5 para


la funcin:
4. MATLAB SISTEMAS DE SEGUNDO
ORDEN
Introduccin de sistemas de segundo orden, a las distintas formas de
representacin y al clculo de su respuesta en el tiempo ante diferentes tipos
de entrada.

- Caractersticas de los sitemas de segundo orden


- Visualizacin de respuestas impulso y escaln
- Anlisis dinmico de los mismos

Formato general de sistemas de segundo


orden
FORMATO GENERAL DE SISTEMAS DE SEGUNDO ORDEN

Parametros:

- Wn
-d

MATLAB Y EL ANALISIS EN EL TIEMPO

Anlisis de funciones. Respuestas en el tiempo.

Emplea las mismas funciones que en los sistemas de primer orden.

Obtenida la respuesta en tiempo, podemos determinar sus caractersticas de


una forma sencilla mediante su respuesta. Decho anlisis es aplicable tambin
a sistemas de primer orden u orden superior.

Otras funcines que son de utilidad:


[Wn,Z]=damp(A) Calcula la frecuencia natural y el coeficiente de amortiguamiento de A.
[f,i]=max(y) Determina el mayor elemento contenido en el vector 'y' retorna en 'f' dicho valor y
[f,i]=min(y) Determina el menor elemento contenido en el vector 'y' retorna en 'f' dicho valor y
Determina las filas y/o columnas del elemento que cumple la condicin dada. Los o
[f,c]=find(condicin)
relacioneales.

>>f=find(y>=2);
Dado un vector coumna 'y, retorna un vector f que contiene los ndices del
vector y que cumplen la condicin de ser mayor o igual a 2.

Por ejemplo si definimos una seal rampa, podemos localizar uno o varios
puntos:
>> num=[1];
>> den=[1 2 3];
>> t=0:.001:2;
>> u=t*4;
>> y=lsim(num,den,u,t);
>> plot(t,y),xlabel('Tiempo'),ylabel('Salida');
>> maximo=max(y);
>> t(maximo)
>> v2=find(y>=.3 & y<3.2)
>>t(v2(1))

Dada un f.d.t. podemos obtener la frecuencia natural y el coeficiente de


amortiguamiento del sistema.
>> num=[1];
>> den=[1 2 4];
>> [wn,c]=damp(den)
wn =

2
2
c =

0.5000
0.5000

Para realizar el clculo de la estabilidad, no te4nemos ms que determinar las


races de la ecuacin caracterstica, es decir, del denominador de la f.d.t. final
del sistema.

Para ello se utiliza la instruccin roots, que calcula las races de un polinomio
dado.

raices=roots(den)

Esta funcin computa el plinomio cuyos coeficientes estn en el vector 'den',


de tal forma que si P son los coeficientes del mismo y tiene N+1 componentes
el polinomio es P(1)*s^N + ...+ P(N)*s + P(N+1).
Ejercicios
1. Los siguientes sistemas de control sometidos a un escaln unidad generan
una salida:

Obtener la funcin de transferencia.

2. Dado un sistema con realimentacin unitaria y con la siguiente funcin en


cadena directa.

Determinar:

a) Wn
b) d
c) Respuesta a un escaln
d) Caractersticas dnmicas del sistema sobre la grfica, y del
anlisis de su respuesta (contrastar con las obtenidas
matemticamente).

3. Dadas las sisguentes f.d.t. en cadena directa:


y con realimentacin unitaria, calcular:

a) Races del sistema en lazo cerrado


b) Determinar si son o no estables
c) Si es estalbe comprobar grficamente si se puede emplear una
aproximacin de orden menor, y si lo es calcular sus
parmetros.

4. Dado el siguiente sistema, obtener la respuesta a un escaln, y calcular


sobre la grfica la frecuencia de oscilacin de la misma.

5. Determinar si los siguiente sistemas son o no estables:

5. LUGAR DE LAS RACES


Una introduccin al lugar de las races de Matlab, al empleo de las lneas de
grid y a la obtencin de valores caractersticos.

- Obtenicin de la f.d.t. en cadena abierta.


- Visualizacin del lugar de las races.
- Lneas de ayuda en el grfico
- Relacin con la respuesta temporal

Lugar de las races. Clculo y


visualizacin
rlocus

Obtiene el lugar de las races de la ecuacin caracterstica:

1+K [num(s) / den(s)] = 0

Formato general:

raices=rlocus(num,den,k)

Otras formas de empleo


Dibuja en una ventana grfica el desplazamiento de las races del sistema, Para d
rlocus(num,den)
de K
r=rlocus(num,den) Guarda en 'r' las races del sistema.
[r,k]=rlocus(num,den) Retorna las races y los valores de 'k' empleados

rlocus(num,den,k) Lugar de las races para unos valores de 'k' definidos como un vector fila en orde

r=rlocus(num,den,k) Guarda en 'r' las races para unos valores de 'k' dados.

rlocfind

Busca la ganancia (K) del lugar de las races dado para una raz dada.

[K, polos]=rlocfind(num,den)

Nos permite situar el raton sobre un punto del lugar de las races del grfico
activo en ese momento, y al hacer click con el ratn, nos retorna en la ventana
de comandos:

- Las coordenandas del punto seleccionado

- El valor de K ganancia para ese punto

- Todas las races del mismo, para ese valor de K.

sgrid

Genera en el plano 's', lneas de grid para un lugar de las races.

sgrid(coe,Wn)

Las lneas generadas, son para un coeficiente de amortiguamiento dado 'coe' y


lneas para una frecuencia natural dada 'Wn'. Los valores pueden ser matrices
unitarias o vectores fila con rangos de valores.
sgrid('new')

Lmpia la ventana grfica, y situa lneas de coeficiente y WN, ctes. Ejemplo


de empleo:
>> sgrid('new')
>> hold on
>> rlocus(num,den)

Ejercicios
1. Determinar el lugar de las races del siguiente sistema:

Para los valores de 'a', siguientes: 0.5, 2, 10

Sobre la grfica los valores de K y las races, que hacen el sistema inestable,
para los tres casos:

Valor de a Valores de K estable Valores de K instable Races para valores lmite

0.5

10

a) Comentar las grficas obtenidas.

b) Determinar el valor de K que genera un coeficiente de amortiguamiento de


0.5 con a=2, as como determinar la ecuacin caracterstica para dicho valor.

2. Dado los siguientes sistemas de control, obtener el lugar de las races.


Comentar el resultado.

a)
b)

c)

d)

6. ANLISIS EN FRECUENCIA
Diagramas en el anlisis en frecuencia, creacin de los diagramas de Bode,
Nyquist, Nichols.
Funciones a emplear:

- Bode
- Nyquist
- Nichols
- Axis
- Logspace
- Ngrid

Funciones para el anlisis en frecuencia


En los anlisis en frecuencia podemos generar los valores de frecuencia para
los que deseamos conocer la respuesta del sistema, o bien emplear la que
genere el sistema por defecto.

logspace

Genera un vector con espaciado logartmico. Posee varias formas de uso;


as logspace(a1,a2) genera una fila de 50 puntos espaciados logartmicamente
entre las dcadas 10^a1 y 10^a2 y en el otro formato se define el nmero de
puntos logspace(a1,a2,n) genera 'n' puntos.

axis
axis([Xmin Xmax Ymin Ymax])

Donde Xmin, Xmax, Ymin, Ymax son los rangos deseados para el grafico. La
variacin de estos valores permite hacer un zoom in/out de una grafica.

>> V=axis( ) Retorna el estado de ejes actual en el vector V.

abs

Funcin valor absoluto: abs(expresin), si expresion es un numero complejo,


retorna el mdulo del mismo (su magnitud).

A=[2+2*i 1+3*i]
abs(A)
2.8284 3.1623

angle

Angle(expresin), retorna el ngulo de fase de los elementos de expresin.


Entre los valores de -pi y de pi.

angle(A)
0.7854 1.2490

La magniutd y la fase de un numero complejo: z=x+yi=rei(theta) ser:

r=abs(z)
theta=angle(z)
con lo que: z=r*exp(i*theta)

bode

Obtiene la respuesta en frecuencia de sistemas lineales contnuos en el tiempo.


bode(num,den) Genera el grfico de Bode de una funcin de transferencia da
bode(num,den,W) El vector W contiene las frecuencias a generar.
[magnitud,fase,W)=bode(num,den,W) No genera grfico de salida, pero permite analizar los valores

nyquist

Obtiene la respuesta en frecuencia de sistemas lineales contnuos en el tiempo.


nyquist(num,den) Genera el grfico de Nyquist de una funcin de transferenci
nyquist(num,den,W) El vector W contiene las frecuencias a generar.
[magnitud,fase,W)=nyquist(num,den,W) No genera grfico de salida, pero permite analizar los valor

nichols

Obtiene la respuesta en frecuencia de sistemas lineales contnuos en el tiempo.


nichols(num,den) Genera el grfico de Nichols de una funcin de transferenci
nichols(num,den,W) El vector W contiene las frecuencias a generar.
[magnitud,fase,W)=nichols(num,den,W) No genera grfico de salida, pero permite analizar los valore

Con la funcin ngrid podemos presentar el grid correspondiente al grfico.

margin

Determina los mrgenes de fase, de ganancia y las frecuencias de cruce


respectivas.
[Mg,Mf,Wcg,Wcf]=margin(num,den)
[Mg,Mf,Wcg,Wcf]=margin(num,den,W) El vector W contiene las frecuencias a generar.

Sin parmetros los marca en el grfico, y visualiza los valores.

Para obtener ms informacin sobre las mismas consultar la ayuda del


sistema.

Ejercicios
1. Dado el siguiente sistema

a) Obtener el diagrama de Bode de G(s).


b) Realizar sobre la grfica obtenida la aproximacin por asntotas de forma
manual.

c) Lo mismo para la siguiente funcin:

d) Este sistema, es de fase mnima, o no?. Comentar

2..Dados los sisguientes sistemas y aplicando el criterio de estabilidad de


Nyquist determinar:

a) Son estables en cadena abierta?

b) y en cadena cerrada?

Comentar.

3. Obtener el diagrama de Nyquist para los sitemas y determinar si son


estables o no.

a)
b)

c)

4. Diagrama de Nichols de la f.d.t. en cadena abierta, con realimentacin


unitaria: (emplear ngrid y nichols)

7. EL CONTROLADOR PID BSICO


EL CONTROLADOR PID BSICO

Un controlador PID se caracteriza por combinar tres acciones (P, I y D)


mediante el siguiente algoritmo de control:

Este algoritmo est considerado como el PID estndar por la ISA (Instrument
Society of America). A continuacin se resumen los trminos bsicos:

- Accin proporcional (P): es la accin que produce una seal


proporcional a la desviacin de la salida del proceso respecto al punto
de consigna.
- Accin integral (I): es la accin que produce una seal de control
proporcional al tiempo que la salida del proceso ha sido diferente del
punto de consigna.
- Accin derivativa (D): es la accin que produce una seal de control
proporcional a la velocidad con que la salida del proceso est
cambiando respecto del punto de consigna.
- Constante de tiempo integral (Ti): es el tiempo, generalmente
expresado en minutos, que debe transcurrir para que la accin integral
alcance (iguale o repita) a la accin proporcional.
- Constante de tiempo derivativa (Td): es el intervalo de tiempo,
generalmente expresado en minutos, en el que la accin derivativa
adelanta a la accin proporcional.

Cada accin de control tiene una respuesta caracterstica:

- La accin proporcional vara instantneamente con el error y alcanza


un valor estacionario cuando lo alcanza ste.
- La accin integral tiene en cuenta la historia pasada del error y se
anula cuando se hace cero.
- La accin derivativa predice los cambios en el error y se anula cuando
alcanza un valor estacionario.

Controlador P
CONTROLADOR P

Un ejemplo tpico de control proporcional se muestra en la figura 1, donde se


observa la conducta de la variable controlada despus de un salto en escaln
unitario en el punto de consigna. Se observan los siguientes hechos
caractersticos cuando aumenta la ganancia Kp del controlador:

1. El error en estado estacionario disminuye.


2. El proceso responde ms rpidamente.
3. La sobreoscilacin y las oscilaciones aumentan.
Cdigo Matlab empleado para la obtencin de la grfica regulador P

%REGULADOR P;
%Funcion de transferencia ejemplo del sistema en cadena abierta;
num=1;
den=conv([10 1],[5 1]);
sys=tf(num,den);
%Regulador Proporcional;
Kp=2;
sysa=Kp*sys;
%Sistema equivalente realimentado;
[sysc]=feedback(sysa,1);
hold on;
%Respuesta del sistema;
step(sysc);
title('Regulador P');

Accin Integral PI
LA ACCIN INTEGRAL PI

Esta accin elimina el problema del error en estado estacionario frente a


perturbaciones de carga constante. Por eso se utiliza para determinar de forma
automtica el valor correcto de u0. Adems se usa para corregir el error en
rgimen permanente.

Otra de las razones intuitivas que ayuda a comprender los beneficios de la


accin integral es que, cuando se introduce, la existencia de un pequeo error
durante un intervalo prolongado de tiempo puede dar lugar a un gran valor de
la seal de control. El algoritmo de la accin integral es el siguiente:

Las propiedades de la accin integral se muestran en la figura 2 en la que se


puede ver la simulacin de un controlador PI. La ganancia proporcional se
mantiene constante y se vara el tiempo integral.

El caso particular en el que Ti es infinito se corresponde con el control P. Al


introducir la accin integral se observa que:
1. El error en estado estacionario se elimina cuando Ti tiene valores
finitos.
2. Cuando Ti disminuye (mayor accin integral) la respuesta se hace cada
vez ms oscilatoria, pudiendo en ltimo trmino llegar a inestabilizar el
sistema.

Cdigo Matlab empleado para la obtencin de la grfica controlador PI

%controlador PI;
%Funcion de transferencia ejemplo del sistema;
num=1; den=[10 1];
sys=tf(num,den);
Kp=10; Ki=30;
%Funcion de transferencia del controlador PI;
numc=[Kp Ki];
denc=[1 0];
sysc=tf(numc,denc);
%Sistema equivalente realimentado;
numa=conv(num,numc);
dena=conv(den,denc);
sysa=tf(numa,dena);
[sysac]=feedback(sysa,1);
step(sysac);
title('controlador PI');

Accin Derivativa PD
LA ACCIN DERIVATIVA PD

Uno de los problemas del controlador PI y que limita su comportamiento es


que solo considera los valores del error que han ocurrido en el pasado, es
decir, no intenta predecir lo que pasar con la seal en un futuro inmediato.

La accin derivativa realiza ese tipo de compensacin, que se basa en


introducir una accin de prediccin sobre la seal de error. Una forma sencilla
de predecir es extrapolar la curva de error a lo largo de su tangente. El
algoritmo de la accin derivativa es el siguiente:
El parmetro Td es el tiempo derivativo y puede interpretarse como un
horizonte de prediccin. Al basar la accin de control en la salida predicha, es
posible mejorar el amortiguamiento de un sistema oscilatorio. En la figura 3
se pueden observar las propiedades de un controlador de este tipo.

En la figura anterior se puede ver que las oscilaciones se amortiguan cuando


se utiliza la accin derivativa. A medida que Td aumenta la salida se va
aproximando cada vez ms a una exponencial.

Una desventaja importante de la accin derivativa es que hay que ser muy
cuidadoso a la hora de escoger el valor del tiempo derivativo. En las
instalaciones industriales es frecuente desconectar la accin derivativa (hacer
Td = 0), aunque en otras ocasiones est muy recomendada. Un ejemplo es el
caso de procesos multi-capacitivos, como puede ser el control de temperatura.
Debido a la inercia del sistema es importante saber hacia donde se est
evolucionando. La accin de calentamiento tiene que pararse a tiempo. Una
conduccin lenta de calor puede significar que, incluso despues de
desconectar el sistema de calentamiento, la temperatura continue aumentando
durante mucho tiempo. Durante este perodo la temperatura puede sobrepasar
considerablemente su punto de consigna si no se ejerce una accin de control
cuidadosa. Otro ejemplo donde es importante predecir el error es cuando hay
grandes retardos o tiempos muertos en el proceso. En esta situacin,
desgraciadamente, la accin derivativa no suele dar una buena prediccin y
hay que utilizar controladores especficos (basados en el predictor de Smith o
en las estrategias de control predictivo) para solucionar el problema. Si no se
tiene acceso a un controlador de este tipo, en estos casos es mejor utilizar un
controlador PI.

Cdigo Matlab empleado para la obtencin de la grfica controlador PD

%controlador PD;
%Funcion de transferencia ejemplo del sistema;
num=1;
den=conv([10 1],[5 1]);
Kp=10;
Kd=10;
numc=[Kd Kp];
%Funcion de transferencia del controlador PD;
numa=conv(num,numc);
sysa=tf(numa,den);
[sysac]=feedback(sysa,1);
step(sysac);
title('controlador PD');

El Controlador PID
EL CONTROLADOR PID

El controlador PID combina en un nico controlador la mejor caracterstica de


estabilidad del controlador PD con la ausencia de error en estado estacionario
del controlador PI.

La adicin de la accin integral a un controlador PD es esencialmente lo


mismo que aadir dicha accin a un controlador P.

La tabla 1 muestra cmo varan la estabilidad, la velocidad y el error en estado


estacionario cuando se modifican los parmetros del controlador. Es necesario
sealar que esta tabla contiene un conjunto de reglas heursticas y, por tanto,
hay excepciones.

Kp aumenta Ti disminuye Td aumenta


Estabilidad se reduce disminuye aumenta
Velocidad aumenta aumenta aumenta

Error est. estacionario no eliminado eliminado no eliminado

Ejercicio ejemplo controladores


EJERCICIO EJEMPLO CONTROLADORES

Vamos a analizar los tipos de controladores en este ejercicio basndonos en el


siguiente sistema de masa, resorte y amortiguador:

Donde:

M = 1 Kg

b = 10 Ns/m

K = 20 N/m

F(s) = 1

La ecuacin del sistema es:

Mx + bx + Kx = F

Por lo tanto su transformada de Laplace ser:

Ms2X(s) + bsX(s) + KX(s) 0 F(s)

De este modo la Funcin De Transferencia entre la salida (desplazamiento


X(s) ) y la entrada F(s) ser:
X(s) / F(s) = 1 / Ms2 + bs + K

A) obtener la grfica de la salida del sistema en lazo abierto ante una entrada
escaln unitario:

X(s) / F(s) = 1 / s2 + 10s + 20

A-1) Representar grficamente la respuesta del sistema ante un escaln


unitario

A-2) Comentar la grfica obtenida

B) Si la f.d.t. en lazo cerrado con un controlador P del sistema anterior es:

X(s) / F(s) = Kp / s2 + 10s + (20 + Kp)

Situaremos el valor de la ganancia proporcional en un valor de 300:

B-1)Obteber la respuesta del sistema con controlador P a un escaln

B-2)Comentar el resultado y compararlo con el caso anterior

C)La funcin de transferencia en lazo cerrado con un controlador PD del


sistema que estamos estudiando es la siguiente:

X(s) / F(s) = KDs + Kp / s2 + (10 + KD)s + (20 + Kp)

mantenemos el valor de la ganancia proporcional y haremos que KD sea igual


a 10

C-1) Representar la grfica de la respuesta del sistema con regulador PD ante


un escaln unitario

C-2)Comentar la grfica obtenida y los cambios con respecto a los casos


anteriores

D)En el caso de asociar un controlador PI a nuestro sistema, la f.d.t. del


sistema resultante ser:
X(s) / F(s) = Kps + K I / s3 + 10s2 + (20 + Kp)s + K I

el valor deseado de KI es 70 y tendremos que reducir el valor de la ganancia


proporcional, ya que el regulador integral tambien reducira el tiempo de
subida, y aumentar la sobreoscilacin como lo hace el proporcional,
tomaremos entonces un valor de 30

D-1)Representar grficamente la salida del sistema estudiado con controlador


PI, si la entrada es un escaln unitario

D-2)Analizar la grfica obtenia respecto a las anteriores

E)Nuestro sistema con un controlador PID tendra una funcin de transferencia


asi:

X(s) / F(s) = KD s2 + Kps + K I / s3 + (10 + KD)s2 + (20 + Kp)s + K I

E-1)Si la entrada es un escaln unitario, obtener la grfica de la salida de


nuestro sistema bajo la accion de un controlador PID

E-2)Comentar los resultados, analizando las mejoras obtenidas en la respuesta


de nuestro sistema.

8. MODELADO Y CONTROL DE UN
MOTOR DE CORRIENTE CONTINUA
Ejercicio 1 "MODELADO Y CONTROL
DE VELOCIDAD DE UN MOTOR DE
CC"
MODELADO Y CONTROL DE VELOCIDAD DE UN MOTOR DE CC
Dado un motor de CC con las siguientes caractersticas:

J=0.01 Kg/m2
b=0.1 Nm seg/rad
Km=Kt=0.01Nm seg/rad;
R=1ohmio
L=0.5H;

1.- Obtener la funcin de transferencia del sistema en cadena abierta (w/V).


Observar la respuesta del sistema ante un cambio de consigna de escaln
unitario 1V.

Es estable el sistema en cadena abierta?


Calcular Tp, Ts y Mp. Obtener, si es posible, el sistema de primer orden
equivalente.

2.- Realimentar unitariamente el sistema, representar grficamente el comportamiento


del sistema ante un cambio de consigna de escaln unitario 1V, con las siguientes
acciones de control:

a) Regulador P (Proporcional).

- Kp=1
- Kp=5
- Kp=10
- Kp=100

b) Regulador PI (Proporcional-Integral)

- Kp=100; Ki=200; Kd=1;

c) Regulador PID (Proporcional-Integal-Derivativo)

- Kp=100; Ki=200; Kd=10;


Calcular para cada caso Tp, Ts, Mp as como errores de posicin en rgimen
permanente

Ejercicio 2 "MODELADO Y CONTROL


DE POSICIN DE UN MOTOR DE
CC"
MODELADO Y CONTROL DE POSICIN DE UN MOTOR DE CC

Dado un motor de CC con las siguientes parmetros:

J=3.2284E-6Kg/m^2
b=3.5077E-6Nm seg/rad
Km=Kt=0.0274Nm seg/rad;
R=4ohmio;
L=2.75E-6H;

1.- Obtener matemticamente la funcin de transferencia del sistema en


cadena abierta ( 'thetha' /V). Observar la respuesta del sistema ante un cambio
de consigna de escaln unitario 1V.

Es estable el sistema en cadena abierta? En caso afirmativo calcular Tp, Ts y


Mp

2.- Realimentar unitariamente el sistema, representar grficamente el


comportamiento del sistema ante un cambio de consigna de escaln unitario
1V, con las siguientes acciones de control:

a) Accin proporcional

- Kp=1.7
- Kp=10
- Kp=20
- Kp=100

b) Regulador PI

- Kp=1.7; Ki=20;
- Kp=17; Ki=200;

c) Regulador PID

- Kp=17; Ki=200; Kd=0.15;

Calcular para cada caso Tp, Ts, Mp as como ep en rgimen permanente.


Analizar los resultados.

3.- Comportamiento del sistema ante una perturbacin unitaria.

Si modelamos una perturbacin unitaria en el eje del motor como:

Analizar el comportamiento del sistema con cada uno de los reguladores del
apartado anterior.

Con alguno de los reguladores anteriores se corrige la perturbacin?