Академический Документы
Профессиональный Документы
Культура Документы
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
1
RESULTADOS CONSIDERANDO LA INTERFERENCIA DE LA GRAVEDAD 33
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.
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.
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
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.
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.
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.
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.
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.)
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).
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
12
pause
rlocus(hpc)
[k,polos]=rlocfind(hpc)
pause
t1=[0:0.001:0.3]
y1=step(hlcpc,t1);
plot(t1,y1),grid
title('Respuesta Levitador-Controlador PID')
xlabel('Tiempo (Segundos)')
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.
14
400
300
200
100
Imag Axis
-100
-200
-300
-400
-250 -200 -150 -100 -50 0 50
Real Axis
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)
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
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 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
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.
22
DEDUCCIÓN DE LAS REGLAS DIFUSAS PARA EL SISTEMA LEVITADOR –
CONTROLADOR PID
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)
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)
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:
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)
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.
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)
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:
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 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.
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.
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
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)
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.
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 .
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:
36
%PROGRAMA PARA LA IMPLEMENTACIÓN DE UN CONTROLADOR
% DIGITAL EN EL LEVITADOR MAGNÉTICO
%POLOS DESEADOS
s1=-zetad*wnd+j*wnd*sqrt(1-zetad^2);
z1=exp(s1*T);
[nk,dk]=series(npid,dpid,nz,dz);
37
5.584 Z 2 61.0076 Z 0.076395
H d Z
0.1 Z 2 0.1 Z
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)
Por otro lado, el módulo en cascada que se debe implementar, se basa en la siguiente estructura
del controlador digital:
38
w(n) w(n)
S 1 -55.84 S
S S
E(n) a01 MN E(n) MN
Z-1 Z-1
Z-1 Z-1
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:
SENSOR
Pines 1 y 9
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
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
LAR ar1,#wn2
LAR ar2,#tablcoef
LAR ar4,#YN
LAR ar3,#XN
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:
;------------------------
;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
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
; -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 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