Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis:...

178
Universidad del Istmo Campus Tehuantepec Tesis presentada para obtener el título de Ingeniero en Computación Título de la tesis: ANÁLISIS Y COMPARACIÓN DE SISTEMAS DE CONTROL PID Y PID DIFUSO EN LÓGICA RECONFIGURABLE Presentado por: Williams Antonio Pantoja Laces Asesor de tesis: Dr. Ignacio Algredo Badillo Tehuantepec, Oaxaca Agosto 2013

Transcript of Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis:...

Page 1: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

Universidad del Istmo Campus Tehuantepec

Tesis presentada para obtener el título de

Ingeniero en Computación

Título de la tesis:

ANÁLISIS Y COMPARACIÓN DE SISTEMAS DE CONTROL PID Y PID DIFUSO EN LÓGICA RECONFIGURABLE

Presentado por: Williams Antonio Pantoja Laces

Asesor de tesis: Dr. Ignacio Algredo Badillo

Tehuantepec, Oaxaca

Agosto 2013

Page 2: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

II

Con dedicatoria a toda mi familia

Page 3: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

Resumen

En la actualidad, la tecnología está en constante avance y el campo de control automá-

tico no es la excepción, ya que hoy en día se requieren sistemas inteligentes para controlar

múltiples procesos, algunos de estos procesos requieren también alta velocidad de proce-

samiento por lo que la exploración hacia el uso de dispositivos FPGAs se encuentra en una

tendencia creciente.

En este trabajo se desarrolla un análisis y comparación de un controlador PID y PID

difuso en lógica reconfigurable aplicados al control de motores de CD, esto con el fin de

obtener conclusiones sobre el comportamiento de ellos.

Se realiza primeramente una búsqueda bibliográfica en libros, revistas y artículos de

divulgación científica, tanto física como digitalmente para obtener el conocimiento acerca

de estos sistemas, así también conocer lo que se ha realizado últimamente. De esta manera

se establecen los fundamentos teóricos de control y lógica difusa. El establecimiento de

estas bases ayuda a comprender el funcionamiento de los sistemas de control clásicos e

inteligentes, en específico los basados en lógica difusa.

Posteriormente, se desarrolló en software (Sw) ya que sirve como punto de partida para

el desarrollo más importante, el cual esta realizado con lógica reconfigurable (plataforma

hardware, Hw). Se resume que en este trabajo se realizan 2 diseños en software y 4 arqui-

tecturas en hardware. Estas ultimas están divididas en una arquitectura del PID clásico y

se proponen 3 arquitecturas nuevas para el controlador PID difuso; las novedades de estas

arquitecturas son la flexibilidad en el diseño en una de ellas , así como también la estruc-

tura y distribución de los bloques que hacen posible los cálculos para obtener una señal de

control.

III

Page 4: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

El análisis realizado en este trabajo esta basado referente a los siguientes parámetros:

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

El análisis y las comparaciones estarán basados en los siguientes rubros:

Tiempos de las señales de salida

Se realiza con el estudio del tiempo de respuesta, sobreelongación, 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 análisis del comportamiento ante ruido se realiza tanto para los controladores en softwa-

re como en los de hardware, este análisis se realiza comparando la señal sin ruido contra la

señal con ruido y la señal con ruido con la señal de referencia, obteniendo el error cuadrá-

tico medio y el error promedio.

Cantidad de recursos hardware

Se toman en cuenta las arquitecturas del PID y PID difuso para distintos dispositivos FP-

GAs, esto con el fin de conocer en que dispositivo conviene implementarlo.

Además, este trabajo busca brindar bases en la toma de decisiones de los diseñadores

al desarrollar sistemas de control clásicos como el PID e inteligentes como el PID difuso,

así como también en plataforma software y hardware.

IV

Page 5: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

Agradecimientos

A Dios.

Por haberme permitido llegar hasta este punto y haberme dado salud para lograr mis

objetivos, además de su infinita bondad y amor.

A mis padres.

Juan Pantoja Barbosa y Antonia Laces Hernández, por mostrarme con paciencia, amor

y comprensión el camino hacia la superación por medio del conocimiento.

A mis hermanos.

Juan Pantoja Laces y Briseida Pantoja Laces, por estar conmigo en mi formación aca-

démica.

A mis familiares.

Porque gracias a su apoyo y consejos he llegado a realizar una de mis metas pro-

fesionales. En especial a mis tías Claudia Pantoja Barbosa, Eustolia Pantoja Barbosa y

Minerva Pantoja Barbosa.

A la Universidad del Istmo

Por haberme dado cobijo y por las lecciones que aprendí en ella, asimismo, por ha-

berme dado su voto de confianza y por todo el apoyo otorgado a mi persona. También a la

PROMEP por la beca otorgada.

V

Page 6: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

A mi director de tesis.

Dr. Ignacio Algredo Badillo por su gran apoyo y motivación para la culminación de

mis estudios profesionales y para la elaboración de esta tesis; por su tiempo compartido y

por impulsar el desarrollo de mi formación profesional.

A mis revisores de tesis.

A M.C. Ernesto Cortéz Pérez, M.C. Félix Emilio Luis Pérez, Dr. Miguel Ángel Her-

nández López y M.C Víctor Hugo García Rodríguez por su amabilidad, buena disposición,

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 formación,

en especial a M.C. Sergio Juárez Vázquez, M.A.G.N. Silvia Reyes Jiménez, M.C. J. Jesús

Arellano Pimentel por sus consejos y su enseñanza.

A mi compañera, 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 demás miembros de la banda que han estado conmigo y que los considero muy

buenos amigos.

Cuanto más grandes somos en humildad, tanto más cerca estamos de la grandeza

<Rabindranath Tagore>

VI

Page 7: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

Índice general

Resumen III

Agradecimientos V

1. Introducción 11.1. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2. Justificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

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

1.3.2. Objetivos específicos . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.4. Hipótesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

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

1.5.1. Alcances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.5.2. Metas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2. Marco teórico 112.1. Sistemas de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.1.1. Motores de Corriente Directa . . . . . . . . . . . . . . . . . . . . . 17

2.2. Controladores clásicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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

Page 8: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

2.3.1. Variables lingüísticas . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.3.2. Conjuntos clásicos o duros y conjuntos difusos . . . . . . . . . . . 24

2.3.3. Funciones de pertenencia . . . . . . . . . . . . . . . . . . . . . . . 25

2.4. Sistemas difusos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.4.1. Diseño 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. Lógica 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. Tecnologías de programación . . . . . . . . . . . . . . . 45

2.5.2.3. Fabricantes de FPGAs . . . . . . . . . . . . . . . . . . . 46

2.5.2.4. Componentes de FPGAs . . . . . . . . . . . . . . . . . . 47

3. Antecedentes 493.1. Control clásico en software . . . . . . . . . . . . . . . . . . . . . . . . . . 49

3.2. Control inteligente en software . . . . . . . . . . . . . . . . . . . . . . . . 51

3.3. Control clásico en hardware . . . . . . . . . . . . . . . . . . . . . . . . . 53

3.4. Control inteligente en hardware . . . . . . . . . . . . . . . . . . . . . . . 54

3.5. Discusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

4. Sistemas de control propuestos y desarrollo 574.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

Page 9: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

5. Resultados 1015.1. Respuesta en la salida de los controladores . . . . . . . . . . . . . . . . . . 101

5.1.1. Señales de respuesta de los controladores PID y PID difuso desa-

rrollados en software . . . . . . . . . . . . . . . . . . . . . . . . . 102

5.1.2. Señales de respuesta de los controladores PID y PID difuso desa-

rrollados en hardware . . . . . . . . . . . . . . . . . . . . . . . . . 104

5.2. Cálculo de error y comportamiento ante ruido . . . . . . . . . . . . . . . . 109

5.2.1. Cálculo 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. Comparación con otros trabajos . . . . . . . . . . . . . . . . . . . . . . . 130

6. Conclusiones 133

A. Transformada de Laplace y funciones de transferencia 139A.1. Transformada de Laplace . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

A.1.1. Transformada inversa de Laplace . . . . . . . . . . . . . . . . . . 140

A.2. Funciones de Transferencia . . . . . . . . . . . . . . . . . . . . . . . . . . 141

B. System Generator 147B.1. Blockset de Xilinx en Simulink . . . . . . . . . . . . . . . . . . . . . . . . 148

B.1.1. Xilinx Blockset . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

B.1.2. Xilinx Reference Blockset . . . . . . . . . . . . . . . . . . . . . . 149

B.2. Tipos de Señales en System Generator . . . . . . . . . . . . . . . . . . . . 150

B.2.1. Bloque System Generator . . . . . . . . . . . . . . . . . . . . . . 150

IX

Page 10: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

Bibliografía 157

X

Page 11: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

Í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 Sobreelongación del controlador PID en software . . . . . . . . 103

5.2. Tiempos y Sobreelongación del controlador PID difuso en software . . . . 104

5.3. Tiempos y Sobreelongación del controlador PID en hardware . . . . . . . . 105

5.4. Tiempos y sobreelongación de la arquitectura 1 del PID difuso en hardware 106

5.5. Tiempos y sobreelongación de arquitectura 2 PID difuso en hardware . . . 108

5.6. Tiempos y sobreelongación de arquitectura 3 PID difuso en hardware . . . 109

5.7. Tamaño de muestra y Valor de Erms para el PID en SW . . . . . . . . . . . 111

5.8. Tamaño de muestra, valor de Eprom yErms para el PID difuso en SW . . . . 112

5.9. Tamaño de muestra, valor de Eprom y Erms para el PID en HW . . . . . . . 113

5.10. Tamaño de muestra, valor de Eprom yErms para el PID difuso en HW . . . . 114

5.11. Tamaño de muestra y Valor de Erms para el PID en SW (estudio ante ruido) 117

5.12. Tamaño de muestra y Valor de Erms para el PID difuso en SW (estudio ante

ruido) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

5.13. Tamaño de muestra y Valor de Erms para el PID en HW (estudio ante ruido) 120

5.14. Tamaño de muestra y Valor de Ermspara 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 Sobreelongación del controlador PID en hardware . . . . . . . . 125

5.17. Recursos de arquitectura 1 implementada en Artix 7, Spartan 6 y Virtex 5 . 126

XI

Page 12: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

5.18. Tiempos y Sobreelongación 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 Sobreelongación 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 Sobreelongación del controlador PID difuso en la arquitectura 3 130

5.23. Comparación PID con otros trabajos relacionados usando tecnología Spartan130

5.24. Comparación PID difuso con otros trabajos relacionados usando tecnología

Spartan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

5.25. Comparación PID difuso con otros trabajos relacionados usando tecnología

Virtex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

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

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

XII

Page 13: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

Í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 automático continuo . . . . . . . . . . . . . . . . . . . 15

2.5. Curva de respuesta ante la funcion escalón . . . . . . . . . . . . . . . . . . 19

2.6. Función triangular en MatLab con la función trimf(x,[3 6 8]) . . . . . . . . 26

2.7. Función trapezoidal en MatLab con la función trapmf(x,[2 4 6 8]) . . . . . 27

2.8. Función Gaussiana en MatLab con la función gaussmf(x, [0.5 5]) . . . . . . 28

2.9. Función Campana en MatLab con la función 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. Ubicación gráfica del valor de salida usando COA . . . . . . . . . . . . . . 36

2.15. Ubicación de SOM, MOM y LOM . . . . . . . . . . . . . . . . . . . . . . 37

2.16. Ejemplo gráfico de bisección . . . . . . . . . . . . . . . . . . . . . . . . . 38

2.17. Sistema difuso tipo Sugeno . . . . . . . . . . . . . . . . . . . . . . . . . . 39

2.18. Regla tipo Si-entonces Sugeno . . . . . . . . . . . . . . . . . . . . . . . . 39

2.19. Flexibilidad, coste, complejidad y prestaciones en diseños de sistemas . . . 43

2.20. Componentes de un FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . 47

4.1. Diagrama esquemático del controlador PID conectado a una planta. . . . . 58

4.2. Controlador PID y planta en software . . . . . . . . . . . . . . . . . . . . 59

4.3. Operación derivada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

XIII

Page 14: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

4.4. Operación Integral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

4.5. Controlador PID implementado en hardware . . . . . . . . . . . . . . . . 61

4.6. Diagrama del controlador PID difuso con la planta . . . . . . . . . . . . . 62

4.7. Función 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. Función de salida ajustada . . . . . . . . . . . . . . . . . . . . . . . . . . 74

4.17. Interfaz de ingreso de las reglas Si-entonces . . . . . . . . . . . . . . . . . 75

4.18. Exportación del sistema difuso al workspace de MatLab . . . . . . . . . . 75

4.19. PID difuso implementado en Simulink de MatLab . . . . . . . . . . . . . . 76

4.20. Importación de la variable PIDfuzzy2 . . . . . . . . . . . . . . . . . . . . . 76

4.21. Etapas del módulo difuso a desarrollar en hardware . . . . . . . . . . . . . 77

4.22. Paso de parámetros desde el editor de MatLab . . . . . . . . . . . . . . . . 78

4.23. Variables en workspace de MatLab . . . . . . . . . . . . . . . . . . . . . . 79

4.24. Representación gráfica de las variables en workspace . . . . . . . . . . . . 80

4.25. Fuzzificación con paso de parámetros . . . . . . . . . . . . . . . . . . . . 81

4.26. Módulo fuzzificación1 de la entrada determinada por el error . . . . . . . . 82

4.27. Selector de activación del módulo fuzzificación1 . . . . . . . . . . . . . . . 83

4.28. Módulo de fuzzificación2 de la entrada determinada por la derivada del error 84

4.29. Selector_de_activación de la etapa 2 de fuzzificación . . . . . . . . . . . . 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. Submódulos llamados selector de reglas de salida . . . . . . . . . . . . . . 88

4.33. Implementación individual de una regla . . . . . . . . . . . . . . . . . . . 89

4.34. Bloque de reglas para cada conjunto de salida . . . . . . . . . . . . . . . . 90

XIV

Page 15: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

4.35. Método Root Sum Square . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

4.36. Método del centroide o centro de área . . . . . . . . . . . . . . . . . . . . 92

4.37. Etapas del módulo PD difuso para arquitectura 1 y 2 . . . . . . . . . . . . 93

4.38. Diagrama final de la arquitectura 1 . . . . . . . . . . . . . . . . . . . . . . 93

4.39. Bloques selector de activación con y sin paso de parámetros . . . . . . . . 94

4.40. Diagrama final de la arquitectura 1 . . . . . . . . . . . . . . . . . . . . . . 95

4.41. Eliminación del método RSS . . . . . . . . . . . . . . . . . . . . . . . . . 95

4.42. Defuzzificación con tres entradas . . . . . . . . . . . . . . . . . . . . . . . 96

4.43. Defuzzificación con nueve entradas . . . . . . . . . . . . . . . . . . . . . 97

4.44. Etapas del módulo 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 parámetros y RSS . . . . 106

5.5. Respuesta del controlador PID difuso sin paso de parámetros con RSS . . . 107

5.6. Respuesta del controlador PID difuso sin parámetros 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 perturbación . . . . . . . . . . . . . . 119

5.18. Diagrama PID con ruido en hardware . . . . . . . . . . . . . . . . . . . . 120

5.19. Respuesta del PID con ruido en hardware . . . . . . . . . . . . . . . . . . 120

XV

Page 16: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

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. Función 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. Parámetros de la opción Compilation . . . . . . . . . . . . . . . . . . . . . 151

B.3. Parámetros de la opción Clocking . . . . . . . . . . . . . . . . . . . . . . 152

B.4. Parámetros de la opción General . . . . . . . . . . . . . . . . . . . . . . . 153

XVI

Page 17: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

Capítulo 1

Introducción

En varios campos de la ingeniería se estudia el diseño, implementación y mantenimien-

to de sistemas así como también los procesos automáticos que se relacionan con ellos. Por

proceso se entiende una secuencia de operaciones para obtener un resultado en específico,

mientras que el concepto de sistema es más general, siendo comúnmente definido como

un conjunto de elementos que interactúan unos con otros para realizar una tarea (Ogata,

2003).

Existen muchos sistemas en la naturaleza, algunos naturales y otros creados por el hom-

bre como los sistemas informáticos, sistemas electrónicos, sistemas mecánicos, sistemas

eléctricos, etc. Uno de los desafíos de la ingeniería 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 automático tiene una intervención cada vez más importante en la vida diaria

y se ha convertido en parte importante e integral de los procesos modernos, industriales y de

manufactura. Además, brinda los medios para lograr el funcionamiento óptimo de sistemas

dinámicos, mejorar la calidad y abaratar los costos de producción.

Los sistemas de control automático se pueden clasificar según su estructura en dos ca-

tegorías: los sistemas de control de lazo abierto y los sistemas de control de lazo cerrado

(Galán et al., 2000). Los primeros son los más sencillos ya que el controlador no toma en

consideración la respuesta del sistema que está controlando; por el contrario, los controla-

dores de lazo cerrado sí toman en cuenta la respuesta del sistema que controlan y son los

1

Page 18: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

2 CAPÍTULO 1. INTRODUCCIÓN

más utilizados. Existen una gran variedad de controladores de lazo cerrado, pero en parti-

cular el controlador clásico más usado es el denominado controlador PID (Proporcional-

Integral-Derivativo) (Noriega del Castillo, 2011). Éste se usa para controlar diversos siste-

mas como hornos, motores de CD (Corriente Directa), entre otros (Castillo, 2009; Farid

and Faruq, 2008; Kamalasadan and Hande, 2004).

En esta investigación se abordará el control de los sistemas utilizando lógica reconfi-

gurable, cuya planta es representada por motores de CD perteneciente a un robot móvil

del Cuerpo Académico de la ingeniería en Computación de la universidad del Istmo cu-

yo proyecto es NPTC056 . El control de motores de CD está basado principalmente en el

uso de controladores de lazo cerrado, los cuales toman el error que existe entre la salida

obtenida y la salida esperada. Aunque el controlador PID es el más empleado en este tipo

de control, en general, existen procesos reales donde estos controladores tienden a deses-

tabilizarse debido a las perturbaciones no lineales, el desgaste de equipos y otros factores

que se presentan en los procesos o sistemas. Esto hace necesario que tengan que ser re-

ajustados para las nuevas condiciones de operación o funcionamiento de esos sistemas ante

la pérdida de funcionalidad para controlar de manera adecuada. Actualmente se estudian

nuevos métodos y mejoras a los métodos clásicos para mejorar el rendimiento tanto en

tiempo de respuesta, recursos utilizados y mantenimiento a largo plazo sin la necesidad de

estar reajustándolos. Estos métodos están basados en Inteligencia Artificial (IA) y algunas

permiten un reajuste automático como si lo hiciera un humano experto en la sintonización

de controladores.

El campo de la IA está todavía en etapas de crecimiento comparadas con otras ramas de

la computación, 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 máquinas capaces de jugar ajedrez. De esta

manera, entre uno de sus objetivos, la IA busca seguir creando máquinas capaces de facilitar

ciertas labores de los humanos, logrando así que la tecnología tenga un avance mucho

mayor, además de otros beneficios en ramas de la ciencia como computación, medicina,

biología, etc.

La inteligencia artificial se divide en diferentes áreas: deducción y demostración au-

tomática de teoremas, resolución de problemas, métodos de control y búsqueda, juegos,

Page 19: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

3

formalismos y métodos de representación del conocimiento, procesamiento del lenguaje

natural, visión por computadora, sistemas expertos y aprendizaje (Munárriz, 1994); al-

gunas de estas técnicas son utilizadas en el control de sistemas ya que proveen métodos

adaptativos y cualitativos que mejoran el control clásico.

De esta manera, dado el auge de la IA, existe lo que se conoce como Control Inteligente,

el cual es resultado de la intersección del Control Automático, la Inteligencia Artificial y

los Sistemas Informáticos Distribuidos de tiempo real. Entre las técnicas de Inteligencia

Artificial usadas en Control Inteligente destacan: lógica difusa(Moreno et al., 2006), redes

neuronales (Cercós, 2001)y algoritmos genéticos(Martínez et al., 2010). Estas técnicas de

inteligencia artificial se usan en conjunción a los controladores PID y lo que pretenden es

mejorar las características ante perturbaciones que posiblemente existen en un sistema real

(Galán et al., 2000). Las mejoras no sólo abarcan a temas de inteligencia artificial sino

también al uso y exportación a la plataforma hardware.

Con el avance y el rendimiento que tienen hoy en día las arquitecturas hardware, así

como también la reducción del costo de la tecnología de alto desempeño, estas arquitectu-

ras se convierten en una opción más en el diseño y desarrollo de controladores, por lo que

se hace necesario la exploración en este rubro para conocer las posibles ventajas de imple-

mentación que tienen comúnmente los algoritmos y métodos que se exportan de plataforma

software hacia una plataforma hardware.

En la actualidad, el control digital requiere de una alta velocidad de cálculo, 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. Además existen procesadores de alto

rendimiento como los DSP (Digital Signal Processor), los cuales tienen alta velocidad de

cálculo, sin embargo la arquitectura interna del DSP no se manipula y por lo que se sólo

queda ajustarse a ellos.

De manera que, si se desea mejorar la velocidad de procesamiento, tiempo de ejecución

y rentabilidad ante una tarea específica , se opta por otra alternativa mostrada en (Chen

et al., 2009) donde se hace uso de lógica reconfigurable, mediante la implementación de

controladores en FPGAs (en inglés Field Programmable Gate Arrays). De manera que el

Page 20: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

4 CAPÍTULO 1. INTRODUCCIÓN

FPGA se ha convertido en una solución 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 diseño

y la mejor distribución de los elementos funcionales que permitan obtener los resultados

excelentes de operación.

Es importante resaltar que existen diferencias notorias que proveen de ventajas y des-

ventajas al momento de implementar sistemas de control en PC (Personal Computer), mi-

crocontrolador y FPGA. Al momento de usar una PC existe flexibilidad en el diseño de

sistemas de control porque el alto nivel de abstracción es lo que ayuda en gran medida al

diseñador y analista, ya que existen gran cantidad de herramientas de software que mode-

lan, simulan e implementan estos tipos de sistemas. Sin embargo, el consumo de recursos

como energía y área así como también su bajo desempeño cuando se requiere alta capacidad

de procesamiento dejan un uso limitado de la PC en sistemas de control de alto rendimien-

to. Esto hace que sistemas basados en PC se limiten a aplicaciones que no requieran alta

velocidad ni procesamiento paralelo, por lo que comúnmente dada a la flexibilidad en el di-

seño 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 mínima, son baratos, reportan velocidad media

para aplicaciones que no requieren altas prestaciones, así como también hay gran oferta de

fabricadores y amplia diversidad de herramientas software que ayudan al desarrollo e im-

plementación. La desventaja de los microcontroladores y microprocesadores es la forma en

que procesan los datos, ya que ellos lo realizan usando el paradigma de ejecución secuen-

cial (como las PCs) por lo que el alto desempeño en estos dispositivos no es alcanzado; otra

desventaja es que al tener muchos fabricantes, la portabilidad de código resulta deficiente,

ya que cada fabricante tiene su arquitectura de operación y sus propias instrucciones.

Hasta el momento se han descrito las PCs y los microprocesadores y/o microcontro-

ladores y se ha dicho que son muy flexibles en el diseño de aplicaciones especificas sin

embargo el costo de esta flexibilidad son las bajas prestaciones en velocidad de procesa-

miento. Por otro lado, existen dispositivos llamados Circuito Integrado para Aplicaciones

Específicas (en inglés ASICs), los cuales realizan una sola tarea asignada y son excelentes

Page 21: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

1.1. PLANTEAMIENTO DEL PROBLEMA 5

cuando se requiere un mayor desempeño y velocidad de procesamiento, el inconveniente

con estos dispositivos es que sólo se desarrollan para una tarea en especifica por lo que la

flexibilidad en ellos es casi nula. En la búsqueda de un dispositivo que reúna las caracterís-

ticas de alto nivel de procesamiento y que sea flexible en gran medida, se llega a la decisión

de desarrollar sistemas de control en FPGA.

Los FPGAs son actualmente más usados en aplicaciones de alto desempeño (Chen

et al., 2009), tomando ventaja del paralelismo del hardware, el cual excede la potencia de

cómputo de los procesadores y los procesadores digitales de señales (DSPs); también el

FPGA ofrece flexibilidad, densidad de integración alta y capacidad de rápido desarrollo

de prototipos en comparación al diseño personalizado de un ASIC, no obstante la tecno-

logía resulta medianamente costosa y se requieren conocimientos técnicos para describir

hardware.

Tanto las PCs, microcontroladores y FPGAs tienen ventajas y desventajas, las cuales

deben ser consideradas por el usuario para determinar y desarrollar de manera correcta a

un determinado sistema de control.

Como se ha visto, para controlar sistemas reales como motores de CD se requieren de

controladores, existe una gran variedad de estos últimos, algunos ya ampliamente estudia-

dos (clásicos) y otros que son basados en Inteligencia Artificial (inteligentes) como los que

utilizan lógica difusa; no obstante se realizan mejoras de los controladores clásicos y de los

controladores inteligentes usando tecnología de lógica reconfigurable, por tal motivo causa

interés el estudio de estos sistemas de control desarrollados en lógica reconfigurable. Cabe

mencionar que este trabajo se centrará en el desarrollo de controladores clásicos e inteli-

gentes utilizando lógica reconfigurable específicamente los FPGAs, con este desarrollo se

realizará un análisis y una comparación entre los controladores PID y PID difuso tomando

en cuenta tiempos de respuesta, recursos utilizados (en arquitecturas Hw) y comportamien-

