Está en la página 1de 48

CONTROL DE UN LEVITADOR MAGNÉTICO

GABRIEL JAIME CORREA HENAO


JAIRO DE JESÚS GIRALDO GIRALDO
ANTONIO MANUEL TAPIA MORFIL

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
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

1
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

2
LISTADO DE FIGURAS
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

3
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

4
INTRODUCCIÓN
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)

5
PROBLEMA PLANTEADO
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.

DESCRIPCIÓN DEL SISTEMA

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.

6
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.

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

ESTRATEGIA DE SOLUCIÓN

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.

8
ESTUDIO DEL SISTEMA

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

9
75

PM + EM

1 1
PID 0.5
0.155s2
Entrada R(S) 0.018s+4.4
Suma1 Osciloscopio
Suma Controlador Bobina EM Cuerpo Levitado

450

Sensor de
Posición

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:

GPLA S  
0.5
0.00279 S  0.682 S 2  1.35  S  330
3

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:

GPLC S  
0.5
0.00279 S  0.682 S 2  1.35  S  555
3

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).

10
Step Response
Respuesta en lazo abierto ante un escalón
1.4

1.2

1
Amplitude

0.8

0.6

0.4

0.2

0
0 0.5 1 1.5
Time (sec.)

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

11
DISEÑO DEL CONTROLADOR
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)

12
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

13
%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:

200

150

100

50
Imag Axis

-50

-100

-150

-200
-300 -250 -200 -150 -100 -50 0 50
Real Axis
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.

14
400

300

200

100
Imag Axis

-100

-200

-300

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

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:

0.29  S 2  15.95  S  72.5


GC S  
S

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.

15
Respuesta Levitador-Controlador PID
1.4

1.2

0.8

0.6

0.4

0.2

0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35
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.

16
DEDUCCIÓN DE LAS REGLAS DIFUSAS PARA EL SISTEMA LEVITADOR –
CONTROLADOR PI
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.

4
x 10 Respuesta del Error Levitador-Controlador
6

0
Amplitud

-2

-4

-6

-8
0 0.2 0.4 0.6 0.8 1
Tiempo (seg)

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

17
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.

4
x 10 Respuesta de la Derivada del Error Levitador-Controlador
8

4
Amplitud

-2

-4
0 0.2 0.4 0.6 0.8 1
Tiempo (Segundos)
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:

18
5
x 10 respuesta de la salida del controlador
8

0
Amplitud

-2

-4

-6

-8

-10

-12
0 0.2 0.4 0.6 0.8 1
Tiempo (seg)
Figura 11. Respuesta de la Salida del Controlador PI

CONSTRUCCIÓN DE LAS REGLAS DIFUSAS

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

19
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
de NG NM NP Ze PP PM PG
dt
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)

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

RESULTADOS

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.

75

PM + EM
Error
1 1
Mux 0.5 Y
0.018s+4.4 0.155s2
Perturbación Suma Salida Controlada
Punto de EM Cuerpo Levitado
Mux Bobina del Levitador
Suma du/dt Fuzzy Logic Controller

Derivada del
Error

75

PM + EM1

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

21
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:

-3
x 10 Salida del Sistema Planta-Controlador Fuzzy MAMDAMI
2.5

1.5

0.5

0
0 20 40 60 80 100 120 140 160
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.

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

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

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.

75

PM + EM
Error
1 1
Mux 0.5 Y
0.018s+4.4 0.155s2
Perturbación Suma Salida Controlada
Punto de EM Cuerpo Levitado
Mux Bobina del Levitador
Suma du/dt Fuzzy Logic Controller

Derivada del
Error

75

PM + EM1

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.

23
Respuesta del Error Levitador-Controlador
1

0.8

0.6

0.4
Amplitud

0.2

-0.2

-0.4
0 0.2 0.4 0.6 0.8 1
Tiempo (seg)
Figura 18. Comportamiento del Error del Sistema (Control PID)

Respuesta de la derivada del error


0.02

0.015

0.01
Amplitud

0.005

-0.005

-0.01
0 0.2 0.4 0.6 0.8 1
Tiempo (seg)

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

24
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:

-3
x 10 respuesta salida del sistema
3.5

