Sunteți pe pagina 1din 12

PROYECTO DE JTP DE SISTEMAS DE

CONTROL

DISEÑO DE CONTROL DE SISTEMAS DE


CONTROL EN EL ESPACIO DE ESTADOS

Nombre:
Univ. Choque Zegarra Cristhian Joaquin
Carrera:
Ing. Electromecánica

La Paz 15 de diciembre del 2018


DISEÑO DE CONTROL DE SISTEMAS DE CONTROL EN EL ESPACIO DE ESTADOS

Introducción

El diseño de sistemas de control es un tema muy importante, en la ingeniería en electrónica,


pues te permite obtener una ecuación la cual puedes alimentar a un controlador para así
manejar todo tipo de implementos, motores, circuitos, etc.

Matlab es una herramienta muy versátil al modelar sistemas, aki se emplea para poder ver
con mayor facilidad como se comportan estos sistemas de control.

El buen diseño de un controlador el cual al final se resume en una sencilla ecuación, asegura
el funcionamiento adecuado de aparatos en la industria, en el hogar y en el bolsillo al hacer
mas económico poder satisfacer las necesidades de dicho sistema.

Dichas técnicas no son nuevas pero son muy empleadas hoy en día por todo tipo científicos
en instituciones alrededor del mundo, a continuación se muestran algunas técnicas
empleadas para poder hacer un control confiable.

Ubicación de Polos

En esta sección se presentan los métodos de diseño conocidos como técnica de ubicación,
o de asignación de polos, suponiendo que todas las variables de estado están disponibles
para la retroalimentación.

La técnica comienza con la obtención de los polos de lazo cerrado deseados a partir de la
respuesta transitoria y/o requerimientos de la respuesta a la frecuencia tales como la
velocidad el factor de amortiguamiento relativo el ancho de banda al igual que los
requerimientos en estado estable.

Haremos uso extenso del programa MATLAB para el diseño de la matriz de


retroalimentación de estado y la simulación del sistema regulador resultante, tanto para el
caso de una entrada una salida (SISO como para el caso multivariable en el que tenemos
más de una señal de control (MIMO), para modelos continuos en el tiempo, así como para
el caso discreto.

Finalmente adicionaremos señales de perturbación y de referencia, que asumiremos como


conocidas, para diseñar sistemas seguidores que contrarresten el efecto de la perturbación
o carga y que sigan a las señales de referencia. También usaremos MATLAB para este
propósito.

El diseño del controlador o compensador para la ubicación de polos de lazo cerrado, cuando
tenemos una sola entrada y una sola salida se fundamenta en elegir al par de polos
dominantes de tal manera de obtener un factor de amortiguamiento relativo
deseado y una frecuencia natural no amortiguada. De este
modo suponemos que el efecto de los polos dominados es insignificante. Sin embargo al
especificar todos los polos de lazo cerrado tenemos un costo asociado porque hacerlo
requiere de mediciones exitosas en todas las variables de estado, o bien requiere de la
implementación de un observador de estado en el sistema.

También requerimos que el sistema sea controlable para que los polos se ubiquen en
posiciones elegidas de manera arbitraria.
A últimas fechas se emplea la técnica de diseño de filtros tipo Butterworth o semejantes para
seleccionar la ubicación de los polos de lazo cerrado más robusto, intentando con ello menor
esfuerzo de la señal de control y para obtener mayor robustez.

Consideremos un sistema de control

x = Ax + Bu• (1)

en donde x = vector de estado (n x 1)

u = señal de control (escalar)

A = matriz de estado (n x n)

B = matriz de control (n x 1)

Las matrices A y B son conocidas y constantes. Elegimos la señal de control mediante la


retroalimentación lineal del estado:

u = -Kx (2)

La matriz K de n x 1 se denomina matriz de ganancia de la retroalimentación de estadoy en


este capítulo suponemos que la señal de control u no se satura en ningún valor.

Sustituyendo la fórmula (2) en (1) resulta

x(t) = (A " BK)x(t) (3)

La solución para este sistema regulador viene dada por

x(t) = e(A " BK) tx(0) (4)

En donde x(0) es el estado inicial provocado por alguna perturbación externa que ya no está
presente. La estabilidad y la velocidad de la respuesta transitoria dependen de los valores
principales de la matriz A - BK. Si elegimos la matriz K de manera adecuada, la
matriz A - BK se convierte en una matriz que producirá estabilidad de manera asintótica y
será factible lograr que x(t) tienda al origen conforme aumenta el tiempo. Los eigenvalores
de la matriz A - BK.se denominan como polos reguladores. Si estos se ubican en el lado
izquierdo del plano complejo s entonces x(t) tenderá al origen. El problema de ubicar los
polos de lazo cerrado en los lugares deseados constituye el tópico central de este capítulo.

Como contraste, para el diseño de modelos discretos deberemos calcular la matriz de


retroalimentación para ubicar los polos de lazo cerrado dentro del círculo unitario del plano
complejo z, para lograr la estabilidad.

En la figura 1(a) se ilustra el sistema dado por (1) y en la figura 1(b) al sistema

retroalimentado dado por (4).

Como se enunció antes demostraremos que el cálculo de la matriz de


retroalimentación K sólo es posible si el sistema es controlable completamente.

Figura 1 a) Proceso en lazo abierto b) Regulador con u = -Kx


PASOS A REALIZAR

a) Presentar el diagrama físico de la planta

