Sie sind auf Seite 1von 178

Universidad del Istmo

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
Con dedicatoria a toda mi familia

II
Resumen

En la actualidad, la tecnologa est en constante avance y el campo de control autom-


tico 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 proce-
samiento 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 arqui-
tecturas 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 estruc-
tura 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 softwa-
re 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 cuadr-
tico medio y el error promedio.

Cantidad de recursos hardware

Se toman en cuenta las arquitecturas del PID y PID difuso para distintos dispositivos FP-
GAs, 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 aca-
dmica.

A mis familiares.
Porque gracias a su apoyo y consejos he llegado a realizar una de mis metas pro-
fesionales. 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 ha-
berme dado su voto de confianza y por todo el apoyo otorgado a mi persona. Tambin a la
PROMEP por la beca otorgada.

V
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 Her-
nndez 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.

Cuanto ms grandes somos en humildad, tanto ms cerca estamos de la grandeza

<Rabindranath Tagore>

VI
ndice general

Resumen III

Agradecimientos V

1. Introduccin 1
1.1. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2. Justificacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.2. Objetivos especficos . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4. Hiptesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5. Alcances y metas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5.1. Alcances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5.2. Metas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2. Marco terico 11
2.1. Sistemas de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.1. Motores de Corriente Directa . . . . . . . . . . . . . . . . . . . . . 17
2.2. Controladores clsicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.1. Controlador Proporcional (P) . . . . . . . . . . . . . . . . . . . . . 19
2.2.2. Controlador Proporcional-Derivativo (PD) . . . . . . . . . . . . . . 20
2.2.3. Controlador Proporcional-Integral (PI) . . . . . . . . . . . . . . . . 21
2.2.4. Controlador Proporcional-Integral-Derivativo (PID) . . . . . . . . . 22
2.3. Control Difuso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

VII
2.3.1. Variables lingsticas . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3.2. Conjuntos clsicos o duros y conjuntos difusos . . . . . . . . . . . 24
2.3.3. Funciones de pertenencia . . . . . . . . . . . . . . . . . . . . . . . 25
2.4. Sistemas difusos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4.1. Diseo de sistemas difusos . . . . . . . . . . . . . . . . . . . . . . 30
2.4.1.1. Sistema difuso puro . . . . . . . . . . . . . . . . . . . . 30
2.4.1.2. Sistema difuso Mamdani . . . . . . . . . . . . . . . . . 31
2.4.1.3. Sistema difuso Sugeno . . . . . . . . . . . . . . . . . . 39
2.4.2. Controlador PID difuso . . . . . . . . . . . . . . . . . . . . . . . . 40
2.5. Lgica reconfigurable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.5.1. Dispositivos Programables . . . . . . . . . . . . . . . . . . . . . . 43
2.5.2. Dispositivo FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.5.2.1. Ventajas del uso de FPGAs . . . . . . . . . . . . . . . . 44
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
3.1. Control clsico en software . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.2. Control inteligente en software . . . . . . . . . . . . . . . . . . . . . . . . 51
3.3. Control clsico en hardware . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.4. Control inteligente en hardware . . . . . . . . . . . . . . . . . . . . . . . 54
3.5. Discusin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

4. Sistemas de control propuestos y desarrollo 57


4.1. Controlador PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.1.1. Desarrollo en software del controlador PID . . . . . . . . . . . . . 59
4.1.2. Desarrollo en hardware del controlador PID . . . . . . . . . . . . . 60
4.2. Controlador PID difuso . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.2.1. Desarrollo en software del controlador PID difuso . . . . . . . . . 69
4.2.2. Desarrollo en hardware del controlador PID difuso . . . . . . . . . 77

VIII
5. Resultados 101
5.1. Respuesta en la salida de los controladores . . . . . . . . . . . . . . . . . . 101
5.1.1. Seales de respuesta de los controladores PID y PID difuso desa-
rrollados en software . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.1.2. Seales de respuesta de los controladores PID y PID difuso desa-
rrollados en hardware . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.2. Clculo de error y comportamiento ante ruido . . . . . . . . . . . . . . . . 109
5.2.1. Clculo del error . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.2.2. Comportamiento ante ruido o perturbaciones . . . . . . . . . . . . 114
5.2.2.1. Respuesta a perturbaciones en controladores PID y PID
difuso en software . . . . . . . . . . . . . . . . . . . . . 115
5.2.2.2. Respuesta a perturbaciones en controladores PID y PID
difuso en hardware . . . . . . . . . . . . . . . . . . . . 119
5.3. Recursos hardware de las arquitecturas propuestas . . . . . . . . . . . . . . 123
5.3.1. Recursos hardware del controlador PID . . . . . . . . . . . . . . . 123
5.3.2. Recursos hardware del controlador PID difuso . . . . . . . . . . . 125
5.4. Comparacin con otros trabajos . . . . . . . . . . . . . . . . . . . . . . . 130

6. Conclusiones 133

A. Transformada de Laplace y funciones de transferencia 139


A.1. Transformada de Laplace . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
A.1.1. Transformada inversa de Laplace . . . . . . . . . . . . . . . . . . 140
A.2. Funciones de Transferencia . . . . . . . . . . . . . . . . . . . . . . . . . . 141

B. System Generator 147


B.1. Blockset de Xilinx en Simulink . . . . . . . . . . . . . . . . . . . . . . . . 148
B.1.1. Xilinx Blockset . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
B.1.2. Xilinx Reference Blockset . . . . . . . . . . . . . . . . . . . . . . 149
B.2. Tipos de Seales en System Generator . . . . . . . . . . . . . . . . . . . . 150
B.2.1. Bloque System Generator . . . . . . . . . . . . . . . . . . . . . . 150

IX
Bibliografa 157

X
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
5.18. Tiempos y Sobreelongacin del controlador PID difuso en la arquitectura 1 127
5.19. Recursos de arquitectura 2 implementada en Artix 7, Spartan 6 y Virtex 5 . 127
5.20. Tiempos y Sobreelongacin del controlador PID difuso en la arquitectura 2 128
5.21. Recursos de arquitectura 3 implementada en Artix 7, Spartan 6 y Virtex 5 . 129
5.22. Tiempos y Sobreelongacin del controlador PID difuso en la arquitectura 3 130
5.23. Comparacin PID con otros trabajos relacionados usando tecnologa Spartan 130
5.24. Comparacin PID difuso con otros trabajos relacionados usando tecnologa
Spartan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
5.25. Comparacin PID difuso con otros trabajos relacionados usando tecnologa
Virtex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

B.1. Bibliotecas de Xilinx Blockset . . . . . . . . . . . . . . . . . . . . . . . . 149


B.2. Bibliotecas de Xilinx Reference Blockset . . . . . . . . . . . . . . . . . . 149

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
4.4. Operacin Integral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.5. Controlador PID implementado en hardware . . . . . . . . . . . . . . . . 61
4.6. Diagrama del controlador PID difuso con la planta . . . . . . . . . . . . . 62
4.7. Funcin de pertenencia triangular . . . . . . . . . . . . . . . . . . . . . . 63
4.8. Funciones de pertenencia de la variable E . . . . . . . . . . . . . . . . . . 64
4.9. Conjuntos difusos de la variable E y CE . . . . . . . . . . . . . . . . . . . 65
4.10. Funciones de pertenencia de entradas (E y CE) y salida (O) . . . . . . . . . 69
4.11. Diagrama del controlador Difuso . . . . . . . . . . . . . . . . . . . . . . . 70
4.12. Respuesta del controlador difuso . . . . . . . . . . . . . . . . . . . . . . . 71
4.13. Pantalla del toolbox fuzzy de MatLab . . . . . . . . . . . . . . . . . . . . . 72
4.14. Variable de entrada error . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.15. Variable de entrada derivada del error . . . . . . . . . . . . . . . . . . . . 73
4.16. Funcin de salida ajustada . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.17. Interfaz de ingreso de las reglas Si-entonces . . . . . . . . . . . . . . . . . 75
4.18. Exportacin del sistema difuso al workspace de MatLab . . . . . . . . . . 75
4.19. PID difuso implementado en Simulink de MatLab . . . . . . . . . . . . . . 76
4.20. Importacin de la variable PIDfuzzy2 . . . . . . . . . . . . . . . . . . . . . 76
4.21. Etapas del mdulo difuso a desarrollar en hardware . . . . . . . . . . . . . 77
4.22. Paso de parmetros desde el editor de MatLab . . . . . . . . . . . . . . . . 78
4.23. Variables en workspace de MatLab . . . . . . . . . . . . . . . . . . . . . . 79
4.24. Representacin grfica de las variables en workspace . . . . . . . . . . . . 80
4.25. Fuzzificacin con paso de parmetros . . . . . . . . . . . . . . . . . . . . 81
4.26. Mdulo fuzzificacin1 de la entrada determinada por el error . . . . . . . . 82
4.27. Selector de activacin del mdulo fuzzificacin1 . . . . . . . . . . . . . . . 83
4.28. Mdulo de fuzzificacin2 de la entrada determinada por la derivada del error 84
4.29. Selector_de_activacin de la etapa 2 de fuzzificacin . . . . . . . . . . . . 85
4.30. Arquitectura propuesta para la base de reglas e inferencia . . . . . . . . . . 85
4.31. Etapa de base de reglas e inferencia . . . . . . . . . . . . . . . . . . . . . 87
4.32. Submdulos llamados selector de reglas de salida . . . . . . . . . . . . . . 88
4.33. Implementacin individual de una regla . . . . . . . . . . . . . . . . . . . 89
4.34. Bloque de reglas para cada conjunto de salida . . . . . . . . . . . . . . . . 90

XIV
4.35. Mtodo Root Sum Square . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.36. Mtodo del centroide o centro de rea . . . . . . . . . . . . . . . . . . . . 92
4.37. Etapas del mdulo PD difuso para arquitectura 1 y 2 . . . . . . . . . . . . 93
4.38. Diagrama final de la arquitectura 1 . . . . . . . . . . . . . . . . . . . . . . 93
4.39. Bloques selector de activacin con y sin paso de parmetros . . . . . . . . 94
4.40. Diagrama final de la arquitectura 1 . . . . . . . . . . . . . . . . . . . . . . 95
4.41. Eliminacin del mtodo RSS . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.42. Defuzzificacin con tres entradas . . . . . . . . . . . . . . . . . . . . . . . 96
4.43. Defuzzificacin con nueve entradas . . . . . . . . . . . . . . . . . . . . . 97
4.44. Etapas del mdulo PD difuso para arquitectura 3 . . . . . . . . . . . . . . 98
4.45. Diagrama final del PID difuso . . . . . . . . . . . . . . . . . . . . . . . . 98

5.1. Repuesta del controlador PID en software . . . . . . . . . . . . . . . . . . 102


5.2. Respuesta del controlador PID difuso en software . . . . . . . . . . . . . . 103
5.3. Respuesta del controlador PID en hardware . . . . . . . . . . . . . . . . . 105
5.4. Respuesta del controlador PID difuso con paso de parmetros y RSS . . . . 106
5.5. Respuesta del controlador PID difuso sin paso de parmetros con RSS . . . 107
5.6. Respuesta del controlador PID difuso sin parmetros sin RSS . . . . . . . . 108
5.7. Comportamiento del error absoluto en PID en SW . . . . . . . . . . . . . . 111
5.8. Comportamiento del error absoluto en el PID difuso en SW . . . . . . . . . 112
5.9. Comportamiento del error absoluto en el PID en HW . . . . . . . . . . . . 113
5.10. Comportamiento del error absoluto en PID difuso en HW . . . . . . . . . . 114
5.11. Diagrama general del PID con ruido . . . . . . . . . . . . . . . . . . . . . 115
5.12. Diagrama general del PID difuso con ruido . . . . . . . . . . . . . . . . . 115
5.13. Diagrama del PID con ruido en software . . . . . . . . . . . . . . . . . . . 116
5.14. Respuesta del PID con ruido en software . . . . . . . . . . . . . . . . . . . 116
5.15. Diagrama del PID difuso con ruido en software . . . . . . . . . . . . . . . 117
5.16. Respuesta del PID difuso con ruido en software . . . . . . . . . . . . . . . 118
5.17. Respuesta de PID y PID difuso con perturbacin . . . . . . . . . . . . . . 119
5.18. Diagrama PID con ruido en hardware . . . . . . . . . . . . . . . . . . . . 120
5.19. Respuesta del PID con ruido en hardware . . . . . . . . . . . . . . . . . . 120

XV
5.20. Diagrama PID difuso con ruido en hardware . . . . . . . . . . . . . . . . . 121
5.21. Respuesta del PID difuso con ruido en hardware . . . . . . . . . . . . . . . 122

A.1. Reglas de lgebra de diagrama de bloques . . . . . . . . . . . . . . . . . . 143


A.2. Funcin de transferencia lazo abierto . . . . . . . . . . . . . . . . . . . . . 143
A.3. Diagrama a bloques de un sistema cerrado . . . . . . . . . . . . . . . . . . 144

B.1. Algunos bloques de utilizados en System Generator . . . . . . . . . . . . . 148


B.2. Parmetros de la opcin Compilation . . . . . . . . . . . . . . . . . . . . . 151
B.3. Parmetros de la opcin Clocking . . . . . . . . . . . . . . . . . . . . . . 152
B.4. Parmetros de la opcin General . . . . . . . . . . . . . . . . . . . . . . . 153

XVI
Captulo 1

Introduccin

En varios campos de la ingeniera se estudia el diseo, implementacin y mantenimien-


to 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 hom-
bre 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 ca-
tegoras: 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 controla-
dores de lazo cerrado s toman en cuenta la respuesta del sistema que controlan y son los

1
2 CAPTULO 1. INTRODUCCIN

ms utilizados. Existen una gran variedad de controladores de lazo cerrado, pero en parti-
cular el controlador clsico ms usado es el denominado controlador PID (Proporcional-
Integral-Derivativo) (Noriega del Castillo, 2011). ste se usa para controlar diversos siste-
mas 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 reconfi-
gurable, 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 cu-
yo 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 deses-
tabilizarse 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 re-
ajustados 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 au-
tomtica de teoremas, resolucin de problemas, mtodos de control y bsqueda, juegos,
3

formalismos y mtodos de representacin del conocimiento, procesamiento del lenguaje


natural, visin por computadora, sistemas expertos y aprendizaje (Munrriz, 1994); al-
gunas de estas tcnicas son utilizadas en el control de sistemas ya que proveen mtodos
adaptativos y cualitativos que mejoran el control clsico.
De esta manera, dado el auge de la IA, existe lo que se conoce como Control Inteligente,
el cual es resultado de la interseccin del Control Automtico, la Inteligencia Artificial y
los Sistemas Informticos Distribuidos de tiempo real. Entre las tcnicas de Inteligencia
Artificial usadas en Control Inteligente destacan: lgica difusa(Moreno et al., 2006), redes
neuronales (Cercs, 2001)y algoritmos genticos(Martnez et al., 2010). Estas tcnicas de
inteligencia artificial se usan en conjuncin a los controladores PID y lo que pretenden es
mejorar las caractersticas ante perturbaciones que posiblemente existen en un sistema real
(Galn et al., 2000). Las mejoras no slo abarcan a temas de inteligencia artificial sino
tambin al uso y exportacin a la plataforma hardware.
Con el avance y el rendimiento que tienen hoy en da las arquitecturas hardware, as
como tambin la reduccin del costo de la tecnologa de alto desempeo, estas arquitectu-
ras se convierten en una opcin ms en el diseo y desarrollo de controladores, por lo que
se hace necesario la exploracin en este rubro para conocer las posibles ventajas de imple-
mentacin que tienen comnmente los algoritmos y mtodos que se exportan de plataforma
software hacia una plataforma hardware.
En la actualidad, el control digital requiere de una alta velocidad de clculo, sobre todo
en las nuevas maneras de controlar procesos como control difuso, control adaptativo, entre
otros (Trimeche et al., 2008). De manera que se pueden usar controladores implementados
en microprocesadores y microcontroladores como en (Kamalasadan and Hande, 2004) en
donde controlan la velocidad de un motor de CD. Adems existen procesadores de alto
rendimiento como los DSP (Digital Signal Processor), los cuales tienen alta velocidad de
clculo, sin embargo la arquitectura interna del DSP no se manipula y por lo que se slo
queda ajustarse a ellos.
De manera que, si se desea mejorar la velocidad de procesamiento, tiempo de ejecucin
y rentabilidad ante una tarea especfica , se opta por otra alternativa mostrada en (Chen
et al., 2009) donde se hace uso de lgica reconfigurable, mediante la implementacin de
controladores en FPGAs (en ingls Field Programmable Gate Arrays). De manera que el
4 CAPTULO 1. INTRODUCCIN

FPGA se ha convertido en una solucin alterna al momento de realizar control de sistemas y


algoritmos complejos, ya que brinda otra perspectiva de funcionamiento y de rendimiento.
Por tal motivo, el desarrollo de arquitecturas hardware en FPGA busca el mejor diseo
y la mejor distribucin de los elementos funcionales que permitan obtener los resultados
excelentes de operacin.
Es importante resaltar que existen diferencias notorias que proveen de ventajas y des-
ventajas al momento de implementar sistemas de control en PC (Personal Computer), mi-
crocontrolador y FPGA. Al momento de usar una PC existe flexibilidad en el diseo de
sistemas de control porque el alto nivel de abstraccin es lo que ayuda en gran medida al
diseador y analista, ya que existen gran cantidad de herramientas de software que mode-
lan, simulan e implementan estos tipos de sistemas. Sin embargo, el consumo de recursos
como energa y rea as como tambin su bajo desempeo cuando se requiere alta capacidad
de procesamiento dejan un uso limitado de la PC en sistemas de control de alto rendimien-
to. Esto hace que sistemas basados en PC se limiten a aplicaciones que no requieran alta
velocidad ni procesamiento paralelo, por lo que comnmente dada a la flexibilidad en el di-
seo desde la PC, sta se utiliza para simular y probar los sistemas antes de implementarlos
en otras plataformas.
Por otra parte, el uso de microcontroladores y microprocesadores es amplio ya que
este tipo de dispositivos ocupan un rea mnima, son baratos, reportan velocidad media
para aplicaciones que no requieren altas prestaciones, as como tambin hay gran oferta de
fabricadores y amplia diversidad de herramientas software que ayudan al desarrollo e im-
plementacin. La desventaja de los microcontroladores y microprocesadores es la forma en
que procesan los datos, ya que ellos lo realizan usando el paradigma de ejecucin secuen-
cial (como las PCs) por lo que el alto desempeo en estos dispositivos no es alcanzado; otra
desventaja es que al tener muchos fabricantes, la portabilidad de cdigo resulta deficiente,
ya que cada fabricante tiene su arquitectura de operacin y sus propias instrucciones.
Hasta el momento se han descrito las PCs y los microprocesadores y/o microcontro-
ladores y se ha dicho que son muy flexibles en el diseo de aplicaciones especificas sin
embargo el costo de esta flexibilidad son las bajas prestaciones en velocidad de procesa-
miento. Por otro lado, existen dispositivos llamados Circuito Integrado para Aplicaciones
Especficas (en ingls ASICs), los cuales realizan una sola tarea asignada y son excelentes
1.1. PLANTEAMIENTO DEL PROBLEMA 5

cuando se requiere un mayor desempeo y velocidad de procesamiento, el inconveniente