to ante ruido.

1.1. Planteamiento del problema

Actualmente, las aplicaciones requieren un control con alta velocidad de procesamiento

para obtener una respuesta en tiempo real, sin embargo los controladores implementados

Page 22: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

6 CAPÍTULO 1. INTRODUCCIÓN

bajo plataforma software no cumplen en su totalidad con este requisito debido su paradigma

de programación secuencial. Por lo que en este trabajo se estudia el uso de plataforma hard-

ware usando lógica reconfigurable (uso de FPGAs) como opción para desarrollar sistemas

eficientes y con un alto desempeño en velocidad de cálculo, aprovechando el procesamiento

paralelo que ofrecen las arquitecturas hardware.

Por otra parte, cuando se desarrollan controladores, el establecer qué diseño es el más

adecuado para una aplicación resulta una tarea complicada, ya que se tendría que imple-

mentar una gran cantidad de controladores para después para analizarlos y compararlos, lo

cual demandaría tiempo y esfuerzo. De manera que, contar con un estudio realizado con un

análisis en la señal de respuesta (Sw-Hw), respuesta ante ruido (Sw-Hw) y recursos utili-

zados (Hw) de los controladores resulta beneficioso, pues brinda conocimiento preliminar

útil en el desarrollo de sistemas de control.

En este trabajo se abordará el análisis y comparación de controladores PID y PID difu-

so aplicados en el control de una planta que representada por motores de corriente directa.

El problema del PID, es que dadas las características 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 clásicos como el PID. La búsqueda y la investiga-

ción realizada apuntan al uso de IA, por ejemplo al uso lógica difusa, ya que ésta se adapta

mejor al entorno y permite interpretar expresiones de la vida cotidiana, además brinda una

repuesta rápida y precisa, disminuyendo las transiciones de estados fundamentales del en-

torno, por lo que combinado con un controlador PID da lugar al controlador PID difuso.

1.2. Justificación

Los controladores inteligentes como los difusos requieren algunos cálculos que son

complejos y, en aplicaciones que requieran un buen desempeño en tiempo, llegan a tener

complicaciones con el número de cálculos por segundo. Por lo que se buscan tecnologías de

alto desempeño que ayuden a solventar este tipo de problemas, en este trabajo se empleará

Page 23: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

1.3. OBJETIVOS 7

tecnología basada en lógica reconfigurable, ésta se basa en el uso de dispositivos reprogra-

mables como los FPGAs, los cuales proporcionan un alta capacidad de cálculo por lo que

mejora en tiempo gran cantidad de procesos. De manera que, se propondrán arquitecturas

nuevas en hardware, de las cuales se obtendrán conocimiento útil en la generalización de

arquitecturas hardware de controladores.

Además de las arquitecturas propuestas, el análisis y comparación 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 lógica difusa empleada en control, la cual es importante un

futuro en un mundo en constante cambio, por lo que contar con técnicas basadas en lógica

difusa resulta atractivo al ser más viable, ya que se adapta mejor al entorno que los métodos

de control clásicos y se estima que se ahorrarán los gastos de mantenimiento y los sistema

serán más robustos ante perturbaciones.

La simulación e implementación del controlador PID y PID difuso se realizarán en dos

plataformas (hardware y software), homogeneizado bajo una misma planta a controlar (mo-

tor de CD). Se analizará el comportamiento de los controladores, para después compararlos

y así obtener conclusiones acerca de ellos.

En resumen, se puede decir que el diseño y desarrollo de un controlador es una di-

ficultad que se presenta al momento de trabajar con sistemas de control, por lo que esta

investigación contribuirá a tomar mejores decisiones con nuevas formas de control (lógica

difusa) y explorando plataforma de alto velocidad (lógica reconfigurable). Esto conllevará

a procesos mejor controlados lo cual es benéfico para la industria y desarrollo científico.

1.3. Objetivos

En esta sección se menciona el objetivo general del trabajo de investigación y los obje-

tivos específicos que se esperan cumplir.

1.3.1. Objetivo general

Realizar un análisis y comparación de un controlador PID clásico y un controlador PID

difuso en lógica reconfigurable para controlar los motores de corriente directa, analizando

Page 24: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

8 CAPÍTULO 1. INTRODUCCIÓN

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

miento ante ruido.

1.3.2. Objetivos específicos

Analizar y establecer los fundamentos teóricos de los sistemas de control, las fun-

ciones de transferencia, lógica difusa y lógica reconfigurable para comprender su

funcionamiento aplicado a sistemas de control.

Simular el controlador PID clásico y el controlador PID difuso con una misma planta

representada con un motor de CD, la simulación se realizará bajo plataforma software

y hardware.

Implementar un controlador PID clásico y un controlador PID difuso en hardware.

Esta implementación estará realizada lógicamente utilizando herramientas software

que emulan dispositivos hardware (FPGAs).

Establecer un criterio de evaluación y obtener mediciones en tiempo de respuesta,

comportamiento ante ruido y recursos hardware.

Analizar y comparar las respuestas de cada controlador en plataforma hardware (FP-

GAs).

1.4. Hipótesis

El análisis y comparación de sistemas de control PID y PID difuso en lógica reconfi-

gurable es una contribución en el conocimiento y toma de decisiones útiles en el diseño de

sistemas de control, por ejemplo en motores de CD en sillas ruedas y robots móviles.

El desarrollo en lógica reconfigurable de los controladores PID clásico y PID difuso

tendrán mejores prestaciones en referencia con sus similares desarrollados en software.

Page 25: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

1.5. ALCANCES Y METAS 9

1.5. Alcances y metas

En esta sección se presentan los alcances y metas que se pretenden lograr en este trabajo

de investigación.

1.5.1. Alcances

Los sistemas de control están limitados al control de velocidad angular de motores de

corriente directa caracterizados en (Suárez., 2006). De este trabajo se extrae la sólo

la función de transferencia que representa los motores.

Se desarrollará el controlador PID clásico y el controlador PID difuso en software

sólo para conocer a grandes rasgos su funcionamiento.

Se implementará el controlador PID clásico y el controlador PID difuso en lógica

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 estén orientadas al control de motores de

CD.

Evaluar las respuestas de los sistemas de control PID clásico y PID difuso usando

lógica reconfigurable, tomando en cuenta la respuesta en tiempo, recursos usados y

comportamiento ante ruido.

Comparar el método de control PID clásico con el método PID difuso con lógica

reconfigurable.

Con el estudio realizado, contribuir en toma de decisiones de los diseñadores de

controladores automáticos.

Page 26: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

10 CAPÍTULO 1. INTRODUCCIÓN

Se espera que se realice un artículo de divulgación científica de las arquitecturas

hardware propuestas en esta investigación.

Page 27: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

Capítulo 2

Marco teórico

Debido a que este proyecto se relaciona con el control de sistemas por medio de mé-

todos clásicos e inteligentes y lógica reconfigurable, se presenta a continuación el marco

teórico con el fin de establecer las bases teóricas para el desarrollo de este proyecto.

2.1. Sistemas de control

El control automático interviene cada vez con más frecuencia en la vida de los seres

humanos desde controles simples como los usados en un refrigerador o una tostadora au-

tomática, hasta los sistemas complejos de control de vehículos espaciales, guía de misiles,

navegación asistida en aviones, robots autónomos, entre otros. Asimismo, el control au-

tomático con el transcurso de los años se ha convertido en parte importante de procesos

industriales como control de presión, temperatura, velocidad, humedad, etcétera.

Actualmente, la industria hace necesario disponer de sistemas de control que permitan

mejorar y optimizar los procesos ya existentes, en donde el hombre en ocasiones presen-

ta deficiencias para realizar control, debido a que las capacidades físicas de los humanos

como fuerza, rapidez (mental y motriz), exactitud, repetitividad, precisión, visualización,

entre otros, por lo que los humanos no son los indicados para usarse en determinados pro-

cesos; la industria espacial y de la aviación, petroquímica, 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

Page 28: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

12 CAPÍTULO 2. MARCO TEÓRICO

El control automático ha sido de vital importancia en el avance de la ingeniería y la

ciencia, los avances en el ramo del control automático permiten lograr el funcionamiento

óptimo de sistemas dinámicos, mejorar la calidad, abaratar costos, disminuir la complejidad

de tareas manuales, etcétera (Pérez, 2008).

Los sistemas de control son dinámicos y el tener un conocimiento de la teoría 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 características.

A continuación se define la terminología necesaria en la teoría de control automático

basado en (Pérez, 2008):

Planta se designa a cualquier objeto físico que pueda ser controlado. Ejemplos de

plantas son el motor, automóviles, aviones, electrodomésticos, equipo militar, equipo

médico, 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 operación que

se vaya a controlar. Ejemplos de procesos son: químicos, económicos, biológicos,

etc.

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

yen un todo. De otra forma, se puede decir que un un sistema es una combinación de

componentes que actúan 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 físicos 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 excitación del mismo y también una salida

que es una variable del sistema elegida de tal modo que se le utiliza para analizar los

efectos que produjo una excitación en la entrada.

Los sistemas de control, según la topología, se pueden clasificar en los que se denominan

control de lazo abierto y control de lazo cerrado.

Page 29: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

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 señal o acción de control. ver Figura 2.1.

Controlador Planta

Entrada de

referenciaSeñal de control Señal controlada

Figura 2.1: Sistema de control abierto

La exactitud de los sistemas de lazo abierto depende de la calibración, pues en la ca-

libración establece una relación 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 económicos

aunque comúnmente inexactos, ya que éstos no son sensibles a las perturbaciones; por eso,

el sistema de control abierto es útil cuando se tiene la seguridad de que no existen pertur-

baciones que afecten su comportamiento. El uso de este tipo de controladores se debe a

su simplicidad y economía, y se utilizan en aplicaciones no críticas como los sistemas de

lavado automático de ropa, control de sistemas de refrigeración y los sistemas de control

en los semáforos, pues sólo dependen de la calibración que se realice en el sistema.

Por otro lado, los sistemas de control de lazo cerrado son aquellos en que la salida o

señal controlada debe ser retroalimentada y comparada con la entrada de referencia; se debe

enviar una señal actuante o acción de control que responda a la diferencia entre la entrada

y la salida a través del sistema para disminuir el error y corregir la salida. La propiedad

de retroalimentación 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 más adecuadas. Entonces, un sistema de control retroalimentado

tiene como objetivo mantener una relación 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 señal de salida

tiene efecto directo sobre la acción de control (también son conocidos como sistemas re-

troalimentados); la diferencia entre la señal de entrada y la señal de salida se la denomina

Page 30: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

14 CAPÍTULO 2. MARCO TEÓRICO

señal de error del sistema; esta señal es la que actúa sobre el sistema para llevar la salida

a un valor deseado. En otras palabras, el término lazo cerrado implica el uso de acción de

retroalimentación negativa para reducir el error del sistema.

Controlador PlantaSeñal de control Señal controlada

Retroalimentación

Señal

retroalimentada

Señal de error+

-

Figura 2.2: Sistema de control retroalimentado

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

pendiendo del propósito de la clasificación. Por ejemplo, de acuerdo con el método de

análisis y diseño, los sistemas de control se clasifican en lineales o no lineales y variantes

o invariantes en el tiempo (Pérez, 2008). De acuerdo con los tipos de señales 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 señales, en va-

rias partes del sistema, son todas funciones de una variable continua en tiempo t, es decir,

el flujo de señales en todas partes del sistema es siempre continuo. La característica fun-

damental de un sistema de control automático continuo o analógico es la comparación

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 señales en uno o más puntos del sistema son en

código numérico digital. Normalmente, los sistemas en tiempo discreto se subdividen en

sistemas de control de datos muestreados y sistemas de control digital (Pérez, 2008). Los

primeros se refieren a una clase más general de sistemas en tiempo discreto en los que

las señales están en la forma de pulsos de datos u ondas rectangulares. Por otra parte los

Page 31: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

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 señales están en código digital o código binario.

Convertidor Digital/

AnalógicoPlanta

Entrada de

referencia

Convertidor

Analógico/ Digital

Computadora

+

-

Figura 2.3: Sistema de control digital

En específico, los sistemas de control automático continuo son aquellos sistemas de

control retroalimentados negativamente, en donde el flujo de señales en todas partes del

sistema es siempre continuo, además debe aclararse que no hay factor humano que in-

tervenga como parte del sistema. La característica fundamental de un sistema de control

automático continuo es la comparación continua entre el valor actual de la variable contro-

lada y el valor deseado de esta variable, la diferencia entre estos valores es llamada error

del sistema. Un sistema de control automático continuo tiende a eliminar el error a través

de ajustes convenientes en el sistema, actuando solamente cuando la señal de error tiene

un error finito. En la Figura 2.4 se muestra un diagrama más detallado de un sistema de

control automático continuo.

AmplificaciónPlanta

controlada

Elemento de

medición o bloque

de realimentación

Regulador o

Actuador

e(t)

b(t)-

r(t)y(t)m(t)

Perturbación

Figura 2.4: Sistema de control automático continuo

Page 32: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

16 CAPÍTULO 2. MARCO TEÓRICO

El primer paso importante en el análisis y diseño de sistemas de control es el modelado

matemático de los procesos controlados. En el modelado matemático se describe el sistema

usando ecuaciones integro-diferenciales definidas en el tiempo, así también se hace uso

de gráficas del comportamiento de los sistemas, de manera que las ecuaciones integro-

diferenciales y las gráficas representen el comportamiento dinámico de los sistemas. En

general, dado un proceso controlado, primero se debe definir el conjunto de variables que

describen las características dinámicas de dicho proceso. Una forma clásica de modelar

sistemas lineales es utilizando funciones de transferencia porque representan la relación

entrada-salida entre variables. La función de transferencia es un método operacional usado

para expresar una ecuación diferencial ordinaria, lineal y con coeficientes constantes, de

manera que se relaciona la variable de salida del sistema con la variable de entrada (Pérez,

2008).

La función de transferencia de un sistema invariante en el tiempo se define en el domi-

nio de Laplace como el cociente entre la transformada de Laplace de la salida o respuesta

del sistema y la transformada de Laplace de la entrada o función de excitación, bajo la su-

posición que todas las condiciones iniciales son cero (Avila, 2011). El método de la trans-

formada de Laplace es una herramienta matemática utilizada ampliamente para solucionar

ecuaciones ordinarias lineales y es ampliamente usada en la simulación de sistemas físicos,

circuitos eléctricos y el modelado y análisis de sistemas de control automático. También

existe la transformada Z, la cual es la contraparte discreta de la transformada de Laplace

y es la generalización en tiempo discreto de la transformada de Fourier. Las propiedades

de la transformada Z son similarmente paralelas a las de la transformada de Laplace, sin

embargo existen importantes diferencias entre la transformada Z y la transformada de La-

place, las cuales surgen de las diferencias fundamentales entre sistemas en tiempo continuo

y en tiempo discreto. Estas herramientas matemáticas 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 están en muchas aplicaciones hoy en día que requieren alto torque y

determinada velocidad de giro como en elevadores, sistemas de tranvía, aviones, silla de

Page 33: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

2.1. SISTEMAS DE CONTROL 17

ruedas automáticas, maquinaria industrial como tornos, esmeriles y otras aplicaciones. La

descripción del motor utilizado y de fundamentos teóricos es dado a continuación.

2.1.1. Motores de Corriente Directa

El motor de corriente directa es un dispositivo que convierte la energía eléctrica en ener-

gía mecánica, principalmente mediante un movimiento rotatorio. Esta máquina de corriente

continua es una de las más versátiles en la industria, ya que la principal característica del

motor de corriente continua es la posibilidad de regular la velocidad y su principal incon-

veniente es que el mantenimiento es costoso y laborioso (Galán et al., 2000).

El motor se compone principalmente de dos partes:

El estator, el cual le brinda estabilidad al dispositivo dado que mantiene una posición

fija, puede estar devanado o tener imanes permanentes dentro de éste.

El rotor de forma generalmente cilíndrica, el cual está devanado y cuenta con un

núcleo; el rotor gira cuando le llega corriente mediante dos escobillas fijas en el

estator.

Una forma de clasificar a los motores de CD según la excitación de su campo magnético es:

excitación serie, excitación paralelo y excitación independiente (Romero, 2001). Sin em-

bargo la característica de los dos primeros son no lineales, de manera que para aplicaciones

de control el más usado es el motor de excitación independiente.

En este proyecto se hace uso de un motor de CD, el cual es parte de un robot móvil

denominado “ROCA”, desarrollado en (Romero, 2001) y también usado en (Suárez., 2006).

Los motores de este robot móvil descrito en este trabajo son de la marca Pittman de CD a 24

volts de la serie GM9000. En la actualidad se cuenta físicamente con este robot móvil, ya

que es parte del proyecto del Cuerpo Académico de la Ingeniería en Computación (CAIC)

en la Universidad del Istmo campus Tehuantepec, ese es el motivo de su utilización ya que

cumple con la característica de ser un sistema real. Para obtener el comportamiento, se

hace uso del documento de (Suárez., 2006), en el cual se realizó el modelado del motor de

corriente directa. De este estudio realizado se toma la función de transferencia para trabajar

en esta tesis, la función de transferencia se presenta en la ecuación 2.2.

Page 34: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

18 CAPÍTULO 2. MARCO TEÓRICO

G(S) =Ω(S)Va(S)

=KT