b) Elaborar el diagrama de bloques del SC explicando cada componente

Descripción Cuando se usan canales de generación de función de forma de onda, la ganancia


representa el valor por el cual los datos de forma de onda escalados se multiplican para obtener
los datos de salida.

Descripción
El bloque State-Space implementa un sistema cuyo comportamiento define como
donde x es el vector de estado, u es el vector de entrada, y es el vector de salida y x0 es la
condición inicial del vector de estado. Los coeficientes de la matriz deben tener estas
características:

A debe ser una matriz n por n, donde n es el número de estados.

B debe ser una matriz n por m, donde m es el número de entradas.

C debe ser una matriz r-por-n, donde r es el número de salidas.

D debe ser una matriz r-por-m.

Descripción
El bloque integrador emite el valor de la integral de su señal de entrada con respecto al tiempo.

Simulink® trata el bloque Integrador como un sistema dinámico con un estado. La dinámica de
bloques viene dada por:

dónde:

u es la entrada del bloque.

y es la salida del bloque.

x es el estado de bloqueo.

x0 es la condición inicial de x.

Si bien estas ecuaciones definen una relación exacta en tiempo continuo, Simulink utiliza
métodos de aproximación numérica para evaluarlos con precisión finita. Simulink puede usar
varios métodos de integración numérica diferentes para calcular la salida del bloque, cada uno
con ventajas en aplicaciones particulares. Utilice el panel Solver del cuadro de diálogo
Parámetros de configuración (consulte el panel Solver) para seleccionar la técnica que mejor se
adapte a su aplicación.

El solucionador seleccionado calcula la salida del bloque Integrador en el paso de tiempo actual,
utilizando el valor de entrada actual y el valor del estado en el paso de tiempo anterior. Para
admitir este modelo computacional, el bloque Integrador guarda su salida en el paso de tiempo
actual para que el solucionador lo utilice para calcular su salida en el siguiente paso de tiempo.
El bloque también proporciona al solucionador una condición inicial para usar en el cálculo del
estado inicial del bloque al comienzo de una simulación. El valor predeterminado de la condición
inicial es 0. Use el cuadro de diálogo de parámetro de bloque para especificar otro valor para la
condición inicial o cree un puerto de entrada de valor inicial en el bloque.

Utilice el cuadro de diálogo de parámetros para:


Definir los límites superior e inferior de la integral.

Cree una entrada que restablezca la salida (estado) del bloque a su valor inicial, dependiendo de
cómo cambie la entrada

Cree una salida de estado opcional para que el valor de la salida del bloque pueda desencadenar
un reinicio de bloque

Utilice el bloque Integrador de tiempo discreto para crear un sistema puramente discreto.

c) Obtener el modelo matemático de la planta (G(s))

DISEÑO DEL SISTEMA DE CONTROL (SC)

De las matrices

0 1
𝐴=[ ]
−100 −10

0
𝐵=[ ]
2

1
𝐶=[ ]
0

0
𝐷=[ ]
0

La función de estado es:

0 1 𝑥1 0
𝑋̇ = [ ] [𝑥 ] + [ ]
−100 −10 2 2

A la salida

1
𝑌̇ = [ ]
0
Obteniendo la inversa del espacio de estado
𝑠 −1
𝑠𝐼 − 𝐴 = [ ]
100 10
|𝑠𝐼 − 𝐴| = 𝑠 2 + 10𝑠 + 100
1 𝑠 −1 0
|𝑠𝐼 − 𝐴| = [ ] [ ]-
𝑠2 +10𝑠+100 100 10 2

