Está en la página 1de 19

Pr

actica 1: Introducci
on al uso de matlab y simulink para
Control Autom
atico
o

Control Automatico, 2 GIA


Esta pr
actica permitira que el alumno se familiarice con las herramientas disponibles en matlab
para el Control Autom
atico, entre las que estan el denominado Control Toolbox y el simulink.
Al mismo tiempo, la practica servira para que el alumno realice algunos ensayos relacionados
con funciones de transferencia y respuestas temporales.
Este enunciado incluye cierta cantidad de trabajo previo, que el alumno debera llevar a cabo
con anterioridad a la sesi
on de la practica en el Centro de Calculo. Dicho estudio previo comprende la lectura detallada de las secciones 1 y 2, para la familiarizacion con los comandos de
matlab y herramientas de simulink que se usar
an, as como la realizaci
on de los subapartados
denominados Trabajo Previo que pueden encontrarse en las dem
as secciones.

Introducci
on al Control Toolbox de matlab

En esta seccion, se asumir


a que el alumno esta familiarizado con el uso del matlab en general,
para centrar la descripcion en el juego de herramientas de que dispone matlab para tareas
relacionadas especcamente con el Control Autom
atico. Dichas herramientas estan incluidas
en un complemento de matlab, denominado Control Toolbox.

1.1

Definici
on de funciones de transferencia

La primera tarea que se puede plantear es la de denir una funci


on de transferencia en matlab.
Para ello, en primer lugar, ha de recordarse c
omo se pueden denir polinomios. Imaginemos que
queremos denir la funcion de transferencia:
G(s) =

2.5 s + 1
+ 3s + 2

s2

Para ello, podemos denir los polinomios numerador y denominador, almacenandolos en sendas
variables a las que denominaremos, respectivamente, N y D:

N = [2.5,1];
D = [1,3,2];

Como puede verse, la forma de denir un polinomio es crear un vector cuyos elementos son
los coecientes de dicho polinomio, siempre en orden decreciente de potencias de la variable
independiente. Como veremos, a partir de este momento, podemos trabajar con muchas de las
funciones del Control Toolbox, pas
andoles como funci
on de transferencia este par de polinomios.

Hay que tener ciertas precauciones, cuando alguno de los coecientes sea nulo. Por ejemplo,
supongamos que la funci
on de transferencia fuera la siguiente:
3
+ 2s
Una forma incorrecta de introducir el polinomio denominador sera:
G(s) =

s2

N = 3;
D = [1,2];
Sera incorrecta puesto que con esto, en realidad, se estara deniendo:
G(s) =

3
s+2

En su lugar, la forma correcta sera:


N = 3;
D = [1,2,0];
En lugar de trabajar con un par de polinomios que denen el numerador y denominador de la
funci
on de transferencia, pueden unicarse estos dos elementos en un objeto funcion de transferencia, mediante el comando tf():
N = [2.5,1];
D = [1,3,2];
G = tf (N,D);
Si preguntamos a continuaci
on por el valor de la variable G, comprobaremos que es un objeto
m
as complejo que un simple par de polinomios:
>> G
Transfer function:
2.5 s + 1
------------s^2 + 3 s + 2
Si queremos saber si la funci
on de transferencia corresponde con un sistema estable, bastara
con calcular las races del denominador:
roots (D)
Esta funci
on devuelve, en general, un vector conteniendo los polos de la funcion de transferencia.
De forma an
aloga, los ceros de la funcion de transferencia vendr
an dados por las races del
numerador.
Si se esta trabajando con objetos funciones de transferencia, existe una forma directa de obtener
sus polos y ceros, usando los siguientes comandos:
2

polos = pole (G);


ceros = tzero (G);

1.2

Simulaci
on de respuesta temporal

