control de un motor sincrónico de imán permanente (pmsm)

82
C ARRERA DE E SPECIALIZACIÓN EN S ISTEMAS E MBEBIDOS MEMORIA DEL T RABAJO F INAL Control de un motor sincrónico de imán permanente (PMSM) Autor: Ing. Agustín Rey Director: Ing. Marcelo Romeo (UNSAM, UTN-FRBA) Jurados: Mg. Ing. Diego Brengi (INTI/UNLaM/FIUBA) Mg. Ing Franco Bucafusco (FIUBA) Esp. Ing. Julián Iglesias (FIUBA) Este trabajo fue realizado en la Ciudad Autónoma de Buenos Aires, entre marzo de 2019 y diciembre de 2020.

Upload: others

Post on 12-Nov-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Control de un motor sincrónico de imán permanente (PMSM)

CARRERA DE ESPECIALIZACIÓN ENSISTEMAS EMBEBIDOS

MEMORIA DEL TRABAJO FINAL

Control de un motor sincrónico de imánpermanente (PMSM)

Autor:Ing. Agustín Rey

Director:Ing. Marcelo Romeo (UNSAM, UTN-FRBA)

Jurados:Mg. Ing. Diego Brengi (INTI/UNLaM/FIUBA)

Mg. Ing Franco Bucafusco (FIUBA)Esp. Ing. Julián Iglesias (FIUBA)

Este trabajo fue realizado en la Ciudad Autónoma de Buenos Aires,entre marzo de 2019 y diciembre de 2020.

Page 2: Control de un motor sincrónico de imán permanente (PMSM)
Page 3: Control de un motor sincrónico de imán permanente (PMSM)

I

Resumen

El presente memoria describe el desarrollo del prototipo de un inversor trifásicoque permite controlar un motor sincrónico de imán permanente para la empresa

Ingeniería Wilcox SRL.

El trabajo incluye los diseños del hardware, firmware y software para el controlde un operador de puertas automáticas comercial al que se le ha adaptado un

motor de este tipo. Este desarrollo es de interés de fabricantes locales de puertasautomáticas que necesitan evolucionar hacia esta tecnología, ampliamente

aplicada en los productos de su rubro por las empresas líderes a nivel mundial.

Se utilizaron los conocimientos adquiridos en las asignaturas del curso, talescomo el uso de sistemas operativos en tiempo real, diseño de circuitos impresos,

técnicas de ingeniería de software, testing de software y programación demicroprocesadores. El trabajo incluye el desarrollo de las bibliotecas de control

de motor que implementan los algoritmos FOC (Field Oriented Control) ySVPWM (Space Vector Pulse Width Modulation).

Page 4: Control de un motor sincrónico de imán permanente (PMSM)
Page 5: Control de un motor sincrónico de imán permanente (PMSM)

III

Agradecimientos

A Silvina, Matías y Lucio, por su apoyo e infinita paciencia, sin los cuales estetrabajo no podría haber sido posible.

Al Ing. Rafael Cala y mis compañeros de Ingeniería Wilcox SRL por su ayuda ymotivación.

Al Director por sus conceptos e inspiradoras charlas y a los jurados por haberaceptado participar en el presente trabajo.

A los docentes, directivos y compañeros de la Carrera de Especialización de Sis-temas Embebidos, orgulloso de haber podido participar de este grupo de exce-lencia.

Page 6: Control de un motor sincrónico de imán permanente (PMSM)
Page 7: Control de un motor sincrónico de imán permanente (PMSM)

V

Índice general

Resumen I

1. Introducción general 11.1. Contexto y Justificación . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1. Motores eléctricos . . . . . . . . . . . . . . . . . . . . . . . . 11.1.2. Evolución de la tecnología de imanes y su aplicación en mo-

tores eléctricos. . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.3. Tipos de puertas automáticas y su relación con los motores

eléctricos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.1.4. Diferencias entre el motor de inducción y de imán perma-

nente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.2. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.3. Objetivos y alcance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2. Introducción específica 112.1. Descripción del Sistema . . . . . . . . . . . . . . . . . . . . . . . . . 112.2. Principio de funcionamiento del motor PMSM . . . . . . . . . . . . 122.3. Técnicas de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.3.1. Partes constitutivas del control FOC . . . . . . . . . . . . . . 172.3.2. Transformación de Clarke y su inversa . . . . . . . . . . . . 192.3.3. Transformación de Park y su inversa . . . . . . . . . . . . . . 202.3.4. Inversor trifásico y modulación SVPWM . . . . . . . . . . . 22

2.4. Selección de los componentes principales del . . . . . . . . . . . . . 272.4.1. Procesador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.4.2. Etapa de Potencia . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.5. Requerimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.5.1. Requerimientos de Hardware . . . . . . . . . . . . . . . . . . 282.5.2. Requerimientos del Firmware . . . . . . . . . . . . . . . . . . 29

3. Diseño e implementación 313.1. Diseño del hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.1.1. Procesador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.1.2. Poncho inversor . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Conexión a NUCLEO-F303 . . . . . . . . . . . . . . . . . . . 32Módulo IGBT trifásico . . . . . . . . . . . . . . . . . . . . . . 32Resistores shunt . . . . . . . . . . . . . . . . . . . . . . . . . . 33Amplificación y acondicionamiento . . . . . . . . . . . . . . 33Entrada de encoder . . . . . . . . . . . . . . . . . . . . . . . . 34Fuente de alimentación . . . . . . . . . . . . . . . . . . . . . 34Alimentación externa . . . . . . . . . . . . . . . . . . . . . . 34

3.1.3. Circuito impreso . . . . . . . . . . . . . . . . . . . . . . . . . 353.2. Diseño del firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.2.1. Sistema operativo y entorno de desarrollo . . . . . . . . . . . 36

Page 8: Control de un motor sincrónico de imán permanente (PMSM)

VI

3.2.2. Algoritmos FOC y SVPWM versus FreeRTOS . . . . . . . . 373.2.3. Arquitectura del Firmware . . . . . . . . . . . . . . . . . . . 403.2.4. Tareas del sistema . . . . . . . . . . . . . . . . . . . . . . . . 423.2.5. Medición de ángulo y velocidad . . . . . . . . . . . . . . . . 453.2.6. Modos de funcionamiento del motor . . . . . . . . . . . . . . 463.2.7. Comunicación con PC . . . . . . . . . . . . . . . . . . . . . . 48

4. Ensayos y Resultados 494.1. Comprobación de hardware y firmware . . . . . . . . . . . . . . . . 49

4.1.1. Armado e inspección . . . . . . . . . . . . . . . . . . . . . . . 494.1.2. Banco de prueba . . . . . . . . . . . . . . . . . . . . . . . . . 494.1.3. Pruebas funcionales . . . . . . . . . . . . . . . . . . . . . . . 51

Prueba de funcionamiento del PWM . . . . . . . . . . . . . . 51Prueba del modulador SVPWM . . . . . . . . . . . . . . . . 53Prueba de medición de corrientes de fase . . . . . . . . . . . 54Ajuste del PI de corriente . . . . . . . . . . . . . . . . . . . . 56Comprobación de protección contra cortocircuitos . . . . . . 57Medición de angulo y velocidad con encoder . . . . . . . . . 57Comprobación y calibración del PI de velocidad . . . . . . . 58

4.2. Comprobación del software de manejo de puerta . . . . . . . . . . . 63

5. Conclusiones 675.1. Trabajo realizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675.2. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Bibliografía 69

Page 9: Control de un motor sincrónico de imán permanente (PMSM)

VII

Índice de figuras

1.1. Motor de Jacobi (1834)1 . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2. Dínamo de Pacinotti (1864)2 . . . . . . . . . . . . . . . . . . . . . . . 21.3. Motor de Inducción de Tesla (1887)3 . . . . . . . . . . . . . . . . . . 31.4. Mecanismo con reductor a polea4 . . . . . . . . . . . . . . . . . . . . 41.5. Mecanismo de puerta con sistema biela manivela5 . . . . . . . . . . 51.6. Mecanismo de puerta con sistema biela manivela y motor de in-

ducción6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.7. Mecanismo de puerta con motor ACIM y controlador VVVF7 . . . 61.8. Diferencias constructivas entre el motor de inducción ACIM (iz-

quierda) y de imán permanente PMSM (derecha)8 . . . . . . . . . . 71.9. Diferencias constructivas entre el motor de inducción ACIM y de

imán permanente PMSM . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.1. Esquema del inversor implementado . . . . . . . . . . . . . . . . . . 112.2. Ejemplos de campos resultantes. . . . . . . . . . . . . . . . . . . . . 132.3. Ejemplos de campos resultantes. . . . . . . . . . . . . . . . . . . . . 142.4. Motor elemental. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.5. Generación del torque. . . . . . . . . . . . . . . . . . . . . . . . . . . 162.6. Esquema de un motor PMSM de doce polos.9. . . . . . . . . . . . . 172.7. Motor Honda CR-z 2012.10. . . . . . . . . . . . . . . . . . . . . . . . 172.8. Esquema del control vectorial FOC. . . . . . . . . . . . . . . . . . . . 192.9. Transformación de Clarke.. . . . . . . . . . . . . . . . . . . . . . . . 202.10. Transformación de Park.. . . . . . . . . . . . . . . . . . . . . . . . . . 212.11. Esquema de un inversor. . . . . . . . . . . . . . . . . . . . . . . . . . 222.12. Combinación "100"del inversor. . . . . . . . . . . . . . . . . . . . . . 232.13. Combinaciones posibles del inversor. . . . . . . . . . . . . . . . . . . 242.14. Posición de los vectores del SVPWM. . . . . . . . . . . . . . . . . . . 252.15. Síntesis de un vector intermedio. . . . . . . . . . . . . . . . . . . . . 262.16. Forma de onda del PWM. . . . . . . . . . . . . . . . . . . . . . . . . 262.17. Placa Nucleo-F303RE. . . . . . . . . . . . . . . . . . . . . . . . . . . 272.18. Módulo STGIB10CH60TS-L. . . . . . . . . . . . . . . . . . . . . . . . 28

3.1. Esquema del poncho inversor . . . . . . . . . . . . . . . . . . . . . . 323.2. Esquema del módulo STGIB10CH60TS-L . . . . . . . . . . . . . . . 333.3. Esquema del puente trifásico con resistores shunt. . . . . . . . . . . 343.4. Etapa de acondicionamiento de señal. . . . . . . . . . . . . . . . . . 353.5. Placa inversor - vista superior - render y foto. . . . . . . . . . . . . . 363.6. Placa inversor - vista inferior - render y foto. . . . . . . . . . . . . . 363.7. Señales del PWM y disparo del ADC. . . . . . . . . . . . . . . . . . 383.8. Arquitectura en capas del firmware. . . . . . . . . . . . . . . . . . . 403.9. Patrones de arquitectura control ambiental. . . . . . . . . . . . . . . 413.10. Esquema control PI de velocidad. . . . . . . . . . . . . . . . . . . . . 423.11. FSM del operador de puerta. . . . . . . . . . . . . . . . . . . . . . . 44

Page 10: Control de un motor sincrónico de imán permanente (PMSM)

VIII

3.12. Modos de funcionamiento del motor. . . . . . . . . . . . . . . . . . . 463.13. Tensión del motor en modo V/F. . . . . . . . . . . . . . . . . . . . . 47

4.1. Esquema del banco de prueba . . . . . . . . . . . . . . . . . . . . . . 504.2. Banco de prueba - fuente - electrónica - motor - encoder . . . . . . . 514.3. Banco de prueba - motor con freno de Prony . . . . . . . . . . . . . 514.4. Señales del PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524.5. Señales del PWM con dead time entre salidas complementarias. . . . 524.6. Valores calculados de los ciclos de actividad del SVPWM. . . . . . . 534.7. Captura del osciloscopio de las señales del SVPWM. . . . . . . . . . 534.8. Señales del tiempo de establecimiento e inicio de conversión. . . . . 544.9. Medición de corrientes de fase, gráfico CubeMonitor. . . . . . . . . 554.10. Comparación de los valores de corriente de la fase A adquirido y

medido. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.11. Calibración del PI de corriente. . . . . . . . . . . . . . . . . . . . . . 564.12. Protección contra corto cicuito y sobrecorriente. . . . . . . . . . . . 574.13. Transitorio del ensayo de sobrecorriente. . . . . . . . . . . . . . . . . 584.14. Captura de medición de velocidad con el encoder. . . . . . . . . . . 584.15. Respuesta del PI a escalones de velocidad en vacío. . . . . . . . . . 594.16. Respuesta del PI a escalones de velocidad con carga. . . . . . . . . . 604.17. Respuesta del PI a rampas de velocidad en vacío. . . . . . . . . . . 614.18. Respuesta del PI a rampas de velocidad con carga. . . . . . . . . . . 614.19. Respuesta del PI a rampas suaves de velocidad en vacío. . . . . . . 624.20. Respuesta del PI a rampas suaves de velocidad con carga. . . . . . 624.21. Operador de puerta con motor y encoder montados . . . . . . . . . 634.22. Operador de puerta con motor y encoder montados, detalle . . . . 634.23. Operador de puerta, detalle motor y encoder . . . . . . . . . . . . . 644.24. Perfiles de movimiento del operador de puerta, en vacío . . . . . . 654.25. Perfiles de movimiento del operador de puerta, en carga, apertura

suave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664.26. Perfiles de movimiento del operador de puerta, en carga, apertura

brusca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Page 11: Control de un motor sincrónico de imán permanente (PMSM)

IX

Índice de tablas

1.1. Motor de inducción vs imán permanente . . . . . . . . . . . . . . . 7

2.1. Tensiones de los vectores del SVPWM . . . . . . . . . . . . . . . . . 23

Page 12: Control de un motor sincrónico de imán permanente (PMSM)
Page 13: Control de un motor sincrónico de imán permanente (PMSM)

1

Capítulo 1

Introducción general

En este capítulo se incluye una breve historia de los principales tipos de motoreseléctricos, de las técnicas de control de dichos motores y de cómo la evoluciónde estas técnicas influyó en los dispositivos operadores de puertas automáticas.Posteriormente se indica la necesidad concreta que dio origen a este trabajo, susprincipales objetivos y su alcance.

1.1. Contexto y Justificación

1.1.1. Motores eléctricos

Los motores eléctricos son mecanismos que transforman la energía eléctrica enmecánica mediante el uso de campos magnéticos. En todos los ámbitos de la vidapodemos encontrar muchos dispositivos o equipos que emplean motores eléctri-cos de varios modelos, tamaños y capacidades para realizar un trabajo específico.

La fuente de energía fundamental de un motor es la corriente eléctrica. Esta pue-de ser alterna o continua y de ahí su derivación en modelos, usos y tamaños.En nuestra vida cotidiana los motores eléctricos están instalados en infinidad deequipos y aparatos electrodomésticos de uso diario como, ventiladores, taladros,secadores de cabello, vehículos e incluso en pequeños relojes de pulsera.

La historia de los motores eléctricos se remonta al siglo XIX, cuando el científi-co británico Michael Faraday descubrío la conversión de la energía mecánica enenergía eléctrica. El primer motor eléctrico técnicamente utilizable fue creado porel ingeniero alemán Moritz Von Jacobi, quien lo presentó por primera vez al mun-do en 1834. Ese motor contaba con dos grupos de electroimanes montados en elbastidor y en un rotor giratorio (figura 1.1) que funcionaba con pilas galvánicas.El sistema ideado para conmutar y cambiar la polaridad de los electroimanes sesigue utilizando hasta la fecha en los motores de tracción.

Page 14: Control de un motor sincrónico de imán permanente (PMSM)

