Вы находитесь на странице: 1из 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 automtico no es la excepcin, ya que hoy en da se requieren sistemas inteligentes para controlar
mltiples procesos, algunos de estos procesos requieren tambin alta velocidad de procesamiento por lo que la exploracin hacia el uso de dispositivos FPGAs se encuentra en una
tendencia creciente.
En este trabajo se desarrolla un anlisis y comparacin de un controlador PID y PID
difuso en lgica reconfigurable aplicados al control de motores de CD, esto con el fin de
obtener conclusiones sobre el comportamiento de ellos.
Se realiza primeramente una bsqueda bibliogrfica en libros, revistas y artculos de
divulgacin cientfica, tanto fsica como digitalmente para obtener el conocimiento acerca
de estos sistemas, as tambin conocer lo que se ha realizado ltimamente. De esta manera
se establecen los fundamentos tericos de control y lgica difusa. El establecimiento de
estas bases ayuda a comprender el funcionamiento de los sistemas de control clsicos e
inteligentes, en especfico los basados en lgica difusa.
Posteriormente, se desarroll en software (Sw) ya que sirve como punto de partida para
el desarrollo ms importante, el cual esta realizado con lgica reconfigurable (plataforma
hardware, Hw). Se resume que en este trabajo se realizan 2 diseos en software y 4 arquitecturas en hardware. Estas ultimas estn divididas en una arquitectura del PID clsico y
se proponen 3 arquitecturas nuevas para el controlador PID difuso; las novedades de estas
arquitecturas son la flexibilidad en el diseo en una de ellas , as como tambin la estructura y distribucin de los bloques que hacen posible los clculos para obtener una seal de
control.

III

El anlisis realizado en este trabajo esta basado referente a los siguientes parmetros:
el tiempo de respuesta, comportamiento ante ruido y recursos hardware utilizados.
El anlisis y las comparaciones estarn basados en los siguientes rubros:
Tiempos de las seales de salida
Se realiza con el estudio del tiempo de respuesta, sobreelongacin, tiempo de subida y
tiempo de retardo, los cuales son medidos en tiempo continuo para el desarrollo Sw y en
ciclos de reloj para el desarrollo Hw.
Comportamiento ante ruido
El anlisis del comportamiento ante ruido se realiza tanto para los controladores en software como en los de hardware, este anlisis se realiza comparando la seal sin ruido contra la
seal con ruido y la seal con ruido con la seal de referencia, obteniendo el error cuadrtico medio y el error promedio.
Cantidad de recursos hardware
Se toman en cuenta las arquitecturas del PID y PID difuso para distintos dispositivos FPGAs, esto con el fin de conocer en que dispositivo conviene implementarlo.
Adems, este trabajo busca brindar bases en la toma de decisiones de los diseadores
al desarrollar sistemas de control clsicos como el PID e inteligentes como el PID difuso,
as como tambin en plataforma software y hardware.

IV

Agradecimientos
A Dios.
Por haberme permitido llegar hasta este punto y haberme dado salud para lograr mis
objetivos, adems de su infinita bondad y amor.
A mis padres.
Juan Pantoja Barbosa y Antonia Laces Hernndez, por mostrarme con paciencia, amor
y comprensin el camino hacia la superacin por medio del conocimiento.
A mis hermanos.
Juan Pantoja Laces y Briseida Pantoja Laces, por estar conmigo en mi formacin acadmica.
A mis familiares.
Porque gracias a su apoyo y consejos he llegado a realizar una de mis metas profesionales. En especial a mis tas Claudia Pantoja Barbosa, Eustolia Pantoja Barbosa y
Minerva Pantoja Barbosa.
A la Universidad del Istmo
Por haberme dado cobijo y por las lecciones que aprend en ella, asimismo, por haberme dado su voto de confianza y por todo el apoyo otorgado a mi persona. Tambin a la
PROMEP por la beca otorgada.

A mi director de tesis.
Dr. Ignacio Algredo Badillo por su gran apoyo y motivacin para la culminacin de
mis estudios profesionales y para la elaboracin de esta tesis; por su tiempo compartido y
por impulsar el desarrollo de mi formacin profesional.
A mis revisores de tesis.
A M.C. Ernesto Cortz Prez, M.C. Flix Emilio Luis Prez, Dr. Miguel ngel Hernndez Lpez y M.C Vctor Hugo Garca Rodrguez por su amabilidad, buena disposicin,
paciencia, por el tiempo que me dedico para que este trabajo culminara exitosamente, mi
agradecimiento sincero.
A mis profesores.
Que durante toda mi carrera han aportado con un granito de arena a mi formacin,
en especial a M.C. Sergio Jurez Vzquez, M.A.G.N. Silvia Reyes Jimnez, M.C. J. Jess
Arellano Pimentel por sus consejos y su enseanza.
A mi compaera, amiga y novia.
Claudia por estar en cada momento junto a m y brindarme apoyo incondicional.
A mis amigos.
Benito, Sergio, Rodolfo, Fajardo, Laurencio, Jos Roberto, Salvador, Francisco Javier,
Luis y los dems miembros de la banda que han estado conmigo y que los considero muy
buenos amigos.

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

<Rabindranath Tagore>

VI

ndice general
Resumen

III

Agradecimientos

1. Introduccin

1.1. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . .

1.2. Justificacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3.2. Objetivos especficos . . . . . . . . . . . . . . . . . . . . . . . . .

1.4. Hiptesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.5. Alcances y metas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.5.1. Alcances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.5.2. Metas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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 desarrollados en software . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.1.2. Seales de respuesta de los controladores PID y PID difuso desarrollados 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

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 mantenimiento de sistemas as como tambin los procesos automticos que se relacionan con ellos. Por
proceso se entiende una secuencia de operaciones para obtener un resultado en especfico,
mientras que el concepto de sistema es ms general, siendo comnmente definido como
un conjunto de elementos que interactan unos con otros para realizar una tarea (Ogata,
2003).
Existen muchos sistemas en la naturaleza, algunos naturales y otros creados por el hombre como los sistemas informticos, sistemas electrnicos, sistemas mecnicos, sistemas
elctricos, etc. Uno de los desafos de la ingeniera es determinar el funcionamiento de un
sistema actuante sobre otro sistema, por lo que se puede definir que un sistema de control
es el que regula el funcionamiento de otro sistema o proceso.
El control automtico tiene una intervencin cada vez ms importante en la vida diaria
y se ha convertido en parte importante e integral de los procesos modernos, industriales y de
manufactura. Adems, brinda los medios para lograr el funcionamiento ptimo de sistemas
dinmicos, mejorar la calidad y abaratar los costos de produccin.
Los sistemas de control automtico se pueden clasificar segn su estructura en dos categoras: los sistemas de control de lazo abierto y los sistemas de control de lazo cerrado
(Galn et al., 2000). Los primeros son los ms sencillos ya que el controlador no toma en
consideracin la respuesta del sistema que est controlando; por el contrario, los controladores de lazo cerrado s toman en cuenta la respuesta del sistema que controlan y son los
1

CAPTULO 1. INTRODUCCIN

ms utilizados. Existen una gran variedad de controladores de lazo cerrado, pero en particular el controlador clsico ms usado es el denominado controlador PID (ProporcionalIntegral-Derivativo) (Noriega del Castillo, 2011). ste se usa para controlar diversos sistemas como hornos, motores de CD (Corriente Directa), entre otros (Castillo, 2009; Farid
and Faruq, 2008; Kamalasadan and Hande, 2004).
En esta investigacin se abordar el control de los sistemas utilizando lgica reconfigurable, cuya planta es representada por motores de CD perteneciente a un robot mvil
del Cuerpo Acadmico de la ingeniera en Computacin de la universidad del Istmo cuyo proyecto es NPTC056 . El control de motores de CD est basado principalmente en el
uso de controladores de lazo cerrado, los cuales toman el error que existe entre la salida
obtenida y la salida esperada. Aunque el controlador PID es el ms empleado en este tipo
de control, en general, existen procesos reales donde estos controladores tienden a desestabilizarse debido a las perturbaciones no lineales, el desgaste de equipos y otros factores
que se presentan en los procesos o sistemas. Esto hace necesario que tengan que ser reajustados para las nuevas condiciones de operacin o funcionamiento de esos sistemas ante
la prdida de funcionalidad para controlar de manera adecuada. Actualmente se estudian
nuevos mtodos y mejoras a los mtodos clsicos para mejorar el rendimiento tanto en
tiempo de respuesta, recursos utilizados y mantenimiento a largo plazo sin la necesidad de
estar reajustndolos. Estos mtodos estn basados en Inteligencia Artificial (IA) y algunas
permiten un reajuste automtico como si lo hiciera un humano experto en la sintonizacin
de controladores.
El campo de la IA est todava en etapas de crecimiento comparadas con otras ramas de
la computacin, pero, poco a poco, el estudio del comportamiento humano dar paso para
aplicar estos conocimientos a las computadoras. Los logros actuales de la IA llevan desde
un robot capaz de recorrer distancias hasta mquinas capaces de jugar ajedrez. De esta
manera, entre uno de sus objetivos, la IA busca seguir creando mquinas capaces de facilitar
ciertas labores de los humanos, logrando as que la tecnologa tenga un avance mucho
mayor, adems de otros beneficios en ramas de la ciencia como computacin, medicina,
biologa, etc.
La inteligencia artificial se divide en diferentes reas: deduccin y demostracin automtica de teoremas, resolucin de problemas, mtodos de control y bsqueda, juegos,

formalismos y mtodos de representacin del conocimiento, procesamiento del lenguaje


