Final V1.pdf

download Final V1.pdf

of 84

Transcript of Final V1.pdf

  • IMPLEMENTACIN DE UN CONTROLADOR PID EN UN SISTEMA DE DESARROLLO FPGA

    LUIS DALMIRO TORRES GUARN

    UNIVERSIDAD SANTO TOMS FACULTAD DE INGENIERA MECATRNICA

    BUCARAMANGA 2011

  • IMPLEMENTACIN DE UN CONTROLADOR PID DE UN SISTEMA DE DESARROLLO FPGA

    LUIS DALMIRO TORRES GUARN

    DIRECTOR GIOVANNI FRANCISCO MANOTAS RODRGUEZ

    UNIVERSIDAD SANTO TOMS FACULTAD DE INGENIERA MECATRNICA

    BUCARAMANGA 2011

  • 3

    A Dios por iluminarme y guiarme firmemente durante mi proceso y por permitirme gozar de las alegras del xito.

    A mis padres, abuela, familia y a mi novia, por su cario, comprensin y apoyo incondicional, por sus palabras de fuerza en los momentos ms difciles, por sus consejos sabios que me permitieron seguir adelante y por tenderme la mano siempre que lo necesito, este tambin es su premio.

  • 4

    AGRADECIMIENTOS

    Quiero agradecer a:

    A la seora Minerva Cabarcas quien me obsequi mi FPGA para poder dar inicio a mi proyecto de grado.

    Al Ing. Francisco Manotas por su orientacin, consejos y paciencia en la direccin del proyecto.

    Al Ing. Hernando Gonzlez por su apoyo y valiosas orientaciones.

    Y a todas aquellas personas que de alguna manera contribuyeron en la realizacin de la investigacin, mis ms sinceros agradecimientos.

  • 5

    CONTENIDO

    I. RESUMEN........................................................................................................................... 12

    II. INTRODUCCIN ................................................................................................................. 13

    1. IMPLEMENTACIN DE UN CONTROLADOR PID EN UN SISTEMA DE DESARROLLO FPGA ........................................................................................................................................... 14

    1.1. DEFINICIN DEL PROBLEMA ..................................................................................... 14

    1.2. JUSTIFICACIN ........................................................................................................... 14

    1.3. OBJETIVOS ................................................................................................................. 15

    1.3.1. OBJETIVO GENERAL........................................................................................... 15

    1.3.2. OBJETIVOS ESPECFICOS.................................................................................. 15

    2. MARCO REFERENCIAL ...................................................................................................... 16

    2.1. REGULADOR PID ........................................................................................................ 16

    2.1.1. DEFINICIN ......................................................................................................... 16

    2.1.2. EFECTOS DE UN REGULADOR PID ................................................................... 17

    2.1.3. TCNICAS DE SINTONIZACIN .......................................................................... 17

    2.1.4. MTODO DE ZIEGLER-NICHOLS ........................................................................ 18

    2.2. DESCRIPCIN DE HARDWARE VHDL ........................................................................ 19

    2.3. FPGA............................................................................................................................ 20

    2.3.1 CIRCUITO DE CAPTURA ANALGICA ................................................................ 22

    2.3.2. SALIDAS DIGITALES DE ENTRADAS ANALGICAS .......................................... 22

    2.3.3. PRE-AMPLIFICADOR PROGRAMABLE .............................................................. 23

    2.3.4. CONVERTIDOR ANLOGO A DIGITAL (ADC) .................................................... 25

    2.3.5. CONVERSOR DE DIGITAL A ANALGICO (DAC) ............................................... 27

    2.3.6. MDULO INTERFAZ SPI ..................................................................................... 31

    2.3.7. IMPLEMENTACIN DEL CONTROLADOR PID EN FPGA ................................... 32

    2.3.8. DISEO EN PARALELO ....................................................................................... 34

    2.3.9. DISEO EN SERIE ............................................................................................... 34

    3. DISEO METODOLGICO ................................................................................................. 36

  • 6

    3.1. ADQUISICION VARIABLES DEL PROCESO ................................................................ 36

    3.2. SINTONIZACIN DE LA PLANTA ................................................................................ 36

    3.3. IMPLEMENTACIN DE MDULOS DE ADQUISICIN Y CAPTURA DE DATOS ........ 37

    3.4. IMPLEMENTACIN DEL REGULADOR PID ................................................................ 37

    4. IMPLEMENTACIN DEL SISTEMA ..................................................................................... 38

    4.1. ORGANIZACIN DE LA PLATAFORMA ....................................................................... 38

    4.2. MDULO ALGORITMO DE CONTROL ........................................................................ 41

    4.3. CIRCUITO DE ACOPLAMIENTO .................................................................................. 44

    4.3.1 CIRCUITO DE ACONDICIONAMIENTO PARA LA ELECTROVLVULA ..................... 44

    4.3.2 CIRCUITO DE ACONDICIONAMIENTO PARA EL POTENCIMETRO LINEAL ......... 44

    4.4. IMPLEMENTACIN DE MDULO DE ADQUISICIN DE DATOS EN VHDL ............... 45

    4.4.1. MDULO DE CIRCUITO DE CAPTURA ANALGICA .......................................... 46

    4.4.2. MDULO DAC ...................................................................................................... 52

    4.4.3. ACOPLAMIENTO DE LOS MDULOS................................................................. 53

    4.5. IMPLEMENTACIN DEL REGULADOR PID EN VHDL ................................................ 55

    4.5.1. DESCRIPCIN DE LA HERRAMIENTA DE DISEO SYSTEM GENERATOR DE XILINX ............................................................................................................................. 55

    4.5.2. INTEGRACIN DE LA APLICACIN SYSTEM GENERATOR EN EL DISEO DE VHDL DE JERARQUIA SUPERIOR ..................................................................................... 58

    4.5.3. SISTEMA IMPLEMENTADO ................................................................................ 60

    5. VALIDACION DE RESULTADOS......................................................................................... 61

    6. CONCLUSIONES ................................................................................................................ 68

    7. BIBLIOGRAFA .................................................................................................................... 69

  • 7

    LISTA DE TABLAS

    Tabla 1. Mtodo de ajuste propuesto por Ziegler-Nichols.............................................................. 18

    Tabla 2. Seales de interface del amplificador ............................................................................. 24

    Tabla 3. Configuracin de la ganancia programable del pre-amplificador ...................................... 24

    Tabla 4. Seal de interface del ADC ............................................................................................ 25

    Tabla 5. Seal interface DAC ....................................................................................................... 28

    Tabla 6. Calculo Ziegler-Nichols ................................................................................................... 43

    Tabla 7. Posicin del actuador registrada por el sensor ................................................................ 66

  • 8

    LISTA DE FIGURAS

    Figura 1. Diagrama PID .............................................................................................................. 16

    Figura 2. Circuito de captura analgica asociado al pin J22 ........................................................ 22

    Figura 3. Vista detallada del circuito de captura analgica ............................................................ 23

    Figura 4. Diagrama de tiempos para comunicarse con el amplificador .......................................... 25

    Figura 5. Interfaz de conversin de analgico a digital .................................................................. 26

    Figura 6. Detalle de diagrama de tiempos del ADC ....................................................................... 27

    Figura 7. Conversor digital analgico asociado al Pin J21 ............................................................. 28

    Figura 8. Vista detallada del conversor digital analgico ............................................................... 29

    Figura 9. Protocolo de comunicacin SPI para el DAC LTC 2624 ................................................. 30

    Figura 10. Comunicacin va SPI ................................................................................................ 31

    Figura 11 Diseo en paralelo del algoritmo PID ............................................................................ 34

    Figura 12.Diseo en serie del algoritmo PID ................................................................................. 35

    Figura 13 Diagrama de bloques diseo metodolgico ................................................................... 36

    Figura 14. Mdulos principales en la plataforma ........................................................................... 38

    Figura 15. Dispositivos manejados por el mduloInterfaz_SPI ...................................................... 39

    Figura 16. Comportamiento de control .......................................................................................... 40

    Figura 17. Actuador lineal ............................................................................................................. 41

    Figura 18. Sistema de medicin de recorrido ................................................................................ 41

    Figura 19. Electrovlvula posicionadora ....................................................................................... 42

    Figura 20. Regulador PID ............................................................................................................. 42

    Figura 21. Procedimiento de parametrizacin de un regulador ...................................................... 43

    Figura 22. Circuito de acondicionamiento para elelectro-vlvula .................................................. 44

    Figura 23. Circuito de acondicionamiento para el potencimetro lineal ......................................... 45

    Figura 24. Seal de reloj de la FPGA hacia los mdulos .............................................................. 46

    Figura 25. Mquina de estados del amplificador ........................................................................... 47

    Figura 26. Seccin de diagrama de tiempos de la simulacin del amplificador .............................. 48

    Figura 27. Simulacin del mdulo LTC_6912................................................................................ 49

  • 9

    Figura 28. Mquina de estados del conversor anlogo a digital .................................................... 50

    Figura 29. Seccin de diagrama de tiempos de la simulacin del ADC ......................................... 51

    Figura 30. Simulacin del mdulo implementado LTC 1407 ......................................................... 51

    Figura 31. Seccin de diagrama de tiempos de la simulacin del DAC ........................................ 52

    Figura 32. Simulacin del mdulo implementado LTC 2624. ......................................................... 53

    Figura 33. Esquemtico del mdulo de captura ............................................................................ 54

    Figura 34. Mquina de estado del acoplamiento de los mdulos. .................................................. 55

    Figura 35. Implementacin del PID en System Generator. ............................................................ 56

    Figura 36.Bloques de System Generator ...................................................................................... 56

    Figura 37.InterfazSimulink System Generator ............................................................................ 57

    Figura 38. Permetro de la FPGA ................................................................................................. 57

    Figura 39. Interfaz de Implementacin. ......................................................................................... 58

    Figura 40. Simulacin del sistema en simulink. ............................................................................. 59

    Figura 41. Esquemtico de jerarqua superior............................................................................... 59

    Figura 42. Vista detallada del PID................................................................................................. 60

    Figura 43. Diagrama del Sistema Implementado.......................................................................... 60

    Figura 44. Diagrama de Validacin de Resultados ........................................................................ 61

    Figura 45. Banco Neumtico. ....................................................................................................... 62

    Figura 46. Implementacin PID en configuracin Proporcional ..................................................... 62

    Figura 47. Grafica de la Accin de control y la respuesta del sistema .......................................... 63

    Figura 48. Representacin PID..................................................................................................... 64

    Figura 49. Diagrama del Sistema de control Implementado .......................................................... 64

    Figura 50. Posiciones intermedias del actuador ........................................................................... 65

    Figura 51 Respuesta del sistema del PID implementado .............................................................. 66

    Fuente: Autor. .............................................................................................................................. 66

    Figura 52. Accin de control del PID implementado ...................................................................... 67

  • 10

    LISTA DE ANEXOS

    ANEXO 1 : HOJA DE DATOS ...................................................................................................... 71

    ANEXO 2: CIRCUITOS ESQUEMATICO...................................................................................... 84

    ANEXO 3: CODIGO EN VHDL ..................................................................................................... 84

  • 11

    GLOSARIO

    ADC Conversor Anlogo Digital. ASIC Circuitos Integrados para Aplicaciones Especficas. ASK Modulacin por Desplazamiento de Amplitud. BPSK Modulacin por Desplazamiento de Fase Binaria. CAD: Diseo Asistido por computadora u Ordenador. CAE Ingeniera Asistida por computadora u Ordenador. CDMA Acceso Mltiple por Divisin de Cdigo. CLB Bloque Lgico Programable. CMOS Estructuras Semiconductor-xido-Metal Complementarias. CORE Ncleo. BlockSet Conjunto de bloques. CPLD Dispositivo Lgico Programable Complejo. DAC Conversor Digital Anlogo. DRAM Memoria de Acceso Aleatorio Dinmico. DSP Procesamiento Digital de Seales. EDA Automatizacin de Diseo Electrnico. EEPROM Memoria de solo Lectura Programable y Borrable Elctricamente. EPROM Memoria de solo Lectura Programable y Borrable. Flip-Flop Circuito oscilador de onda cuadrada, capaz de permanecer en un

    estado determinado o en el contrario durante un tiempo indefinido. FPGA Matriz de puertas programables. FSK Modulacin por Desplazamiento de Frecuencia. HDL Lenguaje de Descripcin de Hardware. IDE Ambiente de diseo Integrado. XSG Xilinx SystemGenerator. IEEE Instituto de Ingenieros Elctricos y Electrnicos. ISO Organizacin Internacional para la Estandarizacin. ISO 14443 Estndar internacional relacionado con las tarjetas de identificacin

    electrnicas, en especial las tarjetas inteligentes. XV LUT Tabla de Consulta. PLD Dispositivo Lgico Programable. PROM Memoria de slo Lectura Programable. RAM Memoria de Acceso Aleatorio. ROM Memoria de solo Lectura. RTL Nivel de la Transferencia de Registro. SRAM Memoria Esttica de acceso Aleatorio. VERILOG Lenguaje de Descripcin de Hardware. VHDL Lenguaje textual de alto nivel que se utiliza para la descripcin del

    hardware de los sistemas digitales.

  • 12

    I. RESUMEN

    El presente trabajo considera la implementacin de acciones de control PID como estrategias fundamentales al momento de manipular sistemas servos neumticos desarrollado desde una perspectiva de implementacin con un Lenguaje de Descripcin de Hardware (VHDL), utilizando dispositivos lgicos programables (FPGA) como plataforma de desarrollo. Para la sintonizacin del sistema servo neumtico se utiliza el mtodo de Ziegler-Nichols, con el cual se obtiene la ecuacin de diferencia del controlador PID en bucle cerrado (algoritmo de control), permitiendo su implementacin en la tarjeta Spartan 3AN Starter Kit. Dicha tarjeta contiene una FPGA Spartan 3AN de Xilinx y adems, incluye un DAC, un ADC, LCD y diversos perifricos de entrada/salida. Se desarrollaron, en VHDL, los mdulos necesarios para el manejo de los distintos dispositivos y perifricos de entrada/salida necesitados en la implementacin, as como el algoritmo de control evaluado. Se presentan resultados experimentales de las pruebas realizadas con la plataforma de desarrollo en conjunto con un sistema servo neumtico marca festo. El diseo presentado se basa en la filosofa hardware and software co-desing, mostrando una alta flexibilidad para las mejoras futuras, el hardware requerido se disea en forma modular de tal manera que los programas se pueden aplicar con un pequeo ajuste en cualquier tipo de implementacin que los necesite.

  • 13

    II. INTRODUCCIN

    El uso de sistemas embebidos (FPGAs) para la implementacin de sistemas de control cada vez es ms demandante, por su velocidad de procesamiento y flexibilidad. Esta evolucin viene facilitada por varios factores: la disminucin en los costos de la tecnologa, la mayor capacidad de integracin y, en el caso que directamente afecta a los diseadores, es la aparicin de nuevas herramientas de diseo y desarrollo. Por un lado estn los microcontroladores y sus utilidades de simulacin y creacin, que permiten controlar dispositivos mediante software; por otro lado estn los dispositivos de hardware programables, tales como CPLDs o FPGAs, que permiten la creacin de circuitos integrados a pequea escala de produccin con costos muy bajos. En un mismo diseo, a menudo se combinan micro controladores y dispositivos programables. Los primeros se utilizan para crear aplicaciones de propsito general mediante software; los segundos, para disear controladores especficos va hardware. En el mercado se ofertan diferentes tarjetas de desarrollo, las cuales incluyen una diversidad de perifricos para aumentar su versatilidad. Un ejemplo es la tarjeta Spartan 3 AN Starter Kit, manufacturada y distribuida por Digilent Inc. [16] Esta tarjeta es una alternativa econmica ($ 199.00 USD) para el diseo y evaluacin de sistemas de control, principalmente por la inclusin del DAC y ADC. Sus caractersticas principales son [2]: Motivados por el inters prctico de desarrollar sistemas empotrados que permitan la implementacin de algoritmos de control para sistemas fsicos reales a bajo costo, en ste trabajo se presenta el desarrollo de los mdulos necesarios para la tarjeta anteriormente descrita. Este documento est estructurado de la siguiente manera: en el captulo I se describe la definicin del problema, la justificacin y los objetivos; en el captulo II se expone el marco referencial con los temas que abarca el proyecto; en el captulo III se presenta el diseo metodolgico a seguir; en el captulo IV se muestra la implementacin del sistema, iniciando con la organizacin de la plataforma, seguida de la descripcin del modulo algoritmo de control, el circuito de acoplamiento, la implementacin de los mdulos de adquisicin de datos en VHDL y finalizando este captulo con la implementacin del regulador PID en VHDL; el capitulo V se enfoca en la validacin de los resultados obtenidos por la implementacin y finalmente en el captulo VI se presentan las conclusiones y recomendaciones. __________________________ 16 Digilent INC. Digital Design Engineers Source http://www.digilentinc.com 2 Spartan-3AN Starter Kit Board User Guide, Xilinx Inc., (v1.1) Junio 19, 2008

  • 14

    1. IMPLEMENTACIN DE UN CONTROLADOR PID EN UN SISTEMA DE DESARROLLO FPGA

    1.1. DEFINICIN DEL PROBLEMA Los controladores PID se han convertido hoy en da en una herramienta fundamental para regular procesos complejos o sistemas de alta tecnologa. Sin embargo, en la industria no son utilizados convenientemente debido al ajuste inadecuado de sus parmetros ya que son sintonizados manualmente sin la realizacin de un estudio previo de las caractersticas del proceso a controlar. [1] El proyecto busca dar respuesta a la siguiente pregunta:

    Qu limitaciones y ventajas se presentan cuando se implementa un controlador en un sistema de desarrollo FPGA?

    1.2. JUSTIFICACIN

    La necesidad de conseguir un comportamiento ptimo de los sistemas dinmicos, las restricciones respecto a la precisin, la complejidad y el costo en las aplicaciones, convierte a la ingeniera de control moderna en el tema principal de muchos trabajos de investigacin. Por ejemplo, el control automtico es esencial en el control numrico de las maquinas-herramientas de las industrias de manufactura, en el diseo de sistemas de pilotos automticos en la industria aeroespacial, y en el diseo de automviles y camiones en la industria automotriz. Tambin es esencial en operaciones industriales como el control de presin, temperatura, humedad, viscosidad y flujo. [3]

    El presente trabajo propone una implementacin desde una perspectiva de codificacin VHDL (lenguaje de descripcin de hardware), utilizando dispositivos lgicos programables (FPGAs) como plataforma de desarrollo y apoyo didctico. Dando a conocer las ventajas de las FPGAs y del diseo electrnico basado en VHDL. __________________________

    1 ALAMO, Teodoro C. Diseo de un Controlador PID. Universidad de Sevilla. Departamento de Ingenieras de Sistemas y Automtica.[pg. 5, 6]

    3 KATSUHIKOOgata. Ingeniera de control Moderna. Editorial Pearson Education. Tercera Edicin. 1995

  • 15

    1.3. OBJETIVOS

    1.3.1. OBJETIVO GENERAL

    Implementar y analizar el desempeo de un controlador PID, implementado en una FPGA. 1.3.2. OBJETIVOS ESPECFICOS

    Disear un regulador PID, para un sistema servo neumtico utilizando los componentes didcticos marca FESTO.

    Describir en hardware una arquitectura para el regulador PID que se ha obtenido, e implementarlo a un sistema FPGA.

    Configurar una FPGA Spartan 3AN con la descripcin de hardware ya obtenida.

  • 16

    2. MARCO REFERENCIAL

    2.1. REGULADOR PID

    2.1.1. DEFINICIN

    Surge como consecuencia de la combinacin de tres acciones bsicas de control, accin proporcional, integral y derivativa. Como se observa en la figura 1. Un regulador PID est formado por la conexin en paralelo de un regulador proporcional, un regulador integral y un regulador derivativo. Combina las ventajas de los tres tipos de reguladores, produciendo un regulador que es capaz tanto de reaccionar rpidamente como de eliminar las desviaciones del sistema.

    Figura 1. Diagrama PID

    Fuente. Control Adaptativo y Robusto El regulador PID est caracterizado por la ecuacin 1 y su estructura es lo suficientemente flexible para utilizarlo en diferentes aplicaciones. [4]

    {

    } Ecuacin 1

    ___________________________ 4 TACCONI, Eugenio. MANTZ, Ricardo. SALSONA, Jorge. PULESTON, Pablo. Controladores

    Basados en Estrategias PID. Facultad de Ingenieras, UNLP. [pg.3, 4]

    P

    I

    D

    e u

  • 17

    2.1.2. EFECTOS DE UN REGULADOR PID

    El controlador PID ideal, genera una seal de comando U(t) compuesta por tres trminos aditivos que, como su nombre lo indica son proporcionales a la seal de error, a su integral y a su derivada. Donde las constantes Kp, Ti y Tdson conocidas normalmente con los nombres de ganancia proporcional, tiempo integral y tiempo derivativo respectivamente.

    Si Td=0 o Ti=, los controladores que resultan pueden vincularse conceptualmente a otros muy conocidos. Efectivamente, si se anula el valor de Td, el controlador se transforma en un controlador PI. El cual puede ser interpretado como un compensador por atraso de fase con el polo ubicado en el origen y el cero en 1/Ti.

    Si en cambio, se hace tender a infinito el valor de Ti, el controlador PID (ideal) se transforma en un controlador PD (ideal). Tal controlador posee un cero en el semiplano izquierdo a la pulsacin angular 1/Td, que desplaza hacia la izquierda el diagrama del lugar geomtrico de las races del sistema de lazo cerrado ejerciendo una accin estabilizadora. Si Ti >>Td puede verificarse que el controlador PID resultante posee un polo y dos ceros reales. En tales condiciones el compensador puede ser interpretado como un compensador por adelanto y atraso de fase, en el cual el polo de baja frecuencia se ha desplazado al origen y el de alta frecuencia al infinito.

    Es necesario destacar que la funcin de transferencia ideal de un PID, no es sintetizable por poseer mayor nmero de ceros que de polos. Sin embargo es en general posible sintetizar una funcin de transferencia que se aproxime al ideal en la banda de frecuencias de inters. [4]

    2.1.3. TCNICAS DE SINTONIZACIN

    Consiste en la determinacin del ajuste de sus parmetros para lograr un comportamiento del sistema de control, aceptable y robusto de conformidad con algn criterio de desempeo establecido. Para poder realizar la sintonizacin de los controladores, primero se debe identificar la dinmica del proceso, y a partir de sta, determinar los parmetros del controlador utilizando alguno de los mtodos que nombraremos a continuacin: ___________________________ 4 TACCONI, Eugenio. MANTZ, Ricardo. SALSONA, Jorge. PULESTON, Pablo. Controladores

    Basados en Estrategias PID. Facultad de Ingenieras, UNLP. [pg.3, 4]

  • 18

    2.1.4. MTODO DE ZIEGLER-NICHOLS

    Una manera simple de determinar los parmetros de un regulador PID basada en los datos de respuesta en escaln fue desarrollada por Ziegler y Nichols y publicada en 1942. La regla fue desarrollada a partir de simulaciones empricas de muchos sistemas diferentes. La regla tiene el inconveniente de que se obtienen sistemas en bucle cerrado que estn pobremente amortiguados. Una regla simple para escoger los parmetros de los reguladores PID esta idealmente emparejada a la determinacin de Ku y Tu por el mtodo de rel. Los valores del controlador estn dados en la tabla adjunta. Estos parmetros dan un sistema en bucle cerrado con amortiguamiento bajo. Sistemas con mejor amortiguamiento pueden obtenerse por ligeras modificaciones de los valores de la tabla 1. [3]

    Tabla 1. Mtodo de ajuste propuesto por Ziegler-Nichols

    Controlador Kc Ti Td

    P 0.5 Ku ----- -----

    PI 0.4 Ku 0.8 Tu -----

    PID 0.6 Ku 0.5 Tu 0.12 Tu

    Fuente. Control Adaptativo y Robusto El procedimiento para sintonizar una planta a partir de Ziegler-Nichols es el siguiente:

    En primera instancia, se realiza el ajuste de la ganancia variable, hasta observar oscilaciones sostenidas a la salida de la planta.

    En segundo lugar, se toma el valor de la ganancia variable el cual corresponde a la constante crtica Ku de la tabla 1.

    Finalmente se mide la duracin del periodo de oscilacin Tu. Este ajuste crtico de la regulacin se designa como KPcrit. Tambin se mide la duracin peridica Tcrit de la oscilacin. ___________________________ 3 KATSUHIKO Ogata. Ingeniera de control Moderna. Editorial Pearson

    Education. Tercera Edicin. 1995

  • 19

    2.2. DESCRIPCIN DE HARDWARE VHDL El lenguaje VHDL fue creado con el propsito de especificar y documentar circuitos y sistemas digitales utilizando un lenguaje formal. En la prctica se ha convertido, en un gran nmero de entornos de CAD, en el HDL de referencia para realizar modelos sintetizables automticamente, en 1987 se convierte en la norma IEEE-1076. Sus principales caractersticas son:

    Descripcin textual normalizada

    VHDL es un lenguaje de descripcin que especifica los circuitos electrnicos en un formato adecuado para ser interpretado tanto por mquinas como por personas. Se trata adems de un lenguaje formal, es decir, no resulta ambiguo a la hora de expresar el comportamiento o representar la estructura de un circuito. Como ya se ha dicho existe un nico modelo para el lenguaje, cuya utilizacin est abierta a cualquier grupo que quiera desarrollar herramientas basadas en dicho modelo, garantizando su compatibilidad con cualquier otra herramienta que respete las indicaciones especficas en la norma oficial.

    Amplio rango de capacidad descriptiva

    El lenguaje VHDL posibilita la descripcin del hardware con distintos niveles de abstraccin, pudiendo adaptarse a distintos propsitos y utilizarse en las sucesivas fases que se dan en el desarrollo de los diseos. Adems es un lenguaje adaptable a distintas metodologas de diseo y es independiente de la tecnologa, lo que permite, en el primer caso, cubrir el tipo de necesidades de los distintos gneros instituciones, compaas y organizaciones relacionadas con el mundo de la electrnica digital; y, en el segundo, facilita la actualizacin y adaptacin de los diseos a los avances de la tecnologa en cada momento.

    Otras ventajas

    Adems de las ventajas ya reseadas tambin es destacable la capacidad del lenguaje para el manejo de proyectos de grandes dimensiones, las garantas que comporta su uso cuando, durante el ciclo de mantenimiento del proyecto, hay que sustituir componentes o realizar modificaciones en los circuitos, y el hecho de que, para muchas organizaciones contratantes, sea parte indispensable de la documentacin de los sistemas. [6]

    _______________________________ 6 FREIRE, Miguel ngel Rubio. Introduccin al lenguaje VHDL. Universidad Politcnica de

    Madrid. Departamento de Sistemas Electrnicos y de Control [pg. 5]

  • 20

    2.3. FPGA Las FPGA son el resultado de la convergencia de dos tecnologas diferentes, los dispositivos lgicos programables (PLDs[ProgrammableLogicDevices]) y los circuitos integrados de aplicacin especfica (ASIC[application-specificintegratedcircut]). El paso final era combinar las dos estrategias con un mecanismo de interconexin que pudiese programarse utilizando fusibles, anti fusibles o celdas RAM, como los innovadores dispositivos de Xilinx de mediados de los 80s. Los circuitos resultantes son similares en capacidad y aplicaciones a los PLDs ms grandes, aunque hay diferencias puntuales que delatan antepasados diferentes. Adems de una computacin reconfigurable, las FPGAs se utilizan en controladores, codificadores/decodificadores y en el prototipo de circuitos VLSI y microprocesadores a medida. El primer fabricante de estos dispositivos fue Xilinx y se mantienen como uno de los ms populares en compaas y grupos de investigacin. Otros vendedores en este mercado son Atmel, Altera, AMD y Motorola.

    Una jerarqua de interconexiones programables permite a los bloques lgicos de una FPGA ser interconectados segn la necesidad del diseador del sistema, algo parecido a un breadboardprogramable. Estos bloques lgicos e interconexiones pueden ser programados despus del proceso de manufactura por el usuario/diseador, as que la FPGA puede desempear cualquier funcin lgica necesaria. Muchas FPGA modernas soportan la reconfiguracin parcial del sistema, permitiendo que una parte del diseo sea reprogramada, mientras las dems partes siguen funcionando. Este es el principio de la idea de la (computacin reconfigurable), o los (sistemas reconfigurables).

    La tarea del programador es definir la funcin lgica que realizara cada uno de los CBL, seleccionar el modo de trabajo de cada IOB e interconectarlos. El diseador cuenta con la ayuda de entornos de desarrollo especializados en el diseo de sistemas a implementar en una FPGA. Un diseo puede ser capturado ya sea como esquemtico, o haciendo uso del leguaje HDL o Hardware DescriptionLanguage los HDLs ms utilizados son: VHDL, Verilog, ABEL.

    Cualquier circuito de aplicacin especfica puede ser implementado en una FPGA, siempre y cuando disponga de los recursos necesarios. Las aplicaciones ms comunes incluyen a los DSP (procesamiento digital de seales), radio definido por software, sistemas areo espaciales y de defensa, prototipos ASICs, sistemas de imgenes para medicina, sistemas de visin para computadoras, reconocimiento de voz, bioinformtica, emulacin de hardware de computadora, entre otras. Cabe notar que su uso en otras areas es cada vez mayor, sobre todo en aquellas aplicaciones que requieren un alto grado de paralelismo.

  • 21

    Las FPGAs tambin se pueden diferenciar por utilizar diferentes tecnologas de memoria:

    Voltiles: Basadas en RAM. Su programacin se pierde al quitar su alimentacin. Requieren una memoria externa no voltil para configurarlas al arrancar (antes o durante el reset).

    No Voltiles: Basadas en ROM. Hay dos tipos, la reprogramables y las no reprogramables.

    1. Reprogramables: Basadas en EPROM o flash. Estas se pueden borrar y volver a reprogramar aunque con un lmite de unos 10.000 ciclos.

    2. No Reprogramables: Basadas en fusibles. Solo se pueden programar una vez lo que las hace pocos recomendables para trabajos en laboratorios. [6]

    Caractersticas de la Spartan 3AN.

    FPGA XC3S700AN,Familia Spartan 3AN de Xilinx

    Memoria Flash 4Mbit para configuracin

    DDR2 RAM de 32M x 16

    Memoria Flash 32Mbit

    Memoria Flash 2-16 Mbit Acceso serial, Via SPI

    Pantalla LCD de 16 caracteres por 2 lneas

    Convertidor Digital Analgico SPI de cuatro salidas (DAC), con resolucin de 12 bits.

    Convertidor Analgico Digital SPI de dos entradas (ADC), con resolucin de 14 bits, y pre amplificador con ganancia programable.

    Botn Rotatorio

    Puerto PS/2 Mouse/Teclado

    Conector VGA

    Capa fsica Ethernet 10/100.

    Dos puertos RS 232 de 9 terminales. Interfaz USB para descarga y depuracin

    Ocho LEDs de salida individuales

    Cuatro interruptores de control deslizante

    Cuatro interruptores de pulsador

    Mini Jack estreo para audio Veinte pines de entrada/salida

    Una FX2 de cien pines y dos conectores de seis pines de expansin

    _______________________________ 6 FREIRE, Miguel ngel Rubio. Introduccin al lenguaje VHDL. Universidad Politcnica de

    Madrid. Departamento de Sistemas Electrnicos y de Control [pg. 5]

  • 22

    2.3.1 CIRCUITO DE CAPTURA ANALGICA

    La FPGA Spartan-3AN Starter Kit board incluye dos canales para el circuito de captura analgica, el cual consiste en un pre-amplificador programable y un conversor anlogo a digital (ADC), como se muestra en la figura 2 y 3. El circuito de captura analgica se compone de un pre-amplificador programable de Linear Technology LTC6912-1 que escala la seal de entrada analgica conectada al pin J22. La salida del pre-amplificador se conecta al Linear Technology LTC1407A-1 ADC. Tanto el pre-amplificador y el ADC estn en serie programada o controlada por la FPGA. Figura 2. Circuito de captura analgica asociado al pin J22

    Fuente. Spartan -3A /3AN FPGA Starter Kit Board User Guide.

    2.3.2. SALIDAS DIGITALES DE ENTRADAS ANALGICAS

    El circuito de captura analgica convierte la seal analgica en VINA o VINB y lo convierte a una representacin digital de 14bits, D [13:0], segn lo expresado en la ecuacin2:

    8192*25.1

    65.1*]0:13[

    V

    VVGAIND IN

    Ecuacin 2

    La ganancia es el valor programado en el pre-amplificador, estos valores son aplicados a las entradas de VINA y VINB.

  • 23

    La tensin de referencia para el amplificador y el ADC es 1.65V, generados a travs de un divisor de voltaje, el alcance mximo del ADC es de 1.25V, en

    torno a la tensin de referencia, 1.65V. Figura 3. Vista detallada del circuito de captura analgica

    Fuente. Spartan -3A /3AN FPGA Starter Kit Board User Guide.

    2.3.3. PRE-AMPLIFICADOR PROGRAMABLE

    El LTC6912-1 dispone de dos amplificadores independientes, que invierten la ganancia programable. El propsito del amplificador es la escala de voltaje de entrada en VINA o VINB para maximizar el rango de conversin del DAC, es decir 1.65V 1.25V.

    Cada canal analgico tiene un amplificador de ganancia programable asociada a la seal analgica de entrada presente en VINA o VINB en el pin J7. La referencia de 1.65V se genera con un divisor de tensin de 3.3V del voltaje de alimentacin.

  • 24

    Tabla 2. Seales de interface del amplificador

    Seal Pin FPGA Direccin Descripcin

    SPI_MOSI AB14

    FPGA AMP

    Transmisin en serie; Salida de datos al Maestro; y Entrada de datos a los Esclavos, Presenta ganancia programable con configuracin de ocho bits.

    AMP_CS W6 FPGA AMP El chip se activa en Bajo; La ganancia del amplificador se establece cuando la seal es Alto.

    SPI_SCK AA20 FPGA AMP Reloj

    AMP_SHDN W15 FPGA AMP El Reset es en Alto

    AMP_DOUT T7

    FPGA AMP

    Transmisin en Serie; La ganancia del amplificador puede tomar su anterior configuracin; Puede ser ignorado en la mayora de las aplicaciones

    Fuente. Spartan -3A /3AN FPGA Starter Kit Board User Guide. La ganancia de cada amplificador es programable de -1 a -100. Despus de que los dispositivos en el bus SPI son desactivados, para que el preamplificador se active a la seal AMP_CS se le asigna el valor lgico 0. El flanco de subida de la seal de SCK es usado para transmitir una palabra de 8 bits, los 4 bits ms significativos se refieren al canal B y los menos significativos se refieren al canal A.En la tabla 3 Se muestra el valor de ganancia y el rango de voltaje de entrada adecuado segn los bits enviados. Tabla 3. Configuracin de la ganancia programable del pre-amplificador

    Ganancia A3 A2 A1 A0 Rango Entrada Voltaje

    B3 B2 B1 B0 Mnimo Mximo

    0 0 0 0 0

    -1 0 0 0 1 0.4 2.9

    -2 0 0 1 0 1.025 2.275

    -5 0 0 1 1 1.4 1.9

    -10 0 1 0 0 1.525 1.775

    -20 0 1 0 1 1.5875 1.7125

    -50 0 1 1 0 1.625 1.675

    -100 0 1 1 1 1.6375 1.6625

    Fuente. Spartan -3A /3AN FPGA Starter Kit Board User Guide. La ganancia para cada amplificador es enviada como una palabra de comando de ocho bits, que consta de dos campos de cuatro bits. El bit ms significativo, B3 es enviado de primero. La salida AMP_DOUT del amplificador son los ecos de la configuracin anterior de la ganancia. Estos valores pueden ser ignorados para la mayora de las aplicaciones.

  • 25

    Figura 4. Diagrama de tiempos para comunicarse con el amplificador

    Fuente. Spartan -3A /3AN FPGA Starter Kit Board User Guide. La transaccin del bus SPI se inicia cuando la FPGA el AMP_CS se afirma en bajo (ver figura 4). La captura de datos en serie en SPI_MOSI se realiza con un flanco ascendente de la seal de reloj SPI_SCK. El amplificador presenta los datos en serie en AMP_DOUT en el flanco de bajada de SPI_SCK.[9]

    2.3.4. CONVERTIDOR ANLOGO A DIGITAL (ADC) El LTC1407 proporciona dos ADC, las dos entradas analgicas son muestreadas simultneamente cuando la seal ADC_CONV es aplicada. La seal SPI_SCK es compartida con otros dispositivos en el bus SPI, la seal ADC_CONV activo- alta. Tabla 4. Seal de interface del ADC

    SEAL PIN FPGA DIRECCIN DESCRIPCIN

    SPI_SCK AA20 FPGA ADC Clock

    AD_CONV Y6 FPGA ADC Activo-Alto, Inicia proceso de conversin

    ADC_OUT D16

    FPGA ADC

    Datos en serie. Presenta la representacin digital de las muestras analgicas en dos valores de 14-bit en valores binarios

    Fuente. Spartan -3A /3AN FPGA Starter Kit Board User Guide. _______________________ 9 LTC6912 Dual Programmable Gain Amplifiers with Serial Digital Interface

    http://cds.linear.com/docs/Datasheet/6912fa.pdf

  • 26

    Cuando la seal AD_CONV alcanza un alto, el ADC al mismo tiempo muestras los canales analgicos. Los resultados de esta conversin solo se presentarn hasta la prxima vez que AD_CONV alcance un alto, La frecuencia de muestreo mxima es aproximadamente de 1.5 MHZ. El ADC presenta la representacin digital de los valores analgicos en dos muestras de 14bit en su valor binario.

    Figura 5. Interfaz de conversin de analgico a digital

    Fuente. Spartan -3A /3AN FPGA Starter Kit Board User Guide. En el ADC el protocolo de comunicacin SPI comienza cuando la seal AD_CONV tiene un valor lgico de 1. El flanco de bajada de la seal SCK es usada para leer 34 bits que consisten en 2 bits sin importancia en la secuencia, 14 bits de datos de canal A del ADC, 2 bits sin importancia en la secuencia, 14 bits de datos del canal B del ADC, y 2 bits ms sin importancia en la secuencia. El bit ms significativo de los 14 bits del ADC es enviado primero. Este esquema de conversin del ADC se observa en la Figura 5 y su diagrama de tiempo en la figura 6. La seal AD_CONV no es tradicionalmente un esclavo SPI seleccione activar. Asegrese de proporcionar los suficientes ciclos de reloj SPI_SCK para que el ADC deje en estado de alta impedancia la seal ADC_OUT. Use 34 ciclos de reloj para la secuencia de comunicacin. En el ADC use dos ciclos de reloj antes y despus de cada transferencia de datos de 14bit.[10] _________________________ 10 LTC1407A-1 Serial 14-bit Simultaneous Sampling ADCs with Shutdown

    http://cds.linear.com/docs/Datasheet/14071fb.pdf

  • 27

    Figura 6. Detalle de diagrama de tiempos del ADC

    Fuente. Spartan -3A /3AN FPGA Starter Kit Board User Guide.

    2.3.5. CONVERSOR DE DIGITAL A ANALGICO (DAC)

    Incluye un mdulo SPI compatible, de cuatro canales, serie del convertidor digital analgico (DAC). El DAC es un dispositivo de Linear Technology LTC2624 cuatro DAC con una resolucin de 12 bits sin signo. Las cuatro salidas del ADC se encuentran en el pin J21, seis pines perifricos en formato Mdulo que utiliza Digilent. Se encuentran ubicados debajo del Ethernet RJ-45. Como se muestra en la figura 7, la FPGA utiliza un bus serial de interfaz de perifricos (SPI) para comunicar valores numricos a cada uno de sus cuatro canales DAC. El bus SPI es un full-duplex, sncrono, orientado a caracteres que emplea una interfaz sencilla de cuatro cables.

  • 28

    Figura 7. Conversor digital analgico asociado al Pin J21

    Fuente. Spartan -3A /3AN FPGA Starter Kit Board User Guide. La FPGA en este ejemplo es un bus maestro, la seal de reloj del bus (SPI_SCK), y transmite datos en serie (SPI_MOSI) para el bus esclavo seleccionado del DAC de este ejemplo, as mismo el bus esclavo de datos en serie (SPI_MISO) dispone de nuevo del bus maestro. Las seales SPI_MOSI, DAC_OUT y SPI_SCK se comparten con otros dispositivos en el bus SPI. La seal DAC_CS es la entrada activo-baja para seleccionar el esclavo en el DAC. La seal DAC_CLR es la entrada activo-bajo para el reset asncrono del DAC. Tabla 5. Seal interface DAC

    SEAL PIN FPGA DIRECCIN DESCRIPCIN

    SPI_MOSI AB14 FPGA DAC Datos Serie: Salida Maestro, Entrada Esclavo

    DAC_CS W7 FPGA DAC Seleccin del chip Activo-Bajo. La conversin digital a analgico inicia cuando la seal se vuelve alta.

    SPI_SCK AA20 FPGA DAC Reloj

    DAC_CLR AB13

    FPGA DAC Asncrono, la entrada se restablece en activo-bajo

    DAC_OUT V7 FPGA DAC Datos en Serie del DAC

    Fuente. Spartan -3A /3AN FPGA Starter Kit Board User Guide.

  • 29

    Figura 8. Vista detallada del conversor digital analgico

    Fuente. Spartan -3A /3AN FPGA Starter Kit Board User Guide. La salida de los datos en serie del DAC se utiliza principalmente para los DAC en cascada mltiple. Esta seal puede ser ignorada en la mayora de las aplicaciones Cada bit es transmitido o recibido con respecto a la seal de reloj SPI_SCK. El bus soporta velocidades de reloj hasta 50MHZ. Despus que el DAC_CS cambie a una seal de bajada, la FPGA transmite los datos a la seal SPI_MOSI, al bit ms significativo (MSB) primero, inmediatamente el LTC2624 captura los datos de entrada (SPI_MOSI) en el flanco ascendente del SPI_SCK, los datos deben ser validos durante al menos 4ns con respecto al borde del reloj. El DAC LTC2624 transmite sus datos en la seal DAC_OUT en el flanco de bajada del SPI_SCK. La FPGA captura estos datos en el borde de SPI_SCK en el siguiente levantamiento. La FPGA debe leer el primer valor del DAC_OUT en el borde del SPI_SCK despus que el DAC_CS este en bajo de lo contrario el bit 31 se pierde. Despus de transmitir los 32 bits de datos, la FPGA completa su bus de transmisin SPI mediante la devolucin de la seal DAC_CS a alto.

  • 30

    El borde alto inicia el proceso de conversin de digital a analgico en el mdulo DAC el cual es compatible con el protocolo de 24 o 32 bits. Y su interfaz SPI est formada por un registro de desplazamiento de 32 bits. Cada palabra de comando de 32 bits se compone de un comando y una direccin, seguida por un valor de datos. Como se muestra en la figura 9.

    Figura 9. Protocolo de comunicacin SPI para el DAC LTC 2624

    Fuente. Spartan -3A /3AN FPGA Starter Kit Board User Guide. La FPGA enva primero ocho bits de no importancia, seguido de por una palabra de cuatro bits correspondiente a comando, el comando ms utilizado con la tarjeta es COMANDO [03:00] = 0011 binario, que actualiza inmediatamente la salida del DAC seleccionado con el valor de los datos especficos. Tras la orden la FPGA selecciona uno o todos los canales de salida del DAC a travs de una palabra de cuatro bits llamada DIRECCIN. Tras el campo de direccin, la FPGA enva un valor de datos sin signo de 12 bits, el cual el DAC convierte en un valor analgico en las salidas seleccionadas. Por ltimo se enva cuatro bits de no importancia para completar la palabra de 32 bits. Cada nivel de salida del DAC es equivalente a un valor analgico del 12bits sin signo equivalente a un valor digital, D [11:00], escrito por la FPGA para el DAC a travs de la interfaz SPI cuyo valor de voltaje se describe en la ecuacin 3. La tensin de referencia VREFERENCIA, es diferente en las cuatro salidas del DAC, los canales A y B utilizan un voltaje de referencia de 3.3V, los canales C y D tienen una tensin de referencia por separado, la cual es 3.3V nominalmente, suministrado por el regulador LP3906 designado como IC18. La tensin de referencia para los canales C y D se puede modificar.[8] ___________________________ 8 LTC2624 Quad DAC Data Sheet http://cds.linear.com/docs/Datasheet/2604fd.pdf

  • 31

    Las tensiones de referencia tienen una tolerancia de 5% por lo que la tensin de salida puede tener ligeras variaciones.

    REFERENCIAOUT VD

    V *4096

    ]0:11[ Ecuacin 3

    2.3.6. MDULO INTERFAZ SPI

    La interfaz SPI basa su operacin en registro de desplazamiento. El maestro determina la velocidad y marca el inicio de la transferencia. Los datos recibidos por el esclavo son retornados para verificacin. Esto se ilustra en la figura 10, donde ss es para seleccionar un esclavo particular, dado que pueden ser varios los que comparten la interfaz.

    Figura 10. Comunicacin va SPI

    Fuente. Plataforma FPGA para el diseo y Evaluacin de Sistemas de Control Este mdulo se plante con base en registros de desplazamiento y un control basado en una mquina de estados, en [6]. Puesto que son tres los dispositivos a manejar y el nmero de bits difiere entre ellos, para cada uno se requiri de un registro de desplazamiento con sus bits de carga y desplaza, luego, el mdulo de control se encarga de habilitarlos e ir encausando la informacin al terminal de salida. Todos los componentes se desarrollan en VHDL. El control es quien ira generando las tramas SPI e ir activando a los dispositivos para que solo uno trabaje a la vez. Con el fin de conocer el estado de las seales y el nmero de bits de cada componente, es necesario revisar los datasheet de cada dispositivo [7].

    _______________________________ 6 FREIRE, Miguel ngel Rubio. Introduccin al lenguaje VHDL. Universidad Politcnica de

    Madrid. Departamento de Sistemas Electrnicos y de Control [pg. 5] 7 SANTIAGO, Felipe E. Plataforma FPGA para el Diseo y Evaluacin de Sistemas de

    Control. Instituto de Electrnica y Computacin.

  • 32

    2.3.7. IMPLEMENTACIN DEL CONTROLADOR PID EN FPGA

    El algoritmo de control PID es uno de los algoritmos de control ms utilizados en la industria. La salida del regulador se calcula teniendo en cuenta las ecuaciones utilizadas por Wei Zhao [17], en tiempo continuo. Para poder implementar en una FPGA un controlador PID continuo es necesario obtener una ecuacin en diferencias discreta a partir de la ecuacin diferencial continua que define el controlador. Se llama discretizacin a la accin de obtener una ecuacin en diferencias (controlador discreto) que aproxime el comportamiento de una ecuacin diferencial (controlador continuo). A continuacin en la ecuacin 4 se muestra la ecuacin diferencial de un regulador PID continuo.

    dt

    tdeTdtte

    Ttektu d

    t

    i

    p

    )()(

    1

    0

    Ecuacin 4

    Donde pk es la ganancia proporcional, iT es el tiempo de reposicin, dT es el

    tiempo derivativo. La aproximacin discreta consiste en aproximar la ecuacin diferencial anterior obteniendo u(nT) a partir de los valores de e(t) en los periodos de muestreo (es decir, a partir de e(T), e(2T), etc.). La aproximacin ms fcil de la derivada es:

    Mientras que la integral se puede aproximar como:

    La ecuacin anterior es discretizada y la ecuacin obtenida es:

    1

    0

    ))1()(()()()(n

    j

    dip nenekjekneknu Ecuacin 5

    Donde ik

    = pk

    T/ iT

    es el coeficiente integral y dk

    = pk

    dT /T es el coeficiente derivativo. ______________________________ 17 Wei Zhao, ByungHwakim, Amy C. Larson and Richard M. Voyles.FPGA implementation of

    closed loop control system for small scale robot.In Proceedings.,12th International conferenceonadvancedrobotics-ICAR 05

  • 33

    Una alternativa seria la de calcular u(n) con base a la salida u(n-1) y el trmino de correccin u(n). El primer paso es calcular u(n-1) basado en la ecuacin 6

    1

    0

    ))2()1(()()1()1(n

    j

    dip nenekjekneknu Ecuacin 6

    Ahora se calcula el trmino de correccin

    )1()()( nununu Ecuacin 7

    )(nu )3()2()1( 210 nekneknek Ecuacin 8

    Donde

    k0 = kp+ ki+ kd k1 = - kp - 2kd k2 = kd

    La salida de control se calcula como

    )()1()( nununu Ecuacin 9

    )3()2()1()1()( 210 neknekneknunu Ecuacin 10

    La ecuacin anterior se descompone en sus operaciones bsicas. Aqu p y pd se refiere a la variable controlada y a su valor deseado (punto de ajuste), respectivamente. P0, p1, p2, s1, s2, son variables temporales.

    )()( dppne Ecuacin 11

    )(*00 nekp Ecuacin 12

    )1(*11 nekp Ecuacin 13

    )2(*22 nekp Ecuacin 14

    101 pps Ecuacin 15

    )1(22 nups Ecuacin 16

    21)( ssnu Ecuacin 17

  • 34

    2.3.8. DISEO EN PARALELO

    El diseo paralelo implementado por Whei Zhao [17] consiste en 4 sumadores y 3 multiplicadores correspondientes a las operaciones bsicas indicadas en las ecuaciones 12 al 17. El diagrama de implementacin se muestra en la figura 11. El otro circuito incluye los registros para enclavar los valores inciales y las seales de control de salida. La aplicacin tambin incluye el valor lgico de limitacin que mantiene las seales lgicas generadas de control dentro de los lmites que el dispositivo fsico puede soportar. Figura 11. Diseo en paralelo del algoritmo PID

    Fuente: FPGA implementation of closed loop control system for small scale robot.

    2.3.9. DISEO EN SERIE Con el fin de minimizar el rea y los recursos consumidos para el diseo; el diseo serie consta de un solo sumador y un multiplicador [17]. La Figura 12 muestra el esquema de la aplicacin. Las otras partes en la aplicacin incluyen los registros, multiplexores y circuitos para operaciones aritmticas. Esto es comnmente conocido como circuitos de camino de datos. Los registros se utilizan para almacenar los resultados intermedios. Debido al hecho que la unidad del sumador multiplicador solo se utiliza en un tiempo compartido, por esta manera existe la necesidad de una unidad de control, que es una mquina de estados finitos que establece las lneas de seleccin de los multiplexores, cambiando as la entrada de los circuitos. ___________________________ 17 Wei Zhao, ByungHwakim, Amy C. Larson and Richard M. Voyles.FPGA implementation of

    closed loop control system for small scale robot. In Proceedings.,12th International conference on advanced robotics-ICAR 05

  • 35

    Figura 12.Diseo en serie del algoritmo PID

    Fuente.FPGA implementation of closed loop control system for small scale robot.

  • 36

    3. DISEO METODOLGICO

    Figura 13. Diagrama de bloques diseo metodolgico

    Fuente: Autor

    3.1. ADQUISICION VARIABLES DEL PROCESO Utilizando el regulador PID, un actuador doble efecto, un potencimetro lineal, una electrovlvula (componente didctico marca FESTO), con un generador de seales se ajusta el regulador para el sistema servo neumtico, los cuales hacen parte del laboratorio de control de la Universidad Santo Toms.

    3.2. SINTONIZACIN DE LA PLANTA Para la sintonizacin del sistema se utiliz el mtodo de Ziegler-Nichols en esta tcnica el diseador incrementa la ganancia de un regulador P hasta que el bucle cerrado de regulacin oscila. Este ajuste crtico de la regulacin se designa como KPcrit. Tambin se mide la duracin peridica Tcrit de la oscilacin. Con estas dos variables se puede calcular los ajustes de ganancia del regulador PID y as poder obtener la ecuacin de diferencia del regulador.

    ADQUIRIR VARIABLES

    DEL PROCESO

    SINTONIZACION DE LA PLANTA

    IMPLEMENTACION DE MODULOS DE ADQUICISION Y

    CAPTURA DE DATOS

    IMPLEMENTACION DEL REGULADOR

    PID

    VALIDACION DEL REGULADOR

    PID

  • 37

    3.3. IMPLEMENTACIN DE MDULOS DE ADQUISICIN Y CAPTURA DE DATOS

    Los mdulos de adquisicin y captura de datos se divide en:

    Circuito de Captura analgica el cual est compuesto por un amplificador de ganancia variable (LTC6912-1 de Linear Tech), y un ADC (LTC1407A-1 de Linear Tech).

    DAC (LTC2624 de Linear Tech) Para la implementacin de los mdulos de adquisicin y captura de datos incluidos en la tarjeta Spartan 3AN de Xilinx nombrados anteriormente, se describi su hardware por medio de sus diagramas de tiempo suministrados por el fabricante en su hoja de datos los cuales se relacionan en el Anexo 2. Despus de implementar cada mdulo por separado, se inicia la integracin de los mdulos para lograr un solo comportamiento como el que podemos apreciar en la figura 1.

    3.4. IMPLEMENTACIN DEL REGULADOR PID Despus de obtener las ecuaciones de diferencia del controlador, se inicio el proceso de descripcin el hardware utilizando el lenguaje VHDL. Se realiz una de las configuraciones plateadas por Wei Zhao [17] en donde se describi las operaciones necesarias para implementar la ecuacin de diferencia del regulador en un sistema de desarrollo FPGA de Xilinx Spartan 3AN. ____________________________ 17 Wei Zhao, ByungHwakim, Amy C. Larson and Richard M. Voyles.FPGA implementation of

    closed loop control system for small scale robot. In Proceedings.,12th International conference on advanced robotics-ICAR 05

  • 38

    4. IMPLEMENTACIN DEL SISTEMA

    4.1. ORGANIZACIN DE LA PLATAFORMA La plataforma se dise con base en la metodologa TOP-DOWN [7], en el nivel de mayor jerarqua se tienen los mdulos mostrados en la figura 14. Figura 14. Mdulos principales en la plataforma

    Fuente. Plataforma FPGA para el diseo y Evaluacin de Sistemas de Control El mdulo de Interfaz SPI establece una interfaz para manipular a 3 dispositivos de la tarjeta, el DAC, el ADC y el preamplificador con ganancia programable. El protocolo SPI establece un esquema Maestro-Esclavo manejado por 3 seales: MOSI (Mster Output, Slave Input), MISO (Mster Input, Slave Output) y SCK (Reloj del Sistema). En este caso el maestro es la FPGA y los esclavos son: El DAC LTC2624, el ADC LTC1407 y el pre-amplificador LTC6912-1, todos manufacturados por Linear Technology. Puesto que los esclavos comparten el bus SPI, adems de estas tres seales cuentan con seales propias para su habilitacin, de manera que no existan conflictos para un dispositivo mientras otro se est utilizando. En la figura 19. se ilustran las conexiones que se establecen entre el mdulo y los esclavos. Solo se maneja una salida analgica, su valor digital se coloca en D_OUT, y una entrada Analgica, su valor digital es obtenido en D_IN ______________________________ 7 SANTIAGO, Felipe E. Plataforma FPGA para el Diseo y Evaluacin de Sistemas de

    Control. Instituto de Electrnica y Computacin.

    Interfaz SPI Algoritmo Control

    Plataforma FPGA

  • 39

    El Mdulo Algoritmo Control recibe como entradas la magnitud (12 Bits) y signo del error para que, con base en el algoritmo programado genere la seal que actuara sobre la planta (12 Bits). El error proviene del mdulo Algoritmo de Control y la salida que acta sobre la planta lo hace a travs del mdulo Interfaz SPI. Como se muestra en la figura 15.

    Figura 15. Dispositivos manejados por el mdulo Interfaz_SPI

    Fuente: Autor Analizando los ciclos de reloj que requiere cada mdulo se puede determinar el tiempo que necesita la FPGA para realizar la conversin completa como se explica a continuacin, el estado jerrquico AMP requiere de 7 estados simples, de los cuales 6 se ejecutan 8 veces, por lo tanto, requiere de 48 ciclos de reloj. El ADC requiere de 5 estados simples, de los cuales 4 se ejecutan 34 veces, por lo tanto, requiere de 136 ciclos de reloj. El dato digital se captura cuando han concluido las conversiones. El estado DAC nicamente emplea 5 estados, pero 4 de ellos se ejecutan 32 veces. Por lo tanto, son necesarios 128 ciclos de reloj, el dato a convertir queda atrapado durante el proceso de conversin. Esto significa que cada iteracin en el lazo infinito va emplear 312 ciclos de reloj. Puesto que la FPGA trabaja a una frecuencia de 50 MHZ, la conversin completa se est realizando a una frecuencia de 160.256 KHZ.

  • 40

    El control se basa en una mquina de estados, bsicamente se tienen cuatro estados jerrquicos, stos se muestran en la figura 16. En el estado de inicio, el control coloca seales inofensivas en espera en que los dispositivos se estabilicen tras un reinicio en la alimentacin. Luego el estado AMP, el cual incluye la secuencia para configurar el pre-amplificador con una ganancia unitaria. Posteriormente se tiene una secuencia infinita entre el estado ADC y el estado DAC, con lo que se consigue que ambos convertidores trabajen bajo un esquema de carrera libre.

    Figura 16. Comportamiento de control

    Fuente: Autor.

    INICIO AMP

    DAC ADC

    RST=0 START_AMP=1

    FINISH_AMP=1 FINISH_DAC=1

    FINISH_ADC=1

  • 41

    4.2. MDULO ALGORITMO DE CONTROL

    Se implement un algoritmo de control PID, para realizar pruebas en un banco neumtico, a partir de los elementos que se relacionan a continuacin. El primer elemento utilizado que compone la planta es un actuador lineal (Cilindro neumtico doble efecto) ref. DGPL-25-450-PPV-A-KF-B ver figura17, marca festo [11]. Figura 17. Actuador lineal

    Fuente. Neumtica de Bucle Cerrado TP111

    En segundo lugar, se utiliz un sistema de medicin de recorrido (Sensor Lineal) ref. MLO-PD1-450-TLF ver figura 18, marca festo [12].

    Figura 18. Sistema de medicin de recorrido

    Fuente. Neumtica de Bucle Cerrado TP111 El tercer y ltimo componente de la planta es la electrovlvula ref. MPYE-S-1/8-HF-010B ver figura 17, marca festo [13], sobre la cual se efectuaran las labores de control para posicionar el actuador. _____________________________ 11 Actuador Lineal DGPL-25-450-PPV-A-KF-B www.festo-usa.com/net/en-us_us/SupportPortal/default.aspx?q=161792 12 Sistema de Medicin de Recorrido www.festo-usa.com/net/en-us_us/SupportPortal/default.aspx?q=152628 13 Vlvula Posicionadora

    www.festo-usa.com/net/en-us_us/SupportPortal/default.aspx?q=151693

  • 42

    Figura 19. Electrovlvula posicionadora

    Fuente. Neumtica de Bucle Cerrado TP111 Por otra parte se utiliz el modulo Regulador PID ref. TN 162254 ver figura 20, marca festo [14] para realizar la sintonizacin del sistema. Las caractersticas de cada uno de los elementos utilizados, actuadores, sensores y PID se relacionan en el anexo 1. Figura 20. Regulador PID

    Fuente. Neumtica de Bucle Cerrado TP111 Finalmente el proceso de sintonizacin se realiz a partir del mtodo de Ziegler-Nichols teniendo en cuenta la tabla 6 sugerida por el fabricante del mdulo PID utilizado. _____________________________ 14 Modulo PID http://www.festo-didactic.com/int-en/learning-systems/equipment-

    sets/pneumatics/components/pid-controller.htm?fbid=aW50LmVuLjU1Ny4xNy4xOC41NjQuMzYxNg

  • 43

    Tabla 6. Calculo Ziegler-Nichols

    Regulador KP Tn TV KI KD

    P 0.5 KPcrit ----- ---- ---- ----

    PD 0.8 KPcrit ---- 0.125 Tcrit ---- KP.TV PI 0.45 KPcrit 0.83 Tcrit ---- KP/Tn ----

    PID 0.6 KPcrit 0.5 Tcrit 0.125 Tcrit KP/Tn KP.TV

    Fuente. Neumtica de Bucle Cerrado TP111 En el diagrama de flujo de la figura 21, se explica el procedimiento para la parametrizacin de un regulador utilizando el mtodo de Ziegler-Nichols: Figura 21. Procedimiento de parametrizacin de un regulador

    Fuente. Neumtica de Bucle Cerrado TP111

    Hay desbordamientos en estado estable (lmite de estabilidad)? No

    Si

    El valor crtico que se ha ajustado ahora para el coeficiente de accin proporcional se designa KPcrit y se anota

    El periodo de oscilacin crtico asociado Tcrit se mide y se anota

    Los tiempos de accin integral y derivativa se calculan utilizando la tabla de Ziegler-Nichols.

    Fin

    Incrementar el coeficiente de accin proporcional KP

    Los coeficientes calculados se ajustan en el regulador

    Inicio

  • 44

    4.3. CIRCUITO DE ACOPLAMIENTO

    4.3.1 CIRCUITO DE ACONDICIONAMIENTO PARA LA ELECTROVLVULA

    El actuador del banco neumtico trabaja en un rango de 0 a 10V, y la salida del DAC integrado en la FPGA suministra un rango entre 0 a 3.3V, por lo tanto fue necesario realizar un amplificador con ganancia 3, cuyo diagrama electrnico se muestra en la figura 22. Figura 22. Circuito de acondicionamiento para elelectro-vlvula

    Fuente Autor

    4.3.2 CIRCUITO DE ACONDICIONAMIENTO PARA EL POTENCIMETRO LINEAL

    El potencimetro lineal tiene 304mm de rango de operacin con una resolucin de 0.01mm, el voltaje proporcionado por el potencimetro est entre 0 y 10 V, en contraste con el voltaje que puede recibir el ADC, el cual est en un rango entre 0.4 y 2.9 V, por lo tanto tambin se requiri de un circuito de acondicionamiento, consiste en un reductor de voltaje por un factor de 4 seguido por un diferenciador para que el valor mnimo sea de 0.4V, el diagrama de este circuito se muestra en la figura 23.

  • 45

    Figura 23. Circuito de acondicionamiento para el potencimetro lineal

    Fuente: Autor

    4.4. IMPLEMENTACIN DE MDULO DE ADQUISICIN DE DATOS EN VHDL

    Para lograr la implementacin de los mdulos de adquisicin de datos, primero se identificaron en la Spartan 3AN Starter Kit dnde se encuentra el mdulo DAC el cual incluye un SPI compatible, de cuatro canales, serie del convertidor digital analgico (DAC). El DAC es un dispositivo de Linear Technology LTC2624 cuatro DAC con una resolucin de 12 bits sin signo, y tambin encontramos el mdulo de captura Analgica, se compone de un pre-amplificador programable de Linear Technology LTC6912-1 que escala la seal de entrada analgica. La salida del pre-amplificador se conecta al Linear Technology LTC1407A-1 ADC. Tanto el pre-amplificador y el ADC estn en serie programada o controlada por la FPGA. Se realiz el proceso de descripcin de hardware para su implementacin en VHDL gracias a sus diagramas de tiempo los cuales fueron suministrados por el fabricante.

  • 46

    Para todos los mdulos se utiliz el reloj interno de la FPGA el cual es de 50 MHZ, lo que nos dar un periodo de 20 nanosegundos como se muestra en la figura 24. Figura 24. Seal de reloj de la FPGA hacia los mdulos.

    Fuente: Autor.

    4.4.1. MDULO DE CIRCUITO DE CAPTURA ANALGICA El mdulo de circuito de captura analgica consiste en un preamplificador programable y un conversor anlogo a digital (ADC) la FPGA Spartan -3AN Starter Kit incluye dos canales. A continuacin se explicara la implementacin de cada uno de sus dispositivos, desde la mquina de estado que se utiliz hasta las simulaciones que mostrarn sus diagramas de tiempo para ser comparados con los del fabricante.

    LTC 6912-1 AMPLIFICADOR PROGRAMABLE

    Este dispositivo se encuentra en serie programada, para poder implementar se seguir la siguiente mquina de estados, como se muestra en la figura 25. En estado IDLE se predeterminan los valores inciales de la mquina de estados para poder iniciar el proceso.

  • 47

    En estado READY se leen los datos de entrada para la configuracin de la ganancia del amplificador. En estado WAIT_1 es una pausa que se realiza para poder cumplir los tiempos mnimos de lectura del amplificador esta pausa dura un ciclo de reloj 20 ns. En estado DUMMY es una pausa que nos indica el final del estado Ready y el inicio del estado SEND. En estado SEND se procesan o asignan los datos para ser enviados. En estado WAIT_2 es una pausa que se realiza para poder cumplir los tiempos mnimos de asignacin del amplificador, tiene la misma duracin del estado WAIT_1. En estado CHECK se establece la finalizacin de cada ciclo, si el proceso ya termino, de haber terminado retornara al estado IDLE, de lo contrario retornara al Estado READY. Figura 25. Mquina de estados del amplificador

    Fuente: Autor

    IDLE

    INDEX=7

    INDEX

  • 48

    Con base en los diagramas de tiempos del amplificador de la figura 26.serealiz la descripcin de hardware para que el dispositivo pueda ser controlado por la FPGA, adems se puede apreciar el periodo de la seal de reloj que se utiliz para el amplificador denominado amp_sck que fue de 120ns, si se compara dicho valor con el diagrama de tiempos dado por el fabricante relacionado en la figura 4, se puede apreciar que el periodo de la figura 26. es mayor en 20ns. Con la condicin anterior, se cumple el requisito mnimo de transmisin de datos entre la FPGA y el mdulo de amplificacin, automticamente se cumple con los requerimientos de tiempos de las dems seales utilizadas por dicho mdulo (SPI_MOSI y AMP_CS). Figura 26. Seccin de diagrama de tiempos de la simulacin del amplificador

    Fuente: Autor. Cumpliendo con los requisitos mnimos de comunicacin entre la FPGA y el amplificador se inici la configuracin de la ganancia, haciendo referencia a la tabla de configuracin de ganancia programable suministrada por el fabricante relacionado en la tabla 3, se utiliz la ganancia de -1 la cual suministra los valores de una palabra de 8 bits, donde los 4 bits ms significativos se refieren al canal B (1000) y los menos significativos se refieren al canal A (1000). Adems muestra el rango de entrada de voltaje adecuado (0.4V a 2.9V), dicho rango se utiliz en el diseo del circuito de acondicionamiento para el potencimetro lineal.

  • 49

    La simulacin del mdulo implementado LTC 6912 se muestra en la figura 27, en ella se puede apreciar las caractersticas de cada seal. La seal amp_cs establece la ganancia cuando la seal es alta, est indicando el inicio de la transmisin del bus spi_mosi; la seal spi_mosi indica la transmisin en serie presente en la palabra de 8 bits; la seal amp_sck muestra el reloj utilizado en la configuracin del amplificador. Figura 27. Simulacin del mdulo LTC_6912.

    Fuente: Autor. La transmisin de una palabra de 8 bits en la configuracin del amplificador requiere de 8 periodos de la seal amp_sck es decir 960ns, para cumplir con los tiempos mnimos en los flancos ascendentes y descendentes requeridos por el fabricante para su correcta configuracin.

    LTC 1407 CONVERSOR ANLOGO A DIGITAL (ADC) El LTC1407A-1de Linear Technology proporciona dos conversores ADC, los cuales son muestreados simultneamente. Este dispositivo se encuentra en serie programada y se implement con la siguiente mquina de estados como se muestra en la figura 28, es la misma descrita en la figura 25 con la salvedad de la eliminacin de los estados wait_1 y wait_2, ya que estas pausas no sern necesarias para cumplir con los requerimientos mnimos de comunicacin de la FPGA con el ADC.

  • 50

    En la figura 29 la seal de reloj que se utiliz para el ADC denominado adc_sck tiene un periodo de 80ns, si se compara dicho valor con el diagrama de tiempos suministrado por el fabricante relacionado en la figura 8, se puede apreciar que el periodo de la figura 29 es 4.08 veces mayor que el periodo mnimo permitido y 8.33 veces menor que el periodo mximo permitido. Para completar la conversin de datos de sus dos canales se necesitan 34 periodos de dicha seal, lo que dara un periodo de conversin de 2720 ns.

    Figura 28. Mquina de estados del conversor anlogo a digital

    Fuente: Autor. Con la condicin anterior, se cumple el requisito mnimo de transmisin de datos entre la FPGA y el mdulo ADC, automticamente se cumple con los requerimientos de tiempos de las dems seales utilizadas por dicho mdulo (MISO, ADC_CONV, ADC_OUT).

    IDLE

    INDEX=33

    INDEX

  • 51

    Figura 29. Seccin de diagrama de tiempos de la simulacin del ADC

    Fuente: Autor.

    Cumpliendo con los requisitos mnimos de comunicacin entre la FPGA y el ADC, se dio inici a la conversin de los datos con el flanco descendente de la seal ADC_CONV, en la seal MISO, se escribe en forma serial los datos que se desean convertir de anlogo a digital, los cuales se vern reflejados en la seal ADC_OUT con un retraso de 2720 ns es decir 34 ciclos de la seal ADC_SCK como se muestra en la figura 30. Figura 30. Simulacin del mdulo implementado LTC 1407

    Fuente: Autor La simulacin del mdulo implementado LTC 1407 se muestra en la figura 30, en ella se puede apreciar las caractersticas de cada seal, la seal ADC_CONV establece el inicio de conversin cuando la seal es alto la cual nos indica que se

  • 52

    va a convertir toda la informacin suministrada en la seal MISO en los 2720ns anteriores al flanco ascendente de la seal ADC_CONV.

    4.4.2. MDULO DAC

    El ADC es un dispositivo de Linear Technology con cuatro conversores con una interfaz sencilla de cuatro cables y una resolucin de 12 bits sin signo. El LTC 2624 se implement con la mquina de estado mostrada en la figura 28 con la salvedad, en el estado check la transicin de cambio ndex deja de ser 33 a ser 31 para el conversor digital analgico. En la figura 31la seal de reloj que se utiliz para el DAC denominado dac_sck tiene un periodo de 80ns, el bus soporta velocidades de reloj hasta 50MHZ. La seal dac_cs es la encargada del inicio de la conversin. La seal spi_mosi es la encargada de la captura de datos de entrada los cuales se leen con el flanco ascendente de la seal dac_sck y se deben mantener como mnimo 4ns con respecto al borde del reloj para poder ser ledos.

    Figura 31. Seccin de diagrama de tiempos de la simulacin del DAC

    Fuente: Autor.

    Para completar la conversin de datos se necesitan 32 periodos de dicha seal, lo que dara un periodo de conversin de 2560ns por dato convertido, este periodo es el mnimo permitido para la configuracin del conversor digital analgico.

  • 53

    Figura 32. Simulacin del mdulo implementado LTC 2624.

    Fuente: Autor. En la Figura 32 se observa el funcionamiento del dispositivo LTC 2624, donde los 32 ciclos de la seal dac_sck los cuales son necesarios para enviar la palabra completa de 32 bit por la seal spi_mosi, en esta seal no solo se enva el dato a convertir si no tambin la configuracin del DAC, la cual consiste en dos palabras de 4 bits, la primera hace referencia a direccin [03:00] = 1111 binario, y la segunda a la palabra comando [03:00] = 0011 binario, los cuales vienen detallados en el datasheet suministrado por el fabricante en el anexo 2, LTC2624, tabla 1. Tambin se puede apreciar en la figura 32 que el dato enviado en la seal spi_mosi en binario es 000010000000 = 128, el cual se ve reflejado en la seal sdi dicha seal arroja el dato ya convertido.

    4.4.3. ACOPLAMIENTO DE LOS MDULOS

    El acoplamiento de los mdulos se implement debido a la necesidad de controlar algunas seales que se comparten entre ellos, ya que estas seales forman parte de la configuracin de dichos mdulos. Como se muestra en la figura 33.

  • 54

    Figura 33. Esquemtico del mdulo de captura

    Fuente: Autor. Debido al inconveniente con la sincronizacin de los mdulos que componen el circuito de captura se crea un nuevo mdulo para poder acoplarlos y as controlar su funcionamiento dentro del proceso de conversin. El comportamiento de este mdulo se implementa con la mquina de estado mostrada en la figura 34. En estado AMP indica el funcionamiento del amplificador programable el cual inicia con el programa, solo se ejecuta una vez. En estado ADC indica el funcionamiento del conversor anlogo a digital, el cual es activado por los estados AMP y DAC. En estado DAC indica el funcionamiento del conversor digital analgico, el cual solo es activado por el estado ADC. Se trabaj cada mdulo con las palabras Inicio y Finish para poder determinar el momento cuando arranca un mdulo y termina dando inicio al siguiente, as sucesivamente.

  • 55

    Figura 34. Mquina de estado del acoplamiento de los mdulos.

    Fuente: Autor.

    4.5. IMPLEMENTACIN DEL REGULADOR PID EN VHDL En la implementacin del PID en VHDL se trabaj el diseo de Wei Zhao el cual consiste en cuatro sumadores y tres multiplicadores como se muestra en la figura 11, para poder implementar las ecuaciones 12 al 17 las cuales representan el PID. Adicionalmente se trabaj con herramientas de prototipado rpido como la que se explica en la siguiente seccin.

    4.5.1. DESCRIPCIN DE LA HERRAMIENTA DE DISEO SYSTEM GENERATOR DE XILINX

    System Generator es una herramienta de diseo de Xilinx que permite el uso de modelos basado en MathWorksSimulink para disear modelos en FPGA. Al utilizar System Generator no es necesario tener una experiencia previa con

    AMP

    ADC

    DAC

    Amp_CS =1

    Dac_

    CS

    =1

    Ad

    c_c

    on

    v =

    1

  • 56

    FPGAs o con metodologas de diseo RTL. Los diseos son capturados en el ambiente de Simulink usando Xilinx Blockset especficos. Todos los pasos posteriores incluyendo la sntesis, la posicin y el enrutado se realizan automticamente para generar un archivo de programacin de FPGAs. Figura 35. Implementacin del PID en System Generator.

    Fuente: Autor. Ms de 90 bloques de construccin se proporcionan en Xilinx Blockset en Simulink. Estos bloques incluyen los bloques comunes de construccin tales como sumadores, multiplicadores y registros. Tambin se incluyen un conjunto de bloques complejos de construccin, tales como bloques de correccin de errores, FFT, filtros y memorias. Estos bloques emplean los ncleos de propiedad intelectual de Xilinx para obtener los resultados optimizados en el dispositivo seleccionado. [18] Figura 36.Bloques de System Generator

    Fuente: Autor. _____________________________ 18 System Generator for DSP, Getting Started Guide, UG639, Julio 6, 2011

  • 57

    Figura 37.InterfazSimulink System Generator

    Fuente: Autor. Figura 38. Permetro de la FPGA

    Fuente: Autor.

    Es accesible a travs del navegador de la biblioteca de Simulink que se puede iniciar desde la barra de herramientas estndar de Matlab.

    Los bloques se dividen en sub-categoras para facilitar la bsqueda. Una sub-categora, Index incluye todos los bloques y suele ser la forma ms rpida de acceder a un bloque en el que estn ya familiarizados.

    Ms de 90 bloques disponibles para la construccin de su sistema.

    SystemGenerator trabaja con los modelos estndar de simulink. Dos bloques llamados Gateway In y Gateway Out los cuales definen el permetro de la FPGA a partir del modelo de simulacin de simulink.

    El bloque Gateway In convierte la entrada de punto flotante a un nmero de punto fijo. Hacer doble clic en el bloque para que aparezca el editor de propiedades que es donde el nmero de punto fijo puede ser completamente especificado.

  • 58

    Figura 39. Interfaz de Implementacin.

    Fuente: Autor.

    4.5.2. INTEGRACIN DE LA APLICACIN SYSTEM GENERATOR EN EL DISEO DE VHDL DE JERARQUIA SUPERIOR

    Despus de ejecutar el smbolo de System Generator se crea una entidad de propiedad intelectual describiendo el sistema ya diseado en simulink con los bloques de System Generator, se realiz un programa de jerarqua superior para acondicionar los tamaos de las entradas y salidas del sistema, este programa no solo acondicionar el permetro del IPcore generado, sino tambin le brindar al sistema la opcin para ser modificado en el tratamiento de nuevas seales. En esta seccin se muestra cmo se logra integrar dos programas, el primero es una extraordinaria herramienta de simulacin como los es Simulink con una tremenda herramienta de implementacin como lo es Xilinx. La fusin de estas dos herramientas brinda la posibilidad de expresar fsicamente los trabajos de investigacin.

    Cada diseo de SystemGenerator debe incluir el

    simblico de

    SystemGenerator

    El periodo del sistema de Simulink se debe establecer correctamente para la simulacin del trabajo.

    Cada diagrama de System Generator requiere al menos de un smbolo del System Generator.

    El smbolo no est conectado a nada pero sirve para conducir el proceso de la implementacin en la FPGA.

    El editor de propiedades de este smbolo le permite especificar la lista de conexiones de destino, el dispositivo, los objetivos de desempeo y el periodo del sistema.

    El System Generator emitir un error si esta seal no est presente.

  • 59

    Figura 40. Simulacin del sistema en simulink.

    Fuente: Autor. En la figura 40. Se observa la simulacin del sistema el cual es alimentado por una onda seno y una constante las cuales arrojan como resultado la misma seal sinusoidal amplificada por el valor de la constante. Figura 41. Esquemtico de jerarqua superior.

    Fuente: Autor.

    En las figuras 41 y 42 se muestran los esquemticos del IPcore generado y del PID, en la vista detallada se puede apreciar cmo se conecta el IPcore generado con el programa de jerarqua superior, adems se observa el canal de salida del IPcore de un tamao de 24 bits, el cual se reduce a un tamao de 12 bits para poder ser conectado a la salida del programa de jerarqua superior.

  • 60

    ERROR

    Figura 42. Vista detallada del PID.

    Fuente: Autor.

    4.5.3. SISTEMA IMPLEMENTADO

    Figura 43. Diagrama del Sistema Implementado

    Fuente: Autor.

    El sistema de control implementado (ver figura 43) consta de los siguientes sistemas con sus elementos: un sistema embebido el cual se realiz en la Spartan 3AN de Xilinx, un sistema de acople se construy a base de amplificadores operacionales, el mdulo sensor lo constituye un potencimetro lineal de festo y el

    Sistema Embebido

    -

    +

    PID

    Wei Zhao

    SET POINT

    ADC SEAL ENTRADA

    DAC SEAL SALIDA

    SEAL RETROALIMENTACIN

    ACCIN DECONTROL

    SISTEMA DE ACOPLE

    SEAL ENTRADA

    SEAL

    SALIDA

    SENSOR POTENCIMETRO

    PLANTA ELECTROVLVULA + CILINDRO

  • 61

    mdulo planta lo constituye una electrovlvula y un cilindro sin vstago de festo, adems se puede apreciar su interconexin.

    5. VALIDACIN DE RESULTADOS

    Figura 44. Diagrama de Validacin de Resultados

    Fuente: Autor.

  • 62

    Se realiz la adquisicin de datos con el fin de construir un modelo matemtico de la planta del sistema de la siguiente manera: se conecta el sistema mostrado en la figura 45, con el controlador PID el cual se puede apreciar en a figura 20, se procede a excitarlo con un generador suministrndoles unas seales sinusoidales, cuadradas y rampas a diferentes frecuencias, para poder apreciar las distintas respuestas del sistema. Figura 45. Banco Neumtico.

    Fuente: Autor. Las seales adquiridas fueron validadas gracias al uso de la interfaz de identificacin de Matlab (ident), con la cual se determin que existe un problema

    de tierras mltiples, ya que todas las seales venan distorsionadas debido al ruido de la red elctrica. Ya que no se logr adquirir un modelo matemtico de la planta se prefiri trabajar el controlador con el mtodo de Ziegler-Nichols, y la implementacin que propone Wei Zhao, de la cual se seleccion la configuracin en paralelo descrita en la seccin 2.3.8 y en la figura 11 del presente documento. Se realiz reingeniera la cual se bas en validar el controlador explicado en sysgen con el mtodo de Ziegler-Nichols para poder hallar el kp crtico y el periodo crtico los cuales son parte fundamental para la parametrizacin del controlador PID el cual se puede apreciar en la tabla 6 antes mencionada. Figura 46. Implementacin PID en configuracin Proporcional

  • 63

    Fuente: Autor. En la figura 46. Se observa la implementacin de un PID en configuracin proporcional, con el fin de encontrar el KP crtico y el T crtico, se fluctu los valores de KP hasta que oscil, en ese momento se obtiene el KP Critico y el TCritico para poder determinar las constantes del PID.

    Figura 47. Grafica de la Accin de control y la respuesta del sistema

    Fuente: Autor. Se puede apreciar el comportamiento del sistema y el rango de voltaje (4.5 a 7.5 Voltios), de la accin de control en la figura 47. De la grfica de respuesta del sistema hallamos el T Critic con el cual vamos a trabajar reemplazando los

  • 64

    valores de la tabla 6 para obtener las constantes del PID como se puede apreciar en la figura 48. Figura 48. Representacin PID

    Fuente: Autor. El montaje en diagrama de bloques del sistema de control implementado finaliz como se observa en la figura 49. Figura 49. Diagrama del Sistema de control Implementado

    Fuente: Autor.

    Se implement y ajusto el mdulo llamado DAQ para que su cero lgico quedara ubicado en la posicin intermedia del cilindro sin vstago, esto significa que la electrovlvula se debe encontrar cerca a los 5 voltios, el recorrido final del lado izquierdo informa que el cilindro se encuentra en su posicin ms negativa y la electrovlvula se encontrara muy cerca de 0 voltios, de igual manera el recorrido

    PLANTA

    ELECTROVALVULA + CILINDRO

    SALIDA ERROR PID

    WEI ZHAO

    ACCION DE

    CONTROL

    SENSOR

    POTENCIOMETRO

    0 10 V SET POINT

    SEAL DE

    RETROALIMENTACION

  • 65

    final del lado derecho informa que el cilindro se encuentra en su posicin ms positiva y la electrovlvula se encontrara muy cerca de 10 voltios, como se puede apreciar en la figura 50, donde se visualizan las tres posiciones intermedias del sistema neumtico y en la tabla 7 las diferentes posiciones del actuador registradas en el sensor. Figura 50. Posiciones intermedias del actuador

    Fuente: Autor.

  • 66

    Tabla 7. Posicin del actuador registrada por el sensor

    POSICIN DEL ACTUADOR REGISTRADA EN EL SENSOR

    N BITS

    NIVEL DE VOLTAJE SIG MSB LSB

    1 0 1 1 1 1 1 1 1 1 1 1 1 10 POSICIN POSITIVA

    2 0 1 1 0 1 1 1 1 1 1 1 1 9,3875

    3 0 1 0 1 1 1 1 1 1 1 1 1 8,75

    4 0 0 1 1 1 1 1 1 1 1 1 1 7,5

    5 1 0 0 0 0 0 0 0 0 0 0 0 5 POSICIN NEUTRAL

    6 1 1 1 0 1 1 1 1 1 1 1 1 4,3875

    7 1 1 0 1 1 1 1 1 1 1 1 1 3,75

    8 1 0 1 1 1 1 1 1 1 1 1 1 2,5

    9 1 1 1 1 1 1 1 1 1 1 1 1 0 POSICIN NEGATIVA

    Fuente: Autor.

    Despus de realizar la integracin de todos los componentes del sistema ver figura 43, y haber cargado las constantes del controlador PID, se iniciaron las pruebas de funcionamiento, las cuales arrojaron resultados positivos ya que se logro controlar el cilindro doble efecto sin vstago a las posiciones deseadas por el set point, obteniendo las graficas de la respuesta del sistema y la accin de control las cuales se pueden observar en las figuras 51 y 52 respectivamente. Figura 51. Respuesta del sistema del PID implementado

    Fuente: Autor.

  • 67

    En la figura 51 que corresponde a la respuesta al sistema se puede apreciar una clase de saturacin a los 7 voltios, este tipo de saturacin no corresponde a problemas de diseo, sino a problemas de funcionamiento del sensor ya que el potencimetro lineal tiene un rango de funcionamiento de 0 a 10 voltios el cual despus de realizarle varias pruebas se concluyo que solo puede suministrar hasta 7 voltios y solo el 80% de su recorrido presenta un buen funcionamiento.

    Figura 52. Accin de control del PID implementado

    Fuente: Autor.

    En la figura 52 que corresponde a la accin de control se puede apreciar una desigualdad cuando la seal se va a estabilizar, como por ejemplo cuando tiene una accin de control mayor de 5 voltios su punto de estabilizacin se ubica en 5.4 voltios aproximadamente, y cuando tiene una accin de control menor a 5 voltios su punto de estabilizacin se ubica en 4.9 voltios aproximadamente, esta pequea diferencia de 0.5 voltios se debe a fluctuaciones en el sistema de aire comprimido, se recomienda realizar peridicamente mantenimiento al sistema de

  • 68

    aire comprimido como por ejemplo purgas al sistema y valoraciones de la tubera en busca de fugas.

    6. CONCLUSIONES En primera instancia, se realiz este proyecto con el fin de conocer nuevas herramientas d