2 Capítulo 1. Introducción general

FIGURA 1.1. Motor de Jacobi (1834)1

En 1864 el físico italiano Antonio Pacinotti inventó el inducido en forma de ani-llo con un colector en una máquina que transforma el movimiento mecánico encorriente eléctrica continua. Esta es la idea que inspiraría al dínamo y al motoreléctrico de corriente continua (figura 1.2).

FIGURA 1.2. Dínamo de Pacinotti (1864)2

Posteriormente, en el año 1866 Werner Von Siemens inventó el generador dina-moeléctrico en el que la excitación del electroimán se consigue sin necesidad defuente exterior, aprovechando el magnetismo remanente del núcleo de hierro.Tanto Siemens como otros ingenieros de la época siguieron desarrollando gene-radores cada vez más eficientes, pero aún no se lograba el desarrollo de un motorrealmente eficaz.

Como consecuencia de una avería que se produjo durante la Exposición Univer-sal de Viena de 1873 [1], Zénobe Gramme descubrió el principio de reversibilidadpor el cual un generador puede funcionar como motor y viceversa. Este descu-brimiento impulsó la utilización del motor eléctrico de corriente continua en unsinfín de aplicaciones industriales y de tracción.

1Imagen tomada de https://es.m.wikipedia.org/wiki/Archivo:Electric_motor_Jacobi.png2Imagen tomada de https://catalogue.museogalileo.it/gallery/ElectricMotorByPacinotti.html

Page 15: Control de un motor sincrónico de imán permanente (PMSM)

1.1. Contexto y Justificación 3

El paso decisivo en el diseño y construcción de máquinas eléctricas se dio con eldescubrimiento del principio del campo giratorio. La primera propuesta teóricaen esa dirección la hizo en 1885 Galileo Ferraris, profesor de la universidad deTurín. Fueron finalmente Nikola Tesla (1887) y Von Dolivo-Dobrowolsky (1889)quienes presentaron sendos motores de inducción con un rotor de varillas decobre en cortocircuito cuya constitución, en esencia, no se diferencia mucho de laque tienen los motores de inducción de corriente alterna actuales (Figura 1.3) [2].

FIGURA 1.3. Motor de Inducción de Tesla (1887)3

En el mismo año, Tesla presentó su trabajo “Un nuevo sistema de motores decorriente alterna y transformadores”[3] al Instituto Estadounidense de Ingenie-ros Eléctricos en el que describió tres nuevos tipos de motores patentados. Unode ellos era un motor síncrono de corriente alterna con excitación independien-te de corriente continua para el bobinado del rotor, que se puede considerar unantecesor del motor de imán permanente analizado en este trabajo.

1.1.2. Evolución de la tecnología de imanes y su aplicación en motoreseléctricos.

La historia de los imanes se remonta a tiempos antiguos. Registros del griegotemprano, romanos y civilizaciones chinas hacen referencia a las piedras raras ymisteriosas llamadas calamita. Estas piedras imán se atraían entre sí y también apequeñas piezas de hierro. Esta historia está marcada por hitos como la invenciónde la brújula, el descubrimiento del electromagnetismo y la invención de imanesde tierras raras. Han sido ampliamente utilizados en la fabricación de motores decorriente continua y alterna [4] [5].

Los imanes pueden clasificarse según su origen en naturales o artificiales. Unimán natural es un mineral con propiedades magnéticas (magnetita). Un imánartificial es un cuerpo de material ferromagnético que se ha magnetizado con laayuda de otro imán. También pueden clasificarse en permanentes o temporales.Un imán permanente típico está fabricado con acero imantado y mantiene suspropiedades varios años. En cambio un imán temporal pierde sus propiedadesuna vez que cesa la causa que provoca el magnetismo. Un caso típico de esteúltimo es el electroimán, inventado por el científico británico William Sturgeonen 1824, que se basó en los estudios del científico danés Hans Christian Ørsted.

3Imagen tomada de https://www.economist.com/babbage/2011/04/01/the-difference-engine-nikolas-revenge

Page 16: Control de un motor sincrónico de imán permanente (PMSM)

4 Capítulo 1. Introducción general

Está compuesto de una bobina por la cual circula corriente eléctrica que produceel campo magnético, y este desaparece si se interrumpe dicha corriente.

Hasta hace algunas décadas la única manera de conseguir imanes potentes erarecurriendo a los electroimanes, pero esto empezó a cambiar en la década de 1980cuando se desarrollaron los imanes de tierras raras. El más difundido es el deneodimio (también conocido como imán NdFeB, NIB, o Neo), que está fabricadocon una aleación de neodimio, hierro y boro [6].

Los imanes permanentes han sido ampliamente utilizados en los motores eléctri-cos. Los motores con imanes permanentes se clasifican en dos familias principa-les, los de corriente continua y los de corriente alterna. Estos últimos son los másempleados actualmente ya que no poseen colector, son libres de mantenimiento yporque el precio de los dispositivos electrónicos utilizados para su manejo ha ba-jado sustancialmente. También se los puede clasificar en dos tipos principales, losmotores BLDC (BrushLess DC motor) y los PMSM (Permanent Magnet SyncronousMotor) que se describen más adelante.

1.1.3. Tipos de puertas automáticas y su relación con los motores eléc-tricos.

La puerta automática fue un avance muy importante en la tecnología de los ascen-sores al reducir sustancialmente los accidentes fatales [7]. El accidente de ascensormás frecuente está asociado al mal funcionamiento de las puertas manuales, quese elimina con el uso de la puerta automática. Increíblemente hoy en día todavíase admite el uso de la puerta manual [8].

En sus comienzos, los operadores de puertas utilizaban artilugios mecánicos paralograr la variación de velocidad del mecanismo. Los motores simplemente arran-caban y mantenían su velocidad constante hasta el momento en que debían dete-nerse o invertir su sentido de giro. Por lo tanto, los mecanismos eran voluminososy pesados, incluían reductores mecánicos de velocidad (figura 1.4), mecanismostipo biela-manivela (figuras 1.5 y 1.6), amortiguadores, etc.

FIGURA 1.4. Mecanismo con reductor a polea4

Page 17: Control de un motor sincrónico de imán permanente (PMSM)

1.1. Contexto y Justificación 5

FIGURA 1.5. Mecanismo de puerta con sistema biela manivela5

FIGURA 1.6. Mecanismo de puerta con sistema biela manivela ymotor de inducción6

El primer intento de regulación de velocidad eléctrica fue la inclusión del motorde corriente continua controlado por un dispositivo electromecánico compuestode resistores, relés y contactos a levas. A medida que la puerta se mueve accionaestos contactos que actúan sobre los resistores. De esta manera se varía la corrien-te del rotor para regular la velocidad del motor. Este sistema permitía simplificarla mecánica del operador. Sin embargo este regulador es voluminoso, ocupa lugaren el techo de la cabina, es difícil de calibrar (se deben calibrar las levas y los reós-tatos para lograr el perfil de velocidad deseado), hay disipación en los resistoresy necesita mantenimiento.

Si bien con el tiempo estos reguladores electromecánicos fueron reemplazadospor reguladores electrónicos, el sistema no se modificó sustancialmente hasta quefueron introducidos los controladores VVVF (Variable Voltage - Variable Frequency).

5Imagen tomada de https://schmelevator.wordpress.com/2016/01/14/elevator-doors/6Imagen tomada de http://www.jwliftparts.com/html_products/QKS9-Door-Machine-68.h

tml

Page 18: Control de un motor sincrónico de imán permanente (PMSM)

6 Capítulo 1. Introducción general

Esta tecnología ya estaba disponible pero no se podía adoptar hasta que su cos-to fuera accesible. Esto permitió reemplazar al motor de corriente continua porel motor trifásico de inducción ACIM (Alternating Current Induction Motor). Estemotor es económico, no posee colector y es libre de mantenimiento. Gracias alcontrolador VVVF fue posible eliminar el reductor de velocidad y simplificar eldiseño mecánico de los operadores (figura 1.7).

FIGURA 1.7. Mecanismo de puerta con motor ACIM y controladorVVVF7

Como se aprecia en la figura 1.7, todo el mecanismo se ha reducido. El movi-miento se logra con un motor acoplado a una polea y una correa dentadas, sinreductores mecánicos ni levas, gracias a que toda la regulación de velocidad esrealizada por el controlador VVVF.

Actualmente se está impulsando el uso del motor PMSM en el manejo de las puer-tas automáticas de los ascensores. Se justifica este impulso en dos característicasfundamentales de este tipo de motor. La primera es su eficiencia, lo cual permi-te reducir tamaño y costo del controlador. La segunda es su tamaño, que puedealcanzar la tercera parte de un motor ACIM. Esta última característica permite fa-bricar operadores más pequeños que entran en espacios reducidos. El resultadoes un mejor aprovechamiento del espacio disponible de la cabina del ascensor,aumento de la altura del techo de la cabina y un área de mantenimiento más se-gura.

1.1.4. Diferencias entre el motor de inducción y de imán permanente.

La mayoría de las aplicaciones industriales y comerciales son accionadas actual-mente por motores asincrónicos de inducción de corriente alterna (ACIM). El mo-tor ACIM posee un estator con un devanado trifásico que genera un campo mag-nético rotativo cuando se aplica la tensión de red trifásica, y un rotor que poseeunas barras de cobre en cortocircuito que se asemejan a una jaula de ardilla. Eneste motor el torque se produce por la corriente eléctrica en las barras de cobre del

7Imagen tomada de https://www.globalpartnerelevator.com/en-us/automatic-elevator-doors/fermator-automatic-car-door

Page 19: Control de un motor sincrónico de imán permanente (PMSM)

1.1. Contexto y Justificación 7

rotor, que es inducida por el campo magnético giratorio de los devanados del es-tator. En un ACIM, el rotor siempre gira a una velocidad menor que la del campomagnético giratorio.

El motor sincrónico de imán permanente (PMSM) posee un estator similar al delACIM, pero el torque se produce gracias a los imanes que están instalados enel rotor. Este motor gira en sincronía con el campo magnético giratorio. En elesquema de la figura 1.8 se pueden apreciar las diferencias constructivas.

FIGURA 1.8. Diferencias constructivas entre el motor de inducciónACIM y de imán permanente PMSM8

En la tabla 1.1 se detallan las principales diferencias constructivas y de funciona-miento.

TABLA 1.1. Diferencias entre motor de inducción y de imán per-manente

Característica Motor inducción Motor de imán permanente

Rotor Con "jaula de ardilla" Con imanesCampo del rotor Corr. Inducida ImanesAlimentación Tensión de Red - VVVF Solamente con DriverCosto Muy económico EconómicoVelocidad de rotación Menor a la sincrónica Igual a la sincrónicaTamaño Voluminoso CompactoEficiencia <90 % Hasta 95 %Costo a largo plazo Mayor Menor

En la figura 1.9 se ponen de manifiesto las diferencias de tamaño de dos motoresde similares prestaciones.

8Imagen tomada de https://empoweringpumps.com/ac-induction-motors-versus-permanent-magnet-synchronous-motors-fuji/

Page 20: Control de un motor sincrónico de imán permanente (PMSM)

8 Capítulo 1. Introducción general

FIGURA 1.9. Diferencias constructivas entre el motor de inducciónACIM (izquierda) y de imán permanente PMSM (derecha)

1.2. Motivación

La principal motivación es el interés en este producto de la empresa IngenieríaWilcox SRL, que se dedica al diseño y producción de equipamiento electrónicopara ascensores. Se evaluó que hay una oportunidad de negocio en satisfacer lanecesidad de las empresas nacionales fabricantes de puertas automáticas para as-censores de incorporar la tecnología del motor de imán permanente PMSM. Laaparición de varios equipos de origen importado que incorporan esta tecnologíalos amenaza con quedar fuera del mercado, puesto que tienen un mejor desem-peño a un costo similar al producto tradicional.

La segunda es el especial interés del autor de este trabajo en el tema de controlde motores y se consideró una excelente oportunidad para incursionar en estatecnología.

La propuesta de valor no solamente incluye el futuro desarrollo de un dispositi-vo destinado a los fabricantes (es decir, destinado a equipos nuevos) sino tambiénotro destinado a equipos ya instalados y reformas (Retrofitting). Si el producto escomercialmente exitoso se necesitará un servicio de post-venta y cursos de capa-citación para técnicos de mantenimiento, que representa otra fuente de ingresosy marketing indirecto .

Page 21: Control de un motor sincrónico de imán permanente (PMSM)

1.3. Objetivos y alcance 9

1.3. Objetivos y alcance

El objetivo del trabajo fue diseñar el prototipo de un inversor que permita el con-trol de un motor sincrónico de imán permanente a lazo cerrado y que como apli-cación práctica controle los movimientos de una puerta automática de ascensor.

En cuanto al alcance, se incluyó:

Diseño, fabricación y armado del circuito impreso de la etapa de potencia,con los conectores necesarios para la alimentación y el motor.

Incorporación de una placa comercial de desarrollo a la que se adosa laetapa de potencia (poncho).

El desarrollo del firmware que corre en la placa de desarrollo con los algo-ritmos de control correspondientes.

Una demostración de manejo de un operador de puertas comercial al quese le ha adaptado un motor de imán permanente.

Un diálogo básico con una PC a través de un puerto serial para cambiarparámetros de funcionamiento, enviar comandos y evaluar variables.

No se incluyó:

Fuente conmutada de alimentación ni sistema de diálogo (que sí son nece-sarios para el producto comercial).

Evaluaciones relacionadas a la compatibilidad electromagnética.

Page 22: Control de un motor sincrónico de imán permanente (PMSM)
Page 23: Control de un motor sincrónico de imán permanente (PMSM)

11

Capítulo 2

Introducción específica

Este capítulo se incluyen la descripción del principio de funcionamiento del mo-tor sincrónico de imán permanente PMSM, la técnica de control implementada yel hardware elegido para este trabajo. Además se detallan los requerimientos y laplanificación.

2.1. Descripción del Sistema

El propósito del presente proyecto es el desarrollo de un prototipo de inversorque controle un motor PMSM. En una segunda etapa se utiliza este inversor paramanejar un operador de puerta de ascensor.

El esquema del inversor se observa en la figura 2.1. El sistema consta de las si-guientes partes:

MOTOR

EncoderIncremental

PROCESADOR

DECODIFICADOR

ADC

PWM

UART

RECTIFICACIÓN FILTRADO

DRIVERIGBT

AMPLIF.

300 VCC

ADC

FAULT

INVERSOR

ALIMENTACIÓN220 VCA

INVERSOR

Computadora

FIGURA 2.1. Esquema del inversor implementado

Page 24: Control de un motor sincrónico de imán permanente (PMSM)

12 Capítulo 2. Introducción específica

Rectificación y filtrado: estas etapas se encargan de transformar la tensiónde alimentación de red de 220 VAC en 300 VDC que se denomina tensiónintermedia.

Puente de transistores: en este inversor se utiliza un puente trifásico de tran-sistores IGBT (Insulated Gate Bipolar Transistor) constituído por tres ramas,una para cada fase del motor.

Driver IGBT: son los circuitos necesarios para convertir las señales de con-trol de los transistores provenientes del procesador a los niveles de tensióny corriente necesarios para manejar las compuertas de los transistores.

Amplificador: la etapa de amplificación se encarga de acondicionar las ten-siones presentes en los resistores conectados en los emisores de los transis-tores de la parte baja de cada rama. Estas tensiones serán medidas por elprocesador a través del ADC (Analog to Digital Converter) para determinarlas corrientes de fase.

Encoder incremental: este dispositivo, que está acoplado al eje del motor,le permite al procesador determinar su posición y velocidad gracias a quecuenta con un decodificador de cuadratura.