S2JmLa +S (JmRa +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 fricción 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 especificación, ver apéndice la ecuación de

transferencia es:

G(S) =Ω(S)Va(S)

=4,58 x10−2

18,67 x10−9S2 +17,68 x10−6S+2,10 x10−3 (2.2)

2.2. Controladores clásicos

Los controladores comparan el valor de una variable medida (señal de entrada) y el

valor deseado (set point) para producir una señal 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 métodos para caracterizar el desempeño de los controladores es el uso de

una señal de entrada representada por el escalón unitario, ya que si se conoce esta respuesta,

es posible calcular la respuesta a cualquier otra entrada mediante técnicas matemáticas. Las

especificaciones más comunes son las siguientes, ver Figura 2.5:

Tiempo de retardo td

Tiempo de subida tr

Tiempo pico t p

Page 35: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

2.2. CONTROLADORES CLÁSICOS 19

Sobreelongación o sobre impulso MP

Tiempo de asentamiento ts

Figura 2.5: Curva de respuesta ante la funcion escalón

Estos parámetros resultan útiles al momento de medir y comparar los tiempos en la

señal de salida de los diferentes controladores que se realizaran en esta tesis.

En este trabajo se abordarán temas referentes a controladores retroalimentados clásicos

como P, PD, PI y PID hasta controladores basados en técnicas de inteligencia artificial, para

después analizar su funcionamiento desde plataforma hardware. En la siguiente sección se

describirán los métodos clásicos y posteriormente algúnos métodos 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 característica principal es la presencia de offset que indica que el error no se

ha eliminado completamente.

Este tipo de controlador tiene una relación de su salida u(t) y la señal de error e(t) como

se ve en la ecuación 2.3:

Page 36: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

20 CAPÍTULO 2. MARCO TEÓRICO

u(t) = kpe(t) (2.3)

O bien, en el dominio de la transformada de Laplace representada por la ecuación 2.4,

en donde kp se considera la ganancia proporcional.

U(S) = kp E(S) (2.4)

La característica de la proporcionalidad es representada por la ganancia del controlador

kp, con esta ganancia se determina cuánto se modifica la salida del controlador con un

cierto cambio de error. Entre las ventajas que tiene este controlador están la aplicación

instantánea y la simplicidad de diseño, sin embargo, le falta inmunidad al ruido y tiene un

error permanente (offset).

2.2.2. Controlador Proporcional-Derivativo (PD)

Este controlador agrega una acción derivativa, por lo que la señal de salida es directa-

mente proporcional a la velocidad con que cambia la variable controlada. Este controlador

genera una señal de salida mediante la combinación de la acción proporcional anteriormen-

te mencionada y la acción derivativa, la ecuación 2.5 representa este controlador.

u(t) = kp

e(t)+ τd

de(t)dt

(2.5)

O bien, representado con la transformada de Laplace, ver ecuación 2.6:

U(S) = kp 1+ τd S E(S) (2.6)

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

El control PD proporciona al sistema una mayor estabilidad que los controladores ante-

riormente mencionados, ya que este controlador tiene una respuesta transitoria con menor

Page 37: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

2.2. CONTROLADORES CLÁSICOS 21

sobreelongación. El control PD es un control con alta sensibilidad y su desventaja radica

en que amplifica señales de ruido, no obstante tiene la ventaja de usar una acción de control

derivativa la cual responde a la velocidad del cambio del error y produce una corrección

significativa antes de que la magnitud del error se vuelva demasiado grande. Por tanto, el

control derivativo prevé el error, iniciando una acción 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 desviación en ellos, por este motivo se introduce la acción integral o de reajuste

por lo que se puede tener un controlador proporcional-integral (PI). La acción integral tiene

como objetivo vencer al offset producido por corregir el tamaño del error sin considerar el

tiempo.

La ecuación 2.7 describe al controlador PI y su trasformada de Laplace es representada

por la ecuación 2.8:

u(t) = kp e(t)+kp

τI

∫ t

0e(t)dt (2.7)

U(S) = kp

1+

1τI S

E(S) (2.8)

Siendo kp la ganancia proporcional y τI el denominado tiempo integral. Tanto kp como

τI son ajustables. El tiempo integral ajusta la acción de control integral, mientras que un

cambio en el valor de kp afecta las partes integral y proporcional de la acción 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 acción de control.

Page 38: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

22 CAPÍTULO 2. MARCO TEÓRICO

2.2.4. Controlador Proporcional-Integral-Derivativo (PID)

Este controlador es con frecuencia el más usado y uno de los que ofrecen mayor pre-

cisión dentro de la regulación automática. El controlador recibe su nombre ya que es una

combinación de una acción de control proporcional, una acción de control integral y una ac-

ción de control derivativa por lo que se denomina acción de control proporcional – integral

– derivativa o PID. El algoritmo del cálculo del control PID requiere de tres parámetros

distintos: el proporcional, el integral y el derivativo. El valor proporcional determina la

reacción del error actual. El integral genera una corrección 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 reacción del tiempo en el que el error se pro-

duce. El PID tiene las ventajas de cada una de las tres acciones de control individuales. La

ecuación 2.9 representa el controlador con esta acción combinada.

u(t) = kp e(t)+kp

τI

∫ t

0e(t)dt + kp τd

de(t)dt

(2.9)

Representado con la transformada de Laplace, ver ecuación 2.10.

U(S) = kp

1+

1τI S

+ τd S

E(S) (2.10)

Cabe aclarar que los valores de kp, τd , y τI representan los mismos valores que ante-

riormente se mencionaron.

Los controladores PID se recomiendan para procesos con constante de tiempo larga en

los que no hay ruido del exterior. Además, ellos son de gran utilidad cuando se regulan

procesos industriales como en el control de nivel, presión, flujo, temperatura, posición y

velocidad; este último tipo de planta es el estudiado en este documento ya que se desea

controlar la velocidad angular de un motor de corriente directa.

Como se ha visto existen una gran cantidad de controladores, sin embargo estos contro-

ladores clásicos 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 técnicas de la inteligencia artificial para implementarlas

Page 39: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

2.3. CONTROL DIFUSO 23

en control, en este proyecto se realiza control difuso ya que se combina la lógica difusa y

el control automático.

2.3. Control Difuso

La lógica difusa nace en 1965 a partir de la publicación del artículo Fuzzy sets escrito

por Lotfi Zadeh (Wang, 1994). La lógica difusa contrasta con la lógica convencional pues

define conceptos en grados variables de pertenencia tratando de emular patrones de razo-

namiento similares a los del pensamiento humano, contrario a la lógica convencional que

utiliza conceptos absolutos para referirse a la realidad.

La lógica difusa se presenta como una técnica de la Inteligencia Artificial cuyo objetivo

es expresar el conocimiento de tipo lingüístico en un lenguaje matemático basado en la

teoría de conjuntos difusos y funciones de pertenencia asociados a éstos, en pocas palabras

la lógica difusa relaciona el contexto lingüístico con datos numéricos los cuales proporcio-

nan precisión matemática. La aplicación de la lógica difusa en control de procesos presenta

ventajas dada su flexibilidad y tolerancia a imprecisiones ya que están basados en el len-

guaje natural, otra ventaja es que la lógica difusa trabaja excelentemente cuando los datos

no son precisos, característica muy útil cuando se trabaja con sistemas complejos o reales.

2.3.1. Variables lingüísticas

En la vida diaria se usan palabras para describir variables, por ejemplo, cuando se dice

la expresión “que hoy hace frío” 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

números como sus valores, se tiene un marco de trabajo formulado matemáticamente, pero

cuando la variable toma palabras como sus valores, entonces no se consigue este marco,

por tal motivo se introduce el concepto de variable lingüística si una variable puede tomar

palabras en lenguaje natural como sus valores (Pedrycz, 1993).

Las variables lingüísticas son importantes en la representación del conocimiento hu-

mano, ya que cuando se mide una variable y se tiene un valor numérico como salida, poste-

riormente se le pregunta a un experto humano para que evalúe dicha variable. Los humanos

Page 40: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

24 CAPÍTULO 2. MARCO TEÓRICO

entregan palabras como salidas, las cuales se transmiten a las variables lingüísticas, estas

últimas transforman descripciones vagas en lenguaje natural a términos matemáticos pre-

cisos (Passino and Yurkovich, 1998), por lo que las variables lingüísticas son adecuadas

cuando se diseñan e implementan sistemas difusos ya que cada una puede representar un

conjunto difuso o una equivalencia matemática representada por una función de pertenen-

cia basada en el lenguaje humano.

2.3.2. Conjuntos clásicos o duros y conjuntos difusos

Un conjunto clásico se define como una colección de elementos que existen dentro de

un universo, en donde cada uno de los elementos del universo pertenece o no a un determi-

nado conjunto. Por lo tanto, cada conjunto puede definirse completamente por una función

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 más de un conjunto, con un valor de pertenencia ponderado. Las

primeras diferencias que se hacen evidentes entre los conjuntos clásicos y los conjuntos

difusos según (Ortiz and Liu, 2004) son las siguientes:

La función de pertenencia asociada a los conjuntos concretos sólo 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 simultánea-

mente pertenecer (parcialmente) al complemento de dicho conjunto, lo anterior no es

posible en los conjuntos clásicos.

Las fronteras de un conjunto clásico 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 más de un conjunto difuso con diferente grado de

pertenencia.

Page 41: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

2.3. CONTROL DIFUSO 25

La lógica difusa está basada en la teoría de conjuntos, en la cual el grado de pertenencia de

un elemento a un conjunto está determinado por una función de pertenencia y que puede

tomar cualquier valor dentro del intervalo [0,1].

2.3.3. Funciones de pertenencia

Las funciones de pertenencia representan gráficamente un conjunto difuso, el eje X re-

presenta el universo de discurso y el eje Y sitúa los grados de pertenencia que están defini-

dos de 0 a 1. Al momento de definir un conjunto difuso se puede utilizar cualquier función,

sin embargo, existen ciertas funciones que son comúnmente usadas debido a la simplici-

dad matemática; entre éstas están la funciones triangulares, trapezoidales, parabólicas y

Gaussianas. A continuación se describen algunas funciones de pertenencia:

Función triangular

La función triangular se define como muestra la ecuación 2.11:.

µtriangular(x;a,b,c)

0 ,x≤ ax−ab−a ,a≤ x≤ bc−xc−b ,b≤ x≤ c

0 ,c≤ c

(2.11)

Donde a, b y c representan la coordenada del eje horizontal de los vértices del triangulo

formado.Un ejemplo de una función triangular usando el software MatLab es mostrada en

la Figura 2.6

Page 42: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

26 CAPÍTULO 2. MARCO TEÓRICO

Figura 2.6: Función triangular en MatLab con la función trimf(x,[3 6 8])

Función trapezoidal

La función trapezoidal se define con la ecuación 2.12:

µtrapezoidal(x;a,b,c,d)

0 x≤ ax−ab−a a≤ x≤ b

1 b≤ x≤ cd−xd−c c≤ x≤ d

0 d ≤ x

(2.12)

Donde a, b, c y d representan la coordenada del eje horizontal de los vértices del trape-

cio formado. Un ejemplo de la función trapezoidal usando el software MatLab, se ve en la

Figura 2.7.

Page 43: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

2.3. CONTROL DIFUSO 27

Figura 2.7: Función trapezoidal en MatLab con la función trapmf(x,[2 4 6 8])

Función Gaussiana

La función Gaussiana se define con la ecuación 2.13.

µgaussiana(x;σ ,a) = e−12(

x−cσ )

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 función de pertenencia usando el software

MatLab.

Page 44: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

28 CAPÍTULO 2. MARCO TEÓRICO

Figure 2.8: Función Gaussiana en MatLab con la función gaussmf(x, [0.5 5])

Función campana

La función campana está definida como se muestra en la ecuación 2.14:

µcampana(x;a,b,c) =1

1+ |x−ca |2b (2.14)

Donde a corresponde al vértice inicial de (eje horizontal), b representa la proporción en

la anchura de la campana y c representa el centro de la campana (eje horizontal).

Un ejemplo de la función campana usando el software MatLab se muestra en la Figura

2.9.

Page 45: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

2.4. SISTEMAS DIFUSOS 29

Figura 2.9: Función Campana en MatLab con la función gbellmf(x, [2 4 5])

Estas funciones de pertenencia son algunas de las más usadas y el criterio de selección

se ha dejado a criterio de los diseñadores y expertos en sistemas difusos, cuyo objetivo es

escoger la función de pertenencia óptima que proporcione mejores resultados.

2.4. Sistemas difusos

Los sistemas difusos son sistemas basados en conocimiento humano, donde la parte

esencial de un sistema difuso es la base de conocimientos que consiste de reglas difusas

que tienen la forma:

Si antecedente entonces consecuente

La primera parte de la regla se denomina antecedente y contiene una o varias con-

diciones referidas a las entradas del sistema; la segunda parte de la regla es denominada

consecuente y es la acción a ejecutarse (González and Hernando, 1995) .

A continuación se muestra un ejemplo de una regla difusa de la forma Si−entonces:

Si la temperatura es baja entonces hacer más fuego

Page 46: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

30 CAPÍTULO 2. MARCO TEÓRICO

Este tipo de reglas componen lo que se denomina base de reglas del sistema, donde

las palabras “baja” y “más” tienen asociadas funciones de pertenencia. Un sistema difuso

está construido de un conjunto de reglas difusas. En resumen, el punto de inicio para la

construcción de un sistema difuso es obtener una colección de reglas difusas de la forma

Si−entonces de expertos humanos en base a su conocimiento y experiencia (Wang and

Mendel, 1992).

2.4.1. Diseño de sistemas difusos

Para el diseño de sistemas difusos se tiene en cuenta que existen diferentes tipos de

sistemas difusos, entre los más populares y usados están los sistemas difusos puros, los

sistemas del tipo Mamdani y los del tipo Sugeno.

2.4.1.1. Sistema difuso puro

La configuración básica 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 matemático

de trabajo formal y en la resolución de problemas de sistemas en ingeniería, las entradas y

salidas son variables representadas con valores reales.

Figura 2.10: Sistema difuso puro

Page 47: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

2.4. SISTEMAS DIFUSOS 31

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

las expresiones lingüísticas de las personas.

2.4.1.2. Sistema difuso Mamdani

Este sistema difuso es el más usado cuando se trabaja con la metodología fuzzy y fue uno

de los primeros sistemas de control que utilizó conjuntos difusos. El método de Mamdani

fue propuesto en 1975 por Ebrahim Mamdani (Nicolás Nicolás, 2008) y está compuesto de

los elementos mostrados en la Figura 2.11.

Base de reglas

Fuzzificación Inferencia Defuzzificación

Figura 2.11: Sistema difuso tipo Mamdani

A continuación se describe cada elemento que conforma a este tipo de sistema difuso

para dar una mejor idea de la interpretación de este sistema.

Fuzzificación

En general, la fuzzificación es el proceso mediante el cual se transforma un valor nu-

mérico concreto de una variable de entrada en un conjunto difuso que representa dicho

valor.

El primer paso consiste en tomar las entradas y determinar el grado al que ellos perte-

necen con respecto a cada uno de los conjuntos difusos apropiados y la entrada siempre es

un valor numérico limitado al universo del discurso de la variable de entrada.

Los fuzzificadores se pueden clasificar en dos categorías según (Méndez and Morales,

2008): el fuzzificador unitario y el no unitario. Un fuzzificador unitario produce un conjunto

Page 48: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

32 CAPÍTULO 2. MARCO TEÓRICO

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

de pertenencia máximo. Los restantes puntos del universo no pertenecen al conjunto en

ningún grado. Para ello, se utiliza una función de pertenencia doblemente evaluada, ver

ecuación 2.15:

µ(x) =

1 x es x = y ∈ Univ

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

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

más de un punto. En estos fuzzificadores, el valor de pertenencia es máximo µ(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 lingüística.

Estas expresiones son utilizadas para establecer relaciones causa-efecto entre dos propo-

siciones difusas las cuales son expresadas mediante variables lingüísticas y se expresan

generalmente como:

Si proposiciónA entonces proposiciónB

En la teoría de control se estudian estas expresiones con la siguiente forma:

Si A es B entonces C es D

Page 49: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

2.4. SISTEMAS DIFUSOS 33

Interpretando la expresión, se observa que la relación difusa está definida en los do-

minios de las variables lingüísticas A y C por lo que el grado de verdad de la implicación

es:

El antecedente de la proposición es A es B y es representado por una conjunto difuso

B.

El consecuente de la proposición es C es D y es representado por el conjunto D.

El significado de la evaluación de la expresión es una relación difusa que se expresa de la

siguiente manera, ver ecuación 2.16.

µ(A,C) = µB(A) · µD(C) (2.16)

En donde el operador · puede ser un simple producto cartesiano o algún operador de im-

plicación difuso. Si el antecedente o el consecuente son proposiciones compuestas, enton-

ces se calcula primero la función de pertenencia de la proposición compuesta y el operador

· es aplicado a las funciones de pertenencia resultantes. Por lo que cualquier operación o re-

lación en lógica 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 método 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 composición: las relaciones difusas que representan el signifi-

cado de cada regla individual son agregadas a la relación difusa. Esta operación se

realiza mediante una composición entre la entrada fuzzificada y la relación que des-

cribe al conjunto de reglas. El resultado de la composición es el conjunto difuso que

describe el valor de la salida.

Page 50: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

34 CAPÍTULO 2. MARCO TEÓRICO

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

dispara individualmente. El disparo puede interpretarse como el cómputo del grado

de pertenencia que se asigna a la entrada no difusa. Las funciones de pertenencia

son recortadas y basadas en el conjunto difuso que describe el significado de la con-

secuencia de la regla, dado el grado del antecedente que ha sido asociado por la

entrada no difusa. Finalmente, los valores de las funciones de pertenencia recortados

son agregados para formar la salida final.

Otra forma de entender el proceso de inferencia es mediante la generación de un mapeo para

asignar a una entrada una salida utilizando lógica difusa. El proceso de inferencia provee

las bases para la toma de decisiones del sistema. Este proceso involucra la utilización de

funciones de pertenencia y las reglas generadas en la base de conocimiento.

El método Mamdani utiliza reglas tipo Si-entonces. Una regla de la base de reglas o

base de conocimiento tiene dos partes: el antecedente y la conclusión, como se observa en la

Figura 2.13. En un sistema difuso tipo Mamdani tanto el antecedente como el consecuente

de las reglas están dados bajo la forma de la expresión de la regla.

SI la entrada es baja entonces la salida es alta

Antecedente Consecuente

Figura 2.13: Regla Si-entonces Mamdani

Defuzzificación

Una vez cumplidas las etapas anteriores, el resultado de la inferencia de la base de

reglas será también 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 distribución de posibilidades de los valores difusos, de manera que requiere

Page 51: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

2.4. SISTEMAS DIFUSOS 35

un defuzzificador. Los métodos más empleados para defuzzificar son los basados en centro

de área, centro de sumas, altura, medio del máximo, etc. A continuación se describirán

algunos métodos usados en la lógica difusa.

Centro de Área o centroide

COA (Center of Area), como también se le conoce, es el método más conocido de de-

fuzzificación. Este método encuentra el centro del área del conjunto difuso que resulta de

combinar todos los conjuntos difusos obtenidos en el disparo individual de reglas. Este

método 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, matemáticamente este

método esta definido por la ecuación 2.17.

fCOA =

l

∑i=1

fi ·µ( fi)

l

∑i=1

µ( fi)

(2.17)

Donde fCOArepresenta la coordenada del centro de área, fi son los distintos valores que

puede tomar la salida f y µ representa el conjunto difuso obtenido al aplicar el procedi-

miento de inferencia. Este método es el más 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 numérico 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 parámetros 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 ponderación de cada conjunto de salida es :

PondA = 0,8

Page 52: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

36 CAPÍTULO 2. MARCO TEÓRICO

PondB = 0,7

PondC = 0,5

Para realizar el método 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,8+0,7+0,5= 0,54

En la Figura 2.14 también muestra gráficamente la ubicación del valor de la salida.

Figura 2.14: Ubicación gráfica del valor de salida usando COA

LOM, SOM y MOM

Estos métodos de defuzzificación utilizan el valor máximo del conjunto total resultante.

Más largo del máximo (LOM) utiliza el valor máximo, el más pequeño (SOM) utiliza

Page 53: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

2.4. SISTEMAS DIFUSOS 37

el valor mínimo y el promedio (MOM) utiliza el valor medio entre SOM y LOM. Si el

conjunto resultante posee un solo valor máximo, entonces los tres valores son iguales pero

si posee un intervalo de valores máximos estos valores son distintos.

Figura 2.15: Ubicación de SOM, MOM y LOM

Para realizar este método se cuenta con tres funciones A, B y C de pertenencia que

representan conjuntos de salida, los cuales tiene los siguientes parámetros 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 ponderación de cada conjunto de salida es :

Page 54: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

38 CAPÍTULO 2. MARCO TEÓRICO

PondA = 0,8

PondB = 0,7

PondC = 0,5

Se toma el valor máximo de la ponderación que es 0,8, el cual corresponde al conjunto

A, por lo que gráficamente se obtiene:

SOM = 0,2

MOM = 0,275

LOM = 0,35

Bisección

Consiste en encontrar el punto para el cual, si se traza una línea vertical, el conjunto resul-

tante queda dividido en dos regiones cuyas áreas son iguales, ver Figura 2.16.

Figura 2.16: Ejemplo gráfico de bisección

Page 55: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

2.4. SISTEMAS DIFUSOS 39

Figura 2.17: Sistema difuso tipo Sugeno

Para calcular el área de las regiones se pueden emplear cualquier método matemático

que mas convenga, el método de la bisección no se restringe a una sola fórmula.

2.4.1.3. Sistema difuso Sugeno

Los sistemas tipo Sugeno se pueden utilizar para cualquier modelo en el que las funcio-

nes de pertenencia de salida sean lineales o constantes (Nicolás Nicolás, 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 continuación.

Fuzzificador: Transforma las entradas normales en entradas difusas entendibles por el

sistema Sugeno (el funcionamiento es idéntico 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 lingüística, sino que es una función 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

Page 56: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

40 CAPÍTULO 2. MARCO TEÓRICO

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

que el sistema difuso Mamdani que se ha explicado anteriormente.

En los sistemas difusos tipo Sugeno, los valores obtenidos de los consecuentes de las dife-

rentes reglas que se han activado ya son valores numéricos, por lo que no se necesita una

etapa de defuzzificación.

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 número de reglas

y se dificulta la interpretación de la acción integral mediante reglas, por ello es común

que se le desacople o que simplemente se le afecte por una ganancia. Esto último es lo

que se propone en (Galán et al., 2000), sumar la acción 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 método de ajuste consiste en transferir los parámetros de un controlador PID (ajus-

tado por cualquier técnica) a un controlador difuso FPD+I. Este controlador también se le

conoce como PID difuso y la ecuación 2.18 lo define matemáticamente.

u(t) = [ f (ke · e), kde ·de+ ki · ie)] · ku = FPD+ I(e,de) (2.18)

Si se realiza una aproximación lineal en la ecuación 2.18, se obtiene la ecuación 2.19.

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

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

gral del error. La aproximación lineal empleada tiene el objetivo de buscar una semejanza

entre dos tipos de controladores: el PID clásico y el PID difuso. Es posible aproximar el

FPD con un PD clásico debido a que el FPD está diseñado para emular a un PD, por lo tan-

to, con la ecuación 2.20 se está representando de manera aproximada el comportamiento

“predictivo” del controlador difuso junto con la acción integral.

Page 57: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

2.4. SISTEMAS DIFUSOS 41

u(t) =[

e+kde

ke·de+

ki

ke· ie]

ke · ku (2.20)

Por otro lado, la ecuación 2.21 representa al controlador PID ideal:

u(t) = e+ τd ·dedt

+1τI·∫

e dt (2.21)

Se puede observar semejanzas entre las ecuaciones 2.20 y 2.21, de la comparación entre

ellas surge la ecuación 2.22, 2.23 y 2.24.

kp = ke · ku (2.22)

τd = kde · ke (2.23)

1τI

=ki

ke|(2.24)

Cabe aclarar que el ajuste de los controladores difusos también se ven afectados por los

valores de las funciones de pertenencias por lo cual queda a conocimiento del diseñador

una sintonización adecuada tomando las funciones de pertenencia y las ganancias de los

controladores.

Comúnmente la estructura de lógica 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

fuzzificación, inferencia y defuzzificación. Algunos cálculos son complejos y, en aplica-

ciones que requieran un buen desempeño en tiempo, llegan a tener complicaciones con el

número de cálculos por segundo. Por lo que se busca tecnologías de alto desempeño que

ayuden a solventar este tipo de problemas, una de estas tecnologías es la lógica reconfigu-

rable, ésta se basa en el uso de dispositivos reprogramables como los FPGAs, los cuales

proporcionan un alta capacidad de cálculo por lo que mejora en tiempo gran cantidad de

procesos.

Page 58: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

42 CAPÍTULO 2. MARCO TEÓRICO

2.5. Lógica reconfigurable

Existen dos métodos principales de implementar sistemas reales en la computación tra-

dicional, el primero es usar un Circuito Integrado de Aplicación Específica o ASIC. Se

diseñan ASICs para realizar una tarea en especial, estos dispositivos son muy rápidos y efi-

caces siempre y cuando realicen exactamente la aplicación para la que han sido diseñados.

El inconveniente es que después de la fabricación el circuito no puede alterarse, lo cual lo

hace caro si el diseño necesita modificaciones posteriores a su desarrollo.

El segundo es el uso de los microprocesadores (MP) y microcontroladores (MC), los

cuales presentan una solución más flexible. Los MP y MC realizan sus operaciones ejecu-

tando un conjunto de instrucciones, por lo que las modificaciones resultan poco costosas

ya que no cambiaría de hardware como lo haría los ASIC, la desventaja de esta flexibilidad

es que la velocidad de actuación está por muy debajo del de un ASIC. El procesador debe

leer cada instrucción de la memoria, determinar su significado, y sólo entonces lo ejecuta.

Además, el conjunto de instrucciones no puede cambiarse ya que se estableció desde el

diseño, por lo que cualquier otro funcionamiento no será permitido y costará un tiempo

alto de ejecución si se desarrolla fuera del MP o MC.

La computación reconfigurable como también se le conoce, ocupa el espacio entre los

ASIC y MP, mientras consigue un desempeño más rápido que los microprocesadores man-

tiene un nivel más alto de flexibilidad que los ASICs. Este tipo de computación se consigue

con la utilización de FPGAs. Los FPGAs son introducidas por Xilinx en 1985 y consiste en

una matriz bidimensional de bloques configurables que se pueden conectar mediante recur-

sos generales de interconexión (Varela Rincón and Loaiza Pulgarín, 2008). En realidad lo

que se programa en un FPGA son los conmutadores que sirven para realizar las conexiones

entre los diferentes bloques, más la configuración de los bloques.

Actualmente, los FPGAs se han utilizado para acelerar una variedad de aplicaciones.

Para lograr estas ventajas, las aplicaciones utilizan la programación reconfigurable, nor-

malmente se forman sistemas con una combinación de lógica reconfigurable.

Page 59: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

2.5. LÓGICA RECONFIGURABLE 43

2.5.1. Dispositivos Programables

Al momento de elegir el diseño 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 diseños de sistemas.

Figura 2.19: Flexibilidad, coste, complejidad y prestaciones en diseños de sistemas

Se observa que las mejores prestaciones la proporciona un diseño full-custom pero tiene

un costo elevado y una gran complejidad de diseño. Por otro lado, un diseño en software

es más barata económicamente y flexible, sin embargo en algunos casos no puede alcanzar

prestaciones altas.

Las otras dos opciones están caracterizadas por la fabricación de un sistema digital rea-

lizado mediante un diseño semi-custom, utilizando ya sea células estándar o un dispositivo

que se programe como son los FPGAs.

Los dispositivos programables constituyen una buena oferta para realizar diseños elec-

trónicos digitales con un buen compromiso costo-prestaciones y permiten obtener una im-

plementación en un tiempo de diseño corto.

Page 60: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

44 CAPÍTULO 2. MARCO TEÓRICO

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

más general espectro (Vallejo and Rodrigo, 2004). Consisten en una matriz bidimensional

de bloques configurables que se pueden conectar mediante recursos generales de inter-

conexion. Estos recursos incluyen segmentos de pista de diferentes longitudes, más unos

conmutadores programables para enlazar bloques a pistas o pistas entre sí.

La tecnología FPGA continúa siendo impulsada en la actualidad. Se espera que el mer-

cado de FPGAs en todo el mundo aumente de $1,900 millones en el 2005 a $2,750 millones

en el 2010 .

Los FPGA en la industria han sido impulsados por el hecho de que los FPGAs combinan

lo mejor de los ASICs y de los sistemas basados en procesadores. Ofrecen altas velocidades

temporizadas por hardware y fiabilidad, pero sin requerir altos costos que genera un diseño

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 sección dedicada del chip y puede ejecutarse de manera autóno-

ma. Como resultado, el rendimiento de una parte de la aplicación no se ve afectado cuando

se agregan otros procesos.

2.5.2.1. Ventajas del uso de FPGAs

A continuación se describirán las principales ventajas que se tienen al usar los FPGAs.

Rendimiento

Debido al paralelismo del hardware, los FPGAs exceden la potencia de cómputo de los

procesadores digitales de señales (DSPs), logrando romper el paradigma de ejecución se-

cuencial y logrando más en cada ciclo de reloj.

Tiempo en llegar al mercado

La tecnología FPGA ofrece flexibilidad y capacidades de rápido desarrollo de prototipos

para enfrentar los retos de que un producto se libere tarde al mercado. Se prueba una idea y

Page 61: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

2.5. LÓGICA RECONFIGURABLE 45

se verifica en hardware sin tener que pasar con el proceso de fabricación de ASIC, además

se puede implementar cambios en pocos lapsos de tiempo.

Precio

El precio de un diseño 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 diseños FPGA es insignificante al

compararlo con el precio de implementar cambios en un ASIC.

Fiabilidad

Los circuitos de un FPGA son una implementación segura de la ejecución de un progra-

ma. Los FPGAs no necesitan sistemas operativos, minimizan los retos de fiabilidad con

ejecución paralela y hardware preciso dedicado a cada tarea.

Mantenimiento a largo plazo

Los FPGA se pueden actualizar cuando ya han sido implementados y no requieren el tiem-

po y el precio que implica rediseñar un ASIC. Los FPGA, al ser reconfigurables, son capa-

ces de mantenerse al tanto con modificaciones a futuro que pudieran ser necesarias. Mien-

tras el producto o sistema se va desarrollando, se puede implementar mejoras funcionales

sin la necesidad de invertir tiempo rediseñando el hardware o modificando el diseño de la

tarjeta.

2.5.2.2. Tecnologías de programación

En el campo de los FPGAs existe una variedad de tecnologías de programación. Las

más conocidas son los anti-fuse y las celdas SRAM (Aguirre, 2003). Los anti-fuse están

normalmente desconectados y se posicionan entre dos cables interconectables. Si se aplica

entre los extremos un voltaje elevado se conectarán los dos cables de forma permanente.

Estos no sirven para sistemas reconfigurables donde los dispositivos deben cambiar contí-

nuamente su programación.

La mayoría de las FPGAs se basan en celdas SRAM programables. Estas celdas realizan

las conexiones entre los cables interconectables y también se programan y reprograman una

Page 62: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

46 CAPÍTULO 2. MARCO TEÓRICO

gran cantidad de veces. También se pueden utilizar para programar las líneas de control de

los multiplexores. Estos multiplexores se utilizan tanto en Flip-Flop tipo D como en los

LUTs. Los LUTs son unas pequeñas memorias que poseen varias funciones lógicas. Estos

elementos se pueden comportar como cualquier función lógica dependiendo de las líneas

de control.

2.5.2.3. Fabricantes de FPGAs

Los fabricantes de FPGA se diferencian segun la arquitectura que desarrollan. Indepen-

dientemente del fabricante elegido para el diseño, ciertamente el más 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 común, tales como bloques lógicos programa-

bles, bloques de memoria de doble puerto, bloques para ejecución de MACs ( Multiplica-

dor– Acumulador o bloques DSPs), bloques de control de reloj, bloques de entrada/salida,

etc.

Recientemente la revista electrónica ESD (Embedded Systems Design) y EEtimes

(Electronic Engineering Times) realizaron un estudio de mercado llamado “2009 Embed-

ded Market Study” (García, 2009). El estudio reveló que Xilinx ocupa desde hace unos

años 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 mínimas pues

ambos fabricantes tienen productos similares. Sin embargo, existen diferencias evidentes.

Xilinx tiene una tendencia por la reconfiguración dinámica, mientras que Altera la ha des-

cartado totalmente. Otra diferencia es el nivel de las herramientas que se emplean para

programar los FPGA, ya que Xilinx permite trabajar a un nivel de programación más bajo

que Altera. En esta proyecto se hace uso de la tecnología proporcionada por Xilinx.

La empresa Xilinx ofrece al mercado dos tipos de FPGAs: una de bajo costo, perfor-

mance media y otra de alto costo, performance alta-muy alta. La primera se denomina la

familia de los FPGA Spartan, y la segunda los FPGA Virtex. Debido al crecimiento del mer-

cado se han ido renovando cada cierto periodo de tiempo. Por ejemplo, la familia Spartan

evolucionó de Spartan pasando a Spartan 2, Spartan 3 y la recientemente lanzada Spartan

Page 63: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

2.5. LÓGICA 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. También, 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 número finito de recursos

predefinidos y con interconexiones programables para implementar un circuito digital re-

configurable.

Los recursos predefinidos se encuentran integrados básicamente por, ver Figura 2.20:

• CLB (Configurable Logic Block): Estos bloques van desde una simple compuerta

hasta módulos complejos y suelen incluir Flips-Flops (FF) y tablas de consulta (LUT, Look

Up Tables) para facilitar la implementación de circuitos combinacionales y secuenciales.

• Trayectorias de interconexión (Routing Channel): La estructura de interconexión in-

terna en un FPGA consiste en un conjunto de pistas o trazas que pueden conectarse me-

diante elementos de conexión programables.

• Bloques entrada/salida (Input/Output). Constituyen una interfaz bidireccional progra-

mable de conexión de entrada/salida y son el medio de comunicación con periféricos al

FPGA.

Figura 2.20: Componentes de un FPGA

Page 64: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

48 CAPÍTULO 2. MARCO TEÓRICO

El diseño de las arquitecturas generales de un FPGA se encuentran escasamente des-

critas en la literatura abierta, debido a que mucha de la información es propiedad de los

fabricantes.

Page 65: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

Capítulo 3

Antecedentes

En esta investigación se realizó una búsqueda exhaustiva de trabajos relacionados ba-

sados principalmente en tesis de licenciatura y maestría, así como también en artículos de

divulgación científica. Los temas principales son acerca de lo que se ha realizado en el

campo de control clásico y control inteligente sobre motores de CD. A continuación se

muestran algunos de estos trabajos relacionados, divididos en dos grandes grupos según la

implementación: Software y Hardware. Cada grupo está dividido en dos subgrupos: con-

trol clásico y control inteligente, estos últimos están basados en técnicas de inteligencia

artificial de lógica difusa.

3.1. Control clásico en software

El controlador relativamente más fácil de diseñar e implementar es el control on/off

(Ogata, 2003), sin embargo este tipo de control no es el adecuado para la mayoría de

sistemas, es por ello que la mayoría de veces se habla de los controladores PID ya que

son muy usados, prácticos y muy efectivos. Una de las ventajas del control es que existe

una gran variedad de técnicas para llevar a cabo el diseño de los mismos, en este caso se

describe los controladores PID y con un costo barato de implementación.

Para entender el funcionamiento de los controladores se requiere conocer fundamentos

matemáticos, los primeros estudios de sistema de control se basaban en la solución de

ecuaciones diferenciales por los medios clásicos como la transformada de Laplace y las

49

Page 66: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

50 CAPÍTULO 3. ANTECEDENTES

funciones de transferencia. A continuación se describirán 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-Gámez, 2011), donde muestran los pasos a seguir

para diseñar el control de velocidad de un motor de corriente directa empleando ampli-

ficadores operacionales y elementos electrónicos; los valores del modelo matemático 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 señal cumple con las restricciones

del sistema idealizado.

Otro ejemplo es (Noriega del Castillo, 2011), donde se integró la tecnología inalámbrica

con el control automático, de manera tal que el controlador de un proceso se comunicó en

tiempo real con los sensores y actuadores mediante una red inalámbrica, 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á más datos por lo que aumentará su precisión. La distancia entre los nodos

de la red también es importante ya que el ruido afectara menos y la señal que se envía no

se distorsionará en gran mediada por el ambiente.

En (Farid and Faruq, 2008) se realiza una simulación y una investigación experimental

en el desarrollo del controlador PID utilizando la herramienta de software MatLab y de

una tarjeta de adquisición de datos; este proyecto resalta sus distintos métodos de sintoni-

zación del controlador PID, usa los métodos de Zeigler Nichols y de prueba y error. Los

trabajos anteriormente mencionados realizan un control analógico mediante el uso de la

transformada de Laplace y funciones de transferencia.

Otra alternativa es realizar un análisis usando la transformada Z para realizar un contro-

lador digital como en (Castillo, 2009), donde controlan un robot móvil siendo los sistemas

de potencia, alimentación y control de periféricos los sistemas que adquieren mayor rele-

vancia porque en ellos se centra todo el funcionamiento del robot móvil. Este trabajo resalta

lo importante que son los fundamentos matemáticos (transformada Z) necesarios para con-

trolar un robot autómata y de cómo se establecen las variables a controlar mecánicamente,

lógica y eléctricamente.

Page 67: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

3.2. CONTROL INTELIGENTE EN SOFTWARE 51

En (Toloza, 2011) se realiza un diseño 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 ecuación

la cual representa un comportamiento de datos capturados por una tarjeta de adquisición 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 modulación de

ancho de pulso es una técnica en la que se cambia el ciclo de una señal periódica para

transmitir información a través de un canal de comunicaciones o para controlar la cantidad

de energía que se envía a una carga.

Con los trabajos anteriores se tienen en cuenta las dos opciones de realizar un contro-

lador: discreto y analógico; se han realizado estudios y análisis como los que presentan en

(Chojolán, 2007), en donde se presenta comparación entre la respuesta dinámica de lazos

de control con reguladores tipo PID, en tiempo continuo y en tiempo discreto, tomando co-

mo parámetros de desempeño su respuesta temporal y su respuesta en la frecuencia, al final

se concluye que dada la confiabilidad y bajo costo económico de los sistemas digitales, los

reguladores digitales han sustituido o sustituirán a sus semejantes analógicos.

Los controladores clásicos, ya sean analógicos o digitales son los más 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 técnicas basadas en inteligencia artificial

se ha ido incrementado. En la siguiente sección se presentarán algunos trabajos que se

realizaron usando técnicas inteligentes sobre plataforma software.

3.2. Control inteligente en software

Como se dijo anteriormente, además de controladores clásicos como PID, entre otras

combinaciones, existen nuevas formas de realizar control, la cuales se basan en técnicas

de Inteligencia Artificial. A continuación se presentarán trabajos relacionados de control

inteligente, esto con el fin de mostrar lo que se ha realizado hasta el momento.

Page 68: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

52 CAPÍTULO 3. ANTECEDENTES

El uso de lógica 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 lógica difusa.

El uso de la lógica 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 método de inferencia de Mamdani. Se especifica el conocimiento en forma

de reglas lingüísticas, estas reglas están 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 comparación a un PID clásico explicado en el mismo trabajo.

Por otra parte, los controladores PID pueden ser mejorados con el uso de control de

lógica difusa como en (Morata Palacios, 2009) en el cual se desarrolló una implementación

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 método difuso,

siempre tomando en cuenta la relación de estabilidad, precisión y velocidad de respuesta.

Otra investigación es mostrada en (Rodríguez and Liu, 2004), presentando una imple-

mentación 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 posición peque-

ño comparado con el control clásico PD, donde el control difuso se utiliza como término

compensador de efectos gravitacionales y otras no linealidades.

Un trabajo similar es (Moreno et al., 2006), el cual presenta el diseño de un controla-

dor PID difuso, a partir de la sintonía de un controlador PID convencional; este proceso de

control es para la regularización del proceso de activación del carbón en un horno rotatorio.

Los resultados obtenidos fueron que el controlador PID difuso presenta oscilaciones más

leves en la respuesta ante los cambios de escalón y en las variaciones ante las perturbacio-

nes, en cambio, el PID clásico exhibió un tiempo de levantamiento menor ante el cambio

escalón en la referencia.

Por último, en (Garrido et al., 2006) proponen un control proporcional con una técnica

de compensación adaptativa basada en lógica difusa. El enfoque se basa principalmente en

Page 69: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

3.3. CONTROL CLÁSICO EN HARDWARE 53

la teoría de estabilidad de Lyapunov y lógica difusa que se compara con un controlador PI

clásico.

En la siguiente sección se abordará lo relacionado con trabajos que realizan estudios e

implementaciones acerca de control clásico en hardware.

3.3. Control clásico 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 día también se investigan métodos de realizar

el control usando arquitecturas hardware como el mostrado en (León Galarza et al., 2012),

donde se diseña e implementa el control PID de velocidad utilizando la tarjeta FPGA Spar-

tan 3E y LabView, este trabajo muestra cómo trabajar con una tarjeta de adquisición de

datos y tarjetas con núcleo FPGA.

Por otra parte, en (Londoño, 2011) se presenta el diseño e implementación de un siste-

ma para el control de posición de un motor CD basado en FPGA. Se describen los módulos

implementados en la FPGA que se encargan de la generación de la trayectoria de arranque,

la lectura de la señal del encoder y el controlador PI. La comparación entre los resultados

de la simulación y los datos experimentales permiten validar el funcionamiento del sistema

desarrollado. La diferencia en el comportamiento de la señal de error para los resultados

de la simulación y los resultados experimentales se relaciona principalmente con el mo-

delado del motor, sin embargo el comportamiento es aproximado entre los resultados de

simulación y los experimentales.

En (Trimeche et al., 2008) se describe una metodología para la construcción de con-

troladores PID en FPGAs, esta metodología mejora la velocidad, la precisión, energía y la

rentabilidad de los controladores. El autor de este documento concluye que los controlado-

res PID en FPGAs obtienen mejores resultados respecto a otras implementaciones digitales,

esta conclusión es útil ya que establece las bases que guían cuando se comparan distintos

controladores.

Otro documento que se revisó fue (Sonoli and Konduru, 2010), en donde se desarrolló

una aplicación mediante el lenguaje VHDL (Very High Speed Integrated Circuit Hardware

Page 70: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

54 CAPÍTULO 3. ANTECEDENTES

Description Language) para el FPGA Spartan 3 XC3S400. Esta aplicación está basada

en un controlador PID para el control de velocidad de motor de corriente continua. Las

herramientas utilizadas para crear y probar los módulos 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 más veloces y precisos que otra forma de implementación

digital como los microprocesadores y microcontroladores.

Por último, en (Murthy et al., 2008) se realiza una implementación FPGA de un con-

trolador PID, el cual se aplicó en vehículos terrestres no tripulados. El desarrollo de este

trabajo se realizó con una herramienta adicional de Simulink llamada System Generator

(SysGen), esta herramienta según el autor hace fácil el diseño y la implementación de sis-

temas digitales por su alto nivel de abstracción. Se considera importante esta herramienta,

ya que en este trabajo de tesis se hará uso de ella ya que es una rápida 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 implementación de arquitecturas hardware. También, la descripción

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 sección.

3.4. Control inteligente en hardware

Como se comentó anteriormente, actualmente se han implementado técnicas de control

con técnicas de inteligencia artificial como lógica difusa, presentado en (Grisales et al.,

2001), este artículo 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, según el autor le da una naturaleza abierta para futuros cambios.

Page 71: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

3.4. CONTROL INTELIGENTE EN HARDWARE 55

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

ware, el cual resuelve el problema de control preciso de un sistema no lineal con un contro-

lador digital PID difuso, haciendo el diseño de MatLab y la implementación en un FPGA.

En el documento establece que si se aumenta el número de reglas en la inferencia difusa,

éste se vuelve más preciso, alcanzando la señal de referencia en menos tiempo.

Por otra parte, en (Obaid et al., 2009) se diseña un controlador PID digital difuso usan-

do el lenguaje de programación 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 rápida. Entre más reglas tenga el sistema difuso es más 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 número de reglas y con un

bajo costo en recursos hardware.

Otro documento revisado es (López et al., 2006), éste describe una metodología para

diseñar un controlador PID difuso para ser implementado en un FPGA. El desarrollo del

controlador se basó en el comportamiento dinámico del error, diferencial del error y la

salida del sistema. El autor reporta que el controlador PID difuso tiene un tiempo de res-

puesta rápido, un sobreimpulso mínimo y un error en la salida pequeño, asimismo, comenta

que la arquitectura del controlador implementado sobre un dispositivo reconfigurable, le da

naturaleza abierta para cambios con el objetivo de aumentar el rango de control y la comu-

nicación con la PC.

Por último, se ha revisado (Islam et al., 2008) en donde se propone un controlador

PID basado en lógica 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 vehículos en la carretera, este trabajo es interesante ya que comenta la

importancia de tener un sistema que responda en tiempo real y además se trata de una

aplicación en que se la vida humana está de por medio.

Page 72: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

56 CAPÍTULO 3. ANTECEDENTES

3.5. Discusión

En esta búsqueda de trabajos relacionados se han encontrado algunos trabajos de lógica

difusa con FPGA, por lo que se espera que en un futuro exista una documentación más

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 investigación se conclu-

ye que existen diversas maneras de realizar control de sistemas, en específico, controlar

motores de CD. El trabajo relacionado ha establecido las bases que ayudarán a analizar

y realizar controladores en software y hardware de manera clásica y usando lógica difu-

sa. Asimismo, el trabajo relacionado facilitará la implementación de nuevas arquitecturas

hardware proporcionando conocimiento previo y experiencia de otros autores.

Page 73: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

Capítulo 4

Sistemas de control propuestos ydesarrollo

Una vez establecidos los fundamentos teóricos de los sistemas de control clásico y los

sistemas de control inteligente y conocidos los trabajos similares que se han realizado en

el campo de control clásico e inteligente, se procede a diseñar y desarrollar controladores

para motores de CD.

Para realizar el control de motores de CD se establece la realización de dos controlado-

res:

PID

PID difuso.

Primeramente el desarrollo se realizará en software, ésto para establecer un preámbulo

de conocimientos y para conocer el comportamiento de cada controlador. En plataforma

software, los controladores PID clásico y PID difuso se desarrollarán utilizando Simulink

de MatLab 2012a junto con un toolbox MatLab Fuzzy, las cuales proveen una interfaz

gráfica 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 diseñar las arquitecturas hardware. Para esto se

utilizan unas herramientas software que sirven para diseñar y simular la plataforma hard-

ware, las cuales son Simulink de MatLab 2012a junto con System Generator (SysGen),

57

Page 74: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

58 CAPÍTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

anteriormente mencionado (verB apéndice B). SysGen cuenta con una opción llamado Ti-

ming and Power Analisis, que genera un reporte de tiempos en donde muestra el periodo

mínimo y la frecuencia máxima de operación 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 diseño y desarrollo de los controladores PID

y PID difuso primeramente en software y posteriormente en hardware.

4.1. Controlador PID

En esta sección se describirá la implementación software y la implementación 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 podría ser un horno, una válvula o un motor de CD, entre otros

distintos procesos.

P

Planta

Entrada de

referencia

Señal de control

Señal controlada

Retroalimentación

Señal

retroalimentada

Señal de error

+

-

I

D

+

+

+

Gp

Gi

Gd

Figura 4.1: Diagrama esquemático del controlador PID conectado a una planta.

Donde Gp = ke, Gd = kd y Gi = ki. Estas tres ganancias multiplican las acciones Pro-

porcional, Integral y Derivativa, por lo que al sintonizar se deben proporcionar estas ga-

nancias para obtener una respuesta satisfactoria. La sintonización en el desarrollo de este

controlador se basa en prueba y error, ya que es el método simple y rápido en comparación

Page 75: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

4.1. CONTROLADOR PID 59

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

haga uso de métodos más complejos como Ziegler–Nichols, esto con el fin de optimizar el

funcionamiento del controlador. El cambiar el método de sintonización sólo proporciona

los valores de las ganancias, por lo que no afecta el diseño 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 función de transferencia de la planta, como se ha comentado se trata de mo-

tores de CD cuya función de transferencia es la mostrada en la ecuación 2.2. Por lo que en

Simulink se realiza el diagrama del controlador PID más la planta a controlar; la conexión

de la planta y el controlador se muestra en la Figura 4.2.

4.58e-2

18.67e-9s +17.68e-6s+2.10e-32

Transfer Fcn3Step

Scope2

1s

Integrator1

3

Gain3

0.0005

Gain2

0.0645

Gain1

du/dt

Derivative1

Figura 4.2: Controlador PID y planta en software

La entrada de referencia es representada por una función escalón establecida en el valor

numérico de 24; otros bloques analógicos mostrados son un derivative e intregrator, los

cuales representan la acción integral y derivativa del controlador PID afectados cada uno

por una ganancia, al final se suman con la acción 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

Capítulo 5 de Resultados.

Page 76: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

60 CAPÍTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

4.1.2. Desarrollo en hardware del controlador PID

Una vez que se realizó el diseño del controlador PID en software, se procedió a diseñar

la arquitectura del controlador PID en lógica reconfigurable. Para esto se necesita definir

la operación de la derivada y de la integral. La derivada esta dada por la ecuación 4.1 y la

integral por la ecuación 4.2.

Derivadaerror = de = erroractual− erroranterior (4.1)

Integralerror = ie =n

∑i=0

errori (4.2)

Para realizar el cálculo de la derivada en lógica reconfigurable se necesitan dos señales

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.

Error

Error anterior

Derivada del error = de

Operación Derivada

1

Out1

d qz-1

Register1

a

ba - b

AddSub5

1 In1

Figura 4.3: Operación derivada

Por otra parte, para el cálculo de la integral en lógica reconfigurable se necesita la señal

del error solamente, ésta se retroalimenta en un sumador para que realice una sumatoria;

para realizar esta retroalimentación se utiliza un registro tal como se ve en la Figura 4.4.

Page 77: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

4.1. CONTROLADOR PID 61

Integral del error = ie

ie previo

Operación Integral

Error

1

Out1

dq z-1

Register2

cast

Convert4

a

ba + b

AddSub2

1

In1

Figura 4.4: Operación Integral

El diagrama completo es mostrado en la Figura 4.5, nótese que las tres acciones (P, I

y D), están afectadas por una ganancia cada una. Por otro lado se resalta el uso del bloque

cast (bloque de SysGen) que sirve para establecer un tamaño fijo de bits en las entradas

de los sumadores y la consecuencia de no usarlos es que el tamaño de bits en la entrada

crecería con cada retroalimentación, por lo cual no se tendría una arquitectura fija.

PROPORCIONAL

INTEGRAL

DERIVATIVO

4.58e-2

18.67e-9s +17.68e-6s+2.10e-32

Transfer Fcn1

Step

Scope2

dq

z-1 Register3

dq z-1

Register2

d qz-1

Register1

Out

Gateway Out In

Gateway In

cast

Convert4

cast

Convert2

cast

Convert1

cast

Convert

x 0.009995

CMult2

x 0.004501

CMult1

x 0.01199

CMult

a

ba - b

AddSub5

ab a + b

AddSub3

a

b a + b

AddSub2

a

b a + b

AddSub1

a

b

a - b

AddSub

SystemGenerator

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 señal de entrada y

los valores de las ganancias hasta obtener la señal de salida deseada.

Page 78: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

62 CAPÍTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

4.2. Controlador PID difuso

La arquitectura hardware del controlador PID difuso tiene en específico la forma

FPD+I, que como se ha comentado la parte difusa esta relacionado con las acciones propor-

cional y derivativo, sumándose con la parte integral. El diagrama del controlador anexando

la planta es el que se muestra en la Figura 4.6.

UPD RULES

Ke

Kde

E

CE

e

ce

Ki

Ku

ie IE

uPlanta

Retroalimentador

Z-1

Z-1

Señal

retroalimentada

Señal de

control Señal

controlada

Figura 4.6: Diagrama del controlador PID difuso con la planta

Como se ve en la Figura anterior se nota que el cálculo de la acción integral y derivativa

esta basado en los diagramas 4.3 y 4.4.

Una vez conocido el modelo a seguir se decidió desarrollar el módulo difuso. Prime-

ramente se deben de definir los conjuntos difusos en base a una función de pertenencia, la

función 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 más frecuentemente usadas debido a su

simplicidad matemática, entre ellas están las funciones del tipo triangular, trapezoidal, pa-

rabólicas y Gaussianas. Este proyecto se enfoca en el uso de funciones triangulares ya que

son las más simples de implementar computacionalmente y son muy usadas cuando se rea-

lizan controladores difusos. La función de pertenencia de un elemento x se puede calcular

usando la ecuación para funciones triangulares, ver ecuación 4.3.

Page 79: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

4.2. CONTROLADOR PID DIFUSO 63

µtriangular(x, p1, p2, p3) =

x−am−a a < x < mb−xb−m m < x < b

0 x < a o x > b

1 x = m

(4.3)

Donde a es el vértice más a la izquierda y junto con b que es el vértice mas a la derecha

representan el valor mínimo dentro de la función de pertenencia, por otro lado m es el

centro de la base del triángulo y representa el máximo valor del función de pertenencia, ver

Figura 4.7.

Figura 4.7: Función de pertenencia triangular

Entradas y salidas

Los controladores difusos comúnmente hacen uso de la información 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 más simples y fáciles de implementar compu-

tacionalmente. Además, se establece la función 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 más sencillo, así

también el costo computacional al implementarlas es aceptable.

Las variables de entrada E y CE, y la variable de salida O se conformarán cada una por

tres conjuntos: negativo (N), cero (Z) y positivo (P). Inicialmente se establecen los mismo

Page 80: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

64 CAPÍTULO 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 sintonización 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 operación para

obtener una respuesta satisfactoria.

Fuzzificación

Como se ha descrito anteriormente en este paso se transforma un valor numérico a un

valor difuso, como se ha definido anteriormente. Se utilizaron funciones de pertenencia

triangulares descritas por la ecuación 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.

Page 81: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

4.2. CONTROLADOR PID DIFUSO 65

Figura 4.9: Conjuntos difusos de la variable E y CE

Por tal motivo, las siguientes fórmulas servirán para las dos entradas. Para el conjunto

difuso que representa N se utiliza la ecuación 4.4; para el conjunto difuso que representa Z

se utiliza la ecuación 4.5 y 4.6, por último para el conjunto P se utiliza la ecuación 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)

Page 82: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

66 CAPÍTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

Para diferenciar las variables de entrada y de salida, ya que usan los mismos conjuntos

de salida se usa la siguiente nomenclatura expuesta en la cuadro 4.1.

Conjunto N Conjunto Z Conjunto PEntrada E NentradaE ZentradaE PentradaE

Entrada CE NentradaCE ZentradaCE PentradaCESalida O Nsalida Zsalida Psalida

Cuadro 4.1: Nomenclatura usada en los conjuntos de entrada y de salida

Base de reglas e Inferencia

El número de reglas depende de la cantidad de conjuntos en las entradas, un mayor número

de conjuntos en las entradas hacen más reglas y brindan mayor precisión sin embargo hacen

el proceso de inferencia más complejo ya que se implementan más reglas. Por tal motivo

se busca obtener un equilibrio entre la cantidad de reglas que determinan la precisión 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, además 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 representación de las reglas en esta tesis es la que se muestra en el Cuadro

4.2.

E/CE NentradaCE ZentradaCE PentradaCENentradaE Nsalida Nsalida ZsalidaZentradaE Nsalida Zsalida PsalidaPentradaE 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.

Page 83: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

4.2. CONTROLADOR PID DIFUSO 67

No. E op. CE O O1 Si NentradaE < NentradaCE entonces Nsalida = NentradaE sino Nsalida = NentradaCE

2 Si NentradaE < ZentradaCE entonces Nsalida = NentradaE sino Nsalida = ZentradaCE

3 Si NentradaE < PentradaCE entonces Zsalida = NentradaE sino Zsalida = PentradaCE

4 Si ZentradaE < NentradaCE entonces Nsalida = ZentradaE sino Nsalida = NentradaCE

5 Si ZentradaE < ZentradaCE entonces Zsalida = ZentradaE sino Zsalida = ZentradaCE

6 Si ZentradaE < PentradaCE entonces Psalida = ZentradaE sino Psalida = PentradaCE

7 Si PentradaE < NentradaCE entonces Zsalida = PentradaE sino Zsalida = NentradaCE

8 Si PentradaE < ZentradaCE entonces Psalida = PentradaE sino Psalida = ZentradaCE

9 Si PentradaE < PentradaCE entonces Psalida = PentradaE sino Psalida = PentradaCE

Cuadro 4.3: Inferencia de las Reglas del controlador PID difuso

Una vez definidas las reglas y de saber cómo 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 ecuación 4.8.

RSS =√

k21 + k2

2 + k23 + k2

4 + · · ·+ k2n (4.8)

Donde RSS es la suma de los cuadrados de ki para posteriormente obtener la raíz cua-

drada; ki representa el valor de salida de cada regla una variable cualquiera. Con el uso de la

RSS se le da a cada conjunto de salida su respectiva fuerza ponderada aunque en ocasiones

no es necesaria, en este trabajo de tesis se analizará el uso de la RSS aplicada a un conjunto

de reglas y posteriormente también se analizará la no utilización de ésta.

En este trabajo de tesis se clasifican las reglas según el conjunto de salida determinado

por su consecuente, ver Cuadro 4.4.

Conjunto de salida Reglas pertenecientesNsalida 1, 2 y 4Zsalida 3, 5 y 7Psalida 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.

Page 84: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

68 CAPÍTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

Nsalida =√

R21 +R2

2 +R24 (4.9)

Zsalida =√

R23 +R2

5 +R27 (4.10)

Psalida =√

R26 +R2

8 +R29 (4.11)

Con cada operación se obtiene un valor para cada conjunto de salida, sin embargo sigue

siendo un valor difuso, de manera que la defuzzificación se hace necesaria para convertir

este valor difuso a un valor numérico.

En control, el método de defuzzificación más usado es el centroide o centro de área,

COA, (Sanchez, 2009), este método consiste en multiplicar la fuerza ponderada de cada

función miembro de salida (F pi) por los puntos centrales de su respectiva función (Ci).

El resultado se divide por la suma de las fuerzas ponderadas de cada función miembro

de salida, ver ecuación 4.12. Finalmente, se obtiene un número el cual representa el valor

ponderado en la función de pertenencia de salida.

Centroide = ∑Ni=1F pi Ci

∑Ni=1 F pi

(4.12)

Una vez obtenido el valor numérico de la defuzzificación, se procede a sumar este valor

con la acción 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 opción es realizar

el método basado en la transferencia de ganancias descrito en la Sección 2.4.2 y poste-

riormente, un reajuste usando el método prueba y error de los rangos de las funciones de

pertenencia de los conjuntos de salida. Otra opción es utilizar solamente el método prueba

y error para calibrar todas las ganancias y las funciones de pertenencia, con este método se

ahorra análisis matemático y es más rápido de implementar, por lo que en los controladores

desarrollados en esta tesis se utilizó este método prueba y error en los PID y prueba y error

más transferencia de ganancias en los PID difusos.

Page 85: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

4.2. CONTROLADOR PID DIFUSO 69

4.2.1. Desarrollo en software del controlador PID difuso

Debido a que el controlador PID difuso es la combinación de los controladores PID y

Difuso. Se debe también revisar el controlador difuso ya que el controlador PID ya se ha

revisado, para fines demostrativos la implementación 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.

Page 86: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

70 CAPÍTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

voltaje

Proporcional

Derivativo

4.58e-2

18.67e-9s +17.68e-6s+2.10e-32

Transfer Fcn1

StepScope2

Fuzzy Logic Controller1

1-z -1

1

Discrete Filter

Figura 4.11: Diagrama del controlador Difuso

Cabe mencionar que el controlador difuso solo usa dos acciones: proporcional y deri-

vativo debido a que el uso de tres acciones genera una inferencia compleja y poco práctica.

Además de todo lo anterior, el diagrama del controlador difuso no cuenta con ganancias en

las acciones proporcional y derivativo.

El resultado de la simulación del controlador difuso es visto en la Figura 4.12. En donde

el valor de referencia es la funcion escalon establecido en 24.

Page 87: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

4.2. CONTROLADOR PID DIFUSO 71

Figura 4.12: Respuesta del controlador difuso

En este controlador los conjuntos se ajustaron lo mejor posible sin embargo se tiene un

amplio offset, en estos casos es preferible que se realice un control PID difuso ya que con

el la modificacion de ganancias de este controlador se puede eliminar este offset.

Conocidos los fundamentos para realizar un controlador PID difuso, se procede a reali-

zar su desarrollo en software. Actualmente, existe una herramienta software especializada

que realiza cálculos de la fuzzificación, inferencia y defuzzificación. Esta herramienta per-

mite el ingreso de las variables de entrada (en forma de funciones de pertenencia) y la

especificación de las reglas. La herramienta software que realiza todo esto es el tool box

fuzzy de MatLab, ver Figura 4.13.

Page 88: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

72 CAPÍTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

Figura 4.13: Pantalla del toolbox fuzzy de MatLab

En este proyecto de MatLab se necesitan las dos variables de entrada, el error y la deri-

vada del error, por lo que se definen sus funciones de pertenencia las cuales son mostrados

en la Figura 4.14 para el error y en la Figura 4.15 para la derivada del error.

Page 89: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

4.2. CONTROLADOR PID DIFUSO 73

Figura 4.14: Variable de entrada error

Figura 4.15: Variable de entrada derivada del error

Page 90: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

74 CAPÍTULO 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: Función de salida ajustada

Posteriormente, se ingresaron las nueve reglas del Cuadro 4.3 como se muestra en la

Figura 4.17.

Page 91: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

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 utilización 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: Exportación del sistema difuso al workspace de MatLab

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

que Fuzzy Logic Controller de un controlador PID conectado a una planta anteriormente

descrito, como muestra la Figura 4.19.

Page 92: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

76 CAPÍTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

4.58e-2

18.67e-9s +17.68e-6s+2.10e-32

Transfer Fcn1

Step2Scope2

1s

Integrator

2

Gain3

0.0078

Gain2

0.0645

Gain11

GainFuzzy Logic

Controllerdu/dt

Derivative

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 función 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: Importación de la variable PIDfuzzy2

La sintonización que se realizó en este controlador fue inicialmente el método de la

subsección 2.4.2 y fue finalizado con el método de prueba y error, teniendo en cuenta las

ganancias del controladores PID y las funciones de pertenencias de la parte difusa.

Page 93: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

4.2. CONTROLADOR PID DIFUSO 77

Los valores de las ganancias aparecen en los bloques Gain1 = kp, Gain2 = kd , Gain3 =

ki y Gain4 = ku, mostrados en la Figura 4.19.

4.2.2. Desarrollo en hardware del controlador PID difuso

Una vez conocidos los pasos para realizar un controlador PID difuso, se procede a rea-

lizar, primeramente, el módulo difuso cubriendo cada una de las etapas mostradas en la

Figura 4.21, para posteriormente introducirlo a un controlador PID desarrollado anterior-

mente en hardware en la subsección 4.1.2.

Figura 4.21: Etapas del módulo difuso a desarrollar en hardware

La Figura anterior también representa los módulos a desarrollar utilizando la herra-

mienta Simulink de MatLab 2012a junto con la herramienta denominada System Generator

14.2.

En este proyecto se han desarrollado tres arquitecturas:

Arquitectura 1: PID difuso con paso de parámetros y con RSS.

Arquitectura 2: PID difuso sin paso de parámetros y con RSS.

Arquitectura3: PID difuso sin paso de parámetros y sin RSS.

Cada arquitectura contiene los módulos difusos fuzzificación, defuzzificación y base de

reglas e inferencia, en la fuzzificación se establecerá como se tratara el valor de entrada,

en el modulo base de reglas e inferencia se mostraran cómo se combinan los valores de

entradas tomando en cuenta los conjuntos difusos y por ultimo, en la Defuzzificación se

describirá como obtener un valor numérico a partir de la inferencia realizada.

Page 94: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

78 CAPÍTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

A continuación se describe cada arquitectura y el desarrollo de cada etapa del controla-

dor PID difuso en hardware.

Arquitectura 1

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

lizar el uso de la arquitectura del controlador. Si se tiene flexibilidad se facilita el proceso

de calibración ya que resulta complicado estar modificando la arquitectura con cada com-

binación de los conjuntos de entrada y de salida, lo cual tomaría gran cantidad de tiempo y

esfuerzo.

Se toma la decisión de realizar una arquitectura que lleve a cabo un paso de parámetros

desde el editor de MatLab, es decir introducir lineas de código ver Figura 4.22 para después

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 parámetros desde el editor de MatLab

Page 95: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

4.2. CONTROLADOR PID DIFUSO 79

Figura 4.23: Variables en workspace de MatLab

En las lineas de código 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 fuzzificación, y

otras 3 para la variables de la salida O utilizada en la etapa de defuzzificación, ver Figura

4.24.

Page 96: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

80 CAPÍTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

Figura 4.24: Representación gráfica de las variables en workspace

Establecidos los rangos y las variables que los representan, se procede a describir los

submódulos difusos antes mencionados: fuzzificación, base de reglas e inferencia y defuz-

zificación.

Fuzzificación

En el desarrollo de la parte difusa se deben diseñar dos módulos de fuzzificación, 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 módulo

de fuzzificación para las dos variables. Se propone una arquitectura fuzzificación basada en

el diagrama de la Figura 4.25.

Page 97: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

4.2. CONTROLADOR PID DIFUSO 81

Figura 4.25: Fuzzificación con paso de parámetros

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

va a convertir de un valor numérico a un valor difuso, también consta de cuatro operaciones

importantes, los cuales se basan en las ecuaciones 4.4, 4.5, 4.6 y 4.7. Además de las cuatro

operaciones que se realizan en esta arquitectura, se cuentan con selectores de operacio-

nes válidas, los cuales estarán encargados de que en la salida del módulo de fuzzificación

haya valores válidos según el rango de la variable x, por otra parte, las demás variables

representadas son los rangos de la entrada.

Teniendo el diagrama anterior como modelo, se desarrolla el primer módulo asociado

a la variable error, ver Figura 4.26.

Page 98: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

82 CAPÍTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

NEGATIVO

POSITIVO

ZERO1

ZERO2

6

Out65

Out5

4

Out4

3

Out3

2

Out2

1

Out1

In1

Out1

Out2

Out5

Out4

Selector de activación

d

enqz-1

Register2

d

en

qz-1

Register1

d

enqz-1

Register

sel

d0

d1

d2

d3

Mux

[ZERO]

Goto3[POS]

Goto2

[SEL2]

Goto1

[NEG]

Goto

In

Gateway In9

In

Gateway In8

In

Gateway In7

In

Gateway In6

In

Gateway In5

In

Gateway In4

In

Gateway In3

In

Gateway In2

In

Gateway In11

In

Gateway In10

In

Gateway In1

In

Gateway In

[POS]

From7

[NEG]

From6

[SEL2]

From5

[ZERO]

From1

d1

FromWorkspace9

b1

FromWorkspace8

c1

FromWorkspace7

b1

FromWorkspace6

c1

FromWorkspace5

e1

FromWorkspace4

c1

FromWorkspace3

a1

FromWorkspace2

c1

FromWorkspace11

d1

FromWorkspace10

c1

FromWorkspace1

c1

FromWorkspace

cast

Convert9

cast

Convert8

cast

Convert7

cast

Convert6

cast

Convert5

cast

Convert4

cast

Convert3

cast

Convert2

cast

Convert12

cast

Convert11

cast

Convert10

cast

Convert1

0

Constant1

0

Constant

x

y

divz-29

x

y

y/x

CORDIC DIVIDER3

x

y

divz-29

x

y

y/x

CORDIC DIVIDER2

x

y

divz-29

x

y

y/x

CORDIC DIVIDER1

x

y

divz-28

x

y

y/x

CORDIC DIVIDER

a

ba - b

AddSub7

a

ba - b

AddSub6

a

ba - b

AddSub5

a

ba - b

AddSub4

a

ba - b

AddSub3

a

ba - b

AddSub2

a

ba - b

AddSub1

a

ba - b

AddSub

1

In1

Figura 4.26: Módulo fuzzificación1 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.

Además, en la arquitectura propuesta se muestran cuatro divisores que utilizan el al-

goritmo CORDIC, además de la división, este algoritmo se usa para el cálculo de raíces

cuadradas, senos, cosenos y otras funciones. El algoritmo de CORDIC se basa principal-

mente en sumas y desplazamientos de bits. Otro elemento importante es el multiplexor del

conjunto de salida Zsalida, cuya función es elegir solamente una salida válida de las opera-

ciones Z1 y Z2, de las ecuaciones 4.5 y 4.6 respectivamente. Su funcionamiento consta de

4 casos:

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

Caso 2: El valor de x está dentro del conjunto Zsalida, se activa la operación Z1 y pone

en la salida el valor de Z1.

Page 99: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

4.2. CONTROLADOR PID DIFUSO 83

Caso 3: El valor de x está dentro del conjunto Zsalida, se activa la operación Z2 y pone

en la salida el valor de Z2.

Caso 4: Este caso es inválido, en la arquitectura nunca se da este caso, por defecto su

salida es 0.

En la Figura 4.26 también se muestra un módulo llamado selector de activación, este mó-

dulo establece qué conjuntos de entrada se activan en un momento determinado. Esto es

importante ya que se obtiene un código de activación útil en la inferencia de reglas, más

adelante se explica detalladamente. El desarrollo en SysGen se muestra en la Figura 4.27

para el primer módulo de fuzzificación.

Z1

Z2

N

P

4

Out4

3

Out5

2

Out2

1

Out1

a

b a ≤≤≤≤ bz-1

Relational7

a

ba ≤≤≤≤ b

z-1

Relational6a

ba ≤≤≤≤ b

z-1

Relational5

a

ba < b

z-1

Relational4

a

ba < b

z-1

Relational3

a

ba ≤≤≤≤ bz-1

Relational2 a

b a < bz-1

Relational1

a

ba ≤≤≤≤ b

z-1

Relational

or

Logical4

and

Logical3

and

Logical2

and

Logical1

and

Logical

In

Gateway In7 In

Gateway In6

In

Gateway In5

In

Gateway In4

In

Gateway In3 In

Gateway In2

In

Gateway In1

In

Gateway In

e11

FromWorkspace8

c1

FromWorkspace7

c1

FromWorkspace6

a11

FromWorkspace5

e1

FromWorkspace4

d1

FromWorkspace3

b1

FromWorkspace2

a1

FromWorkspace1

hi

lo Concat1

1 In1

Figura 4.27: Selector de activación del módulo fuzzificación1

Este módulo 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 código 01 para

Page 100: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

84 CAPÍTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

la parte Z1, por otro lado se usa el código 10 para la parte de Z2 . El código se crea con la

concatenación de la salida individual de los bloques relacionales que asignan a cada parte

del conjunto Zentrada.

Una vez explicado el funcionamiento de módulo fuzzificación1, éste se replica con el

nombre de módulo fuzzificación2, para la variable de entrada determinada por la derivada

del error, ver Figura 4.28.

NEGATIVO

POSITIVO

ZERO1

ZERO2

6

Out65

Out5

4

Out4

3

Out3

2

Out2

1

Out1

In1

Out1

Out2

Out5

Out4

Selector de activación

d

enqz-1

Register2

d

en

qz-1

Register1

d

enqz-1

Register

sel

d0

d1

d2

d3

Mux

[ZERO]

Goto3[POS]

Goto2

[SEL2]

Goto1

[NEG]

Goto

In

Gateway In9

In

Gateway In8

In

Gateway In7

In

Gateway In6

In

Gateway In5

In

Gateway In4

In

Gateway In3

In

Gateway In2

In

Gateway In11

In

Gateway In10

In

Gateway In1

In

Gateway In

[POS]

From7

[NEG]

From6

[SEL2]

From5

[ZERO]

From1

d2

FromWorkspace9

b2

FromWorkspace8

c2

FromWorkspace7

b2

FromWorkspace6

c2

FromWorkspace5

e2

FromWorkspace4

c2

FromWorkspace3

a2

FromWorkspace2

c2

FromWorkspace11

d2

FromWorkspace10

c2

FromWorkspace1

c2

FromWorkspace

cast

Convert9

cast

Convert8

cast

Convert7

cast

Convert6

cast

Convert5

cast

Convert4

cast

Convert3

cast

Convert2

cast

Convert12

cast

Convert11

cast

Convert10

cast

Convert1

0

Constant1

0

Constant

x

y

divz-29

x

y

y/x

CORDIC DIVIDER3

x

y

divz-29

x

y

y/x

CORDIC DIVIDER2

x

y

divz-29

x

y

y/x

CORDIC DIVIDER1

x

y

divz-28

x

y

y/x

CORDIC DIVIDER

a

ba - b

AddSub7

a

ba - b

AddSub6

a

ba - b

AddSub5

a

ba - b

AddSub4

a

ba - b

AddSub3

a

ba - b

AddSub2

a

ba - b

AddSub1

a

ba - b

AddSub

1

In1

Figura 4.28: Módulo de fuzzificación2 de la entrada determinada por la derivada del error

Cabe destacar que los parámetros de entrada son los correspondientes a los rangos de la

variable de entrada CE que están en el workspace. También, como en el módulo anterior de

fuzzificación1, se cuenta con el bloque Selector_de_activación en la Figura 4.29 se muestra

su diseño.

Page 101: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

4.2. CONTROLADOR PID DIFUSO 85

Z1

Z2

N

P

4

Out4

3

Out5

2

Out2

1

Out1

a

b a ≤≤≤≤ bz-1

Relational7

a

ba ≤≤≤≤ b

z-1

Relational6a

ba ≤≤≤≤ b

z-1

Relational5

a

ba < b

z-1

Relational4

a

ba < b

z-1

Relational3

a

ba ≤≤≤≤ bz-1

Relational2 a

b a < bz-1

Relational1

a

ba ≤≤≤≤ b

z-1

Relational

or

Logical4

and

Logical3

and

Logical2

and

Logical1

and

Logical

In

Gateway In7 In

Gateway In6

In

Gateway In5

In

Gateway In4

In

Gateway In3 In

Gateway In2

In

Gateway In1

In

Gateway In

e22

FromWorkspace8

c2

FromWorkspace7

c2

FromWorkspace6

a22

FromWorkspace5

e2

FromWorkspace4

d2

FromWorkspace3

b2

FromWorkspace2

a2

FromWorkspace1

hi

lo Concat1

1 In1

Figura 4.29: Selector_de_activación de la etapa 2 de fuzzificación

Se nota que los parámetros 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 módulos fuzzificación1 y fuzzificación2

(error y derivada del error), estas entradas son señales activación de conjuntos de entrada

y otras son los resultados de los cálculos para cada función 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

Page 102: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

86 CAPÍTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

Los bloques principales de esta arquitectura se describen puntualmente a continuación,

y posteriormente se detallarán sus características y funcionamiento:

Selector de reglas de salida (Nsalida, Zsalida y Psalida). Estos submódulos acti-

van las reglas válidas para un valor valor determinado y están 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 método Root Sum Square, útil para obtener la ponderación de

cada conjunto de salida.

El desarrollo en SysGen de esta etapa se muestra en la Figura 4.31, esta arquitectura cuenta

con módulos que realizan una determinada tarea, las cuales se describirán a continuación.

Page 103: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

4.2. CONTROLADOR PID DIFUSO 87

SELECTOR DE REGLAS ACTIVAS

CONJUNTO DE SALIDA N

SELECTOR DE REGLAS ACTIVAS

CONJUNTO DE SALIDA Z

SELECTOR DE REGLAS ACTIVAS

CONJUNTO DE SALIDA P

VALORES NUMERICOS DE LA FUZZIFICACIÓN

VALORES DE ACTIVACIÓN DE LOS CONJUNTOS DE ENTRADA

3Out3

2Out2

1Out1

In1

In2

In3

In4

In5

In6

Out1

Out2

Out3

Subsystem2

In1

In2

In3

In4

In5

In6

Out1

Out2

Out3

Subsystem1

In1

In2

In3

In4

In5

In6

Out1

Out2

Out3

Subsystem

In1

In2

In3

Out1

ROOT SUM SQUARE2

In1

In2

In3

Out1

ROOT SUM SQUARE1

In1

In2

In3

Out1

ROOT SUM SQUARE

In1

In2

In3

In4

In5

In6

In7

In8

In9

Out1

Out3

Out4

REGLAS DE CONJUNTO DE SALIDA Z

In1

In2

In3

In4

In5

In6

In7

In8

In9

Out1

Out3

Out4

REGLAS DE CONJUNTO DE SALIDA P

In1

In2

In3

In4

In5

In6

In7

In8

In9

Out1

Out3

Out4

REGLAS CONJUNTO DE SALIDA N

[ACTNEG2]

Goto9

[ACTPOS1]

Goto8

[ACTZERO1]

Goto7

[ACTNEG1]

Goto6

[CEZERO]

Goto5

[CEPOS]

Goto4

[CENEG]

Goto3

[S9]

Goto20

[S3]

Goto2

[S8]

Goto19

[S7]

Goto18

[S6]

Goto17

[S5]

Goto16

[S4]

Goto15[EZERO]

Goto14

[EPOS]

Goto13

[S1]

Goto12

[ACTPOS2]

Goto11

[ACTZERO2]Goto10

[S2]

Goto1

[ENEG]

Goto

[CEZERO]

From9

[EZERO]

From8

[CEPOS]

From7

[ENEG]

From6

[CENEG]

From5

[S9]

From44

[S8]

From43

[S7]

From42

[S6]

From41

[S5]

From40

[EZERO]

From4

[S4]

From39

[S3]

From38

[S2]

From37

[S1]

From36

[ACTNEG2]

From35

[ACTZERO1]

From34

[ACTPOS2]

From33

[ACTPOS1]

From32

[ACTZERO2]

From31

[ACTPOS1]

From30

[CEZERO]

From3

[ACTPOS2]

From29

[ACTZERO1]

From28

[ACTNEG2]

From27

[ACTPOS1]

From26

[ACTZERO2]

From25

[ACTZERO1]

From24

[ACTPOS2]

From23

[ACTNEG1]

From22

[ACTZERO2]

From21

[ACTNEG1]

From20[ENEG]

From2

[ACTNEG2]

From19

[ACTNEG1]

From18

[CEZERO]

From17

[EPOS]

From16

[CEPOS]

From15

[EZERO]

From14

[CEPOS]

From13

[EPOS]

From12

[CENEG]

From11

[EPOS]

From10

[CENEG]

From1

[ENEG]

From

12In12

11In11

10In10

9In9

8In8

7In7

6In6

5In5

4In4

3In3

2In2

1In1

Figura 4.31: Etapa de base de reglas e inferencia

Los submódulos 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 señales de

activación de los conjuntos de entrada E y CE. De manera que una regla estará activada

si la señal de activación del conjunto E y CE son verdaderos, dada esta característica se

desarrolla haciendo uso de compuertas lógicas AND, ver Figura 4.32.

Page 104: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

88 CAPÍTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

SELECTOR DE REGLAS ACTIVAS

CONJUNTO DE SALIDA N

SELECTOR DE REGLAS ACTIVAS

CONJUNTO DE SALIDA Z

SELECTOR DE REGLAS ACTIVAS

CONJUNTO DE SALIDA P

and

Logical8

and

Logical7

and

Logical6

and

Logical5

and

Logical4

and

Logical3

and

Logical2

and

Logical1

and

Logical

[S9]

Goto20

[S3]

Goto2

[S8]

Goto19

[S7]

Goto18

[S6]

Goto17

[S5]

Goto16

[S4]

Goto15

[S1]

Goto12

[S2]

Goto1

[ACTNEG2]

From35

[ACTZERO1]

From34

[ACTPOS2]

From33

[ACTPOS1]

From32

[ACTZERO2]

From31

[ACTPOS1]

From30

[ACTPOS2]

From29

[ACTZERO1]

From28

[ACTNEG2]

From27

[ACTPOS1]

From26

[ACTZERO2]

From25

[ACTZERO1]

From24

[ACTPOS2]

From23

[ACTNEG1]

From22

[ACTZERO2]

From21

[ACTNEG1]

From20

[ACTNEG2]

From19

[ACTNEG1]

From18

Figura 4.32: Submódulos llamados selector de reglas de salida

Page 105: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

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 descripción 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.

1Out1

a

b

a ≤≤≤≤ b

Relational

sel

d0

d1

Mux

2In2

1In1

Figura 4.33: Implementación individual de una regla

El número 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 estarán agrupadas en un

submódulo que se replica para cada conjunto de salida, ver Figura 4.34.

Page 106: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

90 CAPÍTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

REGLA 2

3Out4

2Out3

1Out1

In1

In2

Out1

In1

In2

Out1

REGLA 3

In1

In2

Out1

REGLA 1

sel

d0

d1

Mux2

sel

d0

d1

Mux1

sel

d0

d1

Mux

0

Constant4

0

Constant3

0

Constant2

9In9

8In8

7In7

6In6

5In5

4In4

3In3

2In2

1In1

Figura 4.34: Bloque de reglas para cada conjunto de salida

En la Figura anterior se muestran tres reglas y su respectiva activación, 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 ponderación de las reglas del conjunto de salida se realiza

la RSS (Root Sum Square) para cada función miembro. En este cálculo 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 raíz 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 raíz cuadrada a la suma.

Page 107: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

4.2. CONTROLADOR PID DIFUSO 91

1Out1

a

ba ×××× b

z-3

Mult2

a

ba ×××× b

z-3

Mult1

a

ba ×××× b

z-3

Mult

cast

Convert6

cast

Convert5

cast

Convert4

cast

Convert1

z-31x sqrt x

CORDIC SQRT1

a

b

a + b

AddSub1

a

b

a + b

AddSub

3In3

2 In2

1In1

Figura 4.35: Método Root Sum Square

Este método es realizado para cada conjunto de salida Nsalida, Zsalida y Psalida, por

lo que se tienen tres submódulos de RSS.

Defuzzificación

El último paso es realizar la defuzzificación, se escogió el método 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 raíces cuadradas de cada conjunto

difuso de la salida. El diseño en hardware se muestra en la Figura 4.36.

Page 108: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

92 CAPÍTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

1

Out1

a

ba ×××× b

z-3

Mult2

a

ba ×××× b

z-3

Mult1

a

ba ×××× b

z-3

Mult

In

Gateway In3

In

Gateway In2

In

Gateway In1

e3

FromWorkspace2

c3

FromWorkspace1

a3

FromWorkspace

cast

Convert4

cast

Convert3

cast

Convert2

cast

Convert1x

y

divz-28x

y

y/x

CORDIC DIVIDER

a

ba + b

AddSub3

a

b

a + b

AddSub2

a

ba + b

AddSub1

a

ba + b

AddSub

3

In3

2

In2

1

In1

Figura 4.36: Método del centroide o centro de área

El método 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 módulo de defuzzificación se conecta con los demás módulos

fuzzificación, base de reglas e inferencia, como se ve en la Figura 4.37 para las arquitecturas

1 y 2.

Page 109: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

4.2. CONTROLADOR PID DIFUSO 93

defuzzificaciónbase de reglas e inferencia

ERROR

DERIVADA DEL ERROR

fuzzificación1

fuzzificación2 1

Out1

[ACTNEG2]

Goto9

[ACTPOS1]

Goto8

[ACTZERO1]

Goto7

[ACTNEG1]

Goto6

[CEZERO]

Goto5

[CEPOS]

Goto4

[CENEG]

Goto3

[EZERO]

Goto2

[ACTPOS2]

Goto11

[ACTZERO2]

Goto10

[EPOS]

Goto1

[ENEG]

Goto

[ACTPOS2]

From60

[CEPOS]

From6

[ACTZERO2]

From59

[ACTNEG2]

From58

[ACTPOS1]

From57

[ACTZERO1]

From56

[ACTNEG1]

From55

[CEZERO]

From5

[CENEG]

From4

[EPOS]

From3

[EZERO]

From2

[ENEG]

From1

In1

Out1

Out2

Out3

Out4

Out5

Out6

FUZZIFICACION2

In1

Out1

Out2

Out3

Out4

Out5

Out6

FUZZIFICACION1

In1

In2

In3

Out1

COA

In1

In2

In3

In4

In5

In6

In7

In8

In9

In10

In11

In12

Out1

Out2

Out3

BASE DE REGLAS E INFERENCIA

2

In2

1

In1

Figura 4.37: Etapas del módulo PD difuso para arquitectura 1 y 2

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

dor PID para formar el PID difuso.

PROPORCIONAL

INTEGRAL

DERIVATIVO

BLOQUE DIFUSO

DE LA ARQ. 1

4.58e-2

18.67e-9s +17.68e-6s+2.10e-32

Transfer Fcn2

In1

In2

Out1

Subsystem2

In1Out1

Subsystem

Step1

Scope3d qz-1

Register3

dq z-1

Register2

d qz-1

Register1

[aux1]

Goto1

[aux2]

Goto

Out

Gateway Out

In

Gateway In3

In

Gateway In2

[aux2]

From1

[aux1]

From

cast

Convert4

cast

Convert3

cast

Convert1

cast

Convert

x 0.0003052

CMult2

x 0.007004

CMult1

x 0.02

CMult

a

ba - b

AddSub5

a

ba + b

AddSub2

a

ba + b

AddSub1

a

b

a - b

AddSub

Sy stemGenerator

Figura 4.38: Diagrama final de la arquitectura 1

Se cuenta también con un modulo de validación la señal 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 cálculos y en la salida existen datos cuyo valor

se desconoce.

Page 110: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

94 CAPÍTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

Arquitectura 2

Se desarrolla una segunda arquitectura, el propósito de esta arquitectura es mejorar el

tiempo de respuesta y el uso de recursos hardware de la arquitectura 1. La segunda arqui-

tectura ya no cuenta con la flexibilidad de la primera en donde se usaba el bloque de Sysgen

FromWorkspace. En este diseño se introducen los valores resultantes de la calibración rea-

lizada, para esto se sustituye cada bloque de FromWorkspace por un bloque Constant, en la

Figura 4.39 se muestra un ejemplo de esta sustitución.

Z1

Z2

N

P

Z1

Z2

N

P

Con paso de parámetros

Sin paso de parámetros

8

Out8

7

Out7

6

Out6

5

Out3

4

Out4

3

Out5

2

Out2

1

Out1

a

b a < bz-1

Relational9

a

ba ≤≤≤≤ b

z-1

Relational8

a

ba ≤≤≤≤ b

z-1

Relational7

a

ba ≤≤≤≤ b

z-1

Relational6a

ba ≤≤≤≤ b

z-1

Relational5

a

ba < b

z-1

Relational4

a

ba < b

z-1

Relational3

a

b a ≤≤≤≤ bz-1

Relational2

a

ba ≤≤≤≤ b

z-1

Relational15

a

ba ≤≤≤≤ b

z-1

Relational14a

ba ≤≤≤≤ b

z-1

Relational13

a

ba < b

z-1

Relational12

a

ba < b

z-1

Relational11

a

b a ≤≤≤≤ bz-1

Relational10

a

b a < bz-1

Relational1

a

ba ≤≤≤≤ b

z-1

Relational

or

Logical9

and

Logical8

and

Logical7

and

Logical6

and

Logical5

or

Logical4

and

Logical3

and

Logical2

and

Logical1

and

Logical

In

Gateway In7 In

Gateway In6

In

Gateway In5

In

Gateway In4

In

Gateway In3 In

Gateway In2

In

Gateway In1

In

Gateway In

e22

FromWorkspace8

c2

FromWorkspace7

c2

FromWorkspace6

a22

FromWorkspace5

e2

FromWorkspace4

d2

FromWorkspace3

b2

FromWorkspace2

a2

FromWorkspace1

0

Constant7

0

Constant6

25

Constant5

-25

Constant4

0

Constant3

0

Constant2

12.5

Constant1

-12.5

Constant

hi

lo Concat2

hi

lo Concat1

2 In2

1 In1

Figura 4.39: Bloques selector de activación con y sin paso de parámetros

La Figura 4.39 muestra el módulo desarrollado anteriormente llamado selector de acti-

vación, primeramente se muestra con paso de parámetros usando el bloque FromWorkspace

y después se muestra la sustitución de este bloque por el Constant.

La sustitución se realiza en todos los módulos y submódulos de la arquitectura del

controlador, por razones de repetitividad de todo lo descrito en cada modulo, se omite la

Page 111: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

4.2. CONTROLADOR PID DIFUSO 95

explicación en cada módulo 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

INTEGRAL

DERIVATIVO

BLOQUE DIFUSO

DE LA ARQ. 2

4.58e-2

18.67e-9s +17.68e-6s+2.10e-32

Transfer Fcn2

In1

In2

Out1

Subsystem2

In1Out1

Subsystem

Step1

Scope3d qz-1

Register3

dq z-1

Register2

d qz-1

Register1

[aux1]

Goto1

[aux2]

Goto

Out

Gateway Out

In

Gateway In3

In

Gateway In2

[aux2]

From1

[aux1]

From

cast

Convert4

cast

Convert3

cast

Convert1

cast

Convert

x 0.0003052

CMult2

x 0.007004

CMult1

x 0.02

CMult

a

ba - b

AddSub5

a

ba + b

AddSub2

a

ba + b

AddSub1

a

b

a - b

AddSub

Sy stemGenerator

Figura 4.40: Diagrama final de la arquitectura 1

Arquitectura 3

La arquitectura 3 tiene como núcleo la segunda con algunas modificaciones, la modifi-

cación consta en eliminar el método RSS, ya que se prevé que la raíz cuadrada toma gran

cantidad de tiempo para realizar el calculo, también se prevé que con la eliminación de la

RSS la salida del controlador siga funcionando correctamente.

La arquitectura 3 cambia en módulo de defuzzificación, pasa de ser un método COA

con RSS a COA sin RSS, en la Figura 4.41 se muestra en forma de diagrama de bloques.

Figura 4.41: Eliminación del método RSS

Page 112: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

96 CAPÍTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

Se nota en la Figura anterior que el bloque de defuzzificación cambia en el número de

entradas se aumenta de tres a nueve, por tal motivo en el diseño hardware también cambia,

en la Figura 4.42 se muestra el diseño hardware con tres entradas y en la Figura 4.43se

muestra el diseño hardware con nueve entradas.

1

Out2

a

ba ×××× b

z-3

Mult5

a

ba ×××× b

z-3

Mult4

a

ba ×××× b

z-3

Mult3 cast

Convert8

cast

Convert7

cast

Convert6

cast

Convert5

15

Constant2

0

Constant1

-15

Constant

x

y

divz-28x

y

y/x

CORDIC DIVIDER1a

ba + b

AddSub7

a

b

a + b

AddSub6

a

ba + b

AddSub5

a

ba + b

AddSub4

3

In6

2

In5

1

In4

Figura 4.42: Defuzzificación con tres entradas

Page 113: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

4.2. CONTROLADOR PID DIFUSO 97

1

Out1

a

ba ×××× b

z-3

Mult9

a

ba ×××× b

z-3

Mult8

a

ba ×××× b

z-3

Mult7

a

ba ×××× b

z-3

Mult6

a

ba ×××× b

z-3

Mult2

a

ba ×××× b

z-3

Mult12

a

ba ×××× b

z-3

Mult11

a

ba ×××× b

z-3

Mult10

a

ba ×××× b

z-3

Mult1

cast

Convert9

cast

Convert4cast

Convert3

cast

Convert2

cast

Convert14

cast

Convert13

cast

Convert12

cast

Convert11

cast

Convert10

cast

Convert1

15

Constant9

0

Constant8

0

Constant7

0

Constant6

-15

Constant5

-15

Constant4

-15

Constant3

15

Constant11

15

Constant10

x

y

divz-28x

y

y/x

CORDIC DIVIDER2

a

b

a + b

AddSub9

a

ba + b

AddSub8

a

ba + b

AddSub7

a

ba + b

AddSub6

a

ba + b

AddSub5

a

ba + b

AddSub4

a

b

a + b

AddSub3

a

ba + b

AddSub2

a

ba + b

AddSub16

a

ba + b

AddSub15

a

ba + b

AddSub14

a

ba + b

AddSub13

a

ba + b

AddSub12

a

b

a + b

AddSub11

a

ba + b

AddSub10

a

ba + b

AddSub1

9

In9

8

In8

7

In7

6

In6

5

In5

4

In4

3

In3

2

In2

1

In1

Figura 4.43: Defuzzificación con nueve entradas

Se prevé que con esta modificación se disminuya el tiempo de respuesta (tiempo de

asentamiento), así como también los recursos hardware utilizados en para el controlador

PID difuso pero con la meta de tener una señal controlada con características similares a

la arquitectura que cuenta con RSS. Para la arquitectura 3 el diagrama quedaría como se

muestra en la Figura 4.44.

Page 114: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

98 CAPÍTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

defuzzificaciónbase de reglas e inferencia

ERROR

DERIVADA DEL ERROR

fuzzificación1

fuzzificación2 1

Out1

[ACTNEG2]

Goto9

[ACTPOS1]

Goto8

[ACTZERO1]

Goto7

[ACTNEG1]

Goto6

[CEZERO]

Goto5

[CEPOS]

Goto4

[CENEG]

Goto3

[EZERO]

Goto2

[ACTPOS2]

Goto11

[ACTZERO2]

Goto10

[EPOS]

Goto1

[ENEG]

Goto

[ACTPOS2]

From60

[CEPOS]

From6

[ACTZERO2]

From59

[ACTNEG2]

From58

[ACTPOS1]

From57

[ACTZERO1]

From56

[ACTNEG1]

From55

[CEZERO]

From5

[CENEG]

From4

[EPOS]

From3

[EZERO]

From2

[ENEG]

From1

In1

Out1

Out2

Out3

Out4

Out5

Out6

FUZZIFICACION2

In1

Out1

Out2

Out3

Out4

Out5

Out6

FUZZIFICACION1

In1

In2

In3

In4

In5

In6

In7

In8

In9

Out1

COA

In1

In2

In3

In4

In5

In6

In7

In8

In9

In10

In11

In12

Out1

Out2

Out3

Out4

Out5

Out6

Out7

Out8

Out9

BASE DE REGLAS E INFERENCIA

2

In2

1

In1

Figura 4.44: Etapas del módulo PD difuso para arquitectura 3

Posteriormente, se introduce el módulo PD difuso en el controlador PID, ver la Figura

4.45.

PROPORCIONAL

INTEGRAL

DERIVATIVO

BLOQUE DIFUSO

DE LA ARQ. 3

4.58e-2

18.67e-9s +17.68e-6s+2.10e-32

Transfer Fcn2

In1

In2

Out1

Subsystem2

In1Out1

Subsystem

Step1

Scope3d qz-1

Register3

dq z-1

Register2

d qz-1

Register1

[aux1]

Goto1

[aux2]

Goto

Out

Gateway Out

In

Gateway In3

In

Gateway In2

[aux2]

From1

[aux1]

From

cast

Convert4

cast

Convert3

cast

Convert1

cast

Convert

x 0.0003052

CMult2

x 0.007004

CMult1

x 0.02

CMult

a

ba - b

AddSub5

a

ba + b

AddSub2

a

ba + b

AddSub1

a

b

a - b

AddSub

Sy stemGenerator

Figura 4.45: Diagrama final del PID difuso

Se nota que están presentes los bloques hardware que realizan la derivada y la integral

de error como en el PID en hardware. Estos módulos son los mismos la diferencia son los

valores de las ganancias obtenidas por medio de la sintonización.

Page 115: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

4.2. CONTROLADOR PID DIFUSO 99

La sintonización de las ganancias se realiza por medio del método de transferencias

de ganancias del PID clásico al PID difuso, no obstante se tiene que considerar también

la calibración de las funciones de pertenencia de los conjuntos de entrada y de salida.

La etapa de la sintonización y calibración requiere tener conocimientos adquiridos con la

experiencia en el diseño de sistemas difusos. En el siguiente capitulo 5 se describirán y se

comentarán los resultados de las arquitecturas aquí propuestas.

Page 116: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

100 CAPÍTULO 4. SISTEMAS DE CONTROL PROPUESTOS Y DESARROLLO

Page 117: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

Capítulo 5

Resultados

En este capítulo se describen los resultados obtenidos en la implementación de contro-

ladores PID clásico y PID difuso en software y en hardware.

En la sección 5.1 se muestran, analizan y comparan las señales de respuesta de cada

controlador.

En la sección 5.2 se estudia el error y el comportamiento de los controladores ante

ruido.

En la sección 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 sección se mostrarán los resultados que se obtienen de las simulaciones de las

implementaciones de los controladores. Primeramente se mostrarán las señales de respues-

ta de los controladores desarrollados en software y posteriormente los desarrollados en

hardware.

Para los controladores desarrollados en software se medirá el tiempo de subida, tiempo

de retardo, tiempo pico, sobreelongación y tiempo de establecimiento, utilizando como

unidad los segundos. Para los controladores hardware se medirán los mismos parámetros

101

Page 118: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

102 CAPÍTULO 5. RESULTADOS

con la única diferencia que no se utilizarán segundos sino ciclos de reloj como valor de

medida, el tiempo en segundos estará dado por la frecuencia máxima o el periodo mínimo

de la arquitectura establecido en el análisis de recursos utilizados. El número de ciclos de

reloj del sistema y el numero de ciclos de retroalimentación no están dados en segundo

hasta que se implementen en FPGA en el proceso Place and Rute.

5.1.1. Señales de respuesta de los controladores PID y PID difusodesarrollados 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

función escalón cuyo valor es de 24, la función escalón representa una señal que se activa

en un tiempo específico y se queda en ese nivel de manera indefinida; la función escalón

sirve para conocer la respuesta transitoria de un sistema ante un valor de excitación. En la

Figura 5.1 se muestra la respuesta del controlador PID ante una función escalón.

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 sobreelongación bajo. En el cuadro 5.1se muestran los valores medidos de la señal

de respuesta.

Page 119: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

5.1. RESPUESTA EN LA SALIDA DE LOS CONTROLADORES 103

Parámetros medidos Símbolo Valor obtenidoTiempo de retardo td 1,01sTiempo de subida tr 1,12s

Tiempo pico t p 0sSobreelongación MP 0

Tiempo de asentamiento ts 1,12s

Cuadro 5.1: Tiempos y Sobreelongación del controlador PID en software

El controlador PID en software tiene una sobreelongación de 0, esto indica un control

sin picos iniciales, al no haber sobreelongación tampoco existe un valor para tiempo pico

ya que no se forma ningún pico en la señal 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; también en este con-

trolador se desea que la sobreelongación sea 0 ya que implicaría oscilaciones mínimas en

la salida. La respuesta del controlador PID difuso ante la función escalón es mostrado en

la Figura 5.2.

Figura 5.2: Respuesta del controlador PID difuso en software

Similarmente al controlador PID, se tiene una sobreelongación 0 por lo que la señal de

salida no oscila y se obtiene un tiempo de asentamiento menor comparado con el PID en

software, ver cuadro 5.2.

Page 120: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

104 CAPÍTULO 5. RESULTADOS

Parámetros medidos Símbolo Valor obtenidoTiempo de retardo td 1,015sTiempo de subida tr 1,08s

Tiempo pico t p 0sSobreelongación MP 0

Tiempo de asentamiento ts 1,08s

Cuadro 5.2: Tiempos y Sobreelongación 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 clásico sin embargo el tiem-

po de asentamiento es menor, este parámetro es más importante ya que esta característica

describe la cantidad de tiempo que tarda el controlador en igualar la señal de referencia.

5.1.2. Señales de respuesta de los controladores PID y PID difusodesarrollados en hardware

En esta sección se describirán las señales de salida resultantes del desarrollo de los

controladores PID y PID en lógica 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 duración denominado periodo

del ciclo de reloj. Este periodo determina la frecuencia del tiempo de ejecución del sistema

y se obtiene cuando se implementan los sistemas en FPGA.

En primera instancia se describirá el controlador PID clásico; como los controladores

antes descritos, se requiere que no exista sobreelongación y que el tiempo de establecimien-

to sea mínimo. En la Figura 5.3 se muestra la señal de respuesta ante una señal escalón de

valor 24.

Page 121: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

5.1. RESPUESTA EN LA SALIDA DE LOS CONTROLADORES 105

Figura 5.3: Respuesta del controlador PID en hardware

El controlador PID diseñado en hardware no cuenta con sobreelongación 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 señal de respuesta del controlador PID.

Parámetros medidos Símbolo Valor obtenido (cc) Ciclos de RetroalimentaciónTiempo de retardo td 2 1Tiempo de subida tr 34 34

Tiempo pico t p 0 0Sobreelongación MP 0 0

Tiempo de asentamiento ts 34 34

Cuadro 5.3: Tiempos y Sobreelongación del controlador PID en hardware

Asimismo, se muestran los números de ciclos de retroalimentación, un ciclo de retro-

alimentación inicia cuando se resta el valor de referencia menos el valor de la salida y dura

hasta que se obtiene un dato en la salida del sistema y éste se retroalimente.

Por otra parte, como se ha mencionado se realizaron tres arquitecturas para el controla-

dor PID difuso las cuales se describen a continuación:

Arquitectura 1 (PID difuso con paso de parámetros y RSS)

Este controlador cuenta con un paso de parámetros desde el workspace de MatLab y fue

usado para calibrar los valores de los conjuntos de entrada y de salida del sistema difuso.

Page 122: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

106 CAPÍTULO 5. RESULTADOS

Con el paso de parámetros, 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 señal de salida del controlador PID difuso con paso de parámetros y RSS se muestra

en la Figura 5.4.

Figura 5.4: Respuesta del controlador PID difuso con paso de parámetros y RSS

La arquitectura de este controlador PID difuso cuenta con módulos de multiplicaciones,

divisiones y raíz cuadrada, estos módulos requieren más ciclos de reloj para obtener un

valor válido en la salida, la cantidad de ciclos de reloj utilizada en una iteración del lazo

cerrado del controlador es de 83 ciclos de reloj. Los valores medidos en este controlador se

muestran en el cuadro 5.4.

Parámetros medidos Símbolo Valor obtenido (cr) Ciclos de RetroalimentaciónTiempo de retardo td 83 1Tiempo de subida tr 700 8

Tiempo pico t p 0 0Sobreelongación MP 0 0

Tiempo de asentamiento ts 700 8

Cuadro 5.4: Tiempos y sobreelongación de la arquitectura 1 del PID difuso en hardware

Page 123: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

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 optimización de la arquitectura del controlador PID difuso. Además,

Arquitectura 2 (PID difuso sin paso de parámetros con RSS)

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

una arquitectura especifica del controlador PID difuso. En esta nueva arquitectura se elimi-

naron módulos de división y se reemplazaron por módulos de multiplicación, esta acción

beneficia al sistema en la disminución del numero de ciclos de reloj necesarios para que la

señal de salida del controlador alcance a la señal de referencia como se puede apreciar en

la Figura 5.5.

Figura 5.5: Respuesta del controlador PID difuso sin paso de parámetros con RSS

En la Figura 5.5 se ve que el tiempo de asentamiento disminuyó en comparación a la

arquitectura con paso de parámetros, el tiempo de asentamiento es de 530 ciclos de reloj,

también se nota que no hay sobreelongación en la señal de salida. Por último, cabe men-

cionar que se iguala a la arquitectura con paso de parámetros en el numero de iteraciones

de lazo cerrado. Los demás valores medidos en la señal de salida se muestran en el cuadro

5.5.

Page 124: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

108 CAPÍTULO 5. RESULTADOS

Parámetros medidos Símbolo Valor obtenido (cr) Ciclos de RetroalimentaciónTiempo de retardo td 62 1Tiempo de subida tr 530 8

Tiempo pico t p 0 0Sobreelongación MP 0 0

Tiempo de asentamiento ts 530 8

Cuadro 5.5: Tiempos y sobreelongación de arquitectura 2 PID difuso en hardware

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

controlador difuso. Este cambio consiste en retirar el bloque RSS y obtener una defuz-

zificación basada en las 9 reglas totales de los 3 conjuntos difusos y no solamente de la

ponderación de los 3 conjuntos difusos. A continuación se presentan los resultados obteni-

dos de esta nueva arquitectura.

Arquitectura 3 (PID difuso sin paso de parámetros 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 señal de salida del controlador PID difuso sin RSS y sin paso de

parámetros.

Figura 5.6: Respuesta del controlador PID difuso sin parámetros sin RSS

Se nota que este controlador ha mejorado en comparación a las dos arquitecturas ante-

riores del PID difuso. El número de ciclos de reloj del tiempo de asentamiento es de 135,

Page 125: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

5.2. CÁLCULO DE ERROR Y COMPORTAMIENTO ANTE RUIDO 109

además el número de iteraciones de lazo cerrado también se redujo a solamente 4. Otros

valores medidos de la señal de la respuesta del controlador son mostrados en el cuadro 5.6.

Parámetros medidos Símbolo Valor obtenido Ciclos de RetroalimentaciónTiempo de retardo td 30 1Tiempo de subida tr 135 4

Tiempo pico t p 0 0Sobreelongación MP 0 0

Tiempo de asentamiento ts 135 4

Cuadro 5.6: Tiempos y sobreelongación de arquitectura 3 PID difuso en hardware

Como en las demás arquitecturas, la sobreelongación es 0 y no existen oscilaciones, por

lo tanto tampoco hay tiempo pico. Lo que caracteriza a este controlador es su rápida res-

puesta en comparación a las dos arquitecturas del PID difuso anteriormente mencionadas.

En esta sección se han mostrado y analizado las respuestas de los distintos controladores

en software y en hardware sin ruido en las señales. En la siguiente sección se mostrarán los

resultados de la señal de salida ante la presencia de ruido, este análisis es importante ya que

comúnmente 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. Cálculo de error y comportamiento ante ruido

En esta sección se analizará el error de los controladores y el comportamiento de estos

ante perturbaciones.

Primeramente, se va a realizar un análisis del error donde se compara la señal de re-

ferencia con la salida del controlador por lo que se obtiene el error absoluto entre estas

dos señales, 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 ecuación 5.1.

Eprom =eabs1 + eabs2 + eabs3 + eabs4 + · · ·+ eabsN

N(5.1)

Donde:

Page 126: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

110 CAPÍTULO 5. RESULTADOS

e es el error entre las señales.

N es el numero de muestras que toma para el análisis.

Además, para realizar el análisis del error se realizan medidas del error cuadrático me-

dio (Error Root Medium Square) existente entre la señal de salida sin ruido y la señal de

salida con ruido, también se toman en cuenta el error cuadrático medio entre la señal con

ruido y la señal de referencia, el error cuadrático medio esta representado por la siguiente

formula:

Erms =

√e2

abs1 + e2abs2 + e2

abs3 + e2abs4 + · · ·+ e2

absNN

(5.2)

Donde:

e es el error entre las señales.

N es el numero de muestras que toma para el análisis.

El error cuadratico medio muestra la medida de las diferencias en promedio entre los

valores pronosticados y los observados.

5.2.1. Cálculo del error

Definidos los tipos de errores se procede a mostrar los resultados. En la Figura 5.7 se

muestra gráficamente el comportamiento del error absoluto del controlador PID en SW.

Page 127: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

5.2. CÁLCULO DE ERROR Y COMPORTAMIENTO ANTE RUIDO 111

Figura 5.7: Comportamiento del error absoluto en PID en SW

El cálculo de los valores del promedio del error y del error cuadrático medio es mostra-

do en el cuadro 5.7.

Tamaño de muestraEprom Señal de salida y Erms Señal de salida y

señal de referencia señal de referencia133,951 13.0289 17.4353

Cuadro 5.7: Tamaño de muestra y Valor de Erms para el PID en SW

Estos datos indican que es el error promedio es menor que el error cuadrático 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.

Page 128: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

112 CAPÍTULO 5. RESULTADOS

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

El cálculo de los valores del promedio del error y del error cuadrático medio del con-

trolador PID difuso es mostrado en el cuadro 5.8.

Tamaño de muestraEprom Señal de salida y Erms Señal de salida y

señal de referencia señal de referencia133,951 13.2886 17.5697

Cuadro 5.8: Tamaño de muestra, valor de Eprom yErms para el PID difuso en SW

En el controlador PID en hardware, el error absoluto tiene el comportamiento que mues-

tra en la Figura 5.9.

Page 129: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

5.2. CÁLCULO DE ERROR Y COMPORTAMIENTO ANTE RUIDO 113

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

El cálculo de los valores del promedio del error y del error cuadrático medio del con-

trolador PID difuso es mostrado en el cuadro 5.9.

Tamaño de muestraEprom Señal de salida y Erms Señal de salida y

señal de referencia señal de referencia6,598 7.5652 8.3367

Cuadro 5.9: Tamaño de muestra, valor de Eprom 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 .

Page 130: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

114 CAPÍTULO 5. RESULTADOS

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

El cálculo de los valores del promedio del error y del error cuadrático medio del con-

trolador PID difuso es mostrado en el cuadro 5.10.

Tamaño de muestraEprom Señal de salida y Erms Señal de salida y

señal de referencia señal de referencia6,384 0.0929 0.5375

Cuadro 5.10: Tamaño de muestra, valor de Eprom yErms para el PID difuso en HW

Como se ha visto el comportamiento del error absoluto y el error cuadrático es variado,

en los controladores implementados en hardware tienen valores menores en comparación a

los controladores implementados en software.

Los errores promedio en todos los controladores resultaron ser menores en comparación

al error cuadrático, aunque para un análisis más profundo en un futuro el error cuadrático

es comúnmente el método más usado.

5.2.2. Comportamiento ante ruido o perturbaciones

En esta subsección se analizará el comportamiento ante ruido de los controladores desa-

rrollados, de manera que se introduce ruido al diagrama del PID, ver Figura 5.11.

Page 131: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

5.2. CÁLCULO DE ERROR Y COMPORTAMIENTO ANTE RUIDO 115

Figura 5.11: Diagrama general del PID con ruido

También en esta sección se analizará el comportamiento del PID difuso con ruido, en

la Figura 5.12 se muestra la modificación hecha para este análisis.

Figura 5.12: Diagrama general del PID difuso con ruido

Una vez establecido qué diagramas se van utilizar, se describirán 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 diseño 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.

Page 132: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

116 CAPÍTULO 5. RESULTADOS

Uniform

Uniform NoiseGenerator

4.58e-2

18.67e-9s +17.68e-6s+2.10e-32

Transfer Fcn3Step

Scope2

1s

Integrator1

3

Gain3

0.0005

Gain2

0.0645

Gain1

du/dt

Derivative1 Add

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 señal de referencia y la señal de respuesta, la señal de

respuesta se ve afectada por perturbaciones en gran medida.

El análisis del error en este resultado y en los siguientes están basados en el error

cuadrático medio Erms presente entre la señal con ruido y la señal sin ruido, así también

entre la señal con ruido y la señal de referencia.

En el cuadro 5.11 se muestra los resultados al aplicar el método del error cuadrático

medio.

Page 133: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

5.2. CÁLCULO DE ERROR Y COMPORTAMIENTO ANTE RUIDO 117

Tamaño de muestraErms Señal con ruido y Erms Señal con ruido y

señal sin ruido señal de referencia133,951 1.8741 17.0384

Cuadro 5.11: Tamaño de muestra y Valor de Erms para el PID en SW (estudio ante ruido)

Igual que en el controlador PID en software, se introduce un bloque de Simulink uni-

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

voltaje

Uniform

Uniform NoiseGenerator1

4.58e-2

18.67e-9s +17.68e-6s+2.10e-32

Transfer Fcn3

StepScope2

1s

Integrator

2.1

Gain6

0.0078

Gain5

0.0645

Gain41

GainFuzzy Logic Controller1

du/dt

Derivative

Add1

Figura 5.15: Diagrama del PID difuso con ruido en software

Se estableció como valor de referencia una función escalón de valor 24; el comporta-

miento de la señal de salida es mostrado en la Figura 5.16.

Page 134: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

118 CAPÍTULO 5. RESULTADOS

Figura 5.16: Respuesta del PID difuso con ruido en software

Como se aprecia en la Figura anterior la señal del controlador PID difuso no tiene gran

cantidad de oscilaciones y tiende a estabilizarse tomando en cuenta la señal de referencia.

En el cuadro 5.12 se aprecia el tamaño de muestra y el valor de Erms de este controlador.

Tamaño de muestraErms Señal con ruido y Erms Señal con ruido y

y señal sin ruido señal de referencia133,951 1.2641 17.3768

Cuadro 5.12: Tamaño de muestra y Valor de Erms para el PID difuso en SW (estudio anteruido)

Además, se muestra una comparación de las señales tanto de la salida del sistema del

controlador PID y del PID difuso, por lo que se grafican juntas para observar su comporta-

miento una respecto a la otra, ver Figura 5.17.

Page 135: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

5.2. CÁLCULO DE ERROR Y COMPORTAMIENTO ANTE RUIDO 119

Figura 5.17: Respuesta de PID y PID difuso con perturbación

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

paración al controlador PID difuso, por otra parte las dos señales de salida tienen la misma

sobreelongación aunque el PID difuso trata de estabilizarse después de la sobreelongación,

contrariamente el controlador PID que se caracteriza por un gran número de perturbaciones

sobre la señal 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 continuación se analizará

los mismos controladores en plataforma hardware, donde se espera que los resultados sean

parecidos a este análisis.

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

Para realizar el análisis se modifica el diseño 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.

Page 136: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

120 CAPÍTULO 5. RESULTADOS

PROPORCIONAL

DERIVADA

INTEGRAL

Uniform

Uniform NoiseGenerator

4.58e-2

18.67e-9s +17.68e-6s+2.10e-32

Transfer Fcn1

Step

Scope2

dq z-1

Register2

d qz-1

Register1

Out

Gateway Out

In

Gateway In2

In

Gateway In1

In

Gateway In

cast

Convert4

cast

Convert2

cast

Convert1

cast

Convert

x 0.009995

CMult2

x 0.004501

CMult1

x 0.01401

CMult

a

ba - b

AddSub5

a

ba + b

AddSub4

a

ba + b

AddSub3

a

ba + b

AddSub2

a

ba + b

AddSub1

a

b

a - b

AddSub

Sy stemGenerator

Figura 5.18: Diagrama PID con ruido en hardware

Para realizar la prueba con ruido se estableció una función de escalón 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 clásico muestra una gran cantidad de oscilaciones y la señal

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 análisis.

Tamaño de muestraErms1 Señal con ruido y Erms2 Señal con ruido y

señal sin ruido señal de referencia6,598 2.0677 7.7039

Cuadro 5.13: Tamaño de muestra y Valor de Erms para el PID en HW (estudio ante ruido)

Page 137: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

5.2. CÁLCULO DE ERROR Y COMPORTAMIENTO ANTE RUIDO 121

Por otra parte, para realizar el análisis de ruido con el PID difuso se simuló la arqui-

tectura 3 que no posee paso de parámetros ni el método RSS, ya que esta arquitectura tuvo

menor tiempo de establecimiento. En el diseño de controlador del PID difuso en hardware,

la adición 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

INTEGRAL

DERIVATIVO PID DIFUSO

Uniform

Uniform NoiseGenerator

4.58e-2

18.67e-9s +17.68e-6s+2.10e-32

Transfer Fcn2

In1Out1

Subsystem2

In1

In2

Out1

Subsystem1

In1Out1

Subsystem

Step1

dq z-1

Register2

d qz-1

Register1

HW4

[aux3]

Goto3

[aux4]

Goto2

[aux1]

Goto1

[aux2]

Goto

Out

Gateway Out

In

Gateway In5

In

Gateway In3

In

Gateway In2

[aux4]

From3

[aux3]

From2

[aux2]

From1

[aux1]

From

cast

Convert4

cast

Convert3

cast

Convert1

cast

Convert

x 0.001205

CMult2

x 0.007004

CMult1

x 0.02

CMult

a

ba - b

AddSub5

a

ba + b

AddSub3

a

ba + b

AddSub2

a

ba + b

AddSub1a

b

a - b

AddSub

Sy stemGenerator

Figura 5.20: Diagrama PID difuso con ruido en hardware

También se cuenta con módulos que validan la señal 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 cálculos y en la salida existen datos cuyo valor

se desconoce.

Para realizar el análisis del ruido para el controlador difuso en HW, se toma como

referencia una función escalón establecida en un valor de 24; el comportamiento del con-

trolador con ruido se muestra en la Figura 5.21.

Page 138: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

122 CAPÍTULO 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 número bajo

de oscilaciones cuando se le aplica perturbaciones, además la estabilización de este contro-

lador es mejor que el controlador PID clásico en hardware.

El tamaño de la muestra y el valor de Erms se reporta en el cuadro 5.14.

Tamaño de muestraErms Señal con ruido y Erms Señal con ruido y

y señal sin ruido señal de referencia6,384 1.3790 1.4222

Cuadro 5.14: Tamaño de muestra y Valor de Ermspara el PID difuso en HW (estudio anteruido)

Los cuadros reportan que el controlador PID difuso tiene un menor error cuadrático

medio, esto cumple la tendencia de operación ante ruido que se seguía desde la plataforma

software.

Una vez obtenidos los resultados de las señales de respuesta con y sin ruido de los

controladores PID y PID difuso, se analizará la cantidad de recursos que utilizan las arqui-

tecturas hardware.

Page 139: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

5.3. RECURSOS HARDWARE DE LAS ARQUITECTURAS PROPUESTAS 123

5.3. Recursos hardware de las arquitecturas propuestas

En esta sección se mostrará el uso de recursos hardware, periodo mínimo y frecuencia

máxima de operación de los controladores PID y PID difuso. Igualmente como en el aná-

lisis de ruido, se toma la arquitectura del controlador PID difuso sin paso de parámetros ni

RSS, esto debido a que contiene menos bloques hardware y un tiempo de establecimien-

to menor en comparación con las otras arquitecturas. Asimismo se muestran los recursos

hardware del controlador PID clásico, los valores reportados a continuación se realizaron

para tres tecnologías de FPGA: Spartan 6, Virtex 5 y Artix 7.

Los campos básicos de los reportes son los relacionados con los slices utilizados, el

periodo mínimo y la frecuencia máxima de operación. El periodo mínimo sirve para calcu-

lar el tiempo total de respuesta de controlador, ya que en las simulaciones se contaron los

números de ciclos de reloj.

5.3.1. Recursos hardware del controlador PID

A continuación se presentarán los recursos hardware del controlador PID en las diversas

tecnologías 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.

Page 140: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

124 CAPÍTULO 5. RESULTADOS

!

"#" $

%& $' ' !

$$ '

(

) $$

*+ "),-

.( '$.(/0

!"!

#$ %%&&

%%&&

' '& '

( &%% %

)* !(+,

-.% %'-%/0

!"! #

$% #&

#&

' ##

() !'*+

,-# ,./

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 mínimo

de 2.179 ns y una frecuencia máxima de 458.926 MHz.

Otra tecnología FPGA revisada es la basada en Spartan 6, cuyo dispositivo elegido para

este análisis es el Spartan 6 xc6slx45-3cgs324. El periodo mínimo es de 1.921 ns y la

frecuencia máxima es de 520.562 MHz.

Por último, se analizó la tecnología FPGA cuyo dispositivo es Virtex 5 xc5vlx50-

3ff324, se muestran los resultados de los recursos empleados en este dispositivo, asimismo

el periodo mínimo y la frecuencia máxima. El periodo mínimo obtenido en el dispositivo

de Virtex 5 es de 1.635 ns y la frecuencia máxima 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.

Page 141: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

5.3. RECURSOS HARDWARE DE LAS ARQUITECTURAS PROPUESTAS 125

Parámetros medidos Símbolo cicle clock T. en Artix7 T. en Spartan 6 T. Virtex 5Tiempo de retardo td 2 4.35 ns 3.84 ns 3.27 nsTiempo de subida tr 34 74.086 ns 65.314 ns 55.59 ns

Tiempo pico t p 0 0 ns 0 ns 0 nsSobreelongación MP 0 0 ns 0 ns 0 ns

Tiempo de asentamiento ts 34 74.086 ns 65.314 ns 55.59 ns

Cuadro 5.16: Tiempos y Sobreelongación del controlador PID en hardware

Los resultados muestran que la arquitectura es más rápida y consume menos recursosen el dispositivo Virtex 5 xc5vlx50-3ff324, sin embargo se tiene que tener en cuenta que una alta

frecuencia requiere más potencia por lo se motiva la investigación y el análisis de este parámetro.

Cada tecnología es diferente y muestra qué beneficios se tendría con el Virtex 5, cabe

mencionar que existen otro tipos de versiones como Virtex así como de Spartan y Artix,

la comparación realizada se limita a estas tres tecnologías 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 subsección se abordarán los resultados obtenidos referente a los recursos utili-

zados en tres diferentes tecnologías FPGA: Artix 7, Spartan 6 y Virtex 5 de las arquitectura

1, 2 y 3.

Arquitectura 1 (PID difuso con paso de parámetros y RSS)

En el cuadro 5.17 se presentan los recursos hardware obtenidos de la arquitectura 1.

Page 142: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

126 CAPÍTULO 5. RESULTADOS

!! "

#$#

%& ! '!! "

!' '!! "

!!! "

( !)' ! "

*+ #(,-

. .)/0

!

"# $%$ %%&

$%' %%&

$( $$( $

) $( $$

*+ ),-

$$.' &.((&/0

!"! #

$% ## &

# &

& &'

( )# &#'

*+ !(,-

).' ./0

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 mínimo para

esta arquitectura es de 88.35 ns y su frecuencia máxima correspondiente es de 11.317 MHz.

Por otro lado, también se hizo un análisis con los recursos utilizados, periodo mínimo

y la frecuencia máxima de operación para el dispositivo Spartan 6 xc6slx75-3fgg484, se

establece un periodo mínimo de 113.925 ns,con una frecuencia de operación de 8.778 MHz.

Finalmente, se realiza la obtención 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 máxima de 11.036 MHz. Por otra parte, en el Cuadro 5.18 se muestran los

tiempos de operación que se obtienen de la arquitectura conforme al tipo de dispositivo.

Page 143: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

5.3. RECURSOS HARDWARE DE LAS ARQUITECTURAS PROPUESTAS 127

Parámetros medidos Símbolo cicle clock T. en Artix7 T. en Spartan 6 T. Virtex 5Tiempo de retardo td 83 7.333 µs 9.456 µs 7.521 µsTiempo de subida tr 700 61.84 µs 79.75 µs 63.43 µs

Tiempo pico t p 700 61.84 µs 79.75 µs 63.43 µsSobreelongación MP 0 0 0 0

Tiempo de asentamiento ts 700 61.84 µs 79.75 µs 63.43 µs

Cuadro 5.18: Tiempos y Sobreelongación 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 operación y también en este dispositivo se consumen menos recursos.

Arquitectura 2 (PID difuso sin paso de parámetros con RSS)

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

!"" #

$%$

&' " ! "" #

"( "" #

""" #

) "!( !" #

*+ $),-

. /0 !. "

!

"# $%& '

$%(' '

$& $$%&

) $ $$

*+ ),-

.$'/0 $%.$

!

"#"

$% &

'

( !

) ( '( !

*+ "),-

.' /0 &(.'

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

Page 144: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

128 CAPÍTULO 5. RESULTADOS

Se muestran los recursos utilizados para el dispositivo Artix 7, el periodo mínimo para

esta arquitectura es de 89.160 ns y su frecuencia máxima correspondiente es de 11.216

MHz.

Por otro lado, también se hizo un análisis con los recursos utilizados, periodo mínimo

y la frecuencia máxima de operación para el dispositivo Spartan 6, se establece un periodo

mínimo de 94.508 ns,con una frecuencia de operación de 10.581 MHz.

Finalmente, se realiza la obtención de los recursos usados, periodo y frecuencia para el

dispositivo Virtex 5, el valor del periodo es de 109.313 ns con una frecuencia máxima de

9.148 MHz. Por otra parte, en el Cuadro 5.20 se muestran los tiempos de operación que se

obtienen de la arquitectura conforme al tipo de dispositivo.

Parámetros medidos Símbolo cicle clock T. en Artix7 T. en Spartan 6 T. Virtex 5Tiempo de retardo td 62 5.528 µs 5.859 µs 6.777 µsTiempo de subida tr 530 47.25 µs 50.09 µs 57.94 µs

Tiempo pico t p 530 47.25 µs 50.09 µs 57.94 µsSobreelongación MP 0 0 0 0

Tiempo de asentamiento ts 530 47.25 µs 50.09 µs 57.94 µs

Cuadro 5.20: Tiempos y Sobreelongación 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 operación y también en este dispositivo se consumen menos recursos.

Arquitectura 3 (PID difuso sin paso de parámetros y sin RSS)

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

Page 145: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

5.3. RECURSOS HARDWARE DE LAS ARQUITECTURAS PROPUESTAS 129

!

""#$#

%& ' '!

"

" ( !

" " ) )) )!

*+ #",-

).' .'/0

!"

##$%$

&' !(! !!)) ("

# !)! !!))

# () "

# # ) )!! !"

*+ $#,-

( ./0

!!"#" $

%&

!

! ' ('

! ! )$ (

*+ "!,-

. $.$$$/0

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 mínimo para

esta arquitectura es de 25.742 ns y su frecuencia máxima correspondiente es de 38.847

MHz.

Por otro lado, también se hizo un análisis con los recursos utilizados, periodo mínimo

y la frecuencia máxima de operación para el dispositivo Spartan 6, se establece un periodo

mínimo de 30 ns,con una frecuencia de operación de 33.33 MHz.

Finalmente, se realiza la obtención de los recursos usados, periodo y frecuencia para

el dispositivo Virtex 5, el valor del periodo es de 23.018 ns con una frecuencia máxima de

43.444 MHz. Por otra parte, en el Cuadro 5.22 se muestran los tiempos de operación que

se obtienen de la arquitectura conforme al tipo de dispositivo.

Page 146: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

130 CAPÍTULO 5. RESULTADOS

Parámetros medidos Símbolo cicle clock T. en Artix7 T. en Spartan 6 T. Virtex 5Tiempo de retardo td 30 0.7723 µs 0.900 µs 0.690 µsTiempo de subida tr 135 3.475 µs 4.05 µs 3.107 µs

Tiempo pico t p 135 3.475 µs 4.05 µs 3.107 µsSobreelongación MP 0 0 0 0

Tiempo de asentamiento ts 135 3.475 µs 4.05 µs 3.107 µs

Cuadro 5.22: Tiempos y Sobreelongación del controlador PID difuso en la arquitectura 3

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

res tiempos de operación, sin embargo en cuanto a recursos el dispositivo Artix 7 tiene menos

consumo de recursos.

5.4. Comparación con otros trabajos

En esta sección se compararán a manera de cuadro los resultados obtenidos de esta

investigación con otros obtenidos de distintos trabajos.

Primeramente, se muestra las comparaciones realizadas utilizando la familia FPGA

Spartan, ver Cuadro 5.23.

Fuente Dispositivo Frecuencia máxima Recursos HW

PID desarrollado Spartan 6 520.56 MHz541 LUTs

171 slices

Trimeche et al. (2008) Spartan 3 30 MHz 539 LUTs, 368 slices

(Zurita-Bustamante et al., 2011) Spartan 3 60.3 MHz 8737 LUTs, 5668 slices

(Sonoli and Konduru, 2010) Spartan 3 ———— 2358 LUTs, 1916 slices

(Chan et al., 2007) Spartan 3E 47 MHz 437 slices

Cuadro 5.23: Comparación PID con otros trabajos relacionados usando tecnología Spartan

En el Cuadro 5.23 se muestran diferentes trabajos realizados y sus resultados obtenidos

bajos los parámetros de frecuencia máxima y recursos hardware. El controlador PID reali-

zado en este trabajo de tesis es el que tiene la mejor frecuencia de operación, también, éste

es el segundo mejor en cuanto al poco consumo de LUTs y el mejor en el poco consumo

de slices.

Page 147: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

5.4. COMPARACIÓN CON OTROS TRABAJOS 131

Por otra parte, se compara la arquitectura 3 del controlador PID difuso con otros traba-

jos debido a que esta arquitectura es la que presentó mejores resultados en las mediciones

realizadas secciones atras. La comparación se realiza utilizando dos familias FPGAs: Spar-

tan y Virtex.

En el Cuadro 5.24 se muestran diferentes trabajos realizados y sus resultados obtenidos

en tecnología Spartan y en el Cuadro 5.25 los trabajos que utilizan la tecnología Virtex.

Las comparaciones están basados bajo los parámetros de frecuencia máxima, recursos

hardware y time per action. El time per action es el tiempo que tarda en realizar un ciclo

de retroalimentación y es lo que reportan los trabajos.

Fuente Dispositivo Frecuencia máxima Recursos HW Time per action

Arquitectura 3 Spartan 6 33.333 MHz2902 LUTs

0.9 µs867 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: Comparación PID difuso con otros trabajos relacionados usando tecnologíaSpartan

En el Cuadro 5.24 se muestra que la arquitectura 3 es la segunda más rápida en com-

paración con las demás. Además tiene el menor time per action y el menor consumo de

LUTs-Slices que los otros trabajos comparados.

Fuente Dispositivo Frecuencia máxima Recursos HW Time per action

Arquitectura 3 Virtex 5 43.333 MHz3,123 LUTs

0.690 µs984 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: Comparación PID difuso con otros trabajos relacionados usando tecnologíaVirtex

Utilizando la tecnología Virtex, la arquitectura tiene la segunda mejor frecuencia má-

xima de operación, además 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

Page 148: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

132 CAPÍTULO 5. RESULTADOS

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

trabajo futuro.

En este capítulo se ha visto los resultados del comportamiento de los controladores PID

y PID difuso, tanto en el comportamiento de la señal de salida, el comportamiento ante

ruido y la cantidad de recursos que utilizan. De manera que en el Capítulo 6 se describirán

las conclusiones de este trabajo.

Page 149: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

Capítulo 6

Conclusiones

En este apartado se presentan las conclusiones del trabajo de Tesis “Análisis y compa-

ración de controladores PID y PID difuso en lógica 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 realización del PID en lógica 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 diseño, por otro lado, la sintonización del

controlador se realizó con el método de prueba y error, con este método se logró una

sobreelongación de cero en la señal de salida, así como también un tiempo de asentamiento

pequeño.

Se considera que existen otros métodos más complejos en la sintonización de los con-

troladores por lo que se deja en un futuro cercano realizar una sintonización más óptima de

las ganancias de las arquitecturas ya que las ganancias no llegan a afectar el diseño de las

arquitecturas propuestas.

Cabe mencionar que el buen comportamiento de la señal también se debe a que la

función 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 pequeño,

ya que de eso dependerá de la sintonización que se le de a los controladores en conjunto

con distintas plantas.

133

Page 150: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

134 CAPÍTULO 6. CONCLUSIONES

Por otra parte, también 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 fácil

acceso y navegación, además de esta herramienta, también se usó de nueva cuenta Simulink

ya que provee de un bloque que logra importar el diseño realizado desde el toolbox fuzzy.

La sintonización de este controlador se realizó a prueba y error, la sintonización abar-

ca los valores de las ganancias y los rangos de las funciones de pertenencia del sistema

difuso; en este paso es importante el conocimiento y la experiencia del diseñador de siste-

mas difusos ya que en base a ellos dependerá el comportamiento de la señal de salida del

controlador. La señal de respuesta del controlador PID difuso en software no tiene sobre-

elongación, su tiempo de retardo es mayor que el PID clásico, 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 clásico, 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 señal 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,

además, la señal de salida tiende a estabilizarse al valor de la señal 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 afectación por ruido.

La anterior información se utilizó para el desarrollo en hardware (lógica reconfigurable)

de los controladores PID y PID difuso. El controlador PID difuso se diseñó utilizando

Simulink y librerías de componentes hardware a lo que se denomina System Generator, esta

herramienta es importante ya que provee una visión 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 parámetros, este paso de parámetros 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 señal de comportamiento de este controlador no cuenta con sobreelongación, por

lo cual la señal se estabiliza sin generar picos ni oscilaciones, cabe aclarar que un

Page 151: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

135

sistema real generalmente no pasa eso, sin embargo, el tener un modelo que no genere

picos ni oscilaciones implica una reducción de perturbaciones en general cuando se

implemente el modelo.

La segunda arquitectura es una modificación de la primera, ésta ya no es flexible en

cuanto al paso de parámetros se refiere; lo que se buscó fue mejorar el tiempo de

ejecución, por lo que esta arquitectura mejora en 25% el número de ciclos de reloj

utilizados para establecerse en el valor de referencia. La señal de comportamiento de

este controlador no cuenta con sobreelongación, es decir en la estabilización de la

señal no se generan picos ni oscilaciones.

Respecto a los recursos hardware, se analizaron las arquitecturas del PID y la tercera ar-

quitectura del controlador PID difuso ya que es que tiene mejor respuesta. Para realizar

este análisis se tuvo que hacer pruebas orientados en dispositivos hardware con diferente

tecnología 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 parámetros

y se diseño para disminuir el número de ciclos de reloj, por tal motivo se decidió

eliminar el método RSS, ya que este bloque necesitaba una gran cantidad de ciclos de

reloj para calcular la raíz cuadrada, de manera que se disminuyó en un 80% respecto

al primer diseño 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

número de conjuntos de salida creciera y se traslaparán entre ellos el método RSS

sería de una utilidad mayor.

Para los dos controladores PID y PID difuso, el dispositivo el que ofrece mejores resultados

tanto en periodo mínimo, frecuencia máxima y recursos usados fue el Virtex 5 xc5vlx50-

3ff324. Sin embargo, este no es el dispositivo que menos recursos consume, esta caracterís-

tica la comparten los dispositivos Spartan 6 xc6slx45-3cgs324 y Artix 7 xc7a100t-3cgs324

para el PID difuso y para el PID clásico 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 además tiene un periodo menor y, por consecuente, una frecuencia más

Page 152: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

136 CAPÍTULO 6. CONCLUSIONES

alta. Esto se debe a que el controlador PID no requiere de cálculos como la división como

lo requiere el PID difuso, la operación de división hace uso de un gran número recursos

hardware por tal motivo el controlador PID difuso tiende a utilizar más recursos.

También, como se comentó anteriormente, se realizó un análisis con la presencia de

ruido en los controladores PID y PID difuso en hardware, de estos análisis se obtuvo que

el controlador PID tiene una salida oscilatoria que genera picos, y dado estos picos la señal

de salida tiende a no estabilizarse. Por otro lado en el análisis del controlador PID difuso, la

salida de este controlador no presenta gran cantidad de picos, por lo que la señal de salida

trata de estabilizarse ante la señal de referencia.

El análisis con la presencia de ruido es importante, ya que en la realidad muchos sis-

temas están propensos a cambios repentinos, ruido o perturbaciones del ambiente que los

rodea, por lo que contar con un sistema que sea robusto ante esto generaría grandes benefi-

cios tanto económicos como funcionales. Con las arquitecturas propuestas del PID difuso

hay que examinar si su frecuencia máxima es suficiente para controlar procesos que re-

quieren alto desempeño. 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 análisis y una comparación entre controlado-

res PID y PID difuso desarrollados en lógica reconfigurable. Con estos resultados ya se

tienen las bases para controlar motores en especial orientado a controlar motores de CD

en cualquier aplicación. Además, se han obtenido diferentes arquitecturas hardware de los

controladores PID difuso: la primera es flexible y servirá en un futuro para que se con-

trolen otros procesos diferentes (pueden ser distintos a los motores de CD); también otros

dos controladores que no son flexibles pero que tienen mejores resultados en tiempo de

respuesta son propuestos y con estas arquitecturas se pretende establecer las bases de cono-

cimientos a los diseñadores de sistemas de control y se prevé que en un futuro este análisis

sean tomados en cuenta al momento de diseñar controladores.

Por último, se comenta que en este proyecto se ha desarrollado un artículo titulado

“Controlador PID difuso implementado con lógica reconfigurable” (Pantoja-Laces, Marzo

Page 153: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

137

2013), el cual ya ha sido publicado en las memorias del congreso. Además se había explo-

rado la velocidad de motores usando microcontroladores de uso general (Pantoja-Laces,

Octubre 2011). Actualmente, se prepara un artículo para una revista indexada.

Page 154: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

138 CAPÍTULO 6. CONCLUSIONES

Page 155: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

Apéndice A

Transformada de Laplace y funciones detransferencia

En este apéndice se conocerá más acerca de la transformada de Laplace, las cuales

son muy útiles al momento de modelar sistemas físicos y ayudan en este caso a analizar

sistemas de control.

A.1. Transformada de Laplace

La transformada de Laplace es parte fundamental de la matemática aplicada y requerida

de los ingenieros, físicos, matemáticos, etc. El método de la transformada de Laplace es

una herramienta matemática ampliamente utilizada para solucionar ecuaciones ordinarias

lineales, también es usada en el modelado, análisis y simulación de sistemas físicos como

circuitos eléctricos, sistemas térmicos y sobre todo en sistemas de control automático.

La transformada de Laplace tiene dos características importantes que la hacen de gran

utilidad, según Chojolán (2007):

1. La solución de la ecuación homogénea y la solución particular se obtienen en una

sola operación.

139

Page 156: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

140APÉNDICE A. TRANSFORMADA DE LAPLACE Y FUNCIONES DE TRANSFERENCIA

2. La transformada de Laplace convierte la ecuación diferencial en una ecuación alge-

braica de (s). La solución 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)=∞∫

0

f (t)e−σtdt (A.1)

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

σ + jw. La ecuación A.1también se conoce como la transformada de Laplace unilateral, y

que la integral se evalúa desde t = 0 hasta ∞.

Esto se considera así ya que toda la información en la función 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 comúnmente se toma como referencia t = 0 . Esto se

debe a que la excitación 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 operación 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:

f (t) =1

2π j

c+ j∞∫c− j∞

F(S) eSt dS (A.3)

En donde c es una constante real que es mayor que las partes reales de todas las singula-

ridades de F(s). La ecuación A.3 representa una integral de línea que se evalúa en el plano

s. Para funciones simples, la operación de la transformada inversa de Laplace, se puede

Page 157: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

A.2. FUNCIONES DE TRANSFERENCIA 141

llevar a cabo sin realizar la evaluación de esta integral, utilizando una tabla de transforma-

das. Si la integral resulta compleja se puede utilizar el método de integración que sea más

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 representación usando la función

de transferencia es más conveniente que cualquier otra, ya que un sistema puede repre-

sentarse por diversos modelos matemáticos, 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 función de transferencia de un sistema puede ser descrito mediante una ecuación

diferencial lineal invariante con el tiempo, se define como: el cociente entre la transfor-

mada de Laplace de la salida y la transformada de Laplace de la entrada, considerando

condiciones iniciales nulas.

G(s) =L (salida)L (entrada)

=Y (s)X(s)

=b0sm +b1sm−1 + ...+bm−1s+bm

a0sn +a1sn−1 + ...+an−1s+an(A.4)

Algunas consideraciones que se tienen en cuenta al momento de trabajar con funciones

de transferencias según Chojolán (2007) son :

1. La función de transferencia de un sistema es un modelo matemático, es decir, es un

método para expresar la ecuación 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

función de entrada.

3. Incluye las unidades necesarias para relacionar la entrada con la salida, pero no pro-

porciona información de la estructura física del sistema.

Page 158: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

142APÉNDICE A. TRANSFORMADA DE LAPLACE Y FUNCIONES DE TRANSFERENCIA

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

ta para varias formas de entrada, con la intención de comprender la naturaleza del

sistema.

5. Si se desconoce la función de transferencia de un sistema, puede establecerse expe-

rimentalmente, introduciendo entradas conocidas y estudiando la salida del sistema.

6. Una vez obtenida la función de transferencia, tendremos una descripción completa

de las características dinámicas del sistema, a diferencia de su descripción física.

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 señales 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 señales por lo que al final es posible evaluar la contribución

de cada componente en el sistema. En ocasiones los diagramas de bloques contienen una

gran cantidad de ramificaciones por lo que se requiere una simplificación mediante un

reordenamiento paso a paso a través de las reglas del álgebra de los diagramas de bloques,

ver Figura A.1.

Page 159: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

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

función de transferencia dada la topología de este tipo de sistemas, ya que no existen rami-

ficaciones por lo que el resultado es el producto de la entrada por el proceso, ver ecuación

A.5.

Figura A.2: Función 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 función de transferencia, ya que el diagrama de

bloques clásico de los sistemas retroalimentados como también se les llama se representa

como en la Figura A.3 la cual tiene ramificaciones y comparaciones.

Page 160: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

144APÉNDICE A. TRANSFORMADA DE LAPLACE Y FUNCIONES DE TRANSFERENCIA

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

R(s) señal de entrada o señal referencial.

C(s) señal de salida (variable controlada).

B(s) señal retroalimentada.

H(s) función de transferencia del bloque de retroalimentación.

E(s) señal de error.

En este caso se requiere obtener la función de transferencia representada por:

F(s) =C(s)R(s)

(A.6)

Por lo que se procede a obtener las salidas de las señales 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)

Page 161: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

A.2. FUNCIONES DE TRANSFERENCIA 145

Reduciendo los términos semejantes y sustituyendo:

B(s)E(s)

= G(s) ·H(s) (A.12)

C(s)G(s)

[1+H(s)G(s)] = R(s) (A.13)

C(s)R(s)

=G(s)

1+H(s)G(s)(A.14)

En conclusión, las funciones de transferencia ayudan a representar modelos físicos de

procesos o plantas hasta sistemas completos y en este trabajo de investigación se hace

referencia al control de motores de corriente directa por lo que se debe de establecer los

fundamentos teóricos del motor de corriente directa.

Page 162: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

146APÉNDICE A. TRANSFORMADA DE LAPLACE Y FUNCIONES DE TRANSFERENCIA

Page 163: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

Apéndice B

System Generator

System Generator para DSP es una plataforma software que usa las herramientas de The

MathWork MatLab/Simulink para representar una visión abstracta de alto nivel del sistema

de DSP, y que automáticamente genera el código HDL de la función 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 fácil de utilizar sistemas de DSP, permitiendo un desa-

rrollo de alto rendimiento para una plataforma hardware específica. Un diseño desarrollado

con esta herramienta puede componerse de una gran variedad de elementos: bloques espe-

cíficos de System Generator, código de un lenguaje de descripción de hardware tradicional

(VHDL, Verilog) y funciones derivadas del lenguaje programación MatLab. Así, todos es-

tos elementos pueden ser usados simultáneamente, simulados en conjunto y sintetizados

para obtener una función de DSP sobre FPGA. El aspecto más interesante de trabajar en

MatLab/Simulink es emplear la herramienta de simulación de sistemas Simulink para rea-

lizar la verificación del diseño.

Una de las características más importantes de Xilinx System Generator es que posee

abstracción aritmética, es decir, trabaja con representaciones en punto fijo con una precisión

arbitraria, incluyendo la cuantización y el sobreflujo. También puede realizar simulaciones

tanto en doble precisión como en punto fijo.

Se cuenta con una gran cantidad de bloques de construcción de DSP en el Blockset Xi-

linx DSP para Simulink. Estos bloques son los bloques DSP comunes de construcción tales

147

Page 164: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

148 APÉNDICE B. SYSTEM GENERATOR

como sumadores, multiplexores, registros, entre otros. También se incluyen un conjunto de

bloques de construcción compleja DSP, tales como bloques de filtros, raíz cuadrada, FFT y

memorias. En la Figura B.1 se muestran algunos bloques de System Generator.

addr

data

we

z-1

Single Port RAM

d qz-1

Register

addrz-1

ROM

a

ba ×××× b

z-3

Mult

and

Logical

Out

Gateway Out

In

Gateway In

xn_re

xn_im

start

fwd_inv

fwd_inv_we

scale_sch

scale_sch_we

xk_re

xk_im

xn_index

xk_index

rfd

busy

dv

edone

doneFast Fourier Transform 7.1

z-1

Delay

++

Counter

1

Constant

x_in x_out

CORDIC 4.0

a

ba + b

AddSub

tready

tvalid

tdata

tvalid

tdata

tready

AXI FIFO

Sy stemGenerator

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

B.1. Blockset de Xilinx en Simulink

Después de la Instalación de System Generator en el toolbox de Simulink generan nue-

vos Blocksets que se describen a continuación.

B.1.1. Xilinx Blockset

Xilinx Blockset es una familia de bibliotecas que contienen los bloques básicos de

System Generator. Algunos bloques son de bajo nivel, facilitando el acceso al hardware

Page 165: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

B.1. BLOCKSET DE XILINX EN SIMULINK 149

específico del dispositivo. Otros son de alto nivel de ejecución, procesamiento de señales

y algoritmos avanzados de comunicación. 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.

Librería DescripciónIndex Cada Bloque en el Blockset de Xilinx.

Basic Elements Bloques de elementos estándar para la construcción de lógica digital.Communication Bloques de corrección de errores y moduladores.Control Logic Bloques de circuitos de control y máquinas de estado.

Data Types Los bloques que convertir tipos de datos.DSP Bloques de Procesamiento Digital de señales (DSP).Math Bloques que implementan funciones matemáticas.

Memory Bloques para la implementación y acceso a memoria.Shared Memory Bloques para la implementación y acceso a memoria compartida de Xilinx.

Tools Bloques de herramientas, para estimación de recursos, co-simulación 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 función 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 parámetros que configuran el bloque.

Librería DescripciónCommunication Bloques de corrección de errores y moduladoresControl Logic Bloques de circuitos de control y máquinas de estado

Imaging Bloques de Procesamiento de Imágenes.DSP Bloques de Procesamiento Digital de señales (DSP)Math Bloques que implementan funciones matemáticas

Cuadro B.2: Bibliotecas de Xilinx Reference Blockset

Cada bloque de referencia tiene una descripción de su aplicación y los requisitos de

recursos de hardware.

Page 166: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

150 APÉNDICE B. SYSTEM GENERATOR

B.2. Tipos de Señales en System Generator

Los bloques en Xilinx System Generator operan con valores booleanos o valores en

punto fijo, esto es para dar una mejor aproximación a la simulación hardware en Simulink.

En contraste, Simulink trabaja con números de punto flotante de doble precisión. La co-

nexión entre los bloques de Xilinx System Generator y los bloques de Simulink son los

bloques llamados Gateway.

El Bloque Gateway In convierte una señal de doble precisión en una señal de Xilinx, y

el bloque Gateway Out convierte una señal de Xilinx en una de doble precisión. Las señales

continuas de Simulink deben ser muestreadas por el bloque Gateway In.

La mayoría de los bloques de Xilinx son capaces de deducir los tipos adecuados de

salida basándose en sus tipos de entrada. Cuando se especifica full precisión en los pa-

rámetros del bloque, System Generator elige el tipo de salida para garantizar que no se

pierda precisión. La extensión de signo y el relleno de ceros ocurre automáticamente, si es

necesario.

En la parte de System Generator de un modelo Simulink, cada señal debe ser muestrea-

da. Tiempos de muestra deben ser heredados usando reglas de propagación de Simulink, o

estableciendo explícitamente la configuración en el cuadro de dialogo de un bloque.

A continuación se describirá el bloque System Generator, el cual es importante ya que

en él se describe las configuraciones de las simulaciones y así como también la especifica-

ción de parámetros para la implementación hardware.

B.2.1. Bloque System Generator

Cualquier diseño que incluya un bloque de Xilinx debe incluir este bloque, ya que es el

encargado de proporcionar el control del sistema y los parámetros de las simulaciones, e in-

vocar el generador de código. En la Figura B.2 se muestra dónde especificar los parámetros

para la opción Compilation y se describen a continuación.

Compilation: especifica el tipo de compilación que se producirá cuando se invoque al

generador de código.

Part: define FPGA usado.

Target Directory: nombre del directorio para guardar los resultados de la compilación.

Page 167: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

B.2. TIPOS DE SEÑALES EN SYSTEM GENERATOR 151

Figura B.2: Parámetros de la opción Compilation

Page 168: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

152 APÉNDICE B. SYSTEM GENERATOR

Figura B.3: Parámetros de la opción Clocking

Synthesis Tool: indica la herramienta usada para sintetizar el diseño. Las posibles op-

ciones son Synplicity’s Synplify Pro, Synplify, y Xilinx’s XST.

Hardware Description Language: especifica el lenguaje HDL que se usará para la com-

pilación, puede ser VHDL o Verilog.

Asimismo, en la opción de Clocking se encuentran diferentes parámetros mostrados en

la Figura B.3 y se describen algunos a continuación.

FPGA Clock Period: define el período en nanosegundos del reloj hardware y debe ser

un entero.

Clock Pin Location: indica cuál es el pin del reloj. Esta información se le pasa a las

herramientas de implementación de Xilinx a través de un archivo (xcf o ngc) en el que

también se incluyen otro tipo de restricciones.

Simulink System Period: define el período de Simulink, en segundos.

Por otra parte, en la opción General se muestra el parámetro Block Icon Display, ver

Figura B.4, el cual especifica el tipo de información que será mostrada en los iconos de los

bloques.

Este parámetro cuenta con un menú desplegable que tiene las siguientes opciones:

Default: muestra la información por defecto del bloque.

Page 169: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

B.2. TIPOS DE SEÑALES EN SYSTEM GENERATOR 153

Figura B.4: Parámetros de la opción General

Pipeline stages: indica la latencia de los puertos de entradas, cuya información 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 señales de entrada a los bloques, cuya

información suele ser útil para resolver errores.

Output data types: muestran los tipos de datos de las señales de salida de los bloques.

Esta información suele ser útil para resolver errores.

Para finalizar, en este apéndice se describirán algunas formas de compilación que se

pueden utilizar cuando se maneja el entorno System Generator, las más importantes son:

HDL: Ésta es la compilación por defecto. En ella se generan los archivos HDL, NGC y

EDIF necesarios para implementar el modelo diseñado. Adicionalmente se crean otros ar-

chivos que simplifican este proceso. Todos los archivos creados se guardan en el directorio

que se indique en el bloque System Generator.

Bitstream: Esta compilación 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 compilación es la que se utiliza para crear el

modelo que se usa en la co-simulación hardware.

Page 170: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

154 APÉNDICE B. SYSTEM GENERATOR

Timing: En ocasiones el hardware creado por System Generator puede no cumplir con

los requisitos de tiempo. System Generator proporciona una herramienta que permite rea-

lizar un análisis temporal para resolver este tipo de conflictos. Mediante este análisis se

muestra el camino más lento de la parte hardware diseñada, así como aquellos que no cum-

plen con los requisitos temporales. Para realizar este tipo de análisis, System Generator

se basa en la herramienta Trace, que forma parte del paquete ISE de Xilinx, este tipo de

compilación se utilizó en el trabajo de tesis ya que no se podía realizar la co-simulación

porque no se contaba físicamente con los dispositivos.

La herramienta System Generator es importante para la realización de proyectos con

lógica reconfigurable ya que brinda de herramientas de alto nivel de abstracción que facilita

la implementación de diseños de la forma mas rápida, reduciendo costo y esfuerzo.

Page 171: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

Nomenclatura

ASIC Es un circuito integrado hecho a la medida para un uso en particular, en vez de ser

concebido para propósitos de uso general.

CD La corriente continua o corriente directa (CD en español, en inglés DC, de Direct

Current) es el flujo continuo de electrones a través 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 tecnología en que divisiones y multipli-

caciones son caras computacional o físicamente; como en los ejemplos presentados

anteriormente.

Cuadrotor Un cuadrotor es un helicóptero con cuatro rotores, el cual permite tener una

mayor estabilidad que un helicóptero normal

FPGA En Inglés Field Programmable Gate Arrays. Es un dispositivo semiconductor que

contiene bloques de lógica cuya interconexión y funcionalidad puede ser configura-

da mediante un lenguaje de descripción especializado.

IA Inteligencia Artificial

Look Up Table Look up table (del inglés tabla de consulta) es una estructura de datos,

normalmente un arreglo o un arreglo asociativo, que se usa para substituir una rutina

de computación con una simple indexación de los arreglos.

offset Offset significa que el controlador mantendrá la medida a un valor diferente del

valor de consigna

155

Page 172: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

156 APÉNDICE B. SYSTEM GENERATOR

PC Una computadora personal u ordenador personal, también conocida como PC (sigla

en inglés de Personal Computer).

PID Controlador que se compone de tres acciones: la acción Proporcional, Derivativa e

Integral.

SW Plataforma Software

Page 173: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

Bibliografía

Aguirre, I., Metodologías de diseño para computación reconfigurable, in XI Congreso Uni-

versitario de Innovación Educativa en las Enseñanzas Técnicas Vilanova, 2003.

Alejo-Gámez, ., Diseño 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 Nicolás de

Hidalgo, 2011.

Castillo, L. F. S., Diseño e implementación de un sistema de control digital para un motor

de dc con controlador pid, Tech. rep., Universidad de Guadalajara, 2009.

Cercós, J. N., Diseño de un controlador avanzado basado en redes neuronales para la ges-

tión de la mezcla aire-gasolina en un motor alternativo, Ph.D. thesis, Universitat Politèc-

nica de Catalunya, 2001.

Chan, Y. F., M. Moallem, and W. Wang, Design and implementation of modular fpga-based

pid controllers, Industrial Electronics, IEEE Transactions on, 54(4), 1898–1906, 2007.

Chen, W., H.-m. Yuan, and Y. Wang, Design and implementation of digital fuzzy-pid con-

troller based on fpga, in Industrial Electronics and Applications, 2009. ICIEA 2009. 4th

IEEE Conference on, pp. 393–397, IEEE, 2009.

Chojolán, S. E. T., Diseño de controladores pid en tiempo discreto y análisis de respuesta

utilizando herramientas computacionales, Ph.D. thesis, Universidad de San Carlos de

Guatemala, 2007.

157

Page 174: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

158 BIBLIOGRAFÍA

Coronel Lemus, M. E., Simulación de sistema difuso para el control de velocidad de un

motor c.d, pp. 25–34, 2004.

Economakos, G., and C. Economakos, A run-time reconfigurable fuzzy pid controller ba-

sed on modern fpga devices, in Control & Automation, 2007. MED’07. Mediterranean

Conference on, pp. 1–6, IEEE, 2007.

Farid, M., and M. Faruq, Pid controller design for dc motor using matlab application, Ph.D.

thesis, Universiti Malaysia Pahang, 2008.

Galán, R., A. Jiménez, F. Martía, and R. Sanz, Control inteligente, Inteligencia artificial:

Revista Iberoamericana de Inteligencia Artificial, 4(10), 43–48, 2000.

García, J. A. E., Modulador pwm en fpga para un inversor multinivel en cascada, Master’s

thesis, CENIDET, 2009.

Garrido, R., D. Calderon, and A. Soria, Adaptive fuzzy control of dc motors, in Internatio-

nal Power Electronics Congress, 10th IEEE, pp. 1–6, IEEE, 2006.

González, 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, Diseño e implementacion de un

controlador difuso basado en fpga., microsistemas y lógica difusa, pp. 71–81, 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), 192–198, 2007.

Islam, M. S., N. Amin, M. Zaman, and M. Bhuyan, Fuzzy based pid controller using vhdl

for transportation application, International Journal of Mathematical Models and Met-

hods in Applied Sciences, 2(2), 143–147, 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. 34–39, Citeseer, 2004.

Page 175: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

BIBLIOGRAFÍA 159

León Galarza, C. F., et al., Diseño e implementación del control pid de velocidad para un

motor dc utilizando la tarjeta fpga spartan 3e y labview para los laboratorios de la carrera

de ingeniería electrónica de la universidad politécnica salesiana, 2012.

Londoño, L. F. C., Diseño de un sistema para el control de posición de un motor dc basado

en fpga, 2011.

López, L. J., F. M. Zulay, and A. S. Pateti, Metodología de implementación de un con-

trolador pid difuso en una fpga, Universidad, Ciencia y Tecnología, 10(39), 130–133,

2006.

Martínez, M. A., J. Sanchis, and X. Blasco, Algoritmos genéticos aplicados al diseño de

controladores robustos, RIAII, 3(1), 39–51, 2010.

Méndez, J. T. P., and R. L. M. Morales, Inteligencia artificial: técnicas, métodos y aplica-

ciones, McGraw-Hill Interamericana de España, 2008.

Morata Palacios, F., Controlador fuzzy de un quadrotor, Ph.D. thesis, 2009.

Moreno, R., P. Aros, and J. Ribet, Diseño de un controlador pid difuso aplicado en un horno

rotatorio para producir carbón activado, in Memoria INGELECTRA 2006, Congreso es-

tudiantil de ingeniería eléctrica y electrónica. Universidad Austral de Chile, 2006.

Munárriz, 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. 1–6, IEEE, 2008.

Nicolás Nicolás, I., Técnicas de compresión de tablas de datos mediante regresiones linea-

les, redes neuronales y sistemas fuzzy, 2008.

Noriega del Castillo, M., Implementación de un sistema de control digital de la velocidad

de un motor dc utilizando redes inalámbricas, 2011.

Page 176: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

160 BIBLIOGRAFÍA

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), 2724–2740, 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., Ingeniería de control moderna, Pearson Educación, 2003.

Ortiz, F., and W. Y. Liu, Modelado y control pd-difuso en tiempo real para el sistema barra-

esfera, México, DF, 2004.

Pantoja-Laces, W. A., Controlador pid difuso implementado con lógica reconfigurable, in

Congreso Nacional de Ingeniería Eléctrica y Electrónica del Mayab (CONIEEM), Mar-

zo 2013.

Pantoja-Laces, W. A., Variable speed control based on multiplexing dc and stepper motors,

in 4ta Jornada Informática 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),

1–14, 2005.

Pérez, M. A., Introducción a los sistemas de control y modelo matemático para sistemas

lineales invariantes en el tiempo, 2008.

Rivas, J. R. R., Análisis y diseño de controladores basados en lógica difusa, 2005.

Rodríguez, F. O., and W. Y. Liu, Modelado y control pd-difuso em tiempo real para el

sistema barraesfera, Master’s thesis, Universidad de Mexico, 2004.

Page 177: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

BIBLIOGRAFÍA 161

Romero, L., Construccion de mapas y localización de robots móviles: un enfoque proba-

bilista, Master’s thesis, Instituto Tecnologico y de Estudios Superiores de Monterrey,

Campus Cuernavaca, 2001.

Sanchez, E. C. M., Controle por aprendizado acelerado e neuro-fuzzy de sistemas servo-

hidráulicos de alta frequência, Ph.D. thesis, Dissertaçao de Mestrado. Departamento de

Engenharia Elétrica. Rio de Janeiro: Pontifıcia Universidade Católica 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 applications–a review, IACSIT International Journal of Engineering and Technology,

1(5), 491–503, 2009.

Suárez., C. A. E., Diseño de un sistema de seguimiento de trayectorias para un robot móvil,

Master’s thesis, Universidad Michoaacana de San Nicolás de Hidalgo, 2006.

Toloza, E. R. M., Diseño 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.

341–344, IEEE, 2008.

Vallejo, M. L., and J. A. Rodrigo, Fpga: Nociones básicas e implementación, Laboratorio

de Diseño Microelectrónico, 4 Curso, P94, 2004.

Varela Rincón, J., and J. E. Loaiza Pulgarín, Reconocimiento de palabras aisladas mediante

redes neuronales sobre fpga, 2008.

Wang, L.-X., Adaptive fuzzy systems and control- design and stability analysis(book), En-

glewood Cliffs, NJ: PTR Prentice Hall, 1994., 1994.

Page 178: Universidad del Istmo Campus Tehuantepec - … · Ingeniero en Computación Título de la tesis: ... Recursos de arquitectura 3 implementada en Artix 7, ... Bibliotecas de Xilinx

162 BIBLIOGRAFÍA

Wang, L.-X., and J. M. Mendel, Fuzzy basis functions, universal approximation, and ort-

hogonal least-squares learning, Neural Networks, IEEE Transactions on, 3(5), 807–814,

1992.

Zurita-Bustamante, E. W., J. Linares-Flores, E. Guzmán-Ramírez, and H. Sira-Ramirez, A

comparison between the gpi and pid controllers for the stabilization of a dc–dc SbuckT

converter: A field programmable gate array implementation, Industrial Electronics, IEEE

Transactions on, 58(11), 5251–5262, 2011.