con estos dispositivos es que slo se desarrollan para una tarea en especifica por lo que la
flexibilidad en ellos es casi nula. En la bsqueda de un dispositivo que rena las caracters-
ticas de alto nivel de procesamiento y que sea flexible en gran medida, se llega a la decisin
de desarrollar sistemas de control en FPGA.
Los FPGAs son actualmente ms usados en aplicaciones de alto desempeo (Chen
et al., 2009), tomando ventaja del paralelismo del hardware, el cual excede la potencia de
cmputo de los procesadores y los procesadores digitales de seales (DSPs); tambin el
FPGA ofrece flexibilidad, densidad de integracin alta y capacidad de rpido desarrollo
de prototipos en comparacin al diseo personalizado de un ASIC, no obstante la tecno-
loga resulta medianamente costosa y se requieren conocimientos tcnicos para describir
hardware.
Tanto las PCs, microcontroladores y FPGAs tienen ventajas y desventajas, las cuales
deben ser consideradas por el usuario para determinar y desarrollar de manera correcta a
un determinado sistema de control.
Como se ha visto, para controlar sistemas reales como motores de CD se requieren de
controladores, existe una gran variedad de estos ltimos, algunos ya ampliamente estudia-
dos (clsicos) y otros que son basados en Inteligencia Artificial (inteligentes) como los que
utilizan lgica difusa; no obstante se realizan mejoras de los controladores clsicos y de los
controladores inteligentes usando tecnologa de lgica reconfigurable, por tal motivo causa
inters el estudio de estos sistemas de control desarrollados en lgica reconfigurable. Cabe
mencionar que este trabajo se centrar en el desarrollo de controladores clsicos e inteli-
gentes utilizando lgica reconfigurable especficamente los FPGAs, con este desarrollo se
realizar un anlisis y una comparacin entre los controladores PID y PID difuso tomando
en cuenta tiempos de respuesta, recursos utilizados (en arquitecturas Hw) y comportamien-
to ante ruido.

1.1. Planteamiento del problema


