Control PID de un levitador magnético

23
http://lonely113.blogspot.com CONTROL PID DISCRETO DE UN LEVITADOR MAGNÉTICO I. INTRODUCCIÓN La levitación magnética consiste en mantener objetos suspendidos sin existir contacto mecánico gracias a la fuerza magnética. Este proceso es por naturaleza inestable y no lineal, esto hace que el control de estos sistemas sea altamente desafiante. Además, se hace obligatoria la utilización del control en lazo cerrado para mantener la levitación. Para el diseño y simulación de los sistemas de control propuestos, se ha utilizado LabVIEW y Matlab, herramientas poderosa tanto para el cálculo matemático, así como para la simulación de la respuesta de los sistemas de control usados en esta investigación y validar su desempeño. Cuando el sistema se encuentra en equilibrio estático, una fuerza f m actúa sobre la esfera, además del peso de la misma. Es aquí donde se aplica la segunda ley de Newton. II. ANÁLISIS El sistema en estudio es un Levitador Magnético de naturaleza inestable, que se muestra en su forma básica en la imagen: La corriente que circula por el electroimán, resultado de la aplicación de un voltaje DC, genera un campo magnético concentrado en el eje “y”. Como consecuencia la esfera metálica está sometida a las fuerzas Gravitacional y Magnética. Cuando

description

Diseño de un control PID discreto para un levitador magnético.

Transcript of Control PID de un levitador magnético

Page 1: Control PID de un levitador magnético

http://lonely113.blogspot.com

CONTROL PID DISCRETO DE UN LEVITADOR MAGNÉTICO I. INTRODUCCIÓN

La levitación magnética consiste en mantener objetos suspendidos sin existir contacto mecánico gracias a la fuerza magnética. Este proceso es por naturaleza inestable y no lineal, esto hace que el control de estos sistemas sea altamente desafiante. Además, se hace obligatoria la utilización del control en lazo cerrado para mantener la levitación. Para el diseño y simulación de los sistemas de control propuestos, se ha utilizado LabVIEW y Matlab, herramientas poderosa tanto para el cálculo matemático, así como para la simulación de la respuesta de los sistemas de control usados en esta investigación y validar su desempeño. Cuando el sistema se encuentra en equilibrio estático, una fuerza fm actúa sobre la esfera, además del peso de la misma. Es aquí donde se aplica la segunda ley de Newton.

II. ANÁLISIS

El sistema en estudio es un Levitador Magnético de naturaleza inestable, que se muestra en su forma básica en la imagen:

La corriente que circula por el electroimán, resultado de la aplicación de un voltaje DC, genera un campo magnético concentrado en el eje “y”. Como consecuencia la esfera metálica está sometida a las fuerzas Gravitacional y Magnética. Cuando

Page 2: Control PID de un levitador magnético

http://lonely113.blogspot.com

estas fuerzas se equilibran la esfera llega a levitar en la posición de equilibrio, manteniéndose en esta posición gracias al sistema de control que se aplique. Es posible aumentar o disminuir la fuerza magnética aumentando o disminuyendo la corriente a través del electroimán dependiendo de la posición de la esfera, que se determina mediante un sensor.

Variables de entrada

Voltaje a través del electroimán: u(t) Corriente a través del electroimán: i(t)

Variables de salida

Posición de la esfera: y(t)

2.1. Modelado del sistema

El siguiente esquema representa el sistema a controlar en su forma básica.

Para el análisis no se tomará en cuenta el transductor (sensor) que se utiliza para determinar la posición de la esfera. A continuación se determinará la función de transferencia del sistema considerando:

Entrada u(t): Tensión en voltios. Salida y(t): Posición de la esfera tomando como referencia el electroimán

La obtención del modelo parte de la formulación de las ecuaciones físicas y eléctricas que gobiernan el sistema, estas son:

Page 3: Control PID de un levitador magnético

http://lonely113.blogspot.com

Ecuación eléctrica

Se determina a partir de la malla que forman la fuente de tensión u(t), la resistencia R del electroimán, y la inductancia L del mismo.

………………….. (1)

………..……….. (2)

Ecuación física

La segunda Ley de Newton:

Aplicado al sistema:

……………..…… (3)

