. SISTEMAS ELECTRÓNICOS Y AUTOMÁTICOS PRÁCTICA 4. DISEÑO DE SISTEMAS DE CONTROL EN EL ESPACIO DE ESTADOS. ÍNDICE: 1. Descripción del sistema a controlar. 2. Control en posición por realimentación del estado. 2.1. 2.2. 2.3. 2.4. 2.5. 2.6. 2.7. Modelo matemático del servomotor. Modelo de estado del servomotor. Discretización del sistema. Análisis del sistema. Modelo matemático completo del servomotor. Diseño del bucle de realimentación del estado. Diseño de la ganancia a la entrada del sistema. Escuela Politécnica Superior de Elche Ingeniería Industrial CONTROL EN POSICIÓN DE UN SERVOMOTOR DE CORRIENTE CONTINUA MEDIANTE REALIMENTACIÓN DEL ESTADO En esta práctica vamos a estudiar, bajo simulación, cómo se podría implementar el control en posición de un servomotor de corriente continua mediante la técnica de realimentación del estado, utilizando un computador como elemento de control. Asimismo, se pretende comprobar cuáles son los problemas habituales de la implantación práctica de un sistema de control por realimentación del estado. 1. DESCRIPCIÓN DEL SISTEMA. Un servomotor es un motor eléctrico que puede ser controlado en velocidad y/o posición, mediante una entrada adecuada. - Control en velocidad: Posibilidad de hacer girar al motor a una velocidad determinada, independientemente de la carga o fuerza que se deba vencer. - Control en posición: Posibilidad de realizar desplazamientos entre dos posiciones determinadas con precisión. La señal de entrada es el voltaje que introducimos al motor. Al introducir un voltaje, el motor comenzará a girar con una cierta velocidad angular. Por otro lado, habitualmente, el motor estará equipado con un sensor de posición (que devuelve un voltaje proporcional a la posición angular en que se encuentra posicionado el eje del motor) y un sensor de velocidad, que devuelve un voltaje proporcional a la velocidad angular del motor. En nuestro caso, la variable de salida será la posición medida por el sensor, dado que ésta es la variable que deseamos controlar. 2. CONTROL EN POSICIÓN POR REALIMENTACIÓN DEL ESTADO. Se pretende realizar el control en posición del servomotor utilizando la técnica de realimentación del estado. El objetivo es que se introduzca al servomotor una tensión de referencia para la posición y que éste alcance dicha posición, satisfaciendo las condiciones impuestas de diseño. Por una parte, para conseguir que se cumplan las especificaciones del transitorio, será necesario calcular la matriz de realimentación del estado, KC. Por otra parte, para ajustar el régimen permanente, añadiremos una ganancia a la entrada, KS. 2 Escuela Politécnica Superior de Elche Ingeniería Industrial Para realizar el control del motor, seguiremos los siguientes pasos: 1. El primer paso consiste en obtener el modelo matemático del servomotor. En una aplicación real, este modelo se obtendría realizando una identificación del sistema. 2. A continuación, habrá que representar el modelo obtenido en representación interna (modelo de estado). Posteriormente, dado que se pretende realizar un control por computador, se discretizará dicho modelo. 3. Una vez tenemos el modelo discreto, es necesario estudiar la controlabilidad y observabilidad del sistema para conocer si es posible implantar el control que pretendemos. 4. Si el sistema es controlable y observable, pasaremos a calcular el valor de la matriz de realimentación del estado, KC, considerando las especificaciones de diseño del régimen transitorio. 5. A continuación, calcularemos la ganancia a la entrada, KS, para conseguir ajustar el régimen permanente del sistema. 6. Por último, comprobaremos mediante una simulación (utilizando Simulink) que el comportamiento del sistema con los elementos de control adecuados es el deseado. 2.1. Modelo matemático del servomotor. El diagrama de bloques de un motor de corriente continua toma la siguiente forma: Según este diagrama, u(t) es la entrada, es decir, el voltaje de referencia que introducimos al motor. θ&(t ) es la velocidad a la que gira el eje del motor (cuya relación con la entrada es a través de una función de transferencia de primer orden) y θ (t ) es la posición del motor, que se obtiene integrando la velocidad. En esta práctica, vamos a suponer que hemos sometido al sistema a un proceso de identificación, y hemos obtenido los siguientes valores: k = 0.03 τ = 0.2 seg 2.2. Modelo de estado del servomotor. Una vez que se ha identificado el modelo del sistema, el siguiente paso consiste en modelarlo en variables de estado. Como sabemos, un sistema se puede representar en variables de estado de infinitas formas. Sin embargo, a la hora de implementar un esquema de control en un sistema real, interesa que dichas variables tengan sentido físico, de modo que puedan medirse fácilmente en el sistema real y, por tanto, realimentarse. 3 Escuela Politécnica Superior de Elche Ingeniería Industrial Por esta razón, para modelar el servomotor en representación interna, se elegirán como variables de estado la posición y la velocidad, tal y como se muestra en el siguiente diagrama de bloques. Ejercicio 1: Modelar el sistema en representación interna considerando como variables de estado la posición y la velocidad del servomotor, tal y como se ha mostrado en el diagrama de bloques anterior. Es decir, se tomarán como variables de estado: x1 (t ) = θ (t ) x2 (t ) = θ&(t ) 2.3. Discretización del sistema. Puesto que se va a realizar un control digital por realimentación del estado, ya que se va a utilizar un computador para implementar el control, es necesario obtener el sistema discreto equivalente al sistema continuo modelado anteriormente. Si el sistema continuo inicial es: r r r xr& (t ) = A ⋅ xr(t ) + B ⋅ u (t ) y (t ) = C ⋅ x (t ) + D ⋅ u (t ) En un esquema de control por computador, la señal de entrada al sistema deberá convertirse en continua (utilizaremos un bloqueador de orden cero) y la salida del sistema debe muestrearse. El sistema discreto que se obtiene al añadir un bloqueador de orden cero y muestreador de periodo T es: r r r x[(k +1)T ] = Gx (kT ) + Hu (kT ) r r r y (kT ) = Cx (kT ) + Du (kT ) donde las matrices del sistema discretizado se pueden calcular a partir de las matrices del sistema continuo mediante las expresiones: G = e A⋅T T H = ⎛⎜ ∫ e A⋅λ dλ ⎞⎟ ⋅ B ⎝ 0 ⎠ Gráficamente, al realizar la discretización, hemos pasado del sistema continuo: 4 Escuela Politécnica Superior de Elche Ingeniería Industrial Al sistema discreto equivalente: Donde la entrada y la salida ahora son secuencias, y no señales continuas. Para discretizar un sistema continuo en representación interna, puede utilizarse la función de Matlab c2d. » [G,H] = c2d(A,B,T) Donde T es el periodo de muestreo del sistema. En nuestro caso, consideraremos T = 0.01s. Para una correcta discretización del sistema continuo, el periodo de muestreo debe ser pequeño. En concreto, debe ser menor que la constante di tiempo del sistema. Habitualmente, se selecciona el periodo de muestreo de forma que cumpla: T< τ 10 Donde τ es la constante de tiempo del sistema. El periodo elegido cumple esta restricción. Ejercicio 2: Obtener el sistema discreto en representación interna equivalente al sistema continuo modelado en el ejercicio 1. Considerar un periodo de muestreo de 0.01 segundos. 5 Escuela Politécnica Superior de Elche Ingeniería Industrial 2.4. Análisis del sistema. Para realizar el control por realimentación del estado, las variables de estado deben ser medibles. en nuestro caso, las variables de estado corresponden a la posición y a la velocidad del motor, que pueden ser medidas mediante los sensores de velocidad y posición de que está dotado dicho motor. En caso de que las variables no fueran medibles, sería necesario diseñar un observador para estimar su valor. Por otra parte, para poder implantar un control por realimentación del estado, el sistema debe ser controlable y observable. Si el sistema no fuera controlable, su comportamiento sería independiente de la entrada, por lo que no sería modificable a pesar de realizar una realimentación del estado sobre ella. Por su parte, si fuera no observable, la salida estaría desacoplada del sistema y, por tanto, tampoco tendríamos control sobre ella. Para saber si un sistema lineal e invariante es controlable, únicamente hay que comprobar que el rango de la matriz de controlabilidad Q sea igual al orden del sistema. Sin embargo, no sólo basta con esta comprobación, sino que hay que verificar que la matriz no esté mal condicionada (es decir, que la matriz no sea ‘casi singular’). Para comprobar si una matriz está bien condicionada, se puede utilizar la función de Matlab cond. » cond(Q) Esta función devuelve el número de condición de la matriz. Cuanto mayor sea este número, peor condicionada está la matriz y, por tanto, más próxima está a ser singular. A efectos de control, si la matriz es controlable pero está mal condicionada, será necesaria una señal de control desorbitada, por lo que no se podrá implantar el control en el sistema real. Ejercicio 3: Determinar si es realmente posible implantar un control en posición por realimentación del estado en el servomotor considerando el sistema modelado en variables de estado con sentido físico. 2.5. Modelo matemático completo del servomotor. En el apartado 2.1 se indicó que el esquema de control en posición de un motor de CC en bucle abierto se podía modelar de la siguiente manera: Donde: - u(t) es la entrada, es decir, el voltaje de referencia que introducimos al motor. - θ&(t ) es la velocidad a la que gira el eje del motor. - θ (t ) es la posición del motor, que se obtiene integrando la velocidad. 6 Escuela Politécnica Superior de Elche Ingeniería Industrial Sin embargo, este modelo no corresponde al modelo real del motor dado que, como se ha comentado en la introducción, para medir la velocidad se utiliza un sensor que devuelve un valor de tensión proporcional a la velocidad del motor, y para medir la posición se utiliza un sensor que devuelve un valor de tensión proporcional a la posición angular del motor. De este modo, el modelo completo del servomotor de CC que vamos a considerar es el siguiente: En nuestro caso, consideraremos que las constantes de los sensores son kv = 25, kp = 5. Ejercicio 4: a) Modelar el sistema en representación interna según el diagrama de bloques anterior, considerando como variables de estado la posición y la velocidad del servomotor. Es decir, se tomarán como variables de estado: x1 (t ) = θ (t ) x2 (t ) = θ&(t ) b) Obtener el sistema discreto en representación interna equivalente al sistema continuo modelado en el apartado a. Considerar un periodo de muestreo de 0.01 s. c) Determinar si es realmente posible implantar un control en posición por realimentación del estado en el servomotor considerando el sistema modelado en variables de estado con sentido físico. 2.6. Diseño del bucle de realimentación del estado. El esquema de control del sistema con realimentación del estado es el siguiente: Donde la matriz de realimentación del estado K C = [k1 k2 ] permite fijar la dinámica del sistema, y la matriz a la entrada K S permite fijar el régimen estacionario. 7 Escuela Politécnica Superior de Elche Ingeniería Industrial Para realizar el diseño de la matriz de realimentación, es necesario transformar el sistema a la representación en forma canónica controlable (FCC) o variables de fase. Por lo tanto, hay que encontrar la matriz TC de trasformación a la FCC: −1 r ~ x (k ) = TC ⋅ x (k ) Para calcular la matriz de transformación, hayamos la matriz Q, la invertimos y nos quedamos con la última fila. Mediante dicha fila, construimos la inversa de la matriz de transformación como: [ Q= H GH G 2 H K G n −1H ] ⇒ ⎡e1T ⎤ ⎢ T⎥ e −1 Q =⎢ 2⎥ ⎢M⎥ ⎢ T⎥ ⎣⎢en ⎦⎥ ⇒ ⎡ enT ⎤ ⎢ T ⎥ e G −1 TC = ⎢ n ⎥ ⎢ M ⎥ ⎢ T n −1 ⎥ ⎣⎢en G ⎦⎥ Una vez transformado el sistema a la FCC, mediante la matriz de realimentación del estado ~ ~ ~ K C = k1 k2 se fijará la dinámica del sistema. La matriz de realimentación se construye a partir de los coeficientes del polinomio característico actual del sistema discretizado y del polinomio deseado tras realimentar dicho sistema: [ ] Polinomio característico actual: Polinomio característico deseado: P( z ) = z n + an −1 z n −1 + K + a1 z + a0 PR ( z ) = z n + α n −1 z n −1 + K + α1 z + α 0 Entonces, la matriz de realimentación necesaria para conseguir este nuevo polinomio característico es: ~ K C = [k1 k2 k3 K k n ] = [α 0 − a0 α1 − a1 α 2 − a2 K α n − an ] El estado que al que se le debe aplicar la matriz de realimentación calculada es el representado en r variables de fase ~x (k ) = TC −1 x (k ) , es decir, el esquema del sistema realimentado quedará: Ejercicio 5: Calcular la matriz de transformación TC del sistema en representación en variables de estado con sentido físico a la representación en forma canónica controlable (FCC). Simular el comportamiento del sistema modelado en FCC usando Simulink y comprobar que coincide con el sistema modelado en variables de estado con sentido físico. 8 Escuela Politécnica Superior de Elche Ingeniería Industrial Ejercicio 6: Diseñar un control en posición del servomotor por realimentación del estado de forma que se satisfagan las siguientes especificaciones: a) La respuesta del sistema debe ser críticamente amortiguada, con un tiempo de establecimiento inferior a 0.3 segundos. b) La respuesta del sistema debe tener una sobreoscilación del 30% con un tiempo de establecimiento inferior a 0.5 segundos. c) La respuesta del sistema debe ser con oscilaciones muertas. En cada apartado es necesario calcular la posición que deben tener los polos continuos (a mano), y a continuación, se deben discretizar (se puede utilizar Matlab para ello). Una vez calculados los polos discretos, es posible conocer el polinomio característico deseado mediante la función poly. En este ejercicio no se pide ajustar el régimen estacionario, por lo que no diseñaremos KS. Ejercicio 7: Para cada uno de los apartados del ejercicio anterior, comprobar bajo simulación que el sistema cumple las especificaciones de diseño, considerando que se introduce un escalón unitario en posición, cuando: - La posición inicial es 0. - La posición inicial es 1. En todos los casos, visualizar cual es la señal de control (voltaje necesario) para que el sistema cumpla las especificaciones. Discutir el resultado obtenido. El esquema Simulink necesario es: Como se trata de un sistema discreto, es muy importante definir el periodo de muestreo en los bloques en que sea necesario y en las propiedades de simulación (discrete, no continuous states, T=0.01). La posición inicial se puede definir en el bloque ‘Unit delay’. Como hay dos variables de estado y la primera es la posición, para definir una posición inicial 1, las condiciones iniciales de dicho bloque serían [1 0]’ (velocidad inicial nula). 9 Escuela Politécnica Superior de Elche Ingeniería Industrial Ejercicio 8: En el ejercicio anterior, suponer que el voltaje de entrada está limitado de -10 V a +10 V, y que el servomotor lleva una protección que impide que el voltaje salga de ese rango (de lo contrario, correriamos el riesgo de dañarlo). Simular cada uno de los esquemas, comprobar si se cumplen o no las especificaciones requeridas y comentar los resultados. Considerar como entrada un escalón unitario y como posición inicial: - La posición inicial es 0. - La posición inicial es 1. En todos los casos, visualizar cual es la señal de control (voltaje necesario). El esquema Simulink necesario es el mismo, pero añadiendo un bloque saturador a la entrada del sistema (cuyos límites se establecerán en -10 V y +10 V). 2.7. Diseño de la ganancia a la entrada del sistema. Ejercicio 9: Repetir los ejercicios 6, 7 y 8, suponiendo que además de las especificaciones del transitorio deseadas en cada uno de los apartados, se requiere un error de posición nulo. Diseñar en cada caso la ganancia a la entrada KS necesaria, simular y comentar los resultados. 10
© Copyright 2024