natural, visin por computadora, sistemas expertos y aprendizaje (Munrriz, 1994); algunas 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 arquitecturas 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 implementacin 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

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 desventajas al momento de implementar sistemas de control en PC (Personal Computer), microcontrolador 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 modelan, 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 rendimiento. 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 diseo 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 implementacin. 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 secuencial (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 microcontroladores 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 procesamiento. 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

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 caractersticas 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 tecnologa 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 estudiados (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 inteligentes 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 comportamiento 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

CAPTULO 1. INTRODUCCIN

bajo plataforma software no cumplen en su totalidad con este requisito debido su paradigma
de programacin secuencial. Por lo que en este trabajo se estudia el uso de plataforma hardware usando lgica reconfigurable (uso de FPGAs) como opcin para desarrollar sistemas
eficientes y con un alto desempeo en velocidad de clculo, aprovechando el procesamiento
paralelo que ofrecen las arquitecturas hardware.
Por otra parte, cuando se desarrollan controladores, el establecer qu diseo es el ms
adecuado para una aplicacin resulta una tarea complicada, ya que se tendra que implementar una gran cantidad de controladores para despus para analizarlos y compararlos, lo
cual demandara tiempo y esfuerzo. De manera que, contar con un estudio realizado con un
anlisis en la seal de respuesta (Sw-Hw), respuesta ante ruido (Sw-Hw) y recursos utilizados (Hw) de los controladores resulta beneficioso, pues brinda conocimiento preliminar
til en el desarrollo de sistemas de control.
En este trabajo se abordar el anlisis y comparacin de controladores PID y PID difuso aplicados en el control de una planta que representada por motores de corriente directa.
El problema del PID, es que dadas las caractersticas lineales de este controlador, lo hacen
susceptible a problemas tales como ruido y perturbaciones por lo que son reajustados cada
vez que lo necesiten. Ante este tipo de inconvenientes, se requieren de nuevas formas de
control o de mejoras a los controladores clsicos como el PID. La bsqueda y la investigacin realizada apuntan al uso de IA, por ejemplo al uso lgica difusa, ya que sta se adapta
mejor al entorno y permite interpretar expresiones de la vida cotidiana, adems brinda una
repuesta rpida y precisa, disminuyendo las transiciones de estados fundamentales del entorno, por lo que combinado con un controlador PID da lugar al controlador PID difuso.

1.2.

Justificacin

Los controladores inteligentes como los difusos requieren algunos clculos que son
complejos y, en aplicaciones que requieran un buen desempeo en tiempo, llegan a tener
complicaciones con el nmero de clculos por segundo. Por lo que se buscan tecnologas de
alto desempeo que ayuden a solventar este tipo de problemas, en este trabajo se emplear

1.3. OBJETIVOS

tecnologa basada en lgica reconfigurable, sta se basa en el uso de dispositivos reprogramables como los FPGAs, los cuales proporcionan un alta capacidad de clculo por lo que
mejora en tiempo gran cantidad de procesos. De manera que, se propondrn arquitecturas
nuevas en hardware, de las cuales se obtendrn conocimiento til en la generalizacin de
arquitecturas hardware de controladores.
Adems de las arquitecturas propuestas, el anlisis y comparacin de los controladores
PID y PID difuso servir como conocimiento preliminar til en el desarrollo de sistemas de
control. Ya que hace uso de la lgica difusa empleada en control, la cual es importante un
futuro en un mundo en constante cambio, por lo que contar con tcnicas basadas en lgica
difusa resulta atractivo al ser ms viable, ya que se adapta mejor al entorno que los mtodos
de control clsicos y se estima que se ahorrarn los gastos de mantenimiento y los sistema
sern ms robustos ante perturbaciones.
La simulacin e implementacin del controlador PID y PID difuso se realizarn en dos
plataformas (hardware y software), homogeneizado bajo una misma planta a controlar (motor de CD). Se analizar el comportamiento de los controladores, para despus compararlos
y as obtener conclusiones acerca de ellos.
En resumen, se puede decir que el diseo y desarrollo de un controlador es una dificultad que se presenta al momento de trabajar con sistemas de control, por lo que esta
investigacin contribuir a tomar mejores decisiones con nuevas formas de control (lgica
difusa) y explorando plataforma de alto velocidad (lgica reconfigurable). Esto conllevar
a procesos mejor controlados lo cual es benfico para la industria y desarrollo cientfico.

1.3.

Objetivos

En esta seccin se menciona el objetivo general del trabajo de investigacin y los objetivos especficos que se esperan cumplir.

1.3.1.

Objetivo general

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

CAPTULO 1. INTRODUCCIN

el comportamiento en tiempo de respuesta, recursos utilizados de hardware y comportamiento ante ruido.

1.3.2.

Objetivos especficos

Analizar y establecer los fundamentos tericos de los sistemas de control, las funciones de transferencia, lgica difusa y lgica reconfigurable para comprender su
funcionamiento aplicado a sistemas de control.
Simular el controlador PID clsico y el controlador PID difuso con una misma planta
representada con un motor de CD, la simulacin se realizar bajo plataforma software
y hardware.
Implementar un controlador PID clsico y un controlador PID difuso en hardware.
Esta implementacin estar realizada lgicamente utilizando herramientas software
que emulan dispositivos hardware (FPGAs).
Establecer un criterio de evaluacin y obtener mediciones en tiempo de respuesta,
comportamiento ante ruido y recursos hardware.
Analizar y comparar las respuestas de cada controlador en plataforma hardware (FPGAs).

1.4.

Hiptesis

El anlisis y comparacin de sistemas de control PID y PID difuso en lgica reconfigurable es una contribucin en el conocimiento y toma de decisiones tiles en el diseo de
sistemas de control, por ejemplo en motores de CD en sillas ruedas y robots mviles.
El desarrollo en lgica reconfigurable de los controladores PID clsico y PID difuso
tendrn mejores prestaciones en referencia con sus similares desarrollados en software.

1.5. ALCANCES Y METAS

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 mtodos clsicos e inteligentes y lgica reconfigurable, se presenta a continuacin el marco
terico con el fin de establecer las bases tericas para el desarrollo de este proyecto.

2.1.

Sistemas de control

El control automtico interviene cada vez con ms frecuencia en la vida de los seres
humanos desde controles simples como los usados en un refrigerador o una tostadora automtica, hasta los sistemas complejos de control de vehculos espaciales, gua de misiles,
navegacin asistida en aviones, robots autnomos, entre otros. Asimismo, el control automtico con el transcurso de los aos se ha convertido en parte importante de procesos
industriales como control de presin, temperatura, velocidad, humedad, etctera.
Actualmente, la industria hace necesario disponer de sistemas de control que permitan
mejorar y optimizar los procesos ya existentes, en donde el hombre en ocasiones presenta deficiencias para realizar control, debido a que las capacidades fsicas de los humanos
como fuerza, rapidez (mental y motriz), exactitud, repetitividad, precisin, visualizacin,
entre otros, por lo que los humanos no son los indicados para usarse en determinados procesos; la industria espacial y de la aviacin, petroqumica, papelera, entre otros son algunos
ejemplos de lugares en donde se necesitan sistemas de control de alta complejidad ya que
los procesos que manejan as lo requieren.
11

12

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

Seal controlada

Seal de control
Controlador

Planta

Figura 2.1: Sistema de control abierto

La exactitud de los sistemas de lazo abierto depende de la calibracin, pues en la calibracin establece una relacin entre la entrada y la salida con el objetivo de obtener en
el sistema la exactitud deseada. Los sistemas de control de lazo abierto son econmicos
aunque comnmente inexactos, ya que stos no son sensibles a las perturbaciones; por eso,
el sistema de control abierto es til cuando se tiene la seguridad de que no existen perturbaciones que afecten su comportamiento. El uso de este tipo de controladores se debe a
su simplicidad y economa, y se utilizan en aplicaciones no crticas como los sistemas de
lavado automtico de ropa, control de sistemas de refrigeracin y los sistemas de control
en los semforos, pues slo dependen de la calibracin que se realice en el sistema.
Por otro lado, los sistemas de control de lazo cerrado son aquellos en que la salida o
seal controlada debe ser retroalimentada y comparada con la entrada de referencia; se debe
enviar una seal actuante o accin de control que responda a la diferencia entre la entrada
y la salida a travs del sistema para disminuir el error y corregir la salida. La propiedad
de retroalimentacin permite que la salida del sistema o cualquier variable del mismo sean
comparadas con la entrada al sistema o con cualquier componente del sistema para que
se tomen las acciones ms adecuadas. Entonces, un sistema de control retroalimentado
tiene como objetivo mantener una relacin preestablecida entre la salida y la entrada de
referencia, comparando ambas y utilizando la diferencia como variable de control.
Un sistema de control de lazo cerrado (ver Figura 2.2) es aquel cuya seal de salida
tiene efecto directo sobre la accin de control (tambin son conocidos como sistemas retroalimentados); la diferencia entre la seal de entrada y la seal de salida se la denomina

14

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.

Controlador

Seal controlada

Seal de control

Seal de error

Planta

Seal
retroalimentada
Retroalimentacin

Figura 2.2: Sistema de control retroalimentado

Los sistemas de control retroalimentados se pueden clasificar en diversas formas dependiendo del propsito de la clasificacin. Por ejemplo, de acuerdo con el mtodo de
anlisis y diseo, los sistemas de control se clasifican en lineales o no lineales y variantes
o invariantes en el tiempo (Prez, 2008). De acuerdo con los tipos de seales usados en el
sistema, se hace referencia a sistemas en tiempo continuo y en tiempo discreto, o sistemas
modulados y no modulados.
Lo sistemas de control en tiempo continuo son aquellos en los que las seales, en varias partes del sistema, son todas funciones de una variable continua en tiempo t, es decir,
el flujo de seales en todas partes del sistema es siempre continuo. La caracterstica fundamental de un sistema de control automtico continuo o analgico es la comparacin
continua o permanente entre el valor actual de la variable controlada y el valor deseado de
esta variable.
Los sistemas de control en tiempo discreto, ver Figura 2.3, difieren de los sistemas de
control en tiempo continuo en que las seales en uno o ms puntos del sistema son en
cdigo numrico digital. Normalmente, los sistemas en tiempo discreto se subdividen en
sistemas de control de datos muestreados y sistemas de control digital (Prez, 2008). Los
primeros se refieren a una clase ms general de sistemas en tiempo discreto en los que
las seales estn en la forma de pulsos de datos u ondas rectangulares. Por otra parte los

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

Computadora

Convertidor Digital/
Analgico

Planta

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 intervenga 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 controlada 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)
Amplificacin

Regulador o
Actuador

m(t)

Planta
controlada

y(t)

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 integrodiferenciales 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 dominio 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 suposicin que todas las condiciones iniciales son cero (Avila, 2011). El mtodo de la transformada 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 Laplace, 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 energa mecnica, principalmente mediante un movimiento rotatorio. Esta mquina de corriente
continua es una de las ms verstiles en la industria, ya que la principal caracterstica del
motor de corriente continua es la posibilidad de regular la velocidad y su principal inconveniente es que el mantenimiento es costoso y laborioso (Galn et al., 2000).
El motor se compone principalmente de dos partes:
El estator, el cual le brinda estabilidad al dispositivo dado que mantiene una posicin
fija, puede estar devanado o tener imanes permanentes dentro de ste.
El rotor de forma generalmente cilndrica, el cual est devanado y cuenta con un
ncleo; el rotor gira cuando le llega corriente mediante dos escobillas fijas en el
estator.
Una forma de clasificar a los motores de CD segn la excitacin de su campo magntico es:
excitacin serie, excitacin paralelo y excitacin independiente (Romero, 2001). Sin embargo la caracterstica de los dos primeros son no lineales, de manera que para aplicaciones
de control el ms usado es el motor de excitacin independiente.
En este proyecto se hace uso de un motor de CD, el cual es parte de un robot mvil
denominado ROCA, desarrollado en (Romero, 2001) y tambin usado en (Surez., 2006).
Los motores de este robot mvil descrito en este trabajo son de la marca Pittman de CD a 24
volts de la serie GM9000. En la actualidad se cuenta fsicamente con este robot mvil, ya
que es parte del proyecto del Cuerpo Acadmico de la Ingeniera en Computacin (CAIC)
en la Universidad del Istmo campus Tehuantepec, ese es el motivo de su utilizacin ya que
cumple con la caracterstica de ser un sistema real. Para obtener el comportamiento, se
hace uso del documento de (Surez., 2006), en el cual se realiz el modelado del motor de
corriente directa. De este estudio realizado se toma la funcin de transferencia para trabajar
en esta tesis, la funcin de transferencia se presenta en la ecuacin 2.2.

18

CAPTULO 2. MARCO TERICO

G(S) =

KT
(S)
= 2
Va (S) S Jm La + S (Jm Ra + DLa ) + DRa + KT KE

(2.1)

Donde
Jm es la inercia del rotor.
La es la inductancia del motor.
Ra es la resistencia del motor.
D es el coeficiente de friccin viscosa.
KT es la constante par o de torque.
KE es la constante de fuerza electromotriz.
(S) es la velocidad angular.
Va (S) es el voltaje de la entrada.
Sustituyendo los valores desde la hoja de especificacin, ver apndice la ecuacin de
transferencia es:
G(S) =

2.2.

(S)
4,58 x102
=
Va (S) 18,67 x109 S2 + 17,68 x106 S + 2,10 x103

(2.2)

Controladores clsicos

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 directamente proporcional a la velocidad con que cambia la variable controlada. Este controlador
genera una seal de salida mediante la combinacin de la accin proporcional anteriormente mencionada y la accin derivativa, la ecuacin 2.5 representa este controlador.

u(t) = k p

de(t)
e(t) + d
dt


(2.5)

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

kp
u(t) = k p e(t) +
I

Z t

e(t) dt

(2.7)



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

(2.8)

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 precisin dentro de la regulacin automtica. El controlador recibe su nombre ya que es una
combinacin de una accin de control proporcional, una accin de control integral y una accin de control derivativa por lo que se denomina accin de control proporcional integral
derivativa o PID. El algoritmo del clculo del control PID requiere de tres parmetros
distintos: el proporcional, el integral y el derivativo. El valor proporcional determina la
reaccin del error actual. El integral genera una correccin proporcional a la integral del
error, esto asegura que aplicado un esfuerzo del control suficiente, el error de seguimiento
se reduce a cero. El derivativo determina la reaccin del tiempo en el que el error se produce. El PID tiene las ventajas de cada una de las tres acciones de control individuales. La
ecuacin 2.9 representa el controlador con esta accin combinada.
kp
u(t) = k p e(t) +
I

Z t
0

e(t) dt + k p d

de(t)
dt

(2.9)

Representado con la transformada de Laplace, ver ecuacin 2.10.



U(S) = k p


1
1+
+ d S E(S)
I S

(2.10)

Cabe aclarar que los valores de k p , d , y I representan los mismos valores que anteriormente se mencionaron.
Los controladores PID se recomiendan para procesos con constante de tiempo larga en
los que no hay ruido del exterior. Adems, ellos son de gran utilidad cuando se regulan
procesos industriales como en el control de nivel, presin, flujo, temperatura, posicin y
velocidad; este ltimo tipo de planta es el estudiado en este documento ya que se desea
controlar la velocidad angular de un motor de corriente directa.
Como se ha visto existen una gran cantidad de controladores, sin embargo estos controladores clsicos tienen deficiencias que llegan a dificultar el control de procesos cuando se
presentan perturbaciones o ruido, por tal motivo se requieren controladores inteligentes. De
manera que se han explorado las tcnicas de la inteligencia artificial para implementarlas

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 razonamiento similares a los del pensamiento humano, contrario a la lgica convencional que
utiliza conceptos absolutos para referirse a la realidad.
La lgica difusa se presenta como una tcnica de la Inteligencia Artificial cuyo objetivo
es expresar el conocimiento de tipo lingstico en un lenguaje matemtico basado en la
teora de conjuntos difusos y funciones de pertenencia asociados a stos, en pocas palabras
la lgica difusa relaciona el contexto lingstico con datos numricos los cuales proporcionan precisin matemtica. La aplicacin de la lgica difusa en control de procesos presenta
ventajas dada su flexibilidad y tolerancia a imprecisiones ya que estn basados en el lenguaje natural, otra ventaja es que la lgica difusa trabaja excelentemente cuando los datos
no son precisos, caracterstica muy til cuando se trabaja con sistemas complejos o reales.

2.3.1.

Variables lingsticas

En la vida diaria se usan palabras para describir variables, por ejemplo, cuando se dice
la expresin que hoy hace fro y que es equivalente a decir que la temperatura es baja.
Se utiliza la palabra baja para describir la temperatura actual. Cuando las variables toman
nmeros como sus valores, se tiene un marco de trabajo formulado matemticamente, pero
cuando la variable toma palabras como sus valores, entonces no se consigue este marco,
por tal motivo se introduce el concepto de variable lingstica si una variable puede tomar
palabras en lenguaje natural como sus valores (Pedrycz, 1993).
Las variables lingsticas son importantes en la representacin del conocimiento humano, ya que cuando se mide una variable y se tiene un valor numrico como salida, posteriormente se le pregunta a un experto humano para que evale dicha variable. Los humanos

24

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 precisos (Passino and Yurkovich, 1998), por lo que las variables lingsticas son adecuadas
cuando se disean e implementan sistemas difusos ya que cada una puede representar un
conjunto difuso o una equivalencia matemtica representada por una funcin de pertenencia basada en el lenguaje humano.

2.3.2.

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 determinado conjunto. Por lo tanto, cada conjunto puede definirse completamente por una funcin
de pertenencia que opera sobre los elementos del universo y que le asigna un valor de 1 si
el elemento pertenece al conjunto y de 0 si no pertenece. Por su parte, un conjunto difuso
se define de forma similar aunque con una diferencia la cual es que un elemento puede
pertenecer parcialmente a ms de un conjunto, con un valor de pertenencia ponderado. Las
primeras diferencias que se hacen evidentes entre los conjuntos clsicos y los conjuntos
difusos segn (Ortiz and Liu, 2004) son las siguientes:
La funcin de pertenencia asociada a los conjuntos concretos slo pueden tener dos
valores: 0 o 1, mientras que en los conjuntos difusos pueden tener cualquier valor
entre el intervalo cerrado 0 y 1.
Un elemento puede pertenecer (parcialmente) a un conjunto difuso y simultneamente pertenecer (parcialmente) al complemento de dicho conjunto, lo anterior no es
posible en los conjuntos clsicos.
Las fronteras de un conjunto clsico son exactas, es decir, un elemento pertenece o no
pertenece a dicho conjunto, en tanto que las de un conjunto difuso son, precisamente
difusas, ya que existen elementos en las fronteras mismas, y estos elementos pueden
pertenecer al mismo tiempo a ms de un conjunto difuso con diferente grado de
pertenencia.

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 representa el universo de discurso y el eje Y sita los grados de pertenencia que estn definidos de 0 a 1. Al momento de definir un conjunto difuso se puede utilizar cualquier funcin,
sin embargo, existen ciertas funciones que son comnmente usadas debido a la simplicidad matemtica; entre stas estn la funciones triangulares, trapezoidales, parablicas y
Gaussianas. A continuacin se describen algunas funciones de pertenencia:
Funcin triangular
La funcin triangular se define como muestra la ecuacin 2.11:.

triangular (x; a, b, c)

xa

,x a

cx

cb

,b x c

ba

,a x b

(2.11)

,c c

Donde a, b y c representan la coordenada del eje horizontal de los vrtices del triangulo
formado.Un ejemplo de una funcin triangular usando el software MatLab es mostrada en
la Figura 2.6

26

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:

xa

ba
trapezoidal (x; a, b, c, d) 1

dx

dc

xa
axb
bxc

(2.12)

cxd
dx

Donde a, b, c y d representan la coordenada del eje horizontal de los vrtices del trapecio formado. Un ejemplo de la funcin trapezoidal usando el software MatLab, se ve en la
Figura 2.7.

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

gaussiana (x; , a) = e 2 (

xc 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:
campana (x; a, b, c) =

1
2b
1 + | xc
a |

(2.14)

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 condiciones referidas a las entradas del sistema; la segunda parte de la regla es denominada
consecuente y es la accin a ejecutarse (Gonzlez and Hernando, 1995) .
A continuacin se muestra un ejemplo de una regla difusa de la forma Sientonces:
Si la temperatura es baja entonces hacer ms fuego

30

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 numrico concreto de una variable de entrada en un conjunto difuso que representa dicho
valor.
El primer paso consiste en tomar las entradas y determinar el grado al que ellos pertenecen con respecto a cada uno de los conjuntos difusos apropiados y la entrada siempre es
un valor numrico limitado al universo del discurso de la variable de entrada.
Los fuzzificadores se pueden clasificar en dos categoras segn (Mndez and Morales,
2008): el fuzzificador unitario y el no unitario. Un fuzzificador unitario produce un conjunto

32

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) =
0

x es x = y Univ

(2.15)

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 proposiciones 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 dominios de las variables lingsticas A y C por lo que el grado de verdad de la implicacin
es:
El antecedente de la proposicin es A es B y es representado por una conjunto difuso
B.
El consecuente de la proposicin es C es D y es representado por el conjunto D.
El significado de la evaluacin de la expresin es una relacin difusa que se expresa de la
siguiente manera, ver ecuacin 2.16.
(A,C) = B(A) D(C)

(2.16)

En donde el operador puede ser un simple producto cartesiano o algn operador de implicacin difuso. Si el antecedente o el consecuente son proposiciones compuestas, entonces se calcula primero la funcin de pertenencia de la proposicin compuesta y el operador
es aplicado a las funciones de pertenencia resultantes. Por lo que cualquier operacin o relacin en lgica difusa corresponde a operaciones y relaciones entre funciones pertenencia
que dan como resultado otras funciones de pertenencia (Rivas, 2005).
Inferencia
Los sistemas difusos Mamdani reciben este nombre debido al mtodo de inferencia que
utiliza en este caso Mamdani. El mecanismo de inferencia es el encargado de disparar las
reglas, es decir, obtener una salida difusa a partir de una entrada difusa. Existen dos tipos
de inferencia, las cuales son (Rivas, 2005):
Inferencia basada en composicin: las relaciones difusas que representan el significado de cada regla individual son agregadas a la relacin difusa. Esta operacin se
realiza mediante una composicin entre la entrada fuzzificada y la relacin que describe al conjunto de reglas. El resultado de la composicin es el conjunto difuso que
describe el valor de la salida.

34

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 consecuencia 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 defuzzificacin. Este mtodo encuentra el centro del rea del conjunto difuso que resulta de
combinar todos los conjuntos difusos obtenidos en el disparo individual de reglas. Este
mtodo toma el rea del conjunto resultante como un todo, es decir, que si dos conjuntos
individuales se traslapan entre s, este hecho no se toma en cuenta, matemticamente este
mtodo esta definido por la ecuacin 2.17.
l

fi ( fi)

fCOA =

i=1
l

(2.17)

( fi)

i=1

Donde fCOA representa la coordenada del centro de rea, fi son los distintos valores que
puede tomar la salida f y representa el conjunto difuso obtenido al aplicar el procedimiento de inferencia. Este mtodo es el ms utilizado en los procesos de control y se ha
aplicado a un sin numero de proyectos que realizan control difuso, de manera que en este
proyecto se har uso de l.
Un ejemplo numrico basado en la figura 2.14es el siguiente:
Se tienen tres funciones A, B y C de pertenencia que representan conjuntos de salida,
los cuales tiene los siguientes parmetros en los rangos de los conjuntos.
LimiteizquierdoA = 0,2 CentroA = 0,275 LimitederechoA = 0,35
LimiteizquierdoB = 0,5 CentroA = 0,6 LimitederechoA = 0,7
LimiteizquierdoC = 0,8 CentroC = 0,9 LimitederechoA = 1
La ponderacin de cada conjunto de salida es :
PondA = 0,8

36

CAPTULO 2. MARCO TERICO

PondB = 0,7
PondC = 0,5
Para realizar el mtodo COA se establece la siguiente formula:
fCOA =

CentroA PondA +CentroB PondB +CentroC PondC


PondA + PondB + PondC

Sustituyendo en la formula
fCOA =

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


= 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 resultante 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 funciones de pertenencia de salida sean lineales o constantes (Nicols Nicols, 2008). Un sistema
difuso del tipo Sugeno est compuesto por los elementos que se muestran en la Figura 2.17
y que se explican a continuacin.
Fuzzificador: Transforma las entradas normales en entradas difusas entendibles por el
sistema Sugeno (el funcionamiento es idntico que el explicado en el anterior sistema
difuso).
Base de Reglas: El conjunto de reglas que se utilizan en un sistema Sugeno son
diferentes a las reglas para sistemas Mamdani, debido a que el elemento consecuente
de las reglas ya no es una variable lingstica, sino que es una funcin de entrada, ver
la forma de la regla representada en la Figura 2.18.

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 diferentes 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 (ajustado por cualquier tcnica) a un controlador difuso FPD+I. Este controlador tambin se le
conoce como PID difuso y la ecuacin 2.18 lo define matemticamente.
u(t) = [ f (ke e), kde de + ki ie)] ku = FPD + I(e, de)

