SISTEMAS ELECTRÓNICOS Y AUTOMÁTICOS PRÁCTICA 4

.
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