Actualmente, las aplicaciones requieren un control con alta velocidad de procesamiento
para obtener una respuesta en tiempo real, sin embargo los controladores implementados
6 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 hard-
ware 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 imple-
mentar 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 utili-
zados (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 difu-
so 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 investiga-
cin 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 en-
torno, 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 7

tecnologa basada en lgica reconfigurable, sta se basa en el uso de dispositivos reprogra-


mables 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 (mo-
tor 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 di-
ficultad 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 obje-
tivos especficos que se esperan cumplir.

1.3.1. Objetivo general


Realizar un anlisis y comparacin de un controlador PID clsico y un controlador PID
difuso en lgica reconfigurable para controlar los motores de corriente directa, analizando
8 CAPTULO 1. INTRODUCCIN

el comportamiento en tiempo de respuesta, recursos utilizados de hardware y comporta-


miento ante ruido.

1.3.2. Objetivos especficos


Analizar y establecer los fundamentos tericos de los sistemas de control, las fun-
ciones 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 (FP-


GAs).

1.4. Hiptesis
El anlisis y comparacin de sistemas de control PID y PID difuso en lgica reconfi-
gurable 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 9

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
Los sistemas de control estn limitados al control de velocidad angular de motores de
corriente directa caracterizados en (Surez., 2006). De este trabajo se extrae la slo
la funcin de transferencia que representa los motores.

Se desarrollar el controlador PID clsico y el controlador PID difuso en software


slo para conocer a grandes rasgos su funcionamiento.

Se implementar el controlador PID clsico y el controlador PID difuso en lgica


reconfigurable (hardware).

El estudio estar limitado a evaluar las implementaciones hardware para el control


de estos motores de CD primero

1.5.2. Metas
Obtener nuevas arquitecturas hardware que estn orientadas al control de motores de
CD.

Evaluar las respuestas de los sistemas de control PID clsico y PID difuso usando
lgica reconfigurable, tomando en cuenta la respuesta en tiempo, recursos usados y
comportamiento ante ruido.

Comparar el mtodo de control PID clsico con el mtodo PID difuso con lgica
reconfigurable.

Con el estudio realizado, contribuir en toma de decisiones de los diseadores de


controladores automticos.
10 CAPTULO 1. INTRODUCCIN

Se espera que se realice un artculo de divulgacin cientfica de las arquitecturas


hardware propuestas en esta investigacin.
Captulo 2

Marco terico

Debido a que este proyecto se relaciona con el control de sistemas por medio de m-
todos 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 au-
tomtica, hasta los sistemas complejos de control de vehculos espaciales, gua de misiles,
navegacin asistida en aviones, robots autnomos, entre otros. Asimismo, el control au-
tomtico 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 presen-
ta 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 pro-
cesos; 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 CAPTULO 2. MARCO TERICO

El control automtico ha sido de vital importancia en el avance de la ingeniera y la


ciencia, los avances en el ramo del control automtico permiten lograr el funcionamiento
ptimo de sistemas dinmicos, mejorar la calidad, abaratar costos, disminuir la complejidad
de tareas manuales, etctera (Prez, 2008).
Los sistemas de control son dinmicos y el tener un conocimiento de la teora de control
proporcionar una base para entender el comportamiento de tales sistemas. El concepto de
control consiste en seleccionar, una entrada que haga responder a la planta de una manera
deseada, esto es que se obtenga una salida con ciertas caractersticas.
A continuacin se define la terminologa necesaria en la teora de control automtico
basado en (Prez, 2008):

Planta se designa a cualquier objeto fsico que pueda ser controlado. Ejemplos de
plantas son el motor, automviles, aviones, electrodomsticos, equipo militar, equipo
mdico, entre otros.

Proceso se define como un conjunto de pasos con una secuencia determinada, que
producen una serie de cambios graduales que llevan de un estado a otro y que tienden
a un determinado resultado final. Se denominar proceso a cualquier operacin que
se vaya a controlar. Ejemplos de procesos son: qumicos, econmicos, biolgicos,
etc.

Sistema es un conjunto de objetos que se relacionan entre s, de manera que constitu-


yen un todo. De otra forma, se puede decir que un un sistema es una combinacin de
componentes que actan conjuntamente con un determinado objetivo a cumplir. La
planta junto con el proceso conforman un sistema, por lo que un sistema de control
es un arreglo de componentes fsicos conectados, de tal manera que el el conjunto de
objetos pueda comandar, dirigir o regular a otro sistema o a s mismo. Estos sistemas
tienen una entrada que se utiliza como excitacin del mismo y tambin una salida
que es una variable del sistema elegida de tal modo que se le utiliza para analizar los
efectos que produjo una excitacin en la entrada.

Los sistemas de control, segn la topologa, se pueden clasificar en los que se denominan
control de lazo abierto y control de lazo cerrado.
2.1. SISTEMAS DE CONTROL 13

Por un lado, en el control de lazo abierto la salida ni se mide ni se retroalimenta para


compararla con la entrada. Los sistemas de control de lazo abierto son sistemas de control
en los que la salida no tiene efecto sobre la seal o accin de control. ver Figura 2.1.

Entrada de
Seal de control Seal controlada
referencia Controlador Planta

Figura 2.1: Sistema de control abierto

La exactitud de los sistemas de lazo abierto depende de la calibracin, pues en la ca-


libracin 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 pertur-
baciones 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 re-
troalimentados); la diferencia entre la seal de entrada y la seal de salida se la denomina
14 CAPTULO 2. MARCO TERICO

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.

+ Seal de error Seal de control Seal controlada


Controlador Planta
-
Seal
retroalimentada
Retroalimentacin

Figura 2.2: Sistema de control retroalimentado

Los sistemas de control retroalimentados se pueden clasificar en diversas formas de-


pendiendo 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 va-
rias 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 fun-
damental 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
2.1. SISTEMAS DE CONTROL 15

segundos hacen referencia al uso de una computadora o controlador digital en el sistema,


de tal forma que las seales estn en cdigo digital o cdigo binario.

Entrada de +
referencia Convertidor Digital/
Computadora Planta
Analgico

-
Convertidor
Analgico/ Digital

Figura 2.3: Sistema de control digital

En especfico, los sistemas de control automtico continuo son aquellos sistemas de


control retroalimentados negativamente, en donde el flujo de seales en todas partes del
sistema es siempre continuo, adems debe aclararse que no hay factor humano que in-
tervenga como parte del sistema. La caracterstica fundamental de un sistema de control
automtico continuo es la comparacin continua entre el valor actual de la variable contro-
lada y el valor deseado de esta variable, la diferencia entre estos valores es llamada error
del sistema. Un sistema de control automtico continuo tiende a eliminar el error a travs
de ajustes convenientes en el sistema, actuando solamente cuando la seal de error tiene
un error finito. En la Figura 2.4 se muestra un diagrama ms detallado de un sistema de
control automtico continuo.

Perturbacin
r(t) e(t) y(t)
m(t)
Regulador o Planta
Amplificacin
Actuador controlada
- b(t)

Elemento de
medicin o bloque
de realimentacin

Figura 2.4: Sistema de control automtico continuo


16 CAPTULO 2. MARCO TERICO

El primer paso importante en el anlisis y diseo de sistemas de control es el modelado


matemtico de los procesos controlados. En el modelado matemtico se describe el sistema
usando ecuaciones integro-diferenciales definidas en el tiempo, as tambin se hace uso
de grficas del comportamiento de los sistemas, de manera que las ecuaciones integro-
diferenciales y las grficas representen el comportamiento dinmico de los sistemas. En
general, dado un proceso controlado, primero se debe definir el conjunto de variables que
describen las caractersticas dinmicas de dicho proceso. Una forma clsica de modelar
sistemas lineales es utilizando funciones de transferencia porque representan la relacin
entrada-salida entre variables. La funcin de transferencia es un mtodo operacional usado
para expresar una ecuacin diferencial ordinaria, lineal y con coeficientes constantes, de
manera que se relaciona la variable de salida del sistema con la variable de entrada (Prez,
2008).
La funcin de transferencia de un sistema invariante en el tiempo se define en el domi-
nio de Laplace como el cociente entre la transformada de Laplace de la salida o respuesta
del sistema y la transformada de Laplace de la entrada o funcin de excitacin, bajo la su-
posicin que todas las condiciones iniciales son cero (Avila, 2011). El mtodo de la trans-
formada de Laplace es una herramienta matemtica utilizada ampliamente para solucionar
ecuaciones ordinarias lineales y es ampliamente usada en la simulacin de sistemas fsicos,
circuitos elctricos y el modelado y anlisis de sistemas de control automtico. Tambin
existe la transformada Z, la cual es la contraparte discreta de la transformada de Laplace
y es la generalizacin en tiempo discreto de la transformada de Fourier. Las propiedades
de la transformada Z son similarmente paralelas a las de la transformada de Laplace, sin
embargo existen importantes diferencias entre la transformada Z y la transformada de La-
place, las cuales surgen de las diferencias fundamentales entre sistemas en tiempo continuo
y en tiempo discreto. Estas herramientas matemticas no son las nicas (Ogata, 2003), ya
que existen otros tipos, aunque para fines de este proyecto, la transformada de Laplace ser
utilizada.
Pasando a otro contexto, en esta tesis se analizar el control de motores de corriente
directa, los cuales estn en muchas aplicaciones hoy en da que requieren alto torque y
determinada velocidad de giro como en elevadores, sistemas de tranva, aviones, silla de
2.1. SISTEMAS DE CONTROL 17

ruedas automticas, maquinaria industrial como tornos, esmeriles y otras aplicaciones. La


descripcin del motor utilizado y de fundamentos tericos es dado a continuacin.

2.1.1. Motores de Corriente Directa


El motor de corriente directa es un dispositivo que convierte la energa elctrica en ener-
ga 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 incon-
veniente 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 em-
bargo 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 CAPTULO 2. MARCO TERICO

(S) KT
G(S) = = 2 (2.1)
Va (S) S Jm La + S (Jm Ra + DLa ) + DRa + KT KE
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:

(S) 4,58 x102


G(S) = = (2.2)
Va (S) 18,67 x109 S2 + 17,68 x106 S + 2,10 x103

2.2. Controladores clsicos


Los controladores comparan el valor de una variable medida (seal de entrada) y el
valor deseado (set point) para producir una seal de salida que mantenga el valor deseado
de la variable y usa la diferencia entre valor deseado y el valor de la salida para manipular
la variable controlada.
Uno de los mtodos para caracterizar el desempeo de los controladores es el uso de
una seal de entrada representada por el escaln unitario, ya que si se conoce esta respuesta,
es posible calcular la respuesta a cualquier otra entrada mediante tcnicas matemticas. Las
especificaciones ms comunes son las siguientes, ver Figura 2.5:

Tiempo de retardo td

Tiempo de subida tr

Tiempo pico t p
2.2. CONTROLADORES CLSICOS 19

Sobreelongacin o sobre impulso MP

Tiempo de asentamiento ts

Figura 2.5: Curva de respuesta ante la funcion escaln

Estos parmetros resultan tiles al momento de medir y comparar los tiempos en la


seal de salida de los diferentes controladores que se realizaran en esta tesis.
En este trabajo se abordarn temas referentes a controladores retroalimentados clsicos
como P, PD, PI y PID hasta controladores basados en tcnicas de inteligencia artificial, para
despus analizar su funcionamiento desde plataforma hardware. En la siguiente seccin se
describirn los mtodos clsicos y posteriormente algnos mtodos inteligentes.

2.2.1. Controlador Proporcional (P)


Este controlador toma su nombre debido que su salida es proporcional a la magnitud
del error y su caracterstica principal es la presencia de offset que indica que el error no se
ha eliminado completamente.
Este tipo de controlador tiene una relacin de su salida u(t) y la seal de error e(t) como
se ve en la ecuacin 2.3:
20 CAPTULO 2. MARCO TERICO

u(t) = k p e(t) (2.3)

O bien, en el dominio de la transformada de Laplace representada por la ecuacin 2.4,


en donde k p se considera la ganancia proporcional.

U(S) = k p E(S) (2.4)

La caracterstica de la proporcionalidad es representada por la ganancia del controlador


k p , con esta ganancia se determina cunto se modifica la salida del controlador con un
cierto cambio de error. Entre las ventajas que tiene este controlador estn la aplicacin
instantnea y la simplicidad de diseo, sin embargo, le falta inmunidad al ruido y tiene un
error permanente (offset).

2.2.2. Controlador Proporcional-Derivativo (PD)


Este controlador agrega una accin derivativa, por lo que la seal de salida es directa-
mente proporcional a la velocidad con que cambia la variable controlada. Este controlador
genera una seal de salida mediante la combinacin de la accin proporcional anteriormen-
te mencionada y la accin derivativa, la ecuacin 2.5 representa este controlador.
 
de(t)
u(t) = k p e(t) + d (2.5)
dt

O bien, representado con la transformada de Laplace, ver ecuacin 2.6:

U(S) = k p {1 + d S} E(S) (2.6)

El valor de d es el tiempo derivativo y corresponde al cambio en el tiempo del error.


El control PD proporciona al sistema una mayor estabilidad que los controladores ante-
riormente mencionados, ya que este controlador tiene una respuesta transitoria con menor
2.2. CONTROLADORES CLSICOS 21

sobreelongacin. El control PD es un control con alta sensibilidad y su desventaja radica


en que amplifica seales de ruido, no obstante tiene la ventaja de usar una accin de control
derivativa la cual responde a la velocidad del cambio del error y produce una correccin
significativa antes de que la magnitud del error se vuelva demasiado grande. Por tanto, el
control derivativo prev el error, iniciando una accin oportuna y tendiendo a aumentar la
estabilidad del sistema.

2.2.3. Controlador Proporcional-Integral (PI)


Una gran cantidad de procesos requieren que se controlen en el punto de referencia y no
se permite desviacin en ellos, por este motivo se introduce la accin integral o de reajuste
por lo que se puede tener un controlador proporcional-integral (PI). La accin integral tiene
como objetivo vencer al offset producido por corregir el tamao del error sin considerar el
tiempo.
La ecuacin 2.7 describe al controlador PI y su trasformada de Laplace es representada
por la ecuacin 2.8:

Z t
kp
u(t) = k p e(t) + e(t) dt (2.7)
I 0

 
1
U(S) = k p 1 + E(S) (2.8)
I S

Siendo k p la ganancia proporcional y I el denominado tiempo integral. Tanto k p como


I son ajustables. El tiempo integral ajusta la accin de control integral, mientras que un
cambio en el valor de k p afecta las partes integral y proporcional de la accin de control.
El inverso del tiempo integral se denomina velocidad de reajuste, la cual es la cantidad de
veces por minuto que se aumenta la parte proporcional de la accin de control.
22 CAPTULO 2. MARCO TERICO

2.2.4. Controlador Proporcional-Integral-Derivativo (PID)


Este controlador es con frecuencia el ms usado y uno de los que ofrecen mayor pre-
cisin 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 ac-
cin 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 pro-
duce. 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.
Z t
kp de(t)
u(t) = k p e(t) + e(t) dt + k p d (2.9)
I 0 dt
Representado con la transformada de Laplace, ver ecuacin 2.10.
 
1
U(S) = k p 1+ + d S E(S) (2.10)
I S
Cabe aclarar que los valores de k p , d , y I representan los mismos valores que ante-
riormente 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 contro-
ladores 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
2.3. CONTROL DIFUSO 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 razo-
namiento 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 proporcio-
nan 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 len-
guaje 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 hu-
mano, ya que cuando se mide una variable y se tiene un valor numrico como salida, poste-
riormente se le pregunta a un experto humano para que evale dicha variable. Los humanos
24 CAPTULO 2. MARCO TERICO

entregan palabras como salidas, las cuales se transmiten a las variables lingsticas, estas
ltimas transforman descripciones vagas en lenguaje natural a trminos matemticos pre-
cisos (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 pertenen-
cia basada en el lenguaje humano.

2.3.2. Conjuntos clsicos o duros y conjuntos difusos


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 determi-
nado 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 simultnea-


mente 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.
2.3. CONTROL DIFUSO 25

La lgica difusa est basada en la teora de conjuntos, en la cual el grado de pertenencia de


un elemento a un conjunto est determinado por una funcin de pertenencia y que puede
tomar cualquier valor dentro del intervalo [0,1].

2.3.3. Funciones de pertenencia


Las funciones de pertenencia representan grficamente un conjunto difuso, el eje X re-
presenta el universo de discurso y el eje Y sita los grados de pertenencia que estn defini-
dos 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 simplici-
dad 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:.





0 ,x a


xa

,a x b
ba
triangular (x; a, b, c) (2.11)
cx



cb ,b x c


0 ,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 CAPTULO 2. MARCO TERICO

Figura 2.6: Funcin triangular en MatLab con la funcin trimf(x,[3 6 8])

Funcin trapezoidal

La funcin trapezoidal se define con la ecuacin 2.12:



0 xa





xa
axb


ba


trapezoidal (x; a, b, c, d) 1 bxc (2.12)


dx

cxd

dc


0 dx

Donde a, b, c y d representan la coordenada del eje horizontal de los vrtices del trape-
cio formado. Un ejemplo de la funcin trapezoidal usando el software MatLab, se ve en la
Figura 2.7.
2.3. CONTROL DIFUSO 27

Figura 2.7: Funcin trapezoidal en MatLab con la funcin trapmf(x,[2 4 6 8])

Funcin Gaussiana

La funcin Gaussiana se define con la ecuacin 2.13.

1 xc 2
gaussiana (x; , a) = e 2 ( ) (2.13)

Donde a corresponde al centro de la campana gaussiana y la anchura de la curva.


La Figura 2.8 representa un ejemplo de esta funcin de pertenencia usando el software
MatLab.
28 CAPTULO 2. MARCO TERICO

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:

1
campana (x; a, b, c) = (2.14)
1 + | xc
a |
2b

Donde a corresponde al vrtice inicial de (eje horizontal), b representa la proporcin en


la anchura de la campana y c representa el centro de la campana (eje horizontal).
Un ejemplo de la funcin campana usando el software MatLab se muestra en la Figura
2.9.
2.4. SISTEMAS DIFUSOS 29

Figura 2.9: Funcin Campana en MatLab con la funcin gbellmf(x, [2 4 5])

Estas funciones de pertenencia son algunas de las ms usadas y el criterio de seleccin


se ha dejado a criterio de los diseadores y expertos en sistemas difusos, cuyo objetivo es
escoger la funcin de pertenencia ptima que proporcione mejores resultados.

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


diciones 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 CAPTULO 2. MARCO TERICO

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. Diseo de sistemas difusos


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. Sistema difuso puro

La configuracin bsica de un sistema difuso puro se muestra en la figura 2.10 (Ortiz


and Liu, 2004), el problema principal con los sistemas difusos puros es que sus entradas
y sus salidas son palabras en lenguaje natural, por lo que no tiene un marco matemtico
de trabajo formal y en la resolucin de problemas de sistemas en ingeniera, las entradas y
salidas son variables representadas con valores reales.

Figura 2.10: Sistema difuso puro


2.4. SISTEMAS DIFUSOS 31

Por lo que su uso en aplicaciones industriales no es recomendado y su uso se centra a


las expresiones lingsticas de las personas.

2.4.1.2. Sistema difuso Mamdani

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

Figura 2.11: Sistema difuso tipo Mamdani

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


mrico 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 perte-
necen 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 CAPTULO 2. MARCO TERICO

el cual se reduce a un punto, el correspondiente al valor preciso de la entrada y tiene grado


de pertenencia mximo. Los restantes puntos del universo no pertenecen al conjunto en
ningn grado. Para ello, se utiliza una funcin de pertenencia doblemente evaluada, ver
ecuacin 2.15:

1 x es x = y Univ
(x) = (2.15)
0 x es x 6= y Univ

Un fuzzificador no unitario produce un conjunto difuso cuyo marco de trabajo contiene


ms de un punto. En estos fuzzificadores, el valor de pertenencia es mximo (x) = 1 para
x = y. Si la variable x se aleja de y, el valor de pertenencia decrece, ver Figura 2.12.

Figura 2.12: Valor de pertenencia del fuzzificador no unitario

Base de reglas

La base de reglas es un conjunto de reglas difusas expresadas en forma lingstica.


Estas expresiones son utilizadas para establecer relaciones causa-efecto entre dos propo-
siciones difusas las cuales son expresadas mediante variables lingsticas y se expresan
generalmente como:

Si proposicinA entonces proposicinB

En la teora de control se estudian estas expresiones con la siguiente forma:

Si A es B entonces C es D
2.4. SISTEMAS DIFUSOS 33

Interpretando la expresin, se observa que la relacin difusa est definida en los do-
minios 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 im-
plicacin difuso. Si el antecedente o el consecuente son proposiciones compuestas, enton-
ces 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 re-
lacin 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 signifi-


cado 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 des-
cribe al conjunto de reglas. El resultado de la composicin es el conjunto difuso que
describe el valor de la salida.
34 CAPTULO 2. MARCO TERICO

Inferencia basada en el disparo individual: En este tipo de inferencia cada regla se


dispara individualmente. El disparo puede interpretarse como el cmputo del grado
de pertenencia que se asigna a la entrada no difusa. Las funciones de pertenencia
son recortadas y basadas en el conjunto difuso que describe el significado de la con-
secuencia de la regla, dado el grado del antecedente que ha sido asociado por la
entrada no difusa. Finalmente, los valores de las funciones de pertenencia recortados
son agregados para formar la salida final.

Otra forma de entender el proceso de inferencia es mediante la generacin de un mapeo para


asignar a una entrada una salida utilizando lgica difusa. El proceso de inferencia provee
las bases para la toma de decisiones del sistema. Este proceso involucra la utilizacin de
funciones de pertenencia y las reglas generadas en la base de conocimiento.
El mtodo Mamdani utiliza reglas tipo Si-entonces. Una regla de la base de reglas o
base de conocimiento tiene dos partes: el antecedente y la conclusin, como se observa en la
Figura 2.13. En un sistema difuso tipo Mamdani tanto el antecedente como el consecuente
de las reglas estn dados bajo la forma de la expresin de la regla.

SI la entrada es baja entonces la salida es alta

Antecedente Consecuente

Figura 2.13: Regla Si-entonces Mamdani

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
2.4. SISTEMAS DIFUSOS 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 de-


fuzzificacin. 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)
i=1
fCOA = (2.17)
l
( 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 procedi-
miento 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 CAPTULO 2. MARCO TERICO

PondB = 0,7

PondC = 0,5

Para realizar el mtodo COA se establece la siguiente formula:

CentroA PondA +CentroB PondB +CentroC PondC


fCOA =
PondA + PondB + PondC
Sustituyendo en la formula

0,275 0,8 + 0,6 0,7 + 0,9 0,5


fCOA = = 0,54
0,8 + 0,7 + 0,5
En la Figura 2.14 tambin muestra grficamente la ubicacin del valor de la salida.

Figura 2.14: Ubicacin grfica del valor de salida usando COA

LOM, SOM y MOM

Estos mtodos de defuzzificacin utilizan el valor mximo del conjunto total resultante.
Ms largo del mximo (LOM) utiliza el valor mximo, el ms pequeo (SOM) utiliza
2.4. SISTEMAS DIFUSOS 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.

Figura 2.15: Ubicacin de SOM, MOM y LOM

Para realizar este mtodo se cuenta con 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 :


38 CAPTULO 2. MARCO TERICO

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 resul-
tante queda dividido en dos regiones cuyas reas son iguales, ver Figura 2.16.

Figura 2.16: Ejemplo grfico de biseccin


2.4. SISTEMAS DIFUSOS 39

Figura 2.17: Sistema difuso tipo Sugeno

Para calcular el rea de las regiones se pueden emplear cualquier mtodo matemtico
que mas convenga, el mtodo de la biseccin no se restringe a una sola frmula.

2.4.1.3. Sistema difuso Sugeno

Los sistemas tipo Sugeno se pueden utilizar para cualquier modelo en el que las funcio-
nes 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.

SI la entrada es baja entonces la salida es F(entrada)

Antecedente Consecuente

Figura 2.18: Regla tipo Si-entonces Sugeno


40 CAPTULO 2. MARCO TERICO

Inferencia: El motor inferenciador de este sistema tiene el mismo funcionamiento


que el sistema difuso Mamdani que se ha explicado anteriormente.

En los sistemas difusos tipo Sugeno, los valores obtenidos de los consecuentes de las dife-
rentes reglas que se han activado ya son valores numricos, por lo que no se necesita una
etapa de defuzzificacin.

2.4.2. Controlador PID difuso


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 (ajus-
tado 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)

Si se realiza una aproximacin lineal en la ecuacin 2.18, se obtiene la ecuacin 2.19.

u(t) = [ke e + kde de + ki ie)] ku (2.19)

Donde e es el error (e = re f erencia salida), de es la derivada del error e ie es la inte-


gral 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 tan-
to, con la ecuacin 2.20 se est representando de manera aproximada el comportamiento
predictivo del controlador difuso junto con la accin integral.
2.4. SISTEMAS DIFUSOS 41

 
kde ki
u(t) = e + de + ie ke ku (2.20)
ke ke
Por otro lado, la ecuacin 2.21 representa al controlador PID ideal:

de 1
Z
u(t) = e + d + e dt (2.21)
dt I
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
= (2.24)
I ke|
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 aplica-
ciones 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 reconfigu-
rable, 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 CAPTULO 2. MARCO TERICO

2.5. Lgica reconfigurable


Existen dos mtodos principales de implementar sistemas reales en la computacin tra-
dicional, 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 efi-
caces 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 ejecu-
tando 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 man-
tiene 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 recur-
sos 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, nor-
malmente se forman sistemas con una combinacin de lgica reconfigurable.
2.5. LGICA RECONFIGURABLE 43

2.5.1. Dispositivos Programables


Al momento de elegir el diseo y cualidades que se desean en un sistema digital se toma
en cuenta la flexibilidad, coste, complejidad y prestaciones. En la figura 2.19 se representa
stas principales aproximaciones involucrando distintos diseos de sistemas.

Figura 2.19: Flexibilidad, coste, complejidad y prestaciones en diseos de sistemas

Se observa que las mejores prestaciones la proporciona un diseo full-custom pero tiene
un costo elevado y una gran complejidad de diseo. Por otro lado, un diseo en software
es ms barata econmicamente y flexible, sin embargo en algunos casos no puede alcanzar
prestaciones altas.
Las otras dos opciones estn caracterizadas por la fabricacin de un sistema digital rea-
lizado mediante un diseo semi-custom, utilizando ya sea clulas estndar o un dispositivo
que se programe como son los FPGAs.
Los dispositivos programables constituyen una buena oferta para realizar diseos elec-
trnicos digitales con un buen compromiso costo-prestaciones y permiten obtener una im-
plementacin en un tiempo de diseo corto.
44 CAPTULO 2. MARCO TERICO

2.5.2. Dispositivo FPGA


Dentro de los dispostivos programables, resalta el FPGA (Field Programmable Gate
Array), introducidas por Xilinx en 1984, + el dispositivo programable por el usuario de
ms general espectro (Vallejo and Rodrigo, 2004). Consisten en una matriz bidimensional
de bloques configurables que se pueden conectar mediante recursos generales de inter-
conexion. Estos recursos incluyen segmentos de pista de diferentes longitudes, ms unos
conmutadores programables para enlazar bloques a pistas o pistas entre s.
La tecnologa FPGA contina siendo impulsada en la actualidad. Se espera que el mer-
cado de FPGAs en todo el mundo aumente de $1,900 millones en el 2005 a $2,750 millones
en el 2010 .
Los FPGA en la industria han sido impulsados por el hecho de que los FPGAs combinan
lo mejor de los ASICs y de los sistemas basados en procesadores. Ofrecen altas velocidades
temporizadas por hardware y fiabilidad, pero sin requerir altos costos que genera un diseo
de ASIC. A diferencia de los procesadores, los FPGAs llevan a cabo diferentes operaciones
de manera paralela, por lo que las tareas no necesitan competir por los mismos recursos.
Cada tarea se asigna a una seccin dedicada del chip y puede ejecutarse de manera autno-
ma. Como resultado, el rendimiento de una parte de la aplicacin no se ve afectado cuando
se agregan otros procesos.

2.5.2.1. Ventajas del uso de FPGAs

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 se-
cuencial 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
2.5. LGICA RECONFIGURABLE 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 progra-


ma. 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 tiem-
po y el precio que implica redisear un ASIC. Los FPGA, al ser reconfigurables, son capa-
ces de mantenerse al tanto con modificaciones a futuro que pudieran ser necesarias. Mien-
tras 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

En el campo de los FPGAs existe una variedad de tecnologas de programacin. Las


ms conocidas son los anti-fuse y las celdas SRAM (Aguirre, 2003). Los anti-fuse estn
normalmente desconectados y se posicionan entre dos cables interconectables. Si se aplica
entre los extremos un voltaje elevado se conectarn los dos cables de forma permanente.
Estos no sirven para sistemas reconfigurables donde los dispositivos deben cambiar cont-
nuamente su programacin.
La mayora de las FPGAs se basan en celdas SRAM programables. Estas celdas realizan
las conexiones entre los cables interconectables y tambin se programan y reprograman una
46 CAPTULO 2. MARCO TERICO

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


dientemente 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 programa-
bles, bloques de memoria de doble puerto, bloques para ejecucin de MACs ( Multiplica-
dor 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 Embed-
ded 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 des-
cartado 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, perfor-
mance 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 mer-
cado 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
2.5. LGICA RECONFIGURABLE 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

La estructura interna de un FPGA esta compuesta por un nmero finito de recursos


predefinidos y con interconexiones programables para implementar un circuito digital re-
configurable.
Los recursos predefinidos se encuentran integrados bsicamente por, ver Figura 2.20:
CLB (Configurable Logic Block): Estos bloques van desde una simple compuerta
hasta mdulos complejos y suelen incluir Flips-Flops (FF) y tablas de consulta (LUT, Look
Up Tables) para facilitar la implementacin de circuitos combinacionales y secuenciales.
Trayectorias de interconexin (Routing Channel): La estructura de interconexin in-
terna en un FPGA consiste en un conjunto de pistas o trazas que pueden conectarse me-
diante elementos de conexin programables.
Bloques entrada/salida (Input/Output). Constituyen una interfaz bidireccional progra-
mable de conexin de entrada/salida y son el medio de comunicacin con perifricos al
FPGA.

Figura 2.20: Componentes de un FPGA


48 CAPTULO 2. MARCO TERICO

El diseo de las arquitecturas generales de un FPGA se encuentran escasamente des-


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


sados 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: con-
trol clsico y control inteligente, estos ltimos estn basados en tcnicas de inteligencia
artificial de lgica difusa.

3.1. Control clsico en software


El controlador relativamente ms fcil de disear e implementar es el control on/off
(Ogata, 2003), sin embargo este tipo de control no es el adecuado para la mayora de
sistemas, es por ello que la mayora de veces se habla de los controladores PID ya que
son muy usados, prcticos y muy efectivos. Una de las ventajas del control es que existe
una gran variedad de tcnicas para llevar a cabo el diseo de los mismos, en este caso se
describe los controladores PID y con un costo barato de implementacin.
Para entender el funcionamiento de los controladores se requiere conocer fundamentos
matemticos, los primeros estudios de sistema de control se basaban en la solucin de
ecuaciones diferenciales por los medios clsicos como la transformada de Laplace y las

49
50 CAPTULO 3. ANTECEDENTES

funciones de transferencia. A continuacin se describirn algunos trabajos realizados con


el uso de la transformada de Laplace y funciones de transferencia.
Cuando se hace uso de la transformada, se dice que se est trabajando en el dominio de
la frecuencia como el trabajo en (Alejo-Gmez, 2011), donde muestran los pasos a seguir
para disear el control de velocidad de un motor de corriente directa empleando ampli-
ficadores operacionales y elementos electrnicos; los valores del modelo matemtico del
controlador son valores ideales de manera que en en el circuito la respuesta de salida no fue
la misma que la obtenida en un simulador, sin embargo la seal cumple con las restricciones
del sistema idealizado.
Otro ejemplo es (Noriega del Castillo, 2011), donde se integr la tecnologa inalmbrica
con el control automtico, de manera tal que el controlador de un proceso se comunic en
tiempo real con los sensores y actuadores mediante una red inalmbrica, En este trabajo se
concluye que el tiempo de muestreo y de la distancia entre los nodos de la red influye en
el tiempo de establecimiento del sistema y su estabilidad, ya que un sistema que realiza un
muestreo tendr ms datos por lo que aumentar su precisin. La distancia entre los nodos
de la red tambin es importante ya que el ruido afectara menos y la seal que se enva no
se distorsionar en gran mediada por el ambiente.
En (Farid and Faruq, 2008) se realiza una simulacin y una investigacin experimental
en el desarrollo del controlador PID utilizando la herramienta de software MatLab y de
una tarjeta de adquisicin de datos; este proyecto resalta sus distintos mtodos de sintoni-
zacin del controlador PID, usa los mtodos de Zeigler Nichols y de prueba y error. Los
trabajos anteriormente mencionados realizan un control analgico mediante el uso de la
transformada de Laplace y funciones de transferencia.
Otra alternativa es realizar un anlisis usando la transformada Z para realizar un contro-
lador digital como en (Castillo, 2009), donde controlan un robot mvil siendo los sistemas
de potencia, alimentacin y control de perifricos los sistemas que adquieren mayor rele-
vancia porque en ellos se centra todo el funcionamiento del robot mvil. Este trabajo resalta
lo importante que son los fundamentos matemticos (transformada Z) necesarios para con-
trolar un robot autmata y de cmo se establecen las variables a controlar mecnicamente,
lgica y elctricamente.
3.2. CONTROL INTELIGENTE EN SOFTWARE 51

En (Toloza, 2011) se realiza un diseo de un control PI para un motor de corriente


continua discreto usando la herramienta MatLab y LabView, en particular este documento
realza los beneficios de trabajar con herramientas software, stas aproximan una ecuacin
la cual representa un comportamiento de datos capturados por una tarjeta de adquisicin de
datos.
Por ltimo, en (Avila, 2011) se presenta el control de velocidad de un motor de corriente
directa utilizando control discreto. En este trabajo se usa un encoder acoplado a un eje de
un motor, el cual se controla mediante PWM (Pulse Width Modulation), la modulacin de
ancho de pulso es una tcnica en la que se cambia el ciclo de una seal peridica para
transmitir informacin a travs de un canal de comunicaciones o para controlar la cantidad
de energa que se enva a una carga.
Con los trabajos anteriores se tienen en cuenta las dos opciones de realizar un contro-
lador: discreto y analgico; se han realizado estudios y anlisis como los que presentan en
(Chojoln, 2007), en donde se presenta comparacin entre la respuesta dinmica de lazos
de control con reguladores tipo PID, en tiempo continuo y en tiempo discreto, tomando co-
mo parmetros de desempeo su respuesta temporal y su respuesta en la frecuencia, al final
se concluye que dada la confiabilidad y bajo costo econmico de los sistemas digitales, los
reguladores digitales han sustituido o sustituirn a sus semejantes analgicos.
Los controladores clsicos, ya sean analgicos o digitales son los ms usados en la
actualidad aunque en ocasiones este tipo de controladores no resultan ser estables ante
perturbaciones y cambios, por lo que el uso de tcnicas basadas en inteligencia artificial
se ha ido incrementado. En la siguiente seccin se presentarn algunos trabajos que se
realizaron usando tcnicas inteligentes sobre plataforma software.

3.2. Control inteligente en software


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

El uso de lgica difusa en el campo de control es variado, se implementa el sistema de


controlen dos formas:

1. Uso de reglas difusas solamente.

2. Uso de un PID mejorado con lgica difusa.

El uso de la lgica difusa con solamente reglas se ejemplifica en (Coronel Lemus, 2004),
ya que se presenta el desarrollo de un controlador difuso de la velocidad de un motor de
CD usando el mtodo de inferencia de Mamdani. Se especifica el conocimiento en forma
de reglas lingsticas, estas reglas estn definidas de forma que describen los estados de
las variables en conjuntos difusos, el controlador difuso realizado en este proyecto tuvo un
mejor tiempo de respuesta en comparacin a un PID clsico explicado en el mismo trabajo.
Por otra parte, los controladores PID pueden ser mejorados con el uso de control de
lgica difusa como en (Morata Palacios, 2009) en el cual se desarroll una implementacin
basado en software Simulink de MatLab de un modelo que utiliza un controlador fuzzy
PD+I para estabilizar el funcionamiento de un cuadrotor. El autor de este documento realza
en gran medida el conocimiento del experto del humano para establecer un mtodo difuso,
siempre tomando en cuenta la relacin de estabilidad, precisin y velocidad de respuesta.
Otra investigacin es mostrada en (Rodrguez and Liu, 2004), presentando una imple-
mentacin en tiempo real de un control PD-Difuso que logra estabilizar un sistema en lazo
cerrado de una barra esfera. El control PD-Difuso presenta un error de posicin peque-
o comparado con el control clsico PD, donde el control difuso se utiliza como trmino
compensador de efectos gravitacionales y otras no linealidades.
Un trabajo similar es (Moreno et al., 2006), el cual presenta el diseo de un controla-
dor PID difuso, a partir de la sintona de un controlador PID convencional; este proceso de
control es para la regularizacin del proceso de activacin del carbn en un horno rotatorio.
Los resultados obtenidos fueron que el controlador PID difuso presenta oscilaciones ms
leves en la respuesta ante los cambios de escaln y en las variaciones ante las perturbacio-
nes, en cambio, el PID clsico exhibi un tiempo de levantamiento menor ante el cambio
escaln en la referencia.
Por ltimo, en (Garrido et al., 2006) proponen un control proporcional con una tcnica
de compensacin adaptativa basada en lgica difusa. El enfoque se basa principalmente en
3.3. CONTROL CLSICO EN HARDWARE 53

la teora de estabilidad de Lyapunov y lgica difusa que se compara con un controlador PI


clsico.
En la siguiente seccin se abordar lo relacionado con trabajos que realizan estudios e
implementaciones acerca de control clsico en hardware.

3.3. Control clsico en hardware


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 Spar-
tan 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 siste-
ma 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 mo-
delado 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 con-
troladores 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 controlado-
res 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 con-
trolador 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 sis-
temas 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. Control inteligente en hardware


Como se coment anteriormente, actualmente se han implementado tcnicas de control
con tcnicas de inteligencia artificial como lgica difusa, presentado en (Grisales et al.,
2001), este artculo presenta el desarrollo de un controlador difuso PD basado en FPGA, la
inferencia se lleva a cabo por medio de una Look Up Table de 256 posiciones. El sistema ha
sido especificado empleando el lenguaje VHDL integrando la arquitectura del controlador
en un solo IC (Cicuito Integrado). La arquitectura del controlador implementada sobre el
dispositivo reconfigurable, segn el autor le da una naturaleza abierta para futuros cambios.
3.4. CONTROL INTELIGENTE EN HARDWARE 55

En (Chen et al., 2009) se realiza un control difuso implementado en arquitectura hard-


ware, el cual resuelve el problema de control preciso de un sistema no lineal con un contro-
lador 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 usan-
do 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 res-
puesta 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 comu-
nicacin 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
En esta bsqueda de trabajos relacionados se han encontrado algunos trabajos de lgica
difusa con FPGA, por lo que se espera que en un futuro exista una documentacin ms
amplia sobre este tema de estudio ya que resulta interesante para el estudio de control. Por
ltimo, respecto a los trabajos relacionados seleccionados en esta investigacin se conclu-
ye que existen diversas maneras de realizar control de sistemas, en especfico, controlar
motores de CD. El trabajo relacionado ha establecido las bases que ayudarn a analizar
y realizar controladores en software y hardware de manera clsica y usando lgica difu-
sa. Asimismo, el trabajo relacionado facilitar la implementacin de nuevas arquitecturas
hardware proporcionando conocimiento previo y experiencia de otros autores.
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 controlado-
res:

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 hard-
ware, las cuales son Simulink de MatLab 2012a junto con System Generator (SysGen),

57
58 CAPTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

anteriormente mencionado (verB apndice B). SysGen cuenta con una opcin llamado Ti-
ming 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


En esta seccin se describir la implementacin software y la implementacin hardware
del controlador PID. Como se ha descrito anteriormente el controlador PID cuenta con tres
acciones: proporcional, integral y derivativa. En la Figura 4.1se muestra el controlador
conectado a un planta que podra ser un horno, una vlvula o un motor de CD, entre otros
distintos procesos.

Seal de control
Entrada de Seal de error Gp P
+
referencia + + Seal controlada
Gi I Planta
- +
Gd D

Seal
retroalimentada
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 Pro-


porcional, Integral y Derivativa, por lo que al sintonizar se deben proporcionar estas ga-
nancias 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
4.1. CONTROLADOR PID 59

a otros basados en la respuesta transitoria del controlador. Se prev que en un futuro se


haga uso de mtodos ms complejos como ZieglerNichols, esto con el fin de optimizar el
funcionamiento del controlador. El cambiar el mtodo de sintonizacin slo proporciona
los valores de las ganancias, por lo que no afecta el diseo de las arquitecturas SW/HW
que se proponen.

4.1.1. Desarrollo en software del controlador PID


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

4.58e-2
du/dt 0.0005 18.67e-9s2 +17.68e-6s+2.10e-3 Scope2

Step Derivative1 Gain2 Transfer Fcn3

1
3
s
Integrator1 Gain3

Figura 4.2: Controlador PID y planta en software

La entrada de referencia es representada por una funcin escaln establecida en el valor


numrico de 24; otros bloques analgicos mostrados son un derivative e intregrator, los
cuales representan la accin integral y derivativa del controlador PID afectados cada uno
por una ganancia, al final se suman con la accin proporcional y la suma de las tres acciones
forman la entrada de la planta. La salida obtenida al final de la planta ser mostrada en el
Captulo 5 de Resultados.
60 CAPTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

4.1.2. Desarrollo en hardware del controlador PID


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)

n
Integralerror = ie = errori (4.2)
i=0

Para realizar el clculo de la derivada en lgica reconfigurable se necesitan dos seales


de error, la diferencia entre stas es que una est retrasada en el tiempo respecto a la otra;
para realizar este retraso es necesario utilizar un registro, tal como se ve en la Figura 4.3.

1 In1
Operacin Deriv ada
Error Derivada del
a error = de
a -b 1
b Out1
d z-1 q AddSub5
Error
anterior
Register1

Figura 4.3: Operacin derivada

Por otra parte, para el clculo de la integral en lgica reconfigurable se necesita la seal
del error solamente, sta se retroalimenta en un sumador para que realice una sumatoria;
para realizar esta retroalimentacin se utiliza un registro tal como se ve en la Figura 4.4.
4.1. CONTROLADOR PID 61

Operacin Integral

Error
1 a Integral del error = ie
In1 a+b 1
b Out1

AddSub2
Register2
Convert4

cast q z-1 d
ie
previo

Figura 4.4: Operacin Integral

El diagrama completo es mostrado en la Figura 4.5, ntese que las tres acciones (P, I
y D), estn afectadas por una ganancia cada una. Por otro lado se resalta el uso del bloque
cast (bloque de SysGen) que sirve para establecer un tamao fijo de bits en las entradas
de los sumadores y la consecuencia de no usarlos es que el tamao de bits en la entrada
crecera con cada retroalimentacin, por lo cual no se tendra una arquitectura fija.

PROPORCIONAL
x 0.01199 cast
a
Convert a+b Scope2
INTEGRAL CMult
b
AddSub1

In a a Gateway Out
a+b x 0.009995 cast a a+b 4.58e-2
Gateway In a-b b Out
Step b 18.67e-9s2 +17.68e-6s+2.10e-3
b AddSub2 Convert1
AddSub3
q

CMult2 Transfer Fcn1


z-1 Register3 AddSub Convert4 Register2
d

cast q z-1 d

DERIVATIVO
a
a-b x 0.004501 cast
d z-1 q b
Convert2
Register1 AddSub5 System
CMult1 Generator

Figura 4.5: Controlador PID implementado en hardware

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 CAPTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

4.2. Controlador PID difuso


La arquitectura hardware del controlador PID difuso tiene en especfico la forma
FPD+I, que como se ha comentado la parte difusa esta relacionado con las acciones propor-
cional y derivativo, sumndose con la parte integral. El diagrama del controlador anexando
la planta es el que se muestra en la Figura 4.6.

Seal de
e Ke E
control Seal
u U controlada

Ku
PD RULES Planta
ce CE
Kde

Z-1
ie IE
Ki
Z-1
Seal
retroalimentada
Retroalimentador

Figura 4.6: Diagrama del controlador PID difuso con la planta

Como se ve en la Figura anterior se nota que el clculo de la accin integral y derivativa


esta basado en los diagramas 4.3 y 4.4.
Una vez conocido el modelo a seguir se decidi desarrollar el mdulo difuso. Prime-
ramente se deben de definir los conjuntos difusos en base a una funcin de pertenencia, la
funcin que se elige depende de los datos de entrada y el comportamiento que se necesite
en los sistemas difusos.
sin embargo, hay ciertas funciones que son ms frecuentemente usadas debido a su
simplicidad matemtica, entre ellas estn las funciones del tipo triangular, trapezoidal, pa-
rablicas y Gaussianas. Este proyecto se enfoca en el uso de funciones triangulares ya que
son las ms simples de implementar computacionalmente y son muy usadas cuando se rea-
lizan controladores difusos. La funcin de pertenencia de un elemento x se puede calcular
usando la ecuacin para funciones triangulares, ver ecuacin 4.3.
4.2. CONTROLADOR PID DIFUSO 63


xa


ma a<x<m


bx

m<x<b
bm
triangular (x, p1 , p2 , p3 ) = (4.3)



0 x<aox>b


1 x=m

Donde a es el vrtice ms a la izquierda y junto con b que es el vrtice mas a la derecha


representan el valor mnimo dentro de la funcin de pertenencia, por otro lado m es el
centro de la base del tringulo y representa el mximo valor del funcin de pertenencia, ver
Figura 4.7.

Figura 4.7: Funcin de pertenencia triangular

Entradas y salidas

Los controladores difusos comnmente hacen uso de la informacin de entrada del error
(E) y la derivada del error (CE). Para cada entrada se establece funciones de pertenencia
triangulares que como se ha dicho son las ms simples y fciles de implementar compu-
tacionalmente. Adems, se establece la funcin de pertenencia para la nica salida, a la que
se denominar como O.
Se establecen que los conjuntos de entrada y de salida son representados por funciones
de pertenencia de forma triangular ya que al trabajar con ella resulta ms sencillo, as
tambin el costo computacional al implementarlas es aceptable.
Las variables de entrada E y CE, y la variable de salida O se conformarn cada una por
tres conjuntos: negativo (N), cero (Z) y positivo (P). Inicialmente se establecen los mismo
64 CAPTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

valores en sus funciones de pertenencia. En la Figura 4.8 se muestran las funciones de


pertenencia de las variables de entrada E y CE y de la variable de salida O. Los valores de
las funciones depertenencia (triangulares) se ajustan en la sintonizacin del sistema.

Figura 4.8: Funciones de pertenencia de la variable E

Cabe mencionar que los conjuntos de cada variable antes vistos se usan inicialmente
y no son los finales, posteriormente se tienen que ajustar en el rango de operacin para
obtener una respuesta satisfactoria.

Fuzzificacin

Como se ha descrito anteriormente en este paso se transforma un valor numrico a un


valor difuso, como se ha definido anteriormente. Se utilizaron funciones de pertenencia
triangulares descritas por la ecuacin 4.3 y se puede observar que las dos entradas cuentan
con tres conjuntos difusos de la misma forma y rango, ver Figura 4.9.
4.2. CONTROLADOR PID DIFUSO 65

Figura 4.9: Conjuntos difusos de la variable E y CE

Por tal motivo, las siguientes frmulas servirn para las dos entradas. Para el conjunto
difuso que representa N se utiliza la ecuacin 4.4; para el conjunto difuso que representa Z
se utiliza la ecuacin 4.5 y 4.6, por ltimo para el conjunto P se utiliza la ecuacin 4.7.

bN x
N= (4.4)
bN mN

x aZ
Z1 = (4.5)
mZ aZ

bZ x
Z2 = (4.6)
bZ mZ

x aP
P= (4.7)
mP aP
66 CAPTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

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.

Conjunto N Conjunto Z Conjunto P


Entrada E NentradaE ZentradaE PentradaE
Entrada CE NentradaCE ZentradaCE PentradaCE
Salida O Nsalida Zsalida Psalida
Cuadro 4.1: Nomenclatura usada en los conjuntos de entrada y de salida

Base de reglas e Inferencia

El nmero de reglas depende de la cantidad de conjuntos en las entradas, un mayor nmero


de conjuntos en las entradas hacen ms reglas y brindan mayor precisin sin embargo hacen
el proceso de inferencia ms complejo ya que se implementan ms reglas. Por tal motivo
se busca obtener un equilibrio entre la cantidad de reglas que determinan la precisin del
sistema y la complejidad para realizar la inferencia. En este trabajo de tesis, se propone
usar tres conjuntos en cada variable de entrada de manera que se obtienen nueve reglas, con
nueve reglas se realiza un buen control, adems de que es su factibilidad implementarlas en
hardware es factible (un trabajo futuro es explorar el uso de mayor cantidad de reglas).
Por lo tanto la representacin de las reglas en esta tesis es la que se muestra en el Cuadro
4.2.

E/CE NentradaCE ZentradaCE PentradaCE


NentradaE Nsalida Nsalida Zsalida
ZentradaE Nsalida Zsalida Psalida
PentradaE Zsalida Psalida Psalida
Cuadro 4.2: Reglas difusas

La inferencia de las reglas antes representadas consiste en el cruce de un conjunto de


entrada E con otro conjunto de entrada CE, de este cruce se toma el valor menor de los
conjuntos E o CE, ver el cuadro 4.3.
4.2. CONTROLADOR PID DIFUSO 67

No. E op. CE O O
1 Si NentradaE < NentradaCE entonces Nsalida = NentradaE sino Nsalida = NentradaCE
2 Si NentradaE < ZentradaCE entonces Nsalida = NentradaE sino Nsalida = ZentradaCE
3 Si NentradaE < PentradaCE entonces Zsalida = NentradaE sino Zsalida = PentradaCE
4 Si ZentradaE < NentradaCE entonces Nsalida = ZentradaE sino Nsalida = NentradaCE
5 Si ZentradaE < ZentradaCE entonces Zsalida = ZentradaE sino Zsalida = ZentradaCE
6 Si ZentradaE < PentradaCE entonces Psalida = ZentradaE sino Psalida = PentradaCE
7 Si PentradaE < NentradaCE entonces Zsalida = PentradaE sino Zsalida = NentradaCE
8 Si PentradaE < ZentradaCE entonces Psalida = PentradaE sino Psalida = ZentradaCE
9 Si PentradaE < PentradaCE entonces Psalida = PentradaE sino Psalida = PentradaCE

Cuadro 4.3: Inferencia de las Reglas del controlador PID difuso

Una vez definidas las reglas y de saber cmo se van a inferir para obtener una salida
cada una, el paso siguiente es calcular la fuerza de disparo de cada conjunto de salida
usando la RSS (Root Sum Square), ver ecuacin 4.8.
q
RSS = k12 + k22 + k32 + k42 + + kn2 (4.8)

Donde RSS es la suma de los cuadrados de ki para posteriormente obtener la raz cua-
drada; 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 Reglas pertenecientes


Nsalida 1, 2 y 4
Zsalida 3, 5 y 7
Psalida 6, 8 y 9
Cuadro 4.4: Reglas difusas

En forma directa y en base a la Cuadro 4.4 se establecieron las siguientes ecuaciones


4.9, 4.10 y 4.11. Donde Ri representa la salida de cada regla.
68 CAPTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

q
Nsalida = R21 + R22 + R24 (4.9)

q
Zsalida = R23 + R25 + R27 (4.10)
q
Psalida = R26 + R28 + R29 (4.11)

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 (4.12)
N
i=1 F pi
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 poste-
riormente, 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. CONTROLADOR PID DIFUSO 69

4.2.1. Desarrollo en software del controlador PID difuso


Debido a que el controlador PID difuso es la combinacin de los controladores PID y
Difuso. Se debe tambin revisar el controlador difuso ya que el controlador PID ya se ha
revisado, para fines demostrativos la implementacin ser en SW. Se definen las funciones
de pertenencia de entrada y de salida, ver figura 4.10.

Figura 4.10: Funciones de pertenencia de entradas (E y CE) y salida (O)

Una vez establecidos se establece la arquitectura del controlador difuso, ver Figura
4.11.
70 CAPTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

Proporcional
4.58e-2
Step
Scope2
18.67e-9s2 +17.68e-6s+2.10e-3
Derivativo Fuzzy Logic
Transfer Fcn1
voltajeController1
1-z-1
1
Discrete Filter

Figura 4.11: Diagrama del controlador Difuso

Cabe mencionar que el controlador difuso solo usa dos acciones: proporcional y deri-
vativo debido a que el uso de tres acciones genera una inferencia compleja y poco prctica.
Adems de todo lo anterior, el diagrama del controlador difuso no cuenta con ganancias en
las acciones proporcional y derivativo.
El resultado de la simulacin del controlador difuso es visto en la Figura 4.12. En donde
el valor de referencia es la funcion escalon establecido en 24.
4.2. CONTROLADOR PID DIFUSO 71

Figura 4.12: Respuesta del controlador difuso

En este controlador los conjuntos se ajustaron lo mejor posible sin embargo se tiene un
amplio offset, en estos casos es preferible que se realice un control PID difuso ya que con
el la modificacion de ganancias de este controlador se puede eliminar este offset.
Conocidos los fundamentos para realizar un controlador PID difuso, se procede a reali-
zar su desarrollo en software. Actualmente, existe una herramienta software especializada
que realiza clculos de la fuzzificacin, inferencia y defuzzificacin. Esta herramienta per-
mite el ingreso de las variables de entrada (en forma de funciones de pertenencia) y la
especificacin de las reglas. La herramienta software que realiza todo esto es el tool box
fuzzy de MatLab, ver Figura 4.13.
72 CAPTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

Figura 4.13: Pantalla del toolbox fuzzy de MatLab

En este proyecto de MatLab se necesitan las dos variables de entrada, el error y la deri-
vada del error, por lo que se definen sus funciones de pertenencia las cuales son mostrados
en la Figura 4.14 para el error y en la Figura 4.15 para la derivada del error.
4.2. CONTROLADOR PID DIFUSO 73

Figura 4.14: Variable de entrada error

Figura 4.15: Variable de entrada derivada del error


74 CAPTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

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.

Figura 4.16: Funcin de salida ajustada

Posteriormente, se ingresaron las nueve reglas del Cuadro 4.3 como se muestra en la
Figura 4.17.
4.2. CONTROLADOR PID DIFUSO 75

Figura 4.17: Interfaz de ingreso de las reglas Si-entonces

Una vez definidas las reglas, el proyecto se exporta al workspace de MatLab para su
posterior utilizacin en Simulink. Se le asigna un nombre como una variable y en este caso
se le nombr PIDfuzzy2, El proceso anterior es mostrado en la Figura 4.18.

Figura 4.18: Exportacin del sistema difuso al workspace de MatLab

Se procede a implementar el controlador en Simulink, por lo que se introduce el blo-


que Fuzzy Logic Controller de un controlador PID conectado a una planta anteriormente
descrito, como muestra la Figura 4.19.
76 CAPTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

0.0645
4.58e-2
1
Step2 Gain1 18.67e-9s2 +17.68e-6s+2.10e-3
Gain Scope2
Fuzzy Logic
du/dt 0.0078 Transfer Fcn1
Controller
Derivative Gain2

1
2
s
Integrator Gain3

Figura 4.19: PID difuso implementado en Simulink de MatLab

Igualmente, como en el desarrollo del PID en software, se hace uso de los bloques
Derivative e Integrator, cuya funcin es realizar la derivada y la integral del error.
Una vez conectado el bloque Fuzzy Logic Controller se importa la variable PIDfuzzy2
desde el workspace de MatLab como se muestra en la Figura 4.20.

Figura 4.20: Importacin de la variable PIDfuzzy2

La sintonizacin que se realiz en este controlador fue inicialmente el mtodo de la


subseccin 2.4.2 y fue finalizado con el mtodo de prueba y error, teniendo en cuenta las
ganancias del controladores PID y las funciones de pertenencias de la parte difusa.
4.2. CONTROLADOR PID DIFUSO 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. Desarrollo en hardware del controlador PID difuso


Una vez conocidos los pasos para realizar un controlador PID difuso, se procede a rea-
lizar, primeramente, el mdulo difuso cubriendo cada una de las etapas mostradas en la
Figura 4.21, para posteriormente introducirlo a un controlador PID desarrollado anterior-
mente en hardware en la subseccin 4.1.2.

Figura 4.21: Etapas del mdulo difuso a desarrollar en hardware

La Figura anterior tambin representa los mdulos a desarrollar utilizando la herra-


mienta Simulink de MatLab 2012a junto con la herramienta denominada System Generator
14.2.
En este proyecto se han desarrollado tres arquitecturas:

Arquitectura 1: PID difuso con paso de parmetros y con RSS.

Arquitectura 2: PID difuso sin paso de parmetros y con RSS.

Arquitectura3: PID difuso sin paso de parmetros y sin RSS.

Cada arquitectura contiene los mdulos difusos fuzzificacin, defuzzificacin y base de


reglas e inferencia, en la fuzzificacin se establecer como se tratara el valor de entrada,
en el modulo base de reglas e inferencia se mostraran cmo se combinan los valores de
entradas tomando en cuenta los conjuntos difusos y por ultimo, en la Defuzzificacin se
describir como obtener un valor numrico a partir de la inferencia realizada.
78 CAPTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

A continuacin se describe cada arquitectura y el desarrollo de cada etapa del controla-


dor PID difuso en hardware.

Arquitectura 1

Es conveniente tener flexibilidad en el sistema ya que en un futuro se pretende genera-


lizar 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 com-
binacin 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.

Figura 4.22: Paso de parmetros desde el editor de MatLab


4.2. CONTROLADOR PID DIFUSO 79

Figura 4.23: Variables en workspace de MatLab

En las lineas de cdigo se especifican los rangos de los conjuntos de las variables de
entrada y los de salida, en total se guardan el workspace 17 variables, de las cuales 14 son
asignadas para las variables de entrada E y CE utilizadas en la etapa de fuzzificacin, y
otras 3 para la variables de la salida O utilizada en la etapa de defuzzificacin, ver Figura
4.24.
80 CAPTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

Figura 4.24: Representacin grfica de las variables en workspace

Establecidos los rangos y las variables que los representan, se procede a describir los
submdulos difusos antes mencionados: fuzzificacin, base de reglas e inferencia y defuz-
zificacin.

Fuzzificacin

En el desarrollo de la parte difusa se deben disear dos mdulos de fuzzificacin, una para
la variable error y otra para la derivada del error. Debido a que las dos variables tienen los
mismos conjuntos y las mismas funciones de pertenencia, esto permite replicar el mdulo
de fuzzificacin para las dos variables. Se propone una arquitectura fuzzificacin basada en
el diagrama de la Figura 4.25.
4.2. CONTROLADOR PID DIFUSO 81

Figura 4.25: Fuzzificacin con paso de parmetros

La etapa de la fuzzificacin tiene una entrada denominada x, la cual es el valor que se


va a convertir de un valor numrico a un valor difuso, tambin consta de cuatro operaciones
importantes, los cuales se basan en las ecuaciones 4.4, 4.5, 4.6 y 4.7. Adems de las cuatro
operaciones que se realizan en esta arquitectura, se cuentan con selectores de operacio-
nes vlidas, los cuales estarn encargados de que en la salida del mdulo de fuzzificacin
haya valores vlidos segn el rango de la variable x, por otra parte, las dems variables
representadas son los rangos de la entrada.
Teniendo el diagrama anterior como modelo, se desarrolla el primer mdulo asociado
a la variable error, ver Figura 4.26.
82 CAPTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

Out1 [NEG]
Goto
Out2 [SEL2]
In1 Goto1
Out5 [ZERO]
Goto3
Out4 [POS]
[SEL2]
Goto2
Selector From5
de activacin
c1 In
a
sel
From Gateway In6 cast x
a-b
c1 In Workspace7
a b
1 Convert9
From Gateway In b1 In
a -b cast
In1 x AddSub2
Workspace1 NEGATIVO z -29 y/x
div
b From Gateway In7 0 d0
Convert1
a1 In Workspace8
Constant
AddSub4 z -28 y/x
div cast d a ZERO1
From Gateway In1
z-1 q 1 y
Workspace2 a-b cast
Convert2 en Out1 b1 In cast d1 d
c1 In a b
y Convert10 z-1 q 3
Gateway In2 cast Register From Gateway In8 Convert4 en
From a -b [NEG] 4 AddSub1 Out3
Workspace6 CORDIC DIVIDER2
Workspace b Convert6 Out4 Register2
From6
CORDIC DIVIDER ZERO2 cast d2
AddSub
Convert5

e1 In a d1 a
cast In
From Gateway In3 a-b cast x 0 d3
x a-b
b POSITIVO From Gateway In9 b
Workspace4 Convert7
Workspace10 Convert11 Constant1
AddSub5
c1 In c1 In AddSub7 z -29y/x
div
z -29 y/x
div cast d
Mux
From Gateway In4 From Gateway In10
z-1 q 2
Workspace5 Convert3 Workspace11
en Out2 y
a y [ZERO]
d1 In a 6
a-b cast Register1
5 cast Out6
c1 b
[POS] From Gateway In11 b a - b From1
In Out5
Convert8 Workspace9 CORDIC DIVIDER3
From Gateway In5 AddSub3 Convert12
CORDIC DIVIDER1 From7 AddSub6
Workspace3

Figura 4.26: Mdulo fuzzificacin1 de la entrada determinada por el error

Se destaca el uso de un bloque de SysGen llamado FromWorkspace, este bloque obtiene


un valor guardado en el workspace de MatLab y lo importa a Simulink para que se use junto
con los bloques de ste.
Adems, en la arquitectura propuesta se muestran cuatro divisores que utilizan el al-
goritmo CORDIC, adems de la divisin, este algoritmo se usa para el clculo de races
cuadradas, senos, cosenos y otras funciones. El algoritmo de CORDIC se basa principal-
mente en sumas y desplazamientos de bits. Otro elemento importante es el multiplexor del
conjunto de salida Zsalida , cuya funcin es elegir solamente una salida vlida de las opera-
ciones Z1 y Z2 , de las ecuaciones 4.5 y 4.6 respectivamente. Su funcionamiento consta de
4 casos:

Caso 1: El valor de x no est dentro del conjunto Zsalida , en la salida pone 0.

Caso 2: El valor de x est dentro del conjunto Zsalida , se activa la operacin Z1 y pone
en la salida el valor de Z1 .
4.2. CONTROLADOR PID DIFUSO 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 m-


dulo 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
a1 In a z-1 N
ab
-1 From Gateway In b
b1 In a za and 1
b Workspace1
b Z1 Relational Out1
From Gateway In1
Workspace2 and
Relational2 a z-1 Logical
b a<b
a11 In
a -1
z Logical1 Relational1
a<b From Gateway In4
b
Workspace5
c1 In Relational3 or 3
Gateway In5 Out5
From e11 In a
Logical4
Workspace6 z-1 P
From Gateway In7 a<b
c1 In a b
-1 Workspace8
z Z2
From Gateway In6 ab
b Relational4 and 4
Workspace7
Relational6 Out4
a
and z-1
hi ab Logical2
a
z-1 lo } 2
e1 In b
d1 b ab Logical3 Out2
In Gateway In3
Concat1 From Relational5
From Gateway In2 Relational7 Workspace4
Workspace3