(2.18)

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 integral del error. La aproximacin lineal empleada tiene el objetivo de buscar una semejanza
entre dos tipos de controladores: el PID clsico y el PID difuso. Es posible aproximar el
FPD con un PD clsico debido a que el FPD est diseado para emular a un PD, por lo tanto, con la ecuacin 2.20 se est representando de manera aproximada el comportamiento
predictivo del controlador difuso junto con la accin integral.

2.4. SISTEMAS DIFUSOS

41



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

(2.20)

Por otro lado, la ecuacin 2.21 representa al controlador PID ideal:


de 1
u(t) = e + d +
dt I

e dt

(2.21)

Se puede observar semejanzas entre las ecuaciones 2.20 y 2.21, de la comparacin entre
ellas surge la ecuacin 2.22, 2.23 y 2.24.
k p = ke ku

(2.22)

d = kde ke

(2.23)

1
ki
=
I
ke|

(2.24)

Cabe aclarar que el ajuste de los controladores difusos tambin se ven afectados por los
valores de las funciones de pertenencias por lo cual queda a conocimiento del diseador
una sintonizacin adecuada tomando las funciones de pertenencia y las ganancias de los
controladores.
Comnmente la estructura de lgica difusa que se ocupa en el controlador FPD+I es el
de Mamdani, por lo que en este proyecto se hara uso de l.
Los controladores inteligentes como los difusos requieren operaciones en sus etapas de
fuzzificacin, inferencia y defuzzificacin. Algunos clculos son complejos y, en aplicaciones que requieran un buen desempeo en tiempo, llegan a tener complicaciones con el
nmero de clculos por segundo. Por lo que se busca tecnologas de alto desempeo que
ayuden a solventar este tipo de problemas, una de estas tecnologas es la lgica reconfigurable, sta se basa en el uso de dispositivos reprogramables como los FPGAs, los cuales
proporcionan un alta capacidad de clculo por lo que mejora en tiempo gran cantidad de
procesos.

42

CAPTULO 2. MARCO TERICO

2.5.

Lgica reconfigurable

Existen dos mtodos principales de implementar sistemas reales en la computacin tradicional, el primero es usar un Circuito Integrado de Aplicacin Especfica o ASIC. Se
disean ASICs para realizar una tarea en especial, estos dispositivos son muy rpidos y eficaces siempre y cuando realicen exactamente la aplicacin para la que han sido diseados.
El inconveniente es que despus de la fabricacin el circuito no puede alterarse, lo cual lo
hace caro si el diseo necesita modificaciones posteriores a su desarrollo.
El segundo es el uso de los microprocesadores (MP) y microcontroladores (MC), los
cuales presentan una solucin ms flexible. Los MP y MC realizan sus operaciones ejecutando un conjunto de instrucciones, por lo que las modificaciones resultan poco costosas
ya que no cambiara de hardware como lo hara los ASIC, la desventaja de esta flexibilidad
es que la velocidad de actuacin est por muy debajo del de un ASIC. El procesador debe
leer cada instruccin de la memoria, determinar su significado, y slo entonces lo ejecuta.
Adems, el conjunto de instrucciones no puede cambiarse ya que se estableci desde el
diseo, por lo que cualquier otro funcionamiento no ser permitido y costar un tiempo
alto de ejecucin si se desarrolla fuera del MP o MC.
La computacin reconfigurable como tambin se le conoce, ocupa el espacio entre los
ASIC y MP, mientras consigue un desempeo ms rpido que los microprocesadores mantiene un nivel ms alto de flexibilidad que los ASICs. Este tipo de computacin se consigue
con la utilizacin de FPGAs. Los FPGAs son introducidas por Xilinx en 1985 y consiste en
una matriz bidimensional de bloques configurables que se pueden conectar mediante recursos generales de interconexin (Varela Rincn and Loaiza Pulgarn, 2008). En realidad lo
que se programa en un FPGA son los conmutadores que sirven para realizar las conexiones
entre los diferentes bloques, ms la configuracin de los bloques.
Actualmente, los FPGAs se han utilizado para acelerar una variedad de aplicaciones.
Para lograr estas ventajas, las aplicaciones utilizan la programacin reconfigurable, normalmente se forman sistemas con una combinacin de lgica reconfigurable.

2.5. LGICA RECONFIGURABLE

2.5.1.

43

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 realizado 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 electrnicos digitales con un buen compromiso costo-prestaciones y permiten obtener una implementacin 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 interconexion. 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 mercado 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 autnoma. 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 secuencial y logrando ms en cada ciclo de reloj.
Tiempo en llegar al mercado
La tecnologa FPGA ofrece flexibilidad y capacidades de rpido desarrollo de prototipos
para enfrentar los retos de que un producto se libere tarde al mercado. Se prueba una idea y

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 programa. Los FPGAs no necesitan sistemas operativos, minimizan los retos de fiabilidad con
ejecucin paralela y hardware preciso dedicado a cada tarea.
Mantenimiento a largo plazo
Los FPGA se pueden actualizar cuando ya han sido implementados y no requieren el tiempo y el precio que implica redisear un ASIC. Los FPGA, al ser reconfigurables, son capaces de mantenerse al tanto con modificaciones a futuro que pudieran ser necesarias. Mientras el producto o sistema se va desarrollando, se puede implementar mejoras funcionales
sin la necesidad de invertir tiempo rediseando el hardware o modificando el diseo de la
tarjeta.
2.5.2.2.

Tecnologas de programacin

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 contnuamente 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. Independientemente del fabricante elegido para el diseo, ciertamente el ms beneficiado en esta
competencia es el usuario final de los FPGAs.
A pesar de tratar de diferenciarse uno del otro, en realidad los FPGAs de los diferentes
fabricantes tienen muchos componentes en comn, tales como bloques lgicos programables, bloques de memoria de doble puerto, bloques para ejecucin de MACs ( Multiplicador Acumulador o bloques DSPs), bloques de control de reloj, bloques de entrada/salida,
etc.
Recientemente la revista electrnica ESD (Embedded Systems Design) y EEtimes
(Electronic Engineering Times) realizaron un estudio de mercado llamado 2009 Embedded Market Study (Garca, 2009). El estudio revel que Xilinx ocupa desde hace unos
aos el primer lugar como proveedor de FPGA a nivel mundial en el desarrollo de sistemas
embebidos, tambien indica que en segundo lugar est el fabricante Altera. Es importante
mencionar que las diferencias entre Xilinx y Altera, a nivel de silicio, son mnimas pues
ambos fabricantes tienen productos similares. Sin embargo, existen diferencias evidentes.
Xilinx tiene una tendencia por la reconfiguracin dinmica, mientras que Altera la ha descartado totalmente. Otra diferencia es el nivel de las herramientas que se emplean para
programar los FPGA, ya que Xilinx permite trabajar a un nivel de programacin ms bajo
que Altera. En esta proyecto se hace uso de la tecnologa proporcionada por Xilinx.
La empresa Xilinx ofrece al mercado dos tipos de FPGAs: una de bajo costo, performance media y otra de alto costo, performance alta-muy alta. La primera se denomina la
familia de los FPGA Spartan, y la segunda los FPGA Virtex. Debido al crecimiento del mercado se han ido renovando cada cierto periodo de tiempo. Por ejemplo, la familia Spartan
evolucion de Spartan pasando a Spartan 2, Spartan 3 y la recientemente lanzada Spartan

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 reconfigurable.
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 interna en un FPGA consiste en un conjunto de pistas o trazas que pueden conectarse mediante elementos de conexin programables.
Bloques entrada/salida (Input/Output). Constituyen una interfaz bidireccional programable 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 descritas en la literatura abierta, debido a que mucha de la informacin es propiedad de los
fabricantes.

Captulo 3
Antecedentes
En esta investigacin se realiz una bsqueda exhaustiva de trabajos relacionados basados principalmente en tesis de licenciatura y maestra, as como tambin en artculos de
divulgacin cientfica. Los temas principales son acerca de lo que se ha realizado en el
campo de control clsico y control inteligente sobre motores de CD. A continuacin se
muestran algunos de estos trabajos relacionados, divididos en dos grandes grupos segn la
implementacin: Software y Hardware. Cada grupo est dividido en dos subgrupos: control clsico y control inteligente, estos ltimos estn basados en tcnicas de inteligencia
artificial de lgica difusa.

