diseño del control pid para un levitador magnético y programa en dsp

48
CONTROL DE UN LEVITADOR MAGNÉTICO G GA AB BR RI IE EL L J JA AI IM ME E C CO OR RR RE EA A H HE EN NA AO O J JA AI IR RO O D DE E J JE ES SÚ ÚS S G GI IR RA AL LD DO O G GI IR RA AL LD DO O A AN NT TO ON NI IO O M MA AN NU UE EL L T TA AP PI IA A M MO OR RF FI IL L Presentado a: Ing. Ovidio Rueda APLICACIONES DEL DSP MEDELLÍN UNIVERSIDAD NACIONAL DE COLOMBIA FACULTAD DE MINAS ESCUELA DE INGENIERÍA ELÉCTRICA Y MECÁNICA

Upload: gabriel-correa

Post on 25-Jun-2015

3.771 views

Category:

Documents


20 download

DESCRIPTION

Laboratorio de Control AutomáticoFecha = Junio 2000

TRANSCRIPT

Page 1: Diseño del Control PID para un Levitador Magnético y programa en DSP

CCOONNTTRROOLL DDEE UUNN LLEEVVIITTAADDOORR MMAAGGNNÉÉTTIICCOO

GGAABBRRIIEELL JJAAIIMMEE CCOORRRREEAA HHEENNAAOO

JJAAIIRROO DDEE JJEESSÚÚSS GGIIRRAALLDDOO GGIIRRAALLDDOO

AANNTTOONNIIOO MMAANNUUEELL TTAAPPIIAA MMOORRFFIILL

Presentado a:

Ing. Ovidio Rueda

APLICACIONES DEL DSP

MMEEDDEELLLLÍÍNN

UUNNIIVVEERRSSIIDDAADD NNAACCIIOONNAALL DDEE CCOOLLOOMMBBIIAA

FFAACCUULLTTAADD DDEE MMIINNAASS

EESSCCUUEELLAA DDEE IINNGGEENNIIEERRÍÍAA EELLÉÉCCTTRRIICCAA YY MMEECCÁÁNNIICCAA

Page 2: Diseño del Control PID para un Levitador Magnético y programa en DSP

1

LISTADO DE FIGURAS 3

INTRODUCCIÓN 5

PROBLEMA PLANTEADO 6

DESCRIPCIÓN DEL SISTEMA 6

ESTRATEGIA DE SOLUCIÓN 8

ESTUDIO DEL SISTEMA 9

DISEÑO DEL CONTROLADOR 12

DEDUCCIÓN DE LAS REGLAS DIFUSAS PARA EL SISTEMA LEVITADOR –

CONTROLADOR PI 17

CONSTRUCCIÓN DE LAS REGLAS DIFUSAS 19

RESULTADOS 21

DEDUCCIÓN DE LAS REGLAS DIFUSAS PARA EL SISTEMA LEVITADOR –

CONTROLADOR PID 23

1A TÉCNICA: RESULTADOS CON LA DERIVADA DEL ERROR 23

CONSTRUCCIÓN DE LAS REGLAS DIFUSAS, CON EL CONTROLADOR PID 25

RESULTADOS MEDIANTE EL USO DE LA 1ª TÉCNICA 27

2A TÉCNICA: RESULTADOS CON LA DERIVADA DE LA SALIDA DEL SISTEMA 28

CONSTRUCCIÓN DE LAS REGLAS DIFUSAS, CON EL CONTROLADOR PID 29

RESULTADOS MEDIANTE EL USO DE LA 2ª TÉCNICA 31

Page 3: Diseño del Control PID para un Levitador Magnético y programa en DSP

2

RESULTADOS CONSIDERANDO LA INTERFERENCIA DE LA GRAVEDAD 33

RESULTADOS CON INTERFERENCIA 0.58 33

CONTROL DIGITAL DEL LEVITADOR 36

CONSTRUCCIÓN DE LA FUNCIÓN QUE SE ENTRA AL DSP 38

CÓDIGO DEL PROGRAMA A IMPLEMENTAR EN EL DSP 41

CONCLUSIONES 46

Page 4: Diseño del Control PID para un Levitador Magnético y programa en DSP

3

LLIISSTTAADDOO DDEE FFIIGGUURRAASS

Figura 1. Esquema del Levitador _________________________________________________________________ 7

Figura 2. Configuración Simple del Diagrama de Bloques para el Levitador Manético _______________________ 8

Figura 3. Configuración del Sistema sobre el que se trabaja el Diseño del Controlador _____________________ 10

Figura 4. Respuesta del Sistema en Lazo Abierto, ante un Escalón Unitario ______________________________ 11

Figura 5. Respuesta del Sistema en Lazo Cerrado, ante un Escalón Unitario ______________________________ 11

Figura 6. Lugar Geométrico de las Raíces para el Sistema en Lazo Abierto _______________________________ 14

Figura 7. Lugar Geométrico de las Raíces para el Sistema en Lazo Cerrado. _____________________________ 15

Figura 8. Respuesta del Sistema Levitador – Controlador ante un Escalón Unitario ________________________ 16

Figura 9. Comportamiento del Error del Sistema (Control PI) _________________________________________ 17

Figura 10. Respuesta de la Derivada del Error del Sistema (Control PI) _________________________________ 18

Figura 11. Respuesta de la Salida del Controlador PI________________________________________________ 19

Figura 12. Función de Pertencencia para la Variable “Error” (Controlador PI) __________________________ 20

Figura 13. Función de Pertencencia para la Variable “Derivada del Error” (Controlador PI) _______________ 20

Figura 14. Función de Pertencencia para la Variable “Control” (Controlador PI) _________________________ 21

Figura 15. Implementación del Sistema de Control Difuso, considerando el cambio en el error _______________ 21

Figura 16. Salida del Sistema Planta-Controlador difuso, considerando la Derivada del Error _______________ 22

Figura 17. Implementación del Sistema de Control Difuso, considerando el cambio en el error _______________ 23

Figura 18. Comportamiento del Error del Sistema (Control PID) ______________________________________ 24

Figura 19. Respuesta de la Derivada del Error del Sistema (Control PID) _______________________________ 24

Figura 20. Respuesta de la Salida del Controlador PID ______________________________________________ 25

Figura 21. Función de Pertencencia para la Variable “Error” (Controlador PID) _________________________ 26

Figura 22. Función de Pertencencia para la Variable “Derivada del Error” (Controlador PID) ______________ 26

Figura 23. Función de Pertencencia para la Variable “Salida” (Controlador PID) _______________________ 27

Figura 24. Salida del Sistema Planta-Controlador difuso, considerando la Derivada del Error con el Controlador

PID _____________________________________________________________________________ 27

Figura 25. Implementación del Sistema de Control Difuso, considerando el cambio en la salida del sistema _____ 28

Figura 26. Respuesta de la Derivada de la Salida del Sistema (Control PID) _____________________________ 29

Figura 27. Función de Pertencencia para la Variable “Error” (Controlador PID) _________________________ 30

Figura 28. Función de Pertencencia para la Variable “Derivada de la Salida” (Controlador PID) ____________ 30

Figura 29. Función de Pertencencia para la Variable “Salida” (Controlador PID) _______________________ 31

Figura 30. Salida del Sistema Planta-Controlador difuso, considerando la Derivada de la Salida con el Controlador

PID _____________________________________________________________________________ 31

Page 5: Diseño del Control PID para un Levitador Magnético y programa en DSP

4

Figura 31. Sistema a implementar, considerando la interferencia de la gravedad __________________________ 33

Figura 32. Respuesta del sistema planta-controlador, considerando interferencia de gravedad 0.58 __________ 34

Figura 33. Respuesta del sistema planta-controlador, considerando interferencia de gravedad > 0.58 (en este caso

1.55) ____________________________________________________________________________ 35

Figura 34.. Respuesta del Sistema Planta – Controlador Digital (Muestreo a 0.1 segundos) __________________ 38

