Está en la página 1de 19

Pr actica 1: Introducci on al uso de matlab y simulink para Control Autom atico Control Autom atico, 2 GIA

Esta pr actica permitir a que el alumno se familiarice con las herramientas disponibles en matlab para el Control Autom atico, entre las que est an el denominado Control Toolbox y el simulink. Al mismo tiempo, la pr actica servir a 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 deber a llevar a cabo con anterioridad a la sesi on de la pr actica en el Centro de C alculo. Dicho estudio previo comprende la lectura detallada de las secciones 1 y 2, para la familiarizaci on 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.
o

Introducci on al Control Toolbox de matlab

En esta secci on, se asumir a que el alumno est a familiarizado con el uso del matlab en general, para centrar la descripci on en el juego de herramientas de que dispone matlab para tareas relacionadas espec camente con el Control Autom atico. Dichas herramientas est an 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 funci on de transferencia: G( s ) = s2 2. 5 s + 1 + 3s + 2

Para ello, podemos denir los polinomios numerador y denominador, almacen andolos 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 ser a: G( s ) = s2 N = 3; D = [1,2]; Ser a incorrecta puesto que con esto, en realidad, se estar a deniendo: G( s ) = En su lugar, la forma correcta ser a: 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 funci on 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, bastar a con calcular las ra ces del denominador: roots (D) Esta funci on devuelve, en general, un vector conteniendo los polos de la funci on de transferencia. De forma an aloga, los ceros de la funci on de transferencia vendr an dados por las ra ces del numerador. Si se est a trabajando con objetos funciones de transferencia, existe una forma directa de obtener sus polos y ceros, usando los siguientes comandos: 2 3 s+2

polos = pole (G); ceros = tzero (G);

1.2

Simulaci on de respuesta temporal

La funci on step() simula la respuesta ante escal on unitario de una funci on 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 podr a haberse hecho en el caso anterior, se ha a nadido el comando grid, que permite visualizar una rejilla sobre el fondo de la gr aca. 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 ser a 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 simulaci on. Para ello, en la llamada a la funci on step() se le pasa este vector tiempo como u ltimo par ametro. Si se desea representar dos respuestas escal on 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

representaci on gr aca alguna. El comando plot(), por su parte, permite realizar representaciones gr acas de dos dimensiones. En este caso particular, se est an representando dos se nales, las contenidas en los vectores y 1 e y 2, frente a la misma escala temporal. Existen otras funciones para simular la respuesta ante se nales de entrada. Por ejemplo, la funci on impulse(), simula la respuesta ante impulso unitario a la entrada. La funci on 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, podr amos escribir:

t = [0:0.001:10]; rampa = 3*t; lsim (G, rampa, t); Tanto la funci on impulse() como la funci on lsim() tienen caracter sticas similares a la funci on 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 continuaci on, se mostrar an algunos ejemplos. La operaci on m as elemental consiste en obtener una u nica funci on de transferencia equivalente a otras dos que est en 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 operaci on mencionada ser a 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 N D

= = = =

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

= conv (N1, N2); = conv (D1, D2);

Tras estas operaciones, la funci on de transferencia dada por el par de polinomios N , D, ser a la resultante. Otra forma de realizar la misma operaci on, en un s olo paso, es emplear la funci on series(), que, a diferencia de la funci on conv(), s es espec ca 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 m as 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 funci on 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 conguraci on 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 par ametro indica que se trata de realimentaci on negativa (1 ser a realimentaci on positiva). Si hacemos uso de objetos funci on de transferencia, tenemos que recurrir a la funci on 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 realimentaci on (en este caso, se trata de realimentaci on unitaria), mientras que el u ltimo par ametro indica que se trata de realimentaci on negativa.

Introducci on al simulink

simulink es un complemento de matlab que permite realizar simulaci on din amica 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 m as 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 abrir a 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 trav es del men u FileNewModel. Con ello, aparecer a una nueva ventana en la que se confeccionar a el modelo del sistema din amico 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 simulaci on, 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 deber a 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 num erica que incluye varios m etodos de integraci on. 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 t u ( y ( t) = 0 u( )d ). En la gura 2, se propone un peque no modelo para ilustrar c omo funciona el bloque integrador. Se introduce a su entrada un escal on y se observa que la salida del integrador ser a una rampa.