3.1.

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 amplificadores 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 sintonizacin 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 controlador 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 relevancia 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 controlar 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 controlador: 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 como 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 implementacin 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 pequeo 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 controlador 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 perturbaciones, 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 Spartan 3E y LabView, este trabajo muestra cmo trabajar con una tarjeta de adquisicin de
datos y tarjetas con ncleo FPGA.
Por otra parte, en (Londoo, 2011) se presenta el diseo e implementacin de un sistema para el control de posicin de un motor CD basado en FPGA. Se describen los mdulos
implementados en la FPGA que se encargan de la generacin de la trayectoria de arranque,
la lectura de la seal del encoder y el controlador PI. La comparacin entre los resultados
de la simulacin y los datos experimentales permiten validar el funcionamiento del sistema
desarrollado. La diferencia en el comportamiento de la seal de error para los resultados
de la simulacin y los resultados experimentales se relaciona principalmente con el modelado del motor, sin embargo el comportamiento es aproximado entre los resultados de
simulacin y los experimentales.
En (Trimeche et al., 2008) se describe una metodologa para la construccin de controladores PID en FPGAs, esta metodologa mejora la velocidad, la precisin, energa y la
rentabilidad de los controladores. El autor de este documento concluye que los controladores PID en FPGAs obtienen mejores resultados respecto a otras implementaciones digitales,
esta conclusin es til ya que establece las bases que guan cuando se comparan distintos
controladores.
Otro documento que se revis fue (Sonoli and Konduru, 2010), en donde se desarroll
una aplicacin mediante el lenguaje VHDL (Very High Speed Integrated Circuit Hardware

54

CAPTULO 3. ANTECEDENTES

Description Language) para el FPGA Spartan 3 XC3S400. Esta aplicacin est basada
en un controlador PID para el control de velocidad de motor de corriente continua. Las
herramientas utilizadas para crear y probar los mdulos de software son Xilinx ISE 9.2i
y ModelSim XE III 6.3c. El trabajo antes mencionado reporta que los controladores PID
implementados en hardware son ms veloces y precisos que otra forma de implementacin
digital como los microprocesadores y microcontroladores.
Por ltimo, en (Murthy et al., 2008) se realiza una implementacin FPGA de un controlador PID, el cual se aplic en vehculos terrestres no tripulados. El desarrollo de este
trabajo se realiz con una herramienta adicional de Simulink llamada System Generator
(SysGen), esta herramienta segn el autor hace fcil el diseo y la implementacin de sistemas digitales por su alto nivel de abstraccin. Se considera importante esta herramienta,
ya que en este trabajo de tesis se har uso de ella ya que es una rpida manera de desarrollar
y simular arquitecturas hardware.
Los trabajos anteriormente mencionados son configurados en las tarjetas FPGA de
prueba, la diferencia entre estos trabajos y el desarrollado en esta tesis es que en la tesis
solo se enfocar a la implementacin de arquitecturas hardware. Tambin, la descripcin
de trabajos permite conocer el funcionamiento de controladores en plataforma hardware, y
sto proporciona una base de conocimientos para analizar los controladores inteligentes en
hardware, los cuales se presentan en la siguiente seccin.

3.4.

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 hardware, el cual resuelve el problema de control preciso de un sistema no lineal con un controlador digital PID difuso, haciendo el diseo de MatLab y la implementacin en un FPGA.
En el documento establece que si se aumenta el nmero de reglas en la inferencia difusa,
ste se vuelve ms preciso, alcanzando la seal de referencia en menos tiempo.
Por otra parte, en (Obaid et al., 2009) se disea un controlador PID digital difuso usando el lenguaje de programacin VHDL para un FPGA y se establecieron 64 reglas para
la inferencia difusa. El controlador produce una respuesta en 20.8 ns con 75.85 MHz de
frecuencia, por lo que es capaz de formar parte de sistemas complejos que requieran una
respuesta rpida. Entre ms reglas tenga el sistema difuso es ms preciso y sin embargo el
costo en recursos es mucho mayor, de manera que en este trabajo de tesis se establece un
sistema difuso que cumpla con un buen funcionamiento con su nmero de reglas y con un
bajo costo en recursos hardware.
Otro documento revisado es (Lpez et al., 2006), ste describe una metodologa para
disear un controlador PID difuso para ser implementado en un FPGA. El desarrollo del
controlador se bas en el comportamiento dinmico del error, diferencial del error y la
salida del sistema. El autor reporta que el controlador PID difuso tiene un tiempo de respuesta rpido, un sobreimpulso mnimo y un error en la salida pequeo, asimismo, comenta
que la arquitectura del controlador implementado sobre un dispositivo reconfigurable, le da
naturaleza abierta para cambios con el objetivo de aumentar el rango de control y la comunicacin con la PC.
Por ltimo, se ha revisado (Islam et al., 2008) en donde se propone un controlador
PID basado en lgica difusa utilizando VHDL, ste es aplicado a un sistema de crucero
de transportes, en donde el sistema bajo el concepto difuso se ha desarrollado para evitar
la colisiones entre vehculos en la carretera, este trabajo es interesante ya que comenta la
importancia de tener un sistema que responda en tiempo real y adems se trata de una
aplicacin en que se la vida humana est de por medio.

56

CAPTULO 3. ANTECEDENTES

3.5.

Discusin

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 concluye 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 difusa. 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 controladores:
PID
PID difuso.
Primeramente el desarrollo se realizar en software, sto para establecer un prembulo
de conocimientos y para conocer el comportamiento de cada controlador. En plataforma
software, los controladores PID clsico y PID difuso se desarrollarn utilizando Simulink
de MatLab 2012a junto con un toolbox MatLab Fuzzy, las cuales proveen una interfaz
grfica donde se puede describir completamente un sistema difuso.
Posteriormente, una vez ya conocido el funcionamiento y el comportamiento de los
controladores a desarrollar se proceder a disear las arquitecturas hardware. Para esto se
utilizan unas herramientas software que sirven para disear y simular la plataforma hardware, las cuales son Simulink de MatLab 2012a junto con System Generator (SysGen),
57

58

CAPTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

anteriormente mencionado (verB apndice B). SysGen cuenta con una opcin llamado Timing and Power Analisis, que genera un reporte de tiempos en donde muestra el periodo
mnimo y la frecuencia mxima de operacin de la arquitectura, asimismo se obtiene un
resumen de los recursos hardware usados en cada arquitectura, el cual es importante al
momento de comparar los controladores.
En las secciones siguientes se establece el diseo y desarrollo de los controladores PID
y PID difuso primeramente en software y posteriormente en hardware.

4.1.

Controlador PID

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
referencia

Seal de error

Gp

+
Gi

Gd

Seal
retroalimentada

+
Planta

Seal controlada

Retroalimentacin

Figura 4.1: Diagrama esquemtico del controlador PID conectado a una planta.

Donde Gp = ke , Gd = kd y Gi = ki . Estas tres ganancias multiplican las acciones Proporcional, Integral y Derivativa, por lo que al sintonizar se deben proporcionar estas ganancias para obtener una respuesta satisfactoria. La sintonizacin en el desarrollo de este
controlador se basa en prueba y error, ya que es el mtodo simple y rpido en comparacin

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 motores de CD cuya funcin de transferencia es la mostrada en la ecuacin 2.2. Por lo que en
Simulink se realiza el diagrama del controlador PID ms la planta a controlar; la conexin
de la planta y el controlador se muestra en la Figura 4.2.

0.0645
Gain1

du/dt
Step

Derivative1

1
s
Integrator1

0.0005
Gain2

4.58e-2
18.67e-9s2 +17.68e-6s+2.10e-3

Scope2

Transfer Fcn3

3
Gain3

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)

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

Operacin Deriv ada

In1

Derivada del
error = de

Error
a
a -b
b
d

z-1

Register1

1
Out1

AddSub5
Error
anterior

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

Integral del error = ie

In1

a+b
b

Out1

AddSub2
Register2
Convert4
ie
previo

cast

z-1

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

In
Gateway In

CMult

a
b

AddSub2

Register3

AddSub

x 0.009995

a+b

Convert4

Register2

cast

q z-1 d

z-1

a
b

Scope2

a+b

AddSub1
Gateway Out

a
a-b

cast
Convert1

Step

cast
Convert

INTEGRAL

CMult2

a a+b
b

Out

4.58e-2
18.67e-9s2 +17.68e-6s+2.10e-3

AddSub3
Transfer Fcn1

DERIVATIVO
a
d z-1 q
Register1

a-b

x 0.004501

b
AddSub5

cast
Convert2

CMult1

System
Generator

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 proporcional y derivativo, sumndose con la parte integral. El diagrama del controlador anexando
la planta es el que se muestra en la Figura 4.6.

Ke

ce
Kde

CE

Ki

IE

Ku

PD RULES

Seal de
control
U

Planta

Seal
controlada

Z-1
ie
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. Primeramente 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, parablicas 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 realizan 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

triangular (x, p1 , p2 , p3 ) =

63

xa

ma

bx

a<x<m

x<aox>b

bm

m<x<b

(4.3)

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 computacionalmente. 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.
N=

bN x
bN mN

(4.4)

Z1 =

x aZ
mZ aZ

(4.5)

Z2 =

bZ x
bZ mZ

(4.6)

P=

x aP
mP aP

(4.7)

66

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.

Entrada E
Entrada CE
Salida O

Conjunto N
NentradaE
NentradaCE
Nsalida

Conjunto Z
ZentradaE
ZentradaCE
Zsalida

Conjunto P
PentradaE
PentradaCE
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
NentradaE
ZentradaE
PentradaE

NentradaCE
Nsalida
Nsalida
Zsalida

ZentradaCE
Nsalida
Zsalida
Psalida

PentradaCE
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

No.
1
2
3
4
5
6
7
8
9

E
Si
Si
Si
Si
Si
Si
Si
Si
Si

NentradaE
NentradaE
NentradaE
ZentradaE
ZentradaE
ZentradaE
PentradaE
PentradaE
PentradaE

op.
<
<
<
<
<
<
<
<
<

67

CE
NentradaCE
ZentradaCE
PentradaCE
NentradaCE
ZentradaCE
PentradaCE
NentradaCE
ZentradaCE
PentradaCE

entonces
entonces
entonces
entonces
entonces
entonces
entonces
entonces
entonces

O
Nsalida = NentradaE
Nsalida = NentradaE
Zsalida = NentradaE
Nsalida = ZentradaE
Zsalida = ZentradaE
Psalida = ZentradaE
Zsalida = PentradaE
Psalida = PentradaE
Psalida = PentradaE

sino
sino
sino
sino
sino
sino
sino
sino
sino

O
Nsalida = NentradaCE
Nsalida = ZentradaCE
Zsalida = PentradaCE
Nsalida = NentradaCE
Zsalida = ZentradaCE
Psalida = PentradaCE
Zsalida = NentradaCE
Psalida = ZentradaCE
Psalida = PentradaCE

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 cuadrada; ki representa el valor de salida de cada regla una variable cualquiera. Con el uso de la
RSS se le da a cada conjunto de salida su respectiva fuerza ponderada aunque en ocasiones
no es necesaria, en este trabajo de tesis se analizar el uso de la RSS aplicada a un conjunto
de reglas y posteriormente tambin se analizar la no utilizacin de sta.
En este trabajo de tesis se clasifican las reglas segn el conjunto de salida determinado
por su consecuente, ver Cuadro 4.4.
Conjunto de salida
Nsalida
Zsalida
Psalida

Reglas pertenecientes
1, 2 y 4
3, 5 y 7
6, 8 y 9

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

R21 + R22 + R24

(4.9)

R23 + R25 + R27

(4.10)

q
Psalida = R26 + R28 + R29

(4.11)

Nsalida =

Zsalida =

Con cada operacin se obtiene un valor para cada conjunto de salida, sin embargo sigue
siendo un valor difuso, de manera que la defuzzificacin se hace necesaria para convertir
este valor difuso a un valor numrico.
En control, el mtodo de defuzzificacin ms usado es el centroide o centro de rea,
COA, (Sanchez, 2009), este mtodo consiste en multiplicar la fuerza ponderada de cada
funcin miembro de salida (F pi ) por los puntos centrales de su respectiva funcin (Ci ).
El resultado se divide por la suma de las fuerzas ponderadas de cada funcin miembro
de salida, ver ecuacin 4.12. Finalmente, se obtiene un nmero el cual representa el valor
ponderado en la funcin de pertenencia de salida.
N

F pi Ci
Centroide = i=1
N
i=1 F pi

(4.12)

Una vez obtenido el valor numrico de la defuzzificacin, se procede a sumar este valor
con la accin integral como es mostrado en la Figura 4.6. Por ltimo se debe calibrar las
ganancias y el rango de las funciones de pertenencia del sistema. Una opcin es realizar
el mtodo basado en la transferencia de ganancias descrito en la Seccin 2.4.2 y posteriormente, un reajuste usando el mtodo prueba y error de los rangos de las funciones de
pertenencia de los conjuntos de salida. Otra opcin es utilizar solamente el mtodo prueba
y error para calibrar todas las ganancias y las funciones de pertenencia, con este mtodo se
ahorra anlisis matemtico y es ms rpido de implementar, por lo que en los controladores
desarrollados en esta tesis se utiliz este mtodo prueba y error en los PID y prueba y error
ms transferencia de ganancias en los PID difusos.

4.2. CONTROLADOR PID DIFUSO

4.2.1.

69

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

18.67e-9s2 +17.68e-6s+2.10e-3
Derivativo
1-z-1

Fuzzy Logic
voltajeController1

Transfer Fcn1

1
Discrete Filter

Figura 4.11: Diagrama del controlador Difuso


Cabe mencionar que el controlador difuso solo usa dos acciones: proporcional y derivativo 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.

Scope2

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 realizar su desarrollo en software. Actualmente, existe una herramienta software especializada
que realiza clculos de la fuzzificacin, inferencia y defuzzificacin. Esta herramienta permite 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 derivada 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

Figura 4.14: Variable de entrada error

Figura 4.15: Variable de entrada derivada del error

73

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

Step2

Gain1
du/dt
Derivative

1
s
Integrator

0.0078

Fuzzy Logic
Controller

4.58e-2
18.67e-9s2 +17.68e-6s+2.10e-3
Scope2

Gain
Transfer Fcn1

Gain2

2
Gain3

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 realizar, primeramente, el mdulo difuso cubriendo cada una de las etapas mostradas en la
Figura 4.21, para posteriormente introducirlo a un controlador PID desarrollado anteriormente en hardware en la subseccin 4.1.2.

Figura 4.21: Etapas del mdulo difuso a desarrollar en hardware


La Figura anterior tambin representa los mdulos a desarrollar utilizando la herramienta 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 controlador PID difuso en hardware.
Arquitectura 1
Es conveniente tener flexibilidad en el sistema ya que en un futuro se pretende generalizar el uso de la arquitectura del controlador. Si se tiene flexibilidad se facilita el proceso
de calibracin ya que resulta complicado estar modificando la arquitectura con cada combinacin de los conjuntos de entrada y de salida, lo cual tomara gran cantidad de tiempo y
esfuerzo.
Se toma la decisin de realizar una arquitectura que lleve a cabo un paso de parmetros
desde el editor de MatLab, es decir introducir lineas de cdigo ver Figura 4.22 para despus
ejecutarlas, esto con el fin de guardar su valor en el workspace de MatLab como se muestra
en la Figura 4.23.

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 defuzzificacin.
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 operaciones 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

[NEG]

Out1
Out2

Goto
[SEL2]

Out5

Goto1
[ZERO]

Out4

Goto3
[POS]

In1

[SEL2]

Goto2

Selector
de activacin

From5
c1

c1
1
In1

In

a1

a -b
b

c1

cast

Gateway In2
From
Workspace

NEGATIVO
z -28 y/x
div

AddSub4

cast
Convert2

In

b1
x

a -b
b

[NEG]
CORDIC DIVIDER

AddSub

b1

a-b

In

From Gateway In8


AddSub1
Workspace6

d0

Constant
ZERO1

1
Out1
4

Convert6

z -29 y/x
div

AddSub2

Register

cast

Convert9

In

d
z-1 q
en

sel
x

cast

a-b
b

From Gateway In7


Workspace8

Convert1

In

From
Gateway In1
Workspace2

From Gateway In6


Workspace7