−2
𝑠(𝑠 2 + 10𝑠 + 100)
|𝑠𝐼 − 𝐴| =
2(𝑠 + 10)
[𝑠(𝑠 2 + 10𝑠 + 100)]
Fracción parcial
−0.02 0.02𝑠 + 0.2
+ 2
|𝑠𝐼 − 𝐴| = [ 𝑠 𝑠 + 10𝑠 + 100]
0.1 −0.1𝑠 + 1
+ 2
𝑠 𝑠 + 10𝑠 + 100
La anti transformada de la matriz, se obtiene el modelo matemático
−5𝑡
𝑥(𝑡) = [−0.02 + 0.02𝑒 cos √75𝑡 + 0.011𝑒 −5𝑡 sin √75𝑡]
0.1 − 0.1𝑒 −5𝑡 cos √75𝑡 + 0.173 sin √75𝑡
d) Proyectar el controlador (obtener Gc(s))

e) Realizar las simulaciones en MatLab via Simulink (comportamiento del controlador ante
i) una variación en el SetPoint, ii) presencia de perturbaciones

Creacion del modelo de planta ................................................................................................. 8


Discretización ............................................................................................................................ 8
Diseño del controlador .............................................................................................................. 9
Diseño en tiempo continuo ....................................................................................................... 9
Diseño en tiempo discreto ...................................................................................................... 10
Diseño del observador ............................................................................................................ 10
Diseño en tiempo continuo ..................................................................................................... 10
Diseño en tiempo discreto ...................................................................................................... 11
Calculo de la ganancia ............................................................................................................. 11
Ganancia em tiempo continuo ................................................................................................ 11
Ganancia en tiempo discreto .................................................................................................. 11
Comprobación del sistema en lazo cerrado en tiempo discreto ............................................ 11
simulación en Simulink ............................................................................................................ 12
Creacion del modelo de planta
A = [ 0 1
-100 -10];
B = [0
2];
C = [1 0];
D = 0;
step(A,B,C,D)

Discretización
h =
0.01;
I =
eye(size(A));
F =
I + A*h + A^2*h^2/2;
G =
(I*h + A*h^2/2)*B;
t =
0:h:1.2;
x =
[0
0]; u = 1;
step(A,B,C,D); hold on
for k=1:length(t)
x = F*x + G*u;
y = C*x;
plot(t(k),y,'*')
pause(0.01)
end
legend('contimuo','discreto')

Diseño del controlador


polos =[-5 -20];

Diseño en tiempo continuo


K = acker(A,B,polos)
Alc = A-B*K
step(A,B,C,D); hold on
step(Alc,B,C,D)
legend('lazo abierto','lazo cerrado')

K =

0 7.5000

Alc =

0 1
-100 -25
Diseño en tiempo discreto
polosd = exp(polos*h)
Kd = acker (F,G,polosd)

polosd =

0.9512 0.8187

Kd =

-3.5926 6.6000

Diseño del observador


polosO = [-20 -100];

Diseño en tiempo continuo


polosO = [-20 -100];
L = acker(A',C',polosO)'

L =

110
800

Diseño en tiempo discreto


polosOd = exp(polosO*h)
Ld = acker(F',C',polosOd)'

polosOd =

0.8187 0.3679

Ld =

0.7084
3.6021

Calculo de la ganancia
Ganancia em tiempo continuo
Kg = pinv(C*inv(-A+B*K)*B)

Kg =

50

Ganancia en tiempo discreto


Kgd = pinv(C*inv(I-F+G*K)*G)

Kgd =

50.0000

Comprobación del sistema en lazo cerrado en tiempo discreto


Flc = F-G*Kd;
x = [0
0]; r = 0.019;
step(A,B,C,D); hold on
for k=1:length(t)
x = Flc*x + G*Kgd*r;
y = C*x;
plot(t(k),y,'*')
pause(0.01)
end
legend('continuo','discreto rn lazo cerrado')
simulación en Simulink
open_system('proyecto.slx')
sim('proyecto.slx')
plot(tout,r,tout,y)
axis([0 1.2 0.019])
legend('referencia','salida')

Published with MATLAB® R2016a

f) Interpretar las gráficas resultantes.

En la discretización se demuestra la aproximación para los datos resultantes de este diseño. Lo cual
consiste en la reconstrucción de la señal de respuesta, y muestra como es la señal en tiempo
continuo y discreto al hacer variar la “pause” en un valor más pequeño se obtiene datos más
precisos (reconstrucción) del modelo discreto respecto al modelo continuo.

La grafica final en el Simulink se toma un periodo de muestreo de 0.12 que es lo que nos resulta de
la primera programación. Y se simula conjuntamente todo (en MatLab y Simulink debe salir la
misma grafica)

S-ar putea să vă placă și