La funci
on step() simula la respuesta ante escalon unitario de una funcion de transferencia. Por
defecto, la escala temporal se elige autom
aticamente y se asume que el escal
on se produce en el
instante cero.
step (N, D);
La llamada a esta funci
on lleva asociada la representaci
on en una ventana gr
aca de la salida
resultante.
Alternativamente, podemos pasar como par
ametro un objeto funci
on de transferencia:
step (G); grid;
En este caso, al igual que podra haberse hecho en el caso anterior, se ha a
nadido el comando
grid, que permite visualizar una rejilla sobre el fondo de la graca.
Si queremos simular la respuesta para una escala temporal dada por nosotros mismos:
t = [0:0.001:10];
step (G, t);
El primer comando genera un vector columna (el operador de trasposici
on, que transforma lo
que inicialmente sera un vector la en un vector columna, es la comilla simple que aparece a la
derecha del vector denido entre corchetes), conteniendo una secuencia de valores comenzando
en 0 y terminando en 10, con un paso o incremento de 0.001. Esta variable t contendr
a nuestro
vector de instantes de tiempo a emplear en la simulacion. Para ello, en la llamada a la funci
on
step() se le pasa este vector tiempo como u
ltimo parametro.
Si se desea representar dos respuestas escalon en la misma gr
aca, con nes comparativos, puede
hacerse del siguiente modo:
G1 = tf (N,D);
G2 = tf (3,[1,2,1]);
t = [0:0.001:10];
y1 = step (G1, t);
y2 = step (G2, t);
figure(1); plot(t,y1,t,y2); grid;
Como se ve, la funci
on step() puede devolver un vector conteniendo los valores que resulten
para la se
nal de salida en cada instante de la simulaci
on. En este caso, dicha funci
on no realiza
3

representacion graca alguna. El comando plot(), por su parte, permite realizar representaciones
gr
acas de dos dimensiones. En este caso particular, se estan representando dos se
nales, las
contenidas en los vectores y1 e y2, frente a la misma escala temporal.
Existen otras funciones para simular la respuesta ante se
nales de entrada. Por ejemplo, la funcion
impulse(), simula la respuesta ante impulso unitario a la entrada. La funcion lsim() permite
la simulaci
on de la respuesta ante cualquier se
nal de entrada que deseemos. Por ejemplo, si
queremos simular la respuesta ante una rampa de pendiente 3 a la entrada, podramos escribir:

t = [0:0.001:10];
rampa = 3*t;
lsim (G, rampa, t);
Tanto la funci
on impulse() como la funci
on lsim() tienen caractersticas similares a la funcion
step(), en cuanto a que realizan la representaci
on de forma autom
atica, a menos que en la
llamada se almacene el valor devuelto por la funci
on en alguna variable.

Algebra
de bloques

1.3

Existen funciones para realizar operaciones de algebra de bloques con funciones de transferencia.
A continuacion, se mostrar
an algunos ejemplos.
La operacion m
as elemental consiste en obtener una u
nica funci
on de transferencia equivalente
a otras dos que esten dispuestas en serie. Imaginemos denidos los polinomios numerador y
denominador de dos funciones de transferencia, N 1, D1, N 2 y D2. Dado que el resultado de la
operacion mencionada sera el producto de ambas funciones de transferencia, podemos realizar el
producto de los polinomios numerador por un lado y, por otro, el de los polinomios denominador.
La funci
on que nos permite realizar producto de polinomios es conv():

N1
D1
N2
D2

=
=
=
=

[2.5,1];
[1,3,2];
3;
[1,2,1];

N
D

= conv (N1, N2);


= conv (D1, D2);

Tras estas operaciones, la funci


on de transferencia dada por el par de polinomios N , D, sera la
resultante.
Otra forma de realizar la misma operaci
on, en un solo paso, es emplear la funci
on series(),
que, a diferencia de la funci
on conv(), s es especca del Control Toolbox y, por tanto, puede
interpretar pares de polinomios como una funci
on de transferencia:

[N,D] = series (N1,D1, N2,D2);


4

Si se recurre a los objetos funci


on de transferencia, todo resulta mucho mas intuitivo:

G1 = tf (N1,D1);
G2 = tf (N2,D2);
G = G1*G2;
Como se ve, directamente se puede realizar el producto de dos objetos funci
on de transferencia.
Esto no impide que la funcion series() pueda seguir siendo usada con este tipo de objetos:

= series (G1, G2);

De forma an
aloga a la puesta en serie de dos funciones de transferencia, se puede obtener el
equivalente de una conguracion en paralelo. A continuaci
on, se muestran las tres formas de
obtener el mismo resultado:

[N,D] = parallel (N1,D1, N2,D2);


G = parallel (G1, G2);
G = G1+G2;
Si, dado un esquema realimentado, queremos obtener la funci
on de transferencia equivalente al
conjunto, podemos usar la funci
on cloop():

[Nbc,Dbc] = cloop (N,D,-1);