1 s Step Integrator Mux

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 escal on (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 simulaci on visto a trav es 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: Ilustraci on del uso del bloque funci on 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 par ametros 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 trav es 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 Transfer Function Scope

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. F jese 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, ser a 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 simulaci on de un diagrama de simulink estar an disponibles para su uso desde la ventana de comandos de matlab, como se ver a a continuaci on.

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. Tambi en existe un elemento, denominado Clock, que proporciona un vector con los instantes de simulaci on. 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, adem as, 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 K Step Gain s+2 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 par ametros 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 justicaci on est a en la simplicidad que eso aporta, a posteriori, para la manipulaci on 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 representaci on gr aca 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 expresi on siguiente: K (s + c ) 2) ( s + p) ( s 2 + 2 w n s + w n

G1 ( s ) =

(1)

Se trata de una funci on de transferencia que ser a estable, con un polo real, que resultar a ser el elemento m as dominante respecto a los dem as, un cero que ser a de fase m nima y un par de polos complejos conjugados, que ser an menos dominantes que los dem as elementos (si bien, ninguno de los factores citados ser a totalmente despreciable frente a los dem as). Cada alumno elegir a los valores num ericos de los par ametros, a partir de las siguientes relaciones:

K = p = c = =

135 + 15 D8 90 45 + 7 D7 90 207 + 12 D6 90 45 + 2 D5 90

wn = 6 p gito menos signicativo del DNI, D7 el anterior y as sucesivamente. Por ejemplo, Siendo D8 el d para el DNI n umero: 53568447, se tendr a D8 = 7, D7 = 4, D6 = 4, D5 = 8, con lo que resultar an los siguientes valores de los par ametros: K = 2.66667 p = 0.81111, c = 2.83333, = 0.67778, wn = 4.86667

3.1
3.1.1

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 representaci on gr aca 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 emp ricamente los par ametros de la funci on de transferencia aproximada (2): [p1], y constante de tiempo ganancia est atica K [p2](estimada a partir de la regla t63% = ). Compare la respuesta ante escal on unitario del sistema original y del reducido. Para realizar esta comparaci on 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 despu es de producirse el escal on de entrada, y (2 ) [p3], y an alogamente para el sistema aproximado ) [p4]. (2) en ese mismo instante, yaprox (2 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 , se pide aproximaci on estimando la constante de tiempo mediante la regla te95% = 3 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, despu es 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 har an m as signicativos. Para ello, se modica el valor original de los par ametros y wn : K (s + c ) ; 2 ) + 2 2 w n2 s + w n 2

G2 ( s ) =

