Академический Документы
Профессиональный Документы
Культура Документы
Campus Tehuantepec
Tesis presentada para obtener el ttulo de
Ingeniero en Computacin
Ttulo de la tesis:
ANLISIS Y COMPARACIN DE SISTEMAS DE CONTROL
PID Y PID DIFUSO EN LGICA RECONFIGURABLE
Presentado por:
Williams Antonio Pantoja Laces
Asesor de tesis:
Dr. Ignacio Algredo Badillo
Tehuantepec, Oaxaca
Agosto 2013
II
Resumen
En la actualidad, la tecnologa est en constante avance y el campo de control automtico no es la excepcin, ya que hoy en da se requieren sistemas inteligentes para controlar
mltiples procesos, algunos de estos procesos requieren tambin alta velocidad de procesamiento por lo que la exploracin hacia el uso de dispositivos FPGAs se encuentra en una
tendencia creciente.
En este trabajo se desarrolla un anlisis y comparacin de un controlador PID y PID
difuso en lgica reconfigurable aplicados al control de motores de CD, esto con el fin de
obtener conclusiones sobre el comportamiento de ellos.
Se realiza primeramente una bsqueda bibliogrfica en libros, revistas y artculos de
divulgacin cientfica, tanto fsica como digitalmente para obtener el conocimiento acerca
de estos sistemas, as tambin conocer lo que se ha realizado ltimamente. De esta manera
se establecen los fundamentos tericos de control y lgica difusa. El establecimiento de
estas bases ayuda a comprender el funcionamiento de los sistemas de control clsicos e
inteligentes, en especfico los basados en lgica difusa.
Posteriormente, se desarroll en software (Sw) ya que sirve como punto de partida para
el desarrollo ms importante, el cual esta realizado con lgica reconfigurable (plataforma
hardware, Hw). Se resume que en este trabajo se realizan 2 diseos en software y 4 arquitecturas en hardware. Estas ultimas estn divididas en una arquitectura del PID clsico y
se proponen 3 arquitecturas nuevas para el controlador PID difuso; las novedades de estas
arquitecturas son la flexibilidad en el diseo en una de ellas , as como tambin la estructura y distribucin de los bloques que hacen posible los clculos para obtener una seal de
control.
III
El anlisis realizado en este trabajo esta basado referente a los siguientes parmetros:
el tiempo de respuesta, comportamiento ante ruido y recursos hardware utilizados.
El anlisis y las comparaciones estarn basados en los siguientes rubros:
Tiempos de las seales de salida
Se realiza con el estudio del tiempo de respuesta, sobreelongacin, tiempo de subida y
tiempo de retardo, los cuales son medidos en tiempo continuo para el desarrollo Sw y en
ciclos de reloj para el desarrollo Hw.
Comportamiento ante ruido
El anlisis del comportamiento ante ruido se realiza tanto para los controladores en software como en los de hardware, este anlisis se realiza comparando la seal sin ruido contra la
seal con ruido y la seal con ruido con la seal de referencia, obteniendo el error cuadrtico medio y el error promedio.
Cantidad de recursos hardware
Se toman en cuenta las arquitecturas del PID y PID difuso para distintos dispositivos FPGAs, esto con el fin de conocer en que dispositivo conviene implementarlo.
Adems, este trabajo busca brindar bases en la toma de decisiones de los diseadores
al desarrollar sistemas de control clsicos como el PID e inteligentes como el PID difuso,
as como tambin en plataforma software y hardware.
IV
Agradecimientos
A Dios.
Por haberme permitido llegar hasta este punto y haberme dado salud para lograr mis
objetivos, adems de su infinita bondad y amor.
A mis padres.
Juan Pantoja Barbosa y Antonia Laces Hernndez, por mostrarme con paciencia, amor
y comprensin el camino hacia la superacin por medio del conocimiento.
A mis hermanos.
Juan Pantoja Laces y Briseida Pantoja Laces, por estar conmigo en mi formacin acadmica.
A mis familiares.
Porque gracias a su apoyo y consejos he llegado a realizar una de mis metas profesionales. En especial a mis tas Claudia Pantoja Barbosa, Eustolia Pantoja Barbosa y
Minerva Pantoja Barbosa.
A la Universidad del Istmo
Por haberme dado cobijo y por las lecciones que aprend en ella, asimismo, por haberme dado su voto de confianza y por todo el apoyo otorgado a mi persona. Tambin a la
PROMEP por la beca otorgada.
A mi director de tesis.
Dr. Ignacio Algredo Badillo por su gran apoyo y motivacin para la culminacin de
mis estudios profesionales y para la elaboracin de esta tesis; por su tiempo compartido y
por impulsar el desarrollo de mi formacin profesional.
A mis revisores de tesis.
A M.C. Ernesto Cortz Prez, M.C. Flix Emilio Luis Prez, Dr. Miguel ngel Hernndez Lpez y M.C Vctor Hugo Garca Rodrguez por su amabilidad, buena disposicin,
paciencia, por el tiempo que me dedico para que este trabajo culminara exitosamente, mi
agradecimiento sincero.
A mis profesores.
Que durante toda mi carrera han aportado con un granito de arena a mi formacin,
en especial a M.C. Sergio Jurez Vzquez, M.A.G.N. Silvia Reyes Jimnez, M.C. J. Jess
Arellano Pimentel por sus consejos y su enseanza.
A mi compaera, amiga y novia.
Claudia por estar en cada momento junto a m y brindarme apoyo incondicional.
A mis amigos.
Benito, Sergio, Rodolfo, Fajardo, Laurencio, Jos Roberto, Salvador, Francisco Javier,
Luis y los dems miembros de la banda que han estado conmigo y que los considero muy
buenos amigos.
<Rabindranath Tagore>
VI
ndice general
Resumen
III
Agradecimientos
1. Introduccin
1.2. Justificacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4. Hiptesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5.1. Alcances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5.2. Metas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2. Marco terico
11
2.4.1.2.
2.4.1.3.
2.5.2.2.
Tecnologas de programacin . . . . . . . . . . . . . . . 45
2.5.2.3.
Fabricantes de FPGAs . . . . . . . . . . . . . . . . . . . 46
2.5.2.4.
Componentes de FPGAs . . . . . . . . . . . . . . . . . . 47
3. Antecedentes
49
. . . . . . . . . . . . . . . . . . . . . . . 54
3.5. Discusin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4. Sistemas de control propuestos y desarrollo
57
VIII
5. Resultados
101
5.2.2.2.
133
139
147
. . . . . . . . . . . . . . . . . . . . . . . . . . . 148
IX
Bibliografa
157
ndice de cuadros
4.1. Nomenclatura usada en los conjuntos de entrada y de salida . . . . . . . . . 66
4.2. Reglas difusas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.3. Inferencia de las Reglas del controlador PID difuso . . . . . . . . . . . . . 67
4.4. Reglas difusas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.1. Tiempos y Sobreelongacin del controlador PID en software . . . . . . . . 103
5.2. Tiempos y Sobreelongacin del controlador PID difuso en software . . . . 104
5.3. Tiempos y Sobreelongacin del controlador PID en hardware . . . . . . . . 105
5.4. Tiempos y sobreelongacin de la arquitectura 1 del PID difuso en hardware 106
5.5. Tiempos y sobreelongacin de arquitectura 2 PID difuso en hardware . . . 108
5.6. Tiempos y sobreelongacin de arquitectura 3 PID difuso en hardware . . . 109
5.7. Tamao de muestra y Valor de Erms para el PID en SW . . . . . . . . . . . 111
5.8. Tamao de muestra, valor de E prom yErms para el PID difuso en SW . . . . 112
5.9. Tamao de muestra, valor de E prom y Erms para el PID en HW . . . . . . . 113
5.10. Tamao de muestra, valor de E prom yErms para el PID difuso en HW . . . . 114
5.11. Tamao de muestra y Valor de Erms para el PID en SW (estudio ante ruido) 117
5.12. Tamao de muestra y Valor de Erms para el PID difuso en SW (estudio ante
ruido) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
5.13. Tamao de muestra y Valor de Erms para el PID en HW (estudio ante ruido) 120
5.14. Tamao de muestra y Valor de Erms para el PID difuso en HW (estudio ante
ruido) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
5.15. Recursos PID implementado en Artix 7, Spartan 6 y Virtex 5 . . . . . . . . 124
5.16. Tiempos y Sobreelongacin del controlador PID en hardware . . . . . . . . 125
5.17. Recursos de arquitectura 1 implementada en Artix 7, Spartan 6 y Virtex 5 . 126
XI
XII
ndice de figuras
2.1. Sistema de control abierto . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2. Sistema de control retroalimentado . . . . . . . . . . . . . . . . . . . . . . 14
2.3. Sistema de control digital . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4. Sistema de control automtico continuo . . . . . . . . . . . . . . . . . . . 15
2.5. Curva de respuesta ante la funcion escaln . . . . . . . . . . . . . . . . . . 19
2.6. Funcin triangular en MatLab con la funcin trimf(x,[3 6 8]) . . . . . . . . 26
2.7. Funcin trapezoidal en MatLab con la funcin trapmf(x,[2 4 6 8]) . . . . . 27
2.8. Funcin Gaussiana en MatLab con la funcin gaussmf(x, [0.5 5]) . . . . . . 28
2.9. Funcin Campana en MatLab con la funcin gbellmf(x, [2 4 5]) . . . . . . 29
2.10. Sistema difuso puro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.11. Sistema difuso tipo Mamdani . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.12. Valor de pertenencia del fuzzificador no unitario . . . . . . . . . . . . . . . 32
2.13. Regla Si-entonces Mamdani . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.14. Ubicacin grfica del valor de salida usando COA . . . . . . . . . . . . . . 36
2.15. Ubicacin de SOM, MOM y LOM . . . . . . . . . . . . . . . . . . . . . . 37
2.16. Ejemplo grfico de biseccin . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.17. Sistema difuso tipo Sugeno . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.18. Regla tipo Si-entonces Sugeno . . . . . . . . . . . . . . . . . . . . . . . . 39
2.19. Flexibilidad, coste, complejidad y prestaciones en diseos de sistemas . . . 43
2.20. Componentes de un FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.1. Diagrama esquemtico del controlador PID conectado a una planta. . . . . 58
4.2. Controlador PID y planta en software . . . . . . . . . . . . . . . . . . . . 59
4.3. Operacin derivada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
XIII
. . . . . . . . . . . . . . . . 61
XV
XVI
Captulo 1
Introduccin
En varios campos de la ingeniera se estudia el diseo, implementacin y mantenimiento de sistemas as como tambin los procesos automticos que se relacionan con ellos. Por
proceso se entiende una secuencia de operaciones para obtener un resultado en especfico,
mientras que el concepto de sistema es ms general, siendo comnmente definido como
un conjunto de elementos que interactan unos con otros para realizar una tarea (Ogata,
2003).
Existen muchos sistemas en la naturaleza, algunos naturales y otros creados por el hombre como los sistemas informticos, sistemas electrnicos, sistemas mecnicos, sistemas
elctricos, etc. Uno de los desafos de la ingeniera es determinar el funcionamiento de un
sistema actuante sobre otro sistema, por lo que se puede definir que un sistema de control
es el que regula el funcionamiento de otro sistema o proceso.
El control automtico tiene una intervencin cada vez ms importante en la vida diaria
y se ha convertido en parte importante e integral de los procesos modernos, industriales y de
manufactura. Adems, brinda los medios para lograr el funcionamiento ptimo de sistemas
dinmicos, mejorar la calidad y abaratar los costos de produccin.
Los sistemas de control automtico se pueden clasificar segn su estructura en dos categoras: los sistemas de control de lazo abierto y los sistemas de control de lazo cerrado
(Galn et al., 2000). Los primeros son los ms sencillos ya que el controlador no toma en
consideracin la respuesta del sistema que est controlando; por el contrario, los controladores de lazo cerrado s toman en cuenta la respuesta del sistema que controlan y son los
1
CAPTULO 1. INTRODUCCIN
ms utilizados. Existen una gran variedad de controladores de lazo cerrado, pero en particular el controlador clsico ms usado es el denominado controlador PID (ProporcionalIntegral-Derivativo) (Noriega del Castillo, 2011). ste se usa para controlar diversos sistemas como hornos, motores de CD (Corriente Directa), entre otros (Castillo, 2009; Farid
and Faruq, 2008; Kamalasadan and Hande, 2004).
En esta investigacin se abordar el control de los sistemas utilizando lgica reconfigurable, cuya planta es representada por motores de CD perteneciente a un robot mvil
del Cuerpo Acadmico de la ingeniera en Computacin de la universidad del Istmo cuyo proyecto es NPTC056 . El control de motores de CD est basado principalmente en el
uso de controladores de lazo cerrado, los cuales toman el error que existe entre la salida
obtenida y la salida esperada. Aunque el controlador PID es el ms empleado en este tipo
de control, en general, existen procesos reales donde estos controladores tienden a desestabilizarse debido a las perturbaciones no lineales, el desgaste de equipos y otros factores
que se presentan en los procesos o sistemas. Esto hace necesario que tengan que ser reajustados para las nuevas condiciones de operacin o funcionamiento de esos sistemas ante
la prdida de funcionalidad para controlar de manera adecuada. Actualmente se estudian
nuevos mtodos y mejoras a los mtodos clsicos para mejorar el rendimiento tanto en
tiempo de respuesta, recursos utilizados y mantenimiento a largo plazo sin la necesidad de
estar reajustndolos. Estos mtodos estn basados en Inteligencia Artificial (IA) y algunas
permiten un reajuste automtico como si lo hiciera un humano experto en la sintonizacin
de controladores.
El campo de la IA est todava en etapas de crecimiento comparadas con otras ramas de
la computacin, pero, poco a poco, el estudio del comportamiento humano dar paso para
aplicar estos conocimientos a las computadoras. Los logros actuales de la IA llevan desde
un robot capaz de recorrer distancias hasta mquinas capaces de jugar ajedrez. De esta
manera, entre uno de sus objetivos, la IA busca seguir creando mquinas capaces de facilitar
ciertas labores de los humanos, logrando as que la tecnologa tenga un avance mucho
mayor, adems de otros beneficios en ramas de la ciencia como computacin, medicina,
biologa, etc.
La inteligencia artificial se divide en diferentes reas: deduccin y demostracin automtica de teoremas, resolucin de problemas, mtodos de control y bsqueda, juegos,
CAPTULO 1. INTRODUCCIN
1.1.
CAPTULO 1. INTRODUCCIN
bajo plataforma software no cumplen en su totalidad con este requisito debido su paradigma
de programacin secuencial. Por lo que en este trabajo se estudia el uso de plataforma hardware usando lgica reconfigurable (uso de FPGAs) como opcin para desarrollar sistemas
eficientes y con un alto desempeo en velocidad de clculo, aprovechando el procesamiento
paralelo que ofrecen las arquitecturas hardware.
Por otra parte, cuando se desarrollan controladores, el establecer qu diseo es el ms
adecuado para una aplicacin resulta una tarea complicada, ya que se tendra que implementar una gran cantidad de controladores para despus para analizarlos y compararlos, lo
cual demandara tiempo y esfuerzo. De manera que, contar con un estudio realizado con un
anlisis en la seal de respuesta (Sw-Hw), respuesta ante ruido (Sw-Hw) y recursos utilizados (Hw) de los controladores resulta beneficioso, pues brinda conocimiento preliminar
til en el desarrollo de sistemas de control.
En este trabajo se abordar el anlisis y comparacin de controladores PID y PID difuso aplicados en el control de una planta que representada por motores de corriente directa.
El problema del PID, es que dadas las caractersticas lineales de este controlador, lo hacen
susceptible a problemas tales como ruido y perturbaciones por lo que son reajustados cada
vez que lo necesiten. Ante este tipo de inconvenientes, se requieren de nuevas formas de
control o de mejoras a los controladores clsicos como el PID. La bsqueda y la investigacin realizada apuntan al uso de IA, por ejemplo al uso lgica difusa, ya que sta se adapta
mejor al entorno y permite interpretar expresiones de la vida cotidiana, adems brinda una
repuesta rpida y precisa, disminuyendo las transiciones de estados fundamentales del entorno, por lo que combinado con un controlador PID da lugar al controlador PID difuso.
1.2.
Justificacin
Los controladores inteligentes como los difusos requieren algunos clculos que son
complejos y, en aplicaciones que requieran un buen desempeo en tiempo, llegan a tener
complicaciones con el nmero de clculos por segundo. Por lo que se buscan tecnologas de
alto desempeo que ayuden a solventar este tipo de problemas, en este trabajo se emplear
1.3. OBJETIVOS
tecnologa basada en lgica reconfigurable, sta se basa en el uso de dispositivos reprogramables como los FPGAs, los cuales proporcionan un alta capacidad de clculo por lo que
mejora en tiempo gran cantidad de procesos. De manera que, se propondrn arquitecturas
nuevas en hardware, de las cuales se obtendrn conocimiento til en la generalizacin de
arquitecturas hardware de controladores.
Adems de las arquitecturas propuestas, el anlisis y comparacin de los controladores
PID y PID difuso servir como conocimiento preliminar til en el desarrollo de sistemas de
control. Ya que hace uso de la lgica difusa empleada en control, la cual es importante un
futuro en un mundo en constante cambio, por lo que contar con tcnicas basadas en lgica
difusa resulta atractivo al ser ms viable, ya que se adapta mejor al entorno que los mtodos
de control clsicos y se estima que se ahorrarn los gastos de mantenimiento y los sistema
sern ms robustos ante perturbaciones.
La simulacin e implementacin del controlador PID y PID difuso se realizarn en dos
plataformas (hardware y software), homogeneizado bajo una misma planta a controlar (motor de CD). Se analizar el comportamiento de los controladores, para despus compararlos
y as obtener conclusiones acerca de ellos.
En resumen, se puede decir que el diseo y desarrollo de un controlador es una dificultad que se presenta al momento de trabajar con sistemas de control, por lo que esta
investigacin contribuir a tomar mejores decisiones con nuevas formas de control (lgica
difusa) y explorando plataforma de alto velocidad (lgica reconfigurable). Esto conllevar
a procesos mejor controlados lo cual es benfico para la industria y desarrollo cientfico.
1.3.
Objetivos
En esta seccin se menciona el objetivo general del trabajo de investigacin y los objetivos especficos que se esperan cumplir.
1.3.1.
Objetivo general
CAPTULO 1. INTRODUCCIN
1.3.2.
Objetivos especficos
Analizar y establecer los fundamentos tericos de los sistemas de control, las funciones de transferencia, lgica difusa y lgica reconfigurable para comprender su
funcionamiento aplicado a sistemas de control.
Simular el controlador PID clsico y el controlador PID difuso con una misma planta
representada con un motor de CD, la simulacin se realizar bajo plataforma software
y hardware.
Implementar un controlador PID clsico y un controlador PID difuso en hardware.
Esta implementacin estar realizada lgicamente utilizando herramientas software
que emulan dispositivos hardware (FPGAs).
Establecer un criterio de evaluacin y obtener mediciones en tiempo de respuesta,
comportamiento ante ruido y recursos hardware.
Analizar y comparar las respuestas de cada controlador en plataforma hardware (FPGAs).
1.4.
Hiptesis
El anlisis y comparacin de sistemas de control PID y PID difuso en lgica reconfigurable es una contribucin en el conocimiento y toma de decisiones tiles en el diseo de
sistemas de control, por ejemplo en motores de CD en sillas ruedas y robots mviles.
El desarrollo en lgica reconfigurable de los controladores PID clsico y PID difuso
tendrn mejores prestaciones en referencia con sus similares desarrollados en software.
1.5.
Alcances y metas
En esta seccin se presentan los alcances y metas que se pretenden lograr en este trabajo
de investigacin.
1.5.1.
Alcances
1.5.2.
Metas
10
CAPTULO 1. INTRODUCCIN
Captulo 2
Marco terico
Debido a que este proyecto se relaciona con el control de sistemas por medio de mtodos clsicos e inteligentes y lgica reconfigurable, se presenta a continuacin el marco
terico con el fin de establecer las bases tericas para el desarrollo de este proyecto.
2.1.
Sistemas de control
El control automtico interviene cada vez con ms frecuencia en la vida de los seres
humanos desde controles simples como los usados en un refrigerador o una tostadora automtica, hasta los sistemas complejos de control de vehculos espaciales, gua de misiles,
navegacin asistida en aviones, robots autnomos, entre otros. Asimismo, el control automtico con el transcurso de los aos se ha convertido en parte importante de procesos
industriales como control de presin, temperatura, velocidad, humedad, etctera.
Actualmente, la industria hace necesario disponer de sistemas de control que permitan
mejorar y optimizar los procesos ya existentes, en donde el hombre en ocasiones presenta deficiencias para realizar control, debido a que las capacidades fsicas de los humanos
como fuerza, rapidez (mental y motriz), exactitud, repetitividad, precisin, visualizacin,
entre otros, por lo que los humanos no son los indicados para usarse en determinados procesos; la industria espacial y de la aviacin, petroqumica, papelera, entre otros son algunos
ejemplos de lugares en donde se necesitan sistemas de control de alta complejidad ya que
los procesos que manejan as lo requieren.
11
12
13
Entrada de
referencia
Seal controlada
Seal de control
Controlador
Planta
La exactitud de los sistemas de lazo abierto depende de la calibracin, pues en la calibracin establece una relacin entre la entrada y la salida con el objetivo de obtener en
el sistema la exactitud deseada. Los sistemas de control de lazo abierto son econmicos
aunque comnmente inexactos, ya que stos no son sensibles a las perturbaciones; por eso,
el sistema de control abierto es til cuando se tiene la seguridad de que no existen perturbaciones que afecten su comportamiento. El uso de este tipo de controladores se debe a
su simplicidad y economa, y se utilizan en aplicaciones no crticas como los sistemas de
lavado automtico de ropa, control de sistemas de refrigeracin y los sistemas de control
en los semforos, pues slo dependen de la calibracin que se realice en el sistema.
Por otro lado, los sistemas de control de lazo cerrado son aquellos en que la salida o
seal controlada debe ser retroalimentada y comparada con la entrada de referencia; se debe
enviar una seal actuante o accin de control que responda a la diferencia entre la entrada
y la salida a travs del sistema para disminuir el error y corregir la salida. La propiedad
de retroalimentacin permite que la salida del sistema o cualquier variable del mismo sean
comparadas con la entrada al sistema o con cualquier componente del sistema para que
se tomen las acciones ms adecuadas. Entonces, un sistema de control retroalimentado
tiene como objetivo mantener una relacin preestablecida entre la salida y la entrada de
referencia, comparando ambas y utilizando la diferencia como variable de control.
Un sistema de control de lazo cerrado (ver Figura 2.2) es aquel cuya seal de salida
tiene efecto directo sobre la accin de control (tambin son conocidos como sistemas retroalimentados); la diferencia entre la seal de entrada y la seal de salida se la denomina
14
seal de error del sistema; esta seal es la que acta sobre el sistema para llevar la salida
a un valor deseado. En otras palabras, el trmino lazo cerrado implica el uso de accin de
retroalimentacin negativa para reducir el error del sistema.
Controlador
Seal controlada
Seal de control
Seal de error
Planta
Seal
retroalimentada
Retroalimentacin
Los sistemas de control retroalimentados se pueden clasificar en diversas formas dependiendo del propsito de la clasificacin. Por ejemplo, de acuerdo con el mtodo de
anlisis y diseo, los sistemas de control se clasifican en lineales o no lineales y variantes
o invariantes en el tiempo (Prez, 2008). De acuerdo con los tipos de seales usados en el
sistema, se hace referencia a sistemas en tiempo continuo y en tiempo discreto, o sistemas
modulados y no modulados.
Lo sistemas de control en tiempo continuo son aquellos en los que las seales, en varias partes del sistema, son todas funciones de una variable continua en tiempo t, es decir,
el flujo de seales en todas partes del sistema es siempre continuo. La caracterstica fundamental de un sistema de control automtico continuo o analgico es la comparacin
continua o permanente entre el valor actual de la variable controlada y el valor deseado de
esta variable.
Los sistemas de control en tiempo discreto, ver Figura 2.3, difieren de los sistemas de
control en tiempo continuo en que las seales en uno o ms puntos del sistema son en
cdigo numrico digital. Normalmente, los sistemas en tiempo discreto se subdividen en
sistemas de control de datos muestreados y sistemas de control digital (Prez, 2008). Los
primeros se refieren a una clase ms general de sistemas en tiempo discreto en los que
las seales estn en la forma de pulsos de datos u ondas rectangulares. Por otra parte los
15
Entrada de
referencia
Computadora
Convertidor Digital/
Analgico
Planta
Convertidor
Analgico/ Digital
Perturbacin
r(t)
e(t)
Amplificacin
Regulador o
Actuador
m(t)
Planta
controlada
y(t)
b(t)
Elemento de
medicin o bloque
de realimentacin
16
17
2.1.1.
El motor de corriente directa es un dispositivo que convierte la energa elctrica en energa mecnica, principalmente mediante un movimiento rotatorio. Esta mquina de corriente
continua es una de las ms verstiles en la industria, ya que la principal caracterstica del
motor de corriente continua es la posibilidad de regular la velocidad y su principal inconveniente es que el mantenimiento es costoso y laborioso (Galn et al., 2000).
El motor se compone principalmente de dos partes:
El estator, el cual le brinda estabilidad al dispositivo dado que mantiene una posicin
fija, puede estar devanado o tener imanes permanentes dentro de ste.
El rotor de forma generalmente cilndrica, el cual est devanado y cuenta con un
ncleo; el rotor gira cuando le llega corriente mediante dos escobillas fijas en el
estator.
Una forma de clasificar a los motores de CD segn la excitacin de su campo magntico es:
excitacin serie, excitacin paralelo y excitacin independiente (Romero, 2001). Sin embargo la caracterstica de los dos primeros son no lineales, de manera que para aplicaciones
de control el ms usado es el motor de excitacin independiente.
En este proyecto se hace uso de un motor de CD, el cual es parte de un robot mvil
denominado ROCA, desarrollado en (Romero, 2001) y tambin usado en (Surez., 2006).
Los motores de este robot mvil descrito en este trabajo son de la marca Pittman de CD a 24
volts de la serie GM9000. En la actualidad se cuenta fsicamente con este robot mvil, ya
que es parte del proyecto del Cuerpo Acadmico de la Ingeniera en Computacin (CAIC)
en la Universidad del Istmo campus Tehuantepec, ese es el motivo de su utilizacin ya que
cumple con la caracterstica de ser un sistema real. Para obtener el comportamiento, se
hace uso del documento de (Surez., 2006), en el cual se realiz el modelado del motor de
corriente directa. De este estudio realizado se toma la funcin de transferencia para trabajar
en esta tesis, la funcin de transferencia se presenta en la ecuacin 2.2.
18
G(S) =
KT
(S)
= 2
Va (S) S Jm La + S (Jm Ra + DLa ) + DRa + KT KE
(2.1)
Donde
Jm es la inercia del rotor.
La es la inductancia del motor.
Ra es la resistencia del motor.
D es el coeficiente de friccin viscosa.
KT es la constante par o de torque.
KE es la constante de fuerza electromotriz.
(S) es la velocidad angular.
Va (S) es el voltaje de la entrada.
Sustituyendo los valores desde la hoja de especificacin, ver apndice la ecuacin de
transferencia es:
G(S) =
2.2.
(S)
4,58 x102
=
Va (S) 18,67 x109 S2 + 17,68 x106 S + 2,10 x103
(2.2)
Controladores clsicos
19
2.2.1.
20
u(t) = k p e(t)
(2.3)
(2.4)
2.2.2.
Este controlador agrega una accin derivativa, por lo que la seal de salida es directamente proporcional a la velocidad con que cambia la variable controlada. Este controlador
genera una seal de salida mediante la combinacin de la accin proporcional anteriormente mencionada y la accin derivativa, la ecuacin 2.5 representa este controlador.
u(t) = k p
de(t)
e(t) + d
dt
(2.5)
U(S) = k p {1 + d S} E(S)
(2.6)
21
2.2.3.
kp
u(t) = k p e(t) +
I
Z t
e(t) dt
(2.7)
1
U(S) = k p 1 +
E(S)
I S
(2.8)
22
2.2.4.
Este controlador es con frecuencia el ms usado y uno de los que ofrecen mayor precisin dentro de la regulacin automtica. El controlador recibe su nombre ya que es una
combinacin de una accin de control proporcional, una accin de control integral y una accin de control derivativa por lo que se denomina accin de control proporcional integral
derivativa o PID. El algoritmo del clculo del control PID requiere de tres parmetros
distintos: el proporcional, el integral y el derivativo. El valor proporcional determina la
reaccin del error actual. El integral genera una correccin proporcional a la integral del
error, esto asegura que aplicado un esfuerzo del control suficiente, el error de seguimiento
se reduce a cero. El derivativo determina la reaccin del tiempo en el que el error se produce. El PID tiene las ventajas de cada una de las tres acciones de control individuales. La
ecuacin 2.9 representa el controlador con esta accin combinada.
kp
u(t) = k p e(t) +
I
Z t
0
e(t) dt + k p d
de(t)
dt
(2.9)
1
1+
+ d S E(S)
I S
(2.10)
Cabe aclarar que los valores de k p , d , y I representan los mismos valores que anteriormente se mencionaron.
Los controladores PID se recomiendan para procesos con constante de tiempo larga en
los que no hay ruido del exterior. Adems, ellos son de gran utilidad cuando se regulan
procesos industriales como en el control de nivel, presin, flujo, temperatura, posicin y
velocidad; este ltimo tipo de planta es el estudiado en este documento ya que se desea
controlar la velocidad angular de un motor de corriente directa.
Como se ha visto existen una gran cantidad de controladores, sin embargo estos controladores clsicos tienen deficiencias que llegan a dificultar el control de procesos cuando se
presentan perturbaciones o ruido, por tal motivo se requieren controladores inteligentes. De
manera que se han explorado las tcnicas de la inteligencia artificial para implementarlas
23
en control, en este proyecto se realiza control difuso ya que se combina la lgica difusa y
el control automtico.
2.3.
Control Difuso
La lgica difusa nace en 1965 a partir de la publicacin del artculo Fuzzy sets escrito
por Lotfi Zadeh (Wang, 1994). La lgica difusa contrasta con la lgica convencional pues
define conceptos en grados variables de pertenencia tratando de emular patrones de razonamiento similares a los del pensamiento humano, contrario a la lgica convencional que
utiliza conceptos absolutos para referirse a la realidad.
La lgica difusa se presenta como una tcnica de la Inteligencia Artificial cuyo objetivo
es expresar el conocimiento de tipo lingstico en un lenguaje matemtico basado en la
teora de conjuntos difusos y funciones de pertenencia asociados a stos, en pocas palabras
la lgica difusa relaciona el contexto lingstico con datos numricos los cuales proporcionan precisin matemtica. La aplicacin de la lgica difusa en control de procesos presenta
ventajas dada su flexibilidad y tolerancia a imprecisiones ya que estn basados en el lenguaje natural, otra ventaja es que la lgica difusa trabaja excelentemente cuando los datos
no son precisos, caracterstica muy til cuando se trabaja con sistemas complejos o reales.
2.3.1.
Variables lingsticas
En la vida diaria se usan palabras para describir variables, por ejemplo, cuando se dice
la expresin que hoy hace fro y que es equivalente a decir que la temperatura es baja.
Se utiliza la palabra baja para describir la temperatura actual. Cuando las variables toman
nmeros como sus valores, se tiene un marco de trabajo formulado matemticamente, pero
cuando la variable toma palabras como sus valores, entonces no se consigue este marco,
por tal motivo se introduce el concepto de variable lingstica si una variable puede tomar
palabras en lenguaje natural como sus valores (Pedrycz, 1993).
Las variables lingsticas son importantes en la representacin del conocimiento humano, ya que cuando se mide una variable y se tiene un valor numrico como salida, posteriormente se le pregunta a un experto humano para que evale dicha variable. Los humanos
24
entregan palabras como salidas, las cuales se transmiten a las variables lingsticas, estas
ltimas transforman descripciones vagas en lenguaje natural a trminos matemticos precisos (Passino and Yurkovich, 1998), por lo que las variables lingsticas son adecuadas
cuando se disean e implementan sistemas difusos ya que cada una puede representar un
conjunto difuso o una equivalencia matemtica representada por una funcin de pertenencia basada en el lenguaje humano.
2.3.2.
Un conjunto clsico se define como una coleccin de elementos que existen dentro de
un universo, en donde cada uno de los elementos del universo pertenece o no a un determinado conjunto. Por lo tanto, cada conjunto puede definirse completamente por una funcin
de pertenencia que opera sobre los elementos del universo y que le asigna un valor de 1 si
el elemento pertenece al conjunto y de 0 si no pertenece. Por su parte, un conjunto difuso
se define de forma similar aunque con una diferencia la cual es que un elemento puede
pertenecer parcialmente a ms de un conjunto, con un valor de pertenencia ponderado. Las
primeras diferencias que se hacen evidentes entre los conjuntos clsicos y los conjuntos
difusos segn (Ortiz and Liu, 2004) son las siguientes:
La funcin de pertenencia asociada a los conjuntos concretos slo pueden tener dos
valores: 0 o 1, mientras que en los conjuntos difusos pueden tener cualquier valor
entre el intervalo cerrado 0 y 1.
Un elemento puede pertenecer (parcialmente) a un conjunto difuso y simultneamente pertenecer (parcialmente) al complemento de dicho conjunto, lo anterior no es
posible en los conjuntos clsicos.
Las fronteras de un conjunto clsico son exactas, es decir, un elemento pertenece o no
pertenece a dicho conjunto, en tanto que las de un conjunto difuso son, precisamente
difusas, ya que existen elementos en las fronteras mismas, y estos elementos pueden
pertenecer al mismo tiempo a ms de un conjunto difuso con diferente grado de
pertenencia.
25
2.3.3.
Funciones de pertenencia
Las funciones de pertenencia representan grficamente un conjunto difuso, el eje X representa el universo de discurso y el eje Y sita los grados de pertenencia que estn definidos de 0 a 1. Al momento de definir un conjunto difuso se puede utilizar cualquier funcin,
sin embargo, existen ciertas funciones que son comnmente usadas debido a la simplicidad matemtica; entre stas estn la funciones triangulares, trapezoidales, parablicas y
Gaussianas. A continuacin se describen algunas funciones de pertenencia:
Funcin triangular
La funcin triangular se define como muestra la ecuacin 2.11:.
triangular (x; a, b, c)
xa
,x a
cx
cb
,b x c
ba
,a x b
(2.11)
,c c
Donde a, b y c representan la coordenada del eje horizontal de los vrtices del triangulo
formado.Un ejemplo de una funcin triangular usando el software MatLab es mostrada en
la Figura 2.6
26
Funcin trapezoidal
La funcin trapezoidal se define con la ecuacin 2.12:
xa
ba
trapezoidal (x; a, b, c, d) 1
dx
dc
xa
axb
bxc
(2.12)
cxd
dx
Donde a, b, c y d representan la coordenada del eje horizontal de los vrtices del trapecio formado. Un ejemplo de la funcin trapezoidal usando el software MatLab, se ve en la
Figura 2.7.
27
Funcin Gaussiana
La funcin Gaussiana se define con la ecuacin 2.13.
1
gaussiana (x; , a) = e 2 (
xc 2
(2.13)
28
Figure 2.8: Funcin Gaussiana en MatLab con la funcin gaussmf(x, [0.5 5])
Funcin campana
La funcin campana est definida como se muestra en la ecuacin 2.14:
campana (x; a, b, c) =
1
2b
1 + | xc
a |
(2.14)
29
2.4.
Sistemas difusos
Los sistemas difusos son sistemas basados en conocimiento humano, donde la parte
esencial de un sistema difuso es la base de conocimientos que consiste de reglas difusas
que tienen la forma:
Si antecedente entonces consecuente
La primera parte de la regla se denomina antecedente y contiene una o varias condiciones referidas a las entradas del sistema; la segunda parte de la regla es denominada
consecuente y es la accin a ejecutarse (Gonzlez and Hernando, 1995) .
A continuacin se muestra un ejemplo de una regla difusa de la forma Sientonces:
Si la temperatura es baja entonces hacer ms fuego
30
Este tipo de reglas componen lo que se denomina base de reglas del sistema, donde
las palabras baja y ms tienen asociadas funciones de pertenencia. Un sistema difuso
est construido de un conjunto de reglas difusas. En resumen, el punto de inicio para la
construccin de un sistema difuso es obtener una coleccin de reglas difusas de la forma
Sientonces de expertos humanos en base a su conocimiento y experiencia (Wang and
Mendel, 1992).
2.4.1.
Para el diseo de sistemas difusos se tiene en cuenta que existen diferentes tipos de
sistemas difusos, entre los ms populares y usados estn los sistemas difusos puros, los
sistemas del tipo Mamdani y los del tipo Sugeno.
2.4.1.1.
31
Este sistema difuso es el ms usado cuando se trabaja con la metodologa fuzzy y fue uno
de los primeros sistemas de control que utiliz conjuntos difusos. El mtodo de Mamdani
fue propuesto en 1975 por Ebrahim Mamdani (Nicols Nicols, 2008) y est compuesto de
los elementos mostrados en la Figura 2.11.
Base de reglas
Fuzzificacin
Inferencia
Defuzzificacin
A continuacin se describe cada elemento que conforma a este tipo de sistema difuso
para dar una mejor idea de la interpretacin de este sistema.
Fuzzificacin
En general, la fuzzificacin es el proceso mediante el cual se transforma un valor numrico concreto de una variable de entrada en un conjunto difuso que representa dicho
valor.
El primer paso consiste en tomar las entradas y determinar el grado al que ellos pertenecen con respecto a cada uno de los conjuntos difusos apropiados y la entrada siempre es
un valor numrico limitado al universo del discurso de la variable de entrada.
Los fuzzificadores se pueden clasificar en dos categoras segn (Mndez and Morales,
2008): el fuzzificador unitario y el no unitario. Un fuzzificador unitario produce un conjunto
32
1
(x) =
0
x es x = y Univ
(2.15)
x es x 6= y Univ
33
Interpretando la expresin, se observa que la relacin difusa est definida en los dominios de las variables lingsticas A y C por lo que el grado de verdad de la implicacin
es:
El antecedente de la proposicin es A es B y es representado por una conjunto difuso
B.
El consecuente de la proposicin es C es D y es representado por el conjunto D.
El significado de la evaluacin de la expresin es una relacin difusa que se expresa de la
siguiente manera, ver ecuacin 2.16.
(A,C) = B(A) D(C)
(2.16)
En donde el operador puede ser un simple producto cartesiano o algn operador de implicacin difuso. Si el antecedente o el consecuente son proposiciones compuestas, entonces se calcula primero la funcin de pertenencia de la proposicin compuesta y el operador
es aplicado a las funciones de pertenencia resultantes. Por lo que cualquier operacin o relacin en lgica difusa corresponde a operaciones y relaciones entre funciones pertenencia
que dan como resultado otras funciones de pertenencia (Rivas, 2005).
Inferencia
Los sistemas difusos Mamdani reciben este nombre debido al mtodo de inferencia que
utiliza en este caso Mamdani. El mecanismo de inferencia es el encargado de disparar las
reglas, es decir, obtener una salida difusa a partir de una entrada difusa. Existen dos tipos
de inferencia, las cuales son (Rivas, 2005):
Inferencia basada en composicin: las relaciones difusas que representan el significado de cada regla individual son agregadas a la relacin difusa. Esta operacin se
realiza mediante una composicin entre la entrada fuzzificada y la relacin que describe al conjunto de reglas. El resultado de la composicin es el conjunto difuso que
describe el valor de la salida.
34
Antecedente
Consecuente
Defuzzificacin
Una vez cumplidas las etapas anteriores, el resultado de la inferencia de la base de
reglas ser tambin un valor difuso. Sin embargo, para manejar el actuador es necesaria una
magnitud no difusa. Por lo tanto es necesario un bloque que sea capaz de dar una salida
determinada (crisp value) cuando se tenga una entrada difusa, esto para que represente lo
mejor posible la distribucin de posibilidades de los valores difusos, de manera que requiere
35
un defuzzificador. Los mtodos ms empleados para defuzzificar son los basados en centro
de rea, centro de sumas, altura, medio del mximo, etc. A continuacin se describirn
algunos mtodos usados en la lgica difusa.
Centro de rea o centroide
COA (Center of Area), como tambin se le conoce, es el mtodo ms conocido de defuzzificacin. Este mtodo encuentra el centro del rea del conjunto difuso que resulta de
combinar todos los conjuntos difusos obtenidos en el disparo individual de reglas. Este
mtodo toma el rea del conjunto resultante como un todo, es decir, que si dos conjuntos
individuales se traslapan entre s, este hecho no se toma en cuenta, matemticamente este
mtodo esta definido por la ecuacin 2.17.
l
fi ( fi)
fCOA =
i=1
l
(2.17)
( fi)
i=1
Donde fCOA representa la coordenada del centro de rea, fi son los distintos valores que
puede tomar la salida f y representa el conjunto difuso obtenido al aplicar el procedimiento de inferencia. Este mtodo es el ms utilizado en los procesos de control y se ha
aplicado a un sin numero de proyectos que realizan control difuso, de manera que en este
proyecto se har uso de l.
Un ejemplo numrico basado en la figura 2.14es el siguiente:
Se tienen tres funciones A, B y C de pertenencia que representan conjuntos de salida,
los cuales tiene los siguientes parmetros en los rangos de los conjuntos.
LimiteizquierdoA = 0,2 CentroA = 0,275 LimitederechoA = 0,35
LimiteizquierdoB = 0,5 CentroA = 0,6 LimitederechoA = 0,7
LimiteizquierdoC = 0,8 CentroC = 0,9 LimitederechoA = 1
La ponderacin de cada conjunto de salida es :
PondA = 0,8
36
PondB = 0,7
PondC = 0,5
Para realizar el mtodo COA se establece la siguiente formula:
fCOA =
Sustituyendo en la formula
fCOA =
37
el valor mnimo y el promedio (MOM) utiliza el valor medio entre SOM y LOM. Si el
conjunto resultante posee un solo valor mximo, entonces los tres valores son iguales pero
si posee un intervalo de valores mximos estos valores son distintos.
38
PondA = 0,8
PondB = 0,7
PondC = 0,5
Se toma el valor mximo de la ponderacin que es 0,8, el cual corresponde al conjunto
A, por lo que grficamente se obtiene:
SOM = 0,2
MOM = 0,275
LOM = 0,35
Biseccin
Consiste en encontrar el punto para el cual, si se traza una lnea vertical, el conjunto resultante queda dividido en dos regiones cuyas reas son iguales, ver Figura 2.16.
39
Los sistemas tipo Sugeno se pueden utilizar para cualquier modelo en el que las funciones de pertenencia de salida sean lineales o constantes (Nicols Nicols, 2008). Un sistema
difuso del tipo Sugeno est compuesto por los elementos que se muestran en la Figura 2.17
y que se explican a continuacin.
Fuzzificador: Transforma las entradas normales en entradas difusas entendibles por el
sistema Sugeno (el funcionamiento es idntico que el explicado en el anterior sistema
difuso).
Base de Reglas: El conjunto de reglas que se utilizan en un sistema Sugeno son
diferentes a las reglas para sistemas Mamdani, debido a que el elemento consecuente
de las reglas ya no es una variable lingstica, sino que es una funcin de entrada, ver
la forma de la regla representada en la Figura 2.18.
Antecedente
Consecuente
40
2.4.2.
Es deseable contar con las 3 variables de un controlador PID, pero al trabajar con 3
variables de entrada al sistema, la inferencia difusa da lugar a un gran nmero de reglas
y se dificulta la interpretacin de la accin integral mediante reglas, por ello es comn
que se le desacople o que simplemente se le afecte por una ganancia. Esto ltimo es lo
que se propone en (Galn et al., 2000), sumar la accin integral a la salida del sistema de
inferencia difusa (FIS). A esta estructura resultante se le llamar FPD+I y es la arquitectura
usada en este trabajo.
El mtodo de ajuste consiste en transferir los parmetros de un controlador PID (ajustado por cualquier tcnica) a un controlador difuso FPD+I. Este controlador tambin se le
conoce como PID difuso y la ecuacin 2.18 lo define matemticamente.
u(t) = [ f (ke e), kde de + ki ie)] ku = FPD + I(e, de)
(2.18)
(2.19)
Donde e es el error (e = re f erencia salida), de es la derivada del error e ie es la integral del error. La aproximacin lineal empleada tiene el objetivo de buscar una semejanza
entre dos tipos de controladores: el PID clsico y el PID difuso. Es posible aproximar el
FPD con un PD clsico debido a que el FPD est diseado para emular a un PD, por lo tanto, con la ecuacin 2.20 se est representando de manera aproximada el comportamiento
predictivo del controlador difuso junto con la accin integral.
41
ki
kde
de + ie ke ku
u(t) = e +
ke
ke
(2.20)
e dt
(2.21)
Se puede observar semejanzas entre las ecuaciones 2.20 y 2.21, de la comparacin entre
ellas surge la ecuacin 2.22, 2.23 y 2.24.
k p = ke ku
(2.22)
d = kde ke
(2.23)
1
ki
=
I
ke|
(2.24)
Cabe aclarar que el ajuste de los controladores difusos tambin se ven afectados por los
valores de las funciones de pertenencias por lo cual queda a conocimiento del diseador
una sintonizacin adecuada tomando las funciones de pertenencia y las ganancias de los
controladores.
Comnmente la estructura de lgica difusa que se ocupa en el controlador FPD+I es el
de Mamdani, por lo que en este proyecto se hara uso de l.
Los controladores inteligentes como los difusos requieren operaciones en sus etapas de
fuzzificacin, inferencia y defuzzificacin. Algunos clculos son complejos y, en aplicaciones que requieran un buen desempeo en tiempo, llegan a tener complicaciones con el
nmero de clculos por segundo. Por lo que se busca tecnologas de alto desempeo que
ayuden a solventar este tipo de problemas, una de estas tecnologas es la lgica reconfigurable, sta se basa en el uso de dispositivos reprogramables como los FPGAs, los cuales
proporcionan un alta capacidad de clculo por lo que mejora en tiempo gran cantidad de
procesos.
42
2.5.
Lgica reconfigurable
Existen dos mtodos principales de implementar sistemas reales en la computacin tradicional, el primero es usar un Circuito Integrado de Aplicacin Especfica o ASIC. Se
disean ASICs para realizar una tarea en especial, estos dispositivos son muy rpidos y eficaces siempre y cuando realicen exactamente la aplicacin para la que han sido diseados.
El inconveniente es que despus de la fabricacin el circuito no puede alterarse, lo cual lo
hace caro si el diseo necesita modificaciones posteriores a su desarrollo.
El segundo es el uso de los microprocesadores (MP) y microcontroladores (MC), los
cuales presentan una solucin ms flexible. Los MP y MC realizan sus operaciones ejecutando un conjunto de instrucciones, por lo que las modificaciones resultan poco costosas
ya que no cambiara de hardware como lo hara los ASIC, la desventaja de esta flexibilidad
es que la velocidad de actuacin est por muy debajo del de un ASIC. El procesador debe
leer cada instruccin de la memoria, determinar su significado, y slo entonces lo ejecuta.
Adems, el conjunto de instrucciones no puede cambiarse ya que se estableci desde el
diseo, por lo que cualquier otro funcionamiento no ser permitido y costar un tiempo
alto de ejecucin si se desarrolla fuera del MP o MC.
La computacin reconfigurable como tambin se le conoce, ocupa el espacio entre los
ASIC y MP, mientras consigue un desempeo ms rpido que los microprocesadores mantiene un nivel ms alto de flexibilidad que los ASICs. Este tipo de computacin se consigue
con la utilizacin de FPGAs. Los FPGAs son introducidas por Xilinx en 1985 y consiste en
una matriz bidimensional de bloques configurables que se pueden conectar mediante recursos generales de interconexin (Varela Rincn and Loaiza Pulgarn, 2008). En realidad lo
que se programa en un FPGA son los conmutadores que sirven para realizar las conexiones
entre los diferentes bloques, ms la configuracin de los bloques.
Actualmente, los FPGAs se han utilizado para acelerar una variedad de aplicaciones.
Para lograr estas ventajas, las aplicaciones utilizan la programacin reconfigurable, normalmente se forman sistemas con una combinacin de lgica reconfigurable.
2.5.1.
43
Dispositivos Programables
44
2.5.2.
Dispositivo FPGA
A continuacin se describirn las principales ventajas que se tienen al usar los FPGAs.
Rendimiento
Debido al paralelismo del hardware, los FPGAs exceden la potencia de cmputo de los
procesadores digitales de seales (DSPs), logrando romper el paradigma de ejecucin secuencial y logrando ms en cada ciclo de reloj.
Tiempo en llegar al mercado
La tecnologa FPGA ofrece flexibilidad y capacidades de rpido desarrollo de prototipos
para enfrentar los retos de que un producto se libere tarde al mercado. Se prueba una idea y
45
se verifica en hardware sin tener que pasar con el proceso de fabricacin de ASIC, adems
se puede implementar cambios en pocos lapsos de tiempo.
Precio
El precio de un diseo personalizado ASIC excede considerablemente al de las soluciones
de hardware basadas en FPGA. Los requerimientos de un sistema van cambiando con el
tiempo y el precio de cambiar incrementalmente los diseos FPGA es insignificante al
compararlo con el precio de implementar cambios en un ASIC.
Fiabilidad
Los circuitos de un FPGA son una implementacin segura de la ejecucin de un programa. Los FPGAs no necesitan sistemas operativos, minimizan los retos de fiabilidad con
ejecucin paralela y hardware preciso dedicado a cada tarea.
Mantenimiento a largo plazo
Los FPGA se pueden actualizar cuando ya han sido implementados y no requieren el tiempo y el precio que implica redisear un ASIC. Los FPGA, al ser reconfigurables, son capaces de mantenerse al tanto con modificaciones a futuro que pudieran ser necesarias. Mientras el producto o sistema se va desarrollando, se puede implementar mejoras funcionales
sin la necesidad de invertir tiempo rediseando el hardware o modificando el diseo de la
tarjeta.
2.5.2.2.
Tecnologas de programacin
46
gran cantidad de veces. Tambin se pueden utilizar para programar las lneas de control de
los multiplexores. Estos multiplexores se utilizan tanto en Flip-Flop tipo D como en los
LUTs. Los LUTs son unas pequeas memorias que poseen varias funciones lgicas. Estos
elementos se pueden comportar como cualquier funcin lgica dependiendo de las lneas
de control.
2.5.2.3.
Fabricantes de FPGAs
Los fabricantes de FPGA se diferencian segun la arquitectura que desarrollan. Independientemente del fabricante elegido para el diseo, ciertamente el ms beneficiado en esta
competencia es el usuario final de los FPGAs.
A pesar de tratar de diferenciarse uno del otro, en realidad los FPGAs de los diferentes
fabricantes tienen muchos componentes en comn, tales como bloques lgicos programables, bloques de memoria de doble puerto, bloques para ejecucin de MACs ( Multiplicador Acumulador o bloques DSPs), bloques de control de reloj, bloques de entrada/salida,
etc.
Recientemente la revista electrnica ESD (Embedded Systems Design) y EEtimes
(Electronic Engineering Times) realizaron un estudio de mercado llamado 2009 Embedded Market Study (Garca, 2009). El estudio revel que Xilinx ocupa desde hace unos
aos el primer lugar como proveedor de FPGA a nivel mundial en el desarrollo de sistemas
embebidos, tambien indica que en segundo lugar est el fabricante Altera. Es importante
mencionar que las diferencias entre Xilinx y Altera, a nivel de silicio, son mnimas pues
ambos fabricantes tienen productos similares. Sin embargo, existen diferencias evidentes.
Xilinx tiene una tendencia por la reconfiguracin dinmica, mientras que Altera la ha descartado totalmente. Otra diferencia es el nivel de las herramientas que se emplean para
programar los FPGA, ya que Xilinx permite trabajar a un nivel de programacin ms bajo
que Altera. En esta proyecto se hace uso de la tecnologa proporcionada por Xilinx.
La empresa Xilinx ofrece al mercado dos tipos de FPGAs: una de bajo costo, performance media y otra de alto costo, performance alta-muy alta. La primera se denomina la
familia de los FPGA Spartan, y la segunda los FPGA Virtex. Debido al crecimiento del mercado se han ido renovando cada cierto periodo de tiempo. Por ejemplo, la familia Spartan
evolucion de Spartan pasando a Spartan 2, Spartan 3 y la recientemente lanzada Spartan
47
6. Del mismo modo para la Virtex, comenzando con Virtex, Virtex-E, Virtex 2, Virtex 4,
Virtex 5 y la reciente Virtex 6. Tambin, actualmente se ha estado innovando con nuevas
familias de FPGA como lo son Artix y Kintex.
2.5.2.4.
Componentes de FPGAs
48
El diseo de las arquitecturas generales de un FPGA se encuentran escasamente descritas en la literatura abierta, debido a que mucha de la informacin es propiedad de los
fabricantes.
Captulo 3
Antecedentes
En esta investigacin se realiz una bsqueda exhaustiva de trabajos relacionados basados principalmente en tesis de licenciatura y maestra, as como tambin en artculos de
divulgacin cientfica. Los temas principales son acerca de lo que se ha realizado en el
campo de control clsico y control inteligente sobre motores de CD. A continuacin se
muestran algunos de estos trabajos relacionados, divididos en dos grandes grupos segn la
implementacin: Software y Hardware. Cada grupo est dividido en dos subgrupos: control clsico y control inteligente, estos ltimos estn basados en tcnicas de inteligencia
artificial de lgica difusa.
3.1.
50
CAPTULO 3. ANTECEDENTES
51
3.2.
Como se dijo anteriormente, adems de controladores clsicos como PID, entre otras
combinaciones, existen nuevas formas de realizar control, la cuales se basan en tcnicas
de Inteligencia Artificial. A continuacin se presentarn trabajos relacionados de control
inteligente, esto con el fin de mostrar lo que se ha realizado hasta el momento.
52
CAPTULO 3. ANTECEDENTES
53
3.3.
Como se ha visto existen varios trabajos relacionados con el control en las diferentes
reas con el enfoque en general de controlar motores de CD. Estos trabajos se basan en
implementaciones software aunque hoy en da tambin se investigan mtodos de realizar
el control usando arquitecturas hardware como el mostrado en (Len Galarza et al., 2012),
donde se disea e implementa el control PID de velocidad utilizando la tarjeta FPGA Spartan 3E y LabView, este trabajo muestra cmo trabajar con una tarjeta de adquisicin de
datos y tarjetas con ncleo FPGA.
Por otra parte, en (Londoo, 2011) se presenta el diseo e implementacin de un sistema para el control de posicin de un motor CD basado en FPGA. Se describen los mdulos
implementados en la FPGA que se encargan de la generacin de la trayectoria de arranque,
la lectura de la seal del encoder y el controlador PI. La comparacin entre los resultados
de la simulacin y los datos experimentales permiten validar el funcionamiento del sistema
desarrollado. La diferencia en el comportamiento de la seal de error para los resultados
de la simulacin y los resultados experimentales se relaciona principalmente con el modelado del motor, sin embargo el comportamiento es aproximado entre los resultados de
simulacin y los experimentales.
En (Trimeche et al., 2008) se describe una metodologa para la construccin de controladores PID en FPGAs, esta metodologa mejora la velocidad, la precisin, energa y la
rentabilidad de los controladores. El autor de este documento concluye que los controladores PID en FPGAs obtienen mejores resultados respecto a otras implementaciones digitales,
esta conclusin es til ya que establece las bases que guan cuando se comparan distintos
controladores.
Otro documento que se revis fue (Sonoli and Konduru, 2010), en donde se desarroll
una aplicacin mediante el lenguaje VHDL (Very High Speed Integrated Circuit Hardware
54
CAPTULO 3. ANTECEDENTES
Description Language) para el FPGA Spartan 3 XC3S400. Esta aplicacin est basada
en un controlador PID para el control de velocidad de motor de corriente continua. Las
herramientas utilizadas para crear y probar los mdulos de software son Xilinx ISE 9.2i
y ModelSim XE III 6.3c. El trabajo antes mencionado reporta que los controladores PID
implementados en hardware son ms veloces y precisos que otra forma de implementacin
digital como los microprocesadores y microcontroladores.
Por ltimo, en (Murthy et al., 2008) se realiza una implementacin FPGA de un controlador PID, el cual se aplic en vehculos terrestres no tripulados. El desarrollo de este
trabajo se realiz con una herramienta adicional de Simulink llamada System Generator
(SysGen), esta herramienta segn el autor hace fcil el diseo y la implementacin de sistemas digitales por su alto nivel de abstraccin. Se considera importante esta herramienta,
ya que en este trabajo de tesis se har uso de ella ya que es una rpida manera de desarrollar
y simular arquitecturas hardware.
Los trabajos anteriormente mencionados son configurados en las tarjetas FPGA de
prueba, la diferencia entre estos trabajos y el desarrollado en esta tesis es que en la tesis
solo se enfocar a la implementacin de arquitecturas hardware. Tambin, la descripcin
de trabajos permite conocer el funcionamiento de controladores en plataforma hardware, y
sto proporciona una base de conocimientos para analizar los controladores inteligentes en
hardware, los cuales se presentan en la siguiente seccin.
3.4.
55
En (Chen et al., 2009) se realiza un control difuso implementado en arquitectura hardware, el cual resuelve el problema de control preciso de un sistema no lineal con un controlador digital PID difuso, haciendo el diseo de MatLab y la implementacin en un FPGA.
En el documento establece que si se aumenta el nmero de reglas en la inferencia difusa,
ste se vuelve ms preciso, alcanzando la seal de referencia en menos tiempo.
Por otra parte, en (Obaid et al., 2009) se disea un controlador PID digital difuso usando el lenguaje de programacin VHDL para un FPGA y se establecieron 64 reglas para
la inferencia difusa. El controlador produce una respuesta en 20.8 ns con 75.85 MHz de
frecuencia, por lo que es capaz de formar parte de sistemas complejos que requieran una
respuesta rpida. Entre ms reglas tenga el sistema difuso es ms preciso y sin embargo el
costo en recursos es mucho mayor, de manera que en este trabajo de tesis se establece un
sistema difuso que cumpla con un buen funcionamiento con su nmero de reglas y con un
bajo costo en recursos hardware.
Otro documento revisado es (Lpez et al., 2006), ste describe una metodologa para
disear un controlador PID difuso para ser implementado en un FPGA. El desarrollo del
controlador se bas en el comportamiento dinmico del error, diferencial del error y la
salida del sistema. El autor reporta que el controlador PID difuso tiene un tiempo de respuesta rpido, un sobreimpulso mnimo y un error en la salida pequeo, asimismo, comenta
que la arquitectura del controlador implementado sobre un dispositivo reconfigurable, le da
naturaleza abierta para cambios con el objetivo de aumentar el rango de control y la comunicacin con la PC.
Por ltimo, se ha revisado (Islam et al., 2008) en donde se propone un controlador
PID basado en lgica difusa utilizando VHDL, ste es aplicado a un sistema de crucero
de transportes, en donde el sistema bajo el concepto difuso se ha desarrollado para evitar
la colisiones entre vehculos en la carretera, este trabajo es interesante ya que comenta la
importancia de tener un sistema que responda en tiempo real y adems se trata de una
aplicacin en que se la vida humana est de por medio.
56
CAPTULO 3. ANTECEDENTES
3.5.
Discusin
Captulo 4
Sistemas de control propuestos y
desarrollo
Una vez establecidos los fundamentos tericos de los sistemas de control clsico y los
sistemas de control inteligente y conocidos los trabajos similares que se han realizado en
el campo de control clsico e inteligente, se procede a disear y desarrollar controladores
para motores de CD.
Para realizar el control de motores de CD se establece la realizacin de dos controladores:
PID
PID difuso.
Primeramente el desarrollo se realizar en software, sto para establecer un prembulo
de conocimientos y para conocer el comportamiento de cada controlador. En plataforma
software, los controladores PID clsico y PID difuso se desarrollarn utilizando Simulink
de MatLab 2012a junto con un toolbox MatLab Fuzzy, las cuales proveen una interfaz
grfica donde se puede describir completamente un sistema difuso.
Posteriormente, una vez ya conocido el funcionamiento y el comportamiento de los
controladores a desarrollar se proceder a disear las arquitecturas hardware. Para esto se
utilizan unas herramientas software que sirven para disear y simular la plataforma hardware, las cuales son Simulink de MatLab 2012a junto con System Generator (SysGen),
57
58
anteriormente mencionado (verB apndice B). SysGen cuenta con una opcin llamado Timing and Power Analisis, que genera un reporte de tiempos en donde muestra el periodo
mnimo y la frecuencia mxima de operacin de la arquitectura, asimismo se obtiene un
resumen de los recursos hardware usados en cada arquitectura, el cual es importante al
momento de comparar los controladores.
En las secciones siguientes se establece el diseo y desarrollo de los controladores PID
y PID difuso primeramente en software y posteriormente en hardware.
4.1.
Controlador PID
Seal de error
Gp
+
Gi
Gd
Seal
retroalimentada
+
Planta
Seal controlada
Retroalimentacin
Figura 4.1: Diagrama esquemtico del controlador PID conectado a una planta.
Donde Gp = ke , Gd = kd y Gi = ki . Estas tres ganancias multiplican las acciones Proporcional, Integral y Derivativa, por lo que al sintonizar se deben proporcionar estas ganancias para obtener una respuesta satisfactoria. La sintonizacin en el desarrollo de este
controlador se basa en prueba y error, ya que es el mtodo simple y rpido en comparacin
59
4.1.1.
Antes de describir los pasos a seguir para el desarrollo de los controladores, se debe
establecer la funcin de transferencia de la planta, como se ha comentado se trata de motores de CD cuya funcin de transferencia es la mostrada en la ecuacin 2.2. Por lo que en
Simulink se realiza el diagrama del controlador PID ms la planta a controlar; la conexin
de la planta y el controlador se muestra en la Figura 4.2.
0.0645
Gain1
du/dt
Step
Derivative1
1
s
Integrator1
0.0005
Gain2
4.58e-2
18.67e-9s2 +17.68e-6s+2.10e-3
Scope2
Transfer Fcn3
3
Gain3
60
4.1.2.
Una vez que se realiz el diseo del controlador PID en software, se procedi a disear
la arquitectura del controlador PID en lgica reconfigurable. Para esto se necesita definir
la operacin de la derivada y de la integral. La derivada esta dada por la ecuacin 4.1 y la
integral por la ecuacin 4.2.
Derivadaerror = de = erroractual erroranterior
(4.1)
Integralerror = ie = errori
(4.2)
i=0
In1
Derivada del
error = de
Error
a
a -b
b
d
z-1
Register1
1
Out1
AddSub5
Error
anterior
61
Operacin Integral
Error
In1
a+b
b
Out1
AddSub2
Register2
Convert4
ie
previo
cast
z-1
PROPORCIONAL
x 0.01199
In
Gateway In
CMult
a
b
AddSub2
Register3
AddSub
x 0.009995
a+b
Convert4
Register2
cast
q z-1 d
z-1
a
b
Scope2
a+b
AddSub1
Gateway Out
a
a-b
cast
Convert1
Step
cast
Convert
INTEGRAL
CMult2
a a+b
b
Out
4.58e-2
18.67e-9s2 +17.68e-6s+2.10e-3
AddSub3
Transfer Fcn1
DERIVATIVO
a
d z-1 q
Register1
a-b
x 0.004501
b
AddSub5
cast
Convert2
CMult1
System
Generator
Por otra parte, cabe destacar que las ganancias no son las mismas que se utilizan en el
PID en software, esto se debe a que se tiene que tomar en cuenta el tiempo de muestreo en
cada ciclo de reloj, por lo que se ajustaron el tiempo de muestreo de la seal de entrada y
los valores de las ganancias hasta obtener la seal de salida deseada.
62
4.2.
Ke
ce
Kde
CE
Ki
IE
Ku
PD RULES
Seal de
control
U
Planta
Seal
controlada
Z-1
ie
Z-1
Seal
retroalimentada
Retroalimentador
triangular (x, p1 , p2 , p3 ) =
63
xa
ma
bx
a<x<m
x<aox>b
bm
m<x<b
(4.3)
x=m
64
65
bN x
bN mN
(4.4)
Z1 =
x aZ
mZ aZ
(4.5)
Z2 =
bZ x
bZ mZ
(4.6)
P=
x aP
mP aP
(4.7)
66
Para diferenciar las variables de entrada y de salida, ya que usan los mismos conjuntos
de salida se usa la siguiente nomenclatura expuesta en la cuadro 4.1.
Entrada E
Entrada CE
Salida O
Conjunto N
NentradaE
NentradaCE
Nsalida
Conjunto Z
ZentradaE
ZentradaCE
Zsalida
Conjunto P
PentradaE
PentradaCE
Psalida
NentradaCE
Nsalida
Nsalida
Zsalida
ZentradaCE
Nsalida
Zsalida
Psalida
PentradaCE
Zsalida
Psalida
Psalida
No.
1
2
3
4
5
6
7
8
9
E
Si
Si
Si
Si
Si
Si
Si
Si
Si
NentradaE
NentradaE
NentradaE
ZentradaE
ZentradaE
ZentradaE
PentradaE
PentradaE
PentradaE
op.
<
<
<
<
<
<
<
<
<
67
CE
NentradaCE
ZentradaCE
PentradaCE
NentradaCE
ZentradaCE
PentradaCE
NentradaCE
ZentradaCE
PentradaCE
entonces
entonces
entonces
entonces
entonces
entonces
entonces
entonces
entonces
O
Nsalida = NentradaE
Nsalida = NentradaE
Zsalida = NentradaE
Nsalida = ZentradaE
Zsalida = ZentradaE
Psalida = ZentradaE
Zsalida = PentradaE
Psalida = PentradaE
Psalida = PentradaE
sino
sino
sino
sino
sino
sino
sino
sino
sino
O
Nsalida = NentradaCE
Nsalida = ZentradaCE
Zsalida = PentradaCE
Nsalida = NentradaCE
Zsalida = ZentradaCE
Psalida = PentradaCE
Zsalida = NentradaCE
Psalida = ZentradaCE
Psalida = PentradaCE
(4.8)
Donde RSS es la suma de los cuadrados de ki para posteriormente obtener la raz cuadrada; ki representa el valor de salida de cada regla una variable cualquiera. Con el uso de la
RSS se le da a cada conjunto de salida su respectiva fuerza ponderada aunque en ocasiones
no es necesaria, en este trabajo de tesis se analizar el uso de la RSS aplicada a un conjunto
de reglas y posteriormente tambin se analizar la no utilizacin de sta.
En este trabajo de tesis se clasifican las reglas segn el conjunto de salida determinado
por su consecuente, ver Cuadro 4.4.
Conjunto de salida
Nsalida
Zsalida
Psalida
Reglas pertenecientes
1, 2 y 4
3, 5 y 7
6, 8 y 9
68
(4.9)
(4.10)
q
Psalida = R26 + R28 + R29
(4.11)
Nsalida =
Zsalida =
Con cada operacin se obtiene un valor para cada conjunto de salida, sin embargo sigue
siendo un valor difuso, de manera que la defuzzificacin se hace necesaria para convertir
este valor difuso a un valor numrico.
En control, el mtodo de defuzzificacin ms usado es el centroide o centro de rea,
COA, (Sanchez, 2009), este mtodo consiste en multiplicar la fuerza ponderada de cada
funcin miembro de salida (F pi ) por los puntos centrales de su respectiva funcin (Ci ).
El resultado se divide por la suma de las fuerzas ponderadas de cada funcin miembro
de salida, ver ecuacin 4.12. Finalmente, se obtiene un nmero el cual representa el valor
ponderado en la funcin de pertenencia de salida.
N
F pi Ci
Centroide = i=1
N
i=1 F pi
(4.12)
Una vez obtenido el valor numrico de la defuzzificacin, se procede a sumar este valor
con la accin integral como es mostrado en la Figura 4.6. Por ltimo se debe calibrar las
ganancias y el rango de las funciones de pertenencia del sistema. Una opcin es realizar
el mtodo basado en la transferencia de ganancias descrito en la Seccin 2.4.2 y posteriormente, un reajuste usando el mtodo prueba y error de los rangos de las funciones de
pertenencia de los conjuntos de salida. Otra opcin es utilizar solamente el mtodo prueba
y error para calibrar todas las ganancias y las funciones de pertenencia, con este mtodo se
ahorra anlisis matemtico y es ms rpido de implementar, por lo que en los controladores
desarrollados en esta tesis se utiliz este mtodo prueba y error en los PID y prueba y error
ms transferencia de ganancias en los PID difusos.
4.2.1.
69
70
Proporcional
4.58e-2
Step
18.67e-9s2 +17.68e-6s+2.10e-3
Derivativo
1-z-1
Fuzzy Logic
voltajeController1
Transfer Fcn1
1
Discrete Filter
Scope2
71
72
73
74
Una vez definidas las dos variables de entrada, se procedi a definir la variable de salida,
cabe aclarar que esta variable fue ajustada en varias ocasiones, por lo que se calibr hasta
que se obtuvieran resultados satisfactorios en el controlador. Las funciones de pertenencia
de la variable de salida final se muestran en la Figura 4.16.
75
76
0.0645
1
Step2
Gain1
du/dt
Derivative
1
s
Integrator
0.0078
Fuzzy Logic
Controller
4.58e-2
18.67e-9s2 +17.68e-6s+2.10e-3
Scope2
Gain
Transfer Fcn1
Gain2
2
Gain3
77
Los valores de las ganancias aparecen en los bloques Gain1 = k p , Gain2 = kd , Gain3 =
ki y Gain4 = ku , mostrados en la Figura 4.19.
4.2.2.
Una vez conocidos los pasos para realizar un controlador PID difuso, se procede a realizar, primeramente, el mdulo difuso cubriendo cada una de las etapas mostradas en la
Figura 4.21, para posteriormente introducirlo a un controlador PID desarrollado anteriormente en hardware en la subseccin 4.1.2.
78
A continuacin se describe cada arquitectura y el desarrollo de cada etapa del controlador PID difuso en hardware.
Arquitectura 1
Es conveniente tener flexibilidad en el sistema ya que en un futuro se pretende generalizar el uso de la arquitectura del controlador. Si se tiene flexibilidad se facilita el proceso
de calibracin ya que resulta complicado estar modificando la arquitectura con cada combinacin de los conjuntos de entrada y de salida, lo cual tomara gran cantidad de tiempo y
esfuerzo.
Se toma la decisin de realizar una arquitectura que lleve a cabo un paso de parmetros
desde el editor de MatLab, es decir introducir lineas de cdigo ver Figura 4.22 para despus
ejecutarlas, esto con el fin de guardar su valor en el workspace de MatLab como se muestra
en la Figura 4.23.
79
80
81
82
[NEG]
Out1
Out2
Goto
[SEL2]
Out5
Goto1
[ZERO]
Out4
Goto3
[POS]
In1
[SEL2]
Goto2
Selector
de activacin
From5
c1
c1
1
In1
In
a1
a -b
b
c1
cast
Gateway In2
From
Workspace
NEGATIVO
z -28 y/x
div
AddSub4
cast
Convert2
In
b1
x
a -b
b
[NEG]
CORDIC DIVIDER
AddSub
b1
a-b
In
d0
Constant
ZERO1
1
Out1
4
Convert6
z -29 y/x
div
AddSub2
Register
cast
Convert9
In
d
z-1 q
en
sel
x
cast
a-b
b
Convert1
In
From
Gateway In1
Workspace2
From
Gateway In
Workspace1
In
cast
cast
d1
Convert4
CORDIC DIVIDER2
Out4
From6
d
z-1 q
en
Convert10
3
Out3
Register2
ZERO2
cast
d2
Convert5
e1
In
a-b
From Gateway In3
b
Workspace4
c1
In
Convert7
z -29 y/x
div
cast
Convert3
d
z-1 q
en
a-b
In
POSITIVO
AddSub5
c1
d1
a
In
cast
x
a-b
From Gateway In9 b
Workspace10
Convert11
AddSub7
c1
In
cast
cast
Register1
[POS]
Out2
5
Out5
Convert8
In
d3
Constant1
z -29y/x
div
Mux
y
a
cast
From Gateway In11 b a - b
CORDIC DIVIDER3
Workspace9
Convert12
AddSub6
[ZERO]
From1
6
Out6
83
Caso 3: El valor de x est dentro del conjunto Zsalida , se activa la operacin Z2 y pone
en la salida el valor de Z2 .
Caso 4: Este caso es invlido, en la arquitectura nunca se da este caso, por defecto su
salida es 0.
En la Figura 4.26 tambin se muestra un mdulo llamado selector de activacin, este mdulo establece qu conjuntos de entrada se activan en un momento determinado. Esto es
importante ya que se obtiene un cdigo de activacin til en la inferencia de reglas, ms
adelante se explica detalladamente. El desarrollo en SysGen se muestra en la Figura 4.27
para el primer mdulo de fuzzificacin.
1
In1
b1
In
za
b
Z1
Relational2
a
-1
b
c1
a1
a
In
z-1
ab
Gateway In b
From
Workspace1
Relational
-1
a
b
a<b
and
Logical1
or
Logical4
-1
e11
In
Z2
ab
hi
d1
In
z-1
a<b
Logical3
lo
Concat1
2
Out2
e1
In
Gateway In3
From
Workspace4
and
z-1
ab
Logical
Relational1
Relational4
Relational6
a
1
Out1
3
Out5
In
Relational3
In
Gateway In5
From
Workspace6
c1
In
z-1
a<b
a
a11
N
and
and
4
Out4
z-1
ab
Logical2
b
Relational5
84
la parte Z1 , por otro lado se usa el cdigo 10 para la parte de Z2 . El cdigo se crea con la
concatenacin de la salida individual de los bloques relacionales que asignan a cada parte
del conjunto Zentrada .
Una vez explicado el funcionamiento de mdulo fuzzificacin1, ste se replica con el
nombre de mdulo fuzzificacin2, para la variable de entrada determinada por la derivada
del error, ver Figura 4.28.
[NEG]
Out1
Out2
Goto
[SEL2]
Out5
Goto1
[ZERO]
Out4
Goto3
[POS]
In1
[SEL2]
Goto2
Selector
de activacin
From5
c2
c2
1
In1
In
a2
a -b
b
c2
cast
Gateway In2
From
Workspace
NEGATIVO
z -28 y/x
div
AddSub4
cast
Convert2
In
b2
x
y
a -b
[NEG]
CORDIC DIVIDER
AddSub
b2
d0
cast
a-b
In
0
Constant
ZERO1
1
Out1
4
Convert6
z -29 y/x
div
AddSub2
Register
cast
Convert9
In
d
z-1 q
en
sel
x
cast
a-b
b
Convert1
In
From
Gateway In1
Workspace2
From
Gateway In
Workspace1
In
cast
d1
Convert4
CORDIC DIVIDER2
Out4
From6
d
z-1 q
en
Convert10
3
Out3
Register2
ZERO2
cast
d2
Convert5
e2
In
In
a-b
d2
cast
x
AddSub5
z -29 y/x
div
d
z-1 q
en
y
a-b
In
c2
cast
Convert3
a
c2
POSITIVO
Convert7
cast
Register1
[POS]
2
Out2
5
Out5
Convert8
CORDIC DIVIDER1 From7
In
In
a
b
a-b
cast
AddSub7
d3
Constant1
Convert11
z -29y/x
div
Mux
y
[ZERO]
d2
a
In
cast
From Gateway In11 b a - b
From1
CORDIC DIVIDER3
Workspace9
Convert12
AddSub6
6
Out6
Figura 4.28: Mdulo de fuzzificacin2 de la entrada determinada por la derivada del error
Cabe destacar que los parmetros de entrada son los correspondientes a los rangos de la
variable de entrada CE que estn en el workspace. Tambin, como en el mdulo anterior de
fuzzificacin1, se cuenta con el bloque Selector_de_activacin en la Figura 4.29 se muestra
su diseo.
85
In1
b2
a
b
In
za
z-1
a<b
and
Logical1
or
e22
In
Z2
ab
hi
d2
In
Logical3
lo
Concat1
Logical
z-1
a<b
2
Out2
e2
In
Gateway In3
From
Workspace4
and
z-1
ab
1
Out1
Relational1
Relational4
Relational6
a
N
and
Logical4
-1
In
z-1
a<b
a
a22
Relational3
In
Relational2
b
c2
Z1
Gateway In5
From
Workspace6
c2
In
a2
a
In
z-1
ab
Gateway In b
From
Workspace1
Relational
-1
and
4
Out4
z-1
ab
Logical2
b
Relational5
86
87
[S1]
VALORES DE ACTIVACIN DE
LOS CONJUNTOS DE ENTRADA
1
In1
[ACTNEG1]
Goto6
2
In2
[ACTZERO1]
3
In3
[ACTPOS1]
4
In4
[ACTNEG2]
Goto7
Goto8
Goto9
5
In5
[ACTZERO2]
Goto10
6
In6
[ACTPOS2]
Goto11
From36
[ENEG]
[ACTNEG1]
In1
From18
[ACTNEG2]
In2
From19
[ACTNEG1]
In3
Out1
Out2
From20
[ACTZERO2]
In4
From21
[ACTZERO1]
In5
From34
[ACTNEG2]
[S1]
Goto12
[S2]
Goto1
Out3
[S3]
In6
Goto2
From35
Subsystem
In1
In2
From
[CENEG]
In3
From1
[S2]
In4
From37
[ENEG]
In5
Out1
In1
From2
[CEZERO]
From3
In6
[S3]
In7
Out3
In2 Out1
In3
1
Out1
From38
[EZERO]
In8
From4
[CENEG]
In9
Out4
From5
VALORES NUMERICOS DE LA
FUZZIFICACIN
7
In7
8
In8
9
In9
10
In10
[S4]
From39
[ENEG]
[ENEG]
Goto
[EPOS]
Goto13
[EZERO]
Goto14
[CENEG]
Goto3
[CEPOS]
11
In11
Goto4
12
In12
[CEZERO]
Goto5
[ACTNEG1]
In1
From22
[ACTPOS2]
In2
From23
[ACTZERO1]
In3
From24
[ACTZERO2]
In4
From25
[ACTPOS1]
In5
From26
[ACTNEG2]
In6
[S4]
Out1
Goto15
[S5]
Goto16
In2
From6
[CEPOS]
From7
In3
[S5]
In4
From40
[EZERO]
Out2
In1
From8
[CEZERO]
Out1
In1
In5
Out3
In3
[S6]
Out3
From27
Goto17
Subsystem1
2
Out2
From9
[S6]
In2 Out1
In6
In7
From41
[EPOS]
In8
From10
[CENEG]
In9
Out4
From11
REGLAS DE CONJUNTO DE SALIDA Z
[ACTZERO1]
In1
From28
[ACTPOS2]
In2
From29
[ACTPOS1]
In3
Out1
In4
From31
[ACTPOS1]
In5
From32
[ACTPOS2]
Goto18
Out2
From30
[ACTZERO2]
[S7]
In1
From42
[EZERO]
In2
From14
[CEPOS]
In3
Out1
From15
[S8]
In4
In1
[S8]
From43
[EPOS]
In5
Goto19
From16
[CEZERO]
In6
Out3
In3
Out3
[S9]
In6
Goto20
From33
Subsystem2
3
Out3
From17
[S9]
In2 Out1
In7
From44
[EPOS]
In8
From12
[CEPOS]
In9
Out4
From13
REGLAS DE CONJUNTO DE SALIDA P
88
[ACTNEG1]
From18
[ACTNEG2]
From19
[ACTNEG1]
[S1]
and
From22
[ACTPOS2]
Goto12
Logical
[ACTNEG1]
From20
[ACTZERO2]
From21
From35
[S4]
Goto15
Logical2
[ACTZERO1]
[S2]
and
From24
[ACTZERO2]
Goto1
and
[S5]
Goto16
From25
Logical1
[ACTZERO1]
From34
[ACTNEG2]
and
From23
Logical3
[ACTPOS1]
[S3]
and
From26
[ACTNEG2]
Goto2
and
From27
Logical8
[S6]
Goto17
Logical4
[S7]
and
Goto18
Logical5
[ACTPOS1]
From30
[ACTZERO2]
From31
[S8]
and
Goto19
Logical6
[ACTPOS1]
From32
[ACTPOS2]
From33
[S9]
and
Goto20
Logical7
89
Cada bloque del bloque selector de reglas de salida cuenta con tres pares de entradas,
si el par es verdadero entonces se activa la regla correspondiente a ste.
El desarrollo individual de cada regla es mostrado en la Figura 4.33, y como se vio
anteriormente en el Cuadro 4.3, se toma el menor valor de los dos valores de salida de los
conjuntos de entrada E y CE. Dada esta descripcin se hace uso de un bloque relacional, el
cual activa el canal d1 del multiplexor si la entrada de la regla In2 es menor que In1, por el
contrario activa el canal d0 si In1 es menor que In2.
a
a
sel
b
Relational
1
In1
d0
2
In2
d1
1
Out1
Mux
90
1
In1
sel
0
2
In2
In1
3
In3
In2
d0
Constant2
Out1
1
Out1
d1
Mux
REGLA 1
4
In4
sel
0
5
In5
In1
6
In6
In2
d0
Constant3
Out1
d1
Mux1
REGLA 2
7
In7
0
8
In8
In1
9
In9
In2
2
Out3
sel
d0
Constant4
Out1
3
Out4
d1
Mux2
REGLA 3
a
1
In1
z-3
a
cast
b
Convert4
Mult
a
a+b
a
b
2
91
In2
z-3
a
a+b
cast
AddSub
Convert5
z -31 sqrt x
cast
Convert1
1
Out1
AddSub1
Mult1
CORDIC SQRT1
a
3
In3
z-3
a
cast
b
Convert6
Mult2
92
1
a
In1
a+b
2
AddSub
In2
a+b
AddSub1
3
a
In3
a3
z-3
a
In
cast
Convert1
Gateway In1
From
Workspace
z -28 div
y/x
Mult
a+b
b
a
c3
In
From
Workspace2
cast
Mult1
AddSub2
a
b
a
e3
In
Gateway In3
z-3
a
1
Out1
CORDIC DIVIDER
Convert2
Gateway In2
From
Workspace1
z-3
a
cast
Convert4
cast
a+b
AddSub3
Convert3
Mult2
93
fuzzificacin1
Out1
ERROR
[ACT NEG1]
Out2
Goto
[EPOS]
[ACT ZERO1]
Out3
Goto1
[EZERO]
Out4
Goto2
[ACT NEG1]
[ACT POS1]
In1
In1
Goto6
[ACT ZERO1]
Out6
Goto7
[ACT POS1]
[CENEG]
[EZERO]
[CEPOS]
[EPOS]
[CEZERO]
[CENEG]
[ACT NEG2]
In8
In9
In10
From4
Goto9
[CEZERO]
[ACT ZERO2]
Out3
In11
In3
From5
Goto10
[CEPOS]
[ACT POS2]
Out6
Out1
From3
Goto5
Out5
Out1
In7
From2
Goto4
Out4
In6
From1
Goto3
In1
In2
In5
From60
[ENEG]
In2
Out2
In4
From59
[ACT POS2]
Out3
In1
From58
[ACT ZERO2]
fuzzificacin2
Out1
In3
From57
[ACT NEG2]
Goto8
Out2
In2
From56
Out5
Out1
In1
From55
FUZZIFICACION1
DERIVADA
DEL ERROR
defuzzificacin
[ENEG]
In12
From6
Goto11
FUZZIFICACION2
COA
PROPORCIONAL
Step1
x 0.02
BLOQUE DIFUSO
DE LA ARQ. 1
cast
Convert
DERIVATIVO
In
Out1
In2
Gateway In2
a
Subsystem2
a-b
In
Gateway In3
z-1
x 0.007004
b
a-b
Sy stem
Generator
In1
CMult
z-1
AddSub5
cast
CMult1
[aux2]
INTEGRAL
AddSub
Out
a+b
18.67e-9s2 +17.68e-6s+2.10e-3
Transfer Fcn2
AddSub1
Scope3
From1
Register1
Register3
4.58e-2
Gateway Out
Convert3
a
x 0.0003052
a+b
cast
[aux1]
Convert1
AddSub2
CMult2
Register2
Convert4
cast
[aux1]
In1 Out1
From
[aux2]
Goto
Subsystem
Goto1
z-1
94
Arquitectura 2
Se desarrolla una segunda arquitectura, el propsito de esta arquitectura es mejorar el
tiempo de respuesta y el uso de recursos hardware de la arquitectura 1. La segunda arquitectura ya no cuenta con la flexibilidad de la primera en donde se usaba el bloque de Sysgen
FromWorkspace. En este diseo se introducen los valores resultantes de la calibracin realizada, para esto se sustituye cada bloque de FromWorkspace por un bloque Constant, en la
Figura 4.39 se muestra un ejemplo de esta sustitucin.
2
In2
b2
a
b
In
z-1
ab
z-1
a<b
b
c2
In
Gateway In5
From
Workspace6
c2
In
Gateway In6
From
Workspace7
Z1
and
Relational10
a
a2
a
In
z-1
ab
Gateway In b
From
Workspace1
Relational8
a22
Logical6
Relational11
or
Out7
-1
e22
In
Gateway In7
From
Workspace8
Z2
Relational12
z-1
a
lo
Logical8
e2
From
Workspace4
Gateway In3
and
z-1
a
Logical7
In
Out6
Concat2
Out8
a
hi
In
z-1
a<b
and
d2
Logical5
Relational9
Relational14
a
z-1
a<b
a
b
5
Out3
Logical9
a
In
N
and
Relational13
In1
-12.5
a
b
Constant
z-1
ab
Relational2
a
z-1
a<b
Constant3
Logical
a<b
3
0
Constant7
z
-1
z-1
a<b
Relational4
z-1
a
Relational7
Logical3
Concat1
25
and
4
Out4
lo
Z2
hi
12.5
1
Out1
-1
Constant6
or
and
Constant1
Relational1
Relational6
a
and
a
b
0
Logical1
Out5
z-1
a
Relational
Logical4
a
Z1
Constant2
0
and
Relational3
-25
Constant4
-1
Logical2
Out2
Constant5
Relational5
95
explicacin en cada mdulo modificado por el bloque Constant. Una vez realizado estas
modificaciones se procede a realizar el diagrama final de la arquitectura 2, ver Figura 4.40.
PROPORCIONAL
Step1
x 0.02
BLOQUE DIFUSO
DE LA ARQ. 2
cast
Convert
DERIVATIVO
In
CMult
Out1
In2
Gateway In2
a
Subsystem2
a-b
In
Gateway In3
z-1
x 0.007004
b
a-b
Sy stem
Generator
In1
z-1
AddSub5
cast
AddSub
Out
a+b
18.67e-9s2 +17.68e-6s+2.10e-3
CMult1
[aux2]
INTEGRAL
Transfer Fcn2
AddSub1
Scope3
From1
Register1
Register3
4.58e-2
Gateway Out
Convert3
a
x 0.0003052
a+b
cast
[aux1]
Convert1
AddSub2
CMult2
Register2
Convert4
cast
[aux1]
In1 Out1
From
[aux2]
Goto
Subsystem
Goto1
z-1
96
a
b
a+b
2
In5
AddSub4
a+b
AddSub5
3
a
In6
-15
cast
a
cast
AddSub6
Mult4
a
b
z-3
a
-3
z -28 div
y/x
a+b
Convert6
Constant1
Constant2
Mult3
a
15
Convert5
Constant
z-3
a
CORDIC DIVIDER1
a
b
a+b
AddSub7
cast
Convert7
Mult5
cast
Convert8
1
Out2
97
a
b
a+b
AddSub1
a
b
a+b
AddSub2
a
a+b
AddSub4
a
a
a+b
AddSub5
a+b
a
b
AddSub6
a+b
AddSub7
a+b
AddSub15
1
In1
-15
-15
-15
z-3
ab
a+b
b
cast
AddSub3
a+b
z -28 div
y/x
y
cast
a
Convert3
Constant5
AddSub8
-3
ab
a
b
Mult2
a
In3
Convert2
Constant4
3
cast
Mult1
a
In2
ab
Convert1
Constant3
2
Mult6
b
In4
Mult7
a
15
Constant11
cast
z-3
ab
cast
a
z-3
ab
a+b
b
cast
AddSub11
Mult11
a
In9
ab
a+b
AddSub10
Convert13
Constant10
9
a
b
-3
Mult10
a
15
AddSub9
Convert12
Constant9
In8
b
cast
Mult9
a
15
a+b
AddSub14
Convert11
Constant8
In7
z-3
ab
Mult8
In6
b
a+b
Convert10
Constant7
6
cast
a
1
Out1
a+b
AddSub13
z-3
ab
cast
Convert4
CORDIC DIVIDER2
Convert9
Constant6
In5
a+b
AddSub16
-3
z-3
ab
a
b
a+b
AddSub12
cast
Convert14
Mult12
98
fuzzificacin1
ERROR
[ENEG]
Out2
Goto
[EPOS]
Goto1
[EZERO]
[ACT ZERO1]
Out3
Out4
Goto2
[ACT NEG1]
[ACT POS1]
In1
In1
Out1
[ACT NEG1]
Out6
Goto7
[ACT POS1]
[ACT ZERO2]
fuzzificacin2
[CENEG]
In3
Out4
In4
Out5
In5
[EZERO]
[CEPOS]
[EPOS]
[CEZERO]
Out4
[ACT NEG2]
Out5
[ACT ZERO2]
Out1
In7
Out1
In8
Out6
In6
Out7
In7
Out8
In8
Out9
In9
From2
Goto4
Out3
In6
From1
Goto3
In9
From3
Goto5
[CENEG]
In10
From4
Goto9
[CEZERO]
In11
From5
Goto10
[CEPOS]
[ACT POS2]
Out6
In5
From60
[ENEG]
In2
Out3
In4
From59
[ACT POS2]
In1
In2
From58
Goto8
Out2
In3
From57
[ACT NEG2]
FUZZIFICACION1
DERIVADA
DEL ERROR
In1
In2
From56
Goto6
[ACT ZERO1]
Out2
Out1
From55
Out5
Out1
In1
defuzzificacin
In12
From6
Goto11
FUZZIFICACION2
COA
PROPORCIONAL
Step1
x 0.02
BLOQUE DIFUSO
DE LA ARQ. 3
cast
Convert
DERIVATIVO
In
Out1
In2
Subsystem2
a-b
In
Gateway In3
z-1
x 0.007004
b
a-b
Sy stem
Generator
In1
CMult
Gateway In2
z-1
AddSub5
cast
AddSub
a+b
Out
18.67e-9s2 +17.68e-6s+2.10e-3
CMult1
[aux2]
INTEGRAL
Transfer Fcn2
AddSub1
Scope3
From1
Register1
Register3
4.58e-2
Gateway Out
Convert3
a
x 0.0003052
a+b
cast
[aux1]
Convert1
AddSub2
CMult2
Register2
Convert4
cast
[aux1]
In1 Out1
From
[aux2]
Goto
Subsystem
Goto1
z-1
99
100
Captulo 5
Resultados
En este captulo se describen los resultados obtenidos en la implementacin de controladores PID clsico y PID difuso en software y en hardware.
En la seccin 5.1 se muestran, analizan y comparan las seales de respuesta de cada
controlador.
En la seccin 5.2 se estudia el error y el comportamiento de los controladores ante
ruido.
En la seccin 5.3 se analizan, comparan y muestran los recursos hardware usados en
las arquitecturas propuestas.
5.1.
En esta seccin se mostrarn los resultados que se obtienen de las simulaciones de las
implementaciones de los controladores. Primeramente se mostrarn las seales de respuesta de los controladores desarrollados en software y posteriormente los desarrollados en
hardware.
Para los controladores desarrollados en software se medir el tiempo de subida, tiempo
de retardo, tiempo pico, sobreelongacin y tiempo de establecimiento, utilizando como
unidad los segundos. Para los controladores hardware se medirn los mismos parmetros
101
102
CAPTULO 5. RESULTADOS
con la nica diferencia que no se utilizarn segundos sino ciclos de reloj como valor de
medida, el tiempo en segundos estar dado por la frecuencia mxima o el periodo mnimo
de la arquitectura establecido en el anlisis de recursos utilizados. El nmero de ciclos de
reloj del sistema y el numero de ciclos de retroalimentacin no estn dados en segundo
hasta que se implementen en FPGA en el proceso Place and Rute.
5.1.1.
Parmetros medidos
Tiempo de retardo
Tiempo de subida
Tiempo pico
Sobreelongacin
Tiempo de asentamiento
Smbolo
td
tr
tp
MP
ts
103
Valor obtenido
1,01s
1,12s
0s
0
1,12s
104
CAPTULO 5. RESULTADOS
Parmetros medidos
Tiempo de retardo
Tiempo de subida
Tiempo pico
Sobreelongacin
Tiempo de asentamiento
Smbolo
td
tr
tp
MP
ts
Valor obtenido
1,015s
1,08s
0s
0
1,08s
5.1.2.
En esta seccin se describirn las seales de salida resultantes del desarrollo de los
controladores PID y PID en lgica reconfigurable.
Al tratarse de un desarrollo que utiliza valores digitales, los valores obtenidos se rigen
por los ciclos de reloj del sistema, el cual tiene un tiempo de duracin denominado periodo
del ciclo de reloj. Este periodo determina la frecuencia del tiempo de ejecucin del sistema
y se obtiene cuando se implementan los sistemas en FPGA.
En primera instancia se describir el controlador PID clsico; como los controladores
antes descritos, se requiere que no exista sobreelongacin y que el tiempo de establecimiento sea mnimo. En la Figura 5.3 se muestra la seal de respuesta ante una seal escaln de
valor 24.
105
Smbolo
td
tr
tp
MP
ts
Ciclos de Retroalimentacin
1
34
0
0
34
106
CAPTULO 5. RESULTADOS
Figura 5.4: Respuesta del controlador PID difuso con paso de parmetros y RSS
La arquitectura de este controlador PID difuso cuenta con mdulos de multiplicaciones,
divisiones y raz cuadrada, estos mdulos requieren ms ciclos de reloj para obtener un
valor vlido en la salida, la cantidad de ciclos de reloj utilizada en una iteracin del lazo
cerrado del controlador es de 83 ciclos de reloj. Los valores medidos en este controlador se
muestran en el cuadro 5.4.
Parmetros medidos
Tiempo de retardo
Tiempo de subida
Tiempo pico
Sobreelongacin
Tiempo de asentamiento
Smbolo
td
tr
tp
MP
ts
Ciclos de Retroalimentacin
1
8
0
0
8
107
Figura 5.5: Respuesta del controlador PID difuso sin paso de parmetros con RSS
En la Figura 5.5 se ve que el tiempo de asentamiento disminuy en comparacin a la
arquitectura con paso de parmetros, el tiempo de asentamiento es de 530 ciclos de reloj,
tambin se nota que no hay sobreelongacin en la seal de salida. Por ltimo, cabe mencionar que se iguala a la arquitectura con paso de parmetros en el numero de iteraciones
de lazo cerrado. Los dems valores medidos en la seal de salida se muestran en el cuadro
5.5.
108
CAPTULO 5. RESULTADOS
Parmetros medidos
Tiempo de retardo
Tiempo de subida
Tiempo pico
Sobreelongacin
Tiempo de asentamiento
Smbolo
td
tr
tp
MP
ts
Ciclos de Retroalimentacin
1
8
0
0
8
Figura 5.6: Respuesta del controlador PID difuso sin parmetros sin RSS
Se nota que este controlador ha mejorado en comparacin a las dos arquitecturas anteriores del PID difuso. El nmero de ciclos de reloj del tiempo de asentamiento es de 135,
109
Smbolo
td
tr
tp
MP
ts
Valor obtenido
30
135
0
0
135
Ciclos de Retroalimentacin
1
4
0
0
4
5.2.
(5.1)
110
CAPTULO 5. RESULTADOS
(5.2)
Donde:
e es el error entre las seales.
N es el numero de muestras que toma para el anlisis.
El error cuadratico medio muestra la medida de las diferencias en promedio entre los
valores pronosticados y los observados.
5.2.1.
Definidos los tipos de errores se procede a mostrar los resultados. En la Figura 5.7 se
muestra grficamente el comportamiento del error absoluto del controlador PID en SW.
111
112
CAPTULO 5. RESULTADOS
Cuadro 5.8: Tamao de muestra, valor de E prom yErms para el PID difuso en SW
En el controlador PID en hardware, el error absoluto tiene el comportamiento que muestra en la Figura 5.9.
113
114
CAPTULO 5. RESULTADOS
Cuadro 5.10: Tamao de muestra, valor de E prom yErms para el PID difuso en HW
Como se ha visto el comportamiento del error absoluto y el error cuadrtico es variado,
en los controladores implementados en hardware tienen valores menores en comparacin a
los controladores implementados en software.
Los errores promedio en todos los controladores resultaron ser menores en comparacin
al error cuadrtico, aunque para un anlisis ms profundo en un futuro el error cuadrtico
es comnmente el mtodo ms usado.
5.2.2.
En esta subseccin se analizar el comportamiento ante ruido de los controladores desarrollados, de manera que se introduce ruido al diagrama del PID, ver Figura 5.11.
115
En este diseo del controlador PID se hace uso de un bloque de Simulink llamado
uniform noise, el cual genera un ruido uniforme. El valor de este bloque de ruido se le
suma al resultado de la sumatoria de las tres acciones del PID. El diagrama del controlador
PID en software se muestra en la Figura 5.13.
116
CAPTULO 5. RESULTADOS
0.0645
Gain1
du/dt
Step
Derivative1
4.58e-2
0.0005
18.67e-9s2 +17.68e-6s+2.10e-3
Scope2
Add
Gain2
Transfer Fcn3
1
s
Integrator1
3
Uniform
Gain3
Uniform Noise
Generator
Tamao de muestra
133,951
117
Cuadro 5.11: Tamao de muestra y Valor de Erms para el PID en SW (estudio ante ruido)
Igual que en el controlador PID en software, se introduce un bloque de Simulink uniform noise para que se sume con la salida del controlador PID difuso, ver Figura 5.15.
0.0645
1
Step
Gain4
Fuzzy Logic
voltajeController1
Gain
4.58e-2
18.67e-9s2 +17.68e-6s+2.10e-3
Scope2
Add1
Transfer Fcn3
du/dt
Derivative
1
s
0.0078
Gain5
2.1
Integrator
Gain6
Uniform
Uniform Noise
Generator1
118
CAPTULO 5. RESULTADOS
Cuadro 5.12: Tamao de muestra y Valor de Erms para el PID difuso en SW (estudio ante
ruido)
Adems, se muestra una comparacin de las seales tanto de la salida del sistema del
controlador PID y del PID difuso, por lo que se grafican juntas para observar su comportamiento una respecto a la otra, ver Figura 5.17.
119
120
CAPTULO 5. RESULTADOS
PROPORCIONAL
x 0.01401
cast
Convert
In
Step
Gateway In
In
CMult
a+b
INTEGRAL
a-b
b
b
AddSub1
Gateway In1
a+b
AddSub
x 0.009995
AddSub4
cast
a
a+b
Convert1
Register2
Convert4
a+b
cast
z-1
Out
AddSub3
In
Scope2
Gateway Out
CMult2
4.58e-2
18.67e-9s2 +17.68e-6s+2.10e-3
Transfer Fcn1
AddSub2
Gateway In2
DERIVADA
a
a-b
d
z-1
x 0.004501
b
AddSub5
Register1
Sy stem
Generator
cast
Convert2
Uniform
CMult1
Uniform Noise
Generator
Cuadro 5.13: Tamao de muestra y Valor de Erms para el PID en HW (estudio ante ruido)
121
Por otra parte, para realizar el anlisis de ruido con el PID difuso se simul la arquitectura 3 que no posee paso de parmetros ni el mtodo RSS, ya que esta arquitectura tuvo
menor tiempo de establecimiento. En el diseo de controlador del PID difuso en hardware,
la adicin de ruido se realiza con el uso de bloque de Simulink uniform noise , este bloque
se agrega al sistema como se muestra en la Figura 5.20.
PROPORCIONAL
[aux4]
cast
x 0.02
Step1
In
DERIVATIVO
Out1
CMult
Subsystem1
a -b
z-1
CMult1
[aux2]
4.58e-2
Out
a+b
18.67e-9s2 +17.68e-6s+2.10e-3
a+b
b
INTEGRAL
a -b
a
In
a+b
Uniform
x 0.001205
cast
Convert1
Uniform Noise
Generator
CMult2
Sy stem
Generator
Goto1
q
z-1
[aux3]
Goto3
[aux1]
Register2
Convert4
cast
In
Gateway In5
b
AddSub2
HW4
T ransfer Fcn2
AddSub3
AddSub1
From1
Register1
Convert3
AddSub5
Gateway Out
cast
x 0.007004
b
d
PID DIFUSO
In2
Gateway In2
From3
In1
Convert
[aux3]
In1 Out1
From2
[aux4]
[aux1]
Goto2
Subsystem2
In1 Out1
From
[aux2]
Goto
Subsystem
122
CAPTULO 5. RESULTADOS
Cuadro 5.14: Tamao de muestra y Valor de Erms para el PID difuso en HW (estudio ante
ruido)
Los cuadros reportan que el controlador PID difuso tiene un menor error cuadrtico
medio, esto cumple la tendencia de operacin ante ruido que se segua desde la plataforma
software.
Una vez obtenidos los resultados de las seales de respuesta con y sin ruido de los
controladores PID y PID difuso, se analizar la cantidad de recursos que utilizan las arquitecturas hardware.
5.3.
123
5.3.1.
A continuacin se presentarn los recursos hardware del controlador PID en las diversas
tecnologas FPGA.
En el cuadro 5.15 se presentan los recursos hardware para el dispositivo Artix 7
xc7a100t-3cgs324, partan 6 xc6slx45-3cgs324 y Virtex 5 xc5vlx50-3ff324.
124
CAPTULO 5. RESULTADOS
W
/
>
^
/
K
Z
h^
h
h
EZ
h&&
E>hd
h
h
E^
Z
W
&
D,
W
Z^
h^
h
h
EZ
h&&
E>hd
h
h
E^
Z
W
&
D,
Zs
h^
h
h
EZ
h&&
E>hd
h
h
E^
Z
W
&
D,
/
>
^
/
K
W
/
>
^
/
K
Parmetros medidos
Tiempo de retardo
Tiempo de subida
Tiempo pico
Sobreelongacin
Tiempo de asentamiento
Smbolo
td
tr
tp
MP
ts
cicle clock
2
34
0
0
34
T. en Artix7
4.35 ns
74.086 ns
0 ns
0 ns
74.086 ns
T. en Spartan 6
3.84 ns
65.314 ns
0 ns
0 ns
65.314 ns
125
T. Virtex 5
3.27 ns
55.59 ns
0 ns
0 ns
55.59 ns
5.3.2.
En esta subseccin se abordarn los resultados obtenidos referente a los recursos utilizados en tres diferentes tecnologas FPGA: Artix 7, Spartan 6 y Virtex 5 de las arquitectura
1, 2 y 3.
Arquitectura 1 (PID difuso con paso de parmetros y RSS)
En el cuadro 5.17 se presentan los recursos hardware obtenidos de la arquitectura 1.
126
CAPTULO 5. RESULTADOS
Z
Y
Z
h^
h
h
EZ
h&&
E>hd
h
h
E^
Z
W
&
D,
Z
Y
Z^
h^
h
h
EZ
h&&
E>hd
h
h
E^
Z
W
&
D,
Z
Y
Zs
h^
h
h
EZ
h&&
E>hd
h
h
E^
Z
W
&
D,
Parmetros medidos
Tiempo de retardo
Tiempo de subida
Tiempo pico
Sobreelongacin
Tiempo de asentamiento
Smbolo
td
tr
tp
MP
ts
cicle clock
T. en Artix7
T. en Spartan 6
T. Virtex 5
83
700
700
0
700
7.333 s
61.84 s
61.84 s
0
61.84 s
9.456 s
79.75 s
79.75 s
0
79.75 s
7.521 s
63.43 s
63.43 s
0
63.43 s
127
Z
Y
Z
Y
Z
Y
Z
h^
h
h
EZ
h&&
E>hd
h
h
E^
Z
W
&
D,
Z^
h^
h
h
EZ
h&&
E>hd
h
h
E^
Z
W
&
D,
Zs
h^
h
h
EZ
h&&
E>hd
h
h
E^
Z
W
&
D,
128
CAPTULO 5. RESULTADOS
Se muestran los recursos utilizados para el dispositivo Artix 7, el periodo mnimo para
esta arquitectura es de 89.160 ns y su frecuencia mxima correspondiente es de 11.216
MHz.
Por otro lado, tambin se hizo un anlisis con los recursos utilizados, periodo mnimo
y la frecuencia mxima de operacin para el dispositivo Spartan 6, se establece un periodo
mnimo de 94.508 ns,con una frecuencia de operacin de 10.581 MHz.
Finalmente, se realiza la obtencin de los recursos usados, periodo y frecuencia para el
dispositivo Virtex 5, el valor del periodo es de 109.313 ns con una frecuencia mxima de
9.148 MHz. Por otra parte, en el Cuadro 5.20 se muestran los tiempos de operacin que se
obtienen de la arquitectura conforme al tipo de dispositivo.
Parmetros medidos
Tiempo de retardo
Tiempo de subida
Tiempo pico
Sobreelongacin
Tiempo de asentamiento
Smbolo
td
tr
tp
MP
ts
cicle clock
T. en Artix7
T. en Spartan 6
T. Virtex 5
62
530
530
5.528 s
47.25 s
47.25 s
0
47.25 s
5.859 s
50.09 s
50.09 s
0
50.09 s
6.777 s
57.94 s
57.94 s
0
57.94 s
0
530
Z
Y
Z
h^
h
h
EZ
E&&
E>hd
E
E
E^
Z
W
&
D,
Z
Y
Z^
h^
h
h
EZ
E&&
E>hd
E
E
E^
Z
W
&
D,
Z
Y
Zs
h^
h
h
EZ
E&&
E>hd
E
E
E^
Z
W
&
D,
129
130
CAPTULO 5. RESULTADOS
Parmetros medidos
Tiempo de retardo
Tiempo de subida
Tiempo pico
Sobreelongacin
Tiempo de asentamiento
Smbolo
td
tr
tp
MP
ts
cicle clock
T. en Artix7
T. en Spartan 6
T. Virtex 5
30
135
135
0
135
0.7723 s
3.475 s
3.475 s
0
3.475 s
0.900 s
4.05 s
4.05 s
0
4.05 s
0.690 s
3.107 s
3.107 s
0
3.107 s
consumo de recursos.
5.4.
Dispositivo
Frecuencia mxima
Recursos HW
PID desarrollado
Spartan 6
520.56 MHz
Spartan 3
30 MHz
Spartan 3
60.3 MHz
Spartan 3
Spartan 3E
47 MHz
437 slices
541 LUTs
171 slices
Cuadro 5.23: Comparacin PID con otros trabajos relacionados usando tecnologa Spartan
En el Cuadro 5.23 se muestran diferentes trabajos realizados y sus resultados obtenidos
bajos los parmetros de frecuencia mxima y recursos hardware. El controlador PID realizado en este trabajo de tesis es el que tiene la mejor frecuencia de operacin, tambin, ste
es el segundo mejor en cuanto al poco consumo de LUTs y el mejor en el poco consumo
de slices.
131
Por otra parte, se compara la arquitectura 3 del controlador PID difuso con otros trabajos debido a que esta arquitectura es la que present mejores resultados en las mediciones
realizadas secciones atras. La comparacin se realiza utilizando dos familias FPGAs: Spartan y Virtex.
En el Cuadro 5.24 se muestran diferentes trabajos realizados y sus resultados obtenidos
en tecnologa Spartan y en el Cuadro 5.25 los trabajos que utilizan la tecnologa Virtex.
Las comparaciones estn basados bajo los parmetros de frecuencia mxima, recursos
hardware y time per action. El time per action es el tiempo que tarda en realizar un ciclo
de retroalimentacin y es lo que reportan los trabajos.
Fuente
Dispositivo
Frecuencia mxima
Arquitectura 3
Spartan 6
33.333 MHz
Recursos HW
2902 LUTs
0.9 s
867 Slices
(Sulaiman et al., 2009)
Spartan 3
40.550 MHz
1394 Slices
2.096 s
Spartan II E
8 KHz
6,144 LUTs
41.1 ms
Cuadro 5.24: Comparacin PID difuso con otros trabajos relacionados usando tecnologa
Spartan
En el Cuadro 5.24 se muestra que la arquitectura 3 es la segunda ms rpida en comparacin con las dems. Adems tiene el menor time per action y el menor consumo de
LUTs-Slices que los otros trabajos comparados.
Fuente
Dispositivo
Frecuencia mxima
Arquitectura 3
Virtex 5
43.333 MHz
Recursos HW
3,123 LUTs
0.690 s
984 Slices
(Economakos and Economakos, 2007)
Virtex 4
50 MHz
2,064 LUTs
0.75 s
Virtex
40.295 MHz
1,394 Slices
0.421 s
Virtex
40 MHz
494 CLBs
0.3 s
Cuadro 5.25: Comparacin PID difuso con otros trabajos relacionados usando tecnologa
Virtex
Utilizando la tecnologa Virtex, la arquitectura tiene la segunda mejor frecuencia mxima de operacin, adems con el menor consumo de slices y el segundo mejor consumo
de LUTs. Y en cuanto el time per action, ste se encuentra en el tercer lugar, dado esto
132
CAPTULO 5. RESULTADOS
Captulo 6
Conclusiones
En este apartado se presentan las conclusiones del trabajo de Tesis Anlisis y comparacin de controladores PID y PID difuso en lgica reconfigurable, que como su nombre
lo indica se bas en analizar y comparar los controladores PID y PID difuso en hardware.
Como se ha comentado, primeramente se desarroll el controlador PID en software,
ya que ste representa una base para la realizacin del PID en lgica reconfigurable. Para
desarrollar el controlador PID en software se us la herramienta Simulink, esta herramienta
es de gran ayuda ya que reduce el tiempo de diseo, por otro lado, la sintonizacin del
controlador se realiz con el mtodo de prueba y error, con este mtodo se logr una
sobreelongacin de cero en la seal de salida, as como tambin un tiempo de asentamiento
pequeo.
Se considera que existen otros mtodos ms complejos en la sintonizacin de los controladores por lo que se deja en un futuro cercano realizar una sintonizacin ms ptima de
las ganancias de las arquitecturas ya que las ganancias no llegan a afectar el diseo de las
arquitecturas propuestas.
Cabe mencionar que el buen comportamiento de la seal tambin se debe a que la
funcin de transferencia que representa al motor es estable; no se generaliza que en todos
los motores se obtenga una sobreelongacion igual a 0 un tiempo de asentamiento pequeo,
ya que de eso depender de la sintonizacin que se le de a los controladores en conjunto
con distintas plantas.
133
134
CAPTULO 6. CONCLUSIONES
Por otra parte, tambin se desarroll el controlador PID difuso en software, la parte
difusa se dise usando el toolbox fuzzy de MatLab, sta es una herramienta que ahorra
tiempo y esfuerzo al momento de describir un sistema difuso dado su entorno de fcil
acceso y navegacin, adems de esta herramienta, tambin se us de nueva cuenta Simulink
ya que provee de un bloque que logra importar el diseo realizado desde el toolbox fuzzy.
La sintonizacin de este controlador se realiz a prueba y error, la sintonizacin abarca los valores de las ganancias y los rangos de las funciones de pertenencia del sistema
difuso; en este paso es importante el conocimiento y la experiencia del diseador de sistemas difusos ya que en base a ellos depender el comportamiento de la seal de salida del
controlador. La seal de respuesta del controlador PID difuso en software no tiene sobreelongacin, su tiempo de retardo es mayor que el PID clsico, sin embargo su tiempo de
establecimiento es menor, por lo que en este trabajo la salida del controlador PID difuso es
mejor que el PID clsico, ya que el tiempo de establecimiento indica el tiempo que tarda el
controlador en establecerse en la salida deseada.
Por otro lado, se le agreg ruido al PID en software y se not que le afecta directamente,
ya que la seal de salida presenta gran cantidad de perturbaciones de variada magnitud y
tiende a no estabilizarse al valor de referencia establecido. Por el contrario, el PID difuso en
software el ruido le afecta en menor medida, ya que no presenta oscilaciones pronunciadas,
adems, la seal de salida tiende a estabilizarse al valor de la seal de referencia. De este
estudio de ruido o perturbaciones, se concluye que el PID difuso en software es mejor que
el PID ya que tiene una mejor respuesta temporal y un menor grado de afectacin por ruido.
La anterior informacin se utiliz para el desarrollo en hardware (lgica reconfigurable)
de los controladores PID y PID difuso. El controlador PID difuso se dise utilizando
Simulink y libreras de componentes hardware a lo que se denomina System Generator, esta
herramienta es importante ya que provee una visin abstracta de alto nivel de los sistemas
hardware. En base al desarrollo del controlador PID difuso se generaron tres arquitecturas:
La primera arquitectura tiene paso de parmetros, este paso de parmetros sirve para
calibrar el sistema y dota de flexibilidad al sistema, resultando beneficioso ya que
en un futuro se espera que la arquitectura sirva para controlar distintos procesos.
La seal de comportamiento de este controlador no cuenta con sobreelongacin, por
lo cual la seal se estabiliza sin generar picos ni oscilaciones, cabe aclarar que un
135
sistema real generalmente no pasa eso, sin embargo, el tener un modelo que no genere
picos ni oscilaciones implica una reduccin de perturbaciones en general cuando se
implemente el modelo.
La segunda arquitectura es una modificacin de la primera, sta ya no es flexible en
cuanto al paso de parmetros se refiere; lo que se busc fue mejorar el tiempo de
ejecucin, por lo que esta arquitectura mejora en 25 % el nmero de ciclos de reloj
utilizados para establecerse en el valor de referencia. La seal de comportamiento de
este controlador no cuenta con sobreelongacin, es decir en la estabilizacin de la
seal no se generan picos ni oscilaciones.
Respecto a los recursos hardware, se analizaron las arquitecturas del PID y la tercera arquitectura del controlador PID difuso ya que es que tiene mejor respuesta. Para realizar
este anlisis se tuvo que hacer pruebas orientados en dispositivos hardware con diferente
tecnologa FPGA como: Artix 7 xc7a100t-3cgs324, Spartan 6 xc6slx45-3cgs324 y Virtex
5 xc5vlx50-3ff324.
Por otra parte, la tercera arquitectura no tiene flexibilidad de introducir parmetros
y se diseo para disminuir el nmero de ciclos de reloj, por tal motivo se decidi
eliminar el mtodo RSS, ya que este bloque necesitaba una gran cantidad de ciclos de
reloj para calcular la raz cuadrada, de manera que se disminuy en un 80 % respecto
al primer diseo y 75 % respecto al segundo. En este caso se elimin la RSS ya que
no afectaba en gran medida el resultado del controlador difuso, sin embargo, si el
nmero de conjuntos de salida creciera y se traslaparn entre ellos el mtodo RSS
sera de una utilidad mayor.
Para los dos controladores PID y PID difuso, el dispositivo el que ofrece mejores resultados
tanto en periodo mnimo, frecuencia mxima y recursos usados fue el Virtex 5 xc5vlx503ff324. Sin embargo, este no es el dispositivo que menos recursos consume, esta caracterstica la comparten los dispositivos Spartan 6 xc6slx45-3cgs324 y Artix 7 xc7a100t-3cgs324
para el PID difuso y para el PID clsico se mantiene Virtex 5 xc5vlx50-3ff324 como el
mejor.
Comparando los dos controladores resulta que el controlador PID usa menos recursos
que el PID difuso y adems tiene un periodo menor y, por consecuente, una frecuencia ms
136
CAPTULO 6. CONCLUSIONES
alta. Esto se debe a que el controlador PID no requiere de clculos como la divisin como
lo requiere el PID difuso, la operacin de divisin hace uso de un gran nmero recursos
hardware por tal motivo el controlador PID difuso tiende a utilizar ms recursos.
Tambin, como se coment anteriormente, se realiz un anlisis con la presencia de
ruido en los controladores PID y PID difuso en hardware, de estos anlisis se obtuvo que
el controlador PID tiene una salida oscilatoria que genera picos, y dado estos picos la seal
de salida tiende a no estabilizarse. Por otro lado en el anlisis del controlador PID difuso, la
salida de este controlador no presenta gran cantidad de picos, por lo que la seal de salida
trata de estabilizarse ante la seal de referencia.
El anlisis con la presencia de ruido es importante, ya que en la realidad muchos sistemas estn propensos a cambios repentinos, ruido o perturbaciones del ambiente que los
rodea, por lo que contar con un sistema que sea robusto ante esto generara grandes beneficios tanto econmicos como funcionales. Con las arquitecturas propuestas del PID difuso
hay que examinar si su frecuencia mxima es suficiente para controlar procesos que requieren alto desempeo. Para el caso del motor de CD la velocidad de respuesta es mucho
menor (en el orden de microsegundos) ya que la respuesta del motor de CD estudiado es
de 8.5 ms.
Como se ha descrito se ha realizado un anlisis y una comparacin entre controladores PID y PID difuso desarrollados en lgica reconfigurable. Con estos resultados ya se
tienen las bases para controlar motores en especial orientado a controlar motores de CD
en cualquier aplicacin. Adems, se han obtenido diferentes arquitecturas hardware de los
controladores PID difuso: la primera es flexible y servir en un futuro para que se controlen otros procesos diferentes (pueden ser distintos a los motores de CD); tambin otros
dos controladores que no son flexibles pero que tienen mejores resultados en tiempo de
respuesta son propuestos y con estas arquitecturas se pretende establecer las bases de conocimientos a los diseadores de sistemas de control y se prev que en un futuro este anlisis
sean tomados en cuenta al momento de disear controladores.
Por ltimo, se comenta que en este proyecto se ha desarrollado un artculo titulado
Controlador PID difuso implementado con lgica reconfigurable (Pantoja-Laces, Marzo
137
2013), el cual ya ha sido publicado en las memorias del congreso. Adems se haba explorado la velocidad de motores usando microcontroladores de uso general (Pantoja-Laces,
Octubre 2011). Actualmente, se prepara un artculo para una revista indexada.
138
CAPTULO 6. CONCLUSIONES
Apndice A
Transformada de Laplace y funciones de
transferencia
En este apndice se conocer ms acerca de la transformada de Laplace, las cuales
son muy tiles al momento de modelar sistemas fsicos y ayudan en este caso a analizar
sistemas de control.
A.1.
Transformada de Laplace
139
2. La transformada de Laplace convierte la ecuacin diferencial en una ecuacin algebraica de (s). La solucin final se obtiene tomando la transformada inversa de Laplace
de la salida.
La transformada de Laplace de f (t) se define para alguna real finita, como
F(s) = L { f (t)} =
f (t)et dt
(A.1)
A.1.1.
(A.2)
c+
Z j
F(S) eSt dS
(A.3)
c j
En donde c es una constante real que es mayor que las partes reales de todas las singularidades de F(s). La ecuacin A.3 representa una integral de lnea que se evala en el plano
s. Para funciones simples, la operacin de la transformada inversa de Laplace, se puede
141
llevar a cabo sin realizar la evaluacin de esta integral, utilizando una tabla de transformadas. Si la integral resulta compleja se puede utilizar el mtodo de integracin que sea ms
adecuado para resolverla.
A.2.
Funciones de Transferencia
L (salida)
Y (s) b0 sm + b1 sm1 + ... + bm1 s + bm
=
=
L (entrada) X(s)
a0 sn + a1 sn1 + ... + an1 s + an
(A.4)
4. Si se conoce la funcin de transferencia de un sistema, se estudia la salida o respuesta para varias formas de entrada, con la intencin de comprender la naturaleza del
sistema.
5. Si se desconoce la funcin de transferencia de un sistema, puede establecerse experimentalmente, introduciendo entradas conocidas y estudiando la salida del sistema.
6. Una vez obtenida la funcin de transferencia, tendremos una descripcin completa
de las caractersticas dinmicas del sistema, a diferencia de su descripcin fsica.
Una forma que ayuda en gran medida al trabajar con las funciones de transferencia son
los diagramas a bloques, los cuales muestran las relaciones que tienes los elementos de
un sistema y las seales de flujo dentro de ste. Para construir un diagrama de bloques de
un sistema se conectan los bloques que representan los componentes de ste de manera
que respeten el flujo de las seales por lo que al final es posible evaluar la contribucin
de cada componente en el sistema. En ocasiones los diagramas de bloques contienen una
gran cantidad de ramificaciones por lo que se requiere una simplificacin mediante un
reordenamiento paso a paso a travs de las reglas del lgebra de los diagramas de bloques,
ver Figura A.1.
143
(A.5)
Por otro lado, en los sistemas de lazo cerrado se requiere conocer el lgebra de los
diagramas a bloques para encontrar la funcin de transferencia, ya que el diagrama de
bloques clsico de los sistemas retroalimentados como tambin se les llama se representa
como en la Figura A.3 la cual tiene ramificaciones y comparaciones.
C(s)
R(s)
(A.6)
Por lo que se procede a obtener las salidas de las seales dentro del sistema, las cuales
son:
E(s) = R(s) B(s)
(A.7)
(A.8)
(A.9)
(A.10)
(A.11)
145
(A.12)
C(s)
[1 + H(s)G(s)] = R(s)
G(s)
(A.13)
G(s)
C(s)
=
R(s) 1 + H(s)G(s)
(A.14)
Apndice B
System Generator
System Generator para DSP es una plataforma software que usa las herramientas de The
MathWork MatLab/Simulink para representar una visin abstracta de alto nivel del sistema
de DSP, y que automticamente genera el cdigo HDL de la funcin de DSP desarrollada
usando los LogiCOREs optimizados de Xilinx.
De esta forma, System Generator permite modelar directamente mediante un entorno
de alto nivel muy flexible, robusto y fcil de utilizar sistemas de DSP, permitiendo un desarrollo de alto rendimiento para una plataforma hardware especfica. Un diseo desarrollado
con esta herramienta puede componerse de una gran variedad de elementos: bloques especficos de System Generator, cdigo de un lenguaje de descripcin de hardware tradicional
(VHDL, Verilog) y funciones derivadas del lenguaje programacin MatLab. As, todos estos elementos pueden ser usados simultneamente, simulados en conjunto y sintetizados
para obtener una funcin de DSP sobre FPGA. El aspecto ms interesante de trabajar en
MatLab/Simulink es emplear la herramienta de simulacin de sistemas Simulink para realizar la verificacin del diseo.
Una de las caractersticas ms importantes de Xilinx System Generator es que posee
abstraccin aritmtica, es decir, trabaja con representaciones en punto fijo con una precisin
arbitraria, incluyendo la cuantizacin y el sobreflujo. Tambin puede realizar simulaciones
tanto en doble precisin como en punto fijo.
Se cuenta con una gran cantidad de bloques de construccin de DSP en el Blockset Xilinx DSP para Simulink. Estos bloques son los bloques DSP comunes de construccin tales
147
148
addr
In
Gateway In
data z-1
x_in
addrz-1
x_out
we
Single Port RAM
Sy stem
Generator
ROM
CORDIC 4.0
1
Constant
Out
Gateway Out
a
z-1
a+b
q
b
xn_re
xk_re
xk_im
++
AddSub
Register
and
xn_im
xn_index
start
Counter
Logical
fwd_inv
tready
xk_index
rfd
tvalid
fwd_inv_we
busy
dv
tvalid
tdata
scale_sch
edone
z-1
a
b
Delay
z-3
a
scale_sch_we
Mult
tdata
tready
done
Fast Fourier T ransform 7.1
AXI FIFO
B.1.
Despus de la Instalacin de System Generator en el toolbox de Simulink generan nuevos Blocksets que se describen a continuacin.
B.1.1.
Xilinx Blockset
Xilinx Blockset es una familia de bibliotecas que contienen los bloques bsicos de
System Generator. Algunos bloques son de bajo nivel, facilitando el acceso al hardware
149
especfico del dispositivo. Otros son de alto nivel de ejecucin, procesamiento de seales
y algoritmos avanzados de comunicacin. Para mayor comodidad, los bloques con una
amplia aplicabilidad son miembros de varias bibliotecas. Cada bloque se encuentra en la
biblioteca ndice. Las bibliotecas se describen en el cuadro B.2.
Librera
Index
Basic Elements
Communication
Control Logic
Data Types
DSP
Math
Memory
Shared Memory
Tools
Descripcin
Cada Bloque en el Blockset de Xilinx.
Bloques de elementos estndar para la construccin de lgica digital.
Bloques de correccin de errores y moduladores.
Bloques de circuitos de control y mquinas de estado.
Los bloques que convertir tipos de datos.
Bloques de Procesamiento Digital de seales (DSP).
Bloques que implementan funciones matemticas.
Bloques para la implementacin y acceso a memoria.
Bloques para la implementacin y acceso a memoria compartida de Xilinx.
Bloques de herramientas, para estimacin de recursos, co-simulacin HDL, etc.
B.1.2.
Por otra parte, Xilinx Reference Blockset contiene compuestos de bloques de System
Generator que implementan una amplia gama de funciones. Los bloques en este Blockset
se organizan por su funcin en diferentes bibliotecas. Las bibliotecas se describen en el
cuadro B.2 y cada bloque en este Blockset es un compuesto es decir, se implementa como
un subsistema de enmascarados, con los parmetros que configuran el bloque.
Librera
Communication
Control Logic
Imaging
DSP
Math
Descripcin
Bloques de correccin de errores y moduladores
Bloques de circuitos de control y mquinas de estado
Bloques de Procesamiento de Imgenes.
Bloques de Procesamiento Digital de seales (DSP)
Bloques que implementan funciones matemticas
150
B.2.
Los bloques en Xilinx System Generator operan con valores booleanos o valores en
punto fijo, esto es para dar una mejor aproximacin a la simulacin hardware en Simulink.
En contraste, Simulink trabaja con nmeros de punto flotante de doble precisin. La conexin entre los bloques de Xilinx System Generator y los bloques de Simulink son los
bloques llamados Gateway.
El Bloque Gateway In convierte una seal de doble precisin en una seal de Xilinx, y
el bloque Gateway Out convierte una seal de Xilinx en una de doble precisin. Las seales
continuas de Simulink deben ser muestreadas por el bloque Gateway In.
La mayora de los bloques de Xilinx son capaces de deducir los tipos adecuados de
salida basndose en sus tipos de entrada. Cuando se especifica full precisin en los parmetros del bloque, System Generator elige el tipo de salida para garantizar que no se
pierda precisin. La extensin de signo y el relleno de ceros ocurre automticamente, si es
necesario.
En la parte de System Generator de un modelo Simulink, cada seal debe ser muestreada. Tiempos de muestra deben ser heredados usando reglas de propagacin de Simulink, o
estableciendo explcitamente la configuracin en el cuadro de dialogo de un bloque.
A continuacin se describir el bloque System Generator, el cual es importante ya que
en l se describe las configuraciones de las simulaciones y as como tambin la especificacin de parmetros para la implementacin hardware.
B.2.1.
Cualquier diseo que incluya un bloque de Xilinx debe incluir este bloque, ya que es el
encargado de proporcionar el control del sistema y los parmetros de las simulaciones, e invocar el generador de cdigo. En la Figura B.2 se muestra dnde especificar los parmetros
para la opcin Compilation y se describen a continuacin.
Compilation: especifica el tipo de compilacin que se producir cuando se invoque al
generador de cdigo.
Part: define FPGA usado.
Target Directory: nombre del directorio para guardar los resultados de la compilacin.
151
152
153
154
Timing: En ocasiones el hardware creado por System Generator puede no cumplir con
los requisitos de tiempo. System Generator proporciona una herramienta que permite realizar un anlisis temporal para resolver este tipo de conflictos. Mediante este anlisis se
muestra el camino ms lento de la parte hardware diseada, as como aquellos que no cumplen con los requisitos temporales. Para realizar este tipo de anlisis, System Generator
se basa en la herramienta Trace, que forma parte del paquete ISE de Xilinx, este tipo de
compilacin se utiliz en el trabajo de tesis ya que no se poda realizar la co-simulacin
porque no se contaba fsicamente con los dispositivos.
La herramienta System Generator es importante para la realizacin de proyectos con
lgica reconfigurable ya que brinda de herramientas de alto nivel de abstraccin que facilita
la implementacin de diseos de la forma mas rpida, reduciendo costo y esfuerzo.
Nomenclatura
ASIC Es un circuito integrado hecho a la medida para un uso en particular, en vez de ser
concebido para propsitos de uso general.
CD
Inteligencia Artificial
Look Up Table Look up table (del ingls tabla de consulta) es una estructura de datos,
normalmente un arreglo o un arreglo asociativo, que se usa para substituir una rutina
de computacin con una simple indexacin de los arreglos.
offset Offset significa que el controlador mantendr la medida a un valor diferente del
valor de consigna
155
156
PC
PID
SW
Plataforma Software
Bibliografa
Aguirre, I., Metodologas de diseo para computacin reconfigurable, in XI Congreso Universitario de Innovacin Educativa en las Enseanzas Tcnicas Vilanova, 2003.
Alejo-Gmez, ., Diseo de un pid para control de velocidad, 2011.
Avila, N. S., Control de velocidad discreto de un motor de corriente directa utilizando el
microcontrolador pic 18f4550, Ph.D. thesis, Universidad Michoacana de San Nicols de
Hidalgo, 2011.
Castillo, L. F. S., Diseo e implementacin de un sistema de control digital para un motor
de dc con controlador pid, Tech. rep., Universidad de Guadalajara, 2009.
Cercs, J. N., Diseo de un controlador avanzado basado en redes neuronales para la gestin de la mezcla aire-gasolina en un motor alternativo, Ph.D. thesis, Universitat Politcnica de Catalunya, 2001.
Chan, Y. F., M. Moallem, and W. Wang, Design and implementation of modular fpga-based
pid controllers, Industrial Electronics, IEEE Transactions on, 54(4), 18981906, 2007.
Chen, W., H.-m. Yuan, and Y. Wang, Design and implementation of digital fuzzy-pid controller based on fpga, in Industrial Electronics and Applications, 2009. ICIEA 2009. 4th
IEEE Conference on, pp. 393397, IEEE, 2009.
Chojoln, S. E. T., Diseo de controladores pid en tiempo discreto y anlisis de respuesta
utilizando herramientas computacionales, Ph.D. thesis, Universidad de San Carlos de
Guatemala, 2007.
157
158
BIBLIOGRAFA
BIBLIOGRAFA
159
Len Galarza, C. F., et al., Diseo e implementacin del control pid de velocidad para un
motor dc utilizando la tarjeta fpga spartan 3e y labview para los laboratorios de la carrera
de ingeniera electrnica de la universidad politcnica salesiana, 2012.
Londoo, L. F. C., Diseo de un sistema para el control de posicin de un motor dc basado
en fpga, 2011.
Lpez, L. J., F. M. Zulay, and A. S. Pateti, Metodologa de implementacin de un controlador pid difuso en una fpga, Universidad, Ciencia y Tecnologa, 10(39), 130133,
2006.
Martnez, M. A., J. Sanchis, and X. Blasco, Algoritmos genticos aplicados al diseo de
controladores robustos, RIAII, 3(1), 3951, 2010.
Mndez, J. T. P., and R. L. M. Morales, Inteligencia artificial: tcnicas, mtodos y aplicaciones, McGraw-Hill Interamericana de Espaa, 2008.
Morata Palacios, F., Controlador fuzzy de un quadrotor, Ph.D. thesis, 2009.
Moreno, R., P. Aros, and J. Ribet, Diseo de un controlador pid difuso aplicado en un horno
rotatorio para producir carbn activado, in Memoria INGELECTRA 2006, Congreso estudiantil de ingeniera elctrica y electrnica. Universidad Austral de Chile, 2006.
Munrriz, L. ., Fundamentos de inteligencia artificial, vol. 1, Editum, 1994.
Murthy, S. N., W. Alvis, R. Shirodkar, K. Valavanis, and W. Moreno, Methodology for
implementation of unmanned vehicle control on fpga using system generator, in Devices,
Circuits and Systems, 2008. ICCDCS 2008. 7th International Caribbean Conference on,
pp. 16, IEEE, 2008.
Nicols Nicols, I., Tcnicas de compresin de tablas de datos mediante regresiones lineales, redes neuronales y sistemas fuzzy, 2008.
Noriega del Castillo, M., Implementacin de un sistema de control digital de la velocidad
de un motor dc utilizando redes inalmbricas, 2011.
160
BIBLIOGRAFA
Obaid, Z. A., N. Sulaiman, and M. Hamidon, Developed method of fpga-based fuzzy logic
controller design with the aid of conventional pid algorithm, Australian Journal of Basic
and Applied Sciences, 3(3), 27242740, 2009.
Obaid, Z. A., S. A. A. Salman, H. I. Ali, N. Sulaiman, M. Marhaban, and M. Hamidon,
Design of pso-based optimal/tunable pid fuzzy logic controller using fpga, Edited by
Clara M. Ionescu, p. 197, 2011.
Ogata, K., Ingeniera de control moderna, Pearson Educacin, 2003.
Ortiz, F., and W. Y. Liu, Modelado y control pd-difuso en tiempo real para el sistema barraesfera, Mxico, DF, 2004.
Pantoja-Laces, W. A., Controlador pid difuso implementado con lgica reconfigurable, in
Congreso Nacional de Ingeniera Elctrica y Electrnica del Mayab (CONIEEM), Marzo 2013.
Pantoja-Laces, W. A., Variable speed control based on multiplexing dc and stepper motors,
in 4ta Jornada Informtica JINF-2011, Octubre 2011.
Passino, K. M., and S. Yurkovich, Fuzzy control, Citeseer, 1998.
Pedrycz, W., Fuzzy control and fuzzy systems (2nd, Research Studies Press Ltd., 1993.
Poorani, S., T. U. Priya, K. U. Kumar, and S. Renganarayanan, Fpga based fuzzy logic
controller for electric vehicle, Journal of The Institute of Engineers, Singapore, 45(5),
114, 2005.
Prez, M. A., Introduccin a los sistemas de control y modelo matemtico para sistemas
lineales invariantes en el tiempo, 2008.
Rivas, J. R. R., Anlisis y diseo de controladores basados en lgica difusa, 2005.
Rodrguez, F. O., and W. Y. Liu, Modelado y control pd-difuso em tiempo real para el
sistema barraesfera, Masters thesis, Universidad de Mexico, 2004.
BIBLIOGRAFA
161
Romero, L., Construccion de mapas y localizacin de robots mviles: un enfoque probabilista, Masters thesis, Instituto Tecnologico y de Estudios Superiores de Monterrey,
Campus Cuernavaca, 2001.
Sanchez, E. C. M., Controle por aprendizado acelerado e neuro-fuzzy de sistemas servohidrulicos de alta frequncia, Ph.D. thesis, Dissertaao de Mestrado. Departamento de
Engenharia Eltrica. Rio de Janeiro: Pontifcia Universidade Catlica do Rio de Janeiro,
2009.
Sonoli, S., and N. R. Konduru, Implementation of fpga based pid controller for dc motor
speed control system, Sensors & Transducers, 114(3), 2010.
Sulaiman, N., Z. A. Obaid, M. Marhaban, and M. Hamidon, Fpga-based fuzzy logic: design
and applicationsa review, IACSIT International Journal of Engineering and Technology,
1(5), 491503, 2009.
Surez., C. A. E., Diseo de un sistema de seguimiento de trayectorias para un robot mvil,
Masters thesis, Universidad Michoaacana de San Nicols de Hidalgo, 2006.
Toloza, E. R. M., Diseo de un control pi para un motor de corriente continua, Tech. rep.,
Universidad Pontificia Bolivariana, 2011.
Trimeche, A., A. Sakly, A. Mtibaa, and M. Benrejeb, Pid control implementation using
fpga technology, in Design and Test Workshop, 2008. IDT 2008. 3rd International, pp.
341344, IEEE, 2008.
Vallejo, M. L., and J. A. Rodrigo, Fpga: Nociones bsicas e implementacin, Laboratorio
de Diseo Microelectrnico, 4 Curso, P94, 2004.
Varela Rincn, J., and J. E. Loaiza Pulgarn, Reconocimiento de palabras aisladas mediante
redes neuronales sobre fpga, 2008.
Wang, L.-X., Adaptive fuzzy systems and control- design and stability analysis(book), Englewood Cliffs, NJ: PTR Prentice Hall, 1994., 1994.
162
BIBLIOGRAFA
Wang, L.-X., and J. M. Mendel, Fuzzy basis functions, universal approximation, and orthogonal least-squares learning, Neural Networks, IEEE Transactions on, 3(5), 807814,
1992.
Zurita-Bustamante, E. W., J. Linares-Flores, E. Guzmn-Ramrez, and H. Sira-Ramirez, A
comparison between the gpi and pid controllers for the stabilization of a dcdc Sbuck
T
converter: A field programmable gate array implementation, Industrial Electronics, IEEE
Transactions on, 58(11), 52515262, 2011.