Dónde: m: Masa de la esfera a: Aceleración g: Constante gravitacional fm: Fuerza magnética del electroimán.

La fuerza magnética se expresa mediante:

Siendo K la constante del electroimán que viene dado por:

Dónde:

N: Número de espiras de la bobina. μ: Permeabilidad del núcleo. μ0: Permeabilidad del vacío.

Page 4: Control PID de un levitador magnético

http://lonely113.blogspot.com

Reemplazando fm en la ecuación (3):

………………………….. (4)

Definición de las variables de estado:

Siendo:

y(t): Posición de la esfera tomando como referencia al electroimán.

y’(t): Velocidad de la esfera. i(t): Corriente a través del electroimán.

Ecuaciones de estado en tiempo continuo

Reemplazando en las ecuaciones (2) y (4).

Como se observa en las ecuaciones obtenidas, el modelo matemático del sistema es no lineal, siendo necesario linealizarlo en torno a la posición de equilibrio.

Page 5: Control PID de un levitador magnético

http://lonely113.blogspot.com

Para esto se utiliza la serie de Taylor, dando como resultado la matriz de estado siguiente:

Resolviendo se obtiene:

Es necesario hallar la corriente de equilibrio x30 para la posición de equilibrio x10 = cte. De la segunda ecuación de estado:

Page 6: Control PID de un levitador magnético

http://lonely113.blogspot.com

Reemplazando en las matrices de estado:

Reemplazando datos del sistema; para este caso particular:

Finalmente se obtienen la matriz de ecuaciones de estado en tiempo continuo:

Page 7: Control PID de un levitador magnético

http://lonely113.blogspot.com

Ecuaciones de estado en tiempo discreto

La discretización se realiza en Matlab mediante el comando “c2dm”, considerando:

Ts=0.001 s

Retenedor de órden 0: “zoh”

Dando como resultado la matriz de ecuaciones de estado en tiempo discreto:

2.2. Simulación

2.2.1. En tiempo continuo

Se obtiene la función de transferencia en Lazo Abierto a partir de las ecuaciones de estado.

Se obtienen los polos del sistema:

La existencia de un polo en el semiplano derecho nos indica que el sistema es inestable. A continuación se observan los gráficos de respuesta al escalón del sistema en lazo abierto y el gráfico del lugar geométrico de raíces en Matlab (El código se adjunta en el Anexo B)

Page 8: Control PID de un levitador magnético

http://lonely113.blogspot.com

Respuesta al Escalón

Lugar Geométrico de Raíces

2.2.2. En tiempo discreto

Se obtiene la función de transferencia en lazo abierto a partir de las ecuaciones de estado en tiempo discreto:

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8-2.5

-2

-1.5

-1

-0.5

0x 10

25 Respuesta al escalón unitario del sistema en Lazo Abierto

Time (seconds)

Am

plit

ude

-600 -400 -200 0 200 400 600 800-800

-600

-400

-200

0

200

400

600

800

Gráfico de lugar geométrico de raíces

Real Axis (seconds-1)

Imagin

ary

Axis

(seconds

-1)

Page 9: Control PID de un levitador magnético

http://lonely113.blogspot.com

Se obtienen los polos del sistema:

La presencia de un polo fuera del círculo unitario nos indica la inestabilidad del sistema. A continuación se observan los gráficos de respuesta al escalón del sistema en lazo abierto y el gráfico de polos y ceros en Matlab (El código se adjunta en el Anexo B).

Respuesta al Escalón

Gráfico de Polos y Ceros

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8-2.5

-2

-1.5

-1

-0.5

0x 10

25 Respuesta al escalón unitario del sistema

Time (seconds)

Am

plit

ude

-3.5 -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1

-1.5

-1

-0.5

0

0.5

1

1.5

Real Part

Imagin

ary

Part

Gráfico de Polos y Ceros

Page 10: Control PID de un levitador magnético

http://lonely113.blogspot.com

2.3. Requerimientos de diseño del control PID

Se requiere diseñar un controlador PID tal que el sistema cumpla los siguientes requisitos:

Tiempo de establecimiento: 1 s Sobreimpulso máximo: 50 % Error en estado estacionario: 0.