Figura 4.27: Selector de activacin del mdulo fuzzificacin1

Este mdulo consta de bloques relacionales, los cuales sirven para saber si el conjunto
de entrada (Nentrada , Zentrada y Pentrada ) del cual pertenece la variable error o derivada
del error se ha activado. El conjunto Zentrada se analiza en dos partes expresadas por las
operaciones Z1 y Z2 .
Para el conjunto Zentrada se debe conocer si el conjunto se ha activado y conocer que
parte se ha activado Z1 o Z2 . Para responder al primer cuestionamiento basta emplear una
compuerta OR y para responder el segundo cuestionamiento se emplea el cdigo 01 para
84 CAPTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

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.

Out1 [NEG]
Goto
Out2 [SEL2]
In1 Goto1
Out5 [ZERO]
Goto3
Out4 [POS]
[SEL2]
Goto2
Selector From5
de activacin
c2 In
a
sel
From Gateway In6 cast x
a-b
c2 In Workspace7
a b
1 Convert9
From Gateway In b2 In
a -b cast
In1 x AddSub2
Workspace1 NEGATIVO z -29 y/x
div
b From Gateway In7 0 d0
Convert1
a2 In Workspace8
Constant
AddSub4 z -28 y/x
div cast d a ZERO1
From Gateway In1
z-1 q 1 y
Workspace2 a-b cast
Convert2 en Out1 b2 In cast d1 d
c2 In a b
y Convert10 z-1 q 3
Gateway In2 cast Register From Gateway In8 Convert4 en
From a -b [NEG] 4 AddSub1 Out3
Workspace6 CORDIC DIVIDER2
Workspace b Convert6 Out4 Register2
From6
AddSub CORDIC DIVIDER ZERO2 cast d2