Figura 35.. Configuración del módulo de segundo orden para implementar en el DSP ______________________ 39

Figura 36..Conexión del DSP al Levitador ________________________________________________________ 39

Figura 37..Flujograma de la implementación en el DSP ______________________________________________ 40

Page 6: Diseño del Control PID para un Levitador Magnético y programa en DSP

5

IINNTTRROODDUUCCCCIIÓÓNN

La lógica difusa, junto con todos los campos de conocimientos afines afines a la inteligencia

artificial, ha pasado en poco tiempo de ser un tema especializado y de difícil entendimiento, hasta

convertirse en un pilar fundamental para los requerimientos prácticos para el control de algunos

sistemas, donde por su complejidad son impracticables los controles convencionales.

La lógica difusa encuentra una de sus aplicaciones más esenciales, en el desarrollo de sistemas de

controlen plantas o procesos para los cuales los controladores diseñados según otros patrones

clásicos no dan los resultados esperados o simplemente fallan del todo. Son procesos de elevada

complejidad: no lineales, variables en el tiempo, sujetos a grandes perturbaciones, sin un modelo

adecuado y que en general solo pueden ser manejados satisfactoriamente por operarios humanos

expertos.

En estos procesos nos damos cuenta que las acciones de control y las acciones deben ser

procesadas y manejadas de un modo netamente cualitativo; de allí la necesidad de, por medio de

la lógica difusa, construir modelos de racionamiento humano que reflejen el carácter vago y

cualitativo que este tiene; para así, utilizar las técnicas del control difuso como una alternativa o

un complemento de las técnicas de control convencionales.

El trabajo presente se desarrollará en un proceso de características complejas, como es la

graduación del campo magnético en el dispositivo de un levitador magnético. El trabajo consta de

dos partes principales:

1. El diseño de un control PID (proporcional integral derivativo), y luego su implementación

como control digital en un DSP (procesador digital de señales).

2. El diseño de un control lógico difuso, con su estructura general tipo Mandami, del cual se

realizará una simulación en su funcionamiento. La respuesta más apropiada se puede localizar

en el capítulo llamado “DEDUCCIÓN DE LAS REGLAS DIFUSAS PARA EL SISTEMA

LEVITADOR – CONTROLADOR PID” (Figura 30)

Page 7: Diseño del Control PID para un Levitador Magnético y programa en DSP

6

PPRROOBBLLEEMMAA PPLLAANNTTEEAADDOO

El objetivo de control es mantener una masa de metal en suspensión por acción de un

electroimán. La fuerza magnética, que se opone al peso, es generada por una bobina por la que se

hace circular una corriente de valor RMS controlado. El controlador (Que puede ser implementado

en PC), determina el valor de esta corriente en función de la posición de la masa, según sea la

información que se le suministre al controlador.

El sistema sobre el cual vamos a realizar el control es un levitador magnético. Este levitador

magnético, que existe actualmente en la facultad para fines didácticos, tiene una perilla de

precisión mediante la cual se controla y calibra el campo magnético. Este control es llevado a

cabo manualmente; nuestro objetivo es conseguir un control que realice la operación de una

manera tan óptima como la haría un operario humano.

DDEESSCCRRIIPPCCIIÓÓNN DDEELL SSIISSTTEEMMAA

El sistema consta de una pequeña masa, la cual ocupa la función del levitador tiene un peso

determinado, de una bobina que se encarga de crear el campo necesario para equilibrar la fuerza

de gravedad que actúa sobre la masita y así mantenerla en el aire; también tenemos la estructura

que soporta la bobina y entre la cual se mueve la masita. El rango de movimiento de esta masa es

de cerca de 21 mm; aparte de esto encontramos un montaje electrónico que sirve para adaptar el

control proporcionado por la perilla, y la energía que alimenta la bobina.

Page 8: Diseño del Control PID para un Levitador Magnético y programa en DSP

7

Controlador

Bobina

Fuente de Corriente

Masa Metálica

Figura 1. Esquema del Levitador

La construcción se basa en la utilización de bobinas separadas eléctricamente que están unidas

físicamente por la placa en donde se montará el circuito de control.

Una idea de cómo funciona el circuito de control es que consta de un procesador al cual se le

ingresa la señal que indica la distancia a la cual está la masa del electroimán, la cual es entregada

por un sensor, y, después de ser procesada por él, entrega la corriente que alimenta las bobinas; la

magnitud de esta corriente nos va a dar la magnitud de la fuerza magnética que está creando la

bobina. El sensor es óptico, es decir, la distancia de separación de la masa la indicará la magnitud

de luminosidad que reciba un fototransistor obtenida de la emisión de un fotodiodo.

Se amplia la posibilidad de poder, a futuro, controlarlo con un computador y poder ocupar un

programa como Matlab para esto.

A continuación se muestra un diagrama de bloques, donde encontramos todas las partes del

levitador y la manera en que están relacionadas.

Page 9: Diseño del Control PID para un Levitador Magnético y programa en DSP

8

Figura 2. Configuración Simple del Diagrama de Bloques para el Levitador Manético

EESSTTRRAATTEEGGIIAA DDEE SSOOLLUUCCIIÓÓNN

La secuencia a seguir para llevar a cabo la solución del problema es el diseño de una planta PID

(proporcional integral derivativo) para realizar el control del sistema. Esta planta controladora

será diseñada por el método del lugar geométrico de las raíces, luego se procederá a encontrar los

parámetros para implementar la planta en un DSP (procesador digital de señales). Para él calculo

se utilizará como herramienta básica el programa MatLab mediante el cual evaluaremos los

parámetros y comprobaremos el comportamiento de las variables gráficamente.

La segunda parte del trabajo es básicamente el diseño del control lógico difuso, para esto se

necesita la selección de las variables; que en este caso serán la posición, el error en la posición, y

la velocidad y cambio en el error. Debemos definir también las funciones de pertenencia que se

utilizan, para este caso las triangulares.

Page 10: Diseño del Control PID para un Levitador Magnético y programa en DSP

9

EESSTTUUDDIIOO DDEELL SSIISSTTEEMMAA

Este sistema del levitador cumple unas características especiales que lo hacen ideal para la

aplicación de un control difuso.

Nuestro objetivo particular es mantener la masita en el aire. No se va a mantener quieta en una

sola posición, sino que vamos a permitir que su posición fluctue en un rango en el que se va a

considerar que los objetivos de control se están cumpliendo.

El sistema consta de una bobina, cuya función es crear un campo magnético el cual tiene un

manejo complejo por la no-linealidad del mismo sustentado en la histéresis, y en las variaciones

de corriente de energizacion.

Además es un sistema cuyo trabajo se va a efectuar bajo la influencia de diferentes

perturbaciones, en su mayor parte proveídas por el ambiente.

Presumimos que el sistema es de por sí inestable, pues físicamente, la masa es imposible que se

quede en el lugar apropiado por sí misma.

Al simular dicho diagrama de bloques (Empleando la herramienta SIMULINK del Matlab), se

obtiene la siguiente respuesta al excitar con un escalón.

Para representar el sistema en un diagrama de bloques, se acude a la sugerencia emitida por un

fabricante del levitador que se va a controlar. El modelo para el sistema en lazo abierto queda

determinado por el siguiente diagrama de bloques

Page 11: Diseño del Control PID para un Levitador Magnético y programa en DSP

10

Suma1Suma

450

Sensor de

Posición

75

PM + EM

OsciloscopioEntrada R(S)

0.5

EM

1

0.155s 2

Cuerpo Levitado

PID

Controlador

1

0.018s+4.4

Bobina

Figura 3. Configuración del Sistema sobre el que se trabaja el Diseño del Controlador

El Sistema de la PLANTA arroja una Función de Transferencia, en lazo abierto, simplificada de

3er orden:

33035.1682.000279.0

5.023

SSS

SGLAP

Por efectos prácticos del diseño del controlador, se prefiere despreciar el efecto de entrada