El controlador PID discreto se realiza mediante el método del rediseño, es decir, diseñando primero un controlador PID para el sistema en tiempo continuo y posteriormente discretizándolo con las consideraciones de Frecuencia de muestreo y aproximación trapezoidal de la parte integral. Como el sistema que representa a la “planta” es de Tercer Órden no es posible diseñar el controlador para que cumplan los requisitos (como se realiza con sistemas de segundo órden). En este caso se utilizará el método de Routh-Hurwitz para determinar los rangos de las ganancias Kp, Ki, Kd que estabilizan al sistema, posteriormente se sintonizará el controlador PID utilizando LabVIEW, pues éste a diferencia de Matlab permite variar los valores de las ganancias en forma interactiva y muestra la respuesta en tiempo real.

Función de transferencia en lazo abierto:

Función de transferencia del controlador:

Page 11: Control PID de un levitador magnético

http://lonely113.blogspot.com

Implementación de un control PD mediante el método de Routh-Hurtwiz.

Función de transferencia del controlador PD: Ecuación característica del sistema en lazo cerrado

s

3

s2

s1

0

s0 0

Para que el sistema sea estable se obtiene:

Page 12: Control PID de un levitador magnético

http://lonely113.blogspot.com

Simulando con estos valores en LabVIEW.

Efectivamente, el sistema se estabiliza, pero existe el problema del error en estado estacionario, que en este caso es muy grande, además del tiempo de establecimiento. Es necesario implementar también un controlador PI.

Page 13: Control PID de un levitador magnético

http://lonely113.blogspot.com

Implementación de un controlador PI mediante el método de Routh-Hurwitz.

Función de transferencia del controlador PI:

Ecuación característica del sistema en lazo cerrado:

Se obtiene:

………….…..tercera línea

……………...cuarta línea

El valor de Ki que hace estable al sistema es incongruente, por lo que se deduce que un controlador PI no puede estabilizar el sistema.

s4 1 -1304 -1142.6·Ki

s3 268.2011 -349700-1142.6·Kp 0

s2 -0.128+4.26·Kp -1142.6·Ki 0

s1 … 0 0

s0 -1142.6·Ki 0 0

Page 14: Control PID de un levitador magnético

http://lonely113.blogspot.com

Implementación del controlador PID

Se realiza la sintonización en LabVIEW tratando de lograr los requisitos, partiendo de las restricciones de Kp y Kd obtenidas en el paso anterior.

Page 15: Control PID de un levitador magnético

http://lonely113.blogspot.com

Se procede a simular en Matlab con estos valores. El código se adjunta en el Anexo C.

Respuesta al Escalón

Lugar Geométrico de Raíces

Respuesta al escalón unitario del sistema con controlador

Time (seconds)

Am

plit

ude

0 0.05 0.1 0.15 0.2 0.25 0.3 0.350

0.5

1

1.5

-140 -120 -100 -80 -60 -40 -20 0 20-250

-200

-150

-100

-50

0

50

100

150

200

250

Gráfico del lugar geométrico de raíces

Real Axis (seconds-1)

Imagin

ary

Axis

(seconds

-1)

Page 16: Control PID de un levitador magnético

http://lonely113.blogspot.com

Se observa que los polos están en el semiplano izquierdo. Se obtienen los siguientes parámetros:

Se calculan las ganancias del controlador PID en tiempo discreto. Se utiliza aproximación trapezoidal para la componente integral.

De dónde:

Se procede a simular en LabVIEW para obtener los parámetros de la respuesta al escalón unitario.

Page 17: Control PID de un levitador magnético

http://lonely113.blogspot.com

Simulación en Matlab. El código se adjunta en el Anexo C.

Respuesta al Escalón

Gráfico de Polos y Ceros

Se observa que los polos están dentro del círculo unitario.

Se obtienen los siguientes parámetros:

0 0.05 0.1 0.15 0.2 0.25 0.3 0.350

0.5

1

1.5

Respuesta al escalón unitario del sistema con controlador

Time (seconds)

Am

plit

ude

-3.5 -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1

-1.5

-1

-0.5

0

0.5

1

1.5

Real Part

Imagin

ary

Part

Gráfico de polos y ceros

Page 18: Control PID de un levitador magnético

http://lonely113.blogspot.com

III. SIMULACIÓN EN TIEMPO REAL DEL SISTEMA CON CONTROL PID