From
Gateway In
Workspace1

In

cast
cast

d1

Convert4
CORDIC DIVIDER2

Out4

From6

d
z-1 q
en

Convert10

3
Out3

Register2
ZERO2

cast

d2

Convert5
e1

In

a-b
From Gateway In3
b
Workspace4
c1

In

Convert7
z -29 y/x
div

cast
Convert3

d
z-1 q
en

a-b

In

POSITIVO

AddSub5

From Gateway In4


Workspace5

c1

d1
a
In
cast
x
a-b
From Gateway In9 b
Workspace10
Convert11
AddSub7
c1
In

cast

cast

Register1
[POS]

Out2

CORDIC DIVIDER1 From7

From Gateway In10


Workspace11
d1

5
Out5

Convert8

From Gateway In5 AddSub3


Workspace3

In

d3

Constant1
z -29y/x
div

Mux

y
a

cast
From Gateway In11 b a - b
CORDIC DIVIDER3
Workspace9
Convert12
AddSub6

[ZERO]
From1

6
Out6

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 algoritmo 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 principalmente 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 operaciones 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 mdulo establece qu conjuntos de entrada se activan en un momento determinado. Esto es
importante ya que se obtiene un cdigo de activacin til en la inferencia de reglas, ms
adelante se explica detalladamente. El desarrollo en SysGen se muestra en la Figura 4.27
para el primer mdulo de fuzzificacin.
1

In1

b1

In

From Gateway In1


Workspace2

za

b
Z1

Relational2
a

-1

b
c1

a1
a
In
z-1
ab
Gateway In b
From
Workspace1
Relational

-1

a
b

a<b

and

Logical1

From Gateway In6


Workspace7

or
Logical4

-1

e11

In

From Gateway In7


Workspace8

Z2

ab

hi
d1

In

z-1
a<b

From Gateway In2 Relational7


Workspace3

Logical3

lo

Concat1

2
Out2

e1

In

Gateway In3
From
Workspace4

and
z-1
ab

Logical

Relational1

Relational4

Relational6
a

1
Out1

3
Out5

In

From Gateway In4


Workspace5

Relational3

In

Gateway In5
From
Workspace6
c1
In

z-1
a<b

a
a11

N
and

and

4
Out4

z-1
ab

Logical2

b
Relational5

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.
[NEG]

Out1
Out2

Goto
[SEL2]

Out5

Goto1
[ZERO]

Out4

Goto3
[POS]

In1

[SEL2]

Goto2

Selector
de activacin

From5
c2

c2
1
In1

In

a2

a -b
b

c2

cast

Gateway In2
From
Workspace

NEGATIVO
z -28 y/x
div

AddSub4

cast
Convert2

In

b2
x

y
a -b

[NEG]
CORDIC DIVIDER

AddSub

b2

From Gateway In8


AddSub1
Workspace6

d0

cast

a-b

In

0
Constant
ZERO1

1
Out1
4

Convert6

z -29 y/x
div

AddSub2

Register

cast

Convert9

In

d
z-1 q
en

sel
x

cast

a-b
b

From Gateway In7


Workspace8

Convert1

In

From
Gateway In1
Workspace2

From Gateway In6


Workspace7

From
Gateway In
Workspace1

In

cast

d1

Convert4
CORDIC DIVIDER2

Out4

From6

d
z-1 q
en

Convert10

3
Out3

Register2
ZERO2

cast

d2

Convert5
e2

In

From Gateway In3


b
Workspace4
c2

In

a-b

d2

cast
x

AddSub5
z -29 y/x
div

From Gateway In4


Workspace5

d
z-1 q
en

y
a-b

In

c2
cast
Convert3

a
c2

From Gateway In9


Workspace10

POSITIVO

Convert7

From Gateway In5 AddSub3


Workspace3

cast

Register1
[POS]

2
Out2
5
Out5

Convert8
CORDIC DIVIDER1 From7

In

In

a
b

a-b

cast

AddSub7

d3

Constant1

Convert11
z -29y/x
div

Mux

From Gateway In10


Workspace11

y
[ZERO]
d2
a
In
cast
From Gateway In11 b a - b
From1
CORDIC DIVIDER3
Workspace9
Convert12
AddSub6

6
Out6

Figura 4.28: Mdulo de fuzzificacin2 de la entrada determinada por la derivada del error
Cabe destacar que los parmetros de entrada son los correspondientes a los rangos de la
variable de entrada CE que estn en el workspace. Tambin, como en el mdulo anterior de
fuzzificacin1, se cuenta con el bloque Selector_de_activacin en la Figura 4.29 se muestra
su diseo.

4.2. CONTROLADOR PID DIFUSO

85

In1

b2

a
b

In

From Gateway In1


Workspace2

za

z-1
a<b

and

Logical1
or

e22

In

From Gateway In7


Workspace8

Z2

ab

hi
d2

In

Logical3

From Gateway In2 Relational7


Workspace3

lo

Concat1

Logical

z-1
a<b

2
Out2

e2

In

Gateway In3
From
Workspace4

and
z-1
ab

1
Out1

Relational1

Relational4

Relational6
a

N
and

Logical4
-1

In

From Gateway In4


Workspace5
Out5

z-1
a<b

a
a22

Relational3

In

From Gateway In6


Workspace7

Relational2

b
c2

Z1

Gateway In5
From
Workspace6
c2
In

a2
a
In
z-1
ab
Gateway In b
From
Workspace1
Relational

-1

and

4
Out4

z-1
ab

Logical2

b
Relational5

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

VALORES DE ACTIVACIN DE
LOS CONJUNTOS DE ENTRADA
1
In1

[ACTNEG1]
Goto6

2
In2

[ACTZERO1]

3
In3

[ACTPOS1]

4
In4

[ACTNEG2]

Goto7
Goto8

Goto9

5
In5

[ACTZERO2]
Goto10

6
In6

[ACTPOS2]
Goto11

From36
[ENEG]

[ACTNEG1]

In1

From18
[ACTNEG2]

In2

From19
[ACTNEG1]

In3

Out1

Out2

From20
[ACTZERO2]

In4

From21
[ACTZERO1]

In5

From34
[ACTNEG2]

[S1]
Goto12

[S2]
Goto1

Out3

[S3]

In6

Goto2

From35
Subsystem

In1

In2

From
[CENEG]

In3

From1
[S2]

In4

From37
[ENEG]

In5

Out1

In1

From2
[CEZERO]
From3

In6

[S3]

In7

Out3

In2 Out1
In3

1
Out1

ROOT SUM SQUARE

From38
[EZERO]

In8

From4
[CENEG]

In9

Out4

From5
VALORES NUMERICOS DE LA
FUZZIFICACIN
7
In7
8
In8
9
In9
10
In10

REGLAS CONJUNTO DE SALIDA N

SELECTOR DE REGLAS ACTIVAS


CONJUNTO DE SALIDA N

[S4]
From39
[ENEG]

[ENEG]
Goto
[EPOS]
Goto13
[EZERO]
Goto14
[CENEG]
Goto3
[CEPOS]

11
In11

Goto4

12
In12

[CEZERO]
Goto5

[ACTNEG1]

In1

From22
[ACTPOS2]

In2

From23
[ACTZERO1]

In3

From24
[ACTZERO2]

In4

From25
[ACTPOS1]

In5

From26
[ACTNEG2]

In6

[S4]

Out1

Goto15

[S5]
Goto16

In2

From6
[CEPOS]
From7

In3

[S5]

In4

From40
[EZERO]
Out2

In1

From8
[CEZERO]

Out1

In1
In5

Out3

In3

[S6]

Out3

From27

Goto17

Subsystem1

2
Out2

ROOT SUM SQUARE1

From9
[S6]

In2 Out1

In6

In7

From41
[EPOS]

In8

From10
[CENEG]

In9

Out4

From11
REGLAS DE CONJUNTO DE SALIDA Z

SELECTOR DE REGLAS ACTIVAS


CONJUNTO DE SALIDA Z
[S7]

[ACTZERO1]

In1

From28
[ACTPOS2]

In2

From29
[ACTPOS1]

In3

Out1

In4

From31
[ACTPOS1]

In5

From32
[ACTPOS2]

Goto18

Out2

From30
[ACTZERO2]

[S7]

In1

From42
[EZERO]

In2

From14
[CEPOS]

In3

Out1

From15
[S8]

In4
In1

[S8]

From43
[EPOS]

In5

Goto19

From16
[CEZERO]

In6

Out3

In3

Out3

[S9]

In6

Goto20

From33
Subsystem2

SELECTOR DE REGLAS ACTIVAS


CONJUNTO DE SALIDA P

3
Out3

ROOT SUM SQUARE2

From17
[S9]

In2 Out1

In7

From44
[EPOS]

In8

From12
[CEPOS]

In9

Out4

From13
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]
From18
[ACTNEG2]
From19

[ACTNEG1]
[S1]

and

From22
[ACTPOS2]

Goto12
Logical

[ACTNEG1]
From20
[ACTZERO2]
From21

From35

[S4]
Goto15

Logical2

[ACTZERO1]
[S2]

and

From24
[ACTZERO2]

Goto1

and

[S5]
Goto16

From25

Logical1

[ACTZERO1]
From34
[ACTNEG2]

and

From23

Logical3

[ACTPOS1]
[S3]

and

From26
[ACTNEG2]

Goto2

and

From27

Logical8

[S6]
Goto17

Logical4

SELECTOR DE REGLAS ACTIVAS


CONJUNTO DE SALIDA Z

SELECTOR DE REGLAS ACTIVAS


CONJUNTO DE SALIDA N
[ACTZERO1]
From28
[ACTPOS2]
From29

[S7]

and

Goto18
Logical5

[ACTPOS1]
From30
[ACTZERO2]
From31

[S8]

and

Goto19
Logical6

[ACTPOS1]
From32
[ACTPOS2]
From33

[S9]

and

Goto20
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

sel

b
Relational
1
In1

d0

2
In2

d1

1
Out1

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
In1

sel

0
2
In2

In1

3
In3

In2

d0

Constant2
Out1

1
Out1

d1
Mux

REGLA 1

4
In4

sel

0
5
In5

In1

6
In6

In2

d0

Constant3
Out1

d1
Mux1

REGLA 2

7
In7
0

8
In8

In1

9
In9

In2

2
Out3

sel

d0

Constant4
Out1

3
Out4

d1
Mux2

REGLA 3

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

a
1
In1

z-3
a

cast

b
Convert4
Mult

a
a+b
a

b
2

91

In2

z-3
a

a+b

cast

AddSub
Convert5

z -31 sqrt x

cast
Convert1

1
Out1

AddSub1
Mult1
CORDIC SQRT1
a
3
In3

z-3
a

cast

b
Convert6
Mult2

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

2
AddSub

In2

a+b

AddSub1
3
a

In3
a3

z-3
a

In

cast
Convert1

Gateway In1

From
Workspace

z -28 div
y/x

Mult
a+b

b
a
c3

In

From
Workspace2

cast

Mult1

AddSub2
a
b

a
e3

In
Gateway In3

z-3
a

1
Out1

CORDIC DIVIDER

Convert2

Gateway In2

From
Workspace1

z-3
a

cast
Convert4

cast

a+b

AddSub3

Convert3
Mult2

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
Out1

ERROR

[ACT NEG1]

Out2

Goto
[EPOS]

[ACT ZERO1]

Out3

Goto1
[EZERO]

Out4

Goto2
[ACT NEG1]

[ACT POS1]

In1

In1

base de reglas e inferencia

Goto6
[ACT ZERO1]

Out6

Goto7
[ACT POS1]

[CENEG]

[EZERO]

[CEPOS]

[EPOS]

[CEZERO]

[CENEG]

[ACT NEG2]

In8

In9

In10

From4

Goto9

[CEZERO]

[ACT ZERO2]

Out3

In11

In3

From5

Goto10

[CEPOS]

[ACT POS2]

Out6

Out1

From3

Goto5

Out5

Out1

In7

From2

Goto4

Out4

In6

From1

Goto3

In1

In2

In5

From60
[ENEG]

In2

Out2

In4

From59
[ACT POS2]

Out3

In1

From58
[ACT ZERO2]

fuzzificacin2

Out1
In3

From57
[ACT NEG2]

Goto8

Out2

In2

From56

Out5

Out1

In1

From55

FUZZIFICACION1

DERIVADA
DEL ERROR

defuzzificacin

[ENEG]

In12

From6

Goto11
FUZZIFICACION2

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 controlador PID para formar el PID difuso.

PROPORCIONAL

Step1

x 0.02

BLOQUE DIFUSO
DE LA ARQ. 1

cast
Convert

DERIVATIVO

In

Out1
In2

Gateway In2
a

Subsystem2
a-b

In
Gateway In3
z-1

x 0.007004

b
a-b

Sy stem
Generator

In1

CMult

z-1

AddSub5

cast

CMult1

[aux2]

INTEGRAL
AddSub

Out

a+b

18.67e-9s2 +17.68e-6s+2.10e-3

Transfer Fcn2

AddSub1

Scope3

From1

Register1
Register3

4.58e-2

Gateway Out

Convert3

a
x 0.0003052

a+b

cast

[aux1]

Convert1
AddSub2

CMult2
Register2

Convert4
cast

[aux1]

In1 Out1

From

[aux2]
Goto

Subsystem
Goto1

z-1

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 arquitectura ya no cuenta con la flexibilidad de la primera en donde se usaba el bloque de Sysgen
FromWorkspace. En este diseo se introducen los valores resultantes de la calibracin realizada, para esto se sustituye cada bloque de FromWorkspace por un bloque Constant, en la
Figura 4.39 se muestra un ejemplo de esta sustitucin.
2

Con paso de parmetros

In2

b2

a
b

In

From Gateway In1


Workspace2

z-1
ab

z-1
a<b

b
c2

In

Gateway In5
From
Workspace6
c2
In
Gateway In6
From
Workspace7

Z1
and

Relational10
a

a2
a
In
z-1
ab
Gateway In b
From
Workspace1
Relational8

a22
Logical6

From Gateway In4


Workspace5

Relational11

or

Out7

-1

e22

In

Gateway In7
From
Workspace8

Z2

Relational12

z-1
a

lo

Logical8

e2
From
Workspace4

Gateway In3

and

z-1
a

Logical7

In

Out6

Concat2

Gateway In2 Relational15


From
Workspace3

Out8

a
hi

In

z-1
a<b

and

d2

Logical5

Relational9

Relational14
a

z-1
a<b

a
b

5
Out3

Logical9
a

In

N
and

Relational13

Sin paso de parmetros

In1

-12.5

a
b

Constant

z-1
ab

Relational2
a

z-1
a<b

Constant3

Logical

a<b

3
0

Constant7
z

-1

z-1
a<b

Relational4

z-1
a

Relational7

Logical3

Concat1

25

and

4
Out4

lo

Z2

hi
12.5

1
Out1

-1

Constant6
or