Convert5

e2 In a
d2 In a
cast cast x 0 d3
From Gateway In3 a-b x a-b
Workspace4
b POSITIVO From Gateway In9 b
Convert7 Constant1
Workspace10 Convert11
AddSub5
c2 In c2 In AddSub7 z -29y/x
div
z -29 y/x
div cast d Mux
From Gateway In4 From Gateway In10
Workspace5 z-1 q 2
Convert3 Workspace11
en Out2 y
a y [ZERO]
d2 In a 6
a-b cast Register1
5 cast Out6
c2 b
[POS] From Gateway In11 b a - b From1
In Out5
Convert8 Workspace9 CORDIC DIVIDER3
Convert12
From Gateway In5 AddSub3 CORDIC DIVIDER1 From7 AddSub6
Workspace3

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.
4.2. CONTROLADOR PID DIFUSO 85

1 In1
a2 In a z-1 N
ab
-1 From Gateway In b
b2 In a za and 1
b Workspace1
b Z1 Relational Out1
From Gateway In1
Workspace2 and
Relational2 a z-1 Logical
b a<b
a22 In
a
z-1 Logical1 Relational1
a<b From Gateway In4
b
Workspace5
c2 In Relational3 or 3
Gateway In5 Out5
From e22 In a
Logical4
Workspace6 z-1 P
From Gateway In7 a<b
c2 In a b
-1 Workspace8
z Z2
From Gateway In6 ab
b Relational4 and 4
Workspace7
Relational6 Out4
a
and z-1
hi ab Logical2
a
z-1 lo } 2
e2 In b
d2 b ab Logical3 Out2
In Gateway In3
Concat1 From Relational5
From Gateway In2 Relational7 Workspace4
Workspace3

Figura 4.29: Selector_de_activacin de la etapa 2 de fuzzificacin

Se nota que los parmetros de entrada son iguales que los valores de los rangos de la
variable de entrada CE.

Base de reglas e Inferencia

Las entradas de esta etapa son las salidas de los mdulos fuzzificacin1 y fuzzificacin2
(error y derivada del error), estas entradas son seales activacin de conjuntos de entrada
y otras son los resultados de los clculos para cada funcin de pertenencia. Para esta etapa
se propone la arquitectura mostrada en el diagrama de la Figura 4.30.

Figura 4.30: Arquitectura propuesta para la base de reglas e inferencia


86 CAPTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

Los bloques principales de esta arquitectura se describen puntualmente a continuacin,


y posteriormente se detallarn sus caractersticas y funcionamiento:

Selector de reglas de salida (Nsalida, Zsalida y Psalida). Estos submdulos acti-


van las reglas vlidas para un valor valor determinado y estn clasificados para cada
conjunto de salida de la variable de salida O.

Reglas de Nsalida, Zsalida y Psalida. stas representan un juego de tres reglas para
cada conjunto de salida Nsalida, Zsalida y Psalida.

RSS. Representa el mtodo Root Sum Square, til para obtener la ponderacin de
cada conjunto de salida.

El desarrollo en SysGen de esta etapa se muestra en la Figura 4.31, esta arquitectura cuenta
con mdulos que realizan una determinada tarea, las cuales se describirn a continuacin.
4.2. CONTROLADOR PID DIFUSO 87

[S1] In1
VALORES DE ACTIVACIN DE
LOS CONJUNTOS DE ENTRADA From36
Out1
[ENEG] In2

[ACTNEG1] [ACTNEG1] In1 From


1
Out1 [S1] [CENEG] In3
In1 Goto6 From18
From1
[ACTNEG2] In2 Goto12
2 [ACTZERO1] [S2] In4
From19 In1
In2 Goto7 From37
[ACTNEG1] In3
[ENEG] In5 Out3 In2 Out1 1
3 [ACTPOS1] From20 Out2 [S2]
From2 Out1
In3 Goto8 [ACTZERO2] In4 In3
Goto1 [CEZERO] In6
From21 ROOT SUM SQUARE
4 [ACTNEG2] From3
[ACTZERO1] In5
In4 Goto9 [S3] In7
From34 Out3 [S3]
5 [ACTZERO2] From38
[ACTNEG2] In6
In5 Goto10 [EZERO] In8
From35 Goto2 Out4
6 [ACTPOS2] Subsystem From4
In6 Goto11 [CENEG] In9
From5
REGLAS CONJUNTO DE SALIDA N
VALORES NUMERICOS DE LA
SELECTOR DE REGLAS ACTIVAS
FUZZIFICACIN CONJUNTO DE SALIDA N [S4] In1

[ENEG] From39
7 Out1
[ENEG] In2
In7 Goto
From6
8 [EPOS] [ACTNEG1] In1 In3
[CEPOS]
In8 Goto13 From22 Out1 [S4] From7
[ACTPOS2] In2 In4
9 [EZERO] Goto15 [S5]
From23 In1
In9 Goto14 From40
[ACTZERO1] In3 In5 Out3
[EZERO] In2 Out1 2
10 [CENEG]
From24 Out2 [S5]
From8 Out2
In10 Goto3 [ACTZERO2] In3
In4 In6
Goto16 [CEZERO]
From25 ROOT SUM SQUARE1
11 [CEPOS] From9
[ACTPOS1] In5 In7
In11 Goto4 [S6]
From26 Out3 [S6]
From41
12 [CEZERO] [ACTNEG2] In6 In8
Goto17 [EPOS] Out4
In12 Goto5 From27
Subsystem1 From10
[CENEG] In9
From11
REGLAS DE CONJUNTO DE SALIDA Z
SELECTOR DE REGLAS ACTIVAS
CONJUNTO DE SALIDA Z
[S7] In1
From42 Out1
[EZERO] In2

[ACTZERO1] In1 From14


Out1 [S7] [CEPOS] In3
From28
From15
[ACTPOS2] In2 Goto18
[S8] In4
From29 In1
[ACTPOS1] In3 From43
[EPOS] In5 Out3 In2 Out1 3
From30 Out2 [S8]
From16 Out3
[ACTZERO2] In4 In3
Goto19 [CEZERO] In6
From31 ROOT SUM SQUARE2
From17
[ACTPOS1] In5
[S9] In7
From32 Out3 [S9]
[ACTPOS2] In6 From44
[EPOS] In8
From33 Goto20 Out4
Subsystem2 From12
[CEPOS] In9
SELECTOR DE REGLAS ACTIVAS From13
CONJUNTO DE SALIDA P REGLAS DE CONJUNTO DE SALIDA P

Figura 4.31: Etapa de base de reglas e inferencia

Los submdulos llamados selector de reglas de salida (Nsalida, Zsalida y Psalida),


tienen como tarea determinar qu regla se ha activado en base al cruce de las seales de
activacin de los conjuntos de entrada E y CE. De manera que una regla estar activada
si la seal de activacin del conjunto E y CE son verdaderos, dada esta caracterstica se
desarrolla haciendo uso de compuertas lgicas AND, ver Figura 4.32.
88 CAPTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

[ACTNEG1] [ACTNEG1]
From18 and [S1] From22 and [S4]
[ACTNEG2] [ACTPOS2]
Goto12 Goto15
From19 From23
Logical Logical2

[ACTNEG1] [ACTZERO1]
From20 and [S2] From24 and [S5]
[ACTZERO2] [ACTZERO2]
Goto1 Goto16
From21 From25
Logical1 Logical3

[ACTZERO1]
[ACTPOS1]
From34 and [S3]
From26 and [S6]
[ACTNEG2]
Goto2 [ACTNEG2]
From35 Goto17
Logical8 From27
Logical4

SELECTOR DE REGLAS ACTIVAS SELECTOR DE REGLAS ACTIVAS


CONJUNTO DE SALIDA N CONJUNTO DE SALIDA Z

[ACTZERO1]
From28 and [S7]
[ACTPOS2]
Goto18
From29
Logical5

[ACTPOS1]
From30 and [S8]
[ACTZERO2]
Goto19
From31
Logical6

[ACTPOS1]
From32 and [S9]
[ACTPOS2]
Goto20
From33
Logical7
SELECTOR DE REGLAS ACTIVAS
CONJUNTO DE SALIDA P

Figura 4.32: Submdulos llamados selector de reglas de salida


4.2. CONTROLADOR PID DIFUSO 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 b sel
b
Relational
1 d0 1
In1 Out1

2 d1
In2
Mux

Figura 4.33: Implementacin individual de una regla

El nmero total de reglas en este proyecto ser de nueve, divididos en tres conjuntos
de salida por lo que cada conjunto tendr tres reglas, estas reglas estarn agrupadas en un
submdulo que se replica para cada conjunto de salida, ver Figura 4.34.
90 CAPTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

1 sel
In1

0 d0 1
Constant2 Out1
2 In1
In2 Out1 d1
3 In2
In3 Mux
REGLA 1
4
sel
In4

0 d0 2
Constant3 Out3
5 In1
In5 Out1 d1
6 In2
Mux1
In6
REGLA 2
7 sel
In7

0 d0 3
Constant4 Out4
8 In1
In8 Out1 d1
9 In2
Mux2
In9
REGLA 3

Figura 4.34: Bloque de reglas para cada conjunto de salida

En la Figura anterior se muestran tres reglas y su respectiva activacin, de manera que


si est activada se obtiene el valor de la regla y si no est activada se obtiene un valor por
defecto de 0.
Por otra parte, para obtener la ponderacin de las reglas del conjunto de salida se realiza
la RSS (Root Sum Square) para cada funcin miembro. En este clculo se introducen los
valores de salida de un conjunto de 3 reglas, las cuales se elevan al cuadrado y suman para
que posteriormente se realice una raz cuadrada.
En SysGen se dise como muestra la Figura 4.35. Los bloques que se resaltan son los
multiplicadores cuyas entradas son el mismo valor, ya que el valor se eleva al cuadrado,
posteriormente se suman los tres valores elevados al cuadrado para que al final se le quite
la raz cuadrada a la suma.
4.2. CONTROLADOR PID DIFUSO 91

a
z-3
1 a b cast
In1 b
Convert4 a
Mult
a+b
a
b
a cast a+b x z -31 sqrt x cast 1
2 In2 z-3 AddSub
a b b Out1
b Convert5 Convert1
AddSub1
Mult1
CORDIC SQRT1

a
z-3
3 a b cast
In3 b
Convert6
Mult2

Figura 4.35: Mtodo Root Sum Square

Este mtodo es realizado para cada conjunto de salida Nsalida, Zsalida y Psalida, por
lo que se tienen tres submdulos de RSS.

Defuzzificacin

El ltimo paso es realizar la defuzzificacin, se escogi el mtodo del COA para obtener
un valor en la salida, ya que en una gran cantidad de trabajos revisados hacen uso de l y
se obtienen buenos resultados. Las entradas son las tres races cuadradas de cada conjunto
difuso de la salida. El diseo en hardware se muestra en la Figura 4.36.
92 CAPTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

1
a
In1
a+b a
b
2 a+b
AddSub b
In2
AddSub1
3
In3 a
z-3
a b cast
a3 In b x
Convert1 a
From Gateway In1 z -28 div
Mult y/x cast 1
Workspace a+b y Out1
Convert4
b
CORDIC DIVIDER
a
z-3
a b cast AddSub2
c3 In b
Gateway In2 Convert2 a
From Mult1
Workspace1 a+b
b
a
z-3 AddSub3
a b cast
e3 In b
Gateway In3 Convert3
From Mult2
Workspace2

Figura 4.36: Mtodo del centroide o centro de rea

El mtodo COA realiza suma de multiplicaciones con valores de conjuntos de salida


con el centro de ste, dividiendo entre la suma de los valores de conjuntos de salida.
Una vez finalizado el mdulo de defuzzificacin se conecta con los dems mdulos
fuzzificacin, base de reglas e inferencia, como se ve en la Figura 4.37 para las arquitecturas
1 y 2.
4.2. CONTROLADOR PID DIFUSO 93

fuzzificacin1 base de reglas e inferencia defuzzificacin

Out1 [ENEG]
Goto [ACT NEG1] In1
Out2 [EPOS] From55
Goto1 [ACT ZERO1] In2
[EZERO]
ERROR Out3
From56
Out1 In1
1 In1 Goto2
[ACT POS1] In3
In1 Out4 [ACT NEG1]
Goto6 From57
Out5 [ACT ZERO1] [ACT NEG2] In4
Goto7 From58
Out6 [ACT POS1]
[ACT ZERO2] In5
Goto8 From59
FUZZIFICACION1
[ACT POS2] In6

fuzzificacin2 From60 Out2 In2 Out1 1


