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

1

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´ ıficamente con el Control Autom´ atico. Dichas herramientas est´ an 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 definir una funci´ on de transferencia en matlab. Para ello, en primer lugar, ha de recordarse c´ omo se pueden definir polinomios. Imaginemos que queremos definir la funci´ on de transferencia: G( s ) = s2 2. 5 s + 1 + 3s + 2

Para ello, podemos definir 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 definir un polinomio es crear un vector cuyos elementos son los coeficientes 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.

1

5 s + 1 ------------s^2 + 3 s + 2 Si queremos saber si la funci´ on de transferencia corresponde con un sistema estable.5. los ceros de la funci´ on de transferencia vendr´ an dados por las ra´ ıces del numerador. D = [1. En lugar de trabajar con un par de polinomios que definen el numerador y denominador de la funci´ on de transferencia. De forma an´ aloga. D = [1. en general. se estar´ ıa definiendo: G( s ) = En su lugar. bastar´ ıa con calcular las ra´ ıces del denominador: roots (D) Esta funci´ on devuelve. la forma correcta ser´ ıa: N = 3.2]. comprobaremos que es un objeto m´ as complejo que un simple par de polinomios: >> G Transfer function: 2. mediante el comando tf(): N = [2. G = tf (N. usando los siguientes comandos: 2 3 s+2 .2]. existe una forma directa de obtener sus polos y ceros. pueden unificarse estos dos elementos en un objeto funci´ on de transferencia. un vector conteniendo los polos de la funci´ on de transferencia.0]. Ser´ ıa incorrecta puesto que con esto.3. Si preguntamos a continuaci´ on por el valor de la variable G. Si se est´ a trabajando con objetos funciones de transferencia. 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).Hay que tener ciertas precauciones. en realidad. D = [1.2.1]. cuando alguno de los coeficientes sea nulo.