donde el u
ltimo parametro indica que se trata de realimentaci
on negativa (1 sera realimentaci
on
positiva). Si hacemos uso de objetos funcion de transferencia, tenemos que recurrir a la funcion
feedback():

Gbc = feedback (G,1,-1);


El segundo par
ametro de esta funci
on indica la funci
on de transferencia que se asume en la
cadena de realimentacion (en este caso, se trata de realimentaci
on unitaria), mientras que el
u
ltimo parametro indica que se trata de realimentaci
on negativa.

Introducci
on al simulink

simulink es un complemento de matlab que permite realizar simulacion dinamica de sistemas


por medio de una interfaz gr
aca muy c
omoda de usar. En esta secci
on se dar
an unos breves
comentarios introductorios al simulink. En todo caso, es recomendable acudir a un manual
de referencia mas completo, como el que puede encontrarse en el entorno de Ense
nanza Virtual
(apartado Contenido del Curso / Tutoriales / Tutorial de Simulink).
Para arrancar el simulink, basta teclear simulink en la ventana de comandos de matlab. Con
ello, se abrira la llamada biblioteca de bloques de simulink, de la que podremos tomar todos los
elementos que necesitemos para nuestras simulaciones. La gura 1 muestra el aspecto de esta
ventana.

Figure 1: Ventana mostrando la biblioteca de bloques de simulink


.
Para comenzar a usar simulink es preciso abrir un nuevo diagrama. Para ello, se puede pulsar
sobre el icono de la hoja en blanco que aparece en la ventana de herramientas mostrada, o
bien a traves del men
u FileNewModel. Con ello, aparecera una nueva ventana en la que
se confeccionara el modelo del sistema dinamico que se quiere simular. Esta ventana recibe el
nombre de ventana del modelo o ventana del diagrama del modelo.
Para construir un diagrama se arrastrar
an elementos desde la ventana de herramientas hasta
la ventana del modelo. Los elementos se unir
an luego con echas, dando lugar a un diagrama
de bloques. Cada echa representa una se
nal diferente de la cual podremos obtener, al realizar
una simulacion, su valor a lo largo del tiempo. El aspecto de los bloques en la pantalla puede
diferir de unas versiones a otras de matlab, por lo que debera poner atenci
on a los nombres
descriptivos que aparecen debajo de cada bloque.
6

2.1

Integradores

Los integradores nos permiten modelar sistemas din


amicos lineales y no lineales descritos mediante un modelo en espacio de estados. El hecho de que los sistemas sean representados mediante
ecuaciones diferenciales implica que ser
a necesario integrar dichas ecuaciones para poder simular
cu
al ser
a la evoluci
on temporal del sistema. simulink ofrece una herramienta de integraci
on
numerica que incluye varios metodos de integracion. Esto permite integrar se
nales temporales,
independientemente de que el sistema sea lineal o no.
Para integrar directamente se
nales temporales, simulink incluye un bloque llamado integrador
(Integrator), el cual puede obtenerse de la biblioteca de elementos de tiempo continuo (Continuous). Este
componente proporciona una salida y igual a la integraci
on temporal de su entrada

u (y(t) = 0t u( )d ).
En la gura 2, se propone un peque
no modelo para ilustrar como funciona el bloque integrador.
Se introduce a su entrada un escalon y se observa que la salida del integrador sera una rampa.

1
s
Step

Mux

Integrator

Scope

Figure 2: Diagrama de bloques simulando el comportamiento de un integrador ante entrada en


escal
on.
La se
nal de entrada del integrador proviene en este ejemplo de un bloque escalon (Step) sacado
de la biblioteca de fuentes (Sources). La salida del bloque integrador se re
une con la entrada en
el bloque multiplexor (Mux, del apartado Signal Routing de la biblioteca), para que ambas sean
mostradas en la gr
aca dibujada con el bloque visor (Scope, del apartado Sinks). En la gura
3, puede verse el resultado de la simulacion visto a traves del visor.

Figure 3: Respuesta resultante de la simulaci


on del diagrama previo.

2.2

Funciones de transferencia

Para utilizar funciones de transferencia dentro de simulink, basta con incluir un bloque Transfer
Function del apartado de tiempo continuo (Continuous) de la biblioteca, tal y como se presenta
en la gura 4.

s+2
s2 +s+3
Step

Transfer Fcn

Mux

Scope

Figure 4: Ilustracion del uso del bloque funcion de transferencia.


En este caso, la funci
on de transferencia elegida ha sido:
G(s) =