[ENEG] In7 Out1
Out1 [CENEG] From1
Goto3 [EZERO] In8
Out2 [CEPOS] From2
DERIVADA Goto4 [EPOS] In9
DEL ERROR Out3 [CEZERO] From3
Goto5 [CENEG]
2 In1 In10
In2 Out4 [ACT NEG2] From4
Goto9 [CEZERO] Out3 In3
In11
Out5 [ACT ZERO2] From5
Goto10 [CEPOS] In12
Out6 [ACT POS2] From6
Goto11
FUZZIFICACION2 BASE DE REGLAS E INFERENCIA COA

Figura 4.37: Etapas del mdulo PD difuso para arquitectura 1 y 2

En la Figura 4.38 se muestra el diagrama final incluyendo la parte difusa y el controla-


dor PID para formar el PID difuso.

Step1
PROPORCIONAL BLOQUE DIFUSO
x 0.02 cast DE LA ARQ. 1
Convert Sy stem
In1 Generator
In DERIVATIVO CMult Out1

Gateway In2 In2

a Subsystem2 4.58e-2
a-b x 0.007004 cast a Gateway Out
a b 18.67e-9s2 +17.68e-6s+2.10e-3
In Convert3 a+b Out
Gateway In3 b
a-b d z-1 q AddSub5 CMult1 Transfer Fcn2
[aux2]
AddSub1
d z-1 q b
INTEGRAL Scope3
From1
Register1
Register3 AddSub
a
a+b x 0.0003052 cast
b [aux1] [aux2]
In1 Out1
Convert1
AddSub2 CMult2 From Goto
Register2 [aux1]
Subsystem
Convert4
Goto1
cast q z-1 d

Figura 4.38: Diagrama final de la arquitectura 1

Se cuenta tambin con un modulo de validacin la seal de salida, esto para que no se
generen datos basura que afecten al controlador. Los datos basura se generan en el tiempo
que le tarda la arquitectura en realizar los clculos y en la salida existen datos cuyo valor
se desconoce.
94 CAPTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

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 arqui-
tectura 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 rea-
lizada, 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 Con paso de parmetros


a2 In a z-1 N
ab
From Gateway In b
b2 In a z-1 and 5
ab Workspace1
From Gateway In1 b Z1 Relational8 Out3
Workspace2 and
Relational10 a z-1 Logical5
b a<b
a a22 In
z-1 Logical6 Relational9
a<b From Gateway In4
b
Workspace5
c2 In Relational11 or 7
Gateway In5 Out7
From Logical9 e22 In a
Workspace6 z-1 P
From Gateway In7 a<b
c2 In a b
-1 Workspace8
z Z2
From Gateway In6 a b
b Relational12 and 8
Workspace7
Relational14 Out8
and a
hi z-1 Logical7
a b
a z-1
a b lo } 6 e2 In b
d2 b Logical8 Out6
In Gateway In3
Concat2 From Relational13
From Gateway In2 Relational15 Workspace4
Workspace3

1 In1 Sin paso de parmetros

-25 a
z-1 N
a b
Constant4 b
-12.5 a z-1 and 1
b ab Relational Out1
Constant Z1
Relational2 and a -1
z Logical
b a<b
a z-1 0
a<b Logical1 Relational1
b Constant6
0 Relational3 or 3
Out5
Constant2 0 a
Logical4
z-1 P
a<b
0 Constant7
a z -1 b
Z2
a b
Constant3 b Relational4 and 4
Relational6 Out4
and a
-1
hi z Logical2
a b
a z-1
a b lo } 2 25 b
12.5 b Logical3 Out2
Concat1 Constant5 Relational5
Constant1 Relational7

Figura 4.39: Bloques selector de activacin con y sin paso de parmetros

La Figura 4.39 muestra el mdulo desarrollado anteriormente llamado selector de acti-


vacin, primeramente se muestra con paso de parmetros usando el bloque FromWorkspace
y despus se muestra la sustitucin de este bloque por el Constant.
La sustitucin se realiza en todos los mdulos y submdulos de la arquitectura del
controlador, por razones de repetitividad de todo lo descrito en cada modulo, se omite la
4.2. CONTROLADOR PID DIFUSO 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.

Step1
PROPORCIONAL BLOQUE DIFUSO
x 0.02 cast DE LA ARQ. 2
Convert Sy stem
In1 Generator
In DERIVATIVO CMult Out1

Gateway In2 In2

a Subsystem2 4.58e-2
a-b x 0.007004 cast a Gateway Out
a b 18.67e-9s2 +17.68e-6s+2.10e-3
In Convert3 a+b Out
Gateway In3 b
a-b d z-1 q AddSub5 CMult1 Transfer Fcn2
[aux2]
AddSub1
d z-1 q b
INTEGRAL Scope3
From1
Register1
Register3 AddSub
a
a+b x 0.0003052 cast
b [aux1] [aux2]
In1 Out1
Convert1
AddSub2 CMult2 From Goto
Register2 [aux1]
Subsystem
Convert4
Goto1
cast q z-1 d

Figura 4.40: Diagrama final de la arquitectura 1

Arquitectura 3

La arquitectura 3 tiene como ncleo la segunda con algunas modificaciones, la modifi-


cacin consta en eliminar el mtodo RSS, ya que se prev que la raz cuadrada toma gran
cantidad de tiempo para realizar el calculo, tambin se prev que con la eliminacin de la
RSS la salida del controlador siga funcionando correctamente.
La arquitectura 3 cambia en mdulo de defuzzificacin, pasa de ser un mtodo COA
con RSS a COA sin RSS, en la Figura 4.41 se muestra en forma de diagrama de bloques.

Figura 4.41: Eliminacin del mtodo RSS


96 CAPTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

Se nota en la Figura anterior que el bloque de defuzzificacin cambia en el nmero de


entradas se aumenta de tres a nueve, por tal motivo en el diseo hardware tambin cambia,
en la Figura 4.42 se muestra el diseo hardware con tres entradas y en la Figura 4.43se
muestra el diseo hardware con nueve entradas.

1
a
In4
a+b a
b
2 a+b
AddSub4 b
In5
AddSub5
3
In6 a
z-3
a b cast
-15 b a x
Convert5
Constant Mult3 a+b z -28 div
y/x cast 1

b y Out2
a -3 Convert8
z
a b cast a CORDIC DIVIDER1
0 b AddSub6
Convert6 a+b
Constant1 Mult4 b

a AddSub7
z-3
a b cast
15 b
Convert7
Constant2 Mult5

Figura 4.42: Defuzzificacin con tres entradas


4.2. CONTROLADOR PID DIFUSO 97

a
a+b a
b
a+b a
AddSub1 b a
a+b
b
AddSub2 a+b a
b
AddSub4 a+b a
b
AddSub5 a+b a
AddSub6 b a
a+b
b
AddSub7 a+b
b
AddSub15
1 a -3 AddSub16
z
In1 ab cast
-15 b a
Convert1
Constant3 Mult1 a+b

2 a b
z-3
In2 ab cast a
-15 b AddSub3
Convert2 a+b
Constant4 Mult2 b x
z -28 div
y/x cast 1
3 a -3 AddSub8
z y Out1
In3 ab cast Convert4
-15 b
Convert3 a CORDIC DIVIDER2
Constant5 Mult6 a+b
b

AddSub13
4 a a
z-3
In4 ab cast a+b
0 b a b
Convert9
Constant6 Mult7 a+b AddSub14

b
5 a
z-3
In5 ab cast a
0 b AddSub9
Convert10 a+b
Constant7 Mult8 b

6 a -3 AddSub10
z
In6 ab cast
0 b
Convert11
Constant8 Mult9

7 a
z-3
In7 ab cast
15 b a
Convert12
Constant9 Mult10 a+b

8 a b
z-3
In8 ab cast
15 b AddSub11 a
Convert13 a+b
Constant10 Mult11 b

9 a AddSub12
z-3
In9 ab cast
15 b
Convert14
Constant11 Mult12

Figura 4.43: Defuzzificacin con nueve entradas

Se prev que con esta modificacin se disminuya el tiempo de respuesta (tiempo de


asentamiento), as como tambin los recursos hardware utilizados en para el controlador
PID difuso pero con la meta de tener una seal controlada con caractersticas similares a
la arquitectura que cuenta con RSS. Para la arquitectura 3 el diagrama quedara como se
muestra en la Figura 4.44.
98 CAPTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

fuzzificacin1 base de reglas e inferencia defuzzificacin

Out1 [ENEG]
[ACT NEG1] Out1 In1
Goto In1
Out2 [EPOS] From55
Goto1 [ACT ZERO1] In2
[EZERO]
ERROR Out3
From56
Out2 In2
1 In1 Goto2
[ACT POS1] In3
In1 Out4 [ACT NEG1]
Goto6 From57
Out3 In3
Out5 [ACT ZERO1] [ACT NEG2] In4
Goto7 From58
Out6 [ACT POS1]
[ACT ZERO2] In5
Out4 In4
Goto8 From59
FUZZIFICACION1
[ACT POS2] In6

fuzzificacin2 From60 Out5 In5 Out1 1


[ENEG] In7 Out1
Out1 [CENEG] From1
Goto3 [EZERO] In8 Out6 In6
Out2 [CEPOS] From2
DERIVADA Goto4 [EPOS] In9
DEL ERROR Out3 [CEZERO] From3 Out7 In7
Goto5 [CENEG]
2 In1 In10
In2 Out4 [ACT NEG2] From4
Goto9 [CEZERO] Out8 In8
In11
Out5 [ACT ZERO2] From5
Goto10 [CEPOS] In12
[ACT POS2] Out9 In9
Out6 From6
Goto11
FUZZIFICACION2 BASE DE REGLAS E INFERENCIA
COA

Figura 4.44: Etapas del mdulo PD difuso para arquitectura 3

Posteriormente, se introduce el mdulo PD difuso en el controlador PID, ver la Figura


4.45.

Step1
PROPORCIONAL BLOQUE DIFUSO
x 0.02 cast DE LA ARQ. 3
Convert Sy stem
In1 Generator
In DERIVATIVO CMult Out1

Gateway In2 In2

a Subsystem2 4.58e-2
a-b x 0.007004 cast a Gateway Out
a b 18.67e-9s2 +17.68e-6s+2.10e-3
In Convert3 a+b Out
Gateway In3 b
a-b d z-1 q AddSub5 CMult1 Transfer Fcn2
[aux2]
AddSub1
d z-1 q b
INTEGRAL Scope3
From1
Register1
Register3 AddSub
a
a+b x 0.0003052 cast
b [aux1] [aux2]
In1 Out1
Convert1
AddSub2 CMult2 From Goto
Register2 [aux1]
Subsystem
Convert4
Goto1
cast q z-1 d

Figura 4.45: Diagrama final del PID difuso

Se nota que estn presentes los bloques hardware que realizan la derivada y la integral
de error como en el PID en hardware. Estos mdulos son los mismos la diferencia son los
valores de las ganancias obtenidas por medio de la sintonizacin.
4.2. CONTROLADOR PID DIFUSO 99

La sintonizacin de las ganancias se realiza por medio del mtodo de transferencias


de ganancias del PID clsico al PID difuso, no obstante se tiene que considerar tambin
la calibracin de las funciones de pertenencia de los conjuntos de entrada y de salida.
La etapa de la sintonizacin y calibracin requiere tener conocimientos adquiridos con la
experiencia en el diseo de sistemas difusos. En el siguiente capitulo 5 se describirn y se
comentarn los resultados de las arquitecturas aqu propuestas.
100 CAPTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO
Captulo 5

Resultados

En este captulo se describen los resultados obtenidos en la implementacin de contro-


ladores 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. Respuesta en la salida de los controladores


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 respues-
ta 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. Seales de respuesta de los controladores PID y PID difuso


desarrollados en software
Como se ha dicho anteriormente, el desarrollo del controlador PID en software se ha
realizado en la herramienta de Simulink de MatLab; el controlador fue conectado a una
funcin escaln cuyo valor es de 24, la funcin escaln representa una seal que se activa
en un tiempo especfico y se queda en ese nivel de manera indefinida; la funcin escaln
sirve para conocer la respuesta transitoria de un sistema ante un valor de excitacin. En la
Figura 5.1 se muestra la respuesta del controlador PID ante una funcin escaln.

Figura 5.1: Repuesta del controlador PID en software

En la salida de este controlador se buscaba tener el menor tiempo de asentamiento y un


valor de sobreelongacin bajo. En el cuadro 5.1se muestran los valores medidos de la seal
de respuesta.
5.1. RESPUESTA EN LA SALIDA DE LOS CONTROLADORES 103

Parmetros medidos Smbolo Valor obtenido


Tiempo de retardo td 1,01s
Tiempo de subida tr 1,12s
Tiempo pico tp 0s
Sobreelongacin MP 0
Tiempo de asentamiento ts 1,12s

Cuadro 5.1: Tiempos y Sobreelongacin del controlador PID en software

El controlador PID en software tiene una sobreelongacin de 0, esto indica un control


sin picos iniciales, al no haber sobreelongacin tampoco existe un valor para tiempo pico
ya que no se forma ningn pico en la seal de salida, ver seccion 2.2.
Otro desarrollo es el controlador PID difuso en software, como se coment, ste se
realiz usando la herramienta simulink y el toolbox fuzzy de MatLab; tambin en este con-
trolador se desea que la sobreelongacin sea 0 ya que implicara oscilaciones mnimas en
la salida. La respuesta del controlador PID difuso ante la funcin escaln es mostrado en
la Figura 5.2.

Figura 5.2: Respuesta del controlador PID difuso en software

Similarmente al controlador PID, se tiene una sobreelongacin 0 por lo que la seal de


salida no oscila y se obtiene un tiempo de asentamiento menor comparado con el PID en
software, ver cuadro 5.2.
104 CAPTULO 5. RESULTADOS

Parmetros medidos Smbolo Valor obtenido


Tiempo de retardo td 1,015s
Tiempo de subida tr 1,08s
Tiempo pico tp 0s
Sobreelongacin MP 0
Tiempo de asentamiento ts 1,08s

Cuadro 5.2: Tiempos y Sobreelongacin del controlador PID difuso en software

Los resultados obtenidos de los controladores PID y PID difuso en software establecen
que el PID difuso tiene un mayor tiempo de retardo que el PID clsico sin embargo el tiem-
po de asentamiento es menor, este parmetro es ms importante ya que esta caracterstica
describe la cantidad de tiempo que tarda el controlador en igualar la seal de referencia.

5.1.2. Seales de respuesta de los controladores PID y PID difuso


desarrollados en hardware
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 establecimien-
to sea mnimo. En la Figura 5.3 se muestra la seal de respuesta ante una seal escaln de
valor 24.
5.1. RESPUESTA EN LA SALIDA DE LOS CONTROLADORES 105

Figura 5.3: Respuesta del controlador PID en hardware

El controlador PID diseado en hardware no cuenta con sobreelongacin y tiene un


tiempo de establecimiento determinado por 34 ciclos de reloj (cycle clock, cc). En el cuadro
5.3 se muestra los valores medidos de la seal de respuesta del controlador PID.

Parmetros medidos Smbolo Valor obtenido (cc) Ciclos de Retroalimentacin


Tiempo de retardo td 2 1
Tiempo de subida tr 34 34
Tiempo pico tp 0 0
Sobreelongacin MP 0 0
Tiempo de asentamiento ts 34 34

Cuadro 5.3: Tiempos y Sobreelongacin del controlador PID en hardware

Asimismo, se muestran los nmeros de ciclos de retroalimentacin, un ciclo de retro-


alimentacin inicia cuando se resta el valor de referencia menos el valor de la salida y dura
hasta que se obtiene un dato en la salida del sistema y ste se retroalimente.
Por otra parte, como se ha mencionado se realizaron tres arquitecturas para el controla-
dor PID difuso las cuales se describen a continuacin:

Arquitectura 1 (PID difuso con paso de parmetros y RSS)

Este controlador cuenta con un paso de parmetros desde el workspace de MatLab y fue
usado para calibrar los valores de los conjuntos de entrada y de salida del sistema difuso.
106 CAPTULO 5. RESULTADOS

Con el paso de parmetros, el sistema se vuelve flexible en el modelado de los conjuntos


difusos de entrada y de salida, ya que un sistema difuso necesita ser calibrado usando
diferentes valores en sus rangos, con esta arquitectura se ahorra tiempo y esfuerzo.
La seal de salida del controlador PID difuso con paso de parmetros y RSS se muestra
en la Figura 5.4.

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 Smbolo Valor obtenido (cr) Ciclos de Retroalimentacin


Tiempo de retardo td 83 1
Tiempo de subida tr 700 8
Tiempo pico tp 0 0
Sobreelongacin MP 0 0
Tiempo de asentamiento ts 700 8

Cuadro 5.4: Tiempos y sobreelongacin de la arquitectura 1 del PID difuso en hardware


5.1. RESPUESTA EN LA SALIDA DE LOS CONTROLADORES 107

Como se ve en el cuadro anterior, el tiempo de asentamiento es de 700 ciclos de reloj


aunque solo haya realizado 8 iteraciones de lazo cerrado. En base a estos resultados se
plantea en un futuro la optimizacin de la arquitectura del controlador PID difuso. Adems,

Arquitectura 2 (PID difuso sin paso de parmetros con RSS)

Una vez calibrado y comprobado el correcto funcionamiento del controlador, se estableci


una arquitectura especifica del controlador PID difuso. En esta nueva arquitectura se elimi-
naron mdulos de divisin y se reemplazaron por mdulos de multiplicacin, esta accin
beneficia al sistema en la disminucin del numero de ciclos de reloj necesarios para que la
seal de salida del controlador alcance a la seal de referencia como se puede apreciar en
la Figura 5.5.

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 men-
cionar 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 Smbolo Valor obtenido (cr) Ciclos de Retroalimentacin


Tiempo de retardo td 62 1
Tiempo de subida tr 530 8
Tiempo pico tp 0 0
Sobreelongacin MP 0 0
Tiempo de asentamiento ts 530 8

Cuadro 5.5: Tiempos y sobreelongacin de arquitectura 2 PID difuso en hardware

Como se ha descrito en el desarrollo se experimenta un cambio en la arquitectura del


controlador difuso. Este cambio consiste en retirar el bloque RSS y obtener una defuz-
zificacin basada en las 9 reglas totales de los 3 conjuntos difusos y no solamente de la
ponderacin de los 3 conjuntos difusos. A continuacin se presentan los resultados obteni-
dos de esta nueva arquitectura.

Arquitectura 3 (PID difuso sin paso de parmetros y sin RSS)

Como se ha comentado anteriormente, en esta arquitectura ya no se utiliza la RSS. En la


Figura 5.6 se muestra la seal de salida del controlador PID difuso sin RSS y sin paso de
parmetros.

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 ante-
riores del PID difuso. El nmero de ciclos de reloj del tiempo de asentamiento es de 135,
5.2. CLCULO DE ERROR Y COMPORTAMIENTO ANTE RUIDO 109

adems el nmero de iteraciones de lazo cerrado tambin se redujo a solamente 4. Otros


valores medidos de la seal de la respuesta del controlador son mostrados en el cuadro 5.6.

Parmetros medidos Smbolo Valor obtenido Ciclos de Retroalimentacin


Tiempo de retardo td 30 1
Tiempo de subida tr 135 4
Tiempo pico tp 0 0
Sobreelongacin MP 0 0
Tiempo de asentamiento ts 135 4

Cuadro 5.6: Tiempos y sobreelongacin de arquitectura 3 PID difuso en hardware

Como en las dems arquitecturas, la sobreelongacin es 0 y no existen oscilaciones, por


lo tanto tampoco hay tiempo pico. Lo que caracteriza a este controlador es su rpida res-
puesta en comparacin a las dos arquitecturas del PID difuso anteriormente mencionadas.
En esta seccin se han mostrado y analizado las respuestas de los distintos controladores
en software y en hardware sin ruido en las seales. En la siguiente seccin se mostrarn los
resultados de la seal de salida ante la presencia de ruido, este anlisis es importante ya que
comnmente los sistemas en implementados sufren cambios y variaciones, sto es lo que
motiva conocer el comportamiento de los controladores ante este tipo de perturbaciones.

5.2. Clculo de error y comportamiento ante ruido


