Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/282330773 Modelo matemático en Simulink y control de velocidad del MRC WEKA SR-30102 utilizando la FPGA Spartan 3AN Thesis · July 2014 CITATIONS 0 READS 6,543 1 author: Luis Manuel Alvarez Tapia Universidad Tecnológica de la Habana, José Antonio Echeverría 6 PUBLICATIONS 54 CITATIONS SEE PROFILE All content following this page was uploaded by Luis Manuel Alvarez Tapia on 01 October 2015. The user has requested enhancement of the downloaded file. https://www.researchgate.net/publication/282330773_Modelo_matematico_en_Simulink_y_control_de_velocidad_del_MRC_WEKA_SR-30102_utilizando_la_FPGA_Spartan_3AN?enrichId=rgreq-14fdd9bf135a863fd286b4d6d3698ad1-XXX&enrichSource=Y292ZXJQYWdlOzI4MjMzMDc3MztBUzoyNzk3NjI0ODk2MjY2NDBAMTQ0MzcxMTk4MzgxNQ%3D%3D&el=1_x_2&_esc=publicationCoverPdf https://www.researchgate.net/publication/282330773_Modelo_matematico_en_Simulink_y_control_de_velocidad_del_MRC_WEKA_SR-30102_utilizando_la_FPGA_Spartan_3AN?enrichId=rgreq-14fdd9bf135a863fd286b4d6d3698ad1-XXX&enrichSource=Y292ZXJQYWdlOzI4MjMzMDc3MztBUzoyNzk3NjI0ODk2MjY2NDBAMTQ0MzcxMTk4MzgxNQ%3D%3D&el=1_x_3&_esc=publicationCoverPdf https://www.researchgate.net/?enrichId=rgreq-14fdd9bf135a863fd286b4d6d3698ad1-XXX&enrichSource=Y292ZXJQYWdlOzI4MjMzMDc3MztBUzoyNzk3NjI0ODk2MjY2NDBAMTQ0MzcxMTk4MzgxNQ%3D%3D&el=1_x_1&_esc=publicationCoverPdf https://www.researchgate.net/profile/Luis-Alvarez-Tapia?enrichId=rgreq-14fdd9bf135a863fd286b4d6d3698ad1-XXX&enrichSource=Y292ZXJQYWdlOzI4MjMzMDc3MztBUzoyNzk3NjI0ODk2MjY2NDBAMTQ0MzcxMTk4MzgxNQ%3D%3D&el=1_x_4&_esc=publicationCoverPdf https://www.researchgate.net/profile/Luis-Alvarez-Tapia?enrichId=rgreq-14fdd9bf135a863fd286b4d6d3698ad1-XXX&enrichSource=Y292ZXJQYWdlOzI4MjMzMDc3MztBUzoyNzk3NjI0ODk2MjY2NDBAMTQ0MzcxMTk4MzgxNQ%3D%3D&el=1_x_5&_esc=publicationCoverPdf https://www.researchgate.net/institution/Universidad_Tecnologica_de_la_Habana_Jose_Antonio_Echeverria?enrichId=rgreq-14fdd9bf135a863fd286b4d6d3698ad1-XXX&enrichSource=Y292ZXJQYWdlOzI4MjMzMDc3MztBUzoyNzk3NjI0ODk2MjY2NDBAMTQ0MzcxMTk4MzgxNQ%3D%3D&el=1_x_6&_esc=publicationCoverPdf https://www.researchgate.net/profile/Luis-Alvarez-Tapia?enrichId=rgreq-14fdd9bf135a863fd286b4d6d3698ad1-XXX&enrichSource=Y292ZXJQYWdlOzI4MjMzMDc3MztBUzoyNzk3NjI0ODk2MjY2NDBAMTQ0MzcxMTk4MzgxNQ%3D%3D&el=1_x_7&_esc=publicationCoverPdf https://www.researchgate.net/profile/Luis-Alvarez-Tapia?enrichId=rgreq-14fdd9bf135a863fd286b4d6d3698ad1-XXX&enrichSource=Y292ZXJQYWdlOzI4MjMzMDc3MztBUzoyNzk3NjI0ODk2MjY2NDBAMTQ0MzcxMTk4MzgxNQ%3D%3D&el=1_x_10&_esc=publicationCoverPdf Facultad de Ingeniería Eléctrica Trabajo de Diploma para optar por el título de Ingeniero Electricista. “Modelo matemático en Simulink y control de velocidad del MRC WEKA SR-30102 utilizando la FPGA Spartan 3AN” Autor: Luis Manuel Alvarez Tapia. Tutores: Msc. Javier Quintana Santos. Dr. Mario Morera Hernández. "Es.tan.vana.la.esperanza.de.que.se.llegará.sin.trabajo.y.sin. molestia.a.la.posesión.del.saber.y.la.experiencia,.cuya.unión. produce.la.sabiduría,.como.contar.con.una.cosecha.sin.haber. sembrado.ningún.grano." Benjamin Franklin (1706-1790) Estadista y científico estadounidense i Agradecimientos Mis más sinceros agradecimientos a todas las personas que de alguna forma han contribuido al desarrollo del presente trabajo. De forma muy especial a mis padres y abuelos, ambos fuentes de alegría, tanto en los buenos como en los malos momentos. También a mi tía Niurka y mi prima Nory por su apoyo incondicional a cada paso del trayecto. Con mucho amor a mi novia por “cargar”conmigo durante todos los años de la carrera, sin dudar ni un solo momento. A mis tutores el Msc. Javier Quintana Santos, el Dr. Mario Morera y el Dr. Javier Muñoz Alvarez por su apoyo y por brindarme sus conocimientos en todo momento. Gracias. A mis amigos Yasser, César y Alberto (el “Lama”) por su apoyo y por los buenos momentos que pasamos. A mis compañeros de aula y todos los que de una forma u otra han estado a mi lado durante los cinco años de la carrera. Al profesor Ariel Santos Fuentefría y al administrador de red Noel por su amistad a través de la carrera. Al profesor Wolf-Rainer Novender y a Jurguen Wolff por su ayuda y los datos brindados para la realización de esta tesis. To my roommates (Lukas, Kartic, Hassan and Tommy) in the Studenten Wohnheim, for making my stay in Germany a lot more pleasant. ii Dedicatoria. A mis padres, fuentes de inspiración y a mis abuelos por consentirme. A mi novia, que me da fuerzas para seguir adelante hacia nuevos horizontes. A mi tía Niurka y mi prima Nory por su apoyo y cariño brindados con total desinterés. iii Hoja de Firmas. Este trabajo de diploma ha sido revisado y aprobado por las instancias correspondientes y para que así conste se firma la presente. Tutor Nombre: ______________________________________________________ Firma: _____________________ Fecha: _____________________ Organismo: ______________________________________________________ Oponente Nombre: ______________________________________________________ Firma: _____________________ Fecha: _____________________ Organismo: ______________________________________________________ Jefe de Departamento Nombre: ______________________________________________________ Firma: _____________________ Fecha: _____________________ Organismo: ______________________________________________________ iv Declaración Jurada. Declaro que soy el único autor de este trabajo de diploma y autorizo al Instituto Superior Poli- técnico José Antonio Echeverría para que haga de este el uso que estime pertinente. Nombre: ______________________________________________________ Firma: _____________________ Fecha: _____________________ v Índice general Introducción. 1 Resumen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Abstract. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Problema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Hipótesis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Objetivos Generales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Objetivos Específicos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Fundamentos básicos y modelado en Simulink de un MRC. 4 1.1. Estructura y principio de funcionamiento de los MRC. . . . . . . . . . . . . . . . . . 5 1.2. Estado del arte de las técnicas de simulación de los MRC. . . . . . . . . . . . . . . . 8 1.3. Diagrama en bloques del accionamiento del MRC modelado en MATLAB Simulink. 9 1.3.1. Motor de Reluctancia Conmutada bifásico irregular WEKA SR-30102. . . . . 10 1.3.2. Convertidor electrónico de potencia y control. . . . . . . . . . . . . . . . . . . 13 1.3.3. Encoder y activación de las fases. . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.3.4. Controlador de Velocidad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.4. Conclusiones Parciales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2. Control de Velocidad de un MRC utilizando una FPGA. 21 2.1. Introducción a las FPGA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.2. Tarjeta de desarrollo Spartan-3AN de Xilinx. . . . . . . . . . . . . . . . . . . . . . . 24 2.2.1. Recursos utilizados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3. Herramientas de diseño. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3.1. Microcontrolador PicoBlaze . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3.2. Herramienta de diseño System Generator . . . . . . . . . . . . . . . . . . . . 28 2.4. Esquema de control implementado en la FPGA. . . . . . . . . . . . . . . . . . .. . . 29 2.4.1. Módulo PWM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.4.2. Módulo de los conversores AD y DA. . . . . . . . . . . . . . . . . . . . . . . . 32 2.4.3. Módulo del microcontrolador empotrado Picoblaze. . . . . . . . . . . . . . . . 36 2.4.4. Módulo para el cálculo de la velocidad. . . . . . . . . . . . . . . . . . . . . . 39 2.5. Conclusiones Parciales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 vi 3. Resultados. 43 3.1. MRC y su accionamiento modelado en MATLAB Simulink. . . . . . . . . . . . . . . 43 3.1.1. Control a lazo abierto de la velocidad. . . . . . . . . . . . . . . . . . . . . . . 43 3.1.2. Lazo cerrado de la velocidad con control por histéresis de la corriente. . . . . 45 3.1.3. Control a lazo cerrado de la velocidad con modulación de ancho de pulso. . . 48 3.1.4. Validación del modelo realizado en Simulink. . . . . . . . . . . . . . . . . . . 49 3.2. Control del MRC utilizando la FPGA Spartan 3AN de Xilinx. . . . . . . . . . . . . . 51 3.2.1. Módulo para la generación del PWM. . . . . . . . . . . . . . . . . . . . . . . 51 3.2.2. Etapa de captura de las señales analógicas y su verificación. . . . . . . . . . . 52 3.2.3. Módulo Control de los periféricos. . . . . . . . . . . . . . . . . . . . . . . . . 54 3.2.4. Módulo Control a lazo abierto de la velocidad. . . . . . . . . . . . . . . . . . 55 Conclusiones Generales. 57 Referencias Bibliográficas. 60 Bibliografía. 61 Anexos. 63 A. Curvas de momento electromagnético y flujo para diferentes posiciones del rotor. 63 B. Mallas de momento electromagnético, flujo, inductancia y CFI. 64 C. Cálculo de la característica magnética del MRC. 67 D. Convertidor Electrónico de Potencia. 70 E. Sensor de posición y asignación de las fases. 71 F. Código del microcontrolador PicoBlaze. 73 vii Índice de figuras 1.1. Estructura electromagnética de los MRC con número de polos diferentes. . . . . . . 5 1.2. Composición de un accionamiento con MRC bifásico . . . . . . . . . . . . . . . . . . 6 1.3. Diagrama en bloques del accionamiento del MRC. . . . . . . . . . . . . . . . . . . . 10 1.4. Motor de Reluctancia Conmutada bifásico irregular WEKA SR-30102. . . . . . . . . 10 1.5. Modelo de la ecuación eléctrica del MRC. . . . . . . . . . . . . . . . . . . . . . . . . 12 1.6. Modelo de la ecuación mecánica del MRC. . . . . . . . . . . . . . . . . . . . . . . . . 13 1.7. Convertidor electrónico de potencia y control. . . . . . . . . . . . . . . . . . . . . . . 14 1.8. Convertidor electrónico de potencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.9. Control por histéresis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.10. Control por histéresis (Lazo Cerrado). . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.11. Control PWM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.12. Control PWM (Lazo Cerrado). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.13. Control con pulso único. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.14. Control con PWM a lazo abierto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.15. Capturas del sensor de posición evidenciando la existencia de un tiempo muerto. . . 19 1.16. Lógica de activación de las fases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.17. Controlador de Velocidad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.18. Regulador PID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.1. Estructura de un PLA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2. Estructura de un PAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.3. Estructura de un CPLD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.4. Recursos utilizados de la tarjeta de desarrollo Spartan-3AN. . . . . . . . . . . . . . . 26 2.5. Esquema extendido del funcionamiento de PicoBlaze. . . . . . . . . . . . . . . . . . . 27 2.6. Divisor de frecuencia para la generación del PWM. . . . . . . . . . . . . . . . . . . . 30 2.7. Generación del PWM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.8. Asignación de las señales encargadas de controlar lo semiconductores de la etapa de potencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.9. Representación esquemática del circuito de captura de la señal analógica y conversión digital. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.10. Representación de la relación existente entre la FPGA y la interfaz de control de los preamplificadores de ganancias programables. . . . . . . . . . . . . . . . . . . . . . . 33 viii 2.11. Requisitos de tiempo a cumplir por las señales que relacionan la FPGA con la interfaz de control SPI de los preamplificadores de ganancias programables. Todos los tiempos están en nanosegundos (ns). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.12. Representación de la relación existente entre la FPGA y la interfaz de control de los ADC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.13. Requisitos de tiempo a cumplir por las señales que relacionan la FPGA con la interfaz de control SPI de los ADC. Todos los tiempos están en (ns). . . . . . . . . . . . . . . 34 2.14. Divisor de frecuencia para la comunicación con los amplificadores de ganancia pro- gramable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.15. Asignación del estado actual de la máquina de estado. . . . . . . . . . . . . . . . . . 35 2.16. Máquina de estado utilizada para el control de los conversores. . . . . . . . . . . . . 36 2.17. Señales de comunicación del LCD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.18. Direcciones de memoria de la pantalla del LCD. . . . . . . . . . . . . . . . . . . . . . 37 2.19. Conjunto de caracteres predefinidos en la memoria del LCD. . . . . . . . . . . . . . . 38 2.20. Creación de caracteres personalizados. . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.21. Conjuntos de comandos implementados en el LCD. . . . . . . . . . . . . . . . . . . . 39 2.22. Frecuencia de la señal del sensor de posición y su relación con la velocidad. . . . . . 40 2.23. Esquema para el cálculo de la velocidad. . . . . . . . . . . . . . . . . . . . . . . . . . 41 2.24. Regulador Proporcional implementado en System Generator. . . . . . . . . . . . . . 41 2.25. Regulador Proporcional Integrador implementado en System Generator. . . . . . . . 42 3.1. Señales de tensión (V), corriente (A) y velocidad (rpm) del MRC para un ciclo útil del 10%. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.2. Señales de tensión (V), corriente (A) y velocidad (rpm) del MRC para un ciclo útil del 13%. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.3. Ampliación de las señales de tensión (V), corriente (A) y velocidad (rpm) del MRC para un ciclo útil del 13%. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.4. Comportamiento de la señal de corriente ante la variación de la señal de tensión de fase del motor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.5. Señales de tensión y corriente en condiciones nominales del MRC. . . . . . . . . . . . 45 3.6. Señales de concatenaciones de flujo y momento electromagnético en condiciones no- minales del MRC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.7. Señales de velocidad y ciclo útil para condiciones nominales del MRC. . . . . . . . . 46 3.8. Señales de velocidad y ciclo útil para una velocidad de 9 000 rpm en el eje del motor. 46 3.9. Señales de velocidad y ciclo útil parauna velocidad de 6 000 rpm en el eje del motor. 47 3.10. Comportamiento de la velocidad para diferentes referencias de velocidad con control a lazo cerrado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.11. Comportamiento de la corriente para diferentes cargas con control a lazo cerrado. . . 49 3.12. Comportamiento de la velocidad para diferentes cargas con control a lazo cerrado. . 49 3.13. Corriente de fase del MRC simulada. . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 ix 3.14. Corriente de fase del MRC experimental. . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.15. Generación de PWM con la señal del sensor de posición. . . . . . . . . . . . . . . . . 51 3.16. Generación de PWM con modulación monopolar y bipolar. . . . . . . . . . . . . . . 52 3.17. Comportamiento a lazo abierto de las señales de tensión y de corriente. . . . . . . . 52 3.18. Señales del ADC y DAC para diferentes frecuencias. . . . . . . . . . . . . . . . . . . 53 3.19. Interruptores utilizados para la interacción entre el usuario y la tarjeta de desarrollo. 54 3.20. Botón rotatorio utilizados para la interacción entre el usuario y la tarjeta de desarrollo. 55 3.21. Comportamiento a lazo abierto de las señales de tensión y de corriente. . . . . . . . 55 3.22. Comportamiento a lazo abierto de las señales de tensión y de corriente con un ciclo útil del 20%. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.23. Comportamiento a lazo abierto de las señales de tensión y de corriente con un ciclo útil del 50%. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 A.1. Momento Electromagnético vs Posición . . . . . . . . . . . . . . . . . . . . . . . . . 63 A.2. Flujo vs Posición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 B.1. Corriente vs Posición vs Momento Electromagnético . . . . . . . . . . . . . . . . . . 64 B.2. Corriente vs Posición vs Flujo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 B.3. Corriente vs Posición vs Inductancia Dinámica . . . . . . . . . . . . . . . . . . . . . 65 B.4. Corriente vs Posición vs CFI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 x Índice de cuadros 1.1. Combinaciones posibles del sensor de posición. . . . . . . . . . . . . . . . . . . . . . 18 1.2. Mediciones de las señales de posición. Tiempos en ms . . . . . . . . . . . . . . . . . 19 2.1. Ajuste de las ganancias de los preamplificadores. . . . . . . . . . . . . . . . . . . . . 33 3.1. Resultados de la implementación del lazo de control utilizando un regulador PI. . . . 47 3.2. Relación de los resultados obtenidos. . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.3. Diferencias entre las señales de entrada y salida. . . . . . . . . . . . . . . . . . . . . 53 3.4. Menu inicial al encender la tarjeta de desarrollo Spartan-3AN. . . . . . . . . . . . . 54 3.5. Pantalla que muestra los parámetros frecuencia y ciclo útil. . . . . . . . . . . . . . . 54 3.6. Pantalla que muestra los parámetros velocidad y corriente. . . . . . . . . . . . . . . . 55 xi Introducción. Los accionamientos eléctricos de motores de reluctancia conmutada han ido ganando espacio en el mercado mundial. Diversas variantes de accionamientos de motores de reluctancia conmutada se fabrican en la actualidad, que son empleadas en diversos mecanismos industriales, de transporte, doméstico, médicos y hospitalarios, entre otros. Se han realizado numerosas investigaciones que comparan a los accionamientos eléctricos de motores de reluctancia conmutada con los de inducción, quedando los primeros como alternativa con evidentes ventajas en la mayoría de los casos. Entre estas ventajas se citan con más frecuencia la de mayor robustez, confiabilidad, capacidad de sobrecarga, tolerancia a fallos y mayor eficiencia energética. Se plantea además que los procesos de producción son menos costosos y más simples, en el caso de los accionamientos de motores de reluctancia. En el laboratorio de Accionamientos Eléctricos de Motores de Reluctancia Conmutada del Centro de Investigaciones y Pruebas Electroenergéticas (CIPEL), se cuenta con el equipamiento apropiado para el estudio experimental de dichos accionamientos en general, y específicamente en el caso del accionamiento del motor de reluctancia conmutada WEKA SR-30102 de fabricación alemana. En los últimos años se ha impuesto la digitalización de casi todas las ramas de la ciencia y la técnica, y han aparecido en el mercado una vasta gama de dispositivos capaces de realizar el proce- samiento digital de las señales. Entre los dispositivos de más renombre valdría la pena mencionar a los Procesadores Digitales de Señales (más conocidos por DSP, por sus siglas en inglés), los Micro- controladores, los Microprocesadores y las Matrices de Puertas Programables por el usuario (más conocidas por FPGA, según siglas en inglés). Cada uno de estos dispositivos posee la capacidad de realizar el procesamiento digital de señales en sentido general y de implementar en tiempo real algoritmos de gran complejidad, así como sus propias ventajas y desventajas en función de dar solu- ción a estas tareas. Cada uno de estos dispositivos posee también características intrínsecas que son independientes de la aplicación a desarrollar, por lo que elegir el más apropiado suele ser una ardua tarea para el diseñador. Entre las características más importantes pueden citarse: la velocidad de procesamiento, la capacidad de almacenamiento de datos, la capacidad de tomar decisiones o de discernir en tiempo real, la capacidad de ejecutar con eficacia algoritmos matemáticos complejos, el aprovechamiento del dispositivo o la rapidez de desarrollo de los prototipos. 1 Resumen. En el presente trabajo se crea un modelo matemático para el motor de reluctancia conmutada WEKA SR-30102 bifásico irregular de fabricación alemana utilizando la herramienta de diseño Simulink. Este modelo permite la simulación, previa al desarrollo, de nuevas estrategias de control para los convertidores electrónicos de potencia de estos motores, tales como: reguladores fuzzy, redes neuronales, entre otros. Mediante la comparación de los resultados obtenidos en la simulación y de modo experimental fue posible validar la precisión del modelo obtenido. Sobre la premisa de obtener un control de velocidad para el motor, se calcula el valor de la velocidad a partir de la señal discreta de un sensor de posición óptico acoplado al eje. Posteriormente se sintetizaron dos reguladores (proporcional y proporcional integral) y se comparan los resultados obtenidos. Finalmente se programa un kit de desarrollo con la FPGA Spartan 3AN de Xilinx con el propósito de implementar experimentalmente y evaluar los resultados obtenidos. Abstract. In the present work, a mathematical model of the switched reluctance motor WEKA SR-30102 is created using the development suite Simulink. This model permits the simulation, prior to the development, of new control strategies, such as: fuzzy regulators and neural networks, among others. By comparing the results obtained of the simulation and the experimental setup, is possible to validate the accuracy of the created model. To implement a speed controller for the motor, the value of the speed is calculated using the discrete signals provided by the rotor position sensor that is fixed in the shaft of the motor. After that, two regulators are synthesized (proportional and proportional-integral) and their results are compared. Finally the FPGA Spartan 3AN development kit is programmed with the objective of implement and assess the obtained results. 2 Problema. Teniendo en cuenta que se dispone del MRC WEKA SR-30102 que se encuentra en el laboratorio de accionamiento eléctrico del CIPEL, el cual no dispone de un convertidor que posea una estrategia de control de la velocidad. Existe la necesidad de crear un modelo que garantice mediante la simu- lación la comprobaciónde la estrategia propuesta para su control y su posterior implementación basada en la utilización de una FPGA. Hipótesis. Si se crea un modelo matemático, desarrollado en la herramienta de diseño Simulink, para el MRC WEKA SR-30102 es posible implementar diferentes estrategias de control a nivel de simulación, que posteriormente se pueden implementar en una FPGA de forma experimental y validar los resultados. Objetivos Generales. Crear un modelo matemático en Simulink para el motor de reluctancia conmutada WEKA SR- 30102 e implementar en la FPGA Spartan 3AN una estrategia de control para dicho motor. Objetivos Específicos. Estudiar el modelo matemático del motor de reluctancia conmutada. El modelo lineal y no lineal así como sus características. Ajustar las curvas del flujo y torque proporcionadas por el fabricante para el caso particular del motor de reluctancia conmutada WEKA SR-30102. Calcular utilizando los datos proporcionadas por el diseñador las curvas de inductancia y fem rotacional necesarias para la implementación del modelo matemático en Simulink. Implementar un convertidor electrónico de potencia medio puente asimétrico para el control del motor de reluctancia conmutada en Simulink. Implementar diferentes estrategias (modulación de ancho de pulso, banda de histéresis de corriente y por pulso único) para controlar el motor de reluctancia conmutada en Simulink. Implementar una estrategia de control basada en modulación del ancho de pulso. Cálculo de la velocidad utilizando la señal del sensor de posición. Implementar una interfaz de comunicación entre el usuario y la FPGA que visualice y permita la modificación de los parámetros del convertidor. Implementar un control a lazo cerrado de la velocidad utilizando la señal del sensor de posición. 3 Capítulo 1. Fundamentos básicos y modelado en Simulink de un MRC. La aparición de los Motores de Reluctancia Conmutada (en lo adelante MRC) se registra en la historia entre 1830 y 1850. Su origen tiene como antecedentes los trabajos de William Sturgeon, quién intentó convertir la atracción que ejerce un electroimán sobre un elemento ferromagnético móvil, en movimiento continuo u oscilatorio. El antecesor directo del moderno MRC que estuvo basado en este principio, recibió el nombre de Máquina Electromagnética y fue patentado por W. H. Taylor en 1838. El diseño consistía en siete piezas de hierro blando, montadas de forma equidistante en la superficie de una rueda de madera que giraba libremente, soportada por un marco fijo. En este marco fueron adheridos cuatro electroimanes conectados a baterías mediante un arreglo de conmutadores mecánicos. El conmutador acoplado al eje del motor garantizaba la activación secuencial y continua de los electroimanes, priorizando siempre al que estuviese a la menor distancia de alguna de las piezas de hierro en la rueda de madera. [1] El motor de Taylor y otras invenciones posteriores no arrojaron resultados alentadores en sus aplicaciones debido, en lo fundamental, a considerables oscilaciones en el momento electromagnético y a la baja confiabilidad de los conmutadores mecánicos. Un ejemplo de la aplicación temprana de estos motores se tiene en el mismo año 1838, cuando Robert Davidson lo empleó en una locomotora eléctrica del ferrocarril de Edimburgo a Glasgow. Las dificultades que se presentaron entonces, en conjunto con la aparición y rápido desarrollo del motor de corriente directa, propiciaron que el MRC cayese en el olvido; debieron transcurrir alrededor de 140 años para que la comunidad científica se interesase nuevamente en él. Con el advenimiento de semiconductores de potencia apropiados se pudo reemplazar al antiguo conmutador mecánico por un convertidor electrónico. Los avances logrados en todas las ramas de la electrónica, el desarrollo de modernos medios de cómputo y la teoría de control, así como las mejoras en los materiales ferromagnéticos y en el diseño de los motores eléctricos, han colocado nuevamente a los MRC en el mercado mundial de los accionamientos eléctricos de velocidad variable. [1] La denominación de MRC fue utilizada por primera vez por Nasar en 1969 y las primeras patentes sobre este tema fueron registradas, por Bedford & Hoft, en 1971 y 1972. A finales de los años 70 del siglo XX comienza la nueva era de este tipo de motores debido al desarrollo alcanzado en la electrónica de regulación y control, a las mejoras de los materiales ferromagnéticos, y al desarrollo 4 de los dispositivos semiconductores de potencia que solucionaron el problema de la conmutación de las fases. [1] 1.1. Estructura y principio de funcionamiento de los MRC. Los MRC están compuestos por un estator con polos salientes fabricado en acero laminado, y un rotor con polos salientes también, hecho del mismo material. En aplicaciones de alta eficiencia con MRC dichas laminaciones suelen ser más delgadas que las utilizadas en las máquinas asincrónicas que se diseñan con el mismo propósito, y se fabrican de acero al silicio con el objetivo de reducir las pérdidas por corrientes parásitas. Esto es debido a que en los MRC las frecuencias de conmutación son mayores que en motores asincrónicos de similar potencia y velocidad.[3] La mayoría de las configuraciones tiene una cantidad de polos en el estator (en lo adelante NS) diferente a la del rotor (en lo adelante NR) con el objetivo de evitar que en cualquier posición, los polos del rotor estén completamente alineados con los polos del estator. Las más habituales se muestran en la Figura 1.1, (NS = 4 , NR = 2) para los accionamientos bifásicos, (NS = 6 , NR = 4) y (NS = 12 , NR = 8) para los accionamientos trifásicos, (NS = 8 , NR = 6) y (NS = 16 , NR = 12) para los de cuatro fases y (NS = 10 , NR = 8) para los de cinco fases. [2][3] Figura 1.1.: Estructura electromagnética de los MRC con número de polos diferentes. Los MRC con mayor NS y NR presentan menos oscilaciones en el momento electromagnético. Seleccionando una combinación en la que haya dos polos más en el estator que en el rotor, se asegura un alto momento electromagnético promedio y bajas frecuencias de conmutación en el convertidor que suministra la energía eléctrica a la máquina. Es posible también una relación de dos polos más en el rotor que en el estator, lo cual puede contribuir a minimizar el menor ángulo de avance y el rizado en el momento electromagnético; en este tipo de diseño el ancho en los polos del rotor es reducido, provocando el decrecimiento de la razón de la inductancia de fase en posición alineada y en posición desalineada, lo que es una desventaja en estas máquinas. Un número impar de polos en el rotor es evitado, ya que esto crea un desbalance en las fuerzas que actúan en la estructura. Se debe notar también la posibilidad de una configuración en la que aparezcan dos dientes por polos en el estator; esto permite un incremento en la relación momento electromagnético intensidad de corriente, pero produce también un incremento en las pérdidas de núcleo. Esta configuración es mejor para aplicaciones de baja velocidad. [4] Los enrollados del estator del MRC son enrollados concentrados, que son más baratos que los enrollados distribuidos [4]. Los enrollados en polos diametralmente opuestos son conectados en serie 5 para conformar la fase del estator. Si existen más de un par de polos por fase, estos se conectan en paralelo. Se tiene, por ejemplo, que una máquina con NS = 6 y NR = 4 es una máquina de tres fases. La máquina con y NS = 12 y NR = 8 es también una máquina de tres fases, pero con cuatro polos por fase del estator. La máquina con NS = 16 y NR = 12 es de cuatro fases con cuatro polos por fase del estator. Si NS = NR, entonces el motor es de una sola fase, y en la posición alineada solo puede ser arrancada por medio de algún dispositivo externo. Si NS 6= NR y es múltiplo de NR, entonces existe en el MRC la misma dificultad que para el caso anterior. Si NS 6= NR y una no es múltiplo de la otra, entonces el motor pude arrancar desde cualquier posición delrotor. En el MRC se aplica una secuencia de pulsos de corriente a cada fase del estator por medio de un convertidor de potencia apropiado. La operación del MRC es sencilla: el par de polos de la fase del estator es conmutado cuando un par de polos opuestos del rotor se está acercando a alinearse con estos. La excitación se retira antes de que los polos del rotor y del estator queden totalmente alineados. El principio físico en el cual se basa el funcionamiento del MRC es tal, que cuando es energizado un par de polos del estator, el correspondiente par de polos del rotor es atraído para minimizar la reluctancia de la trayectoria que recorre el campo electromagnético. Energizando las restantes fases del estator en sucesión, es posible desarrollar momento constante en cualquier dirección de rotación. [4] En la Figura 1.2 se muestra la composición de un accionamiento con MRC bifásico. Figura 1.2.: Composición de un accionamiento con MRC bifásico 6 Ventajas y desventajas. Las características del MRC han sido discutidas ampliamente en la literatura. En la presente sección se hace un resumen de las ventajas y desventaja.[5] Ventajas Construcción simple y robusta Desde el punto de vista mecánico el MRC es muy sencillo. El rotor no cuenta con imanes permanentes ni conductores. Los devanados del estator son también sencillos, pueden ser bobinas pre-enrolladas que se insertan en los polos del estator. Sin devanados en el rotor Un aspecto importante en los MRC es la presencia de un rotor sencillo sin conductores. Esto representa que las pérdidas en el rotor, y por tanto el calentamiento en el mismo, sean menores que en los motores de corriente directa e in- ducción. Baja inercia En aplicaciones donde la velocidad de referencia varíe mucho, es muy importante que la inercia sea pequeña, para que el momento electromagnético de aceleración se reduzca. El MRC generalmente presenta una menor inercia al compararse con otras máquinas eléctricas. Tolerante a fallas Debido al bajo acoplamiento magnético entre las fases el MRC es clasificado como tolerante a fallas. Un motor trifásico puede producir momento electromagnético por una fase independientemente del estado de las otras dos, que pueden estar inactivas o fallidas. Alta eficiencia El MRC en general presenta una eficiencia superior a los motores de corriente directa e inducción de las mismas características. Desventajas Pérdidas por batimiento de aire Debido a la configuración de polos salientes las pérdidas por batimiento de aire serán altas a altas velocidades. En un MRC a 50 000 rpm dichas pérdidas son aproximadamente la mitad de las pérdidas totales. A la velocidad típica de las máquinas eléctricas (3 000 rpm) estas pérdidas no influyen significativamente en las pérdidas totales. Estructura de polos salientes dobles El MRC tiene polos salientes tanto en el rotor como en el estator. Esto en conjunción con la excitación de onda cuadrada, ya sea de tensión o de corriente, tiende a generar un alto contenido de ruido y vibraciones junto con un alto nivel de rizado en el momento electromagnético. Muchos conductores Al utilizarse la topología de inversor medio puente asimétrico el número de conductores entre el motor y el inversor será dos veces el número de fases. 7 Conmutación sincronizada con la posición del rotor El MRC para funcionar de forma efi- ciente necesita la información de la posición del rotor. Dicha información se obtiene ge- neralmente mediante el uso de sensores de posición (encoder, resolver, opto-interruptores, etc.) o mediante el uso de técnicas para la estimación de la posición. Dificultad para arrancar Si la posición inicial no se conoce es complicado arrancar el motor. Existen dos métodos para lograr esto. El primero de ellos utiliza un esquema de con- mutación a lazo abierto con una frecuencia aplicada en rampa, que el motor tiene que seguir. La segunda variante hace uso de pequeñas señales de excitación en las fases y la medición de los gradientes de corriente y de tensión para calcular la inductancia de fase. Si se conocen estas para todas las fases es posible estimar la posición inicial del rotor. Requiere un inversor El MRC requiere para su correcto funcionamiento un inversor. Dicha característica hace difícil la comparación, desde el punto de vista económico, con los motores universales e inducción para aplicaciones que no requieran la variación de la velocidad. 1.2. Estado del arte de las técnicas de simulación de los MRC. La simulación constituye, hoy en día, una etapa necesaria en los trabajos de diseño o estudio del comportamiento de disímiles sistemas o procesos ingenieriles. Aunque los resultados obtenidos por la vía de la simulación no se consideran ni suficientes, ni determinantes, éstos se acercan cada vez más al comportamiento de las instalaciones reales. El desarrollo constante de simuladores cada vez más versátiles, y de potentes microcomputadoras digitales, permiten la realización de grandes volúmenes de cálculo en muy poco tiempo, lo cual propicia que el análisis matemático sobre muchos sistemas sea más eficiente. [4] Para el desarrollo de los modelos y la simulación del lazo de control de la velocidad se seleccionó el Simulink del MATLAB, ya que este software presenta importantes ventajas sobre otros. Entre las ventajas se encuentran: El usuario necesita un tiempo menor para la programación, ya que proceso de elaboración de los modelos se realiza auxiliándose de bloques prediseñados, o personalizados, lo que simplifica enormemente el proceso. Permite la solución de sistemas de gran complejidad a partir de varios métodos de cálculo numérico, y el ajuste de parámetros del método seleccionado tales como el paso de iteración, el error y los niveles de tolerancia. Contiene numerosas bibliotecas para la simulación de sistemas novedosos que son actualmente muy utilizados por la ciencia tales como sistemas fuzzy, redes neuronales, neuro-fuzzy y procesadores digitales de señales (DSP según sus siglas en inglés). Posibilita la creación de sistemas flexibles que pueden ser ampliados con comodidad y rapidez. 8 En la bibliografía consultada [3][4][6][7] se hace referencia a dos vías fundamentales para el mo- delado de los MRC y sus accionamientos. Estas son: Modelado a partir de un modelo lineal del motor. Modelado a partir de un modelo no lineal del motor. El modelado, cuando se considera que la máquina es un sistema lineal, es de los dos procedimientos el más sencillo, pues los modelos se desarrollan a partir de ecuaciones analíticas, y que se imple- mentan con relativa facilidad. Este procedimiento presenta como desventaja la no consideración de las alinealidades en el motor, lo cual aleja de la realidad los resultados que se obtienen. Cuando se consideran las alinealidades en el modelo del motor es posible obtener resultados más precisos, pero el procedimiento para la simulación se dificulta y se vuelve más lento. Algunos autores en [8][9][10] proponen aproximaciones polinomiales o trigonométricas de las cur- vas de magnetización, de las inductancias dinámicas de fase y de la razón de cambio del flujo con respecto a la posición del rotor. En ambos casos el momento electromagnético es calculado por métodos analíticos lo que implica un gran volumen de operaciones matemáticas, tiempos mayores para las corridas y disminución en la precisión de los resultados de las derivadas parciales. Otra metodología para la simulación es la utilización de tablas de look up (en lo adelante LUT) de dos dimensiones para la aproximación de las relaciones existentes entre las variables de com- portamiento del motor tal y como sugieren los autores [11][12][13][14]. Dicha metodología aportará resultados más precisos en la medida en que los datos de la máquina sean exactos y abundantes, e implicará menor cantidad de cálculos y mayor rapidez en la ejecución. Tomando en cuenta lo planteado anteriormente se decidió tener en cuenta las alinealidades del MRC con el objetivo de obtener resultados más exactos. Esto se logróa partir de la utilización de LUT de dos dimensiones cuyos modelos están contenidos en la biblioteca Simulink. Los datos de las curvas de magnetización proporcionadas por el fabricante (ver anexos A.1 y A.2 en 2D y en B.1 y B.2 en 3D) fueron utilizados para la obtención de las curvas de inductancia dinámica por fase y de las derivadas de flujo con respecto al ángulo del rotor que se pueden observar en los anexos B.3 y B.4 1.3. Diagrama en bloques del accionamiento del MRC modelado en MATLAB Simulink. En el presente epígrafe se explica, de manera detallada, el modelo matemático del accionamiento del MRC SR-30102 en forma de diagrama de bloques tal y como se muestra en la figura 1.3 Tomando en cuenta lo planteado anteriormente se modelaron los diferentes aspectos del motor y su control. Para facilitar la comprensión del modelo, este se dividió, en bloques individuales que concatenados de manera adecuada, simulan el comportamiento del accionamiento de los MRC. Estos bloques son: 9 Figura 1.3.: Diagrama en bloques del accionamiento del MRC. 1.3.1. Motor de Reluctancia Conmutada bifásico irregular WEKA SR-30102. El bloque creado para la simulación del MRC bifásico irregular de fabricación alemana WEKA SR-30102 con carga mecánica, se muestra en la figura 1.4. El objetivo de este bloque es la simulación, lo más acertada posible, de los parámetros del MRC. Figura 1.4.: Motor de Reluctancia Conmutada bifásico irregular WEKA SR-30102. Para la implementación de este modelo fueron utilizadas las expresiones mecánicas y eléctricas que modelan el comportamiento del MRC. 10 Ecuación Eléctrica. La ecuación 1.1 se corresponde con la tensión de fase del MRC en el sistema de referencia del estator: USj = RSiSj + dλSj dt (1.1) Asumiendo que no existe acoplamiento mutuo entre las fases del estator, 1.1 puede ser desarrollada para la fase SA tal como se muestra en la ecuación 1.2: USA = RSiSA + ∂λSA ∂iSA diSA dt + ∂λSA ∂ΘR dΘR dt (1.2) Despejando diSAdt de la ecuación 1.2 se tiene: diSA dt = USA −RSiSA − ∂λSA∂ΘR dΘR dt ∂λSA ∂iSA (1.3) Integrando 1.3 se tiene: iSA = ∫ USA −RSiSA − ∂λSA∂ΘR dΘRdt ∂λSA ∂iSA dt (1.4) Donde: USA es la tensión de fase. RS es la resistencia de fase. iSA es la corriente que circula por la fase. ∂λSA ∂iSA es la inductancia dinámica. ∂λSA ∂ΘR es la fem rotacional. dΘR dt es la velocidad del motor. El bloque del MRC está compuesto por cuatro LUT que contienen la información necesaria para realizar los cálculos. El fabricante del motor suministró las tablas de flujo vs posición vs corriente y de momento electromagnético vs posición vs corriente. Tomando estas tablas como base se creó un segmento de código en MATLAB (ver anexo D) para calcular los restantes parámetros, dígase inductancia de fase y fem rotacional, mediante el uso de las siguientes expresiones respectivamente: L = ∂λSA ∂iSA (1.5) CFI = ∂λSA ∂ΘR (1.6) En la figura 1.5 se muestra la ecuación mecánica del MRC que fue creada tomando en cuenta lo planteado anteriormente. 11 Figura 1.5.: Modelo de la ecuación eléctrica del MRC. Ecuación Mecánica. Para modelar las variables mecánicas del MRC se utilizó la ecuación dinámica de los acciona- mientoa eléctricos, tal y como se muestra en la ecuación 1.7: TEM − TL = J dω dt +Bω (1.7) Despejando dωdt de la ecuación 1.7 se tiene: dω dt = 1 J (TEM − TL −Bω) (1.8) Integrando 1.8 se tiene: ω = ∫ 1 J (TEM − TL −Bω) dt (1.9) Donde: ω es la velocidad del MRC en rad/s. J = JM + JC es la inercia total del sistema, compuesta por JM que es la inercia del motor y JC que es la inercia de la carga expresado todo en kgm2 y referidas al eje del motor. TEM es el momento electromagnético generado por el MRC en Nm. TL es el momento electromagnético de la carga en Nm. B es el coeficiente de fricción viscosa en Nm/rad/s. 12 Normalmente el término Bω, que representa la fricción viscosa, puede ser despreciado, debido a que a bajas velocidades no tiene una influencia significativa con respecto al momento electromag- nético generado por el motor. En el caso particular del MRC a modelar, este término no puede ser despreciado ya que la velocidad nominal del motor es de 12 500 rpm pudiendo alcanzar velocidades superiores. Esto implica que el aporte de Bω no es despreciable y tiene que ser incluido en los cálculos para obtener una aproximación acertada del modelo físico que se desea. En la figura 1.6 se muestra la ecuación mecánica del MRC que fue creada tomando en cuenta lo planteado anteriormente. Figura 1.6.: Modelo de la ecuación mecánica del MRC. 1.3.2. Convertidor electrónico de potencia y control. En la figura 1.7 se muestra el bloque correspondiente al convertidor electrónico de potencia encargado de energizar las fases del motor en función de la posición del rotor e implementar la técnica de control para el accionamiento del motor. Se implementaron cuatro métodos para realizar el control, dos a lazo abierto y dos a lazo cerrado. Dígase, control por histéresis de la corriente y control por modulación de ancho de pulso (en lo adelante PWM), ambos a lazo cerrado. Mientras que a lazo abierto se utilizaron las variantes de control por pulso único y control por PWM. Las señales de control implementadas se encuentran multiplexadas, permitiendo al usuario seleccionar la que desee utilizar a través de las opciones del bloque principal. El bloque del convertidor electrónico de potencia (figura 1.8) se implementó haciendo uso de un segmento de código del MATLAB para lograr mayor velocidad de ejecución del modelo (ver anexo E). Este bloque es una representación del convertidor 2q, una variante muy utilizada para este tipo de motores. Como se mencionó anteriormente se implementaron controles diferentes que explicaran a conti- nuación. 13 Figura 1.7.: Convertidor electrónico de potencia y control. Figura 1.8.: Convertidor electrónico de potencia. Control por histéresis de la corriente a lazo cerrado. Es la regulación más simple y económica, interesante en numerosas aplicaciones en las que puede admitirse una oscilación continua entre dos límites, siempre y cuando se trate de procesos de evolu- ción lenta. Como ejemplos podemos citar la regulación de nivel, de presión o de temperatura, todos ellos problemas relativamente sencillos de lógica digital que no tratamos en este tema. Numerosos reguladores incorporan esta función básica, que además ofrece una gran rapidez de respuesta y en 14 ocasiones se recurre a este tipo de control cuando el error es grande, y se pasa de forma automática a otro tipo de regulación cuando el error se aproxima a cero. Gracias a la existencia de una banda de histéresis, el número de conmutaciones se reduce no- tablemente. Sin histéresis, el accionador se activaría y desactivaría con demasiada frecuencia. La histéresis es como una oposición a experimentar cualquier cambio y generalmente será un efecto perjudicial, por ejemplo, al descender una temperatura después de haber alcanzado un máximo, el sensor pudiera mantener el mismo nivel de señal hasta que la temperatura real descienda más de 8 grados, por ejemplo. Sin embargo, este efecto no es perjudicial en el tipo de regulador que tratamos: Su respuesta es de tipo todo-nada, de forma que se conecta cuando la variable regulada ha descendido hasta un valor −∆I por debajo de la señal de referencia y solo se desconecta cuando llega a ∆I por encima de la señal de referencia. Así se establece un margen de variación en el que mantiene su estado el actuador. El funcionamiento, expresado matemáticamente, queda descrito en la ecuaciones 1.10 y 1.11 ISA ≥ IREF +∆I → UPWM = 0 (1.10) ISA ≤ IREF −∆I → UPWM = 1 (1.11) Este comportamiento se puede apreciar gráficamente en la figura 1.9. Figura 1.9.: Control por histéresis Tomando en cuenta lo planteado anteriormente se modeló el bloque en Simulink tal y como se muestra en la figura 1.10. Control de la velocidad por modulación de ancho de pulso a lazo cerrado. La modulación por ancho de pulso (PWM) de una señal o fuente de energíaes una técnica en la que se modifica el ciclo útil de una señal periódica, ya sea 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. La 15 Figura 1.10.: Control por histéresis (Lazo Cerrado). construcción típica de un circuito de PWM se lleva a cabo mediante un comparador con dos entradas y una salida. Una de las entradas se conecta a un oscilador de onda dientes de sierra, mientras que la otra queda disponible para la señal moduladora. En la salida la frecuencia es generalmente igual a la de la señal dientes de sierra, y el ciclo útil está en función de la portadora. El funcionamiento, expresado matemáticamente, queda descrito en la ecuaciones 1.12 y 1.13 UREF ≤ UPORT → UPWM = 0 (1.12) UREF ≥ UPORT → UPWM = 1 (1.13) Este comportamiento se puede apreciar gráficamente en la figura 1.11 Tomando en cuenta lo planteado anteriormente se modeló el bloque en Simulink tal y como se muestra en la figura 1.12. Control Pulso Único. En la figura 1.13 se implementa un control a lazo abierto en el que se mantiene la señal de energizar la fase del motor durante todo el periodo de conducción. Control de la velocidad por modulación de ancho de pulso a lazo abierto. Los sistemas a lazo abierto son aquellos en los que solo actúa el proceso sobre la señal de entrada y da como resultado una señal de salida independiente a la señal de entrada, pero basada en la primera. Esto significa que no hay retroalimentación hacia el controlador para que éste pueda ajustar la acción de control. Es decir, la señal de salida no se convierte en señal de entrada para el controlador. Ejemplo: el llenado de un tanque usando una manguera de jardín. Mientras que la llave siga abierta, el agua fluirá. La altura del agua en el tanque no puede hacer que la llave se cierre. Estos sistemas se caracterizan por: Ser sencillos y de fácil concepto. 16 Figura 1.11.: Control PWM. Figura 1.12.: Control PWM (Lazo Cerrado). Nada asegura su estabilidad ante una perturbación. La salida no se compara con la entrada. Ser afectado por las perturbaciones. Éstas pueden ser tangibles o intangibles. La precisión depende de la previa calibración del sistema. En esta técnica de control la señal de referencia que varía el ancho de los pulsos tal y como se muestra en la figura 1.14. 1.3.3. Encoder y activación de las fases. El MRC WEKA SR-30102, como se explicó anteriormente, cuenta con un sensor óptico acoplado mecánicamente al eje. Este sensor tiene una resolución de 2 bit, por lo que es capaz de dar, teórica- 17 Figura 1.13.: Control con pulso único. Figura 1.14.: Control con PWM a lazo abierto. mente, cuatro combinaciones lógicas, dígase 00, 01, 10 y 11. En la práctica esto no es posible debido a la interpretación física que tienen estas combinaciones. Lo planteado anteriormente se resume en la tabla 1.1. Tabla 1.1.: Combinaciones posibles del sensor de posición. Bit 0 Bit 1 Significado 0 0 Tiempo muerto * 0 1 Conducción Fase A 1 0 Conducción Fase B 1 1 Físicamente imposible ** * ninguna fase en conducción. ** de ocurrir implica que el disco ranurado se encuentra averiado. El tiempo muerto mencionado anteriormente se produce debido a que al ubicarse los sensores en el estator existe un instante de tiempo en el que ninguno de los sensores es cortado por el disco ranurado (figura 1.15). Este tiempo el simétrico a ambos lados del disco. Tomando esto en consideración se midieron las duraciones para cada uno de los estados y los resultados se muestran en la tabla 1.2. En la figura 1.16 se observa el bloque utilizado para la representación en Simulink del sensor de posición acoplado al eje del motor para suministrar la información de posición en formato de 2 bit. Este bloque posee como entradas las señales de referencia (Ref) y posición del rotor (Cita). Con esta información el bloque se selecciona la fase que será energizada. Para el desarrollo de parte del modelo se programó un segmento de código de MATLAB (ver anexo E), con el objetivo de aumentar la velocidad de simulación. 18 Figura 1.15.: Capturas del sensor de posición evidenciando la existencia de un tiempo muerto. Tabla 1.2.: Mediciones de las señales de posición. Tiempos en ms TON Sensor 0 TOFF Sensor 0 TON Sensor 1 TOFF Sensor 1 TM 0 TM 1 3,16 4,18 3,16 4,18 0,484 0,484 1.3.4. Controlador de Velocidad. Un regulador PID es un mecanismo de control por realimentación que calcula la desviación o error entre un valor medido y el valor que se quiere obtener, para aplicar una acción correctora que ajuste el proceso. El algoritmo de cálculo del control PID se da en 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 nos asegura que aplicando un esfuerzo de control suficiente, el error de seguimiento se reduce a cero. El derivativo determina la reacción del tiempo en el que el error se produce. La suma de estas tres acciones es usada para ajustar al proceso vía un elemento de control como la posición de una válvula de control o la energía suministrada a un calentador, por ejemplo. Ajustando estas tres variables en el algoritmo de control del PID, el controlador puede proveer un control diseñado para lo que requiera el proceso a realizar. La respuesta del controlador puede ser descrita en términos de respuesta del control ante un error, el grado el cual el controlador llega a la señal de referencia, y el grado de oscilación del sistema. Nótese que el uso del PID para control no garantiza control óptimo del sistema o la estabilidad del mismo. Algunas aplicaciones pueden solo requerir de uno o dos modos de los que provee este sistema de control. Un controlador PID puede ser llamado también PI, PD, P o I en la ausencia de las acciones de control respectivas. Los controladores PI son particularmente comunes, ya que la acción derivativa es muy sensible al ruido, y la ausencia del proceso integral puede evitar que se alcance al valor deseado debido a la acción de control. Este comportamiento se expresa matemáticamente tal 19 Figura 1.16.: Lógica de activación de las fases. y como se muestra en la ecuación 1.14. y(t) = KP e(t) +KI ∫ t 0 e(τ) dτ +KD de(t) dt (1.14) Debido a la característica no lineal del sistema a modelar los parámetros KP , KI y KD no se pudieron calcular utilizando el método tradicional de síntesis de reguladores. Estos parámetros se obtuvieron de manera experimental a través del método de prueba y error. En la figura 1.17 se aprecia el bloque desarrollado para regular la velocidad del motor que fue modelado tomando en cuenta lo planteado anteriormente. Figura 1.17.: Controlador de Velocidad. Figura 1.18.: Regulador PID. 1.4. Conclusiones Parciales. Se creó un modelo matemático del MRC WEKA SR-30102 utilizando la herramienta Simu- link del Matlab. Siendo posible el estudio y desarrollo de diferentes estrategias de control, parámetros de carga y diferentes puntos de operación de la velocidad del MRC. 20 Capítulo 2. Control de Velocidad de un MRC utilizando una FPGA. 2.1. Introducción a las FPGA. Las FPGA son miembros de un grupo de dispositivos llamados dispositivos programables por campo (FPD según sus siglas en inglés). Una FPGA se puede definir como un circuito integrado que contiene una matriz de celdas lógicas que pueden ser programadas por el usuario para actuar como un circuito digital a la medida. Por ejemplo, se puede implementar en una FPGA funciones digitales de decenas de compuertas lógicas como multiplexores, decodifcadores, sumadores, máquinas de estado, memorias, microprocesadores, funciones de procesamiento digital tales como filtros y transformadas o incluso, sistemas completos en un solo circuito integrado, conocidos en inglés como System On Chip (SOC). Las FPGA tienen un costo de desarrollo de producto relativamente bajo, un ciclo de diseño corto, y pueden ser reprogramadas muchasveces, incluso para corregir pequeños fallos de diseño en los productos finales. Antes de la invención de los FPD los diseñadores tenían que usar dispositivos discretos espe- cializados que contenían algunas decenas de compuertas lógicas, de forma que para conseguir un circuito de mediana complejidad eran necesarias algunas decenas de circuitos integrados. La indus- tria de las FPGA tiene su fundamento en las tecnologías de memoria de solo lectura programable y en los arreglos lógicos programables, conocidos en inglés como Programmable Read-Only Memory (PROM) y Programmable Logic Array (PLA), respectivamente. El primer dispositivo programable por el usuario que podía implementar circuitos lógicos fue la PROM, en la cual, las líneas de direcciones sirven como entradas del circuito lógico y las líneas de datos como salidas. Sin embargo, las funciones lógicas raras veces requieren un gran número de compuertas AND, con lo que las PROM son ineficientes para implementar circuitos lógicos. El primer dispositivo desarrollado específicamente para implementar funciones lógicas fue el PLA, que se muestra en la figura 2.1. Este dispositivo consistía en dos niveles de compuertas lógicas: el primero de compuertas AND seguidas de compuertas OR. El primer nivel de compuertas servía para implementar los términos producto mientras que en el segundo nivel (compuertas OR) se implementaban las salidas. También existió una variante de los PLA en la que el grupo de las compuertas OR no era pro- 21 Figura 2.1.: Estructura de un PLA. gramable, sino que estaba fija y además su salida estaba conectada a un flip flop para implementar lógica secuencial. A este grupo se le llamó lógica de arreglo programable, conocido en inglés como Programmable Array Logic (PAL) (figura 2.2). Figura 2.2.: Estructura de un PAL. Los dispositivos lógicos programables complejos, conocidos en inglés como Complex Programmable Logic Devices (CPLD) pueden verse como una continuación de la arquitectura de los PLA. Los CPLD incluyen bloques lógicos, localizados en los bordes del dispositivo y una matriz de conexiones localizada en la parte central, como se muestra en la figura 2.3. Cada bloque lógico tiene una estructura similar al PLA, por ello, el CPLD puede verse como un conjunto de PLA en un dispositivo con interconexiones programables. Ross Freeman y Bernard Vonderschmitt, inventaron en 1985 la primera FPGA viable (XC2064) y fundaron la compañía Xilinx. La XC2064 tenía compuertas e interconexiones entre compuertas programables, lo que dio comienzo a una nueva era de dispositivos y también de negocio. Xilinx es la mayor corporación que investiga y desarrolla los dispositivos conocidos como FPGA fue fundada en 1984 por dos ingenieros en semiconductores, Ross Freeman y Bernard Vondersch- mitt, que trabajaban para la Corporación Zilog. Mientras trabajaban para Zilog, Freeman quiso 22 Figura 2.3.: Estructura de un CPLD. crear dispositivos que actuaran como una cinta en blanco, permitiendo a los usuarios programar la tecnología ellos mismos. En ese momento, el concepto cambiaba los paradigmas, requería muchos transistores y estos se consideraban muy preciados. Las personas pensaban que la idea de Ross estaba fuera del alcance. Los grandes productores de semiconductores obtenían enormes ganancias con la producción masi- va de circuitos genéricos. Diseñar y producir docenas de circuitos diferentes para mercados específicos ofrecía pobres ganancias y requería una mayor complejidad a la hora de fabricar los dispositivos. Lo que se conoció como FPGA permitiría producir circuitos en grandes cantidades para ajustarse a la medida de segmentos individuales de mercado. Ross falló al tratar de convencer a Zilog para invertir en la creación de la FPGA, dejó la compañía y se unió a su colega de 60 años Bernard Vonderschmitt para invertir en el diseño de la primera FPGA comercialmente viable. La compañía se incorporó en 1984 y comenzó a vender su primer producto en 1985. A fines de 1987 el capital de riesgo de la compañía había crecido a más de 18 millones de dólares y generaba ingresos anuales de aproximadamente 14 millones. Debido a la incesante y creciente demanda de dispositivos lógicos programables los ingresos y ganancias de Xilinx continuaron en ascenso. De 1988 a 1990 los ingresos de la compañía crecieron en 30, 50 y 100 millones de dólares respectivamente. Durante este periodo se trasladó a una planta de 13 400 m2 en San José, California, con el objetivo de satisfacer las demandas de compañías como HP, Apple Inc., IBM y Sun Microsystems que compraban grandes cantidades de dispositivos de Xilinx. [17] Los competidores de Xilinx emergieron en el mercado de las FPGA a mediados de los 90. A pesar de la competencia, las ventas de Xilinx crecieron de 135 millones en 1991 a 178 millones en 1992 y posteriormente a 250 millones en 1993. [17] La compañía alcanzó 550 millones de dólares en ingresos en 1995, una década después de haber vendido su primer producto. A través de los años Xilinx ha expandido sus operaciones hacia la India, Asia y Europa y sus ventas ascendieron de 560 millones de dólares en 1996 hasta 2 billones 23 a finales del 2010.[17] Moshe Gavrielov, un veterano de la industria ASIC (circuitos integrados de aplicación específica, del inglés application-specific integrated circuits), que fue elegido como presidente a principios del 2008, introdujo las plataformas de diseño para proveer soluciones que combinaban las FPGA con software, núcleos IP (propiedad intelectual según sus siglas en inglés), tarjetas y kit para abordar las aplicaciones específicas. Estas plataformas de diseño son una alternativa a los ASIC que resultan bastante costosos. Las líneas de productos de Xilinx incluyen las series Spartan, Virtex, Kintex y Artix, cada una incluye configuraciones y modelos optimizados para diferentes aplicaciones. 2.2. Tarjeta de desarrollo Spartan-3AN de Xilinx. En el presente trabajo se emplea una tarjeta de desarrollo con una FPGA de la familia Spartan- 3A, específicamente la Spartan-3AN de Xilinx. Esta familia presenta una gama de diseños que va desde 50 000 a 3,4 millones de compuertas de sistema. Incluye los dispositivos Spartan-3A y los de mayor densidad Spartan-3A DSP. Además, incluye el dispositivo no volátil Spartan-3AN, éste introduce la tecnología Flash que provee una evolución en seguridad y funcionalidad. Debido a su bajo costo se hace ideal para diversas aplicaciones, que incluyen acceso a ancho de banda, redes, televisión digital, etc [15]. La arquitectura interna de la FPGA Spartan-3A es compatible con la de la Spartan-3AN. Ésta consiste en seis elementos programables fundamentales, ellos son: CLB: Son bloques lógicos configurables que contienen tablas de look up que implementan funciones lógicas y almacenamiento de datos, utilizando biestables tipo flip flop o latch. IOB: Son bloques de entrada y salida que controlan el flujo de datos entre los pines de entrada y salida (E/S) y la lógica interna del dispositivo. Soportan flujos de datos bidireccionales y operación en los tres estados lógicos : nivel alto (’1’), bajo (’0’) y alta impedancia (’Z’). Además se encarga de la configuración de los protocolos de comunicación, tales como: LVDS, LVTTL, LVCMOS entre otros. BRAM: Son bloques de memoria tipo RAM que proveen almacenamiento de datos con un formato de 18 kbit. Bloques multiplicadores: Son los encargados de realizar las operaciones de multiplicación con pa- labras digitales de entrada de hasta 18 bit. DCM: Son sintetizadores digitales utilizados para la distribución de retardos, multiplicación, divi- sión y desfasaje de las señales de reloj. 24 2.2.1. Recursos utilizados. La tarjeta de desarrollo Spartan-3A/3AN presenta varias versiones. Este trabajo utiliza la revisión D, donde sus principales prestaciones se pueden encontrar en [15]. La FPGA Spartan-3A/3AN opera con dos niveles de tensión: 1,2 V y 3,3 V. La tarjeta de desarrollo presenta un regulador de tensión cuádruple desarrollado por la NationalSemiconductor para alimentar la FPGA y los elementos que conforman la tarjeta. A continuación se presentan los recursos utilizados en este trabajo (ver figura 2.4): 1. FPGA Spartan-3AN 2. Oscilador de 50 MHz. 3. Cuatro interruptores o slide buttons. 4. Un botón rotatorio o rotary button. 5. Dos puerto de seis pines cada uno (J20 y J18). 6. Un conversor analógico digital de dos canales con protocolo de comunicación SPI modelo LTC1407A-1 del fabricante Linear Tech. 7. Un amplificador de ganancia programable de dos canales con protocolo de comunicación SPI modelo LTC6912-1 del fabricante Linear Tech. 8. Un conversor digital analógico de cuatro canales con protocolo de comunicación SPI modelo LTC2624 del fabricante Linear Tech. 9. Una pantalla de cristal líquido (LCD según sus siglas en inglés) de dos líneas de 16 caracteres. 2.3. Herramientas de diseño. Para el desarrollo del control del presente trabajo se utilizaron, fundamentalmente, dos herra- mientas de diseño: El microcontrolador embebido de 8 bit PicoBlaze. El entorno de desarrollo de System Generator que funciona sobre la herramienta de simulación Simulink de MATLAB. 2.3.1. Microcontrolador PicoBlaze El microcontrolador PicoBlaze está diseñado y optimizado específicamente para las FPGA de las familias Virtex, Kintex y Artix de la serie 7, así como también para las familias anteriores. Su arquitectura compacta consume menos recursos del dispositivo que cualquier otro microcontrolador 25 Figura 2.4.: Recursos utilizados de la tarjeta de desarrollo Spartan-3AN. de 8 bit dentro de una FPGA. Además, está previsto como una descripción HDL a nivel de celda (conocido como soft core), o sea, un código fuente libre en VHDL para las FPGA de Xilinx [16]. También existe una variante que funciona en las series superiores de Xilinx, a partir de la Spartan-6, pero en principio la funcionalidad es la misma [17]. El núcleo del microcontrolador PicoBlaze es embebido dentro de la FPGA y no requiere recursos externos. Es extremadamente flexible y su funcionalidad básica es fácilmente extendida y reforzada por su comunicación a través de sus puertos de entrada y salida. Ocupa aproximadamente 96 slices de una FPGA que representa el 12,5% de una XC3S50, FPGA de menores prestaciones de la familia, y solo un 0,3% de los recursos de una XC3S5000. Como no está concebido como un procesador de altas prestaciones, es compacto y flexible de manera puede ser usado para el procesamiento de datos de poca complejidad, particularmente en aplicaciones de rutina que no sean críticas en el tiempo y operaciones de entrada/salida. También puede ser fácilmente integrado en un sistema más complejo. [18]. El microcontrolador PicoBlaze provee abundantes conexiones de entrada/salida a un costo mucho más bajo que otros microcontroladores. De la misma manera, el conjunto de periféricos de PicoBlaze puede ser personalizado para cumplir los rasgos específicos, funciones y requerimientos de costo de la aplicación objeto. Debido a que el microcontrolador PicoBlaze está entregado como un código fuente VHDL sintetizable, el núcleo puede ser migrado a futuras arquitecturas de FPGA, eliminando efectivamente el problema de quedar obsoleto. Está soportado por una serie de herramientas de desarrollo que incluyen un compilador en ensamblador, un ambiente gráfico de desarrollo integrado (IDE según sus siglas en inglés), un simulador gráfico del conjunto de instrucciones, un código fuente en VHDL y modelos de simulación [17]. En implementaciones típicas, el bloque de RAM almacena hasta 1 024 instrucciones de programa, 26 las cuales son automáticamente cargadas durante la configuración de la FPGA. Incluso con esta eficiencia, en cuanto a recursos, PicoBlaze es capaz de procesar de 44 a 100 millones de instrucciones por segundo (MIPS) en dependencia de la familia de la tarjeta FPGA y su velocidad [16]. PicoBlaze fue originalmente llamado KCPSM (constant (K) coded programmable state machine). Ken Chapman, diseñador de sistemas de Xilinx, ideó e implementó este microcontrolador. A continuación se muestran las principales características de este microcontrolador: Unidad lógica aritmética (ALU según sus siglas en inglés) de 8 bit con las banderas de acarreo y cero. 16 registros de propósito general de 8 bit. Memoria de datos de 64 bytes. Ancho de las instrucciones de 18 bit. Soporta programas hasta con 1 024 instrucciones que se cargan automáticamente durante la configuración de la FPGA. Pila de 31 niveles para CALL/RETURN. 256 puertos de entrada y 256 puertos de salida. Dos ciclos de reloj por instrucción, soporta hasta 200 MHz (100 MIPS) como frecuencia de reloj. Rápida respuesta al manejo de interrupciones, 5 ciclos de reloj en el peor de los casos. Opti- mizado para dispositivos Xilinx Spartan-3, Virtex-II, and Virtex-II Pro. El esquema interno se muestra en la figura 2.5. Figura 2.5.: Esquema extendido del funcionamiento de PicoBlaze. 27 El microcontrolador PicoBlaze se programa utilizando el lenguaje de programación ensamblador. Este cuenta con un conjunto de 55 instrucciones que se pueden combinar para obtener la aplica- ción deseada. La compañía Xilinx proporciona además del código fuente del microcontrolador, un compilador llamado KCPSM3 que funciona sobre MS-DOS. Existe una interfaz visual más amigable al usuario llamada pBlazIDE, desarrollada por Media- tronix que actúa como compilador y depurador de errores. El inconveniente que presentado esta variante es que las instrucciones y la sintaxis no son exactamente iguales a las proporcionadas por el fabricante. En el presente trabajo se hizo uso de la primera variante. Finalmente el programa compilado se adiciona como código VHDL en la herramienta de diseño ISE Xilinx para formar parte del diseño jerárquico. 2.3.2. Herramienta de diseño System Generator System Generator es una herramienta de procesamiento digital de señales (DSP según sus siglas en inglés) que ofrece una vía alternativa para el diseño en las FPGA. Trabaja sobre la plataforma de diseño Simulink perteneciente a MATLAB. La herramienta provee un menor nivel de abstracción en el diseño de hardware que los lenguajes de programación utilizados con el mismo objetivo. Permite el vínculo de diferentes plataformas de trabajo y lenguajes de programación de más bajo nivel, permitiendo la implementación de diseños muy eficientes para FPGA. Posee librerías de módulos de propiedad intelectual (IP según sus siglas en inglés), que son utilizados para la implementación de sistemas digitales. Esta herramienta no suprime el lenguaje de descripción de hardware (HDL según sus siglas en inglés) pero hace posible centrar la atención de un diseño solo en las partes críticas. Establecien- do una analogía con el anterior planteamiento se presentan los microprocesadores y Procesadores Digitales de Señales (DSP según sus siglas en inglés), los cuales se programan en un lenguaje de alto nivel como C/C++ y se utiliza solo código ensamblador para optimizar partes del diseño que requieran cumplir requisitos específicos acorde a los requerimientos de su aplicación. El término Simulink Blockset representa un conjunto de bloques que pueden ser conectados en el editor de Simulink, para crear modelos funcionales de un sistema dinámico. Para modelar sistemas que serán compilados en una FPGA, System Generator Blockset es utilizado con el mismo fin que Simulink Blockset. Los bloques proveen abstracción de funciones matemáticas, lógicas, de memoria y DSP, que pueden ser utilizados para construir sistemas sofisticados de procesamiento de señales [15]. Xilinx Blockset es una familia de librerías que contiene bloques básicos de System Generator. Algunos bloques son de bajo nivel y proveen acceso a dispositivos de hardware específicos. Otros son de alto nivel y se utilizan para implementar el procesamiento de señales y algoritmos avanzados de comunicación. A continuación se hace un resumen de las principales librerías que se encuentran en System Generator : Índice: Muestra el conjuntode bloques perteneciente a System Generator. Elementos Generales: Bloques comunes para la lógica digital y los ajustes de simulación. 28 Comunicación Bloques modulares comúnmente utilizados en los sistemas de comunicación digital. Lógica de Control: Bloques para la implementación de sistemas embebidos y máquinas de estado. Tipos de Datos: Bloques que permiten la conversión entre los diferentes tipos de datos. DSP: Bloques básicos para el procesamiento digital de señales. Matemática: Bloques que implementan funciones matemáticas. Memorias: Bloques que implementan y permiten el acceso a memorias físicas o virtuales. Herramientas: Bloques de utilidades como System Generator y Resource Estimator. 2.4. Esquema de control implementado en la FPGA. Para facilitar el análisis del esquema de control implementado se dividió este último en módulos que serán explicados a continuación. 2.4.1. Módulo PWM. El módulo PWM es el encargado de la generación de las señales de control que controlan el funcionamiento del MRC. Para esto es necesario el uso del reloj de la FPGA, que en este caso es de una frecuencia de 50 MHz. La frecuencia del PWM que quiere utilizar es de 8 kHz con una resolución de 100 pasos. Para su mejor compresión se dividieron en tres secciones que serán detalladas a continuación. Divisor de frecuencia. Como la frecuencia del reloj interno de la FPGA es mucho mayor que la del PWM, se hace necesario el uso de un divisor de frecuencia. En la ecuación 2.1 se puede observar el método para calcular el número de pulsos del reloj de 50 MHz para generar una PWM con una frecuencia de 8 kHz y una resolución de 100 pasos. Nopulsos = fCLK fPWMRSTEP = 50 MHz8 kHz · 100 ≈ 62 (2.1) Donde: fCLK es la frecuencia del reloj interno de la FPGA. fPWM es la frecuencia con la cual se quiere generar el PWM. RSTEP es la resolución del PWM a generar. En 2.1 se puede observar que son necesarios 62 pulsos del reloj de 50 MHz para lograr el PWM deseado. Como la FPGA utiliza el sistema de numeración iniciado en cero el número a utilizar para los cálculos es 61. En la figura 2.6 se observa el diagrama de flujo del programa creado para la generación del PWM. 29 Figura 2.6.: Divisor de frecuencia para la generación del PWM. Generación del PWM. Para la generación del PWM se usó como base de tiempo la señal creada anteriormente. El ciclo útil es fijado de forma externa y se compara con un contador que incrementa con cada ciclo de la señal de reloj del PWM, cuyo valor máximo es la resolución seleccionada. Si el valor del ciclo útil es mayor que el del contador, la señal a la salida del PWM es el valor lógico ’1’, en caso contrario será el valor lógico ’0’. En la figura 2.7 se muestra el diagrama de flujo que implementa lo mencionado anteriormente. Figura 2.7.: Generación del PWM. Asignación de las señales del PWM a las fases. El último paso es la utilización de las señales del PWM generado anteriormente para la correcta manipulación de los semiconductores de potencia. En la presenta implementación la generación del PWM para cada fase ocurre cuando la señal del sensor de posición indica que le corresponde 30 conducir. Se tomó la precaución de que el contador del PWM empiece a contar cuando la señal del sensor de posición lo indica. En una implementación anterior el PWM se generaba constantemente y se asignaba a los semiconductores de potencia de acuerdo a la señal del sensor. Esto traía como inconveniente que podía ocurrir que el sensor de posición se encontrase activado para una fase en específico y el PWM estuviese en estado lógico ’0’, siendo en este caso necesario esperar hasta el próximo ciclo del PWM para la activación de la fase. Causando así la se pierda tiempo de conducción en la fase y por tanto una pérdida del momento electromagnético generado. En la figura 2.8 se muestra el diagrama de flujo del procedimiento mencionado anteriormente. Figura 2.8.: Asignación de las señales encargadas de controlar lo semiconductores de la etapa de potencia. 31 2.4.2. Módulo de los conversores AD y DA. El circuito está compuesto por un conversor analógico digital (ADC según sus siglas en inglés) del fabricante Linear Tech modelo LTC1407A-1 de dos canales y un preamplificador de dos canales de ganancias programables modelo LTC6912-1. Ambos elementos, que conforman la etapa de captura de señal analógica y conversión a palabra digital, son programados y controlados por la FPGA. En la figura 2.9 se muestra una representación esquemática de los elementos incluidos en la tarjeta de desarrollo que conforman esta etapa, junto a los terminales asociados a la FPGA. El protocolo de comunicación de estos circuitos integrados es SPI (Interfaz de Periféricos Serie según sus siglas en inglés) [15]. Figura 2.9.: Representación esquemática del circuito de captura de la señal analógica y conversión digi- tal. El circuito de captura de señales analógicas y conversión digital convierte, valga la redundancia, las señales analógicas de tensión presentes en los terminales de entrada VinA y VinB, en una palabra digital de 14 bit en complemento a dos. La ecuación 2.2 describe matemáticamente la relación existente entre la tensión Vin y la palabra digital de 14 bit. D[13 : 0] = GAINVin − 1,651,25 8 192 (2.2) La ganancia GAIN se ajusta en dependencia del rango de tensiones a aplicar en los canales VinA y VinB del conector J22. Este valor se le carga a la interfaz de control SPI de los preamplificadores a través de la FPGA, en forma de una palabra digital de 8 bit. La tabla 2.1 resume las configuraciones de ajuste de tensión de estos preamplificadores. La tensión de referencia para los preamplificadores y 32 los ADC es de 1,65 V y se obtiene por medio de un divisor de tensión. El máximo rango de variación de la tensión a la entrada de un ADC es de ±1,25 V, a partir de una tensión de 1,65 V como punto medio. Esto hace que 1,25 V aparezca en el denominador de la ecuación 2.2, para normalizar la diferencia entre la tensión de entrada por VinA y VinB y la tensión de referencia de los conversores. Debido a que la salida de un conversor análogo digital se representa como un número digital de 14 bit en complemento a dos, los valores representables van de −213 a 213 − 1. Tabla 2.1.: Ajuste de las ganancias de los preamplificadores. Ganancia A3 A2 A1 A0 Min(V) Max(V) 0 0 0 0 0 - - -1 0 0 0 1 0,4000 2,9000 -2 0 0 1 0 1,0250 2,2750 -5 0 0 1 1 0,4000 1,9000 -10 0 1 0 0 1,5250 1,7750 -20 0 1 0 1 1,5875 1,7125 -50 0 1 1 0 1,6250 1,6750 -100 0 1 1 1 1,6375 1,6625 El protocolo de comunicación SPI media entre la interfaz de control de los preamplificadores y la FPGA. Una palabra de 8 bit es utilizada para programar ambas ganancias, usando dos campos de 4 bit para cada una, donde el bit más significativo (B3) es enviado primero a través del canal SPI-MOSI. La figura 2.10 ofrece una representación de los canales que relacionan la FPGA con la interfaz de control de los preamplificadores. Figura 2.10.: Representación de la relación existente entre la FPGA y la interfaz de control de los preamplificadores de ganancias programables. Los pulsos o señales para el control de los preamplificadores deben cumplir ciertos requisitos de temporización o sincronización, la figura 2.11 muestra los más significativos [15]. Cuando la señal AD-CONV pasa a estado lógico alto los conversores muestrean las señales analó- gicas de sus entradas. El resultado de la conversión a palabra digital, de cada muestra, no se presenta a la salida de los conversores hasta la próxima vez que AD-CONV vuelve a transitar de estado lógico bajo a alto. Es decir, los conversores presentan un retardo de una muestra. La máxima frecuencia de muestreo es de aproximadamente 1,5 MHz (con una frecuencia en el bus SPI de SPI-SCK = 50 MHz). En la figura 2.12 aparece representada la relación existente entre la FPGA y la interfaz 33 Figura 2.11.: Requisitos de tiempo a cumplir por las señales que relacionan la FPGA con la interfaz de control SPI de los preamplificadores de ganancias
Compartir