Procesador: en él se ejecutará el firmware de manejo del inversor y de con-trol del motor, como así también el software de la puerta automática. Comose mencionó anteriormente, posee los periféricos necesarios para asistir a laCPU (Central Processing Unit) en manejar los transistores, hacer medicionesde tensión, corriente, posición, velocidad y también comunicarse con unacomputadora.

2.2. Principio de funcionamiento del motor PMSM

El motor sincrónico de imán permanente PMSM es una máquina eléctrica de co-rriente alterna que se alimenta con tensión trifásica. Esta máquina consta esencial-mente de dos piezas principales. Por un lado está el estator, donde se ubican lasbobinas que son alimentadas con tensión alterna para generar el campo magnéti-co rotativo. Por otro lado se tiene el rotor, en su interior se encuentran los imanesy cuyo campo magnético interactúa con el campo generado en el estator, lo queproduce el torque y el movimiento.

La característica sincrónica de estos motores proviene de la proporcionalidad queexiste entre la frecuencia de la tensión de alimentación y la frecuencia de rotaciónde la máquina. Esto permite utilizarla en un cierto rango de estados de carga, sinque varíe la velocidad de rotación. Sin embargo, existe un nivel de carga máximapara el cual el motor deja de funcionar.

Otra característica destacable es que al poseer un rotor con imanes en vez debobinas este tipo de motor no posee escobillas, lo que disminuye la necesidad demantenimiento.

Page 25: Control de un motor sincrónico de imán permanente (PMSM)

2.2. Principio de funcionamiento del motor PMSM 13

Los bobinados trifásicos del estator pueden estar conectados en estrella o en trián-gulo. Estas bobinas se colocan alrededor de piezas polares que proveen un ca-mino de baja reluctancia para el flujo magnético producido por la corriente al-terna que pasa por las bobinas, encauzan el flujo de manera tal de maximizar laeficiencia del motor.

En lo que respecta al rotor, los imanes pueden estar montados en la superficie oen su interior. Además posee un eje de acero que transmite el torque mecánico aldispositivo que se quiere manejar.

A continuación se describe cómo es que se genera un campo magnético rotativo.En las siguientes figuras se observa el corte de un estator elemental con tres bobi-nas (a, b y c) de una sola espira cada una. Se observa que cada una está montadade forma tal que sus respectivos ejes están desplazados 120◦. En la figura 2.2ase representa el vector campo magnético Ha en el interior del estator, producidopor la corriente que circula por la bobina a como indica la ley de Ampere [9]. Se

(A) Campo producido por la bobina a.

(B) Campo bobina b. (C) Campo bobina c.

FIGURA 2.2. Ejemplos de campos resultantes.

simboliza con un punto cuando la corriente es saliente al plano del corte y conuna cruz cuando es entrante. La longitud del vector Ha representa el módulo del

Page 26: Control de un motor sincrónico de imán permanente (PMSM)

14 Capítulo 2. Introducción específica

campo, que es proporcional a la corriente que circula por la bobina a. Su sen-tido depende del sentido de circulación de la corriente, siendo positivo para laconfiguración de la figura. Para invertir el sentido del campo magnético, se debeinvertir el sentido de la corriente correspondiente.

Las figuras 2.2b y 2.2c repiten el esquema para las dos bobinas restantes b y c, yse obtienen sendos vectores campo magnético Hb y Hc.

Si se energizan las tres bobinas con cierta combinación de corrientes, se obtieneel campo resultante H, que es la suma vectorial de los tres campos Ha, Hb y Hcproducidos por las corrientes que circulan por las bobinas a, b y c como se observaen la figura 2.3a. Cambiando las corrientes de las bobinas, se puede obtener unaconfiguración como se ve en la figura 2.3b.

(A) Caso 1. (B) Caso 2.

FIGURA 2.3. Ejemplos de campos resultantes.

Se concluye que, con la correcta combinación de las tres corrientes, se puede ob-tener un campo magnético con la amplitud y ángulo que se desee. El caso típi-co es conectar el motor a un sistema trifásico balanceado [2], la combinación decorrientes resultante produce un campo magnético rotativo con las siguientes ca-racterísticas:

La amplitud del campo es constante y es igual a 1,5 veces la amplitud má-xima del campo de cada fase.

La velocidad de rotación del campo magnético en revoluciones por segundoes igual a la frecuencia eléctrica en hertz (para un motor de solo un par depolos).

En la figura 2.4 se agrega al estator anterior un rotor con un imán para así obtenerun motor elemental, de solo una bobina por fase y dos polos en el rotor. Lascorrientes que circulan en las bobinas producen un campo magnético resultanterepresentado por el vector H, que tiene un desfase Θr respecto del eje del imán.El imán tiende a alinearse con el campo H, se genera un torque y el rotor gira ensentido contrario a las agujas del reloj.

Page 27: Control de un motor sincrónico de imán permanente (PMSM)

2.2. Principio de funcionamiento del motor PMSM 15

FIGURA 2.4. Motor elemental.

En la figura 2.5 se ve con más detalle dos condiciones de funcionamiento delmotor. Se observan el polo sur del campo del estator, el polo norte del imán delrotor y las líneas de campo en el entrehierro.

Cuando el motor no tiene carga los ejes del polo norte del rotor y del polo sur delcampo magnético del estator coinciden. En condiciones de carga el eje del campodel rotor experimenta un retraso respecto del campo del estator, pero sin embargoseguirá girando a la velocidad sincrónica. El ángulo de atraso Θr depende de lacarga aplicada, aumenta si se incrementa dicha carga. Hay un punto en el cualun aumento de la carga provoca que se supere el torque máximo del motor yse pierde el sincronismo. Esta condición debe evitarse ya que produce fuertesvibraciones.

Page 28: Control de un motor sincrónico de imán permanente (PMSM)

16 Capítulo 2. Introducción específica

FIGURA 2.5. Generación del torque.

A continuación, de la referencia [10], se detalla la ecuación 2.1 que caracteriza altorque:

T = 3/2 ∗ p/2 ∗ Φ ∗ I ∗ sinΘ (2.1)

Donde T es el torque, p es la cantidad de polos, Φ es el flujo producido por losimanes, I la corriente estatórica y Θ es el desfase entre los ejes de los polos derotor y estator. Se deduce que la mejor eficiencia se obtiene con un desfase de 90o

puesto que se obtiene el mayor torque posible para una dada corriente estatórica.Uno de los objetivos del control FOC es mantener siempre este desfase óptimo.

Los gráficos hasta ahora representaron a un motor elemental que solo sirve para elanálisis teórico. En la práctica los motores tienen estatores con múltiples bobinasde muchas espiras y los rotores tienen varios imanes. Por ejemplo, en la figura 2.6se esquematiza el corte de un motor de doce polos, con los imanes montados enla superficie del rotor, y en la figura 2.7 se ve el despiece del motor eléctrico de unautomóvil Honda CR-z 2012.

Page 29: Control de un motor sincrónico de imán permanente (PMSM)

2.3. Técnicas de control 17

FIGURA 2.6. Esquema de un motor PMSM de doce polos.1.

FIGURA 2.7. Motor Honda CR-z 2012.2.

2.3. Técnicas de control

2.3.1. Partes constitutivas del control FOC

Una de las técnicas de control más utilizadas en este tipo de motor es el controlvectorial FOC (Field Oriented Control), que se desarrolló para lograr que el controlde los motores PMSM pudiera competir con los motores de corriente continua.Los motores de corriente continua con excitación independiente tienen un ex-celente desempeño ya que se puede controlar independientemente el flujo y el

1https://www.researchgate.net/figure/FE-computation-domain-of-2D-magnetostatic-field-problem-for-a-PMSM-with-36-12-slot-pole_fig1_274757123

2https://www.caricos.com/cars/h/honda/2012_honda_cr-z/images/151.html

Page 30: Control de un motor sincrónico de imán permanente (PMSM)

18 Capítulo 2. Introducción específica

torque. El flujo está controlado por la corriente de campo. Por lo general esta co-rriente es constante. El torque es controlado independientemente por la corrientede armadura. Controlando las corrientes de campo y armadura, se controla elflujo y el torque electromagnético con precisión. En los motores PMSM no exis-te en forma directa este tipo de control. La clave está en encontrar una corrienteequivalente que produzca flujo y otra que produzca torque en este tipo de motor.

Para lograr para este proceso son necesarios los siguientes pasos:

1) Se miden las corrientes de las fases a y b del estator Ia, Ib. La corriente enla fase c se deduce de la siguiente ecuación:

Ia + Ib + Ic = 0 (2.2)

2) Las corrientes medidas en el sistema de referencia trifásico abc se convier-ten a otro de dos fases α , β. Esta conversión, conocida como transformaciónde Clarke, da como resultado las corrientes Iα y Iβ .

3) El sistema de coordenadas α , β que es estático y está referido al estator serota para alinearlo con el flujo del rotor usando la transformación de Park.Para lograr esto se debe conocer la posición angular del rotor Θ. El resulta-do de esta conversión son dos corrientes Id y Iq conocidas como corrientedirecta y en cuadratura. En condiciones de estado estacionario Id e Iq sonconstantes.

4) La corriente Id se utiliza como referencia para regular el flujo magneti-zante del rotor, y a Iq para la regulación del torque del motor. Cada una deestas corrientes se utilizan como señal de error de sendos reguladores PI,que darán como salida el valor de dos tensiones Vd y Vq que son las compo-nentes del vector tensión que se debe aplicar al estator.

5) Pero estas tensiones que están referidas al marco rotativo d, q deben con-vertirse al marco estático α , β con la ayuda de la transformación inversa dePark. Se obtienen entonces las nuevas componentes del vector tensión Vα yVβ .

6) El siguiente paso es volver al sistema trifásico aplicando la transforma-ción inversa de Clarke, para obtener los nuevos valores de las tensiones defase Va, Vb y Vc.

7) Finalmente estas tensiones deben aplicarse al motor. Para sintetizarlas seutiliza el algoritmo de modulación SVPWM (Space Vector Pulse Width Modu-lation), que determina el ciclo de actividad de los transistores del inversor.

En síntesis, con estas transformaciones se modela al PMSM como un motor decorriente continua equivalente. El control tambien debe que tener la habilidadde producir un fasor de tensión y controlar su amplitud, frecuencia y fase. En lafigura 2.8 se observa un gráfico con los distintos elementos del algoritmo FOC ysu relación entre ellos.

Page 31: Control de un motor sincrónico de imán permanente (PMSM)

2.3. Técnicas de control 19

PuenteTrifásico

IGBT

MOTOR

SVPWM

ia

ib

EncoderIncremental

a,b,bb

a,b,ca,b,bb

d,q

q

a,b,bb

d,qPIPI

PI

S

S

-

-

Iqref

Idref = 0

Vq

Vd

Va,b

Vb

Ia,b

Ib

FIGURA 2.8. Esquema del control vectorial FOC.

2.3.2. Transformación de Clarke y su inversa

Las transformación de Clarke convierte las componentes en el dominio del tiem-po de un sistema de tres fases (marco estacionario de tres ejes abc separados 120◦

entre sí) en dos componentes de un marco estacionario ortogonal (α , β) equiva-lente. Esto permite simplificar el análisis de los sistemas trifásicos mediante unoequivalente de dos fases. Esta transformación fue propuesta por Edith Clarke,conocida también por haber sido la primer mujer en obtener un M.S. (Master ofScience) en ingeniería eléctrica del MIT en el año 1919, es decir la primer IngenieraEléctrica de Estados Unidos .

El la figura 2.9 se representa a la izquierda una configuración de los vectores co-rriente de cada fase Ia, Ib y Ic en el marco a,b,c. Su suma vectorial resulta en elvector Ir. Una vez aplicada la transformación, se obtienen los vectores Iα y Iβreferidos al marco de referencia ortogonal α , β como se observa en la parte a laderecha, y cuya suma vectorial también resulta en Ir, por lo tanto esta represen-tación es equivalente. Por simple inspección, se puede expresar que:

iα = iacos(0◦) + ibcos(120◦) + iccos(240◦) (2.3)

iβ = iasen(0◦) + ibsen(120◦) + icsen(240◦) (2.4)

Además, en un sistema balanceado, cuando una máquina trifásica de corrientealterna es conectada en configuración estrella, las corrientes del estator satisfacenla siguiente ecuación:

ia + ib + ic = 0 (2.5)

Page 32: Control de un motor sincrónico de imán permanente (PMSM)

20 Capítulo 2. Introducción específica

CLARKE

c

b

aIb

Ic

Ia

Ir Ir

β

αIα

FIGURA 2.9. Transformación de Clarke..

Al operar sobre 2.3, 2.4 y 2.5, se obtienen las siguientes ecuaciones expresadas enforma matricial:

[iαiβ

]=

3

20 0

0

√3

2

−√

3

2

∗iaibic

(2.6)

que es la versión simplificada de la transformación de Clarke cuando el sistemaes balanceado.

En forma análoga se puede hallar la transformación inversa de Clarke, de ma-nera tal que se pueden obtener las componentes en el marco a,b,c a partir de lascomponentes α , β con la ecuación 2.7:

iaibic

=

1 0

−1

2

√3

2−1

2

−√

3

2

∗[iαiβ

](2.7)

2.3.3. Transformación de Park y su inversa

La transformación de Park es tal vez el concepto más importante para entendercómo funciona el FOC. Fue presentada por el Ingeniero norteamericano RobertPark en 1929.

Como se describió anteriormente, el vector Ir es la resultante de la suma vectorialde las tres corrientes de fase que circulan por los bobinados estatóricos al conec-tarlos a un sistema de alimentación trifásico. Esta combinación produce un vectorIr rotativo y sus componentes en el marco α , β varían senoidalmente.

Page 33: Control de un motor sincrónico de imán permanente (PMSM)

2.3. Técnicas de control 21

Como se dedujo de la ecuación 2.1, el FOC necesita mantener el desfase entre losflujos magnéticos del rotor y del estator en 90◦. Entonces es necesario conocer laposición angular del rotor (en este caso se utiliza un encoder acoplado al eje delmotor) para luego generar una combinación de corrientes de fase sinusoidales cu-ya resultante esté desfasada 90◦. Realizar un sistema de regulación de velocidadcon estos requerimientos es complejo y costoso.

Mediante la transformación de Park se pueden referir las componentes del vectorrotativo Ir a un nuevo el marco de referencia d , q que gira en fase con el rotor. Selo nombra d , q por sus nombres en inglés direct, quadrature. Por lo tanto, en estadoestacionario las componentes en el marco d , q son constantes, lo que simplificasu regulación.

En la figura 2.10 se representa esta transformación. Supóngase que el motor estágirando a velocidad constante ω (está en régimen permanente).

FIGURA 2.10. Transformación de Park..

Obsérvese las componentes del vector Ir, que son Iα y Iβ , cuando se lo refiereal marco estático α , β. A medida que el vector Ir gire las componentes variaránsiguiendo un patrón senoidal.

Por otro lado, si se refiere el vector Ir al marco d , q se obtienen las componen-tes Id y Iq. Como este marco rota también a la velocidad ω siguiendo al rotoren su giro (que en este caso ha rotado un ángulo Θ), los valores de Id y Iq per-manecerán constantes. De esta manera se simplifica la regulación ya que es másfácil controlar magnitudes que tienden a ser constantes que aquellas que varíansenoidalmente.

De la figura 2.10, se deduce que:

iα = |ir|cos(φ) (2.8)

iβ = |ir|sen(φ) (2.9)

id = |ir|cos(φ− θ) (2.10)