En esta seccin se analizar el error de los controladores y el comportamiento de estos
ante perturbaciones.
Primeramente, se va a realizar un anlisis del error donde se compara la seal de re-
ferencia con la salida del controlador por lo que se obtiene el error absoluto entre estas
dos seales, el error absoluto est expresado por eabs = valormedido valorre f erencia ; como
se trata de un conjunto de valores se establece el uso del promedio del error, el cual esta
definido con la ecuacin 5.1.

eabs1 + eabs2 + eabs3 + eabs4 + + eabsN


E prom = (5.1)
N
Donde:
110 CAPTULO 5. RESULTADOS

e es el error entre las seales.


N es el numero de muestras que toma para el anlisis.
Adems, para realizar el anlisis del error se realizan medidas del error cuadrtico me-
dio (Error Root Medium Square) existente entre la seal de salida sin ruido y la seal de
salida con ruido, tambin se toman en cuenta el error cuadrtico medio entre la seal con
ruido y la seal de referencia, el error cuadrtico medio esta representado por la siguiente
formula:
s
e2abs1 + e2abs2 + e2abs3 + e2abs4 + + e2absN
Erms = (5.2)
N
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. Clculo del error


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.
5.2. CLCULO DE ERROR Y COMPORTAMIENTO ANTE RUIDO 111

Figura 5.7: Comportamiento del error absoluto en PID en SW

El clculo de los valores del promedio del error y del error cuadrtico medio es mostra-
do en el cuadro 5.7.

E prom Seal de salida y Erms Seal de salida y


Tamao de muestra
seal de referencia seal de referencia
133,951 13.0289 17.4353
Cuadro 5.7: Tamao de muestra y Valor de Erms para el PID en SW

Estos datos indican que es el error promedio es menor que el error cuadrtico medio
por lo que
Por otro lado, en el controlador PID difuso en SW, el error absoluto se comporta como
se muestra en la Figura 5.8.
112 CAPTULO 5. RESULTADOS

Figura 5.8: Comportamiento del error absoluto en el PID difuso en SW

El clculo de los valores del promedio del error y del error cuadrtico medio del con-
trolador PID difuso es mostrado en el cuadro 5.8.

E prom Seal de salida y Erms Seal de salida y


Tamao de muestra
seal de referencia seal de referencia
133,951 13.2886 17.5697
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 mues-


tra en la Figura 5.9.
5.2. CLCULO DE ERROR Y COMPORTAMIENTO ANTE RUIDO 113

Figura 5.9: Comportamiento del error absoluto en el PID en HW

El clculo de los valores del promedio del error y del error cuadrtico medio del con-
trolador PID difuso es mostrado en el cuadro 5.9.

E prom Seal de salida y Erms Seal de salida y


Tamao de muestra
seal de referencia seal de referencia
6,598 7.5652 8.3367
Cuadro 5.9: Tamao de muestra, valor de E prom y Erms para el PID en HW

Por ltimo, se muestra el comportamiento del error absoluto en el controlador PID


difuso en HW en la Figura .
114 CAPTULO 5. RESULTADOS

Figura 5.10: Comportamiento del error absoluto en PID difuso en HW

El clculo de los valores del promedio del error y del error cuadrtico medio del con-
trolador PID difuso es mostrado en el cuadro 5.10.

E prom Seal de salida y Erms Seal de salida y


Tamao de muestra
seal de referencia seal de referencia
6,384 0.0929 0.5375
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. Comportamiento ante ruido o perturbaciones


En esta subseccin se analizar el comportamiento ante ruido de los controladores desa-
rrollados, de manera que se introduce ruido al diagrama del PID, ver Figura 5.11.
5.2. CLCULO DE ERROR Y COMPORTAMIENTO ANTE RUIDO 115

Figura 5.11: Diagrama general del PID con ruido

Tambin en esta seccin se analizar el comportamiento del PID difuso con ruido, en
la Figura 5.12 se muestra la modificacin hecha para este anlisis.

Figura 5.12: Diagrama general del PID difuso con ruido

Una vez establecido qu diagramas se van utilizar, se describirn los comportamientos


de los controladores PID y PID difuso en plataforma software para que posteriormente se
analice en plataforma hardware

5.2.2.1. Respuesta a perturbaciones en controladores PID y PID difuso en software

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

4.58e-2
du/dt 0.0005
Scope2
18.67e-9s2 +17.68e-6s+2.10e-3
Step Derivative1 Gain2 Add
Transfer Fcn3

1
3
s Uniform
Integrator1 Gain3
Uniform Noise
Generator

Figura 5.13: Diagrama del PID con ruido en software

En base al diagrama anterior, la salida del controlador es la que se muestra en la Figura


5.14.

Figura 5.14: Respuesta del PID con ruido en software

En la Figura 5.14 se muestra la seal de referencia y la seal de respuesta, la seal de


respuesta se ve afectada por perturbaciones en gran medida.
El anlisis del error en este resultado y en los siguientes estn basados en el error
cuadrtico medio Erms presente entre la seal con ruido y la seal sin ruido, as tambin
entre la seal con ruido y la seal de referencia.
En el cuadro 5.11 se muestra los resultados al aplicar el mtodo del error cuadrtico
medio.
5.2. CLCULO DE ERROR Y COMPORTAMIENTO ANTE RUIDO 117

Erms Seal con ruido y Erms Seal con ruido y


Tamao de muestra
seal sin ruido seal de referencia
133,951 1.8741 17.0384
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 uni-


form noise para que se sume con la salida del controlador PID difuso, ver Figura 5.15.

0.0645
1 4.58e-2
Step Gain4
Fuzzy Logic Scope2
Gain 18.67e-9s2 +17.68e-6s+2.10e-3
voltajeController1 Add1
Transfer Fcn3

du/dt 0.0078

Derivative Gain5

1
2.1
s
Integrator Gain6
Uniform

Uniform Noise
Generator1

Figura 5.15: Diagrama del PID difuso con ruido en software

Se estableci como valor de referencia una funcin escaln de valor 24; el comporta-
miento de la seal de salida es mostrado en la Figura 5.16.
118 CAPTULO 5. RESULTADOS

Figura 5.16: Respuesta del PID difuso con ruido en software

Como se aprecia en la Figura anterior la seal del controlador PID difuso no tiene gran
cantidad de oscilaciones y tiende a estabilizarse tomando en cuenta la seal de referencia.
En el cuadro 5.12 se aprecia el tamao de muestra y el valor de Erms de este controlador.

Erms Seal con ruido y Erms Seal con ruido y


Tamao de muestra
y seal sin ruido seal de referencia
133,951 1.2641 17.3768
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 comporta-
miento una respecto a la otra, ver Figura 5.17.
5.2. CLCULO DE ERROR Y COMPORTAMIENTO ANTE RUIDO 119

Figura 5.17: Respuesta de PID y PID difuso con perturbacin

Como se ve en la Figura 5.17 el controlador PID es ms afectado por el ruido en com-


paracin al controlador PID difuso, por otra parte las dos seales de salida tienen la misma
sobreelongacin aunque el PID difuso trata de estabilizarse despus de la sobreelongacin,
contrariamente el controlador PID que se caracteriza por un gran nmero de perturbaciones
sobre la seal de referencia. Esto se ve reflejado en el valor de su Erms , ya que el valor de
ste es mas grande en el controlador PID que en el PID difuso. A continuacin se analizar
los mismos controladores en plataforma hardware, donde se espera que los resultados sean
parecidos a este anlisis.

5.2.2.2. Respuesta a perturbaciones en controladores PID y PID difuso en hardware

Para realizar el anlisis se modifica el diseo de la arquitectura del PID en software, se


incluye el bloque de simulink noise uniform para que se sume con la salida del controlador
PID, como se muestra en la Figura 5.21.
120 CAPTULO 5. RESULTADOS

PROPORCIONAL
x 0.01401 cast
Convert
a a
In CMult
a+b
Gateway In INTEGRAL
Step a-b b

In b a AddSub1
Gateway In1 a+b
AddSub b
x 0.009995 cast a
AddSub4 a+b a Gateway Out Scope2
Convert1 4.58e-2
Register2 b
CMult2 a+b Out
Convert4 b 18.67e-9s2 +17.68e-6s+2.10e-3
AddSub3
cast q z-1 d In AddSub2 Transfer Fcn1
Gateway In2

DERIVADA
a
Sy stem
a-b x 0.004501 cast Generator
b Uniform
d z-1 q Convert2
AddSub5 CMult1
Uniform Noise
Register1 Generator

Figura 5.18: Diagrama PID con ruido en hardware

Para realizar la prueba con ruido se estableci una funcin de escaln como referencia,
la respuesta del controlador PID en hardware con ruido se muestra en la Figura 5.19.

Figura 5.19: Respuesta del PID con ruido en hardware

El comportamiento del PID clsico muestra una gran cantidad de oscilaciones y la seal
de salida no tiende a establecerse por lo que resulta en cierta medida algo inestable. En el
cuadro se muestran los valores resultantes en este anlisis.

Erms1 Seal con ruido y Erms2 Seal con ruido y


Tamao de muestra
seal sin ruido seal de referencia
6,598 2.0677 7.7039
Cuadro 5.13: Tamao de muestra y Valor de Erms para el PID en HW (estudio ante ruido)
5.2. CLCULO DE ERROR Y COMPORTAMIENTO ANTE RUIDO 121

Por otra parte, para realizar el anlisis de ruido con el PID difuso se simul la arqui-
tectura 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]
x 0.02 cast
Step1 In1 From3
Convert
Out1
DERIVATIVO CMult
In2 PID DIFUSO

Subsystem1
In

a a Gateway Out
4.58e-2
Gateway In2 a -b x 0.007004 cast a a+b Out
b b 18.67e-9s2 +17.68e-6s+2.10e-3 HW4
Convert3 a+b
b
a d z-1 q AddSub5 CMult1 AddSub3 T ransfer Fcn2
[aux2]
AddSub1
a -b INTEGRAL From1
Register1
b
a
Uniform In [aux3]
a+b x 0.001205
Gateway In3 AddSub cast
b Gateway In5 Goto3
Convert1 Uniform Noise
In

AddSub2 CMult2 Generator


Register2 [aux1]
Convert4 Sy stem
Goto1
Generator
cast q z-1 d

[aux3] In1 Out1 [aux4] [aux1] [aux2]


In1 Out1

From2 Goto2 From Goto


Subsystem2 Subsystem

Figura 5.20: Diagrama PID difuso con ruido en hardware

Tambin se cuenta con mdulos que validan la seal de salida, esto para que no se
generen datos basura que afecten al controlador. Los datos basura se generan en el tiempo
que le tarda la arquitectura en realizar los clculos y en la salida existen datos cuyo valor
se desconoce.
Para realizar el anlisis del ruido para el controlador difuso en HW, se toma como
referencia una funcin escaln establecida en un valor de 24; el comportamiento del con-
trolador con ruido se muestra en la Figura 5.21.
122 CAPTULO 5. RESULTADOS

Figura 5.21: Respuesta del PID difuso con ruido en hardware

Como se aprecia en la Figura anterior, el controlador PID difuso tiene un nmero bajo
de oscilaciones cuando se le aplica perturbaciones, adems la estabilizacin de este contro-
lador es mejor que el controlador PID clsico en hardware.
El tamao de la muestra y el valor de Erms se reporta en el cuadro 5.14.

Erms Seal con ruido y Erms Seal con ruido y


Tamao de muestra
y seal sin ruido seal de referencia
6,384 1.3790 1.4222
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 arqui-
tecturas hardware.
5.3. RECURSOS HARDWARE DE LAS ARQUITECTURAS PROPUESTAS 123

5.3. Recursos hardware de las arquitecturas propuestas


En esta seccin se mostrar el uso de recursos hardware, periodo mnimo y frecuencia
mxima de operacin de los controladores PID y PID difuso. Igualmente como en el an-
lisis de ruido, se toma la arquitectura del controlador PID difuso sin paso de parmetros ni
RSS, esto debido a que contiene menos bloques hardware y un tiempo de establecimien-
to menor en comparacin con las otras arquitecturas. Asimismo se muestran los recursos
hardware del controlador PID clsico, los valores reportados a continuacin se realizaron
para tres tecnologas de FPGA: Spartan 6, Virtex 5 y Artix 7.
Los campos bsicos de los reportes son los relacionados con los slices utilizados, el
periodo mnimo y la frecuencia mxima de operacin. El periodo mnimo sirve para calcu-
lar el tiempo total de respuesta de controlador, ya que en las simulaciones se contaron los
nmeros de ciclos de reloj.

5.3.1. Recursos hardware del controlador PID


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 Z
/ h^ h  h
 EZ   

h&&   

> E>hd   
 h   
^ h   
/ E^   
 Z
K W &
 D,
W Z^
/ h^ h  h
 EZ   

h&&   

> E>hd   
 h   
^ h   
/ E^   
 Z
K W &
 D,
W Zs
/ h^ h  h
 EZ   

h&&   

> E>hd   
 h   
^ h   
/ E^   
 Z
K W &
 D,

Cuadro 5.15: Recursos PID implementado en Artix 7, Spartan 6 y Virtex 5

De este cuadro se observa que para el dispositivo Artix 7 se obtiene un periodo mnimo
de 2.179 ns y una frecuencia mxima de 458.926 MHz.
Otra tecnologa FPGA revisada es la basada en Spartan 6, cuyo dispositivo elegido para
este anlisis es el Spartan 6 xc6slx45-3cgs324. El periodo mnimo es de 1.921 ns y la
frecuencia mxima es de 520.562 MHz.
Por ltimo, se analiz la tecnologa FPGA cuyo dispositivo es Virtex 5 xc5vlx50-
3ff324, se muestran los resultados de los recursos empleados en este dispositivo, asimismo
el periodo mnimo y la frecuencia mxima. El periodo mnimo obtenido en el dispositivo
de Virtex 5 es de 1.635 ns y la frecuencia mxima tiene un valor de 611.235 MHz. Con los
datos de los tiempos del Cuadro 5.15 se establecen los valores temporales del controlador
para cada dispositivo, ver Cuadro 5.16.
5.3. RECURSOS HARDWARE DE LAS ARQUITECTURAS PROPUESTAS 125

Parmetros medidos Smbolo cicle clock T. en Artix7 T. en Spartan 6 T. Virtex 5


Tiempo de retardo td 2 4.35 ns 3.84 ns 3.27 ns
Tiempo de subida tr 34 74.086 ns 65.314 ns 55.59 ns
Tiempo pico tp 0 0 ns 0 ns 0 ns
Sobreelongacin MP 0 0 ns 0 ns 0 ns
Tiempo de asentamiento ts 34 74.086 ns 65.314 ns 55.59 ns

Cuadro 5.16: Tiempos y Sobreelongacin del controlador PID en hardware

Los resultados muestran que la arquitectura es ms rpida y consume menos recursos


en el dispositivo Virtex 5 xc5vlx50-3ff324, sin embargo se tiene que tener en cuenta que una alta
frecuencia requiere ms potencia por lo se motiva la investigacin y el anlisis de este parmetro.
Cada tecnologa es diferente y muestra qu beneficios se tendra con el Virtex 5, cabe
mencionar que existen otro tipos de versiones como Virtex as como de Spartan y Artix,
la comparacin realizada se limita a estas tres tecnologas FPGA especificas teniendo en
cuenta que cada familia de los dispositivos son diferentes tanto en costo y rendimiento.

5.3.2. Recursos hardware del controlador PID difuso


En esta subseccin se abordarn los resultados obtenidos referente a los recursos utili-
zados 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
 h^ h  h
EZ   
Z h&&   
E>hd   
Y h   
h   
 E^   
Z
 W &
 D,
Z^
 h^ h  h
EZ   
Z h&&   
E>hd   
Y h   
h   
 E^   
 W
Z
&
 D,
Zs
 h^ h  h
EZ   
Z h&&   
E>hd   
Y h   
h   
 E^   
 W
Z
&
 D,

Cuadro 5.17: Recursos de arquitectura 1 implementada en Artix 7, Spartan 6 y Virtex 5

Se muestran los recursos utilizados para el dispositivo Artix 7, el periodo mnimo para
esta arquitectura es de 88.35 ns y su frecuencia mxima correspondiente es de 11.317 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 xc6slx75-3fgg484, se
establece un periodo mnimo de 113.925 ns,con una frecuencia de operacin de 8.778 MHz.
Finalmente, se realiza la obtencin de los recursos usados, periodo y frecuencia para
el dispositivo Virtex 5 xc5vlx330-2ff1738, el valor del periodo es de 90.614 ns con una
frecuencia mxima de 11.036 MHz. Por otra parte, en el Cuadro 5.18 se muestran los
tiempos de operacin que se obtienen de la arquitectura conforme al tipo de dispositivo.
5.3. RECURSOS HARDWARE DE LAS ARQUITECTURAS PROPUESTAS 127

Parmetros medidos Smbolo cicle clock T. en Artix7 T. en Spartan 6 T. Virtex 5


Tiempo de retardo td 83 7.333 s 9.456 s 7.521 s
Tiempo de subida tr 700 61.84 s 79.75 s 63.43 s
Tiempo pico tp 700 61.84 s 79.75 s 63.43 s
Sobreelongacin MP 0 0 0 0
Tiempo de asentamiento ts 700 61.84 s 79.75 s 63.43 s
Cuadro 5.18: Tiempos y Sobreelongacin del controlador PID difuso en la arquitectura 1

Los resultados de los reportes muestran que en esta arquitectura 1, el dispositivo Artix
7 tiene mejores tiempos de operacin y tambin en este dispositivo se consumen menos recursos.

Arquitectura 2 (PID difuso sin paso de parmetros con RSS)

En el Cuadro 5.19 se presentan los recursos hardware obtenidos de la arquitectura 2.

Z
 h^ h  h
EZ   
Z h&&   
E>hd   
Y h   
h   
 E^   
Z
 W &
D, 
Z^
 h^ h  h
EZ   
Z h&&   
E>hd   
Y h   
h   
 E^   
Z
 W &
D, 
Zs
 h^ h  h
EZ   
Z h&&   
E>hd   
Y h   
h   
 E^   
Z
 W &
D, 

Cuadro 5.19: Recursos de arquitectura 2 implementada en Artix 7, Spartan 6 y Virtex 5


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 Smbolo cicle clock T. en Artix7 T. en Spartan 6 T. Virtex 5


Tiempo de retardo td 62 5.528 s 5.859 s 6.777 s
Tiempo de subida tr 530 47.25 s 50.09 s 57.94 s
Tiempo pico tp 530 47.25 s 50.09 s 57.94 s
Sobreelongacin MP 0 0 0 0
Tiempo de asentamiento ts 530 47.25 s 50.09 s 57.94 s
Cuadro 5.20: Tiempos y Sobreelongacin del controlador PID difuso en la arquitectura 2

Los resultados de los reportes muestran que en esta arquitectura el dispositivo Artix 7
tiene mejores tiempos de operacin y tambin en este dispositivo se consumen menos recursos.

Arquitectura 3 (PID difuso sin paso de parmetros y sin RSS)

En el Cuadro 5.21 se presentan los recursos hardware obtenidos de la arquitectura 3.


5.3. RECURSOS HARDWARE DE LAS ARQUITECTURAS PROPUESTAS 129

Z
 h^ h  h
EZ   
Z E&&   
E>hd   
Y E   
E   
 E^   
Z
 W &
 D,
Z^
 h^ h  h
EZ   
Z E&&   
E>hd   
Y E   
E   
 E^   
Z
 W &
 D,
Zs
 h^ h  h
EZ   
Z E&&   
E>hd   
Y E   
E   
 E^   
Z
 W &
 D,

Cuadro 5.21: Recursos de arquitectura 3 implementada en Artix 7, Spartan 6 y Virtex 5