interferentes, como la gravedad. Sin embargo, las mismas se tendrán en cuenta más adelante, una

vez se haya diseñado el controlador.

Por otro lado, la función de transferencia de la planta, que incluye el lazo cerrado es:

55535.1682.000279.0

5.023

SSS

SGLCP

La siguiente es la respuesta del sistema del Levitador Magnético, una vez se excita con una

entrada escalón. (Obsérvese que de por sí, el sistema es inestable).

Page 12: Diseño del Control PID para un Levitador Magnético y programa en DSP

11

Time (sec.)

Am

plit

ude

Step Response

0 0.5 1 1.50

0.2

0.4

0.6

0.8

1

1.2

1.4Respuesta en lazo abierto ante un escalón

Figura 4. Respuesta del Sistema en Lazo Abierto, ante un Escalón Unitario

Figura 5. Respuesta del Sistema en Lazo Cerrado, ante un Escalón Unitario

Page 13: Diseño del Control PID para un Levitador Magnético y programa en DSP

12

DDIISSEEÑÑOO DDEELL CCOONNTTRROOLLAADDOORR

El controlador que se implementa es del tipo PID. La técnica que mejor resultado arroja es la del

Lugar Geométrico de las Raíces (LGR).

En MatLab se procede a escribir un programa en el que se realiza el diseño de un controlador

PID, a partir del método LGR.

Programa MATLAB

%DISEÑO DE UN CONTROLADOR PID PARA LEVITADOR

%MÉTODO DE LUGAR GEOMÉTRICO DE LAS RAÍCES

%DESCRIPCIÓN DE LA PLANTA

hc1=tf([1],[.155 0 0]);

h2=feedback(hc1,75);

hbobina=tf([0.5],[0.018 4.4])

h3=h2*hbobina

%FUNCIÓN DE TRANSFERENCIA EN LAZO ABIERTO

habierto=h3*450;

%RESPUESTA EN LAZO ABIERTO A UN ESCALÓN UNITARIO

step(habierto)

title('Respuesta en lazo abierto ante un escalón')

pause

%RAÍCES (POLOS) EN LAZO ABIERTO

[num1,den1]=tfdata(habierto,'v');

polos1a=roots(den1);

%RESPUESTA EN LAZO CERRADO SIN CONTROLADOR

hcerrado=feedback(h3,450);

pause

%POLOS EN LAZO CERRADO

[num2,den2]=tfdata(hcerrado,'v')

poloscerrado=roots(den2);

%LUGAR GEOMÉTRICO DE LAS RAÍCES

rlocus(habierto)

pause

a=input('Entre el cero cerca al eje imaginario (Sugerencia = 5) ')

b=input('Entre el otro cero cerca al eje imaginario (Sugerencia = 50) ')

hcon=tf([1 (a+b) a*b],[1 0]);

hpc=habierto*hcon;

step(hpc)

Page 14: Diseño del Control PID para un Levitador Magnético y programa en DSP

13

pause

rlocus(hpc)

[k,polos]=rlocfind(hpc)

pause

%CÁLCULO DEL CONTROLADOR PID

kd=input('Entre la Ganancia Seleccionada = ')

ki=(a*b)*kd;

kc=(a+b)*kd;

%RESPUESTA DEL SISTEMA PLANTA CONTROLADOR

controlador=tf([kd kc ki],[1 0]);

hplantacontrol=habierto*controlador;

hlcpc=feedback(hplantacontrol,1);

t1=[0:0.001:0.3]

y1=step(hlcpc,t1);

plot(t1,y1),grid

title('Respuesta Levitador-Controlador PID')

xlabel('Tiempo (Segundos)')

%VERIFICACIÓN DE QUE EL SISTEMA ES ESTABLE

[num3,den3]=tfdata(hlcpc,'v');

polos=roots(den3)