Page 34: Control de un motor sincrónico de imán permanente (PMSM)

22 Capítulo 2. Introducción específica

iq = |ir|sen(φ− θ) (2.11)

Reemplazando 2.8 y 2.9 en 2.10 y 2.11, aplicando identidades trigonométricasde las restas de los ángulos y agrupando las ecuaciones en formato matricial seobtiene la ecuación de la transformación de Park:

[idiq

]=

[cos(θ) sen(θ)−sen(θ) cos(θ)

]∗[iαiβ

](2.12)

Operando algebraicamente, se obtiene la ecuación de la transformación inversade Park

2.13: [iαiβ

]=

[cos(θ) −sen(θ)sen(θ) cos(θ)

]∗[idiq

](2.13)

2.3.4. Inversor trifásico y modulación SVPWM

Otros dos aspectos importantes a tratar son la electrónica de potencia utilizadapara energizar el motor y el método de modulación elegido. En la figura 2.11se observa un esquema del inversor trifásico implementado. Para simplificar elanálisis se reemplazan los transistores por interruptores equivalentes [11].

Bl

Bh

Al

Ah

VcVdc

Cl

Ch

Vb

Va

Vn

FIGURA 2.11. Esquema de un inversor.

El inversor está compuesto por tres ramas, cada una de ellas posee dos interrupto-res, uno en la parte superior y otro en la inferior. Las tres ramas están conectadasa una fuente de corriente continua y los puntos medios de las ramas se conectana los tres bobinados del motor, que en este caso están conectados en estrella. Laregla fundamental de este dispositivo es que cuando un interruptor esté cerra-do, el opuesto de la misma rama debe estar abierto. Caso contrario se produciríaun cortocircuito de la fuente y se quemarían los transistores. En la figura 2.12 serepresenta una combinación posible, denominado estado 100 (se toman como re-ferencia los interruptores de la parte superior, 1 representa cerrado y 0 abierto).

Page 35: Control de un motor sincrónico de imán permanente (PMSM)

2.3. Técnicas de control 23

Bl

Bh

Al

Ah

VcVdc

Cl

Ch

Vb

Va

VnVb

Ic

Ib

Ia

FIGURA 2.12. Combinación "100"del inversor.

Por simple inspección se determina que para la combinación 100 las tensiones enlos bobinados son:

Van =2

3Vdc (2.14)

Vbn = Vcn = −1

3Vdc (2.15)

Si se observa nuevamente la figura 2.3a y se hace la analogía con la tensión apli-cada a las bobinas, es evidente que la combinación 100 produce un vector tensiónresultante que coincide con el eje α, y cuyo módulo es igual a Vdc (se obtieneaplicando la ecuación 2.6). Si se analizan todos los casos posibles se llega a laconcusión de que hay ocho combinaciones, como se muestra en la figura 2.13.

Cada caso produce una combinación de tensiones en los bobinados del motor,con su correspondiente vector tensión. En la tabla 2.1 se detallan los valores detensión resultantes en los bobinados del motor para cada vector.

TABLA 2.1. Vectores voltaje

Vector Combinacion Van Vbn Vcn

V1 100 2/3 Vdc -1/3 Vdc -1/3 VdcV2 110 1/3 Vdc 1/3 Vdc -2/3 VdcV3 010 -1/3 Vdc 2/3 Vdc -1/3 VdcV4 011 -2/3 Vdc 1/3 Vdc 1/3 VdcV5 001 -1/3 Vdc -1/3 Vdc 2/3 VdcV6 101 1/3 Vdc -2/3 Vdc 1/3 Vdc

Los vectores V0 y V7 son los llamados vectores nulos, puesto que ponen en cor-tocircuito los extremos de los bobinados del motor y por lo tanto la tensión resul-tante es cero. La figura 2.14 es una representación de los ocho vectores.

Si se aplican al motor los vectores tensión secuencialmente (de V1 a V6 y así suce-sivamente) a una velocidad constante se obtiene un campo magnético giratorio,sin embargo este campo tendrá solo valores discretos puesto que entre un vector

Page 36: Control de un motor sincrónico de imán permanente (PMSM)

24 Capítulo 2. Introducción específica

Bl

Bh

Al

Ah

VcVdc

Cl

Ch

Vb

Va

Vn

Bl

Bh

Al

Ah

VcVdc

Cl

Ch

Vb

Va

Vn

Bl

Bh

Al

Ah

Vc

Cl

Ch

Vb

Va

Vn

Bl

Bh

Al

Ah

Vc

Vdc

Cl

Ch

Vb

Va

Vn

Bl

Bh

Al

Ah

VcVdc

Cl

Ch

Vb

Va

Vn

Bl

Bh

Al

Ah

VcVdc

Cl

Ch

Vb

Va

Vn

Bl

Bh

Al

Ah

Vc

Vdc

Cl

Ch

Vb

Va

Vn

Bl

Bh

Al

Ah

VcVdc

Cl

Ch

Vb

Va

Vn

000 111

010

101

110

001

100

011

FIGURA 2.13. Combinaciones posibles del inversor.

y el adyacente no hay ningún otro vector intermedio. Esto produciría un fun-cionamiento con vibraciones debido al ripple en el torque. Nótese que entre dosvectores adyacentes, solo cambia el estado de un interruptor. Los vectores deter-minan seis sectores, del I al VI. Para lograr la generación de vectores en ángulosintermedios a los de los vectores principales, se utiliza la técnica de modulaciónde ancho de pulso PWM (Pulse Width Modulation). En la figura 2.15 se presenta un

Page 37: Control de un motor sincrónico de imán permanente (PMSM)

2.3. Técnicas de control 25

V0 (000)

V6 (101)V5 (001)

V4 (011)

V3 (010) V2 (110)

V1 (100)V7 (111)

IIII

IV VI

V

II

α

β

FIGURA 2.14. Posición de los vectores del SVPWM.

caso en el que se desea aplicar al motor un vector tensión V, entre los vectores V1y V2 (sector I). Como el inversor solo puede aplicar los vectores principales, paragenerar las componentes Vx y Vy se hacen conmutaciones de los vectores V1 yV2 de manera tal que sus valores medios sean iguales a los módulos de Vx y Vyrespectivamente. Si se denomina T al período del PWM y T1 y T2 a los ciclos deactividad de los vectores V1 y V2, se puede determinar que:

T1 = |Vx|/|V1| (2.16)

T2 = |Vy|/|V2| (2.17)

Por lo tanto el tiempo que el inversor aplica los vectores nulos es:

Tcero = T − T1 − T2 (2.18)

Finalmente, se opta por repartir este tiempo en partes iguales entre los vectoresV0 y V7, por lo tanto los tiempos correspondientes T0 y T7 son:

T0 = T7 = Tcero/2 (2.19)

La secuencia de conmutación será V0-V1-V2-V7-V2-V1-V0, que es lo mismo quedecir que los patrones serán 000-100-110-111-110-100-000. Al haber solo una con-mutación en la transición de un patrón a otro, esta secuencia se puede generarfácilmente con un modulador de ancho de pulsos de 3 canales, como se observa

Page 38: Control de un motor sincrónico de imán permanente (PMSM)

26 Capítulo 2. Introducción específica

V0 (000)

V6 (101)V5 (001)

V4 (011)

V3 (010) V2 (110)

V1 (100)V7 (111)

α

β

Vx

Vy V

FIGURA 2.15. Síntesis de un vector intermedio.

en la figura 2.16. Con este método el algoritmo SVPWM permite generar un vec-tor de la amplitud y fase que se desee combinando los vectores principales segúnel sector en que se encuentre.

T

T02 T7

T12

T22

T02

T12

T22

000100110111110100000

Canal C

Canal B

Canal A

FIGURA 2.16. Forma de onda del PWM.

Page 39: Control de un motor sincrónico de imán permanente (PMSM)

2.4. Selección de los componentes principales del 27

2.4. Selección de los componentes principales del

2.4.1. Procesador

La idea inicial de este trabajo era utilizar la placa EDU-CIAA como plataforma yaque su procesador cuenta con los periféricos necesarios. Al comenzar las tareasde diseño del plano esquemático se concluyó que la placa CIAA no era adecua-da debido a que los pines de salida del periférico PWM no están conectados ysería muy engorroso lograr una conexión confiable. También se evaluó la pla-ca CIAA pero desafortunadamente los pines destinados al PWM se compartencon las líneas de control de la memoria externa. Además se comprobó que tam-poco se cuenta con las bibliotecas LPC OPEN del LPC4337 para este periférico.Por lo tanto se buscó otra plataforma que use un procesador ARM CORTEX M4Fsimilar y que se adaptara mejor al proyecto. Tomó bastante tiempo decidir la pla-taforma a utilizar dado que hay muchas variantes en el mercado. Finalmente seoptó por una plataforma que usa un procesador mucho más económico, cuentacon todos los periféricos necesarios, el fabricante impulsa su uso para control demotores y dispone de un entorno de desarrollo (STM32CUBEIDE) que ayuda enla configuración de los periféricos. El procesador elegido es el STM32F303 de STMicroelectronics que cuenta con la placa de evaluación NUCLEO-F303RE (figura2.17) fácilmente adaptable y muy económica (solo USD 10.99).

FIGURA 2.17. Placa Nucleo-F303RE.

2.4.2. Etapa de Potencia

Para este trabajo se cuenta con un motor PMSM facilitado por un fabricante depuertas de ascensor que funciona con 220 Volts. Para el inversor se eligió el mó-dulo de transistores STGIB10CH60TS-L (figura 2.18) que cuenta con todas la ca-racterísticas necesarias para manejar este motor (600 volts, 10 Amper, proteccióncontra cortocircuito, etc.) además de ser uno de los pocos relativamente fácil deconseguir en su momento (es un producto que suele faltar en stock). Si bien la

Page 40: Control de un motor sincrónico de imán permanente (PMSM)

28 Capítulo 2. Introducción específica

corriente de los transistores está sobre dimensionada para este motor, se lo consi-deró conveniente para extender su aplicación a operadores de puerta de ascensorque utilizan motores ACIM de corrientes superiores.

FIGURA 2.18. Módulo STGIB10CH60TS-L.

2.5. Requerimientos

A continuación se listan los requerimientos, de forma resumida, con los que seplanificó y desarrolló el proyecto:

2.5.1. Requerimientos de Hardware

1.1 Deberá incluir un módulo IGBT trifásico integrado STGIB10CH60S-L.

1.2 Deberá incluir una etapa rectificadora y filtro a capacitor.

1.3 Deberá incluir circuitos de medición de tensión intermedia y corrientesde fase. Los rangos serán 10 a 350 volts y 0,1 a 2 Amper, respectivamente.

1.4 Deberá incluir protección contra cortocircuito entre fases del motor.

1.5 Deberá incluir fusible de entrada.

1.6 Deberá incluir un conector de alimentación externa de 15 V para el mó-dulo de potencia.

1.7 Deberá incluir la medición de temperatura del módulo. El rango será de0 a 150 grados celsius.

1.8 Deberá incluir el disipador necesario para que la temperatura del mó-dulo no supere los 110 grados celsius.

1.9 Deberá incluir bornes de entrada de alimentación de 220 V y salida amotor.

1.10 Deberá incluir conector para interconexión con la placa NUCLEO-F303RE.

1.11 Deberá incluir conexión y alimentación del encoder con fuente inde-pendiente externa.

1.12 Deberá incluir una uart para conexión conexión a una computadora.

Page 41: Control de un motor sincrónico de imán permanente (PMSM)

2.5. Requerimientos 29

1.12 Deberá incluir una uart para la eventual conexión de un módulo LoRao NB-IoT para telemedición y control a futuro.

2.5.2. Requerimientos del Firmware

2.1 Se deberá implementar el algoritmo de modulación SVPWM, con unafrecuencia de portadora de 10 Khz como mínimo.

2.2 Se deberán implementar las transformadas directas e inversas de Park yClarke y el control vectorial FOC.

2.3 El sistema deberá determinar la posición del rotor a través del encoder.

2.4 El sistema deberá medir corrientes y tensiones de fase y tensión del cir-cuito intermedio.

2.5 El sistema deberá implementar rampas de aceleración y desaceleración.

2.6 El sistema deberá apagar el inversor si hay falla del módulo de potenciao sobre temperatura.

2.7 El sistema hará un ajuste al funcionar en modo operador de puerta. Estosignifica que al comenzar a funcionar el equipo realizará un movimiento deapertura y cierre a baja velocidad hasta llegar a los topes de la puerta. Esteprocedimiento le permite medir la longitud de la luz libre de la puerta yfijar la posición cero (puerta cerrada).

2.8 El sistema abrirá y cerrará puerta pulsando un interruptor tipo contactoseco.

2.9 Se podrán conocer variables de estado y modificar parámetros de fun-cionamiento a través de una uart. También se podrá enviar comandos deapertura y cierre.

2.10 El sistema deberá abrir la puerta automáticamente si durante el proce-dimiento de cierre encuentra un obstáculo.

Page 42: Control de un motor sincrónico de imán permanente (PMSM)
Page 43: Control de un motor sincrónico de imán permanente (PMSM)

31

Capítulo 3

Diseño e implementación

En este capítulo se detallan las consideraciones de diseño que se tuvieron en cuen-ta para realizar el prototipo del inversor, los detalles del hardware, el funciona-miento del firmware y el software de manejo de la puerta automática.

3.1. Diseño del hardware

En la sección 2.1 (figura 2.1) se hizo referencia a las partes constituyentes del in-versor que a continuación se presentan en detalle.

3.1.1. Procesador

Consiste en la placa NUCLEO-F303RE. Cuenta con un microprocesador STM32F303REbasado en un core CORTEX-M4F. El diseño del sistema se basa en los siguientesrecursos de hardware disponibles en este microprocesador:

1. Core: ARM R©Cortex R©-M4 32-bit CPU con FPU (FloatingPoint Unit) a 72MHz, multiplicación y división por hardware en un solo ciclo, instruccionesDSP (Digital Signal Processing) y MPU (Memory Protection Unit).

2. Cuatro ADC con un tiempo de conversión de hasta 0.20 µs (22 canales)con resolución seleccionable (12, 10, 8 y 6 bits), rango de conversión de 0 a3,6 Volts, fuente analógica separada de 2,0 a 3,6 V .

3. Controlador de acceso directo a memoria DMA (Direct Memory Access),12 canales.

4. Un timer de 32 bits con contador de pulsos con entrada para encoder porcuadratura.

5. Un timer de control avanzado de 16 bits con 6 canales de PWM, genera-ción de tiempo muerto y detención de emergencia.

6. Un timer de 16 bits con entrada de captura.

La utilización de estos periféricos se describe en las siguientes secciones de estedocumento.

Page 44: Control de un motor sincrónico de imán permanente (PMSM)

32 Capítulo 3. Diseño e implementación

3.1.2. Poncho inversor

Los restantes elementos del prototipo se incluyen en la placa Poncho inversor(por analogía con los ponchos de las placas del proyecto CIAA, pero en este ca-so es para la placa NUCLEO) como se observa en la figura 3.1. Por razones de

Amplificación y acondicionamiento

Resistoresshunt

Fuente de alimentación

300 Vcc

Módulo IGBTtrifásico

STGIB10CH60TS-L

Conexión aNUCLEO-F303

Entradaencoder

Alimentaciónexterna3,3 Vcc15 Vcc

220 Vca

Fuenteexterna

Encoderincremental

MotorPMSM

FIGURA 3.1. Esquema del poncho inversor

confidencialidad, no se incluirá el circuito esquemático.

Conexión a NUCLEO-F303