En este caso. es la comilla simple que aparece a la derecha del vector definido entre corchetes). en la llamada a la funci´ on step() se le pasa este vector tiempo como u ´ltimo par´ ametro.y2). conteniendo una secuencia de valores comenzando en 0 y terminando en 10. y2 = step (G2. plot(t. se ha a˜ nadido el comando grid. que transforma lo que inicialmente ser´ ıa un vector fila en un vector columna. t). al igual que podr´ ıa haberse hecho en el caso anterior.y1. figure(1).2. que permite visualizar una rejilla sobre el fondo de la gr´ afica. con fines comparativos.polos = pole (G). podemos pasar como par´ ametro un objeto funci´ on de transferencia: step (G). puede hacerse del siguiente modo: G1 = tf (N. Por defecto. t). La llamada a esta funci´ on lleva asociada la representaci´ on en una ventana gr´ afica de la salida resultante.2 Simulaci´ on de respuesta temporal La funci´ on step() simula la respuesta ante escal´ on unitario de una funci´ on de transferencia. G2 = tf (3. ceros = tzero (G). Esta variable t contendr´ a nuestro vector de instantes de tiempo a emplear en la simulaci´ on. con un paso o incremento de 0. grid. y1 = step (G1. la escala temporal se elige autom´ aticamente y se asume que el escal´ on se produce en el instante cero. Como se ve. D). El primer comando genera un vector columna (el operador de trasposici´ on.001:10]’. t = [0:0. Si se desea representar dos respuestas escal´ on en la misma gr´ afica.001.D).001:10]’. Para ello.t. grid. 1. dicha funci´ on no realiza 3 . Alternativamente. 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. t). Si queremos simular la respuesta para una escala temporal dada por nosotros mismos: t = [0:0.[1.1]). step (N. step (G.

Tanto la funci´ on impulse() como la funci´ on lsim() tienen caracter´ ısticas similares a la funci´ on step(). a diferencia de la funci´ on conv(). simula la respuesta ante impulso unitario a la entrada. 1. podr´ ıamos escribir: t = [0:0. El comando plot(). la funci´ on de transferencia dada por el par de polinomios N . Tras estas operaciones. rampa. por tanto. lsim (G. N2.5. D2).2]. Imaginemos definidos los polinomios numerador y denominador de dos funciones de transferencia. la funci´ on impulse(). 3. s´ ı es espec´ ıfica del Control Toolbox y. La funci´ on que nos permite realizar producto de polinomios es conv(): N1 D1 N2 D2 N D = = = = [2. que. Por ejemplo. = conv (D1. A continuaci´ on. Existen otras funciones para simular la respuesta ante se˜ nales de entrada.representaci´ on gr´ afica alguna. el de los polinomios denominador.D2). es emplear la funci´ on series(). ser´ ıa la resultante. frente a la misma escala temporal. en cuanto a que realizan la representaci´ on de forma autom´ atica. La funci´ on lsim() permite la simulaci´ on de la respuesta ante cualquier se˜ nal de entrada que deseemos. Otra forma de realizar la misma operaci´ on. 4 . t). Por ejemplo.1]. a menos que en la llamada se almacene el valor devuelto por la funci´ on en alguna variable.001:10]’. permite realizar representaciones gr´ aficas de dos dimensiones.D] = series (N1. N 2 y D2. rampa = 3*t. Dado que el resultado de la operaci´ on mencionada ser´ ıa el producto de ambas funciones de transferencia. N 1. En este caso particular. D1.3. por su parte. N2). se mostrar´ an algunos ejemplos. D. [1. podemos realizar el producto de los polinomios numerador por un lado y. se est´ an representando dos se˜ nales.3 ´ Algebra de bloques Existen funciones para realizar operaciones de ´ algebra de bloques con funciones de transferencia. si queremos simular la respuesta ante una rampa de pendiente 3 a la entrada. las contenidas en los vectores y 1 e y 2. puede interpretar pares de polinomios como una funci´ on de transferencia: [N.D1. en un s´ olo paso. 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. = conv (N1. por otro. [1.2.1].

G = G1*G2.D1. Como se ve. Esto no impide que la funci´ on series() pueda seguir siendo usada con este tipo de objetos: G = series (G1.D2). directamente se puede realizar el producto de dos objetos funci´ on de transferencia.1. 5 . G = parallel (G1.Si se recurre a los objetos funci´ on de transferencia. todo resulta mucho m´ as intuitivo: G1 = tf (N1.-1). De forma an´ aloga a la puesta en serie de dos funciones de transferencia. Si hacemos uso de objetos funci´ on de transferencia. G2). donde el u ´ltimo par´ ametro indica que se trata de realimentaci´ on negativa (1 ser´ ıa realimentaci´ on positiva). A continuaci´ on. dado un esquema realimentado.D.D] = parallel (N1. G = G1+G2. G2 = tf (N2. G2). queremos obtener la funci´ on de transferencia equivalente al conjunto. se muestran las tres formas de obtener el mismo resultado: [N. 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 puede obtener el equivalente de una configuraci´ on en paralelo.-1).D1). mientras que el u ´ltimo par´ ametro indica que se trata de realimentaci´ on negativa.Dbc] = cloop (N. N2. Si. tenemos que recurrir a la funci´ on feedback(): Gbc = feedback (G.D2). podemos usar la funci´ on cloop(): [Nbc. se trata de realimentaci´ on unitaria).

por lo que deber´ a poner atenci´ on a los nombres descriptivos que aparecen debajo de cada bloque.2 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´ afica muy c´ omoda de usar. Para arrancar el simulink. aparecer´ a una nueva ventana en la que se confeccionar´ a el modelo del sistema din´ amico que se quiere simular. Cada flecha representa una se˜ nal diferente de la cual podremos obtener. Para construir un diagrama se arrastrar´ an elementos desde la ventana de herramientas hasta la ventana del modelo. Con ello. se puede pulsar sobre el icono de la hoja en blanco que aparece en la ventana de herramientas mostrada. Los elementos se unir´ an luego con flechas. En todo caso. de la que podremos tomar todos los elementos que necesitemos para nuestras simulaciones. al realizar una simulaci´ on. Para ello. Figure 1: Ventana mostrando la biblioteca de bloques de simulink . como el que puede encontrarse en el entorno de Ense˜ nanza Virtual (apartado Contenido del Curso / Tutoriales / Tutorial de Simulink). Para comenzar a usar simulink es preciso abrir un nuevo diagrama. es recomendable acudir a un manual de referencia m´ as completo. su valor a lo largo del tiempo. La figura 1 muestra el aspecto de esta ventana. se abrir´ a la llamada biblioteca de bloques de simulink. 6 . Esta ventana recibe el nombre de ventana del modelo o ventana del diagrama del modelo. basta teclear simulink en la ventana de comandos de matlab. En esta secci´ on se dar´ an unos breves comentarios introductorios al simulink. dando lugar a un diagrama de bloques. o bien a trav´ es del men´ u File→New→Model. El aspecto de los bloques en la pantalla puede diferir de unas versiones a otras de matlab. Con ello.

La salida del bloque integrador se re´ une con la entrada en el bloque multiplexor (Mux. el cual puede obtenerse de la biblioteca de elementos de tiempo continuo (Continuous). La se˜ nal de entrada del integrador proviene en este ejemplo de un bloque escal´ on (Step) sacado de la biblioteca de fuentes (Sources). simulink incluye un bloque llamado “integrador” (Integrator). 1 s Step Integrator Mux Scope Figure 2: Diagrama de bloques simulando el comportamiento de un integrador ante entrada en escal´ on. Este componente proporciona una salida y igual a la integraci´ on temporal de su entrada t u ( y ( t) = 0 u(τ )dτ ). Figure 3: Respuesta resultante de la simulaci´ on del diagrama previo. En la figura 3. para que ambas sean mostradas en la gr´ afica dibujada con el bloque visor (Scope. simulink ofrece una herramienta de integraci´ on num´ erica que incluye varios m´ etodos de integraci´ on. Para integrar directamente se˜ nales temporales.2. 7 . Se introduce a su entrada un escal´ on y se observa que la salida del integrador ser´ a una rampa. 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. independientemente de que el sistema sea lineal o no.1 Integradores Los integradores nos permiten modelar sistemas din´ amicos lineales y no lineales descritos mediante un modelo en espacio de estados. En la figura 2. puede verse el resultado de la simulaci´ on visto a trav´ es del visor. del apartado Signal Routing de la biblioteca). se propone un peque˜ no modelo para ilustrar c´ omo funciona el bloque integrador. del apartado Sinks). Esto permite integrar se˜ nales temporales.

pulsando dos veces sobre el bloque. basta con incluir un bloque Transfer Function del apartado de tiempo continuo (Continuous) de la biblioteca.2. tales como un restador y una ganancia. siguiendo la sintaxis habitual de matlab. a partir de la funci´ on de transferencia dada con anterioridad. 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. 8 .2 Funciones de transferencia Para utilizar funciones de transferencia dentro de simulink. tal y como se presenta en la figura 4. En este caso. s+2 s2 +s+3 Step Transfer Fcn Mux Scope Figure 4: Ilustraci´ on del uso del bloque funci´ on de transferencia. Figure 5: Par´ ametros del bloque funci´ on de transferencia. como se muestra en la figura 5. se introducen los polinomios numerador y denominador. 2. En el cuadro de di´ alogo que aparece. Con ello.3 Realimentaci´ on y ganancias En la figura 7. se muestra un nuevo diagrama de bloques. conseguimos implementar un diagrama realimentado. basta con modificar los par´ ametros del mismo. El resultado de la simulaci´ on del diagrama anterior puede visualizarse a trav´ es del visor (figura 6). en el que aparecen diversos elementos nuevos.

2. Por su parte. se˜ nal escal´ on (Step). que s´ olo reciben se˜ nales. que proporciona un vector con los instantes de simulaci´ on. En el otro extremo.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). Estos elementos se encuentran en el apartado Sinks. Entre estos elementos. se˜ nales senoidales (Sine Wave) y muchas otras. generadores de se˜ nales. tenemos elementos que son “sumideros” de se˜ nales. sin producir ninguna salida. encontramos los visores. Un sumador o restador se implementa mediante un bloque Add ´ o Sum del apartado de Math Operations de la biblioteca. sino una variable de nombre K . como el Scope ya empleado. como se ver´ a a continuaci´ on. entre ellos tenemos se˜ nal de valor constante (Constant). Otro elemento interesante 9 . una ganancia se implementa mediante el bloque de forma triangular que aparece en el diagrama. F´ ıjese que el valor introducido como ganancia no es una constante.Figure 6: Respuesta resultante de la simulaci´ on del diagrama previo. Tambi´ en existe un elemento. es decir. Esto ilustra las posibilidades de interacci´ on entre matlab y simulink: variables definidas en el espacio de trabajo de matlab pueden ser usadas desde simulink. se˜ nal rampa (Ramp). obtenido a partir de un bloque Gain del apartado Math Operations. esencialmente. 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. Sum K Step Gain s+2 s2 +s+3 Transfer Function Scope Figure 7: Funci´ on de transferencia con ganancia en serie y realimentada. Los elementos de este apartado son. ser´ a necesario que previamente se haya definido dicha variable desde matlab. Para que la simulaci´ on del modelo pueda llevarse a cabo. denominado Clock.

10 . se almacena en otra variable. para cada instante de simulaci´ on. a posteriori. usando el comando plot() ya conocido: figure(1). Figure 9: Cuadro de di´ alogo para establecer los par´ ametros de un bloque To Workspace. se ha eliminado el multiplexor y la se˜ nal de entrada. con las que podremos realizar una representaci´ on gr´ afica a voluntad. producida por el escal´ on. se recomienda configurar los par´ ametros de los elementos To Workspace tal y como se muestra en la figura 9. un vector conteniendo los valores que va tomando la se˜ nal que se recibe como entrada del bloque. Se ha incluido. a la que se la denomina tSim.r. La figura 8 muestra un nuevo diagrama de bloques. en el que se ha reemplazado el visor por un bloque To Workspace. un elemento reloj. La justificaci´ on est´ a en la simplicidad que eso aporta.y). similar al de la figura 7. Una vez realizada la simulaci´ on. denominada r. En principio. Asimismo. r e y . grid. Se trata de un bloque que almacena.de este grupo es el denominado To Workspace. al que se le ha asociado el nombre de variable y . cuya salida se almacena en otra variable. en una variable cuyo nombre debemos especificar. plot (tSim. dispondremos de las variables tSim. en particular con el formato de almacenamiento de tipo Array. 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. adem´ as. tSim. para la manipulaci´ on de estas variables desde matlab.

que resultar´ a ser el elemento m´ as dominante respecto a los dem´ as.1 3.1 Aproximaci´ on por modelo de primer orden Trabajo previo En primer lugar. c = 2. Si se simula la respuesta ante escal´ on del sistema dado. 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.3 Trabajo a desarrollar en relaci´ on con el Control Toolbox de matlab En esta parte de la pr´ actica. D7 el anterior y as´ ı sucesivamente. Por ejemplo.66667 p = 0. Cada alumno elegir´ a los valores num´ ericos de los par´ ametros. se desea obtener una funci´ on de transferencia de orden reducido. puede comprobarse que se puede identificar f´ acilmente una u ´nica constante de tiempo dominante y aproximar al sistema por un modelo de primer orden. que ser´ an menos dominantes que los dem´ as elementos (si bien.67778.1.86667 3. con lo que resultar´ ıan los siguientes valores de los par´ ametros: K = 2. de la forma: 11 . 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 significativo del DNI.83333. wn = 4. D5 = 8. que aproxime el comportamiento del sistema de partida. ninguno de los factores citados ser´ a totalmente despreciable frente a los dem´ as).81111. se tendr´ ıa D8 = 7. Siendo D8 el d´ para el DNI n´ umero: 53568447. D6 = 4. D7 = 4. un cero que ser´ a de fase m´ ınima y un par de polos complejos conjugados. δ = 0. con un polo real.

• Habida cuenta de que. se trabajar´ a con una funci´ on de transferencia similar a la dada en (1). identifique emp´ ıricamente los par´ ametros de la funci´ on de transferencia aproximada (2): ˜ [p1]. se definen: t63% = τ ˜ y te95% = 3 τ ˜. puede recurrirse a los comandos de matlab vistos anteriormente. Para realizar esta comparaci´ on de forma gr´ afica.2 Aproximaci´ on por modelo de segundo orden En este apartado. • Compare la respuesta ante escal´ on unitario del sistema original y del reducido. Otra forma se basa en que el 95% del valor final se alcanza una vez transcurrido un tiempo equivalente a tres veces la constante de tiempo de dicho sistema: y (3 τ ˜) = y (0) + 0. y (˜ τ2 ) [p6]. transcurrido un intervalo de tiempo en segundos igual al doble de la constante de tiempo despu´ es de producirse el escal´ on de entrada. despu´ es de producirse el escal´ on de entrada. Para ello. y (2 τ ˜) [p3]. • Con objeto de poder hacer la comparaci´ on con el nuevo modelo aproximado resultante del punto anterior. w n2 = p (3) 12 . con la diferencia de que los polos complejos conjugados se har´ an m´ as significativos.G1 ( s ) ≈ ˜ K 1+τ ˜s (2) A partir de la representaci´ on gr´ afica de la respuesta ante escal´ on del sistema. 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. (2) en ese mismo instante. transcurrido un intervalo igual a la nueva constante de tiempo. 2 ) + 2 δ2 w n2 s + w n 2 G2 ( s ) = (s + p) ( s 2 δ2 = δ − 0. para un sistema que sea verdaderamente de primer orden. De acuerdo con lo anterior. se modifica el valor original de los par´ ametros δ y wn : K (s + c ) . Trabajo en el Centro de C´ alculo • Simule la respuesta ante escal´ on del sistema original (1). alogamente para el nuevo sistema aproximado yaprox2 (˜ τ2 ) [p7]. An´ 3. y constante de tiempo τ ganancia est´ atica K ˜ [p2](estimada a partir de la regla t63% = τ ˜). A la vista de esa respuesta. indique el valor de la respuesta del sistema original (1). proporcionando a dicha funci´ on un vector tiempo con el paso o incremento correspondiente.95 (y (∞) − y (0)). se pide aproximaci´ on estimando la constante de tiempo mediante la regla te95% = 3 τ realizar esta estimaci´ on alternativa de la constante de tiempo. Como es sabido.2 . dependiendo del modelo concreto. puede obtenerse una mejor ˜. pueden estimarse los dos par´ ametros requeridos en (2). la identificaci´ on de la constante de tiempo puede realizarse con exactitud de varias formas: una de ellas se basa en que: y (˜ τ ) = y (0) + 0. y an´ alogamente para el sistema aproximado ˜) [p4].63 (y (∞) − y (0)). a la que se llamar´ aτ ˜2 [p5]. Mida el valor de la respuesta del sistema original (1).