disp('Si la parte real de los polos son negativos, entonces el sistema es

estable')

pause

%CÁLCULO DEL ERROR

PI=tf([kc ki],[1 0]);

h4=habierto*PI;

h5=1/(1+h4);

[num4,den4]=tfdata(h5,'v');

[a,b,c,d]=tf2ss(num4,den4);

t1=[0:0.01:1];

u=ones(1,101); %VECTOR DE UNA FILA Y 101 ELEMENTOS

y1=lsim(a,b,c,d,u,t1);

plot(t1,y1);

grid;

xlabel('Tiempo (seg)');

ylabel('Amplitud');

title('Respuesta del Error Levitador-Controlador');

pause

%CÁLCULO DE LA DERIVADA DEL ERROR

[num5,den5]=polyder(num4,den4);

derror=tf([num5],[den5]);

[num6,den6]=tfdata(derror,'v');

[a1,b1,c1,d1]=tf2ss(num6,den6);

y3=lsim(a1,b1,c1,d1,u,t1);

plot(t1,y3), grid;

xlabel('Tiempo (Segundos)');

ylabel('Amplitud');

title('Respuesta de la Derivada del Error Levitador-Controlador');

pause

Page 15: Diseño del Control PID para un Levitador Magnético y programa en DSP

14

%CÁLCULO DE LA SALIDA DEL CONTROLADOR

h6=PI/(1+h4);

[num2,den2]=tfdata(h6,'v');

[a,b,c,d]=tf2ss(num2,den2);

y3=lsim(a,b,c,d,u,t1);

plot(t1,y3);

grid;

xlabel('Tiempo (seg)');

ylabel('Amplitud');

title('respuesta de la salida del controlador');

La siguiente es la respuesta del Lugar Geométrico de las Raíces del sistema en lazo Abierto:

-300 -250 -200 -150 -100 -50 0 50-200

-150

-100

-50

0

50

100

150

200

Real Axis

Imag A

xis

Figura 6. Lugar Geométrico de las Raíces para el Sistema en Lazo Abierto

Sin embargo, se diseña el controlador para el sistema en lazo cerrado. El programa en Matlab está

concebido para que de manera interactiva se elija la Magnitud de Ganancia que se desea

establecer para que el sistema sea estable. Se eligen los ceros cercanos al eje imaginario como

a = 5 y b = 50.

En consecuencia, sobre la figura 6 se elige el margen de ganancia, para establecer el factor

derivativo del Controlador PID.

Page 16: Diseño del Control PID para un Levitador Magnético y programa en DSP

15

-250 -200 -150 -100 -50 0 50-400

-300

-200

-100

0

100

200

300

400

Real Axis

Imag A

xis

Figura 7. Lugar Geométrico de las Raíces para el Sistema en Lazo Cerrado.

En consecuencia, el controlador que entrega el programa es el siguiente:

S

SSSGC

5.7295.1529.0 2

El sistema Planta-Controlador, con realimentación, será estable, ya que se verifica la condición

de que todos los polos se encuentran ahora en el semiplano izquierdo del plano complejo.

polos = [ -1.4460 , ( -0.4768 + J0.8205) , (-0.4768 - J0.8205), -0.0449 ]

Finalmente, la Salida Y(S) tendrá la siguiente respuesta, una vez el sistema planta controlador se

excita con una entrada escalón unitaria.

Page 17: Diseño del Control PID para un Levitador Magnético y programa en DSP

16

0 0.05 0.1 0.15 0.2 0.25 0.3 0.350

0.2

0.4

0.6

0.8

1

1.2

1.4Respuesta Levitador-Controlador PID

Tiempo (Segundos)

Figura 8. Respuesta del Sistema Levitador – Controlador ante un Escalón Unitario

Nótese que la salida es estable. Como se trata del control adecuado de una planta (Levitador),

entonces se puede decir que el controlador permite actuar como un experto.

Page 18: Diseño del Control PID para un Levitador Magnético y programa en DSP

17

DDEEDDUUCCCCIIÓÓNN DDEE LLAASS RREEGGLLAASS DDIIFFUUSSAASS PPAARRAA EELL SSIISSTTEEMMAA LLEEVVIITTAADDOORR ––

CCOONNTTRROOLLAADDOORR PPII

Conociendo la función de transferencia, obtendremos la información que un experto podría

suministrar, en orden a la implementación de un control difuso. Con base a las respuestas del

controlador, se construyen las reglas del control difuso. (Pues las mismas no se pueden obtener

experimentalmente). Para lograr este objetivo, se requieren analizar las respuestas de error, de la

derivada del error y de la salida del controlador. Así se puede construir una tabla de reglas

difusas.

0 0.2 0.4 0.6 0.8 1-8

-6

-4

-2

0

2

4

6x 10

4

Tiempo (seg)

Am

plit

ud

Respuesta del Error Levitador-Controlador

Figura 9. Comportamiento del Error del Sistema (Control PI)

Page 19: Diseño del Control PID para un Levitador Magnético y programa en DSP

18

Dado que las respuestas del controlador suministran los datos que un experto puede entregar,

entonces se puede obtener la información necesaria para deducir las reglas de inferencia de un

controlador Difuso.

0 0.2 0.4 0.6 0.8 1-4

-2

0

2

4

6

8x 10

4

Tiempo (Segundos)

Am

plit

ud

Respuesta de la Derivada del Error Levitador-Controlador

Figura 10. Respuesta de la Derivada del Error del Sistema (Control PI)

Por otro lado, la salida del controlador PI que se empleó para regular el sistema, arroja la

siguiente respuesta:

Page 20: Diseño del Control PID para un Levitador Magnético y programa en DSP

19

0 0.2 0.4 0.6 0.8 1-12

-10

-8

-6

-4

-2

0

2

4

6

8x 10

5

Tiempo (seg)

Am

plit

ud

respuesta de la salida del controlador

Figura 11. Respuesta de la Salida del Controlador PI

CCOONNSSTTRRUUCCCCIIÓÓNN DDEE LLAASS RREEGGLLAASS DDIIFFUUSSAASS

Con base a la información entregada en estas gráficas, Figuras 9, 10, 11, se pueden definir las

variables difusas y las implicaciones de las mismas.

Inicialmente, asignamos el nombre de las variables, las cuales se han seleccionado como:

NG = Valor Negativo Grande

NM = Valor Negativo Medio

NP = Valor Negativo Pequeño

Ze = Valor Cero

PP = Valor Positivo Pequeño

PM = Valor Positivo Medio

PG = Valor Positivo Grande

Page 21: Diseño del Control PID para un Levitador Magnético y programa en DSP

20

Las funciones de pertenencia que se ilustran más adelante, se realizan analizando efectivamente

las figuras 9, 10 y 11. Resulta la siguiente tabla:

erro

dt

de NG NM NP Ze PP PM PG

NG PG

NM PM

NP PP

Ze Ze

PP NP

PM NM

PG NG

Las siguientes son las funciones de pertenencia que se han obtenido:

Figura 12. Función de Pertencencia para la Variable “Error” (Controlador PI)

Figura 13. Función de Pertencencia para la Variable “Derivada del Error” (Controlador PI)

Page 22: Diseño del Control PID para un Levitador Magnético y programa en DSP

21

Figura 14. Función de Pertencencia para la Variable “Control” (Controlador PI)

RREESSUULLTTAADDOOSS

Finalmente, al momento de generar un modelo en el que se implemente un sistema de control,

con lógica difusa, empleando el método de inferencia Mandami, se crean las reglas difusas, con

la implicación And (Se deducen en base al controlador PI). A continuación se citan las reglas con

las cuales se programa el controlador:

1. If (Error is NG) and (Derivada is PG) then (Control is NG) (1)

2. If (Error is NM) and (Derivada is PM) then (Control is NM) (1)

3. If (Error is NP) and (Derivada is PP) then (Control is NP) (1)

4. If (Error is Ze) and (Derivada is Ze) then (Control is Ze) (1)

5. If (Error is PP) and (Derivada is NP) then (Control is PP) (1)

6. If (Error is PM) and (Derivada is NM) then (Control is PM) (1)

7. If (Error is PG) and (Derivada is NG) then (Control is PG) (1)

La figura 15 ilustra la implementación del sistema de control.

Error

Suma

Y

Salida Controlada

del LevitadorPunto de

Suma

Perturbación

75

PM + EM1

75

PM + EM

Mux

MuxFuzzy Logic Controller

0.5

EM

du/dt

Derivada del

Error

1

0.155s 2

Cuerpo Levitado

1

0.018s+4.4

Bobina

Figura 15. Implementación del Sistema de Control Difuso, considerando el cambio en el error

Page 23: Diseño del Control PID para un Levitador Magnético y programa en DSP

22

Finalmente, la respuesta del Sistema, empleando las Reglas de Mandami, considerando el cambio

del error, realizado en base a un controlador PI, generan la siguiente salida:

0 20 40 60 80 100 120 140 1600

0.5

1

1.5

2

2.5x 10

-3 Salida del Sistema Planta-Controlador Fuzzy MAMDAMI

Tiempo en milisegundos

Figura 16. Salida del Sistema Planta-Controlador difuso, considerando la Derivada del Error

Obsérvese la variabilidad de la respuesta en el control. Se trata de un sistema oscilatorio, muy

inestable.

Se recomienda entonces seguir otra alternativa de control, la cual se expone en el siguiente

capítulo, en el cual se construyen las reglas difusas en base a la respuesta entregada por un

controlador PID.

Page 24: Diseño del Control PID para un Levitador Magnético y programa en DSP

23

DDEEDDUUCCCCIIÓÓNN DDEE LLAASS RREEGGLLAASS DDIIFFUUSSAASS PPAARRAA EELL SSIISSTTEEMMAA LLEEVVIITTAADDOORR ––

CCOONNTTRROOLLAADDOORR PPIIDD

11AA TTÉÉCCNNIICCAA:: RREESSUULLTTAADDOOSS CCOONN LLAA DDEERRIIVVAADDAA DDEELL EERRRROORR

Conociendo la función de transferencia, obtendremos la información que un experto podría

suministrar, en orden a la implementación de un control difuso. Con base a las respuestas del

controlador, se construyen las reglas del control difuso. (Pues las mismas no se pueden obtener

experimentalmente).

En esta sección, se analizan las implicaciones obtenidas con el análisis de un controlador PID. A

diferencia del anterior capítulo se tiene en cuenta el término derivativo, ya que anteriormente no

se tenía un control efectivo sobre la planta con el control PI.

Para lograr este objetivo, se requieren analizar las respuestas de error, de la derivada del error y

de la salida del controlador.

En esta primera técnica, sólo se exponen las consecuencias de trabajar con el análisis del error y

de la derivada del error.

Error

Suma

Y

Salida Controlada

del LevitadorPunto de

Suma

Perturbación

75

PM + EM1

75

PM + EM

Mux

MuxFuzzy Logic Controller

0.5

EM

du/dt

Derivada del

Error

1

0.155s 2

Cuerpo Levitado

1

0.018s+4.4

Bobina

Figura 17. Implementación del Sistema de Control Difuso, considerando el cambio en el error

Las siguientes gráficas ilustran el comportamiento de las variables de salida del sistema Planta-

Controlador PID.

Page 25: Diseño del Control PID para un Levitador Magnético y programa en DSP

24

0 0.2 0.4 0.6 0.8 1-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Tiempo (seg)

Am

plit

ud

Respuesta del Error Levitador-Controlador

Figura 18. Comportamiento del Error del Sistema (Control PID)

0 0.2 0.4 0.6 0.8 1-0.01

-0.005

0

0.005

0.01

0.015

0.02

Tiempo (seg)

Am

plit

ud

Respuesta de la derivada del error

Figura 19. Respuesta de la Derivada del Error del Sistema (Control PID)

Page 26: Diseño del Control PID para un Levitador Magnético y programa en DSP

25

Nótese que en esta oportunidad, el error tiende a 0 (Cero), lo cual es un buen indicio de que se

está trabajando con el controlador adecuado (A diferencia de la anterior respuesta en la figura 10)

Por otro lado, la salida del controlador PID que se empleó para regular el sistema, arroja la

siguiente respuesta:

0 0.2 0.4 0.6 0.8 10

0.5

1

1.5

2

2.5

3

3.5x 10

-3

Tiempo (seg)

Am

plit

ud

respuesta salida del sistema

Figura 20. Respuesta de la Salida del Controlador PID

Aunque las respuestas de ambas salidas con el control PI o con el PID son muy parecidas, es

importante anotar que el análisis del error es diferente

CONSTRUCCIÓN DE LAS REGLAS DIFUSAS, CON EL CONTROLADOR PID

Con base a la información entregada en estas gráficas, Figuras 18, 19, 20, se pueden definir las

variables difusas y las implicaciones de las mismas.

Inicialmente, asignamos el nombre de las variables, las cuales se han seleccionado como:

NG = Valor Negativo Grande

NM = Valor Negativo Medio

NP = Valor Negativo Pequeño

Ze = Valor Cero

Page 27: Diseño del Control PID para un Levitador Magnético y programa en DSP

26

PP = Valor Positivo Pequeño

PM = Valor Positivo Medio

PG = Valor Positivo Grande

Las funciones de pertenencia que se ilustran más adelante, se realizan analizando efectivamente

las figuras 18, 19 y 20. Resultan las siguientes reglas de inferencia:

1. If (error is PM) and (derror is NM) then (salida is PM) (1)

2. If (error is PM) and (derror is ZE) then (salida is PP) (1)

3. If (error is PP) and (derror is PP) then (salida is PP) (1)

4. If (error is ZE) and (derror is PM) then (salida is PP) (1)

5. If (error is PP) and (derror is PM) then (salida is PP) (1)

6. If (error is PG) and (derror is PM) then (salida is PM) (1)

7. If (error is NG) and (derror is PG) then (salida is PM) (1)

8. If (error is ZE) and (derror is PG) then (salida is PP) (1)

Las siguientes son las funciones de pertenencia que se han obtenido:

Figura 21. Función de Pertencencia para la Variable “Error” (Controlador PID)

Figura 22. Función de Pertencencia para la Variable “Derivada del Error” (Controlador PID)

Page 28: Diseño del Control PID para un Levitador Magnético y programa en DSP

27

Figura 23. Función de Pertencencia para la Variable “Salida” (Controlador PID)

RESULTADOS MEDIANTE EL USO DE LA 1ª TÉCNICA

La respuesta del Sistema, empleando las Reglas de Mandami, considerando el cambio del error,

realizado en base a un controlador PID, generan la siguiente salida:

0 20 40 60 80 100 120 140 160 1800

0.002

0.004

0.006

0.008

0.01

0.012

0.014Respuesta del Sistema Planta-Controlador Difuso

Regla

s c

onsid

era

ndo e

l cam

bio

en e

l err

or

Tiempo en deciseg

Figura 24. Salida del Sistema Planta-Controlador difuso, considerando la Derivada del Error con el Controlador PID

Obsérvese la increible similitud con la figura 17, la cual corresponde a la misma implementación

del controlador difuso, pero construido en base a la información de un PI. Se puede afirmar que

esta técnica no es procedente, por obtener el mismo resultado. Se recurre entonces a un tercer

Page 29: Diseño del Control PID para un Levitador Magnético y programa en DSP

28

análisis, según la información entregada por las variables de la salida del sistema Planta –

Controlador PID.

Recuérdense las reglas difusas, las cuales se consignan en esta tabla:

erro

dt

de NG NM NP Ze PP PM PG

NG

NM PM

NP

Ze PP

PP PP

PM PP PP PM

PG PM PP

22AA TTÉÉCCNNIICCAA:: RREESSUULLTTAADDOOSS CCOONN LLAA DDEERRIIVVAADDAA DDEE LLAA SSAALLIIDDAA DDEELL SSIISSTTEEMMAA

Al igual que en la primera técnica, se construyen las reglas difusas con base a la información

entregada por el controlador PID, pero esta vez, teniendo en cuenta la salida del sistema levitador

– Controlador.

En esta segunda técnica, sólo se exponen las consecuencias de trabajar con el análisis del error y

de la derivada de la salida del sistema, tal y como se ilustra en la siguiente figura.

Error

Suma

Y

Salida Controlada

del LevitadorPunto de

Suma

Perturbación

450

PM + EM1

75

PM + EM

Mux

MuxFuzzy Logic Controller

0.5

EM

du/dt

Derivada de la

Salida

1

0.155s 2

Cuerpo Levitado

1

0.018s+4.4

Bobina

Figura 25. Implementación del Sistema de Control Difuso, considerando el cambio en la salida del sistema

Se contruyen las reglas difusas con base en la información entregada por las figuras 18, 20 y 26.

Page 30: Diseño del Control PID para un Levitador Magnético y programa en DSP

29

0 0.2 0.4 0.6 0.8 1-5

-4

-3

-2

-1

0

1

2

3x 10

-5

Tiempo (seg)

Am

plit

ud

respuesta de la derivada de la salida del sistema

Figura 26. Respuesta de la Derivada de la Salida del Sistema (Control PID)

CONSTRUCCIÓN DE LAS REGLAS DIFUSAS, CON EL CONTROLADOR PID

Con base a la información entregada en estas gráficas, Figuras 18, 20, 26, se pueden definir las

variables difusas y las implicaciones de las mismas.

Inicialmente, asignamos el nombre de las variables, las cuales se han seleccionado como:

NG = Valor Negativo Grande

NM = Valor Negativo Medio

NP = Valor Negativo Pequeño

Ze = Valor Cero

PP = Valor Positivo Pequeño

PM = Valor Positivo Medio

PG = Valor Positivo Grande

Las funciones de pertenencia que se ilustran más adelante, se realizan analizando efectivamente

las figuras 18, 19 y 20. Resultan las siguientes reglas de inferencia:

1. If (error is NG) and (dsalida is NG) then (salida is PM) (1)

2. If (error is ZE) and (dsalida is NG) then (salida is PP) (1)

Page 31: Diseño del Control PID para un Levitador Magnético y programa en DSP

30

3. If (error is PP) and (dsalida is NM) then (salida is PP) (1)

4. If (error is PG) and (dsalida is NM) then (salida is PM) (1)

5. If (error is PM) and (dsalida is NP) then (salida is PP) (1)

6. If (error is PP) and (dsalida is NP) then (salida is PP) (1)

7. If (error is PM) and (dsalida is ZE) then (salida is PP) (1)

8. If (error is PM) and (dsalida is PM) then (salida is PM) (1)

Las siguientes son las funciones de pertenencia que se han obtenido:

Figura 27. Función de Pertencencia para la Variable “Error” (Controlador PID)

Figura 28. Función de Pertencencia para la Variable “Derivada de la Salida” (Controlador PID)

Page 32: Diseño del Control PID para un Levitador Magnético y programa en DSP

31

Figura 29. Función de Pertencencia para la Variable “Salida” (Controlador PID)

Obsérvese la necesidad de usar funciones de pertenencia del tipo trapezoidal y traingulares.

RESULTADOS MEDIANTE EL USO DE LA 2ª TÉCNICA

La respuesta del Sistema, empleando las Reglas de Mandami, considerando el cambio de la

salida, realizado en base a un controlador PID, generan la siguiente salida:

0 100 200 300 400 500 6000

0.002

0.004

0.006

0.008

0.01

0.012Respuesta del Sistema Planta-Controlador Difuso

Regla

s c

onsid

era

ndo e

l cam

bio

en la S

alid

a

Tiempo en deciseg

Figura 30. Salida del Sistema Planta-Controlador difuso, considerando la Derivada de la Salida con el Controlador PID

Page 33: Diseño del Control PID para un Levitador Magnético y programa en DSP

32

Recuérdese que las reglas de inferencia en base a las cuales se realizó el controlador difuso de

Mandami son:

erro

dt

dY NG NM NP Ze PP PM PG

NG PM PP

NM PP PM

NP PP PP

Ze PP

PP

PM PM

PG

Nótese la clara tendencia a estabilizar el sistema. Es decir, este tipo de control funciona, con

pocas reglas y con una simplicidad considerable.

Obsérvese además, que a diferencia de los demás controladores implementados, se obtuvo una

salida del sistema planta – controlador Mandami que tiende a un valor definido, después de

someterlo a una perturbación tipo escalón.

Page 34: Diseño del Control PID para un Levitador Magnético y programa en DSP

33

RREESSUULLTTAADDOOSS CCOONNSSIIDDEERRAANNDDOO LLAA IINNTTEERRFFEERREENNCCIIAA DDEE LLAA GGRRAAVVEEDDAADD

En orden a evaluar la efectividad del controlador difuso, es conveniente analizar los efectos de

interferencias que no se hayan considerado previamente, como por ejemplo, la Gravedad.

En la siguiente figura se ilustra la manera como se debe tener en cuenta el efecto de la

interferencia de la gravedad. Nótese que dicho efecto debe considerarse en el lugar donde se

ubica la masa.

Error

Suma

Y

Salida Controlada

del LevitadorPunto de

Suma

Perturbación

450

PM + EM1

75

PM + EM

Mux

Mux

G

Interferencia de la

Gravedad

Fuzzy Logic Controller

0.5

EM

du/dt

Derivada de la

Salida

1

0.155s 2

Cuerpo Levitado

1

0.018s+4.4

Bobina

Figura 31. Sistema a implementar, considerando la interferencia de la gravedad

RREESSUULLTTAADDOOSS CCOONN IINNTTEERRFFEERREENNCCIIAA 00..5588

Al momento de considerar la constante de la interferencia con un valor hasta 0.58, se obtienen

respuestas estables del sistema planta-controlador, pero con valor negativo. Es decir, la ubicación

de la masa se situaría por debajo de la posición de estabilidad.

La figura 32 permite observar la tendencia que toma el sistema.

Page 35: Diseño del Control PID para un Levitador Magnético y programa en DSP

34

0 100 200 300 400 500 600 700-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

0.5x 10

-3Respuesta del Sistema Planta-Controlador, considerando la interferencia de la Gravedad

Interferencia (g=0.58)

Figura 32. Respuesta del sistema planta-controlador, considerando interferencia de gravedad 0.58

Por otro lado, vale la pena considerar el tipo de respuesta que se obtiene en caso de considerar

una interferencia mayor que 0.58. Por ejemplo, el manual del levitador magnético sugiere que la

constante con la cual se ajusta el modelo debe ser 1.55

Una simulación de un sistema con dicha constante, debe brindar la respuesta que se ilustra en la

figura 33.

Page 36: Diseño del Control PID para un Levitador Magnético y programa en DSP

35

0 100 200 300 400 500 600-0.035

-0.03

-0.025

-0.02

-0.015

-0.01

-0.005

0

0.005Respuesta del Sistema Planta-Controlador, considerando la interferencia de la Gravedad

Interferencia (g=1.55)

Figura 33. Respuesta del sistema planta-controlador, considerando interferencia de gravedad > 0.58 (en este caso 1.55)

Nótese la inestabilidad de la respuesta del sistema Ello es fácilmente explicable porque en la

medida que la gravedad aumenta, también lo hace la fuerza del peso que la fuerza magnetomotriz

del electroimán del levitador debe vencer. Por esa razón, la masa caerá cuando se someta a

perturbación.

A la hora de verificar lo que ocurre en la realidad cuando se somete el sistema a perturbación, se

comprueba que efectivamente la masa puede salirse de los 21 mm de rango en el levitador y caer.

Sin embargo, la forma de onda que se muestra en la figura 33, coincide con la forma de onda que

se obtiene en un osciloscopio con el sistema Levitador – Controlador PID, después de someter la

masa a una perturbación.

Page 37: Diseño del Control PID para un Levitador Magnético y programa en DSP

36

CCOONNTTRROOLL DDIIGGIITTAALL DDEELL LLEEVVIITTAADDOORR

Para implementar el uso del DSP con el objetivo de controlar apropiadamente el Levitador

Magnético, se procede a realizar inicialmente un controlador digital. El mismo se elabora con

base en información suministrada por el sistema de la planta en lazo cerrado.

Antes que nada es necesario encontrar el tiempo de muestreo del sistema. El siguiente es el

procedimiento que se empleó para encontrar el tiempo de muestreo.

Las raíces del sistema de la planta realimentada son: 77.245

44.2866.0

3

2,1

S

JS

22,1 1 nn JS . En consecuencia, si se igualan las partes imaginarias y reales

correspondientemente, se obtiene el siguiente valor para la frecuencia natural del sistema.

Como la frecuencia de muestreo debe ser mayor al doble del ancho de banda (Por teorema de

Nyquist), entonces se obtiene la siguiente desigualdad: BWs 2 .

Además, en un sistema de control digital, es válido aproximar el Ancho de Banda a la frecuencia

natural del sistema. En consecuencia: ns 2 . Lo anterior quiere decir que el tiempo de

muestreo se encuentra por:

nst .

En consecuencia, para el sistema en estudio, el tiempo de muestreo debe ser: ts < 0,108 segundos

El método que se usa para diseñar el controlador digital es el Analítico. Se emplea la herramienta

poderosa del MatLab, que permitirá encontrar un buen controlador digital. Por cierto, para

diseñar el controlador, se tuvieron en cuenta las siguientes condiciones deseadas:

Tiempo de Establecimiento 0.3 segundos

Amortiguación 0.707

Error en estado estable 20%

El siguiente es el código del programa en MatLab que permitirá deducir el controlador digital

respectivo:

Page 38: Diseño del Control PID para un Levitador Magnético y programa en DSP

37

%PROGRAMA PARA LA IMPLEMENTACIÓN DE UN CONTROLADOR

% DIGITAL EN EL LEVITADOR MAGNÉTICO

%ESPECIFICACIÓN DE LA FUNCIÓN DE TRANSFERENCIA

%EN LAZO CERRADO

num=[.5]

den=[.00279 .682 1.35 555]

%ESPECIFICACIÓN DEL TIEMPO DE MUESTREO

T=0.100

%TRANSFORMACIÓN DEL PLANO CONTINUO AL PLANO DISCRETO

[nz,dz]=c2dm(num,den,T)

%ESPECIFICACIÓN DE LAS CARACTERÍSTICAS DEL CONTROLADOR

tsd=input('Entre tiempo de establecimiento deseado= ');

zetad=input('Entre la relación de amortiguación= ');

wnd=4/(zetad*tsd);

esd=input('Entre error de estado estable= ');

kv=1/esd;

k=ddcgain(nz,dz);

ki=kv/k;

%POLOS DESEADOS

s1=-zetad*wnd+j*wnd*sqrt(1-zetad^2);

z1=exp(s1*T);

%APLICACIÓN DEL MÉTODO ANALÍTICO

nz1=polyval(nz,z1);

dz1=polyval(dz,z1);

gz1=nz1/dz1;

r=-real((1/gz1)+ki*z1*T/(z1-1));

x=-imag((1/gz1)+ki*z1*T/(z1-1));

alfa=real((z1-1)/(z1*T));

beta=imag((z1-1)/(z1*T));

kd=real(x/beta);

kp=real(r-kd*beta);

%OBTENCIÓN DEL CONTROLADOR EN EL PLANO DISCRETO

npid=[kp*T+kd+ki*T^2 -kp*T-2*kd kd];

dpid=[T -T 0];

printsys(npid,dpid,'z');

[nk,dk]=series(npid,dpid,nz,dz);

%SALIDA DEL SISTEMA EN LAZO CERRADO

[nt,dt]=cloop(nk,dk);

Intervalo=[0:20];t=Intervalo*T;

yd=dstep(nt,dt,21);

plot(t,yd);grid;

title('Respuesta del Sistema Planta-Controlador en el Plano Discreto')

xlabel('Tiempo en Segundos')

El resultado, es el diseño del siguiente controlador:

Page 39: Diseño del Control PID para un Levitador Magnético y programa en DSP

38

ZZ

ZZZHd

1.01.0

076395.00076.61584.52

2

La respuesta del sistema Planta – Controlador Discreto, se ilustra en la figura 20.

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

0

0.2

0.4

0.6

0.8

1

1.2Respuesta del Sistema Planta-Controlador en el Plano Discreto

Tiempo en Segundos

Figura 34.. Respuesta del Sistema Planta – Controlador Digital (Muestreo a 0.1 segundos)

CCOONNSSTTRRUUCCCCIIÓÓNN DDEE LLAA FFUUNNCCIIÓÓNN QQUUEE SSEE EENNTTRRAA AALL DDSSPP

En orden a la implementación del control digital en el Procesador Digital de Señales, se requiere

formar estructuras de segundo orden. La idea es obtener la señal de control, usando como base un

programa previamente escrito en lenguaje Assembler para implementar filtros IIR.

Por otro lado, el módulo en cascada que se debe implementar, se basa en la siguiente estructura

del controlador digital:

1

21

22

11

22

110

1

76395.0076.61084.55

1

Z

ZZ

ZbZb

ZaZaaZHd

Page 40: Diseño del Control PID para un Levitador Magnético y programa en DSP

39

Z-1

Z-1

S S

-b11

-b21

w(n)

w(n-1)

w(n-2)

E(n) a01

a11

a21

MN

Z-1

Z-1

S S

1

w(n)

w(n-1)

w(n-2)

E(n)

610.076

7.6395

MN

1 -55.84

Figura 35.. Configuración del módulo de segundo orden para implementar en el DSP

Igualmente, hay que anotar que al momento de programar el DSP, se debe tener en cuenta el

Formato IEEE Q15. Lo anterior indica que las constantes que se programen deben considerarse

como si el DSP fuera de 15 bits (y no de 16). Es decir, la longitud de palabra se entra por la

siguiente fórmula: 5.0214 ecoeficientword

Hay que anotar, que el levitador posee un actuador electrónico, que a su vez, contiene un puerto,

conocido como BPS2, que no es más que un conector hembra tipo DB-15, por medio del cual se

puede realizar supervisión y control de la planta (Levitador). En nuestro caso, se utilizan los

siguientes pines:

Para realizar observaciones de la salida del sistema, con el osciloscopio: Pines 3 y 13

Para obtener la señal entregada por el sensor: Pines 1 y 9

Para llevar la señal de control externo: Pines 8 y 15

La siguiente figura ilustra la manera como debe configurarse el sistema para que interactúe con el

DSP:

DSP LEVITADOR

SENSOR

Controlador

IN OUTSetPoint por

programa

Pines 8 y 15

Pines 1 y 9

Salida

Figura 36..Conexión del DSP al Levitador

El diagrama de flujo que permitirá implementar el algoritmo de control, se expone en la figura

22.

Page 41: Diseño del Control PID para un Levitador Magnético y programa en DSP

40

SUSTITUCIÓN Y DECLARACIÓN

DE VARIABLES Y DE

CONSTANTES

INICIALIZACIÓN DEL

PROCESADOR

INICIALIZACIÓN DE LAS

ÁREAS VARIABLES DE

MEMORIA

PROCESO DE

INTERRUPCIÓN DEL RELOJ

ENTRADA DEL

CONVERTIDOR A/D

CONTROL PID

ALMACENAMIENTO DE

DATOS

SALIDA AL CONVERTIDOR

D/A

DETECCIÓN DE LA

FINALIZACIÓN DEL

PROGRAMA

FINALIZACIÓN DEL

PROGRAMA

ESPERA DE LA

INTERRUPCIÓN DEL RELOJ

ESTRUCTURACIÓN DE LA

INTERRUPCIÓN DEL RELOJ

ERROR EN EL PROCESO

Figura 37..Flujograma de la implementación en el DSP

Page 42: Diseño del Control PID para un Levitador Magnético y programa en DSP

41

CCÓÓDDIIGGOO DDEELL PPRROOGGRRAAMMAA AA IIMMPPLLEEMMEENNTTAARR EENN EELL DDSSPP

El siguiente es el código del programa en Assembler que se implementaría en el DSP

.mmregs

.ds 0f00h

;

;

TA .word 256;

RA .word 256;

TB .word 2025;

RB .word 2025;

AIC_CTR .word 08h ;

;------------------------

;DECLARACIÓN DE VARIABLES

;------------------------

MODELO BBS

SETPOINT BBS

CONTROL BBS

MEDICIÓN BBS

ERROR BBS

.include contdig.flt

;***************************************************************

; CONFIGURA EL VECTOR DE INTERRUPCIONES *

;***************************************************************

.ps 080ah ;

rint: B RECIBIR ;0A; Interrupción RINT de recepción

; del puerto serial

xint: B TRANSMIT ;0C; Interrupción XINT de transmisión

; del puerto serial

;

;*****************************************************************

; INICIALIZACION DEL TMS32C05X *

; *

;*****************************************************************

.ps 0a00h

.entry

SETC INTM ; Deshabilita las interupciones

LDP #0 ; Carga la página 0

OPL #0834h,PMST ; OR del registro de estado

LACC #0

SAMM CWSR ; Estado de espera a 0

SAMM PDWSR ;

SETC SXM ; Habilita la extensión de signo

SPLK #022h,IMR ; Habilita XINT

CALL AICINIT ; Inicializa el AIC y habilita las

; interrupciones.

SPLK #12h,IMR ; Habilita RINT

CLRC OVM ; Sobre flujo normal

SPM 0 ; Desactiva el desplazamiento de P

CLRC INTM ; Habilita las interrupciones

siempre IDLE

Page 43: Diseño del Control PID para un Levitador Magnético y programa en DSP

42

B siempre

;------- Fin del programa principal ----------;

;-------------------------- RECIBIR --------------------------

RECIBIR:

LDP #tablcoef

CLRC INTM ; Habilita las interrupciones

LAR ar1,#wn2

LAR ar2,#tablcoef

LAR ar4,#YN

LAR ar3,#XN

LAMM DRR ; entrada del A/D al ACC

SACL XN

MAR *,ar3

CALL MAIN ; Ir al programa del controlador

SAMM DXR

RETE

;-------------------------- TRANSMITIR--------------------------

;

TRANSMIT:

RETE

;******************************************************************

;* Esta rutina inicializa el TLC32040 para *

;* la frecuencia de muestreo deseada *

;******************************************************************

AICINIT:

SPLK #01h,PRD

SPLK #20h,TCR ; Genera una señal de reloj de 10 MHz

MAR *,AR0

LACC #0008h

SACL SPC ; FSX como entrada

LACC #00c8h

SACL SPC ; Resetea RRST y XRST

LACC #080h

SACH DXR

SACL GREG ; Inicializa la memoria

LAR AR0,#0FFFFh

RPT #10000 ; Toma un alto después de 10000 ciclos

LACC *,0,AR0 ; (.5ms at 50ns)

SACH GREG

LDP #TA ;

SETC SXM ;

LACC TA,9 ; Initializa los registros TA y RA

ADD RA,2 ;

CALL AIC_2ND ;

;------------------------

LDP #TB

LACC TB,9 ; Initializa los registros TB y RB

ADD RB,2 ;

ADD #02h ;

CALL AIC_2ND ;

;------------------------

Page 44: Diseño del Control PID para un Levitador Magnético y programa en DSP

43

LDP #AIC_CTR

LACC AIC_CTR,2 ; Inicializa el registro de control

ADD #03h ;

;LACC #11100000b

CALL AIC_2ND ;

RET ;

AIC_2ND:

LDP #0

SACH DXR ;

CLRC INTM

IDLE

ADD #6h,15 ; 0000 0000 0000 0011 XXXX XXXX XXXX XXXX b

SACH DXR ;

IDLE

SACL DXR ;

IDLE

LACL #0 ;

SACL DXR ; Se asegura de que la palabra fué enviada

IDLE

SETC INTM

RET ;

MAIN:

CLRC INTM ; Habilita las interrupciones

IN MEDICION, PAD ; Entrada de la medición del sensor

LAC MEDICION ; Cargar la variable medida

SACL MEDICION ; Almacenar en el acumulador bajo

;------------------------

;MODELO DE REFERENCIA

;------------------------

LAC MODELO

SUB SETPOINT

BGEZ CONTROL ; Si MODELO >= SETPOINT, Entonces HACER CONTROL

LAC MODELO

ADLK 8 ; Desplazamiento de 8 bits

SACL MODELO ; MODELO = MODELO + 8

CONTROL:

LDP #0

ZPR ;Limpia el registro P

LACC *,15,AR1 ;Entrada del A/D en formato Q15

SPLK #2,INDX ;

SPLK #N-1,BRCR

RPTB ELOOP-1 ;repite N veces el bloque LOOP

LAC MODELO

SUB MEDICION

SACL ERROR ;Medición de la variable de error

AR2 = ERROR

LOOP: LT *-,AR2 ;T = w(n-2)

MPYA *+,AR1 ;Acc = x(n), P = w(n-2)b2

LTA *-,AR2 ;Acc += w(n-2)b2, T = w(n-1)

MPY *+ ;P = w(n-1)b1

LTA *+,AR1 ;Acc += w(n-1)b1, T = a2

SACH *0+,1 ;Alamacena el resultado en w(n)

MPY *- ;P = w(n-2)a2

LACL #0 ;Acc = 0

LTD *-,AR2 ;T = w(n-1), w(n-2) = w(n-1)

MPY *+,AR1 ;Acc += w(n-2)a2, P = w(n-1)a1

LTD *-,AR2 ;T = w(n), w(n-1) = w(n)

Page 45: Diseño del Control PID para un Levitador Magnético y programa en DSP

44

ELOOP-1 MPY *+,AR1 ;Acc += w(n-1)a1, P = w(n)a0

ELOOP:

LTA *,AR4 ;Acumulación final

SACH *,1

LACC *,9 ;Cambiar este número (0 a 15)

;para mejorar la amplitud de

;salida del filtro

RET

.end

Se incluye además la construcción del controlador digital

; CONTROLADOR DIGITAL

; DISEÑADO POR EL MÉTODO ANALÍTICO

; PARA EL LEVITADOR MAGNÉTICO

; TIEMPO DE MUESTREO: 0.1 SEGUNDOS

; Este programa implementa un Controlador Digital

; de segundo orden en la forma directa II.

; Para cada sección se tiene la función:

;

; a0+a1z^-1+a2z^-2

; HN(z) = -----------------

; 1+b1z^-1+b2z^-2

;

; Cada sección necesita 3 lugares de memoria de datos para

; w(n),w(n-1),w(n-2), y 5 lugares para los coeficientes

; a0,a0,a2,-b1,-b2.

;

; w(n) = x(n)-w(n-1)b1-w(n-2)b2

; y(n) = w(n)a0+w(n-1)a1+w(n-2)a2

;

; Almacenamiento de coeficientes:

; -b2,-b1,a2,a1,a0, ... ,-b2,-b1,a2,a1,a0

; Sección 1 Sección N

;

; Variables de estado:

; w(n),w(n-1),w(n-2), ... ,w(n),w(n-1),w(n-2)

; Sección N Sección 1

;

; Condiciones de entrada:

; AR1 -> w(n-2) de la primera sección

; AR2 -> -b2 de la primera sección

; AR3 -> entrada

; AR4 -> salida

; El diseño del controlador arrojó la siguiente función

; de transferencia:

; -55.84+61.0076z^-1+0.76395z^-2

; HD(z) = -------------------------------

; 1 - z^-1

;-----------------------------------------------------------

N-1 .set 4

tablcoef

; Sección 1

;-b2=0.000000000000000

.word 0

;-b1=1

.word 16385

; a2=7.6395

.word 125166

Page 46: Diseño del Control PID para un Levitador Magnético y programa en DSP

45

; a1=610.076

.word 9995453

; a0=-55.84

.word -55.84

; Variables de estado

.word 0,0,0

.word 0,0,0

.word 0,0,0

.word 0,0,0

.word 0,0,0

wn2 .word 0

XN

.word 0

YN .word 0

Page 47: Diseño del Control PID para un Levitador Magnético y programa en DSP

46

CCOONNCCLLUUSSIIOONNEESS

Tal como lo dice su nombre, la idea de este proyecto es la simulación del control de un levitador

magnético a base de bobinas que levitan por efectos de atracción magnética.

Para efectos de simulación se puede considerar el sistema completo, como dos sistemas con una

sola entrada cada uno y asi simplificar la etapa de diseño del control.

Se considera de gran ventaja que sea posible crear un controlador lógico difuso especifico según

las necesidades que se tengan , haciendo su propio programa, con la capacidad de reformarlo o

cambiarlo cuando el proceso lo requiera, sin necesidad de acudir a equipos sofisticados y

costosos.

Se comprueba en las figuras 4 y 5, que la respuesta del sistema planta-controlador PID ante un

escalón unitario es inestable, esto únicamente considerando el sistema con un controlador PID

(datos suministrados por el fabricante).

El controlador PID diseñado para este trabajo con ayuda del Matlab, utilizando el método del

lugar geométrico de las raíces, será estable para un sistema planta-controlador con ealimentación,

ya que todos los polos obtenidos se encuentran en el semiplano izquierdo del plano complejo

(figura 7). Se evidencia que el controlador es el adecuado para la planta, por ser estable la

respuesta obtenida en la salida cuando se aplica un escalón al sistema planta-controlador (figura

8).

Generando un modelo para implementar un sistema de control difuso, obteniendo reglas difusas

en base a la respuesta de error, de la derivada del error y de la salida del controlador PI (figuras 9,

10 y 11), se obtiene una salida del sistema planta-controlador difuso muy inestable como se ve en

la figura 16.

Obteniendo las reglas difusas considerando la respuesta del error, la derivada del error y la salida

del controlador PID (considerando ahora el termino derivativo), figuras 18, 19 y 20, se obtiene

una respuesta para la salida del sistema planta-controlador difuso similar al caso anterior

(numeral 3), inestable, por lo que se considera que no es la técnica adecuada.

Page 48: Diseño del Control PID para un Levitador Magnético y programa en DSP

47

Si se obtienen las reglas difusas considerando la respuesta del error, la derivada de la salida del

sistema planta-controlador difuso y la salida del controlador PID (figuras 18, 20 y 26), se obtiene

una respuesta para la salida del sistema planta-controlador difuso muy tendiente a la

estabilización del sistema (figura 30), que ha diferencia de los casos anteriores se obtiene una

salida del sistema que tiende a un valor definido luego de someterse a una perturbación tipo

escalón. Esto nos indica que esta técnica es la adecuada para la implementación del controlador

difuso.

Para la implementación en el DSP, el controlador digital fue obtenido en base al sistema de la

planta en lazo cerrado, este controlador genera una respuesta del sistema planta-controlador

digital estable (figura 34).

Para la aplicación en el DSP se utilizó como guía un programa escrito en lenguaje assembler para

implementar filtros IIR. No fue posible cargar este programa en el DSP para verificar su

funcionamiento. Se considera que la codificación utilizada para esta tecnología es un poco

compleja, que a nuestro modo de ver tal vez un semestre completo dedicado a la comprensión de

este lenguaje sería insuficiente. Es conveniente contar con más bibliografía disponible para el

estudio de ésta.

La idea para otro prosible proyecto, surge de simular los trenes de alta velocidad que existen en el

mundo, por lo tanto, aunque por el momento no se incluye la posibilidad de moverse si está esto

considerado para futuros upgrades del proyecto.