Está en la página 1de 19

Practica 1: Introducci on al uso de matlab y simulink para

Control Automatico
Control Automatico, 2
o
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 com-
prende 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.
1 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 Denici 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
s
2
+ 3 s + 2
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, pasandoles como funci on de transferencia este par de polinomios.
1
Hay que tener ciertas precauciones, cuando alguno de los coecientes sea nulo. Por ejemplo,
supongamos que la funci on de transferencia fuera la siguiente:
G(s) =
3
s
2
+ 2 s
Una forma incorrecta de introducir el polinomio denominador sera:
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 trans-
ferencia, 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 trasposicion, 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 ultimo 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.
1.3

Algebra de bloques
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 unica 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, N1, D1, N2 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 = [2.5,1];
D1 = [1,3,2];
N2 = 3;
D2 = [1,2,1];
N = conv (N1, N2);
D = 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:
G = 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 ultimo 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
ultimo parametro indica que se trata de realimentaci on negativa.
5
2 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 median-
te 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 evolucion 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 (Contin-
uous). Este componente proporciona una salida y igual a la integraci on temporal de su entrada
u (y(t) =

t
0
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.
Step
Scope
Mux
Integrator
1
s
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.
7
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.
Transfer Fcn
s+2
s +s+3
2
Step
Scope
Mux
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
s
2
+ s + 3
Para lograr que dicho bloque se corresponda con la funci on de transferencia dada, basta con mo-
dicar 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 Realimentacion 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.
8
Figure 6: Respuesta resultante de la simulaci on del diagrama previo.
Transfer Function
s+2
s +s+3
2
Sum
Step
Scope
Gain
K
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
9
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.
Transfer Function
s+2
s +s+3
2
To Workspace2
tSim
To Workspace1
r
To Workspace
y
Sum
Step
Gain
K
Clock
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
3 Trabajo a desarrollar en relacion 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:
G
1
(s) =
K (s + c)
(s + p) (s
2
+ 2 w
n
s + w
2
n
)
(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 D
8
90
p =
45 + 7 D
7
90
c =
207 + 12 D
6
90
=
45 + 2 D
5
90
w
n
= 6 p
Siendo D
8
el dgito menos signicativo del DNI, D
7
el anterior y as sucesivamente. Por ejemplo,
para el DNI n umero: 53568447, se tendra D
8
= 7, D
7
= 4, D
6
= 4, D
5
= 8, con lo que
resultaran los siguientes valores de los par ametros:
K = 2.66667 p = 0.81111, c = 2.83333, = 0.67778, w
n
= 4.86667
3.1 Aproximaci on por modelo de primer orden
3.1.1 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 identi-
car f acilmente una unica constante de tiempo dominante y aproximar al sistema por un modelo
de primer orden, de la forma:
11
G
1
(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: t
63%
= y t
e
95%
= 3 .
Trabajo en el Centro de Calculo
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):
ganancia est atica

K [p1], y constante de tiempo [p2](estimada a partir de la regla
t
63%
= ).
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, y
aprox
(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 t
e
95%
= 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,
y(
2
) [p6]. Analogamente para el nuevo sistema aproximado y
aprox
2
(
2
) [p7].
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 w
n
:
G
2
(s) =
K (s + c)
(s + p) (s
2
+ 2
2
w
n
2
s + w
2
n
2
)
;
2
= 0.2 ; w
n
2
= p (3)
12
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:
G
2
(s)

K w
2
n
s
2
+ 2

w
n
s + w
2
n
(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
uno, sera referida como

SO) y tiempo de pico (

t
p
), para deducir los tres par ametros:

K,

y w
n
.
La relacion entre las citadas medidas y los par ametros de la funci on de transferencia, como es
sabido, son las siguientes:

SO = e

t
p
=

w
n

2
(5)
3.2.2 Trabajo en el Centro de Calculo
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(

t
s
) [p11]. Analogamente para el
sistema aproximado (4) en ese mismo instante, y
aprox
(

t
s
) [p12].
Nota: Emplee la siguiente expresi on para obtener el valor del tiempo de subida en el que
tomar las medidas:

t
s
=
arccos(

)
w
n

2
13
4 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:
K
m
u = I

+ b

(6)
Los parametros del modelo se obtienen a partir del DNI de cada alumno, seg un las siguientes
expresiones:
K
m
=
18 + 8 D8
90
[N m/V ]
I =
225 + 15 D7
90

Kg m
2

b =
45 + 15 D6
9

Kg m
2
/s

Donde D
6
, D
7
y D
8
son las tres ultimas cifras del DNI. Por ejemplo, para el DNI n umero:
53568447, se tendra D
8
= 7, D
7
= 4, D
6
= 4, con lo que resultaran los siguientes valores
de los parametros: K
m
= 0.82222, I = 3.16667 y b = 11.66667
1
.
4.1 Modelado del motor
4.1.1 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.
u
acelAng
velAng
ang
Scope
1
s
1
s
Km
b
1/I
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 G
v
(s) para la salida en velocidad y
1
A diferencia de lo que ocurre con los demas parametros, el denominador de la expresion que dene el parametro
b es 9, en lugar de 90.
14
G
p
(s) para la salida en posici on:
G
v
(s) =
K
1 + s
; G
p
(s) =
1
s
G
v
(s) =
K
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 unico bloque de simulink,
como se muestra en la gura 11.
u velAng
ang
K
tau.s+1
Scope
1
s
Figure 11: Modelado del motor mediante funcion de transferencia.
Desde el punto de vista practico, la unica 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
accesibles, como la aceleraci on angular,

, o el par de fricci on, b

.
4.1.2 Trabajo en el Centro de Calculo
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,

(t = 0) = 0 [rad/s].
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 parametro que controla este paso de integraci on puede establecerse
en (MenuSimulationConguration 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 simu-
laci 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 congurar 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 ultimos 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 G
v
(s): K [p15],
[p16]. Estos parametros pueden obtenerse, bien de forma analtica, bien de forma
experimental, como se desee.
16
4.2 Motor en realimentacion
4.2.1 Trabajo previo
A partir de la funcion de transferencia del motor, resulta muy c omodo establecer una congu-
raci on en realimentaci on, a nadiendo una ganancia ajustable en la cadena directa, como se mues-
tra 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.
u ang e r
K
tau.s +s
2
Scope
Kc
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 escalon 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) = K
c
e(t).
Si se realiza la reduccion del diagrama de bloques, para un valor generico de ganancia K
c
, 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:
G
bc
=
K
bc
w
2
n
s
2
+ 2 w
n
s + w
2
n
(8)
4.2.2 Trabajo en el Centro de Calculo
Determine analticamente el valor de la ganancia K
c
[p17], para que el sistema realimen-
tado resulte estable y con un coeciente de amortiguamiento = 0.7, de acuerdo con la
expresion (8).
Implemente el diagrama de bloques mostrado en la gura 14 y verique el punto ante-
rior (basta comprobar que la sobreoscilaci on del sistema realimentado resultante debe ser
ligeramente inferior al 5%).
Para el valor de ganancia K
c
jado, determine analticamente el tiempo de pico que tendra
la respuesta ante referencia en escal on, t
p
teorico
[p18]. Determine este mismo valor ex-
perimentalmente, t
p
experim
[p19], a partir de una simulacion con el modelo de la gura
14.
17
5 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 ultima 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 transfe-
rencia (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:
Gbc(s) =
7
3s
2
+ 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