s+2
s2 + s + 3

Para lograr que dicho bloque se corresponda con la funci


on de transferencia dada, basta con modicar los parametros del mismo, pulsando dos veces sobre el bloque. En el cuadro de di
alogo que
aparece, se introducen los polinomios numerador y denominador, siguiendo la sintaxis habitual
de matlab, como se muestra en la gura 5.

Figure 5: Par
ametros del bloque funci
on de transferencia.
El resultado de la simulaci
on del diagrama anterior puede visualizarse a traves del visor (gura
6).

2.3

Realimentaci
on y ganancias

En la gura 7, se muestra un nuevo diagrama de bloques, en el que aparecen diversos elementos


nuevos, tales como un restador y una ganancia. Con ello, conseguimos implementar un diagrama
realimentado, a partir de la funci
on de transferencia dada con anterioridad.

Figure 6: Respuesta resultante de la simulaci


on del diagrama previo.

Sum
K
Step

Gain

s+2
s2 +s+3

Scope

Transfer Function

Figure 7: Funci
on de transferencia con ganancia en serie y realimentada.
Un sumador o restador se implementa mediante un bloque Add o Sum del apartado de Math
Operations de la biblioteca. Por su parte, una ganancia se implementa mediante el bloque de
forma triangular que aparece en el diagrama, obtenido a partir de un bloque Gain del apartado
Math Operations. Fjese que el valor introducido como ganancia no es una constante, sino una
variable de nombre K.
Para que la simulaci
on del modelo pueda llevarse a cabo, sera necesario que previamente se haya
denido dicha variable desde matlab. Esto ilustra las posibilidades de interacci
on entre matlab
y simulink: variables denidas en el espacio de trabajo de matlab pueden ser usadas desde
simulink, as como variables que tomen valores como resultado de la simulacion de un diagrama
de simulink estar
an disponibles para su uso desde la ventana de comandos de matlab, como
se ver
a a continuacion.

2.4

Fuentes y sumideros

En la biblioteca de bloques de simulink existe un apartado que ya se ha citado anteriormente, se


trata de las fuentes (Sources). Los elementos de este apartado son, esencialmente, generadores
de se
nales; entre ellos tenemos se
nal de valor constante (Constant), se
nal escal
on (Step), se
nal
rampa (Ramp), se
nales senoidales (Sine Wave) y muchas otras. Tambien existe un elemento,
denominado Clock, que proporciona un vector con los instantes de simulacion.
En el otro extremo, tenemos elementos que son sumideros de se
nales, es decir, que s
olo reciben
se
nales, sin producir ninguna salida. Estos elementos se encuentran en el apartado Sinks. Entre
estos elementos, encontramos los visores, como el Scope ya empleado. Otro elemento interesante

de este grupo es el denominado To Workspace. Se trata de un bloque que almacena, en una


variable cuyo nombre debemos especicar, un vector conteniendo los valores que va tomando la
se
nal que se recibe como entrada del bloque, para cada instante de simulaci
on.
La gura 8 muestra un nuevo diagrama de bloques, similar al de la gura 7, en el que se ha
reemplazado el visor por un bloque To Workspace, al que se le ha asociado el nombre de variable
y. Asimismo, se ha eliminado el multiplexor y la se
nal de entrada, producida por el escal
on,
se almacena en otra variable, denominada r. Se ha incluido, ademas, un elemento reloj, cuya
salida se almacena en otra variable, a la que se la denomina tSim.
tSim
Clock

To Workspace2

r
To Workspace1
Sum
s+2

K
Step

Gain

s2 +s+3
Transfer Function

y
To Workspace

Figure 8: Diagrama de bloques para ilustrar el uso de los bloques Clock y To Workspace.
En principio, se recomienda congurar los parametros de los elementos To Workspace tal y como
se muestra en la gura 9, en particular con el formato de almacenamiento de tipo Array. La
justicacion est
a en la simplicidad que eso aporta, a posteriori, para la manipulacion de estas
variables desde matlab.

Figure 9: Cuadro de di
alogo para establecer los par
ametros de un bloque To Workspace.
Una vez realizada la simulaci
on, dispondremos de las variables tSim, r e y, con las que podremos
realizar una representacion graca a voluntad, usando el comando plot() ya conocido:
figure(1); plot (tSim,r, tSim,y); grid;

10

Trabajo a desarrollar en relaci


on con el Control Toolbox de
matlab