Se muestran los recursos utilizados para el dispositivo Artix 7, el periodo mnimo para
esta arquitectura es de 25.742 ns y su frecuencia mxima correspondiente es de 38.847
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 30 ns,con una frecuencia de operacin de 33.33 MHz.
Finalmente, se realiza la obtencin de los recursos usados, periodo y frecuencia para
el dispositivo Virtex 5, el valor del periodo es de 23.018 ns con una frecuencia mxima de
43.444 MHz. Por otra parte, en el Cuadro 5.22 se muestran los tiempos de operacin que
se obtienen de la arquitectura conforme al tipo de dispositivo.
130 CAPTULO 5. RESULTADOS

Parmetros medidos Smbolo cicle clock T. en Artix7 T. en Spartan 6 T. Virtex 5


Tiempo de retardo td 30 0.7723 s 0.900 s 0.690 s
Tiempo de subida tr 135 3.475 s 4.05 s 3.107 s
Tiempo pico tp 135 3.475 s 4.05 s 3.107 s
Sobreelongacin MP 0 0 0 0
Tiempo de asentamiento ts 135 3.475 s 4.05 s 3.107 s
Cuadro 5.22: Tiempos y Sobreelongacin del controlador PID difuso en la arquitectura 3

Los resultados muestran que en la arquitectura 3 el dispositivo Virtex 5 obtiene mejo-


res tiempos de operacin, sin embargo en cuanto a recursos el dispositivo Artix 7 tiene menos
consumo de recursos.

5.4. Comparacin con otros trabajos


En esta seccin se compararn a manera de cuadro los resultados obtenidos de esta
investigacin con otros obtenidos de distintos trabajos.
Primeramente, se muestra las comparaciones realizadas utilizando la familia FPGA
Spartan, ver Cuadro 5.23.

Fuente Dispositivo Frecuencia mxima Recursos HW


541 LUTs
PID desarrollado Spartan 6 520.56 MHz
171 slices
Trimeche et al. (2008) Spartan 3 30 MHz 539 LUTs, 368 slices
(Zurita-Bustamante et al., 2011) Spartan 3 60.3 MHz 8737 LUTs, 5668 slices
(Sonoli and Konduru, 2010) Spartan 3 2358 LUTs, 1916 slices
(Chan et al., 2007) Spartan 3E 47 MHz 437 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 reali-
zado 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.
5.4. COMPARACIN CON OTROS TRABAJOS 131

Por otra parte, se compara la arquitectura 3 del controlador PID difuso con otros traba-
jos 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: Spar-
tan 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 Recursos HW Time per action


2902 LUTs
Arquitectura 3 Spartan 6 33.333 MHz 0.9 s
867 Slices
(Sulaiman et al., 2009) Spartan 3 40.550 MHz 1394 Slices 2.096 s
(Poorani et al., 2005) 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 com-


paracin 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 Recursos HW Time per action


3,123 LUTs
Arquitectura 3 Virtex 5 43.333 MHz 0.690 s
984 Slices
(Economakos and Economakos, 2007) Virtex 4 50 MHz 2,064 LUTs 0.75 s
(Hassan and Sharif , 2007) Virtex 40.295 MHz 1,394 Slices 0.421 s
(Obaid et al., 2011) 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 m-


xima 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

se motiva a aumentar la eficiencia dentro de las arquitecturas propuestas, todo esto en un


trabajo futuro.
En este captulo se ha visto los resultados del comportamiento de los controladores PID
y PID difuso, tanto en el comportamiento de la seal de salida, el comportamiento ante
ruido y la cantidad de recursos que utilizan. De manera que en el Captulo 6 se describirn
las conclusiones de este trabajo.
Captulo 6

Conclusiones

En este apartado se presentan las conclusiones del trabajo de Tesis Anlisis y compa-
racin 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 con-
troladores 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 abar-
ca 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 siste-
mas 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 sobre-
elongacin, 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 ar-
quitectura 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 xc5vlx50-
3ff324. Sin embargo, este no es el dispositivo que menos recursos consume, esta caracters-
tica 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 sis-
temas 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 benefi-
cios tanto econmicos como funcionales. Con las arquitecturas propuestas del PID difuso
hay que examinar si su frecuencia mxima es suficiente para controlar procesos que re-
quieren 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 controlado-
res 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 con-
trolen 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 cono-
cimientos 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 explo-
rado 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


La transformada de Laplace es parte fundamental de la matemtica aplicada y requerida
de los ingenieros, fsicos, matemticos, etc. El mtodo de la transformada de Laplace es
una herramienta matemtica ampliamente utilizada para solucionar ecuaciones ordinarias
lineales, tambin es usada en el modelado, anlisis y simulacin de sistemas fsicos como
circuitos elctricos, sistemas trmicos y sobre todo en sistemas de control automtico.
La transformada de Laplace tiene dos caractersticas importantes que la hacen de gran
utilidad, segn Chojoln (2007):

1. La solucin de la ecuacin homognea y la solucin particular se obtienen en una


sola operacin.

139
140APNDICE A. TRANSFORMADA DE LAPLACE Y FUNCIONES DE TRANSFERENCIA

2. La transformada de Laplace convierte la ecuacin diferencial en una ecuacin alge-


braica 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

Z
F(s) = L { f (t)} = f (t)et dt (A.1)
0

La variable s se denomina el operador de Laplace, que es una variable compleja s =


+ jw. La ecuacin A.1tambin se conoce como la transformada de Laplace unilateral, y
que la integral se evala desde t = 0 hasta .
Esto se considera as ya que toda la informacin en la funcin antes de t = 0 se ignora.
Pero esto no representa alguna limitante en las aplicaciones en donde es utilizada pues en
el estudio del dominio del tiempo comnmente se toma como referencia t = 0 . Esto se
debe a que la excitacin de los sistemas no est presente antes de t = 0.

A.1.1. Transformada inversa de Laplace


Dada la transformada de Laplace F(s), la operacin para obtener f (t) se denomina
como la transformada inversa de Laplace y se define por:

f (t) = L 1 [F(S)] (A.2)

La integral de la transformada inversa de Laplace se representa como:

c+
Z j
1
f (t) = F(S) eSt dS (A.3)
2 j
c j

En donde c es una constante real que es mayor que las partes reales de todas las singula-
ridades 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
A.2. FUNCIONES DE TRANSFERENCIA 141

llevar a cabo sin realizar la evaluacin de esta integral, utilizando una tabla de transforma-
das. Si la integral resulta compleja se puede utilizar el mtodo de integracin que sea ms
adecuado para resolverla.

A.2. Funciones de Transferencia


Para analizar la respuesta transitoria o la respuesta en frecuencia de sistemas lineales
con una entrada y una salida invariantes con el tiempo, la representacin usando la funcin
de transferencia es ms conveniente que cualquier otra, ya que un sistema puede repre-
sentarse por diversos modelos matemticos, dependiendo de cada punto de vista. En el
campo de control las funciones de transferencia se usan para representar las relaciones de
entrada-salida de componentes o de sistemas que se pueden describir mediante ecuaciones
diferenciales lineales invariantes con el tiempo.
La funcin de transferencia de un sistema puede ser descrito mediante una ecuacin
diferencial lineal invariante con el tiempo, se define como: el cociente entre la transfor-
mada de Laplace de la salida y la transformada de Laplace de la entrada, considerando
condiciones iniciales nulas.

L (salida) Y (s) b0 sm + b1 sm1 + ... + bm1 s + bm


G(s) = = = (A.4)
L (entrada) X(s) a0 sn + a1 sn1 + ... + an1 s + an
Algunas consideraciones que se tienen en cuenta al momento de trabajar con funciones
de transferencias segn Chojoln (2007) son :

1. La funcin de transferencia de un sistema es un modelo matemtico, es decir, es un


mtodo para expresar la ecuacin diferencial que relaciona la variable de salida con
la variable de entrada.

2. Es una propiedad de un sistema, independiente de su magnitud y naturaleza de la


funcin de entrada.

3. Incluye las unidades necesarias para relacionar la entrada con la salida, pero no pro-
porciona informacin de la estructura fsica del sistema.
142APNDICE A. TRANSFORMADA DE LAPLACE Y FUNCIONES DE TRANSFERENCIA

4. Si se conoce la funcin de transferencia de un sistema, se estudia la salida o respues-


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


rimentalmente, 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.
A.2. FUNCIONES DE TRANSFERENCIA 143

Figura A.1: Reglas de lgebra de diagrama de bloques

En los sistemas de control de lazo abierto (ver Figura A.2) es sencillo encontrar la
funcin de transferencia dada la topologa de este tipo de sistemas, ya que no existen rami-
ficaciones por lo que el resultado es el producto de la entrada por el proceso, ver ecuacin
A.5.

Figura A.2: Funcin de transferencia lazo abierto

C(s) = E(s) G(s) (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.
144APNDICE A. TRANSFORMADA DE LAPLACE Y FUNCIONES DE TRANSFERENCIA

Figura A.3: Diagrama a bloques de un sistema cerrado

R(s) seal de entrada o seal referencial.

C(s) seal de salida (variable controlada).

B(s) seal retroalimentada.

H(s) funcin de transferencia del bloque de retroalimentacin.

E(s) seal de error.

En este caso se requiere obtener la funcin de transferencia representada por:

C(s)
F(s) = (A.6)
R(s)
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)

B(s) = C(s) H(s) (A.8)

E(s) = R(s) C(s) H(s) (A.9)

E(s) = R(s) E(s) G(s) H(s) (A.10)

E(s) = E(s) + E(s) G(s) H(s) (A.11)


A.2. FUNCIONES DE TRANSFERENCIA 145

Reduciendo los trminos semejantes y sustituyendo:

B(s)
= G(s) H(s) (A.12)
E(s)

C(s)
[1 + H(s)G(s)] = R(s) (A.13)
G(s)
C(s) G(s)
= (A.14)
R(s) 1 + H(s)G(s)
En conclusin, las funciones de transferencia ayudan a representar modelos fsicos de
procesos o plantas hasta sistemas completos y en este trabajo de investigacin se hace
referencia al control de motores de corriente directa por lo que se debe de establecer los
fundamentos tericos del motor de corriente directa.
146APNDICE A. TRANSFORMADA DE LAPLACE Y FUNCIONES DE TRANSFERENCIA
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 desa-
rrollo de alto rendimiento para una plataforma hardware especfica. Un diseo desarrollado
con esta herramienta puede componerse de una gran variedad de elementos: bloques espe-
cficos de System Generator, cdigo de un lenguaje de descripcin de hardware tradicional
(VHDL, Verilog) y funciones derivadas del lenguaje programacin MatLab. As, todos es-
tos 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 rea-
lizar 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 Xi-
linx DSP para Simulink. Estos bloques son los bloques DSP comunes de construccin tales

147
148 APNDICE B. SYSTEM GENERATOR

como sumadores, multiplexores, registros, entre otros. Tambin se incluyen un conjunto de


bloques de construccin compleja DSP, tales como bloques de filtros, raz cuadrada, FFT y
memorias. En la Figura B.1 se muestran algunos bloques de System Generator.

addr
In
Gateway In data z-1
x_in x_out addrz-1
we
Sy stem Single Port RAM
Generator ROM

CORDIC 4.0

1 Out
Constant Gateway Out
a
a+b
d z-1 q
xn_re
xk_re
b
xk_im
AddSub xn_im
Register
++ and xn_index
start xk_index
Counter Logical fwd_inv rfd
tready tvalid
fwd_inv_we busy
dv
tvalid tdata scale_sch
edone
a scale_sch_we
z-1 z-3 done
a b tdata tready Fast Fourier T ransform 7.1
b
Delay AXI FIFO
Mult

Figura B.1: Algunos bloques de utilizados en System Generator

B.1. Blockset de Xilinx en Simulink


Despus de la Instalacin de System Generator en el toolbox de Simulink generan nue-
vos 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
B.1. BLOCKSET DE XILINX EN SIMULINK 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 Descripcin
Index Cada Bloque en el Blockset de Xilinx.
Basic Elements Bloques de elementos estndar para la construccin de lgica digital.
Communication Bloques de correccin de errores y moduladores.
Control Logic Bloques de circuitos de control y mquinas de estado.
Data Types Los bloques que convertir tipos de datos.
DSP Bloques de Procesamiento Digital de seales (DSP).
Math Bloques que implementan funciones matemticas.
Memory Bloques para la implementacin y acceso a memoria.
Shared Memory Bloques para la implementacin y acceso a memoria compartida de Xilinx.
Tools Bloques de herramientas, para estimacin de recursos, co-simulacin HDL, etc.

Cuadro B.1: Bibliotecas de Xilinx Blockset

B.1.2. Xilinx Reference Blockset


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 Descripcin
Communication Bloques de correccin de errores y moduladores
Control Logic Bloques de circuitos de control y mquinas de estado
Imaging Bloques de Procesamiento de Imgenes.
DSP Bloques de Procesamiento Digital de seales (DSP)
Math Bloques que implementan funciones matemticas

Cuadro B.2: Bibliotecas de Xilinx Reference Blockset

Cada bloque de referencia tiene una descripcin de su aplicacin y los requisitos de


recursos de hardware.
150 APNDICE B. SYSTEM GENERATOR

B.2. Tipos de Seales en System Generator


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 co-
nexin 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 pa-
rmetros 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 muestrea-
da. 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 especifica-
cin de parmetros para la implementacin hardware.

B.2.1. Bloque System Generator


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 in-
vocar 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.
B.2. TIPOS DE SEALES EN SYSTEM GENERATOR 151

Figura B.2: Parmetros de la opcin Compilation


152 APNDICE B. SYSTEM GENERATOR

Figura B.3: Parmetros de la opcin Clocking

Synthesis Tool: indica la herramienta usada para sintetizar el diseo. Las posibles op-
ciones son Synplicitys Synplify Pro, Synplify, y Xilinxs XST.
Hardware Description Language: especifica el lenguaje HDL que se usar para la com-
pilacin, puede ser VHDL o Verilog.
Asimismo, en la opcin de Clocking se encuentran diferentes parmetros mostrados en
la Figura B.3 y se describen algunos a continuacin.
FPGA Clock Period: define el perodo en nanosegundos del reloj hardware y debe ser
un entero.
Clock Pin Location: indica cul es el pin del reloj. Esta informacin se le pasa a las
herramientas de implementacin de Xilinx a travs de un archivo (xcf o ngc) en el que
tambin se incluyen otro tipo de restricciones.
Simulink System Period: define el perodo de Simulink, en segundos.
Por otra parte, en la opcin General se muestra el parmetro Block Icon Display, ver
Figura B.4, el cual especifica el tipo de informacin que ser mostrada en los iconos de los
bloques.
Este parmetro cuenta con un men desplegable que tiene las siguientes opciones:
Default: muestra la informacin por defecto del bloque.
B.2. TIPOS DE SEALES EN SYSTEM GENERATOR 153

Figura B.4: Parmetros de la opcin General

Pipeline stages: indica la latencia de los puertos de entradas, cuya informacin no est
disponible para algunos bloques.
HDL port names: muestra el nombre de los puertos de entrada y salida.
Input data types: muestra los tipos de datos de las seales de entrada a los bloques, cuya
informacin suele ser til para resolver errores.
Output data types: muestran los tipos de datos de las seales de salida de los bloques.
Esta informacin suele ser til para resolver errores.
Para finalizar, en este apndice se describirn algunas formas de compilacin que se
pueden utilizar cuando se maneja el entorno System Generator, las ms importantes son:
HDL: sta es la compilacin por defecto. En ella se generan los archivos HDL, NGC y
EDIF necesarios para implementar el modelo diseado. Adicionalmente se crean otros ar-
chivos que simplifican este proceso. Todos los archivos creados se guardan en el directorio
que se indique en el bloque System Generator.
Bitstream: Esta compilacin crea un archivo bit que se puede cargar directamente en el
FPGA. Este archivo se llama nombre_cw.bit y se guarda en el directorio que se indique en
el bloque System Generator.
Hardware Co-simulation: Este tipo de compilacin es la que se utiliza para crear el
modelo que se usa en la co-simulacin hardware.
154 APNDICE B. SYSTEM GENERATOR

Timing: En ocasiones el hardware creado por System Generator puede no cumplir con
los requisitos de tiempo. System Generator proporciona una herramienta que permite rea-
lizar 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 cum-
plen 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 La corriente continua o corriente directa (CD en espaol, en ingls DC, de Direct


Current) es el flujo continuo de electrones a travs de un conductor entre dos puntos
de distinto potencial.

CORDIC El algoritmo de CORDIC se basa principalmente en sumas y desplazamientos


de bits, que lo hacen muy atractivo para la tecnologa en que divisiones y multipli-
caciones son caras computacional o fsicamente; como en los ejemplos presentados
anteriormente.

Cuadrotor Un cuadrotor es un helicptero con cuatro rotores, el cual permite tener una
mayor estabilidad que un helicptero normal

FPGA En Ingls Field Programmable Gate Arrays. Es un dispositivo semiconductor que


contiene bloques de lgica cuya interconexin y funcionalidad puede ser configura-
da mediante un lenguaje de descripcin especializado.

IA 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 APNDICE B. SYSTEM GENERATOR

PC Una computadora personal u ordenador personal, tambin conocida como PC (sigla


en ingls de Personal Computer).

PID Controlador que se compone de tres acciones: la accin Proporcional, Derivativa e


Integral.

SW Plataforma Software
Bibliografa

Aguirre, I., Metodologas de diseo para computacin reconfigurable, in XI Congreso Uni-


versitario 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 ges-
tin de la mezcla aire-gasolina en un motor alternativo, Ph.D. thesis, Universitat Politc-
nica 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 con-
troller 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

Coronel Lemus, M. E., Simulacin de sistema difuso para el control de velocidad de un


motor c.d, pp. 2534, 2004.

Economakos, G., and C. Economakos, A run-time reconfigurable fuzzy pid controller ba-
sed on modern fpga devices, in Control & Automation, 2007. MED07. Mediterranean
Conference on, pp. 16, IEEE, 2007.

Farid, M., and M. Faruq, Pid controller design for dc motor using matlab application, Ph.D.
thesis, Universiti Malaysia Pahang, 2008.

Galn, R., A. Jimnez, F. Marta, and R. Sanz, Control inteligente, Inteligencia artificial:
Revista Iberoamericana de Inteligencia Artificial, 4(10), 4348, 2000.

Garca, J. A. E., Modulador pwm en fpga para un inversor multinivel en cascada, Masters
thesis, CENIDET, 2009.

Garrido, R., D. Calderon, and A. Soria, Adaptive fuzzy control of dc motors, in Internatio-
nal Power Electronics Congress, 10th IEEE, pp. 16, IEEE, 2006.

Gonzlez, J. R. H., and V. J. M. Hernando, Redes neuronales artificiales: fundamentos,


modelos y aplicaciones, Ra-ma, 1995.

Grisales, V., J. Bonilla, M. Melgarejo, and M. Melgarejo, Diseo e implementacion de un


controlador difuso basado en fpga., microsistemas y lgica difusa, pp. 7181, 2001.

Hassan, M. Y., and W. F. Sharif, Design of fpga based pid-like fuzzy controller for industrial
applications, IAENG International Journal of Computer Science, 34(2), 192198, 2007.

Islam, M. S., N. Amin, M. Zaman, and M. Bhuyan, Fuzzy based pid controller using vhdl
for transportation application, International Journal of Mathematical Models and Met-
hods in Applied Sciences, 2(2), 143147, 2008.

Kamalasadan, S., and A. Hande, A pid controller for real-time dc motor speed control using
the c505c microcontroller, in 17th International Conference on Computer Applications
in Industry and Engineering (CAINE), Orlando, FL, pp. 3439, Citeseer, 2004.
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 con-


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


ciones, 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 es-
tudiantil 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 linea-
les, 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 barra-
esfera, 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), Mar-
zo 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 proba-


bilista, 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 servo-


hidrulicos 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), En-
glewood Cliffs, NJ: PTR Prentice Hall, 1994., 1994.
162 BIBLIOGRAFA

Wang, L.-X., and J. M. Mendel, Fuzzy basis functions, universal approximation, and ort-
hogonal 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 SbuckT
converter: A field programmable gate array implementation, Industrial Electronics, IEEE
Transactions on, 58(11), 52515262, 2011.

Das könnte Ihnen auch gefallen