Se realiza en LabVIEW. La programación es en lenguaje G. Se diseñan los controladores P, PD y PI independientemente para unirlos posteriormente en un bloque PID paralelo. Los tres controladores (P, PI y PD) se guardan como “VIs” (Instrumentos virtuales) con sus ícono respectivos para que puedan ser llamados por otro VI: el controlador PID. Los diagramas se adjuntan en el Anexo D. Sistema de control en lazo cerrado:

Este es el esquema del sistema de control en Lazo Cerrado. Permite seleccionar Kp, Ki, Kd, Referencia, Periodo de muestreo y límites de salida del controlador desde el panel frontal. La simulación se muestra a continuación:

Page 19: Control PID de un levitador magnético

http://lonely113.blogspot.com

Se observa la respuesta del sistema al escalón, si se varía la señal de referencia se observa que la salida sigue a la referencia, dando como resultado error en estado estacionario nulo.

IV. RESULTADOS

Estrategia ts (s) Sobrepico (%) Error estacionario (%)

Control PID 0.425 51.63 0

V. ANEXOS

Anexo A. Programa en Matlab para la obtención del modelo del sistema.

m=36; %Masa de esfera

R=9; %Resistencia de bobina

N=1595; %Número de vueltas de la bobina

l=0.04; %Longitud de bobina

r=0.035/2; %Radio de bobina

h0=0.015; %Posición de equilibrio

u0=4*pi*10^-7; %Permeabilidad del medio

ur=0.4364; %Permeabilidad relativa del acero

A=r^2*pi; %Área de bobina

L=u0*ur*N^2*A/l; %Inductancia de la bobina

K=N^2*(u0*ur)^2/(2*u0); %Constante del electroimán

I0=sqrt(m*9.78*h0^2/K); %Corriente en punto de equilibrio

Ts=0.001; %Periodo de muestreo

A=[0 1 0 ; 2*K*I0^2/(m*h0^3) 0 -2*K*I0/(m*h0^2) ; 0 0 -R/L];%Matriz de

estado en tiempo continuo

Page 20: Control PID de un levitador magnético

http://lonely113.blogspot.com

Anexo B. Programa en Matlab de la respuesta del modelo del proceso en Lazo Abierto en tiempo continuo y en tiempo discreto. En Tiempo Continuo:

En tiempo discreto:

num=[-1.1426e+003];

den=[1 268.2011 -1304 -349730];

FTLA=tf(num,den);

Polos=pole(Gp);

figure(1),step(FTLA)

num=[-1.1426e+003];

den=[1 268.2011 -1304 -349730];

FTLA=tf(num,den);

Ts=0.001;

Tf=Ts;

FTLAd=c2d(FTLA,Ts);

numd=FTLAd.num{:};

Page 21: Control PID de un levitador magnético

http://lonely113.blogspot.com

Anexo C. Programa en Matlab del Sistema de Control PID en tiempo continuo y en tiempo discreto.

En tiempo continuo:

En tiempo discreto:

num=[-1.1426e+003];

den=[1 268.2011 -1304 -349730];

FTLA=tf(num,den);

Kp=-1000;

Ki=-7500;

Kd=-30;

PID=pid(Kp,Ki,Kd,0);

FTLC=feedback(series(PID,FTLA),1);

figure(1), step(FTLC)

title('Respuesta al escalón unitario del sistema con controlador')

figure(2), rlocus(FTLC)

title('Gráfico del lugar geométrico de raíces')

num=[-1.1426e+003];

den=[1 268.2011 -1304 -349730];

FTLA=tf(num,den);

Ts=0.001;

Tf=Ts;

FTLAd=c2d(FTLA,Ts);

Kp=-1000;

Ki=-7500;

Kd=-30;

PIDd=pid(Kp,Ki,Kd,0,Ts,'IFormula','Trapezoidal');

Page 22: Control PID de un levitador magnético

http://lonely113.blogspot.com

Anexo D. Diseño del controlador PID en tiempo discreto en LabVIEW a) Controlador Proporcional

b) Controlador Proporcional – Derivativo

c) Controlador Proporcional-Integral

Page 23: Control PID de un levitador magnético

http://lonely113.blogspot.com

d) Controlador PID paralelo