En esta parte de la pr
actica, se parte directamente de una funci
on de transferencia dada por la
expresion siguiente:
K (s + c)
(s + p) (s2 + 2 wn s + wn2 )

G1 (s) =

(1)

Se trata de una funcion de transferencia que ser


a estable, con un polo real, que resultara ser
el elemento mas dominante respecto a los demas, un cero que sera de fase mnima y un par
de polos complejos conjugados, que ser
an menos dominantes que los dem
as elementos (si bien,
ninguno de los factores citados sera totalmente despreciable frente a los dem
as).
Cada alumno elegira los valores numericos de los parametros, a partir de las siguientes relaciones:

K =

135 + 15 D8
90

p =

45 + 7 D7
90

c =

207 + 12 D6
90

45 + 2 D5
90

wn = 6 p
Siendo D8 el dgito menos signicativo del DNI, D7 el anterior y as sucesivamente. Por ejemplo,
para el DNI n
umero: 53568447, se tendra D8 = 7, D7 = 4, D6 = 4, D5 = 8, con lo que
resultaran los siguientes valores de los par
ametros:
K = 2.66667

3.1
3.1.1

p = 0.81111,

c = 2.83333,

= 0.67778,

wn = 4.86667

Aproximaci
on por modelo de primer orden
Trabajo previo

En primer lugar, se desea obtener una funci


on de transferencia de orden reducido, que aproxime
el comportamiento del sistema de partida.
Si se simula la respuesta ante escal
on del sistema dado, puede comprobarse que se puede identicar f
acilmente una u
nica constante de tiempo dominante y aproximar al sistema por un modelo
de primer orden, de la forma:
11

G1 (s)

K
1 + s

(2)

A partir de la representacion graca de la respuesta ante escal


on del sistema, pueden estimarse
los dos par
ametros requeridos en (2). Como es sabido, para un sistema que sea verdaderamente
de primer orden, la identicaci
on de la constante de tiempo puede realizarse con exactitud de
varias formas: una de ellas se basa en que: y(
) = y(0) + 0.63 (y() y(0)). Otra forma se
basa en que el 95% del valor nal se alcanza una vez transcurrido un tiempo equivalente a tres
veces la constante de tiempo de dicho sistema: y(3 ) = y(0) + 0.95 (y() y(0)). De acuerdo
con lo anterior, se denen: t63% = y te95% = 3 .
Trabajo en el Centro de C
alculo
Simule la respuesta ante escal
on del sistema original (1). A la vista de esa respuesta,
identique empricamente los par
ametros de la funci
on de transferencia aproximada (2):
[p1], y constante de tiempo [p2](estimada a partir de la regla
ganancia est
atica K
t63% = ).
Compare la respuesta ante escal
on unitario del sistema original y del reducido. Para
realizar esta comparacion de forma gr
aca, puede recurrirse a los comandos de matlab
vistos anteriormente. Mida el valor de la respuesta del sistema original (1), transcurrido
un intervalo de tiempo en segundos igual al doble de la constante de tiempo despues de
producirse el escal
on de entrada, y(2 ) [p3], y analogamente para el sistema aproximado
(2) en ese mismo instante, yaprox (2 ) [p4].
Nota: Si est
a utilizando el comando step() sugerido anteriormente, tenga en cuenta que
puede conseguirse un paso de simulaci
on tan peque
no como se quiera, proporcionando a
dicha funci
on un vector tiempo con el paso o incremento correspondiente.
Habida cuenta de que, dependiendo del modelo concreto, puede obtenerse una mejor
aproximaci
on estimando la constante de tiempo mediante la regla te95% = 3 , se pide
realizar esta estimaci
on alternativa de la constante de tiempo, a la que se llamar
a 2 [p5].
Con objeto de poder hacer la comparaci
on con el nuevo modelo aproximado resultante del
punto anterior, indique el valor de la respuesta del sistema original (1), transcurrido un
intervalo igual a la nueva constante de tiempo, despues de producirse el escal
on de entrada,
alogamente para el nuevo sistema aproximado yaprox2 (
2 ) [p7].
y(
2 ) [p6]. An

3.2

Aproximaci
on por modelo de segundo orden

En este apartado, se trabajar


a con una funci
on de transferencia similar a la dada en (1), con
la diferencia de que los polos complejos conjugados se haran m
as signicativos. Para ello, se
modica el valor original de los parametros y wn :