and

Constant1

Relational1

Relational6
a

and

a
b
0

Logical1

Out5

z-1
a

Relational

Logical4
a

Z1

Constant2
0

and

Relational3

-25
Constant4

-1

Logical2

Out2
Constant5

Relational5

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 activacin, 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.

PROPORCIONAL

Step1

x 0.02

BLOQUE DIFUSO
DE LA ARQ. 2

cast
Convert

DERIVATIVO

In

CMult

Out1
In2

Gateway In2
a

Subsystem2
a-b

In
Gateway In3
z-1

x 0.007004

b
a-b

Sy stem
Generator

In1

z-1

AddSub5

cast

AddSub

Out

a+b

18.67e-9s2 +17.68e-6s+2.10e-3

CMult1

[aux2]

INTEGRAL

Transfer Fcn2

AddSub1

Scope3

From1

Register1
Register3

4.58e-2

Gateway Out

Convert3

a
x 0.0003052

a+b

cast

[aux1]

Convert1
AddSub2

CMult2
Register2

Convert4
cast

[aux1]

In1 Out1

From

[aux2]
Goto

Subsystem
Goto1

z-1

Figura 4.40: Diagrama final de la arquitectura 1


Arquitectura 3
La arquitectura 3 tiene como ncleo la segunda con algunas modificaciones, la modificacin 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
In4

a
b

a+b

2
In5

AddSub4

a+b

AddSub5
3
a

In6
-15

cast
a

cast
AddSub6

Mult4
a
b

z-3
a

-3

z -28 div
y/x

a+b

Convert6

Constant1

Constant2

Mult3
a

15

Convert5

Constant

z-3
a

CORDIC DIVIDER1

a
b

a+b

AddSub7

cast
Convert7

Mult5

Figura 4.42: Defuzzificacin con tres entradas

cast
Convert8

1
Out2

4.2. CONTROLADOR PID DIFUSO

97

a
b

a+b

AddSub1

a
b

a+b

AddSub2

a
a+b

AddSub4

a
a

a+b

AddSub5

a+b

a
b

AddSub6

a+b

AddSub7

a+b

AddSub15
1

In1

-15

-15

-15

z-3
ab

a+b
b
cast
AddSub3

a+b

z -28 div
y/x
y

cast
a

Convert3

Constant5

AddSub8

-3

ab

a
b

Mult2
a

In3

Convert2

Constant4
3

cast

Mult1
a

In2

ab

Convert1

Constant3
2

Mult6
b

In4

Mult7
a

15
Constant11

cast

z-3
ab

cast
a

z-3
ab

a+b
b
cast
AddSub11

Mult11
a

In9

ab

a+b

AddSub10

Convert13

Constant10
9

a
b

-3

Mult10
a

15

AddSub9

Convert12

Constant9

In8

b
cast

Mult9
a

15

a+b

AddSub14

Convert11

Constant8

In7

z-3
ab
Mult8

In6

b
a+b

Convert10

Constant7
6

cast
a

1
Out1

a+b

AddSub13
z-3
ab

cast
Convert4

CORDIC DIVIDER2

Convert9

Constant6

In5

a+b

AddSub16

-3

z-3
ab

a
b

a+b

AddSub12
cast
Convert14

Mult12

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

ERROR

[ENEG]

Out2

Goto
[EPOS]
Goto1
[EZERO]

[ACT ZERO1]

Out3
Out4

Goto2
[ACT NEG1]

[ACT POS1]

In1

In1

base de reglas e inferencia

Out1

[ACT NEG1]

Out6

Goto7
[ACT POS1]

[ACT ZERO2]

fuzzificacin2
[CENEG]

In3

Out4

In4

Out5

In5

[EZERO]

[CEPOS]

[EPOS]

[CEZERO]

Out4

[ACT NEG2]

Out5

[ACT ZERO2]

Out1

In7

Out1

In8

Out6

In6

Out7

In7

Out8

In8

Out9

In9

From2

Goto4
Out3

In6

From1

Goto3

In9

From3

Goto5

[CENEG]

In10

From4

Goto9

[CEZERO]

In11

From5

Goto10

[CEPOS]

[ACT POS2]

Out6

In5

From60
[ENEG]

In2

Out3
In4

From59
[ACT POS2]

In1

In2

From58

Goto8

Out2
In3

From57
[ACT NEG2]

FUZZIFICACION1

DERIVADA
DEL ERROR

In1

In2

From56

Goto6
[ACT ZERO1]

Out2

Out1

From55

Out5

Out1

In1

defuzzificacin

In12

From6

Goto11
FUZZIFICACION2

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.

PROPORCIONAL

Step1

x 0.02

BLOQUE DIFUSO
DE LA ARQ. 3

cast
Convert

DERIVATIVO

In

Out1
In2

Subsystem2
a-b

In
Gateway In3
z-1

x 0.007004

b
a-b

Sy stem
Generator

In1

CMult

Gateway In2

z-1

AddSub5

cast

AddSub

a+b

Out

18.67e-9s2 +17.68e-6s+2.10e-3

CMult1

[aux2]

INTEGRAL

Transfer Fcn2

AddSub1

Scope3

From1

Register1
Register3

4.58e-2

Gateway Out

Convert3

a
x 0.0003052

a+b

cast

[aux1]

Convert1
AddSub2

CMult2
Register2

Convert4
cast

[aux1]

In1 Out1

From

[aux2]
Goto

Subsystem
Goto1

z-1

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 controladores PID clsico y PID difuso en software y en hardware.
En la seccin 5.1 se muestran, analizan y comparan las seales de respuesta de cada
controlador.
En la seccin 5.2 se estudia el error y el comportamiento de los controladores ante
ruido.
En la seccin 5.3 se analizan, comparan y muestran los recursos hardware usados en
las arquitecturas propuestas.

5.1.

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 respuesta de los controladores desarrollados en software y posteriormente los desarrollados en
hardware.
Para los controladores desarrollados en software se medir el tiempo de subida, tiempo
de retardo, tiempo pico, sobreelongacin y tiempo de establecimiento, utilizando como
unidad los segundos. Para los controladores hardware se medirn los mismos parmetros

101

102

CAPTULO 5. RESULTADOS

con la nica diferencia que no se utilizarn segundos sino ciclos de reloj como valor de
medida, el tiempo en segundos estar dado por la frecuencia mxima o el periodo mnimo
de la arquitectura establecido en el anlisis de recursos utilizados. El nmero de ciclos de
reloj del sistema y el numero de ciclos de retroalimentacin no estn dados en segundo
hasta que se implementen en FPGA en el proceso Place and Rute.

5.1.1.

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

Parmetros medidos
Tiempo de retardo
Tiempo de subida
Tiempo pico
Sobreelongacin
Tiempo de asentamiento

Smbolo
td
tr
tp
MP
ts

103

Valor obtenido
1,01s
1,12s
0s
0
1,12s

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 controlador 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
Tiempo de retardo
Tiempo de subida
Tiempo pico
Sobreelongacin
Tiempo de asentamiento

Smbolo
td
tr
tp
MP
ts

Valor obtenido
1,015s
1,08s
0s
0
1,08s

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 tiempo 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 establecimiento 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
Tiempo de retardo
Tiempo de subida
Tiempo pico
Sobreelongacin
Tiempo de asentamiento

Smbolo
td
tr
tp
MP
ts

Valor obtenido (cc)


2
34
0
0
34

Ciclos de Retroalimentacin
1
34
0
0
34

Cuadro 5.3: Tiempos y Sobreelongacin del controlador PID en hardware


Asimismo, se muestran los nmeros de ciclos de retroalimentacin, un ciclo de retroalimentacin 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 controlador 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
Tiempo de retardo
Tiempo de subida
Tiempo pico
Sobreelongacin
Tiempo de asentamiento

Smbolo
td
tr
tp
MP
ts

Valor obtenido (cr)


83
700
0
0
700

Ciclos de Retroalimentacin
1
8
0
0
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 eliminaron 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 mencionar que se iguala a la arquitectura con paso de parmetros en el numero de iteraciones
de lazo cerrado. Los dems valores medidos en la seal de salida se muestran en el cuadro
5.5.

108

CAPTULO 5. RESULTADOS

Parmetros medidos
Tiempo de retardo
Tiempo de subida
Tiempo pico
Sobreelongacin
Tiempo de asentamiento

Smbolo
td
tr
tp
MP
ts

Valor obtenido (cr)


62
530
0
0
530

Ciclos de Retroalimentacin
1
8
0
0
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 defuzzificacin 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 obtenidos 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 anteriores 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
Tiempo de retardo
Tiempo de subida
Tiempo pico
Sobreelongacin
Tiempo de asentamiento

Smbolo
td
tr
tp
MP
ts

Valor obtenido
30
135
0
0
135

Ciclos de Retroalimentacin
1
4
0
0
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 respuesta 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 referencia 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.
E prom =
Donde:

eabs1 + eabs2 + eabs3 + eabs4 + + eabsN


N