Este bloque incluye los conectores necesarios para vincular el poncho a la placaNUCLEO, que están dispuestos de manera tal que ésta se enchufe directamenteen el poncho.

Módulo IGBT trifásico

El módulo utilizado es el STGIB10CH60TS-L, cuyo esquema se observa en la figu-ra 3.2, los detalles técnicos se encuentran en su hoja de datos[12]. Consta de seistransistores IGBT dispuestos en tres ramas. Los bloques con las leyendas H-sidey L-side son los drivers de las compuertas. Sus entradas se conectan a las salidasdel PWM del procesador y sus salidas polarizan las compuertas de los transisto-res con las tensiones necesarias para llevarlos al corte o a la saturación. El driverH-side tiene la particularidad de poseer un circuito denominado Bootstrap cuyafunción es suministrar la alta tensión necesaria para polarizar los transistores dellado alto de las ramas [13]. Incluye protección contra sobre corriente (a través deun comparador interno), contra baja tensión de alimentación y sensor de tempe-ratura. Además los emisores de los transistores de la parte baja de las ramas estánseparados entre si, lo que simplifica el conexionado de los resistores shunt paramedición de las corrientes de fase.

Page 45: Control de un motor sincrónico de imán permanente (PMSM)

3.1. Diseño del hardware 33

L-side

H-side

SD/OD(14)

Cin(15)

GND(16)

TSO(17)

(18)NW

(19)NV

VbootU(2)

NC(1 )

HinU(5)

VbootW(4)

VbootV(3)

VccH(8)

HinW(7)

HinV(6)

LinU(10)

GND(9)

VccL(13)

LinW(12)

LinV(11)

(20)NU

(21)W

(22)V

(23)U

(24)P

(25)T2

(26)T1

FIGURA 3.2. Esquema del módulo STGIB10CH60TS-L

Resistores shunt

Para la determinación de las corrientes de fases se utilizan resistores shunt debajo valor (0,25 ohm) en serie con los emisores de dos de los transistores de laspartes bajas de las ramas. La tensión presente en estos resistores se amplifica ycondiciona en otra etapa. En la figura 3.3 se muestra el estado de funcionamien-to correspondiente al vector 000, conducen los tres transistores de la parte bajamientras que los tres de la parte alta están abiertos. Las corrientes Ia, Ib e Ic sonlas corrientes de fase que circulan por las bobinas del motor La, Lb y Lc. Porlo tanto en ese momento las corrientes de fase Ia e Ib pueden determinarse mi-diendo las tensiones en los resistores Ra y Rb respectivamente. La corriente Icse determina como se vió en 2.3 con la ecuación 2.2. El procesador medirá estastensiones con el ADC, que deberá estar sincronizado con el PWM de manera talde muestrear solo cuando los tres transistores de la parte baja estén en estado deconducción.

Amplificación y acondicionamiento

Esta etapa adapta las tensiones presentes en los extremos de los resistores shunta la entrada del ADC. En el diagrama esquemático de la figura 3.4 se observa laetapa correspondiente a uno de los resistores. La etapa toma la tensión presenteen el resistor shunt (entre WSHUNT y -BUS) y la amplifica. La ganancia es lanecesaria para obtener la máxima excursión sin que los amplificadores saturen ala corriente máxima del motor y además el rango de tensión de salida coincida

Page 46: Control de un motor sincrónico de imán permanente (PMSM)

34 Capítulo 3. Diseño e implementación

Ra RbRa

300 Vcc

La

Lb

Ra

Lc

Ib

RaRa

Ic

Ia

FIGURA 3.3. Esquema del puente trifásico con resistores shunt.

con el rango de tensión de entrada del ADC. Se obtiene asi la máxima resolución.Además se agregan filtros pasabajos y un desplazamiento de tensión del 50 % dela tensión de alimentación analógica (VDDA) para permitir también la mediciónde corrientes negativas.

Entrada de encoder

Esta etapa posee los bornes de conexión para el encoder incremental. Provee sualimentación y reduce la tensión de salida de los canales del encoder para adap-tarla a los niveles de entrada del decodificador de cuadratura del procesador.

Fuente de alimentación

Se encarga de rectificar y filtrar la entrada de 220 Volts de corriente alterna de redpara obtener 300 Volts de corriente continua, necesarios para que este inversorpueda manejar el motor utilizado en este trabajo. Dado que se utiliza un capacitorde filtro de 220 uF, se agregó un NTC (Negative Temperature Coefficient resistor) enserie para limitar el pico de corriente al conectar el inversor a la red.

Alimentación externa

Incluye los bornes para conectarla alimentación externa de 3,3 Volts para la placaNUCLEO y los amplificadores operacionales, y los 15 Volts que necesita el módu-lo de transistores IGBT. En la versión comercial se incluirá una fuente conmutada

Page 47: Control de un motor sincrónico de imán permanente (PMSM)

3.1. Diseño del hardware 35

FIGURA 3.4. Etapa de acondicionamiento de señal.

en el dispositivo, pero su diseño excede el alcance de este trabajo.

3.1.3. Circuito impreso

En las figuras 3.5 y 3.6 se aprecian los renders y fotos de las vistas superior einferior del circuito impreso. En su diseño se tuvo especial cuidado en respetarlas distancias mínimas en las zonas de alta tensión según la norma IPC-2221B[14]. En este caso, como es una placa con máscara antisoldante y las tensionesmáximas no superan los 500 Volts, la distancia mínima a tener en cuenta es de 0,8mm.

Por otro lado, como la etapa de amplificación utiliza circuitos diferenciales, sediseñaron las pistas que conectan los resistores shunt y las entradas de los ampli-ficadores como pares diferenciales. Este conexionado también ayuda a disminuirel ruido en modo común.

Para facilitar la colocación de las puntas del instrumental utilizado se agregaronpuntos de testeo en los nodos de mayor interés. Como se observa en la figura 3.6,se previó que el módulo de transistores se coloque en la parte inferior de la placapara facilitar el montaje de un disipador de calor.

Para cumplir con los requisitos de hardware (2.5.1) se agregaron dos conectorespara un módulo LoRa y una memoria micro sd, que serán utilizados en un trabajoposterior.

Page 48: Control de un motor sincrónico de imán permanente (PMSM)

36 Capítulo 3. Diseño e implementación

FIGURA 3.5. Placa inversor - vista superior - render y foto.

FIGURA 3.6. Placa inversor - vista inferior - render y foto.

3.2. Diseño del firmware

Para el diseño del firmware se usaron conceptos de ingeniería de software talescomo patrones de software, estructura de capas y encapsulamiento. Cabe desta-car que en esta implementación los algoritmos FOC-SVPWM tienen restriccionesde tiempo y es necesaria una coordinación de los periféricos involucrados, lo quemerecen un tratamiento especial.

3.2.1. Sistema operativo y entorno de desarrollo

Se adoptó el sistema operativo FreeRTOS, ampliamente utilizado en microcontro-ladores. Está pensado para aplicaciones en tiempo real, es gratuito y puede usarse

Page 49: Control de un motor sincrónico de imán permanente (PMSM)

3.2. Diseño del firmware 37

en aplicaciones comerciales sin necesidad de exponer el código fuente desarrolla-do.

Un punto importante a destacar es que se utilizó el IDE (Integrated DevelopmentEnvironment) que provee la empresa ST Microelectronics, fabricante del procesa-dor y de la placa NUCLEO, llamado STM32-CubeIDE.

Este IDE posee un asistente llamado STM32CubeMX que ayuda a la configura-ción del microcontolador y genera el código de inicialización en lenguaje C parala CPU y los periféricos.

El STM32CubeMx permite agregar el componente de software FreeRTOS, peroutiliza una capa de abstracción provista por la empresa Arm Ltd. (Advanced RISCMachines) a través de la interfaz de programación de aplicaciones o por sus siglasAPI (Application Programming Interface) denominada CMSIS-RTOS [15]. La inten-ción de esta API es proveer una interfaz de programación estándar que se puedeusar con varios sistemas operativos en tiempo real. Esta API es muy parecida ala API del FreeRTOS, sin embargo los nombres de las funciones y sus parámetrosdifieren. Además no todas las funciones de la API del FreeRTOS están implemen-tadas, en cuyo caso pueden llamarse con la API del FreeRTOS directamente. Enla tabla 3.1 se listan algunas funciones de ejemplo.

TABLA 3.1. Comparativa de algunas funciones equivalentes enambas API

FreeRTOS API CMSIS-RTOS API

vtaskDelay OsDelayxSemaphoreCreateBinary osSemaphoreDefxTaskCreate osThreadDefxQueueCreate osMessageCreatexQueueReceive osMessageGet

3.2.2. Algoritmos FOC y SVPWM versus FreeRTOS

En la sección 2.3 se listaron las etapas del control FOC, la primera es la mediciónde las corrientes de fase y la última la modulación SVPWM. Estas dos etapas estánfuertemente vinculadas en la implementación. El requerimiento 2.1 especifica quela frecuencia portadora del SVPWM debe ser de 10 khz como mínimo. Se adoptóuna frecuencia de 15 khz, lo cual garantiza que el ruido acústico producido en losbobinados del motor esté por encima del rango audible.

El algoritmo requiere que todo el procesamiento se realice en cada ciclo del PWM,o sea que debe repetirse cada 66,67 µs.

En la figura 3.7 se observan las señales de salida del PWM que comandan lascompuertas de los transistores de la parte baja de las ramas.

En la zona central del ciclo del PWM las compuertas de los tres transistores (ca-nales A, B y C) están en estado alto, por lo tanto los tres están simultáneamenteen conducción y es el momento propicio para iniciar la conversión en el ADC.Para lograr esto se utiliza un cuarto canal del PWM (canal auxiliar). Gracias alas herramientas de hardware que provee el STM32F303RE, es posible configurar

Page 50: Control de un motor sincrónico de imán permanente (PMSM)

38 Capítulo 3. Diseño e implementación

T = 66,67 μs s

Canal C

Canal B

Canal A

CanalAuxiliar

Disparo del ADC

Tiempo de conversión del

ADC

Tiempo de Procesamiento

FOC

InicioFOC

FIGURA 3.7. Señales del PWM y disparo del ADC.

los periféricos de manera tal que el ADC dispare en forma automática la conver-sión con el flanco descendente del canal auxiliar. El momento del disparo puedeconfigurarse mediante el ciclo de actividad del canal auxiliar.

Para determinar el momento del disparo se deben tener en cuenta los siguientesfactores:

Tiempo muerto (dead time): los transistores de cada rama no pueden estarsimultáneamente en estado de conducción dado que se produciría un cor-tocircuito de la fuente de alta tensión. Las señales de salida del PWM soncomplementarias, es decir cuando el transistor de la parte alta de una ramaestá en estado de conducción, su complementario de la parte baja está cor-tado y viceversa. Pero esto no garantiza que no se pueda producir un corto-circuito. El problema es que existe una demora desde el momento en que laseñal del PWM ordena el apagado del transistor hasta que este está efecti-vamente apagado. Para mitigar este problema el PWM tiene la posibilidadde agregar un dead time. Este tiempo introduce un retraso programable dela señal de salida cuando esta pasa de bajo a alto, de manera tal de esperarel apagado del transistor complementario antes de encender el transistor encuestión. Esta demora produce una leve deformación en la forma de ondade salida del inversor.

Tiempo de establecimiento: la conmutación de los transistores producen os-cilaciones debido a las capacitancias e inductancias presentes en los compo-nentes y el circuito impreso, que se propagarán a la etapa amplificadora. Elsistema debe esperar a que estas oscilaciones cesen para poder realizar unamedición confiable. Además la etapa de amplificación tiene una demora in-troducida por el filtro pasa bajos, y otra debida al slew rate del amplificador

Page 51: Control de un motor sincrónico de imán permanente (PMSM)

3.2. Diseño del firmware 39

operacional. Todos estos efectos sumados producen una demora llamadatiempo de establecimiento que va desde el momento de la conmutación deltransistor hasta que la señal de salida del amplificador está lo suficiente-mente estable como para que el ADC pueda realizar la medición.

En síntesis, el momento de disparo se programa teniendo en cuenta las demorasintroducidas por estos dos factores. Lamentablemente esta técnica de medición decorriente limita el ancho de pulso mínimo del transistor (ver canal C del ejemplode la figura 3.7) puesto que no puede volver a conmutar hasta que haya finalizadoel muestreo del ADC, lo que significa que la modulación no puede ser del 100 %.Sin embargo es muy utilizado por su bajo costo.

En lo que respecta al ADC, tiene la posibilidad de programar una secuencia demediciones, en la que se puede especificar el canal y el tiempo de muestreo decada paso de la secuencia. Todo este procedimiento lo ejecuta el hardware delmicroprocesador, sin intervención de la CPU. Es decir que se configuró el sistemade manera tal que al recibir la señal de disparo se inicie la conversión del canalque recibe la tensión del resistor shunt de la fase A, y al finalizar repita el procesocon el canal de la fase B. Una vez terminada la secuencia, el hardware dispararáautomáticamente una interrupción de fin de medición.

La finalización de la medición de corrientes inicia el algoritmo FOC, que realizalas operaciones antes mencionadas en 2.3 para determinar los valores de las com-ponentes del vector tensión que deberá modular el SVPWM. La resultante delproceso son los valores de los ciclos de actividad de cada uno de los tres canalesdel PWM, valores que deben cargarse en sus Shadow registers. El hardware trans-ferirá automáticamente estos valores a los registros de comparación del PWM porhardware recién cuando se inicie un nuevo ciclo del modulador.

Todas estas propiedades, que dependen del hardware del microprocesador, sedetallan en el manual de referencia [16].

En la figura 3.7 se aprecia que para resolver el algoritmo FOC se cuenta con untiempo limitado. En la etapa de desarrollo surgió la disyuntiva de cuál sería lamejor estrategia a seguir: cálculos con punto fijo o con punto flotante. Se selec-cionó un procesador que cuenta con una unidad de punto flotante FPU, pero lasrestricciones de tiempo pusieron en duda su utilización. Posteriormente se com-probó que las versiones de código implementadas en punto flotante eran casi tanrápidas como las de punto fijo . Además tiene la ventaja de un rango dinámicomuy superior. Cabe mencionar que el procesador Cortex-M4F provee la funciona-lidad Lazy Stacking [17] por la cual, al presentarse una interrupción, el procesadorreserva automáticamente espacio de stack para el almacenamiento de parte de losregistros de trabajo de la unidad de punto flotante. De esa manera, si dentro de lainterrupción se utiliza la FPU, el procesador guardará automáticamente parte delos registros de operación en el espacio previamente reservado. También si no seestá utilizando la FPU el procesador no perderá tiempo de CPU en almacenar losregistros.

Se concluye que por razones de performance no es posible ejecutar estos algorit-mos en una tarea del FreeRTOS, ya que su periodicidad debe ser respetada y seríaafectada por el overhead introducido por el sistema operativo en tareas tales comoscheduling y context-switch. Además su período es mucho menor del recomendadopara una tarea repetitiva corriendo en FreeRTOS para este procesador (del ordende 1 mseg).

Page 52: Control de un motor sincrónico de imán permanente (PMSM)

40 Capítulo 3. Diseño e implementación

Para lograr el cumplimiento de estas restricciones se diseñó esta tarea de ma-nera tal que se ejecute dentro del handler de interrupción del ADC. Es decir, elsistema primero configura el timer en modo PWM y lo inicia, luego el timer dis-parará la medición del ADC en el instante determinado, al terminar la secuenciade medición el ADC generará una interrupción y finalmente el handler de dichainterrupción ejecutará el algoritmo FOC. Todo este procedimiento se realiza fueradel FreeRTOS. Es más, la prioridad de la interrrupción del ADC deberá ser másalta que la del tick del FreeRTOS, para evitar que el scheduler interfiera en su eje-cución. Se podría decir que todas las tareas del FOC corren en modo "Bare Metal".El FreeRTOS desconoce su existencia y en consecuencia el FOC no utiliza ningúnllamado del sistema operativo.