(s +

p) ( s 2

2 = 0.2 ;

w n2 = 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 escal on del sistema dado, puede comprobarse que, efectivamente, dicha respuesta se puede aproximar mediante una funci on de transferencia de segundo orden subamortiguada, de la forma:
2 w K n 2 w s2 + 2 n s + w n

G2 ( s )

(4)

A partir de la representaci on gr aca 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, sobreoscilaci on (que, expresada en tanto por yw ) y tiempo de pico (t , p ), para deducir los tres par uno, ser a referida como SO ametros: K n . La relaci on entre las citadas medidas y los par ametros de la funci on de transferencia, como es sabido, son las siguientes:
2 = e 1 SO p = t 2 w n 1

(5)

3.2.2

Trabajo en el Centro de C alculo

Simule la respuesta ante escal on del sistema original (3). A la vista de esa respuesta, identique emp ricamente los par ametros de la funci on de transferencia aproximada (4): [p9], y frecuencia natural no ganancia est atica K [p8], coeciente de amortiguamiento 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 s ) [p11]. An subida, despu es de producirse el escal on de entrada, y (t alogamente 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: s = arccos( ) t 2 w n 1

13

Trabajo a desarrollar en relaci on con simulink

En esta secci on, 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 tensi on aplicada sobre el motor, u [V], y como salida la orientaci on del eje de la [rad/s]), la ecuaci carga, [rad] (o, en su caso, la velocidad de giro del mismo, on diferencial del modelo es la siguiente: + b (6) Km u = I Los par ametros del modelo se obtienen a partir del DNI de cada alumno, seg un las siguientes expresiones: Km = I = b = 18 + 8 D8 90 225 + 15 D7 90 45 + 15 D6 9 [N m/V ] 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: an los siguientes valores 53568447, se tendr a D8 = 7, D7 = 4, D6 = 4, con lo que resultar de los par ametros: 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.

u Km 1/I

acelAng

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
A diferencia de lo que ocurre con los dem as par ametros, el denominador de la expresi on que dene el par ametro b es 9, en lugar de 90.
1

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 par ametros del modelo (6). Una vez hecho esto, una forma equivalente de modelar el motor, a trav es de su funci on de transferencia, ser a mediante un u nico bloque de simulink, como se muestra en la gura 11.

K tau .s+1

velAng

1 s

ang Scope

Figure 11: Modelado del motor mediante funci on de transferencia. Desde el punto de vista pr actico, 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 evoluci on 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 tambi en en el visor la velocidad angular 2 . Congure una condici on inicial no nula, (t = 0) = 0.2 [rad], para la salida en posici on, a trav es de las propiedades del integrador correspondiente. Mantenga, sin embargo, condici on 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 (t) [p14], 0.3 segundos despu de los valores (t) [p13] y es de producirse dicho escal on. 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 integraci on m aximo m as reducido. Esto puede dar lugar a medidas imprecisas, a partir de las representaciones gr acas de las se nales de inter es. El par ametro que controla este paso de integraci on puede establecerse en (MenuSimulationConguration ParametersMax. step size) del m etodo num erico de integraci on de simulink (ver gura 12). Por defecto, el valor de este par ametro 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 simulaci on se incremente sustancialmente. Si, como consecuencia de lo anterior, el n umero de puntos a registrar durante una simulaci on aumenta considerablemente, y la simulaci on dura el tiempo suciente, puede ser necesario tener en cuenta una consideraci on adicional, en relaci on con los elementos Scope,
2

A trav es de las propiedades del multiplexor, puede congurar libremente el n umero de entradas del mismo.

15

Figure 12: Opci on para cambiar el paso m aximo de integraci on de simulink. en caso de que estos se est en usando. Estos visores, poseen un buer para el registro de las variables que se reciben como entrada, el cual puede verse desbordado. Esto llevar a a la p erdida 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 simulaci on. Este problema puede solventarse de forma inmediata, accediendo a las propiedades del Scope y desactivando, en la pesta na Data History, la limitaci on 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 par ametros de la funci on de transferencia Gv (s): K [p15], [p16]. Estos par ametros pueden obtenerse, bien de forma anal tica, bien de forma experimental, como se desee.

16

4.2
4.2.1

Motor en realimentaci on
Trabajo previo

A partir de la funci on 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 funci on de transferencia de salida en posici on, siendo esta la se nal que se realimenta.

e Kc

K tau .s2 +s

ang 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 ten a 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 a ngulo 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 a ngulo de salida respecto a la referencia jada, e(t), proporciona una actuaci on directamente proporcional a dicho error: u(t) = Kc e(t). Si se realiza la reducci on del diagrama de bloques, para un valor gen erico 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 t pica de sistema de segundo orden subamortiguado: Gbc =
2 Kbc wn 2 s2 + 2 w n s + w n

(8)

4.2.2

Trabajo en el Centro de C alculo

Determine anal ticamente 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 anal ticamente el tiempo de pico que tendr a la respuesta ante referencia en escal on, tpteorico [p18]. Determine este mismo valor experimentalmente, tpexperim [p19], a partir de una simulaci on con el modelo de la gura 14. 17

Instrucciones para entregar las respuestas en Goodle

Las respuestas del m odulo entregar an en Goodle. La p agina 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 gu a que puede encontrarse en el entorno de Ense nanza Virtual (apartado Contenido del Curso / Tutoriales / Gu a 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 c alculo 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 l nea 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 escribir a la siguiente l nea: 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 Secci on 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 habr a que escribir las siguientes l neas: p14 = 7; p15 = [3, 0, 0.45]; Goodle rechaza los env os 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