(5.1)

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 medio (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
Erms =

e2abs1 + e2abs2 + e2abs3 + e2abs4 + + e2absN


N

(5.2)

Donde:
e es el error entre las seales.
N es el numero de muestras que toma para el anlisis.
El error cuadratico medio muestra la medida de las diferencias en promedio entre los
valores pronosticados y los observados.

5.2.1.

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 mostrado en el cuadro 5.7.
Tamao de muestra
133,951

E prom Seal de salida y


seal de referencia
13.0289

Erms Seal de salida y


seal de referencia
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 controlador PID difuso es mostrado en el cuadro 5.8.
Tamao de muestra
133,951

E prom Seal de salida y


seal de referencia
13.2886

Erms Seal de salida y


seal de referencia
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 muestra 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 controlador PID difuso es mostrado en el cuadro 5.9.
Tamao de muestra
6,598

E prom Seal de salida y


seal de referencia
7.5652

Erms Seal de salida y


seal de referencia
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 controlador PID difuso es mostrado en el cuadro 5.10.
Tamao de muestra
6,384

E prom Seal de salida y


seal de referencia
0.0929

Erms Seal de salida y


seal de referencia
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 desarrollados, 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

du/dt
Step

Derivative1

4.58e-2

0.0005

18.67e-9s2 +17.68e-6s+2.10e-3

Scope2

Add

Gain2

Transfer Fcn3

1
s
Integrator1

3
Uniform
Gain3
Uniform Noise
Generator

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

Tamao de muestra
133,951

Erms Seal con ruido y


seal sin ruido
1.8741

117

Erms Seal con ruido y


seal de referencia
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 uniform noise para que se sume con la salida del controlador PID difuso, ver Figura 5.15.

0.0645
1

Step

Gain4

Fuzzy Logic
voltajeController1

Gain

4.58e-2
18.67e-9s2 +17.68e-6s+2.10e-3

Scope2

Add1
Transfer Fcn3

du/dt
Derivative
1
s

0.0078
Gain5
2.1

Integrator

Gain6
Uniform
Uniform Noise
Generator1

Figura 5.15: Diagrama del PID difuso con ruido en software


Se estableci como valor de referencia una funcin escaln de valor 24; el comportamiento 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.
Tamao de muestra
133,951

Erms Seal con ruido y


y seal sin ruido
1.2641

Erms Seal con ruido y


seal de referencia
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 comportamiento 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 comparacin 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

In
Step

Gateway In

In

CMult

a+b

INTEGRAL

a-b
b

b
AddSub1

Gateway In1

a+b
AddSub

x 0.009995

AddSub4

cast

a
a+b

Convert1

Register2
Convert4

a+b

cast

z-1

Out

AddSub3

In

Scope2

Gateway Out

CMult2

4.58e-2
18.67e-9s2 +17.68e-6s+2.10e-3
Transfer Fcn1

AddSub2

Gateway In2

DERIVADA
a
a-b
d

z-1

x 0.004501

b
AddSub5

Register1

Sy stem
Generator

cast
Convert2

Uniform

CMult1
Uniform Noise
Generator

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.
Tamao de muestra
6,598

Erms1 Seal con ruido y


seal sin ruido
2.0677

Erms2 Seal con ruido y


seal de referencia
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 arquitectura 3 que no posee paso de parmetros ni el mtodo RSS, ya que esta arquitectura tuvo
menor tiempo de establecimiento. En el diseo de controlador del PID difuso en hardware,
la adicin de ruido se realiza con el uso de bloque de Simulink uniform noise , este bloque
se agrega al sistema como se muestra en la Figura 5.20.
PROPORCIONAL
[aux4]
cast

x 0.02
Step1

In

DERIVATIVO

Out1

CMult

Subsystem1
a -b

z-1

CMult1

[aux2]

4.58e-2

Out

a+b

18.67e-9s2 +17.68e-6s+2.10e-3

a+b
b

INTEGRAL

a -b
a

In

Gateway In3 AddSub

a+b

Uniform

x 0.001205

cast
Convert1

Uniform Noise
Generator

CMult2
Sy stem
Generator

Goto1
q

z-1

[aux3]
Goto3

[aux1]

Register2
Convert4
cast

In
Gateway In5

b
AddSub2

HW4

T ransfer Fcn2

AddSub3

AddSub1

From1

Register1

Convert3

AddSub5

Gateway Out

cast

x 0.007004

b
d

PID DIFUSO

In2

Gateway In2

From3

In1

Convert

[aux3]

In1 Out1

From2

[aux4]

[aux1]

Goto2
Subsystem2

In1 Out1

From

[aux2]
Goto

Subsystem

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 controlador 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 controlador 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.
Tamao de muestra
6,384

Erms Seal con ruido y


y seal sin ruido
1.3790

Erms Seal con ruido y


seal de referencia
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 arquitecturas hardware.

5.3. RECURSOS HARDWARE DE LAS ARQUITECTURAS PROPUESTAS

5.3.

123

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 anlisis 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 establecimiento 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 calcular 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
/



>

^
/

K

Z
h^
h

h
EZ



h&&



E>hd



h



h



E^



Z
W
&

D,

W

Z^
h^
h

h
EZ



h&&



E>hd



h



h



E^



Z
W
&

D,
Zs
h^
h

h
EZ



h&&



E>hd



h



h



E^



Z
W
&

D,

/



>

^
/

K
W
/



>

^
/

K

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

Parmetros medidos
Tiempo de retardo
Tiempo de subida
Tiempo pico
Sobreelongacin
Tiempo de asentamiento

Smbolo
td
tr
tp
MP
ts

cicle clock
2
34
0
0
34

T. en Artix7
4.35 ns
74.086 ns
0 ns
0 ns
74.086 ns

T. en Spartan 6
3.84 ns
65.314 ns
0 ns
0 ns
65.314 ns

125

T. Virtex 5
3.27 ns
55.59 ns
0 ns
0 ns
55.59 ns

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 utilizados en tres diferentes tecnologas FPGA: Artix 7, Spartan 6 y Virtex 5 de las arquitectura
1, 2 y 3.
Arquitectura 1 (PID difuso con paso de parmetros y RSS)
En el cuadro 5.17 se presentan los recursos hardware obtenidos de la arquitectura 1.

126

CAPTULO 5. RESULTADOS


Z
Y



Z
h^
h

h
EZ



h&&



E>hd



h



h



E^



Z
W
&

D,


Z
Y



Z^
h^
h

h
EZ



h&&



E>hd



h



h



E^



Z
W
&

D,


Z
Y



Zs
h^
h

h
EZ



h&&



E>hd



h



h



E^



Z
W
&

D,

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

Parmetros medidos
Tiempo de retardo
Tiempo de subida
Tiempo pico
Sobreelongacin
Tiempo de asentamiento

Smbolo
td
tr
tp
MP
ts

cicle clock

T. en Artix7

T. en Spartan 6

T. Virtex 5

83
700
700
0
700

7.333 s
61.84 s
61.84 s
0
61.84 s

9.456 s
79.75 s
79.75 s
0
79.75 s

7.521 s
63.43 s
63.43 s
0
63.43 s

127

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
Y



Z
Y




Z
Y



Z
h^
h
 h
EZ



h&&



E>hd



h



h



E^



Z
W
&
D,

Z^
h^
h
 h
EZ



h&&



E>hd



h



h



E^



Z
W
&
D,

Zs
h^
h
 h
EZ



h&&



E>hd



h



h



E^



Z
W
&
D,


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
Tiempo de retardo
Tiempo de subida
Tiempo pico
Sobreelongacin
Tiempo de asentamiento

Smbolo
td
tr
tp
MP
ts

cicle clock

T. en Artix7

T. en Spartan 6

T. Virtex 5

62
530
530

5.528 s
47.25 s
47.25 s
0
47.25 s

5.859 s
50.09 s
50.09 s
0
50.09 s

6.777 s
57.94 s
57.94 s
0
57.94 s

0
530

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


Z
Y



Z
h^
h
 h
EZ



E&&



E>hd



E



E



E^



Z
W
&

D,


Z
Y



Z^
h^
h
 h
EZ



E&&



E>hd



E



E



E^



Z
W
&

D,


Z
Y



Zs
h^
h
 h
EZ



E&&



E>hd



E



E



E^



Z
W
&

D,

129

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
Tiempo de retardo
Tiempo de subida
Tiempo pico
Sobreelongacin
Tiempo de asentamiento

Smbolo
td
tr
tp
MP
ts

cicle clock

T. en Artix7

T. en Spartan 6

T. Virtex 5

30
135
135
0
135

0.7723 s
3.475 s
3.475 s
0
3.475 s

0.900 s
4.05 s
4.05 s
0
4.05 s

0.690 s
3.107 s
3.107 s
0
3.107 s

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

PID desarrollado

Spartan 6

520.56 MHz

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

541 LUTs
171 slices

Cuadro 5.23: Comparacin PID con otros trabajos relacionados usando tecnologa Spartan
En el Cuadro 5.23 se muestran diferentes trabajos realizados y sus resultados obtenidos
bajos los parmetros de frecuencia mxima y recursos hardware. El controlador PID realizado en este trabajo de tesis es el que tiene la mejor frecuencia de operacin, tambin, ste
es el segundo mejor en cuanto al poco consumo de LUTs y el mejor en el poco consumo
de slices.

5.4. COMPARACIN CON OTROS TRABAJOS

131

Por otra parte, se compara la arquitectura 3 del controlador PID difuso con otros trabajos debido a que esta arquitectura es la que present mejores resultados en las mediciones
realizadas secciones atras. La comparacin se realiza utilizando dos familias FPGAs: Spartan y Virtex.
En el Cuadro 5.24 se muestran diferentes trabajos realizados y sus resultados obtenidos
en tecnologa Spartan y en el Cuadro 5.25 los trabajos que utilizan la tecnologa Virtex.
Las comparaciones estn basados bajo los parmetros de frecuencia mxima, recursos
hardware y time per action. El time per action es el tiempo que tarda en realizar un ciclo
de retroalimentacin y es lo que reportan los trabajos.
Fuente

Dispositivo

Frecuencia mxima

Arquitectura 3

Spartan 6

33.333 MHz

Recursos HW

Time per action

2902 LUTs
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 comparacin con las dems. Adems tiene el menor time per action y el menor consumo de
LUTs-Slices que los otros trabajos comparados.
Fuente

Dispositivo

Frecuencia mxima

Arquitectura 3

Virtex 5

43.333 MHz

Recursos HW

Time per action

3,123 LUTs
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 mxima de operacin, adems con el menor consumo de slices y el segundo mejor consumo
de LUTs. Y en cuanto el time per action, ste se encuentra en el tercer lugar, dado esto

132

CAPTULO 5. RESULTADOS

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 comparacin de controladores PID y PID difuso en lgica reconfigurable, que como su nombre
lo indica se bas en analizar y comparar los controladores PID y PID difuso en hardware.
Como se ha comentado, primeramente se desarroll el controlador PID en software,
ya que ste representa una base para la realizacin del PID en lgica reconfigurable. Para
desarrollar el controlador PID en software se us la herramienta Simulink, esta herramienta
es de gran ayuda ya que reduce el tiempo de diseo, por otro lado, la sintonizacin del
controlador se realiz con el mtodo de prueba y error, con este mtodo se logr una
sobreelongacin de cero en la seal de salida, as como tambin un tiempo de asentamiento
pequeo.
Se considera que existen otros mtodos ms complejos en la sintonizacin de los controladores por lo que se deja en un futuro cercano realizar una sintonizacin ms ptima de
las ganancias de las arquitecturas ya que las ganancias no llegan a afectar el diseo de las
arquitecturas propuestas.
Cabe mencionar que el buen comportamiento de la seal tambin se debe a que la
funcin de transferencia que representa al motor es estable; no se generaliza que en todos
los motores se obtenga una sobreelongacion igual a 0 un tiempo de asentamiento pequeo,
ya que de eso depender de la sintonizacin que se le de a los controladores en conjunto
con distintas plantas.

133

134

CAPTULO 6. CONCLUSIONES

Por otra parte, tambin se desarroll el controlador PID difuso en software, la parte
difusa se dise usando el toolbox fuzzy de MatLab, sta es una herramienta que ahorra
tiempo y esfuerzo al momento de describir un sistema difuso dado su entorno de fcil
acceso y navegacin, adems de esta herramienta, tambin se us de nueva cuenta Simulink
ya que provee de un bloque que logra importar el diseo realizado desde el toolbox fuzzy.
La sintonizacin de este controlador se realiz a prueba y error, la sintonizacin abarca los valores de las ganancias y los rangos de las funciones de pertenencia del sistema
difuso; en este paso es importante el conocimiento y la experiencia del diseador de sistemas difusos ya que en base a ellos depender el comportamiento de la seal de salida del
controlador. La seal de respuesta del controlador PID difuso en software no tiene sobreelongacin, su tiempo de retardo es mayor que el PID clsico, sin embargo su tiempo de
establecimiento es menor, por lo que en este trabajo la salida del controlador PID difuso es
mejor que el PID clsico, ya que el tiempo de establecimiento indica el tiempo que tarda el
controlador en establecerse en la salida deseada.
Por otro lado, se le agreg ruido al PID en software y se not que le afecta directamente,
ya que la seal de salida presenta gran cantidad de perturbaciones de variada magnitud y
tiende a no estabilizarse al valor de referencia establecido. Por el contrario, el PID difuso en
software el ruido le afecta en menor medida, ya que no presenta oscilaciones pronunciadas,
adems, la seal de salida tiende a estabilizarse al valor de la seal de referencia. De este
estudio de ruido o perturbaciones, se concluye que el PID difuso en software es mejor que
el PID ya que tiene una mejor respuesta temporal y un menor grado de afectacin por ruido.
La anterior informacin se utiliz para el desarrollo en hardware (lgica reconfigurable)
de los controladores PID y PID difuso. El controlador PID difuso se dise utilizando
Simulink y libreras de componentes hardware a lo que se denomina System Generator, esta
herramienta es importante ya que provee una visin abstracta de alto nivel de los sistemas
hardware. En base al desarrollo del controlador PID difuso se generaron tres arquitecturas:
La primera arquitectura tiene paso de parmetros, este paso de parmetros sirve para
calibrar el sistema y dota de flexibilidad al sistema, resultando beneficioso ya que
en un futuro se espera que la arquitectura sirva para controlar distintos procesos.
La seal de comportamiento de este controlador no cuenta con sobreelongacin, por
lo cual la seal se estabiliza sin generar picos ni oscilaciones, cabe aclarar que un

135

sistema real generalmente no pasa eso, sin embargo, el tener un modelo que no genere
picos ni oscilaciones implica una reduccin de perturbaciones en general cuando se
implemente el modelo.
La segunda arquitectura es una modificacin de la primera, sta ya no es flexible en
cuanto al paso de parmetros se refiere; lo que se busc fue mejorar el tiempo de
ejecucin, por lo que esta arquitectura mejora en 25 % el nmero de ciclos de reloj
utilizados para establecerse en el valor de referencia. La seal de comportamiento de
este controlador no cuenta con sobreelongacin, es decir en la estabilizacin de la
seal no se generan picos ni oscilaciones.
Respecto a los recursos hardware, se analizaron las arquitecturas del PID y la tercera arquitectura del controlador PID difuso ya que es que tiene mejor respuesta. Para realizar
este anlisis se tuvo que hacer pruebas orientados en dispositivos hardware con diferente
tecnologa FPGA como: Artix 7 xc7a100t-3cgs324, Spartan 6 xc6slx45-3cgs324 y Virtex
5 xc5vlx50-3ff324.
Por otra parte, la tercera arquitectura no tiene flexibilidad de introducir parmetros
y se diseo para disminuir el nmero de ciclos de reloj, por tal motivo se decidi
eliminar el mtodo RSS, ya que este bloque necesitaba una gran cantidad de ciclos de
reloj para calcular la raz cuadrada, de manera que se disminuy en un 80 % respecto
al primer diseo y 75 % respecto al segundo. En este caso se elimin la RSS ya que
no afectaba en gran medida el resultado del controlador difuso, sin embargo, si el
nmero de conjuntos de salida creciera y se traslaparn entre ellos el mtodo RSS
sera de una utilidad mayor.
Para los dos controladores PID y PID difuso, el dispositivo el que ofrece mejores resultados
tanto en periodo mnimo, frecuencia mxima y recursos usados fue el Virtex 5 xc5vlx503ff324. Sin embargo, este no es el dispositivo que menos recursos consume, esta caracterstica la comparten los dispositivos Spartan 6 xc6slx45-3cgs324 y Artix 7 xc7a100t-3cgs324
para el PID difuso y para el PID clsico se mantiene Virtex 5 xc5vlx50-3ff324 como el
mejor.
Comparando los dos controladores resulta que el controlador PID usa menos recursos
que el PID difuso y adems tiene un periodo menor y, por consecuente, una frecuencia ms

136

CAPTULO 6. CONCLUSIONES

alta. Esto se debe a que el controlador PID no requiere de clculos como la divisin como
lo requiere el PID difuso, la operacin de divisin hace uso de un gran nmero recursos
hardware por tal motivo el controlador PID difuso tiende a utilizar ms recursos.
Tambin, como se coment anteriormente, se realiz un anlisis con la presencia de
ruido en los controladores PID y PID difuso en hardware, de estos anlisis se obtuvo que
el controlador PID tiene una salida oscilatoria que genera picos, y dado estos picos la seal
de salida tiende a no estabilizarse. Por otro lado en el anlisis del controlador PID difuso, la
salida de este controlador no presenta gran cantidad de picos, por lo que la seal de salida
trata de estabilizarse ante la seal de referencia.
El anlisis con la presencia de ruido es importante, ya que en la realidad muchos sistemas estn propensos a cambios repentinos, ruido o perturbaciones del ambiente que los
rodea, por lo que contar con un sistema que sea robusto ante esto generara grandes beneficios tanto econmicos como funcionales. Con las arquitecturas propuestas del PID difuso
hay que examinar si su frecuencia mxima es suficiente para controlar procesos que requieren alto desempeo. Para el caso del motor de CD la velocidad de respuesta es mucho
menor (en el orden de microsegundos) ya que la respuesta del motor de CD estudiado es
de 8.5 ms.
Como se ha descrito se ha realizado un anlisis y una comparacin entre controladores PID y PID difuso desarrollados en lgica reconfigurable. Con estos resultados ya se
tienen las bases para controlar motores en especial orientado a controlar motores de CD
en cualquier aplicacin. Adems, se han obtenido diferentes arquitecturas hardware de los
controladores PID difuso: la primera es flexible y servir en un futuro para que se controlen otros procesos diferentes (pueden ser distintos a los motores de CD); tambin otros
dos controladores que no son flexibles pero que tienen mejores resultados en tiempo de
respuesta son propuestos y con estas arquitecturas se pretende establecer las bases de conocimientos a los diseadores de sistemas de control y se prev que en un futuro este anlisis
sean tomados en cuenta al momento de disear controladores.
Por ltimo, se comenta que en este proyecto se ha desarrollado un artculo titulado
Controlador PID difuso implementado con lgica reconfigurable (Pantoja-Laces, Marzo

137

2013), el cual ya ha sido publicado en las memorias del congreso. Adems se haba explorado la velocidad de motores usando microcontroladores de uso general (Pantoja-Laces,
Octubre 2011). Actualmente, se prepara un artculo para una revista indexada.

138

CAPTULO 6. CONCLUSIONES

Apndice A
Transformada de Laplace y funciones de
transferencia
En este apndice se conocer ms acerca de la transformada de Laplace, las cuales
son muy tiles al momento de modelar sistemas fsicos y ayudan en este caso a analizar
sistemas de control.

A.1.

Transformada de Laplace

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 algebraica de (s). La solucin final se obtiene tomando la transformada inversa de Laplace
de la salida.
La transformada de Laplace de f (t) se define para alguna real finita, como
F(s) = L { f (t)} =

f (t)et dt

(A.1)

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:


1
f (t) =
2 j

c+
Z j

F(S) eSt dS

(A.3)

c j

En donde c es una constante real que es mayor que las partes reales de todas las singularidades de F(s). La ecuacin A.3 representa una integral de lnea que se evala en el plano
s. Para funciones simples, la operacin de la transformada inversa de Laplace, se puede

A.2. FUNCIONES DE TRANSFERENCIA

141

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

A.2.

Funciones de Transferencia

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 representarse 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 transformada de Laplace de la salida y la transformada de Laplace de la entrada, considerando
condiciones iniciales nulas.
G(s) =

L (salida)
Y (s) b0 sm + b1 sm1 + ... + bm1 s + bm
=
=
L (entrada) X(s)
a0 sn + a1 sn1 + ... + an1 s + an

(A.4)

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 proporciona 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 respuesta para varias formas de entrada, con la intencin de comprender la naturaleza del
sistema.
5. Si se desconoce la funcin de transferencia de un sistema, puede establecerse experimentalmente, introduciendo entradas conocidas y estudiando la salida del sistema.
6. Una vez obtenida la funcin de transferencia, tendremos una descripcin completa
de las caractersticas dinmicas del sistema, a diferencia de su descripcin fsica.
Una forma que ayuda en gran medida al trabajar con las funciones de transferencia son
los diagramas a bloques, los cuales muestran las relaciones que tienes los elementos de
un sistema y las seales de flujo dentro de ste. Para construir un diagrama de bloques de
un sistema se conectan los bloques que representan los componentes de ste de manera
que respeten el flujo de las seales por lo que al final es posible evaluar la contribucin
de cada componente en el sistema. En ocasiones los diagramas de bloques contienen una
gran cantidad de ramificaciones por lo que se requiere una simplificacin mediante un
reordenamiento paso a paso a travs de las reglas del lgebra de los diagramas de bloques,
ver Figura A.1.

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 ramificaciones 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:
F(s) =

C(s)
R(s)

(A.6)

Por lo que se procede a obtener las salidas de las seales dentro del sistema, las cuales
son:
E(s) = R(s) B(s)

(A.7)

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)
E(s)