El resto de las tareas correrán bajo control del sistema operativo, entre las que seincluyen el control de velocidad, la comunicación con la PC, la generación de lasrampas de velocidad y el manejo del operador de puerta.

3.2.3. Arquitectura del Firmware

Para armar la estructura básica del firmware y cumplir con los requerimientosse adoptó una arquitectura en capas para separar y desacoplar todo lo posiblesus partes componentes. La idea es que el código sea modular, pueda mudarsea otra arquitectura de hardware lo más fácil posible y se simplifique su mante-nimiento. Esta estructura se muestra en la figura 3.8. Los componentes de cada

Periféricos y Memoria

Cortex M4F Encoder

CMSIS HAL - LL Custom Drivers

CubeMx

CMSIS-DSP FreeRTOS MEDICIONES FOC - SVPWM

CONTROL MOTOR CONTROL PUERTA ComunicaciónPC

HARDWARE

HAL

SERVICIOS

APLICACIÓN

FIGURA 3.8. Arquitectura en capas del firmware.

capa se codificaron manteniendo el encapsulamiento de sus variables y el accesoa ellas se realiza a través de funciones de interfase. A continuación se describenlos componentes de cada capa:

Hardware: esta capa incluye los elementos de hardware presentes en el mi-croprocesador (CPU, memoria, periféricos) y el encoder cuya función esproducir una señal para determinar la posición y la velocidad del motor.

HAL: en esta capa se incluyen las bibiliotecas CMSIS provista por ARM, labiblioteca HAL (Hardware Abstraction Layer) y LL (Low Level Layer) que sonprovistas por ST Microelectronics y cuya función es proveer una API están-dar de manejo de los periféricos del microcontrolador a lo largo de toda sufamilia de microcontroladores. Estas bibliotecas en combinación con la he-rramienta de generación de código CubeMX crean un proyecto que incluyela inicialización del oscilador y de los periféricos. También se incluye en esta

Page 53: Control de un motor sincrónico de imán permanente (PMSM)

3.2. Diseño del firmware 41

capa aquellos drivers que se codificaron para realizar operaciones que estánfuertemente relacionadas con el hardware. Estos últimos se deben reescribiren el caso de un cambio de plataforma.

Servicios: en esta capa se encuentran todos los componentes necesarios parael manejo del motor. La biblioteca CMSIS-DSP provee las rutinas que sinte-tizan los controladores PI (Proporcional Integral). Otras bibliotecas proveenlas funciones de medición de tensión, corriente, posición angular y veloci-dad de rotación, todas ellas necesarias para el FOC y el SVPWM. Finalmentetambién se incluyó en esta capa al sistema operativo FreeRTOS.

Aplicación: esta capa incluye el control de velocidad del motor, el controldel operador de puerta y la comunicación con la PC.

El patrón de diseño de arquitectura que se consideró más adecuado es el patróncontrol ambiental, dado que se caracteriza no solo por el monitoreo del medioambiente sobre el cual opera el sistema sino que también posee actuación paramodificarlo. En este caso este patrón se repite dos veces, uno es el controlador dela puerta que a su vez utiliza como actuador al control de motor, como se ve en elesquema simplificado de la figura 3.9.

Procesocontrolador de

puerta

Procesocomunicación PC

Procesosensor posición

Procesocontrol de velocidad

Procesosensor velocidad

y posición angular

Procesosensor corriente

ProcesoFOC y modulador

Procesocontrol de motor

FIGURA 3.9. Patrones de arquitectura control ambiental.

Durante el desarrollo se realizó el control de versiones con la herramienta Git y elanálisis estático del software con Cppcheck.

Page 54: Control de un motor sincrónico de imán permanente (PMSM)

42 Capítulo 3. Diseño e implementación

3.2.4. Tareas del sistema

A continuación se describen las tareas que se ejecutan en el ámbito del FreeRTOS:

VLTask

Esta es la tarea que realiza el control de velocidad a lazo cerrado. Al comen-zar realiza la sincronización del motor y el encoder, inicializa los medidoresde posición y velocidad, al algoritmo FOC y finalmente dispara el PWM. Apartir de allí la tarea es un loop que debe repetirse cada 1 mseg rigurosa-mente, por lo que se le asigna una prioridad alta. Dentro del loop calcula lavelocidad aplicando un filtrado moving average, y actualiza el PI de veloci-dad para obtener como salida el valor de corriente de torque que aplicará elFOC. Un esquema de este control a lazo cerrado se aprecia en la figura 3.10,el bloque FOC puede verse con más detalle en la figura 2.8.

Puentetrifásico

IGBT

MOTOR

ia

EncoderIncremental

q

PISVref

-

Mediciónvelocidadangular

Vmed

ib

AlgoritmoAlgoritmoFOCFOC

FIGURA 3.10. Esquema control PI de velocidad.

Page 55: Control de un motor sincrónico de imán permanente (PMSM)

3.2. Diseño del firmware 43

RampTask

Esta tarea genera la rampa de velocidad. Es una una máquina de estadosque normalmente está bloqueada a la espera de una señal (osSignalWait)proveniente del procesador de comandos. Al desbloquearse, la máquina ge-nera los valores de la rampa de velocidad cada 1 mseg según los parámetrosespecificados y hasta completar el tiempo programado, en cuyo caso vuel-ve a quedar bloqueado a la espera de una nueva señal. La repetición cada 1mseg es rigurosa, por lo que esta tarea tiene la máxima prioridad. Los suce-sivos valores calculados son la velocidad de referencia del PI de velocidad.

DefaultTask

Esta es la tarea de menor prioridad, que está normalmente bloqueada a laespera de un mensaje proveniente de una cola de mensajes (xQueueRecei-ve). Este mensaje se origina en un proceso llamado por el callback del hand-ler de interrupción de la UART. Este proceso recibe una cadena provenientedel puerto serial de la PC y lo envía a la cola. Al recibir el mensaje la ta-rea analiza la cadena para determinar si corresponde a un comando válido,verifica si posee algún parámetro asociado y si todo es correcto lo procesa.

Se listan algunos de estos comandos a modo de ejemplo en la tabla 3.2.Una vez que el comando se procesó, la tarea envía a la PC información del

TABLA 3.2. Lista de comandos de puerta

Comando Parámetro Función

abrir no ordena abrir puertacerrar no ordena cerrar puertavelabre sí especifica velocidad aperturavelcierra sí especifica velocidad cerradotaabre sí tiempo de aceleración al abrir puertatdabre sí tiempo de deceleración al abrir puertatacierra sí tiempo de aceleración al cerrar puertatdcierra sí tiempo de deceleración al cerrar puertaajustar no ordena el ajuste de la puerta

resultado del mismo o presentando información del sistema si el comandolo requiere.

OpTask

Esta tarea ejecuta un FSM que se encarga del manejo del operador de puertacomo se observa en la figura 3.11. Inicialmente está bloqueda a la esperade una señal (osSignalWait) que se recibe cuando el motor está listo parafuncionar. Para cumplir con los requisitos, este operador deberá determinarcuál es la longitud de la luz libre de la puerta para configurar los perfiles demovimiento. Al principio el sistema desconoce este dato.

Una vez inicializado el sistema, se pasa al estado READY. El único comandoque aceptará en este estado es el de ajuste, que puede recibirse desde la PCo pulsando un botón por más de 4 segundos. Entonces inicia el proceso deajuste, abre la puerta a velocidad reducida hasta encontrar el tope y luego

Page 56: Control de un motor sincrónico de imán permanente (PMSM)

44 Capítulo 3. Diseño e implementación

IDLE

READY

Al finalizar la inicialización del HW y la

alineación del motor

ABRE LENTO 1

CIERRA LENTO 2

CIERRA LENTO 1

ABRE LENTO 2

abrir (si calibrado)

cerrar(si calibrado)

AJUSTAABRE

AJUSTACIERRA

ajustartope/OK

topetope/

(ajustado/error)

CERRADO ABIERTO

ABRIENDO

CERRANDO

REAPERTURA

err

tope/OK(calibrado)

tope/OK(calibrado)

err

abrir

abrir/obstáculo cerrar

fin apertura

fin cierre

fin apertura

err

err

ABIERTOLENTO cerrar

CERRADO LENTO

tope/OK

abrir

FIGURA 3.11. FSM del operador de puerta.

cierra a velocidad reducida hasta encontrar el otro tope. De esta manera,con la asistencia del encoder, mide la longitud.

Ahora queda listo para recibir comandos de apertura o cierre (nuevamentedesde la PC o desde un pulsador). Sin embargo, realizará un ciclo de apertu-ra y cierre para medir nuevamente la longitud y verificar que esta longitudes consistente con la que se determinó en el proceso de ajuste. Si todo estábien, pasará al estado abierto o cerrado y queda habilitado el funcionamien-to normal.

Es decir que a partir de ahora los movimientos seguirán un perfil que se de-termina teniendo en cuenta las velocidades y tiempos de aceleración y de-celeración. Éstos parámetros pueden cambiarse desde la PC, como se men-cionó en la descripción de la tarea DefaultTask.

Finalmente el sistema es capaz de detectar un obstáculo durante el procesode cierre, en cuyo caso pasa al estado de reapertura, el motor invierte lamarcha hasta completar la apertura de la puerta.

Page 57: Control de un motor sincrónico de imán permanente (PMSM)

3.2. Diseño del firmware 45

SafetyTask

Esta tarea realiza la medición de temperatura y verifica el estado de fun-cionamiento del módulo de potencia. En caso detectar sobre temperatura osobre corriente apaga el módulo y lo informa a la PC. Un operador puedereiniciar el sistema con un comando desde la PC.

3.2.5. Medición de ángulo y velocidad

Para la implementación del algoritmo FOC es necesario conocer la posición angu-lar del rotor. Para ello se utiliza un encoder incremental de 1024 pulsos por vueltaacoplado al eje y un temporizador del microcontrolador que posee la función decontador de cuadratura. El contador se incrementa o decrementa según el sentidode giro y además cuenta cada flanco de las señales de entrada para obtener 4096cuentas por vuelta (se cuadruplica la resolución).

El FOC obtiene el ángulo mediante una función de la capa de servicios que re-torna un valor en formato de punto fijo Q15 que representa el ángulo de despla-zamiento del rotor entre -180 a +180 grados. Pero el FOC necesita determinar elángulo eléctrico, que se obtiene multiplicando el ángulo mecánico por el númerode pares de polos. La información de las operaciones en punto fijo con procesa-dores ARM puede consultarse en [18].

Cuando el motor gira lentamente puede suceder que en varios ciclos del algorit-mo FOC (que corre en un loop a 66,67 µs) obtenga siempre el mismo valor delángulo. Para mitigar este problema se implementó una función de interpolaciónpara estimar el ángulo en estos momentos de ausencia de pulsos.

Para la medición de velocidad se adoptó en un principio el método del frecuencí-metro [19], es decir se aplica la ecuación 3.1:

ωr = α/T (3.1)

donde ωr es la velocidad angular, α es el ángulo desplazado y T el período demuestreo. Pero en las condiciones de funcionamiento de este sistema este métodoes poco preciso, debido a que la cantidad de pulsos del encoder que registra elcontador en el período de tiempo adoptado (1 mseg). Para mitigar esto hay dosopciones, reemplazar el encoder por otro con más pulsos por vuelta o utilizar elmétodo de medición de período de los pulsos del encoder.

Se diseñó un sistema para implementar la segunda solución utilizando un timerextra en modo input capture. El timer se incrementa a una frecuencia de 3 Mhz y encada flanco creciente se captura el contenido del contador. La diferencia entre losvalores capturados corresponde al tiempo de duración de un pulso del encoder ypara obtener la velocidad se aplica la ecuación 3.3:

ωr = F ∗Ne/Nt (3.2)

Donde F es la frecuencia del contador (3 Mhz), Ne es la cantidad de pulsos porvuelta del encoder (1024) y Nt es la cantidad de pulsos medidos con el timer.

Page 58: Control de un motor sincrónico de imán permanente (PMSM)

46 Capítulo 3. Diseño e implementación

Es posible automatizar el almacenamiento de los valores capturado gracias alDMA (Direct Memory Access) que posee el microcontrolador. Se configura el sis-tema para que el DMA almacene las capturas en un buffer circular. Todo esteproceso lo realiza el hardware y no consume tiempo del procesador. Cuando sellama a la función que calcula la velocidad, ésta determina cuáles fueron los últi-mos valores capturados en el buffer y determina el valor de Nt.

El inconveniente de este método es que el ruido de cuantización se incrementaa medida que disminuye Nt, es decir a medida que aumenta la velocidad de gi-ro. Para mejorar este aspecto se incluyen varios ciclos de captura y se utiliza laecuación:

ωr = F ∗Ne/Nt (3.3)

para mejorar el cálculo cuando la velocidad de rotación es alta y el valor de Nt esbajo. El nuevo valor de Nt incluye Ne ciclos de captura para disminuir el ruido decuantización.

3.2.6. Modos de funcionamiento del motor

Para facilitar la prueba de los distintos componentes de hardware y software fuenecesario incorporar componentes de software que permitan modificar el modode funcionamiento del motor. Además se agregó un FSM que maneja las tran-siciones entre modos. La figura 3.12 muestra mediante un diagrama con llavesdichos modos y la manera de configurarlos como se describe a continuación.

OperaciónManual

GENERADOR DE RAMPAS

CALCULADOR ÁNGULO

CALCULADOR AMPLITUD

REGULADOR PI

VELOCIDAD

REGULADOR PI

TORQUEGENERADOR DE RAMPAS

SVPWM

ParámetrosVelocidad

ReferenciaVelocidad

Lazo Abierto V/ F

ParámetrosTorque

ReferenciaTorque

Lazo Cerrado Torque o Velocidad

ReferenciaTensión

1 2

FIGURA 3.12. Modos de funcionamiento del motor.

Page 59: Control de un motor sincrónico de imán permanente (PMSM)

3.2. Diseño del firmware 47

Lazo Abierto V/F

En este modo la referencia de velocidad proveniente del generador de ram-pas es valor de entrada a un componente que calcula el ángulo y la amplituddel vector tensión de referencia del modulador SVPWM (llave 2 arriba). Es-te método se implementó para facilitar las pruebas del motor, sin embargopuede ser útil si se desea manejar un motor de inducción pues es una técnicamuy usada para controles simples. Para determinar la amplitud del vectorse usa una función lineal como la de la figura 3.13. Se puede especificar un

V

V0

ωωn

Vn

FIGURA 3.13. Tensión del motor en modo V/F.

valor de tensión a velocidad cero (V0) y la pendiente de la recta. Dada unavelocidad de rotación ωn se obtiene la tensión Vn correspondiente.

Modo manual

En este modo se especifica el ángulo y la amplitud del vector tensión ma-nualmente (llave 2 abajo). Solo sirve para propósitos de prueba o si se quiereposicionar el rotor en un ángulo determinado. Se debe tener especial cuida-do de no exceder las corrientes máximas del motor ni del módulo.

Modo control de torque

En este modo la llave 1 está abajo y la 2 en el centro, el valor del torqueque sirve como entrada al regulador PI de torque (FOC) es la salida delgenerador de rampas de torque. El sistema tratará de mantener el valor detorque especificado, este modo sirve para propósitos de prueba o para uncaso de funcionamiento específico en el que se quiera mantener un valorde torque sin importar la velocidad resultante. Es decir que la velocidad seestabilizará cuando el torque resistente sea igual al torque especificado.