G2 (s) =

(s +

p) (s2

K (s + c)
;
+ 2 2 wn2 s + wn2 2 )

12

2 = 0.2 ;

w n2 = p

(3)

3.2.1

Trabajo previo

Se desea obtener una funci


on de transferencia de segundo orden, que aproxime el comportamiento
del sistema de partida dado.
Simulando la respuesta ante escalon del sistema dado, puede comprobarse que, efectivamente,
dicha respuesta se puede aproximar mediante una funcion de transferencia de segundo orden
subamortiguada, de la forma:

G2 (s)

w
K
n2
s2 + 2 w
n s + w
n2

(4)

A partir de la representacion graca de la respuesta ante escal


on de un sistema de este tipo,
pueden estimarse los par
ametros requeridos en (4). Para el trabajo a realizar a continuaci
on,
se sugiere usar las medidas de ganancia est
atica, sobreoscilacion (que, expresada en tanto por
y tiempo de pico (tp ), para deducir los tres par
y w
uno, sera referida como SO)
ametros: K,
n .
La relacion entre las citadas medidas y los par
ametros de la funci
on de transferencia, como es
sabido, son las siguientes:

= e 12
SO


tp =
w
n 1 2

3.2.2

(5)

Trabajo en el Centro de C
alculo

Simule la respuesta ante escal


on del sistema original (3). A la vista de esa respuesta,
identique empricamente los par
ametros de la funci
on de transferencia aproximada (4):

ganancia est
atica K [p8], coeciente de amortiguamiento [p9], y frecuencia natural no
amortiguada w
n [p10].
Nota: Tal y como se ha dicho anteriormente, debe emplearse la expresi
on (5) para la
estimaci
on de w
n .
Compare la respuesta ante escal
on unitario del sistema original y del reducido. Mida el
valor de la respuesta del sistema original (3), transcurrido un intervalo igual al tiempo de
subida, despues de producirse el escal
on de entrada, y(ts ) [p11]. Analogamente para el
sistema aproximado (4) en ese mismo instante, yaprox (ts ) [p12].
Nota: Emplee la siguiente expresi
on para obtener el valor del tiempo de subida en el que
tomar las medidas:

arccos()

ts =
w
n 1 2

13

Trabajo a desarrollar en relaci


on con simulink

En esta seccion, el alumno deber


a emplear simulink para simular el comportamiento de un
sistema lineal que modela a un motor de corriente continua (caso simplicado). Tomando como
entrada la tension aplicada sobre el motor, u [V], y como salida la orientaci
on del eje de la
carga, [rad] (o, en su caso, la velocidad de giro del mismo, [rad/s]), la ecuaci
on diferencial
del modelo es la siguiente:
(6)
Km u = I + b
Los parametros del modelo se obtienen a partir del DNI de cada alumno, seg
un las siguientes
expresiones:
Km =

18 + 8 D8
90

[N m/V ]

I =

225 + 15 D7
90

b =

45 + 15 D6
9




Kg m2

Kg m2 /s

Donde D6 , D7 y D8 son las tres u


ltimas cifras del DNI. Por ejemplo, para el DNI n
umero:
53568447, se tendra D8 = 7, D7 = 4, D6 = 4, con lo que resultaran los siguientes valores
de los parametros: Km = 0.82222, I = 3.16667 y b = 11.66667 1 .

4.1
4.1.1

Modelado del motor


Trabajo previo

El diagrama de bloques de la ecuaci


on diferencial (6) puede implementarse f
acilmente, despe
jando la derivada segunda de la salida, . El resultado puede apreciarse en la gura 10.

acelAng

u
Km

1/I

1
s

velAng

1
s

ang
Scope

Figure 10: Diagrama de bloques que implementa el modelo del motor.


Dado que este sistema es lineal, suponiendo condiciones iniciales nulas, puede obtenerse su
funci
on de transferencia de forma inmediata, resultando Gv (s) para la salida en velocidad y
1

A diferencia de lo que ocurre con los dem


as par
ametros, el denominador de la expresi
on que define el par
ametro
b es 9, en lugar de 90.

14

Gp (s) para la salida en posici


on:
Gv (s) =

K
;
1+s

Gp (s) =

1
K
Gv (s) =
s
s (1 + s)

(7)

Pueden calcularse de forma directa los par