2.5

2
Amplitud

1.5

0.5

0
0 0.2 0.4 0.6 0.8 1
Tiempo (seg)

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

25
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)

26
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:

Respuesta del Sistema Planta-Controlador Difuso


0.014

0.012
Reglas considerando el cambio en el error

0.01

0.008

0.006

0.004

0.002

0
0 20 40 60 80 100 120 140 160 180
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

27
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
de NG NM NP Ze PP PM PG
dt
NG
NM PM
NP
Ze PP
PP PP
PM PP PP PM
PG PM PP

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

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.

75

PM + EM
Error
1 1
Mux 0.5 Y
0.018s+4.4 0.155s2
Perturbación Suma Salida Controlada
Punto de EM Cuerpo Levitado
Mux Bobina del Levitador
Suma Fuzzy Logic Controller

du/dt

Derivada de la
Salida
450

PM + EM1

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.

28
-5
x 10 respuesta de la derivada de la salida del sistema
3

0
Amplitud

-1

-2

-3

-4

-5
0 0.2 0.4 0.6 0.8 1
Tiempo (seg)

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)

29
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)

30
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:

Respuesta del Sistema Planta-Controlador Difuso


0.012
Reglas considerando el cambio en la Salida

0.01

0.008

0.006

0.004

0.002

0
0 100 200 300 400 500 600
Tiempo en deciseg

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

31
Recuérdese que las reglas de inferencia en base a las cuales se realizó el controlador difuso de
Mandami son:
erro
dY NG NM NP Ze PP PM PG
dt
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.

32
RESULTADOS CONSIDERANDO LA INTERFERENCIA DE LA GRAVEDAD
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.

75

PM + EM
Error
1 1
Mux 0.5 Y
0.018s+4.4 0.155s2
Perturbación Salida Controlada
Punto de EM Suma Cuerpo Levitado
Mux Bobina
Suma Fuzzy Logic Controller del Levitador

du/dt Interferencia de la
Gravedad
Derivada de la
Salida

450

PM + EM1

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

RESULTADOS CON INTERFERENCIA  0.58

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.

33
-3
Respuesta
x 10 del Sistema Planta-Controlador, considerando la interferencia de la Gravedad
0.5

-0.5

-1

-1.5

-2

-2.5

-3

-3.5
0 100 200 300 400 500 600 700
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.

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

-0.005

-0.01

-0.015

-0.02

-0.025

-0.03

-0.035
0 100 200 300 400 500 600
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.

35
CONTROL DIGITAL DEL LEVITADOR

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.

S1, 2  0.66  J  28.44


Las raíces del sistema de la planta realimentada son:
S3  245.77

S1, 2    n  J  n 1   2 . 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: s  2  BW .

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


natural del sistema. En consecuencia: s  2  n . Lo anterior quiere decir que el tiempo de
n
muestreo se encuentra por: ts  .

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:

36
%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:

37
 5.584 Z 2  61.0076 Z  0.076395
H d Z  
0.1  Z 2  0.1  Z

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

Respuesta del Sistema Planta-Controlador en el Plano Discreto


1.2

0.8

0.6

0.4

0.2

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

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

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

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:

a0  a1  Z 1  a2  Z 2  55.84  610.076 Z 1  0.76395 Z 2


H d Z   
1 b1 Z 1 b 2 Z 2 1  Z 1

38
w(n) w(n)
S 1 -55.84 S
S S
E(n) a01 MN E(n) MN

Z-1 Z-1

-b11 a11 1 610.076


w(n-1) w(n-1)

Z-1 Z-1

-b21 w(n-2) a21 w(n-2) 7.6395

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: word  coeficiente  214  0.5

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:
Controlador
Pines 8 y 15
Salida
DSP LEVITADOR
IN OUT
SetPoint por
programa

SENSOR
Pines 1 y 9

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.

39
SUSTITUCIÓN Y DECLARACIÓN
DE VA RIABLES 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

40
CÓDIGO DEL PROGRAMA A IMPLEMENTAR EN EL DSP
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

41
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 ;
;------------------------

42
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)

43
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

44
; 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

45
CONCLUSIONES

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.

46
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.

47

También podría gustarte