Modo control de torque

En este modo la salida del generador de rampas de velocidad es la referen-cia de entrada del PI de velocidad que da como salida el torque necesariopara lograr la velocidad especificada. Este valor es la referencia del FOC(llave 1 arriba) y el vector tensión resultante es luego sintetizador por elmodulador SVPWM (llave 2 al centro). Este es el modo normal y es el utili-zado cuando se maneja el operador de puertas.

Page 60: Control de un motor sincrónico de imán permanente (PMSM)

48 Capítulo 3. Diseño e implementación

3.2.7. Comunicación con PC

Para la comunicación con la PC a través de la UART se implementaron dos servi-cios: recepción y transmisión.

Recepción

Para implementar esta funcionalidad se utilizó el llamado a la función decallback HAL_UART_RxCpltCallback que genera el CUBEMX para imple-mentar un código que recibe la cadena con el comando y lo envía a la ta-rea DefaultTask mediante una queue (xQueueGenericSendFromISR) parasu procesamiento.

Transmisión

Por otra parte, para la transmisión se utilizó un canal del DMA del procesa-dor para que el procedimiento lo realice el hardware y no consuma tiempode la CPU. El HAL provee para esto la función HAL_UART_Transmit_DMA.El acceso al recurso se administra con un semáforo (osSemaphoreWait) elcual se libera con el callback de la interrupción de transmisión completa dela UART (HAL_UART_TxCpltCallback) mediante el llamado al sistemaosSemaphoreRelease.

Page 61: Control de un motor sincrónico de imán permanente (PMSM)

49

Capítulo 4

Ensayos y Resultados

En este capítulo se describen las pruebas realizadas para comprobar el correctofuncionamiento del hardware. Posteriormente se realizan la pruebas unitarias delos distintos componentes del firmware y finalmente las pruebas en conjunto.Finalmente se comprueba en software del operador de puertas.. Adicionalmente,se detallan los problemas encontrados durante el proceso y cómo pueden influiren el proceso de diseño del software y hardware.

4.1. Comprobación de hardware y firmware

4.1.1. Armado e inspección

En esta etapa se realizaron las siguientes tareas:

Verificación visual del circuito impreso para buscar anormalidades o erro-res.

Colocación en línea de montaje de los componentes de montaje superficial,verificación con microscopio del correcto posicionamiento de los compo-nentes, sus valores y calidad de soldadura.

Montaje manual de los componentes de inserción.

Alimentación con fuente externa y verificación de la correcta alimentaciónde los componentes principales (módulo de potencia, amplificadores ope-racionales, encoder, etc.).

4.1.2. Banco de prueba

La figura 4.3 muestra un esquema del banco de prueba utilizado en los ensayos.Los elementos que lo incluyen son los siguientes:

Placa NUCLEO-F303RE con la interfaz ST-LINK incluída, que permite elgrabado de la memoria flash del microprocesador, la depuración y un puer-to serial para comunicación con la PC.

Placa poncho inversor.

Motor PMSM marca Tapin, modelo 140TAST, de 500RPM, tensión de ali-mentación 220V, torque 2.0Nm, 105W.

Encoder incremental marca Hontko, modelo HTR-W-1024

Page 62: Control de un motor sincrónico de imán permanente (PMSM)

50 Capítulo 4. Ensayos y Resultados

Freno resistente tipo Prony, de fabricación propia.

Transformador de aislación 220/220, 400VA.

Aislador USB Advantech, modelo BB-UH401-2KV, aislación 2KV.

Fuente de alimentación Rigol, modelo DP832A de 3 canales.

Osciloscopio Rigol, modelo DS4034, 4 canales, 300MHz.

Punta de prueba de corriente Pintek, modelo PA-677, 70A AC/DC.

PC genérica, Intel Core i5 4440, 3.1GHz, Ubuntu 18.04.5 LTS

Software de monitoreo STM32CubeMonitor, es una herramienta que per-mite el monitoreo de las variables en tiempo de ejecución para la línea demicrocontroladores STM32. Adquiere la información a través del ST-LINK,por lo tanto no se puede monitorear y depurar al mismo tiempo. Otra limi-tación es que su velocidad de adquisición es de 1 mseg por dato monitorea-do. Aún así ha sido de mucha utilidad en este trabajo.

PLACAPONCHO

INVERSOR

ST-LINK

MOTORPMSM

FRENODE PRONY

ENCODER

PUNTA DECORRIENTE

FUENTE DE

ALIMENTACIÓN0V

3,3V15V

OSCILOSCOPIO

PUNTAS DE

TENSIÓN

PLACA NUCLEO

TRAFO DEAISLACIÓN

RED220 VCA

AISLADORUSB

FIGURA 4.1. Esquema del banco de prueba

Page 63: Control de un motor sincrónico de imán permanente (PMSM)

4.1. Comprobación de hardware y firmware 51

FIGURA 4.2. Banco de prueba - fuente - electrónica - motor - enco-der

FIGURA 4.3. Banco de prueba - motor con freno de Prony

4.1.3. Pruebas funcionales

Prueba de funcionamiento del PWM

Se comprobó la generación de señales moduladas en los canales A, B y C delPWM. La figura 4.4 es una captura del osciloscopio donde se observan los cana-les A, B y C en color amarillo, celeste y rojo. El cuarto canal, que se utiliza para

Page 64: Control de un motor sincrónico de imán permanente (PMSM)

52 Capítulo 4. Ensayos y Resultados

FIGURA 4.4. Señales del PWM

disparar el ADC, se comprobó con la ayuda de una salida digital a la que se lehace un toggle con la señal de disparo, y se aprecia en la señal azul de la captura.En la figura 4.5 se comprueba la existencia del dead time entre las salidas com-plementarias. Se verifica que efectivamente existe la demora de 800 nseg entre el

dead time

FIGURA 4.5. Señales del PWM con dead time entre salidas comple-mentarias.

momento en que una señal pasa de 1 a 0 y que la complementaria cambia de 0 a1.

Page 65: Control de un motor sincrónico de imán permanente (PMSM)

4.1. Comprobación de hardware y firmware 53

Prueba del modulador SVPWM

Con la ayuda de una planilla de cálculo se obtuvieron los valores de los ciclosde actividad en las tres fases de algoritmo SVPWM y en los seis sectores. Estosvalores se representan en el gráfico de la figura 4.6.

FIGURA 4.6. Valores calculados de los ciclos de actividad delSVPWM.

Posteriormente se comprobó que el código corriendo en el microprocesador pro-ducía el mismo resultado, con la asistencia del depurador de la herramienta CU-BEIDE. Finalmente se corrió este algoritmo en la interrupción del PWM (es decira 15 KHz) y en cada ciclo calcula el ciclo de actividad de cada canal y lo actualiza.La salida de los tres canales del PWM se observa en la figura 4.4. Para obtener es-

FIGURA 4.7. Captura del osciloscopio de las señales del SVPWM.

ta imagen se filtra cada canal son un filtro pasivo RC para eliminar la portadora.En el cuarto canal que es la resta entre los dos primeros, se comprueba que lastensiones entre fases son sinusoidales.

Page 66: Control de un motor sincrónico de imán permanente (PMSM)

54 Capítulo 4. Ensayos y Resultados

Prueba de medición de corrientes de fase

El primer paso de esta prueba fue corroborar el tiempo de establecimiento de laetapa analógica, de manera tal de asegurar que la medición se haga cuando latensión a la entrada del ADC esté estable. En la figura 4.8 se observan en azul yceleste las señales complementarias del PWM (nótese el dead time), en amarillo laseñal proporcional a la corriente de fase presente a la entrada del ADC y en rojouna señal auxiliar (para fines de prueba) que indica que se inició la conversión.La flecha naranja muestra el momento configurado para iniciar la conversión, eldesfase respecto de la señal roja es la demora del procesador en sacar esta señalauxiliar por un puerto de entrada/salida. Ese ensayo se repitió para varios ciclosde actividad, siendo el de la figura el peor caso y el que determina el menor menorancho de pulso permitido para realizar una medición de corriente precisa.

inicio conversión

FIGURA 4.8. Señales del tiempo de establecimiento e inicio de con-versión.

El paso siguiente es comparar la medición de corriente contra un instrumento.Para ello se utilizó el osciloscopio y la punta de prueba de corriente por efectohall. Las primeras mediciones fueron realizadas inyectando una corriente conti-nua conocida (con ayuda de un canal disponible de la fuente de alimentación) enlos resistores shunt y con la fuente de alta tensión sin energía. Una vez verificadose realizó otro procedimiento para medir las corrientes de fase utilizando el mo-dulador, la etapa de potencia del inversor y una carga resistiva. La figura 4.9 esuna captura de pantalla de los valores de corriente adquiridos en las tres fases,graficados con la herramienta CUBEMonitor.

Se comprueba no solo la correcta medición de corriente sino también la genera-ción del modulador SVPWM.

Se repite la medición pero en este caso se aprovecha un canal del conversor DAC(Digital to Analog Converter) disponible en el microcontrolador. El valor de co-rriente adquirido se redirecciona al DAC de manera tal de presentar en el pin desalida un valor de tensión que corresponde al valor de corriente adquirido. Este

Page 67: Control de un motor sincrónico de imán permanente (PMSM)

4.1. Comprobación de hardware y firmware 55

FIGURA 4.9. Medición de corrientes de fase, gráfico CubeMonitor.

valor de tensión y la señal proveniente de la punta de corriente se aplican al osci-loscopio, los cuales se pueden apreciar en la captura de la figura 4.10, la corrienteadquirida es la señal celeste y la proveniente de la punta de corriente la amarilla.

FIGURA 4.10. Comparación de los valores de corriente de la faseA adquirido y medido.

Page 68: Control de un motor sincrónico de imán permanente (PMSM)

56 Capítulo 4. Ensayos y Resultados

Ajuste del PI de corriente

Como se detalló en 2.3 el FOC contiene dos PI para regular las componentes decorriente directa y en cuadratura.

Para realizar su ajuste se configuró el sistema para que funcione en modo ma-nual, se le especifica un valor del vector tensión y se capturó la evolución de lacorriente a lazo abierto con la ayuda de la punta de corriente. Luego se lo con-figuró en modo control de torque (es decir que se controla la corriente) y se leaplicó un escalón a través del generador de rampa. Por un proceso iterativo deprueba y error se modificaron los valores de la constantes proporcional e integralhasta obtener un desempeño aceptable, es decir que llegue al valor de consignalo antes posible y sin oscilaciones. En la figura 4.11 se observan las capturas delas corrientes a lazo abierto y cerrado.

FIGURA 4.11. Calibración del PI de corriente.

Page 69: Control de un motor sincrónico de imán permanente (PMSM)

4.1. Comprobación de hardware y firmware 57

Comprobación de protección contra cortocircuitos

Para comprobar la correcta configuración del hardware del microcontrolador, seinyecta una corriente de 3 Amper en los resistores shunt para simular una situa-ción de sobre corriente. En la figura 4.12 se observan las salidas del PWM quedejan de modular y van a 0 Volt. Además el canal azul que mide la salida de fallade microcontrolador y que apaga al módulo permanece en 0 Volt (todo apagado)indefinidamente. Para que el sistema vuelva a funcionar hay que realizar un ciclode encendido o ejecutar un comando de reset.

FIGURA 4.12. Protección contra corto cicuito y sobrecorriente.

Una vez que se comprobó que el sistema funciona, se realiza una nueva com-probación pero esta vez se energiza la etapa de potencia, se coloca la punta deprueba de corriente para que mida la corriente de la fase A (azul), y establece unasituación de sobrecorriente conectando a través de un interruptor un resistor de10 Ohm entre las fases A y B. La figura 4.13 muestra la captura del transitoriode corriente. La ganancia de la punta de prueba es de 500 mV/A, la corriente defase es de 1 A y bruscamente crece hasta 9 A aproximadamente. En ese momentoactúa la protección que apaga el transistor de la fase A (amarillo) y la corrientecae bruscamente. Todo el proceso toma alrededor de 1 µs. Estos valores cumplencon creces los valores especificados por el fabricante del módulo de potencia (co-rriente transitoria pico de 30 A y short circuit withstand time de 5 µs).

Medición de angulo y velocidad con encoder

Se configura el timer en modo encoder en cuadratura. Se verifican el conteo co-rrecto y la dirección haciéndolo girar manualmente. Finalmente se programa unservicio que retorne el valor del ángulo mecánico en formato q15. Luego se pro-grama un segundo timer en el modo input capture, la señal de captura se tomade un canal del encoder. Se programa el servicio que calcula la velocidad mecá-nica en Hz y se verifica su precisión contrastando el valor adquirido contra un

Page 70: Control de un motor sincrónico de imán permanente (PMSM)

58 Capítulo 4. Ensayos y Resultados

FIGURA 4.13. Transitorio del ensayo de sobrecorriente.

generador de señales. Finalmente, con la asistencia del CUBEMonitor se obtieneun gráfico del decaimiento exponencial de la velocidad al acelerar bruscamenteel encoder para luego dejar que se detenga por efecto de los rozamientos, comose aprecia en la figura 4.14.

FIGURA 4.14. Captura de medición de velocidad con el encoder.

Comprobación y calibración del PI de velocidad

Se implementó un programa de prueba que genera consignas de velocidad y seajustan los parámetros del PI manualmente hasta lograr el mejor desempeño po-sible. Inicialmente se aumenta poco a poco la acción proporcional, el error dismi-nuye y aumenta la velocidad de respuesta. Si se obtienen oscilaciones, se reduce

Page 71: Control de un motor sincrónico de imán permanente (PMSM)

4.1. Comprobación de hardware y firmware 59

la acción proporcional hasta que sea estable. Luego se incrementa de a poco laacción integral hasta lograr que el error se minimice en el menor tiempo posibley sin oscilaciones. Se repite el procedimiento para hacer ajustes más finos hastaobtener una respuesta correcta. Los ajustes se realizaron con el motor en vacío yaplicando carga con el freno para lograr una respuesta aceptable en ambas con-diciones.

La figura 4.15 es una captura de pantalla de la respuesta del motor a escalones develocidad con el motor sin carga. En la parte superior se grafican las corrientes

Corriente (mA)

Velocidad (Hz)

FIGURA 4.15. Respuesta del PI a escalones de velocidad en vacío.

directa (azul) y en cuadratura (amarillo), valores en mA. En la inferior se graficanla consigna de velocidad (amarillo) que pasa de 5 Hz a -5 Hz (se invierte el sentidode giro) repetidamente, y la velocidad medida del motor (azul). Nótese que lacorriente directa es mantenida a un valor cercano a cero, gracias al PI de corrientedirecta del FOC. Recuérdese que esta componente de corriente debe ser cero yaque no produce torque. Por otra parte, la corriente en cuadratura alcanza valorescercanos a 1.4 A en los cambios de velocidad y pasado el transitorio solo unacorriente pequeña, del orden de decenas de mA (debido a que el motor está envacío). La respuesta es aceptable, con un pequeño overshoot.

En la siguiente figura 4.16 se repite la experiencia aplicando una carga con elfreno, se observa entonces una corriente en cuadratura en torno a los 200 mA, quees la que genera el torque necesario para vencer la carga del freno y mantenerla velocidad de la consigna. La respuesta de velocidad sigue siendo aceptable.La prueba anterior es muy exigente puesto que los valores picos de corriente enlas transiciones duplican la corriente del motor especificada por el fabricante. Se

Page 72: Control de un motor sincrónico de imán permanente (PMSM)