(A.12)

C(s)
[1 + H(s)G(s)] = R(s)
G(s)

(A.13)

G(s)
C(s)
=
R(s) 1 + H(s)G(s)

(A.14)

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 desarrollo de alto rendimiento para una plataforma hardware especfica. Un diseo desarrollado
con esta herramienta puede componerse de una gran variedad de elementos: bloques especficos de System Generator, cdigo de un lenguaje de descripcin de hardware tradicional
(VHDL, Verilog) y funciones derivadas del lenguaje programacin MatLab. As, todos estos elementos pueden ser usados simultneamente, simulados en conjunto y sintetizados
para obtener una funcin de DSP sobre FPGA. El aspecto ms interesante de trabajar en
MatLab/Simulink es emplear la herramienta de simulacin de sistemas Simulink para realizar la verificacin del diseo.
Una de las caractersticas ms importantes de Xilinx System Generator es que posee
abstraccin aritmtica, es decir, trabaja con representaciones en punto fijo con una precisin
arbitraria, incluyendo la cuantizacin y el sobreflujo. Tambin puede realizar simulaciones
tanto en doble precisin como en punto fijo.
Se cuenta con una gran cantidad de bloques de construccin de DSP en el Blockset Xilinx DSP para Simulink. Estos bloques son los bloques DSP comunes de construccin tales
147

148

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

addrz-1

x_out

we
Single Port RAM

Sy stem
Generator

ROM
CORDIC 4.0

1
Constant

Out
Gateway Out
a
z-1

a+b

q
b

xn_re

xk_re
xk_im

++

AddSub

Register

and

xn_im
xn_index
start

Counter

Logical

fwd_inv
tready

xk_index
rfd

tvalid
fwd_inv_we

busy
dv

tvalid

tdata

scale_sch
edone

z-1

a
b

Delay

z-3
a

scale_sch_we

Mult

tdata

tready

done
Fast Fourier T ransform 7.1

AXI FIFO

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 nuevos Blocksets que se describen a continuacin.

B.1.1.

Xilinx Blockset

Xilinx Blockset es una familia de bibliotecas que contienen los bloques bsicos de
System Generator. Algunos bloques son de bajo nivel, facilitando el acceso al hardware

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
Index
Basic Elements
Communication
Control Logic
Data Types
DSP
Math
Memory
Shared Memory
Tools

Descripcin
Cada Bloque en el Blockset de Xilinx.
Bloques de elementos estndar para la construccin de lgica digital.
Bloques de correccin de errores y moduladores.
Bloques de circuitos de control y mquinas de estado.
Los bloques que convertir tipos de datos.
Bloques de Procesamiento Digital de seales (DSP).
Bloques que implementan funciones matemticas.
Bloques para la implementacin y acceso a memoria.
Bloques para la implementacin y acceso a memoria compartida de Xilinx.
Bloques de herramientas, para estimacin de recursos, co-simulacin HDL, etc.

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
Communication
Control Logic
Imaging
DSP
Math

Descripcin
Bloques de correccin de errores y moduladores
Bloques de circuitos de control y mquinas de estado
Bloques de Procesamiento de Imgenes.
Bloques de Procesamiento Digital de seales (DSP)
Bloques que implementan funciones matemticas

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

B.2.

APNDICE B. SYSTEM GENERATOR

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 conexin entre los bloques de Xilinx System Generator y los bloques de Simulink son los
bloques llamados Gateway.
El Bloque Gateway In convierte una seal de doble precisin en una seal de Xilinx, y
el bloque Gateway Out convierte una seal de Xilinx en una de doble precisin. Las seales
continuas de Simulink deben ser muestreadas por el bloque Gateway In.
La mayora de los bloques de Xilinx son capaces de deducir los tipos adecuados de
salida basndose en sus tipos de entrada. Cuando se especifica full precisin en los parmetros del bloque, System Generator elige el tipo de salida para garantizar que no se
pierda precisin. La extensin de signo y el relleno de ceros ocurre automticamente, si es
necesario.
En la parte de System Generator de un modelo Simulink, cada seal debe ser muestreada. Tiempos de muestra deben ser heredados usando reglas de propagacin de Simulink, o
estableciendo explcitamente la configuracin en el cuadro de dialogo de un bloque.
A continuacin se describir el bloque System Generator, el cual es importante ya que
en l se describe las configuraciones de las simulaciones y as como tambin la especificacin de parmetros para la implementacin hardware.

B.2.1.

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 invocar el generador de cdigo. En la Figura B.2 se muestra dnde especificar los parmetros
para la opcin Compilation y se describen a continuacin.
Compilation: especifica el tipo de compilacin que se producir cuando se invoque al
generador de cdigo.
Part: define FPGA usado.
Target Directory: nombre del directorio para guardar los resultados de la compilacin.

B.2. TIPOS DE SEALES EN SYSTEM GENERATOR

Figura B.2: Parmetros de la opcin Compilation

151

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 opciones son Synplicitys Synplify Pro, Synplify, y Xilinxs XST.
Hardware Description Language: especifica el lenguaje HDL que se usar para la compilacin, 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 archivos 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 realizar un anlisis temporal para resolver este tipo de conflictos. Mediante este anlisis se
muestra el camino ms lento de la parte hardware diseada, as como aquellos que no cumplen con los requisitos temporales. Para realizar este tipo de anlisis, System Generator
se basa en la herramienta Trace, que forma parte del paquete ISE de Xilinx, este tipo de
compilacin se utiliz en el trabajo de tesis ya que no se poda realizar la co-simulacin
porque no se contaba fsicamente con los dispositivos.
La herramienta System Generator es importante para la realizacin de proyectos con
lgica reconfigurable ya que brinda de herramientas de alto nivel de abstraccin que facilita
la implementacin de diseos de la forma mas rpida, reduciendo costo y esfuerzo.

Nomenclatura
ASIC Es un circuito integrado hecho a la medida para un uso en particular, en vez de ser
concebido para propsitos de uso general.
CD

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 multiplicaciones 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 configurada 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 Universitario de Innovacin Educativa en las Enseanzas Tcnicas Vilanova, 2003.
Alejo-Gmez, ., Diseo de un pid para control de velocidad, 2011.
Avila, N. S., Control de velocidad discreto de un motor de corriente directa utilizando el
microcontrolador pic 18f4550, Ph.D. thesis, Universidad Michoacana de San Nicols de
Hidalgo, 2011.
Castillo, L. F. S., Diseo e implementacin de un sistema de control digital para un motor
de dc con controlador pid, Tech. rep., Universidad de Guadalajara, 2009.
Cercs, J. N., Diseo de un controlador avanzado basado en redes neuronales para la gestin de la mezcla aire-gasolina en un motor alternativo, Ph.D. thesis, Universitat Politcnica de Catalunya, 2001.
Chan, Y. F., M. Moallem, and W. Wang, Design and implementation of modular fpga-based
pid controllers, Industrial Electronics, IEEE Transactions on, 54(4), 18981906, 2007.
Chen, W., H.-m. Yuan, and Y. Wang, Design and implementation of digital fuzzy-pid controller based on fpga, in Industrial Electronics and Applications, 2009. ICIEA 2009. 4th
IEEE Conference on, pp. 393397, IEEE, 2009.
Chojoln, S. E. T., Diseo de controladores pid en tiempo discreto y anlisis de respuesta
utilizando herramientas computacionales, Ph.D. thesis, Universidad de San Carlos de
Guatemala, 2007.

157

158

BIBLIOGRAFA

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 based 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 International 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 Methods 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 controlador pid difuso en una fpga, Universidad, Ciencia y Tecnologa, 10(39), 130133,
2006.
Martnez, M. A., J. Sanchis, and X. Blasco, Algoritmos genticos aplicados al diseo de
controladores robustos, RIAII, 3(1), 3951, 2010.
Mndez, J. T. P., and R. L. M. Morales, Inteligencia artificial: tcnicas, mtodos y aplicaciones, McGraw-Hill Interamericana de Espaa, 2008.
Morata Palacios, F., Controlador fuzzy de un quadrotor, Ph.D. thesis, 2009.
Moreno, R., P. Aros, and J. Ribet, Diseo de un controlador pid difuso aplicado en un horno
rotatorio para producir carbn activado, in Memoria INGELECTRA 2006, Congreso estudiantil de ingeniera elctrica y electrnica. Universidad Austral de Chile, 2006.
Munrriz, L. ., Fundamentos de inteligencia artificial, vol. 1, Editum, 1994.
Murthy, S. N., W. Alvis, R. Shirodkar, K. Valavanis, and W. Moreno, Methodology for
implementation of unmanned vehicle control on fpga using system generator, in Devices,
Circuits and Systems, 2008. ICCDCS 2008. 7th International Caribbean Conference on,
pp. 16, IEEE, 2008.
Nicols Nicols, I., Tcnicas de compresin de tablas de datos mediante regresiones lineales, redes neuronales y sistemas fuzzy, 2008.
Noriega del Castillo, M., Implementacin de un sistema de control digital de la velocidad
de un motor dc utilizando redes inalmbricas, 2011.

160

BIBLIOGRAFA

Obaid, Z. A., N. Sulaiman, and M. Hamidon, Developed method of fpga-based fuzzy logic
controller design with the aid of conventional pid algorithm, Australian Journal of Basic
and Applied Sciences, 3(3), 27242740, 2009.
Obaid, Z. A., S. A. A. Salman, H. I. Ali, N. Sulaiman, M. Marhaban, and M. Hamidon,
Design of pso-based optimal/tunable pid fuzzy logic controller using fpga, Edited by
Clara M. Ionescu, p. 197, 2011.
Ogata, K., Ingeniera de control moderna, Pearson Educacin, 2003.
Ortiz, F., and W. Y. Liu, Modelado y control pd-difuso en tiempo real para el sistema barraesfera, Mxico, DF, 2004.
Pantoja-Laces, W. A., Controlador pid difuso implementado con lgica reconfigurable, in
Congreso Nacional de Ingeniera Elctrica y Electrnica del Mayab (CONIEEM), Marzo 2013.
Pantoja-Laces, W. A., Variable speed control based on multiplexing dc and stepper motors,
in 4ta Jornada Informtica JINF-2011, Octubre 2011.
Passino, K. M., and S. Yurkovich, Fuzzy control, Citeseer, 1998.
Pedrycz, W., Fuzzy control and fuzzy systems (2nd, Research Studies Press Ltd., 1993.
Poorani, S., T. U. Priya, K. U. Kumar, and S. Renganarayanan, Fpga based fuzzy logic
controller for electric vehicle, Journal of The Institute of Engineers, Singapore, 45(5),
114, 2005.
Prez, M. A., Introduccin a los sistemas de control y modelo matemtico para sistemas
lineales invariantes en el tiempo, 2008.
Rivas, J. R. R., Anlisis y diseo de controladores basados en lgica difusa, 2005.
Rodrguez, F. O., and W. Y. Liu, Modelado y control pd-difuso em tiempo real para el
sistema barraesfera, Masters thesis, Universidad de Mexico, 2004.

BIBLIOGRAFA

161

Romero, L., Construccion de mapas y localizacin de robots mviles: un enfoque probabilista, Masters thesis, Instituto Tecnologico y de Estudios Superiores de Monterrey,
Campus Cuernavaca, 2001.
Sanchez, E. C. M., Controle por aprendizado acelerado e neuro-fuzzy de sistemas servohidrulicos de alta frequncia, Ph.D. thesis, Dissertaao de Mestrado. Departamento de
Engenharia Eltrica. Rio de Janeiro: Pontifcia Universidade Catlica do Rio de Janeiro,
2009.
Sonoli, S., and N. R. Konduru, Implementation of fpga based pid controller for dc motor
speed control system, Sensors & Transducers, 114(3), 2010.
Sulaiman, N., Z. A. Obaid, M. Marhaban, and M. Hamidon, Fpga-based fuzzy logic: design
and applicationsa review, IACSIT International Journal of Engineering and Technology,
1(5), 491503, 2009.
Surez., C. A. E., Diseo de un sistema de seguimiento de trayectorias para un robot mvil,
Masters thesis, Universidad Michoaacana de San Nicols de Hidalgo, 2006.
Toloza, E. R. M., Diseo de un control pi para un motor de corriente continua, Tech. rep.,
Universidad Pontificia Bolivariana, 2011.
Trimeche, A., A. Sakly, A. Mtibaa, and M. Benrejeb, Pid control implementation using
fpga technology, in Design and Test Workshop, 2008. IDT 2008. 3rd International, pp.
341344, IEEE, 2008.
Vallejo, M. L., and J. A. Rodrigo, Fpga: Nociones bsicas e implementacin, Laboratorio
de Diseo Microelectrnico, 4 Curso, P94, 2004.
Varela Rincn, J., and J. E. Loaiza Pulgarn, Reconocimiento de palabras aisladas mediante
redes neuronales sobre fpga, 2008.
Wang, L.-X., Adaptive fuzzy systems and control- design and stability analysis(book), Englewood Cliffs, NJ: PTR Prentice Hall, 1994., 1994.

162

BIBLIOGRAFA

Wang, L.-X., and J. M. Mendel, Fuzzy basis functions, universal approximation, and orthogonal least-squares learning, Neural Networks, IEEE Transactions on, 3(5), 807814,
1992.
Zurita-Bustamante, E. W., J. Linares-Flores, E. Guzmn-Ramrez, and H. Sira-Ramirez, A
comparison between the gpi and pid controllers for the stabilization of a dcdc Sbuck

T
converter: A field programmable gate array implementation, Industrial Electronics, IEEE
Transactions on, 58(11), 52515262, 2011.

Вам также может понравиться