ametros K y de las expresiones anteriores, a partir
de los parametros del modelo (6). Una vez hecho esto, una forma equivalente de modelar el
motor, a traves de su funci
on de transferencia, sera mediante un u
nico bloque de simulink,
como se muestra en la gura 11.

velAng

tau .s+1

1
s

ang
Scope

Figure 11: Modelado del motor mediante funcion de transferencia.


Desde el punto de vista practico, la u
nica diferencia entre el modelo representado en la gura
10 y el mostrado en la gura 11 es que, en el primero de ellos, se puede simular la evolucion
del sistema ante condiciones iniciales no nulas y que existen se
nales intermedias directamente
o el par de fricci

accesibles, como la aceleraci


on angular, ,
on, b .

4.1.2

Trabajo en el Centro de C
alculo

Implemente el diagrama de bloques mostrado en la gura 10, pero haciendo que entre
tambien en el visor la velocidad angular 2 . Congure una condicion inicial no nula, (t =
0) = 0.2 [rad], para la salida en posici
on, a traves de las propiedades del integrador
correspondiente. Mantenga, sin embargo, condicion inicial nula para la velocidad angular,
= 0) = 0 [rad/s].
(t
Nota: De cara al siguiente punto, tenga precauci
on para no pasar por alto el instante en
el que se produce el escal
on, dado que, por defecto, no es cero.
Simule la respuesta del sistema ante una entrada de tipo escal
on: u(t) = 4V . Tome nota

de los valores (t) [p13] y (t)


[p14], 0.3 segundos despues de producirse dicho escalon.
Nota: En algunos casos, si se observa que las curvas de respuesta tienen pocos puntos,
signica que la simulaci
on puede requerir un paso de integracion m
aximo m
as reducido.
Esto puede dar lugar a medidas imprecisas, a partir de las representaciones gracas de las
se
nales de interes. El par
ametro que controla este paso de integraci
on puede establecerse
en (MenuSimulationConfiguration ParametersMax. step size) del metodo numerico
de integraci
on de simulink (ver gura 12). Por defecto, el valor de este parametro suele
ser auto, pero puede modicarse este valor a voluntad, para forzar a que el n
umero de
puntos en los que se lleva a cabo la simulacion se incremente sustancialmente.
Si, como consecuencia de lo anterior, el n
umero de puntos a registrar durante una simulaci
on aumenta considerablemente, y la simulacion dura el tiempo suciente, puede ser
necesario tener en cuenta una consideracion adicional, en relacion con los elementos Scope,
2

A traves de las propiedades del multiplexor, puede configurar libremente el n


umero de entradas del mismo.

15

Figure 12: Opci


on para cambiar el paso maximo de integraci
on de simulink.
en caso de que estos se esten usando. Estos visores, poseen un buer para el registro de
las variables que se reciben como entrada, el cual puede verse desbordado. Esto llevara
a la perdida del registro de la primera parte del experimento. Por defecto, los bloques
Scope s
olo mantienen el registro de los u
ltimos 5000 puntos de una simulacion. Este
problema puede solventarse de forma inmediata, accediendo a las propiedades del Scope y
desactivando, en la pesta
na Data History, la limitacion del buer, tal y como se muestra
en la gura 13.

Figure 13: Opci


on para desactivar la limitaci
on del buer del Scope.
Proporcione los valores de los parametros de la funci
on de transferencia Gv (s): K [p15],
[p16]. Estos par
ametros pueden obtenerse, bien de forma analtica, bien de forma
experimental, como se desee.

16

4.2
4.2.1

Motor en realimentaci
on
Trabajo previo

A partir de la funcion de transferencia del motor, resulta muy c


omodo establecer una conguraci
on en realimentaci
on, a
nadiendo una ganancia ajustable en la cadena directa, como se muestra en la gura 14. Como puede apreciarse, en este caso, se ha usado directamente la funcion
de transferencia de salida en posici
on, siendo esta la se
nal que se realimenta.

Kc

ang

tau .s2 +s

Scope

Figure 14: Sistema motor realimentado con ganancia ajustable.


Debe tenerse en cuenta que la se
nal de tipo escal
on es, en este caso, de naturaleza distinta a la
que tena en los diagramas en bucle abierto, guras 10 y 11. En los casos anteriores, al estar el
sistema en bucle abierto, el escal
on se usaba para proporcionar directamente la se
nal de entrada
al sistema o actuaci
on, u(t). Sin embargo, en el esquema realimentado, la se
nal proporcionada
por el escal
on ser
a una se
nal de referencia, r(t), que debe ser comparada con la salida y, por
tanto, debe ser una se
nal de la misma naturaleza que esta; es decir, se trata de una referencia
para el angulo de salida del motor. Por otro lado, como puede comprobarse, se ha a
nadido una
ganancia ajustable que, a partir del error observado en el angulo de salida respecto a la referencia
jada, e(t), proporciona una actuacion directamente proporcional a dicho error: u(t) = Kc e(t).
Si se realiza la reduccion del diagrama de bloques, para un valor generico de ganancia Kc , puede
comprobarse que la funci
on de transferencia equivalente al conjunto es una de segundo orden, que
puede hacerse corresponder con la forma tpica de sistema de segundo orden subamortiguado:
Gbc =

4.2.2

Kbc wn2
s2 + 2 wn s + wn2

(8)

Trabajo en el Centro de C
alculo

Determine analticamente el valor de la ganancia Kc [p17], para que el sistema realimentado resulte estable y con un coeciente de amortiguamiento = 0.7, de acuerdo con la
expresi
on (8).
Implemente el diagrama de bloques mostrado en la gura 14 y verique el punto anterior (basta comprobar que la sobreoscilaci
on del sistema realimentado resultante debe ser
ligeramente inferior al 5%).
Para el valor de ganancia Kc jado, determine analticamente el tiempo de pico que tendra
la respuesta ante referencia en escal
on, tpteorico [p18]. Determine este mismo valor experimentalmente, tpexperim [p19], a partir de una simulacion con el modelo de la gura
14.
17

Instrucciones para entregar las respuestas en Goodle

Las respuestas del modulo entregaran en Goodle. La pagina web del servidor de docencia es:

http://bono.us.es/sdocencia

Para entregar el proyecto hay que darse de alta en Goodle siguiendo las instrucciones de la gua
que puede encontrarse en el entorno de Ense
nanza Virtual (apartado Contenido del Curso /
Tutoriales / Gua de Goodle GMS). La entrega de los resultados consiste en rellenar el formulario
de texto siguiendo las siguientes instrucciones:
Cada respuesta correspondiente a una cuesti
on de trabajo en el centro de calculo tiene
asignado un nombre. En el enunciado de la pr
actica se indica con una etiqueta entre
corchetes cada respuesta que hay que entregar.
Ejemplo: A la primera respuesta (valor de la ganancia est
atica identicada) le corresponde
el nombre p1 y a la u
ltima respuesta le corresponde el nombre p19.
Para cada respuesta hay que escribir una lnea con el siguiente formato:
nombre = valor;
Ejemplo: Para responder que el valor de la constante de tiempo de la funci
on de transferencia (2) es 0.3 segundos, se escribira la siguiente lnea:
p2 = 0.3;
Observe que los decimales se separan utilizando el punto, no la coma.
En caso de que hubiera que dar una respuesta que correspondiera a un polinomio (por
ejemplo, el denominador de una funci
on de transferencia), hay que utilizar el formato
explicado al principio para introducir polinomios en matlab en la Seccion 1.1. En caso
de que alguno de los polinomios fuera una constante, los corchetes deben obviarse. Por
ejemplo, para indicar:
7
Gbc(s) = 2
3s + 0.45
habra que escribir las siguientes lneas:
p14 = 7;
p15 = [3, 0, 0.45];
Goodle rechaza los envos con errores de sintaxis.
Es recomendable confeccionar la respuesta en un chero de texto plano antes de pasarla
al servidor, por ejemplo utilizando el bloc de notas de Windows.
Si desconoce alguno de los datos solicitados, evite dar respuestas que provoquen error de
sintaxis, como las siguientes:
18

p5 = ;
p6 =
En lugar de eso, introduzca en la respuesta alg
un valor, preferentemente un valor nulo:
p5 = 0;
p6 = 0;

Ejemplo de formulario relleno


(Los n
umeros siguientes son aleatorios)

p1 = 3;
p2 = 4.3;
p3 = 0.65;
p4 = 23.4;
p5 = 34;
p6 = -4;
p7 = 76.5;
p8 = 12;
p9 = 1;
p10 = 9;
p11 = 43;
p12 = 3.1;
p13 = 5.2;
p14 = 2.4;
p15 = 29.5;
p16 = 0.0005;
p17 = -92.4;
p18 = 2.84;
p19 = 4.17;

19

También podría gustarte