60 Capítulo 4. Ensayos y Resultados

Corriente (mA)

Velocidad (Hz)

FIGURA 4.16. Respuesta del PI a escalones de velocidad con carga.

procede entonces a repetir la experiencia con consignas de velocidad que tienentransiciones suaves y con bordes redondeados para que tenga un funcionamientosimilar al buscado en la aplicación de control de operador de puerta. Para ello semodificó el generador de rampas para que genere un perfil de tipo sinusoidal, asíse obtiene también suavidad en la variación de la aceleración (jerk). Las figuras4.17 y 4.18 muestran el comportamiento en vacío y con carga respectivamente,para sucesivas contramarchas entre 5 Hz y -5 Hz con rampas de 0,6 segundos. Seobserva que los valores de las corrientes picos se reduce considerablemente, nosuperan los 350 mA.

En la última experiencia se configura una rampa aún más suave de 1,2 segundoscomo se ve en las figuras 4.19 y 4.20.

Page 73: Control de un motor sincrónico de imán permanente (PMSM)

4.1. Comprobación de hardware y firmware 61

FIGURA 4.17. Respuesta del PI a rampas de velocidad en vacío.

Corriente (mA)

Velocidad (Hz)

FIGURA 4.18. Respuesta del PI a rampas de velocidad con carga.

Se observa que los picos de corriente se siguen reduciendo y los gráficos de lavelocidad de consigna y la velocidad medida prácticamente se confunden en unasola línea.

Page 74: Control de un motor sincrónico de imán permanente (PMSM)

62 Capítulo 4. Ensayos y Resultados

Corriente (mA)

Velocidad (Hz)

FIGURA 4.19. Respuesta del PI a rampas suaves de velocidad envacío.

Corriente (mA)

Velocidad (Hz)

FIGURA 4.20. Respuesta del PI a rampas suaves de velocidad concarga.

Se da por concluido el proceso de ajuste al considerarse que la respuesta es acep-table para las distintas condiciones de funcionamiento.

Page 75: Control de un motor sincrónico de imán permanente (PMSM)

4.2. Comprobación del software de manejo de puerta 63

4.2. Comprobación del software de manejo de puerta

Para este procedimiento se adaptan el motor y el encoder en un operador de puer-tas comercial que originalmente utilizaba un motor trifásico de inducción. Comoel operador original es un préstamo, debe preservarse su integridad. Por este mo-tivo la adaptación no fue perfecta pero resultó suficiente para realizar las pruebassin inconvenientes, como se observa en las figuras 4.21 ,4.22 y 4.23. Obsérvese

FIGURA 4.21. Operador de puerta con motor y encoder montados

FIGURA 4.22. Operador de puerta con motor y encoder montados,detalle

que en el eje del motor se adaptó un engranaje que arrastra una correa dentadaque asegura una correspondencia entre el movimiento del carro del operador y elmotor.

En una primera instancia se hicieron las pruebas con el motor desacoplado (sedesmontó la correa) y se simuló por software que el dispositivo tiene una luz

Page 76: Control de un motor sincrónico de imán permanente (PMSM)

64 Capítulo 4. Ensayos y Resultados

FIGURA 4.23. Operador de puerta, detalle motor y encoder

libre equivalente a 10 vueltas del motor. Con estas condiciones se verificaron lamayor parte de los requerimientos y se realizaron las correcciones necesarias.

Durante estas pruebas se observó que fue necesario agregar una funcionalidadque no fue prevista en la etapa de diseño. Consiste en que al modificarse los pa-rámetros de velocidad o tiempos de aceleración o deceleración, el sistema realiceuna comprobación para asegurar que esa combinación de parámetros es realiza-ble en la distancia disponible e informa por pantalla el resultado. La figura 4.24muestra el movimiento, en la parte superior se observa como en los procesos deapertura y cierre la posición pasa de 0 vueltas a 10 vueltas y viceversa.

En la parte inferior están los perfiles de velocidad, 10 Hz (600 RPM) para la aper-tura y -7 Hz (420 RPM) para el cierre, con distintos tiempos de aceleración y de-celeración. Como el funcionamiento es en vacío, las líneas de la velocidad de con-signa y de la medida se confunden en una sola línea color naranja.

Page 77: Control de un motor sincrónico de imán permanente (PMSM)

4.2. Comprobación del software de manejo de puerta 65

FIGURA 4.24. Perfiles de movimiento del operador de puerta, envacío

A continuación se colocó la correa para acoplar el motor al sistema mecánico yen primera medida se comprobó el requerimiento que faltaba, que consiste enque el sistema compruebe la longitud efectiva de la luz libre de la puerta. Esto serealiza mediante una apertura y cierre a velocidad lenta y torque reducido paracomprobar los topes del mecanismo y medir gracias al encoder la distancia entreambos. Esta longitud es indispensable para determinar el perfil de movimiento.Posteriormente fue necesario modificar el perfil de movimiento para adaptarlo aun requerimiento del mecanismo que se desconocía al momento de diseño. El sis-tema posee un dispositivo de enganche de la puerta de palier que se despliega enlos primeros 6 cm del movimiento de apertura y que debe realizarse a velocidadconstante. Lo mismo se repite en los últimos 6 cm del movimiento de cierre parael repliegue. Por lo tanto se agregó este nuevo perfil y se modificó la función decomprobación de parámetros para adecuarlo al nuevo perfil. Este nuevo perfil seobserva en las figuras 4.25 y 4.26.

Las diferencias entre ambas figuras se observan en el proceso de apertura, el laprimer figura se especifica una velocidad máxima de 5 Hz y una aceleración sua-ve. En la segunda se aumenta la velocidad a 7 Hz y se acelera más bruscamente.En ambos procesos la respuesta es aceptable, el tiempo de apertura se reduce de 3seg a 2,2 seg. También se observan mínimas oscilaciones que no afectan al funcio-namiento y que se atribuyen al mecanismo y a desalineaciones en la adaptacióndel motor y del encoder. Nótese también el tramo de movimiento a velocidadconstante cuando se despliega y repliega el dispositivo de enganche y que la lon-gitud es ahora de 10,4 vueltas como resultado del proceso de ajuste automático.

Page 78: Control de un motor sincrónico de imán permanente (PMSM)

66 Capítulo 4. Ensayos y Resultados

3 seg

FIGURA 4.25. Perfiles de movimiento del operador de puerta, encarga, apertura suave

2,2 seg

FIGURA 4.26. Perfiles de movimiento del operador de puerta, encarga, apertura brusca

Page 79: Control de un motor sincrónico de imán permanente (PMSM)

67

Capítulo 5

Conclusiones

En este capítulo se analizan los resultados obtenidos y el grado de cumplimientode los objetivos. Además se describen los pasos a seguir para una siguiente etapade desarrollo.

5.1. Trabajo realizado

En este trabajo se logró implementar de forma exitosa un prototipo de controla-dor de motor sincrónico de imán permanente. El objetivo de desarrollar los algo-ritmos de modulación SVPWM y de control de campo FOC fue alcanzado. Estaimplementación necesitó el uso intensivo de los recursos de hardware del mi-crocontrolador, lo que requirió un tiempo importante de análisis y prueba paralograr que funcionaran coordinadamente.

Finalmente se desarrolló un software para la utilización del dispositivo como con-trolador de un operador de puertas de ascensor. Las pruebas de laboratorio sobreun operador comercial fueron muy satisfactorias, con un desempeño comparablea los operadores comerciales modernos, tal como era esperado por las empresasinteresadas en este prototipo.

Para el autor de este trabajo, el uso de las técnicas aprendidas durante el CESEmejoró sustancialmente la metodología de trabajo y la manera de encarar el dise-ño. Los aspectos más importantes son los siguientes:

Gestión de Proyectos: la elaboración de un plan de proyecto permitió unordenamiento lógico de las tareas, hacer un seguimiento del avance y eva-luar la asignación de tiempos y esfuerzos para mejorar la programación enproyectos futuros.

Ingeniería de software: la incorporación de los conceptos de especificaciónde requerimientos, casos de uso, encapsulamiento en capas y patrones desoftware fueron de gran utilidad para el desarrollo. También fue importanteel uso Git como herramienta de control de versiones.

Testing de software en sistemas embebidos: fue muy importante el procesode verificación y validación. Se hicieron pruebas unitarias para la validaciónde cada componente del firmware y durante todo el proceso se realizaronlas pruebas estáticas mediante un plug-in del Cppcheck incorporado al IDE.

Sistemas operativos en tiempo real I y II: el trabajo se encaró con la incor-poración de sistema FreeRTOS y no hubiera sido posible su desarrollo sinlos conocimientos adquiridos en esta asignatura. Un punto interesante de

Page 80: Control de un motor sincrónico de imán permanente (PMSM)

68 Capítulo 5. Conclusiones

este trabajo fue lograr la interacción de varias tareas que corren bajo el con-trol del FreeRTOS (control de velocidad, medición de velocidad, generaciónde rampas, comunicación con PC, etc.) con otras tareas críticas que por ra-zones de performance corren por fuera del control del FreeRTOS (SVPWM,medición y control de corriente, medición del ángulo del rotor).

Arquitectura de Microprocesadores y Programación de microcontroladores:esta materia comparte con la anterior su importancia para la implementa-ción del sistema, los conceptos sobre la arquitectura ARM Cortex M, la uni-dad de punto flotante, la ventaja del lazy stacking, el NVIC y su manejo delas prioridades de las excepciones fueron tema fundamental en el desarrollodel firmware.

Diseño de circuitos impresos y Diseño para manufacturabilidad: si bien porrazones de programación el circuito impreso ya estaba terminado al mo-mento de cursar estas asignaturas, se mencionan porque fueron muy útilespara identificar los aspectos mejorables del diseño y para que cuando sedesarrolle el producto comercial sea más fácil de fabricar.

5.2. Trabajo futuro

Como se estableció al comienzo del desarrollo, el trabajo es un prototipo y requie-re de algunos agregados de hardware y software para convertirse en un productocomercial, a saber:

Modificar el plano esquemático y el circuito impreso para conectar el timermedidor de período de la señal del encoder, no contemplado en el diseñooriginal.

Incorporación de una fuente de alimentación tipo switching.

Agregado de una interfaz hombre-máquina (HMI), a través de un display yteclado o mediante una interfaz Bluetooth.

Incluir etapas de filtrado EMI para cumplir la norma EN 12016:2014 de com-patibilidad electromagnética en ascensores y escaleras mecánicas.

Agregar una interfaz de comunicación con el sistema de control del ascen-sor.

Evaluar la posibilidad de incorporar un sistema de monitoreo remoto.

Agregar el uso del watchdog para mejorar la robustez del sistema.

Ampliar la operación a equipos con motores de inducción para retrofittingde sistemas convencionales o reemplazo en sistemas antiguos que ya nocuentan con repuestos originales.

Incorporar en el firmware un registrador de variables y anomalías, que po-drá consultarse por la HMI o la interfaz Bluetooth.

Por otro lado, el tema de control de motores es muy extenso y sería interesanteahondar en este campo para incorporar otras técnicas que mejoren la robustez delcontrolador.

Page 81: Control de un motor sincrónico de imán permanente (PMSM)

69

Bibliografía

[1] Bureau International des Expositions. Zénobe Gramme’s electrifying discoveryat Expo 1873 Vienna."https://www.bie-paris.org/site/en/blog/entry/zenobe-gramme-s-electrifying-discovery-at-expo-1873-vienna". Feb. de 2017. (Visitado29-10-2020).

[2] Trevor Illtyd Williams y T. K. Derry. Historia de la tecnología. IV. Desde 1900hasta 1950. Siglo XXI de España Editores, S.A., 1987.

[3] The Tesla collection. A New System Of Alternating Current Motors AndTransformers."http://teslacollection.com/tesla-articles/1888/electrical-world/nikola-tesla/a-new-system-of-alternating-current-motors-and-transformers".Feb. de 2020. (Visitado 29-10-2020).

[4] Wikipedia. Magnetismo. "https://es.wikipedia.org/wiki/Magnetismo".Oct. de 2020. (Visitado 29-10-2020).

[5] E. Wohlfarth. Handbook of Magnetic Materials [Vol 3] Ferromagnetic materials.North-Holland, 1982. ISBN: 0444863788,9780444863782. URL: http://gen.lib.rus.ec/book/index.php?md5=8cf339c14eaf5ea66b58cde9fe793a60.

[6] Adams Magnetic. What is a strong magnet?"https://www.adamsmagnetic.com/blogs/2012/what-is-a-strong-magnet/". Ene. de 2020. (Visitado04-07-2020).

[7] Elevator World. A history of elevator doors."https://www.elevatorworld.com/a-history-of-elevator-doors/". Ene. de2020. (Visitado 04-07-2020).

[8] TresLineas.com.ar. Tragedia en el Ascensor: En puertas manuales, es elaccidente más común. "http://www.treslineas.com.ar/tragedia-ascensor-puertas-manuales-accidente-comun-n-836089.html". Mar. de 2013.(Visitado 04-07-2020).

[9] Wikipedia. Ley de Ampere."https://es.wikipedia.org/wiki/Ley-de-Ampere". Mayo de 2020.(Visitado 11-07-2020).

[10] R. Krishnan. Permanent Magnet Synchronous and Brushless DC Motor Drives.CRC Press, 2017. ISBN: 9781420014235. URL:https://books.google.com.ar/books?id=U-RxikH3aXEC.

[11] A Maamoun, Y M Alsayed y A Shaltout. «Space-Vector PWM InverterFeeding a Permanent-Magnet Synchronous Motor». En: InternationalJournal of Electrical, Computer, Energetic, Electronic and CommunicationEngineering 4.5 (jul. de 2010), págs. 829-833.

[12] ST Microelectronics. DS10337. STGIB10CH60TS-L Datasheet. 2019. URL:https://www.st.com/resource/en/datasheet/stgib10ch60ts-l.pdf.

[13] HighPowerDrivers MamadouDiallo. SLUA887 - Bootstrap CircuitrySelection for Half-BridgeConfigurations. Inf. téc. 2. Dallas,Texas: TexasInstruments, jul. de 2018.

Page 82: Control de un motor sincrónico de imán permanente (PMSM)

70 Bibliografía

[14] IPC 2221 Task Group (D31b) of the Rigid PrintedBoard Committee(D30) of IPC. Generic Standard onPrinted Board Design. 2012. URL:https://www.ipc.org/TOC/IPC-2221B.pdf.

[15] Arm Ltd. CMSIS-RTOS Documentation.https://www.keil.com/pack/doc/CMSIS/RTOS/html/index.html.Abr. de 2020. (Visitado 14-04-2020).

[16] ST Microelectronics. RM0316 - Reference manual.STM32F303xB/C/D/E, Reference manual. 2017. URL:https://www.st.com/resource/en/reference_manual/dm00043574-stm32f303xbcde-stm32f303x68-stm32f328x8-stm32f358xc-stm32f398xe-advanced-armbased-mcus-stmicroelectronics.pdf.

[17] ARM Ltd. Cortex-M4(F) Lazy Stacking and Context Switching. 2012. URL:https://static.docs.arm.com/dai0298/a/DAI0298A_cortex_m4f_lazy_stacking_and_context_switching.pdf.

[18] ARM Ltd. Application Note 33 Fixed Point Arithmetic on the ARM. 1996. URL:https://developer.arm.com/documentation/dai0033/a.

[19] A. Diez F. Briz J. A. Cancelas. Departamento de Ingenieria Eléctrica,Electrónica, de Computadores y Sistemas (DIEECS) E.T.S. IngenierosIndustriales e Ingenieros Informáticos. Inf. téc. Universidad de Oviedo, 1994.