expresada en tanto por ˜yw ˜ ) y tiempo de pico (t ˜. 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´ afica de la respuesta ante escal´ on de un sistema de este tipo.2 Trabajo en el Centro de C´ alculo • Simule la respuesta ante escal´ on del sistema original (3). identifique emp´ ıricamente los par´ ametros de la funci´ on de transferencia aproximada (4): ˜ [p9]. Nota: Tal y como se ha dicho anteriormente. An´ subida. La relaci´ on entre las citadas medidas y los par´ ametros de la funci´ on de transferencia. 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 . como es sabido. para deducir los tres par´ uno.1 Trabajo previo Se desea obtener una funci´ on de transferencia de segundo orden. δ ˜p ). que aproxime el comportamiento del sistema de partida dado.2. Mida el valor de la respuesta del sistema original (3). transcurrido un intervalo igual al tiempo de ˜s ) [p11]. • Compare la respuesta ante escal´ on unitario del sistema original y del reducido. se sugiere usar las medidas de ganancia est´ atica.2. Simulando la respuesta ante escal´ on del sistema dado. son las siguientes: ˜2 ˜ = e 1− δ SO π ˜p = t ˜2 w ˜n 1 − δ −δ π √ ˜ (5) 3. debe emplearse la expresi´ on (5) para la estimaci´ on de w ˜n . dicha respuesta se puede aproximar mediante una funci´ on de transferencia de segundo orden subamortiguada. efectivamente. y (t alogamente para el ˜ sistema aproximado (4) en ese mismo instante. Para el trabajo a realizar a continuaci´ on. coeficiente de amortiguamiento δ amortiguada w ˜n [p10]. ser´ a referida como SO ametros: K ˜n . pueden estimarse los par´ ametros requeridos en (4). despu´ es de producirse el escal´ on de entrada. A la vista de esa respuesta.3. yaprox (ts ) [p12]. puede comprobarse que. y frecuencia natural no ˜ ganancia est´ atica K [p8]. sobreoscilaci´ on (que.

Dado que este sistema es lineal.1 4. D7 = 4. despe¨ jando la derivada segunda de la salida. 4. suponiendo condiciones iniciales nulas. θ. El resultado puede apreciarse en la figura 10. 1 14 . y como salida la orientaci´ on del eje de la ˙ [rad/s]). u [V]. la ecuaci´ carga.4 Trabajo a desarrollar en relaci´ on con simulink En esta secci´ on. puede obtenerse su funci´ on de transferencia de forma inmediata. θ [rad] (o.82222. en lugar de 90. con lo que resultar´ de los par´ ametros: Km = 0. resultando Gv (s) para la salida en velocidad y A diferencia de lo que ocurre con los dem´ as par´ ametros. Por ejemplo. u Km 1/I acelAng 1 s velAng 1 s ang Scope b Figure 10: Diagrama de bloques que implementa el modelo del motor. D6 = 4. I = 3. 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 . se tendr´ ıa D8 = 7.1 Modelado del motor Trabajo previo El diagrama de bloques de la ecuaci´ on diferencial (6) puede implementarse f´ acilmente. el denominador de la expresi´ on que define el par´ ametro b es 9. Tomando como entrada la tensi´ on aplicada sobre el motor. para el DNI n´ umero: ıan los siguientes valores 53568447. 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. en su caso. D7 y D8 son las tres u ´ltimas cifras del DNI. el alumno deber´ a emplear simulink para simular el comportamiento de un sistema lineal que modela a un motor de corriente continua (caso simplificado).1.16667 y b = 11.66667 1 .

como la aceleraci´ on angular.3 segundos despu´ de los valores θ(t) [p13] y θ es de producirse dicho escal´ on. 0. Una vez hecho esto. Por defecto. θ on. la u ´nica diferencia entre el modelo representado en la figura 10 y el mostrado en la figura 11 es que. ˙(t = 0) = 0 [rad/s].s+1 velAng 1 s ang Scope Figure 11: Modelado del motor mediante funci´ on de transferencia. puede configurar libremente el n´ umero de entradas del mismo. Desde el punto de vista pr´ actico. se puede simular la evoluci´ on del sistema ante condiciones iniciales no nulas y que existen se˜ nales intermedias directamente ¨. el valor de este par´ ametro suele ser auto. tenga precauci´ on para no pasar por alto el instante en el que se produce el escal´ on. Mantenga. Nota: En algunos casos. como consecuencia de lo anterior. el n´ umero de puntos a registrar durante una simulaci´ on aumenta considerablemente. a trav´ es de su funci´ on de transferencia. b θ 4. 2 A trav´ es de las propiedades del multiplexor. o el par de fricci´ ˙. significa que la simulaci´ on puede requerir un paso de integraci´ on m´ aximo m´ as reducido. como se muestra en la figura 11. no es cero. a partir de los par´ ametros del modelo (6). y la simulaci´ on dura el tiempo suficiente. una forma equivalente de modelar el motor. pero haciendo que entre tambi´ en en el visor la velocidad angular 2 . a trav´ es de las propiedades del integrador correspondiente. Tome nota ˙(t) [p14]. 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. Configure una condici´ on inicial no nula. condici´ on inicial nula para la velocidad angular. step size) del m´ etodo num´ erico de integraci´ on de simulink (ver figura 12). θ(t = 0) = 0. El par´ ametro que controla este paso de integraci´ on puede establecerse en (Menu→Simulation→Configuration Parameters→Max. a partir de las representaciones gr´ aficas de las se˜ nales de inter´ es. sin embargo. Esto puede dar lugar a medidas imprecisas. accesibles. θ Nota: De cara al siguiente punto. por defecto. • Simule la respuesta del sistema ante una entrada de tipo escal´ on: u(t) = 4V . dado que. pero puede modificarse este valor a voluntad. u K tau .2 Trabajo en el Centro de C´ alculo • Implemente el diagrama de bloques mostrado en la figura 10. para la salida en posici´ on. 15 .1. en relaci´ on con los elementos Scope. si se observa que las curvas de respuesta tienen pocos puntos.2 [rad]. ser´ ıa mediante un u ´nico bloque de simulink. Si. en el primero de ellos. para forzar a que el n´ umero de puntos en los que se lleva a cabo la simulaci´ on se incremente sustancialmente.Gp (s) para la salida en posici´ on: Gv ( s ) = K . puede ser necesario tener en cuenta una consideraci´ on adicional.

la limitaci´ on del buffer. Este problema puede solventarse de forma inmediata. Figure 13: Opci´ on para desactivar la limitaci´ on del buffer del Scope. accediendo a las propiedades del Scope y desactivando. el cual puede verse desbordado. como se desee. 16 . en caso de que ´ estos se est´ en usando. poseen un buffer para el registro de las variables que se reciben como entrada. • Proporcione los valores de los par´ ametros de la funci´ on de transferencia Gv (s): K [p15]. τ [p16]. bien de forma experimental. Estos visores. Esto llevar´ ıa a la p´ erdida del registro de la primera parte del experimento. en la pesta˜ na Data History. los bloques Scope s´ olo mantienen el registro de los u ´ltimos 5000 puntos de una simulaci´ on. bien de forma anal´ ıtica. tal y como se muestra en la figura 13. Por defecto.Figure 12: Opci´ on para cambiar el paso m´ aximo de integraci´ on de simulink. Estos par´ ametros pueden obtenerse.

tpteorico [p18]. al estar el sistema en bucle abierto. se ha usado directamente la funci´ on de transferencia de salida en posici´ on. puede comprobarse que la funci´ on de transferencia equivalente al conjunto es una de segundo orden. tpexperim [p19].7. en este caso. para un valor gen´ erico de ganancia Kc . En los casos anteriores. determine anal´ ıticamente el tiempo de pico que tendr´ ıa la respuesta ante referencia en escal´ on. Determine este mismo valor experimentalmente. • Implemente el diagrama de bloques mostrado en la figura 14 y verifique el punto anterior (basta comprobar que la sobreoscilaci´ on del sistema realimentado resultante debe ser ligeramente inferior al 5%). como puede comprobarse.2 Trabajo en el Centro de C´ alculo • Determine anal´ ıticamente el valor de la ganancia Kc [p17]. Debe tenerse en cuenta que la se˜ nal de tipo escal´ on es. 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. 17 .1 Motor en realimentaci´ on Trabajo previo A partir de la funci´ on de transferencia del motor. a partir de una simulaci´ on con el modelo de la figura 14.2. siendo ´ esta la se˜ nal que se realimenta. que debe ser comparada con la salida y.2. se trata de una referencia para el a ´ngulo de salida del motor. para que el sistema realimentado resulte estable y con un coeficiente de amortiguamiento δ = 0. se ha a˜ nadido una ganancia ajustable que. debe ser una se˜ nal de la misma naturaleza que ´ esta. e(t). en este caso. la se˜ nal proporcionada por el escal´ on ser´ a una se˜ nal de referencia.4. como se muestra en la figura 14. Como puede apreciarse. u(t). • Para el valor de ganancia Kc fijado. Si se realiza la reducci´ on del diagrama de bloques. a˜ nadiendo una ganancia ajustable en la cadena directa. resulta muy c´ omodo establecer una configuraci´ on en realimentaci´ on. Sin embargo.s2 +s ang Scope Figure 14: Sistema motor realimentado con ganancia ajustable. r(t). el escal´ on se usaba para proporcionar directamente la se˜ nal de entrada al sistema o actuaci´ on. proporciona una actuaci´ on directamente proporcional a dicho error: u(t) = Kc e(t). Por otro lado.2 4. r e Kc u K tau . figuras 10 y 11. por tanto. de naturaleza distinta a la que ten´ ıa en los diagramas en bucle abierto. en el esquema realimentado. a partir del error observado en el a ´ngulo de salida respecto a la referencia fijada. de acuerdo con la expresi´ on (8). es decir.

• Para cada respuesta hay que escribir una l´ ınea con el siguiente formato: nombre = valor. el denominador de una funci´ on de transferencia). los corchetes deben obviarse. 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. p15 = [3.3.us. Ejemplo: Para responder que el valor de la constante de tiempo de la funci´ on de transferencia (2) es 0. En el enunciado de la pr´ actica se indica con una etiqueta entre corchetes cada respuesta que hay que entregar. no la coma. • Observe que los decimales se separan utilizando el punto. • Si desconoce alguno de los datos solicitados. • En caso de que hubiera que dar una respuesta que correspondiera a un polinomio (por ejemplo. hay que utilizar el formato explicado al principio para introducir polinomios en matlab en la Secci´ on 1. como las siguientes: 18 . 0.45].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).45 habr´ ıa que escribir las siguientes l´ ıneas: p14 = 7. 0. En caso de que alguno de los polinomios fuera una constante. • Es recomendable confeccionar la respuesta en un fichero de texto plano antes de pasarla al servidor. evite dar respuestas que provoquen error de sintaxis. para indicar: 7 Gbc(s) = 2 3s + 0.3 segundos. La p´ agina web del servidor de docencia es: http://bono. se escribir´ ıa la siguiente l´ ınea: p2 = 0.1. Ejemplo: A la primera respuesta (valor de la ganancia est´ atica identificada) le corresponde el nombre p1 y a la u ´ltima respuesta le corresponde el nombre p19. por ejemplo utilizando el bloc de notas de Windows. • Goodle rechaza los env´ ıos con errores de sintaxis.5 Instrucciones para entregar las respuestas en Goodle Las respuestas del m´ odulo entregar´ an en Goodle. Por ejemplo.

p10 = 9.1.3. p12 = 3. p6 = En lugar de eso. p17 = -92. Ejemplo de formulario relleno (Los n´ umeros siguientes son aleatorios) p1 = 3. p15 = 29.5.0005.2.65. p4 = 23. p7 = 76. p5 = 34.4. p9 = 1. p8 = 12. p14 = 2.p5 = . p2 = 4. p6 = -4. p6 = 0. p16 = 0.84.4. preferentemente un valor nulo: p5 = 0. p19 = 4.4. p18 = 2.5. p3 = 0. p11 = 43. introduzca en la respuesta alg´ un valor.17. p13 = 5. 19 .