Professional Documents
Culture Documents
TESIS
Presenta
Octavio Sánchez García
Director
1
Abstract
In this technological development work, a driver for a permanent magnet brushless
of direct current electrical motor using sinusoidal commutation is design and
implement. This kind of commutation can obtain constant torque, high power factor
and low harmonics level. The efficiency achieved with this type of switching is very
high, which is why it is ideal for battery-powered systems, such as electric vehicles.
By making use of this technology of permanent magnet brushless, the first problem
is to move the rotor, as the switching points must be determined on which the polarity
of the coils change electronically by means of the absolute analog position sensor
"Resolver", and thus the commutation letter is obtained. Sensor selection "Resolver"
is need because it is able to measure the absolute position of the rotor required to
implement the sinusoidal commutation.
If the control needs to have different rotational speeds of the motor, it requires the
use of the Pulse Width Modulation technique. The average voltage is obtain that is
deliver to the motor, depending on the capacities that are generated in the Pulse
Width Modulation, in terms of its form, the motor will receive trapezoidal or sinusoidal
commutation and for this application, both capacities are available.
For the driving of the motor an intelligent power module with the capacity of 600 V
at 30 A, and isolation of the control stage.
The control system and the driver were design and implement in reconfigurable
electronics, by language of description, schemes and macros, are also implemented
protection circuits, data acquisition and measurement of parameters.
Position, where you can follow a profile path to move from point "A" to point "B",
keeping the final position until it is required another shift,
Speed mode, where the system will establish a reference speed mode, in rpm´s, to
which the rotor must rotate, and even when an external force is apply attempting to
stop it, the control system will provide the energy needed to maintain the reference
speed.
2
Agradecimientos
Este trabajo de desarrollo tecnológico no sería posible sin el apoyo de personas e
instituciones que en mucho colaboraron con la culminación de este trabajo y es por
ello que deseo agradecer a:
Al CIITEC por brindarme un espacio para realizar mis estudios de maestría con un
alto nivel académico, con el personal dispuesto a apoyar los proyecto y a las
instalaciones adecuadas para el desarrollo.
3
Dedicatorias
Para mis confidentes y mejores amigos, los amo familia.
4
Contenido
Resumen............................................................................................................................................ 1
Abstract ............................................................................................................................................. 2
Agradecimientos .............................................................................................................................. 3
Dedicatorias ...................................................................................................................................... 4
Contenido ......................................................................................................................................... 5
Figuras ............................................................................................................................................... 9
Tablas............................................................................................................................................... 13
Capítulo 1. Introducción ............................................................................................................. 14
1.1 Aspectos Generales ................................................................................................................ 14
1.2 Estado del Arte ....................................................................................................................... 16
1.3 Objetivos ................................................................................................................................. 18
1.3.1 Objetivo General ............................................................................................................. 18
1.3.2 Objetivos Específicos ....................................................................................................... 18
1.4 Justificación ............................................................................................................................ 19
Capítulo 2. Fundamentos Teóricos ........................................................................................... 20
2.1 Introducción ............................................................................................................................ 20
2.2 Motor de Eléctrico .................................................................................................................. 21
2.2.1 Motor convencional de corriente continua con escobillas ............................................ 22
2.2.2 Motor de campo permanente sin escobillas .................................................................. 24
2.3 Conmutación Electrónica ....................................................................................................... 28
2.3.1 Conmutación Trapezoidal ............................................................................................... 28
2.3.2 Conmutación Senoidal .................................................................................................... 30
2.3.3 Torque constante a partir de la conmutación senoidal ................................................. 31
2.3.4 Armónicos ........................................................................................................................ 31
2.3.5 Factor de potencia ........................................................................................................... 33
2.4 Modulación por ancho de pulso ............................................................................................ 34
2.5 Formación de la senoide empleando PWM........................................................................... 36
2.5.1 El Algoritmo CORDIC........................................................................................................ 37
5
2.6 Generación de senoide con ángulo de desfase ..................................................................... 38
2.7 Sensor de posición angular absoluto ..................................................................................... 38
2.8 Interfaz de Potencia................................................................................................................ 40
2.8.1 Puente H .......................................................................................................................... 40
2.8.2 Transistor bipolar de compuerta aislada (IGBT) ............................................................. 41
2.8.3 Capacitores de arranque ................................................................................................. 43
2.8.4 Supresor de transitorios .................................................................................................. 44
2.8.5 Desenergizado de la bobina ............................................................................................ 45
2.9 Medio de implementación ..................................................................................................... 47
2.10 Sistema de control ................................................................................................................ 47
2.10.1 Algoritmo de control PID............................................................................................... 48
2.11 Sistema de control distribuido ............................................................................................. 49
2.12 Interfaz de usuario................................................................................................................ 50
2.12.1 Puerto de la PC .............................................................................................................. 50
2.12.2 Registro Digital en FPGA................................................................................................ 51
Capítulo 3. Accionamiento del motor PMBLDC .................................................................... 52
3.1 Introducción ............................................................................................................................ 52
3.2 Medición de la posición absoluta del rotor ........................................................................... 53
3.2.1 Conversión de “Resolver” a digital ................................................................................. 53
3.2.1 Generación de señales para leer convertidor ................................................................ 55
3.3 Registro de posición en FPGA ................................................................................................ 57
3.3.1 Filtro Digital ..................................................................................................................... 59
3.3.2 Señal para registro de posición ....................................................................................... 62
3.3.3. Monoestable digital ....................................................................................................... 64
3.4 Encoder Emulado .................................................................................................................... 65
3.4.1 Multiplicador de encoder ................................................................................................ 66
3.5 Generación de PWM............................................................................................................... 69
3.6 Decodificador de conmutación .............................................................................................. 75
3.6.1 Carta de conmutación del motor PMBLDC Parker BE341J ............................................. 75
3.6.2 Diseño el decodificador de conmutación ....................................................................... 77
3.6.3 Implementación del decodificador de conmutación ..................................................... 80
6
3.7 Conmutador Trapezoidal ........................................................................................................ 83
3.8 Generación del PWM senoidal ............................................................................................... 84
3.8.1 Posición Angular .............................................................................................................. 84
3.8.2 Cálculo de seno ................................................................................................................ 88
3.8.3 Multiplicador ................................................................................................................... 89
3.8.4 Generador de Ancho de Pulso......................................................................................... 91
3.8.5 PWM senoidal.................................................................................................................. 92
3.9 Decodificador de PWM senoidal ............................................................................................ 94
3.9.1 Descarga lenta en la conmutación senoidal ................................................................... 97
3.10 Conmutador Senoidal ........................................................................................................... 98
3.11 Conmutador del sistema .................................................................................................... 101
3.12 Interfaz hombre-máquina .................................................................................................. 102
3.12.1 Registro digital ............................................................................................................. 102
3.12.2 Banco de registros ....................................................................................................... 105
Capítulo 4. Control ..................................................................................................................... 110
4.1 Introducción .......................................................................................................................... 110
4.2 Control distribuido en FPGA................................................................................................. 111
4.3 Sistema Supervisor ............................................................................................................... 111
4.4 Sistema Regulador, Algoritmo de control modo posición .................................................. 112
4.4.1 Obtención del valor del error ........................................................................................ 113
4.4.2 Acción proporcional ...................................................................................................... 116
4.4.3 Acción Derivativa ........................................................................................................... 119
4.4.4 Acción Integral ............................................................................................................... 121
4.4.5 Sumador de acciones de control ................................................................................... 125
4.5 Sistema Regulador, Algoritmo de control Modo Velocidad ............................................... 127
4.6 Seleccionador de modo de control ...................................................................................... 133
4.7 Medición interna de velocidad ............................................................................................ 134
4.8 Gráfica de la respuesta del motor........................................................................................ 142
4.8.1 Captura en ráfaga de la respuesta del motor ............................................................... 143
4.9 Interfaz de potencia Puente “H” trifásico............................................................................ 146
4.10 Circuitos de protección ....................................................................................................... 149
7
4.10.1 Verificación de correcta conexión de fases ................................................................ 149
4.10.2 Protección error máximo ............................................................................................ 154
Capítulo 5. Pruebas y resultados ............................................................................................. 156
5.1 Introducción .......................................................................................................................... 156
5.2 Señales obtenidas para protocolo con el convertidor analógico digital ............................ 156
5.3 Filtro digital ........................................................................................................................... 157
5.4 Monoestable digital ............................................................................................................. 158
5.5 Multiplicador de encoder emulado ..................................................................................... 158
5.6 Generación de Ancho de pulso PWM .................................................................................. 159
5.7 Conmutador Trapezoidal ...................................................................................................... 160
5.8 Generación de PWM senoidal .............................................................................................. 161
5.9 Banco de pruebas ................................................................................................................. 162
5.9.1 Prueba en modo posición.............................................................................................. 163
5.9.2 Prueba en modo velocidad ........................................................................................... 164
5.9.3 Medición de corriente ................................................................................................... 165
Capítulo 6 Conclusiones y trabajo futuro.............................................................................. 167
6.1 Introducción .......................................................................................................................... 167
6.2 Conclusiones ......................................................................................................................... 167
6.3 Trabajo Futuro ...................................................................................................................... 168
Anexo 1 Hoja de especificaciones servomotores serie “BE” Parker ............................................. 169
Referencias ................................................................................................................................... 174
8
Figuras
FIGURA 1 ESTRUCTURA DEL MOTOR CONVENCIONAL DE DC ........................................................................................... 22
FIGURA 2 CONMUTADOR DEL MOTOR CONVENCIONAL DE DC ........................................................................................ 23
FIGURA 3 FUNCIÓN DEL CONMUTADOR A) PRIMER ENERGIZADO B) POLARIDADES IGUALES C) CONMUTACIÓN .......................... 24
FIGURA 4 ESTRUCTURA DEL MOTOR DE CAMPO PERMANENTE SIN ESCOBILLAS, MONOFÁSICO ............................................... 25
FIGURA 5 CONFIGURACIÓN BÁSICA BLDC A TRES FASES, Y DOS POLOS EN IMÁN PERMANENTE .............................................. 26
FIGURA 6 CONEXIÓN CARACTERÍSTICA DE LAS BOBINAS EN EL MOTOR BLDC ..................................................................... 26
FIGURA 7 SECUENCIA DE POLARIZACIÓN DE LAS BOBINAS PARA PRODUCIR QUE EL ROTOR GIRE .............................................. 27
FIGURA 8 VOLTAJE EN CADA FASE, FORMA DE ONDA DE CORRIENTE Y CODIFICACIÓN DE SENSOR HALL CON RESPECTO AL ÁNGULO
ELÉCTRICO DEL ROTOR.................................................................................................................................... 29
FIGURA 9 SEÑAL CON ARMÓNICOS ............................................................................................................................ 32
FIGURA 10 ESTRUCTURA DEL ANCHO DE PULSO MODULADO .......................................................................................... 34
FIGURA 11 DIAGRAMA A BLOQUES PARA LA VARIACIÓN DEL CICLO DE TRABAJO EN EL PWM ................................................ 35
FIGURA 12 DIAGRAMA A BLOQUES PARA GENERAR EL PWM SENOIDAL ........................................................................... 37
FIGURA 13 VUELTA ELÉCTRICA DEL MOTOR PMBLDC Y SUS PASOS DE CONMUTACIÓN ....................................................... 38
FIGURA 14 GENERADOR DE SENO Y COSENO. EL ROTOR ACTÚA DE PRIMARIO Y LOS DOS DEVANADOS DEL ESTATOR ACTÚAN DE
SECUNDARIO ................................................................................................................................................ 39
FIGURA 15 PUENTE H TRIFÁSICO .............................................................................................................................. 40
FIGURA 16 CIRCUITO EQUIVALENTE AL IGBT .............................................................................................................. 41
FIGURA 17 TRANSISTORES SUPERIORES DEL PUENTE H .................................................................................................. 43
FIGURA 18 FUNCIONAMIENTO DEL CAPACITOR DE ARRANQUE ........................................................................................ 44
FIGURA 19 TRANSITORIO DE VOLTAJE ........................................................................................................................ 44
FIGURA 20 DIODOS DE RECIRCULACIÓN EN EL PUENTE H MONOFÁSICO ............................................................................ 45
FIGURA 21 DESENERGIZADO RÁPIDO ......................................................................................................................... 46
FIGURA 22 DESENERGIZADO LENTO .......................................................................................................................... 46
FIGURA 23 LAZO DE CONTROL ABIERTO ..................................................................................................................... 48
FIGURA 24 LAZO DE CONTROL CERRADO .................................................................................................................... 48
FIGURA 25 CONTROL DISTRIBUIDO A BLOQUES ............................................................................................................ 50
FIGURA 26 DIAGRAMA DE TIEMPOS PARA LECTURA PARALELA ........................................................................................ 54
FIGURA 27 BLOQUE DEL PROTOCOLO CON EL CONVERTIDOR ANALÓGICO-DIGITAL .............................................................. 56
FIGURA 28 ESQUEMA PARA OBTENER DATOS DEL CONVERTIDOR ..................................................................................... 57
FIGURA 29 BLOQUE QUE SE ENCARGA DE REGISTRAR LA POSICIÓN DEL ROTOR ................................................................... 58
FIGURA 30 DIAGRAMA DE REGISTRO DE POSICIÓN ....................................................................................................... 59
FIGURA 31 BLOQUE DEL FILTRO DIGITAL..................................................................................................................... 60
FIGURA 32 ESQUEMA DEL FILTRO DIGITAL .................................................................................................................. 60
FIGURA 33 FILTRO PARA 16 BITS .............................................................................................................................. 61
FIGURA 34 PRIMITIVA CB16CLE ............................................................................................................................. 61
FIGURA 35 BLOQUE DE DETECCIÓN DE CAMBIO DE POSICIÓN ......................................................................................... 62
FIGURA 36 CIRCUITO PARA LA DETECCIÓN DE CAMBIO DE POSICIÓN................................................................................. 63
FIGURA 37 MONOESTABLE DIGITAL .......................................................................................................................... 64
FIGURA 38 DIAGRAMA DEL MONOESTABLE DIGITAL...................................................................................................... 64
FIGURA 39 BLOQUE DE NOMBRE "ENCODER" ............................................................................................................. 65
FIGURA 40 DIAGRAMA DEL BLOQUE DENOMINADO "ENCODER" ..................................................................................... 65
FIGURA 41 FUNCIONAMIENTO GENERAL DEL ENCODER INCREMENTAL .............................................................................. 66
9
FIGURA 42 SECUENCIAS PARA IDENTIFICAR GIRO EN EL MULTIPLICADOR DE ENCODER .......................................................... 66
FIGURA 43 DIAGRAMA DE ESTADOS PARA CONOCER DIRECCIÓN DE GIRO .......................................................................... 67
FIGURA 44 DIAGRAMA DEL MULTIPLICADOR DE ENCODER.............................................................................................. 68
FIGURA 45 DISEÑO A BLOQUES DEL PWM ................................................................................................................. 69
FIGURA 46 BLOQUE PWM_TRAP .............................................................................................................................. 70
FIGURA 47 FUNCIONAMIENTO DEL DISEÑO DE PWM ................................................................................................... 70
FIGURA 48 IMPLEMENTACIÓN DEL BLOQUE PWM_TRAP ................................................................................................ 71
FIGURA 49 BLOQUE PARA DIVIDIR FRECUENCIA DEL PWM, " DIV_FREC" ......................................................................... 71
FIGURA 50 IMPLEMENTACIÓN DEL DIVISOR DE FRECUENCIA ........................................................................................... 72
FIGURA 51 BLOQUE "LIMITES_CONMUTAR"............................................................................................................... 73
FIGURA 52 IMPLEMENTACIÓN DE LA LIMITACIÓN DEL CICLO TRABAJO............................................................................... 74
FIGURA 53 DIAGRAMA QUE GENERA EL PWM PARA EL SISTEMA .................................................................................... 75
FIGURA 54 ORDEN CONSIDERADO PARA OBTENER LA CARTA DE CONMUTACIÓN................................................................. 76
FIGURA 55 BLOQUE DEL DECODIFICADOR DE CONMUTACIÓN ......................................................................................... 81
FIGURA 56 IMPLEMENTACIÓN DEL DECODIFICADOR DE CONMUTACIÓN ............................................................................ 82
FIGURA 57 DIAGRAMA DEL CONMUTADOR TRAPEZOIDAL ............................................................................................. 83
FIGURA 58 DIAGRAMA A BLOQUES DEL DISEÑO DEL PWM SENOIDAL .............................................................................. 84
FIGURA 59 GRÁFICA DE CONMUTACIÓN SENOIDAL ....................................................................................................... 85
FIGURA 60 OBTENCIÓN DE LA POSICIÓN ANGULAR ....................................................................................................... 86
FIGURA 61 BLOQUE "SUMADOR" ............................................................................................................................. 87
FIGURA 62 VHDL DEL BLOQUE "SUMADOR" .............................................................................................................. 88
FIGURA 63 MACRO DE CÁLCULO CORDIC ................................................................................................................. 89
FIGURA 64 MULTIPLICADOR DE AMPLITUD POR SENO ................................................................................................... 89
FIGURA 65 CÓDIGO EN VHDL DEL MULTIPLICADOR_7_7 ............................................................................................. 90
FIGURA 66 BLOQUE "TOP2", GENERADOR DE ANCHO DE PULSO ..................................................................................... 91
FIGURA 67 DIAGRAMA GENERADOR DEL ANCHO DE PULSO SENOIDAL .............................................................................. 91
FIGURA 68 CÓDIGO VHDL DEL BLOQUE "REG_14" ..................................................................................................... 92
FIGURA 69 DIAGRAMA DEL GENERADOR DE PWM SENOIDAL ........................................................................................ 93
FIGURA 70 BLOQUE "PWM_COR", GENERADOR DE UN PWM SENOIDAL ......................................................................... 93
FIGURA 71 DIAGRAMA PARA GENERAR LOS TRES PWM SENOIDALES DEL SISTEMA ............................................................. 94
FIGURA 72 BLOQUE "CONMUTA_SENOIDAL", DECODIFICADOR PARA LA CONMUTACIÓN SENOIDAL........................................ 95
FIGURA 73 IMPLEMENTACIÓN DEL DECODIFICADOR DE CONMUTACIÓN SENOIDAL .............................................................. 96
FIGURA 74 TRANSISTORES EN PUNTO MÁXIMO DE CONMUTACIÓN, EN LA CONMUTACIÓN SENOIDAL...................................... 97
FIGURA 75 CONMUTADOR SENOIDAL ........................................................................................................................ 98
FIGURA 76 BLOQUE "CARGA_BOOTSTRAP" .............................................................................................................. 100
FIGURA 77 LÓGICA DEL BLOQUE "CARGA_BOOTSTRAP" .............................................................................................. 101
FIGURA 78 BLOQUE "CONMUTACIÓN", CONTENEDOR DE LA CONMUTACIÓN TRAPEZOIDAL Y SENOIDAL ................................ 102
FIGURA 79 DIAGRAMA GENERAL DE UN REGISTRO ELECTRÓNICO................................................................................... 102
FIGURA 80 CIRCUITO PARA ESCRITURA, UN REGISTRO ................................................................................................. 103
FIGURA 81 CIRCUITO PARA LECTURA Y ESCRITURA DE DATOS, UN REGISTRO .................................................................... 105
FIGURA 82 MACRO IMPLEMENTADA DE CUATRO REGISTROS ........................................................................................ 105
FIGURA 83 MACRO DE CUATRO REGISTROS, SOLO ESCRITURA....................................................................................... 106
FIGURA 84 IMPLEMENTACIÓN DE LA MACRO DE CUATRO REGISTROS.............................................................................. 107
FIGURA 85 BANCO DE REGISTROS IMPLEMENTADO .................................................................................................... 108
FIGURA 86 DIAGRAMA A BLOQUES DEL CONTROL DISTRIBUIDO IMPLEMENTADO .............................................................. 111
FIGURA 87 RELACIÓN ENTRE ANCHO DE PULSO Y CAMBIO EN LA REFERENCIA DE POSICIÓN ................................................. 111
10
FIGURA 88 DIAGRAMA A BLOQUES DEL ALGORITMO DE CONTROL ................................................................................. 113
FIGURA 89 CONTADOR DE 32 BITS, ASCENDENTE DESCENDENTE ................................................................................... 114
FIGURA 90 IMPLEMENTACIÓN DEL CONTADOR DE 32 BITS ASCENDENTE-DESCENDENTE ..................................................... 115
FIGURA 91 BLOQUE RESTADOR DE 32 BITS PARA OBTENCIÓN DEL ERROR ........................................................................ 116
FIGURA 92 IMPLEMENTACIÓN EN VHDL DEL BLOQUE "RESTADOR_32B"....................................................................... 116
FIGURA 93 BLOQUE DE LA ACCIÓN PROPORCIONAL .................................................................................................... 117
FIGURA 94 IMPLEMENTACIÓN DE LA ACCIÓN PROPORCIONAL ....................................................................................... 117
FIGURA 95 IMPLEMENTACIÓN DEL MULTIPLICADOR 16X16 SATURANTE ......................................................................... 119
FIGURA 96 BLOQUE DE LA ACCIÓN DERIVATIVA ......................................................................................................... 120
FIGURA 97 IMPLEMENTACIÓN DE LA ACCIÓN DE CONTROL DERIVATIVA........................................................................... 120
FIGURA 98 IMPLEMENTACIÓN DE LA ACCIÓN INTEGRAL ............................................................................................... 122
FIGURA 99 BLOQUE INTEGRADOR........................................................................................................................... 122
FIGURA 100 IMPLEMENTACIÓN DEL BLOQUE INTEGRADOR .......................................................................................... 124
FIGURA 101 BLOQUE SUMA_PID .......................................................................................................................... 125
FIGURA 102 IMPLEMENTACIÓN DEL SUMADOR DE ACCIONES DE CONTROL ...................................................................... 126
FIGURA 103 EJEMPLO DE REINICIO DEL CONTADOR EN MODO VELOCIDAD ...................................................................... 128
FIGURA 104 CONTADOR A 32 BITS CON CARGA PARALELA ........................................................................................... 129
FIGURA 105 CONTADOR PARA MODO VELOCIDAD A BLOQUES ...................................................................................... 129
FIGURA 106 IMPLEMENTACIÓN DEL CONTADOR PARA VALOR DE REFERENCIA MODO VELOCIDAD Y POSICIÓN ......................... 130
FIGURA 107 IMPLEMENTACIÓN DEL COMPARADOR DE DESBORDE ................................................................................. 131
FIGURA 108 BLOQUE "TIME_VELOCIDAD" ............................................................................................................... 132
FIGURA 109 DIAGRAMA A BLOQUES DEL MÓDULO "TIME_VELOCIDAD" ......................................................................... 132
FIGURA 110 IMPLEMENTACIÓN DEL BLOQUE "TIME_VELOCIDAD" ................................................................................ 133
FIGURA 111 BLOQUE "CAMBIO_MODO" ................................................................................................................. 134
FIGURA 112 IMPLEMENTACIÓN DEL BLOQUE "CAMBIO_MODO" .................................................................................. 134
FIGURA 113 BLOQUE "VELOCIMETRO" GENERADO PARA MEDIR RPM .......................................................................... 135
FIGURA 114 DIAGRAMA A BLOQUES DEL BLOQUE "VELOCÍMETRO" ............................................................................... 136
FIGURA 115 OSCILOGRAMA DE LA SEÑAL DE VUELTA MECÁNICA GIRO ASCENDENTE.......................................................... 136
FIGURA 116 OSCILOGRAMA DE LA SEÑAL DE VUELTA MECÁNICA GIRO DESCENDENTE ........................................................ 137
FIGURA 117 FLANCOS EN LOS QUE EL PRE DIVISOR CONSIDERA A UNA VUELTA MECÁNICA .................................................. 137
FIGURA 118 PRE DIVISOR PARA LA FUNCIÓN DE VELOCÍMETRO ..................................................................................... 138
FIGURA 119 ESQUEMA DE MEDICIÓN DEL INTERVALO PARA DETERMINAR VELOCIDAD ....................................................... 139
FIGURA 120 IMPLEMENTACIÓN DEL REGISTRO ASÍNCRONO .......................................................................................... 140
FIGURA 121 SEÑALES DE CONTROL DEL CONTADOR DE REVOLUCIONES .......................................................................... 141
FIGURA 122 GRÁFICA MUESTRA DE LA PRUEBA ESCALÓN............................................................................................. 142
FIGURA 123 IMPLEMENTACIÓN CAPTURA EN RÁFAGA ................................................................................................. 144
FIGURA 124 BLOQUE "CAPTURA" .......................................................................................................................... 145
FIGURA 125 DIAGRAMA A BLOQUES DE LA INTERFAZ DE POTENCIA ................................................................................ 146
FIGURA 126 DIAGRAMA ELÉCTRICO DEL AISLAMIENTO ELÉCTRICO DE LA INTERFAZ DE POTENCIA .......................................... 147
FIGURA 127 CONEXIÓN DEL ACCIONADOR DE COMPUERTAS DE LOS IGBT Y CAPACITORES DE ARRANQUE ............................. 148
FIGURA 128 IGBT´S CONECTADOS PARA FORMAR EL PUENTE H TRIFÁSICO ..................................................................... 149
FIGURA 129 DIAGRAMA A BLOQUES DE LA PROTECCIÓN PARA VERIFICACIÓN DE CONEXIÓN DE FASES ................................... 150
FIGURA 130 BLOQUE "VERIFICA_FASES" ................................................................................................................. 151
FIGURA 131 ESQUEMA PARA LA VERIFICACIÓN DE FASES ............................................................................................. 151
FIGURA 132 LÓGICA PARA LA OBTENCIÓN DE LA DIRECCIÓN REAL DE GIRO ...................................................................... 152
FIGURA 133 LÓGICA PARA VERIFICAR GIRO DE MOTOR................................................................................................ 153
11
FIGURA 134 DIAGRAMA DE LA PROTECCIÓN ERROR MÁXIMO ...................................................................................... 154
FIGURA 135 IMPLEMENTACIÓN EN LÓGICA DIGITAL DE LA PROTECCIÓN MÁXIMO ERROR .................................................... 155
FIGURA 136 FRECUENCIA MUESTREO Y LECTURA ....................................................................................................... 157
FIGURA 137 FILTRO DIGITAL, FILTRANDO RUIDO ........................................................................................................ 157
FIGURA 138 FILTRO DIGITAL, DETECTANDO QUE NO ES UN RUIDO ................................................................................. 158
FIGURA 139 MONOESTABLE DIGITAL MONITOREANDO UNA SEÑAL................................................................................ 158
FIGURA 140 SEÑAL "A", DEL ENCODER EMULADO ..................................................................................................... 159
FIGURA 141 OSCILOGRAMA DEL RESULTADO OBTENIDO AL MULTIPLICAR LA RESOLUCIÓN DEL ENCODER EMULADO ................. 159
FIGURA 142 TREN DE PULSOS A LA SALIDA DEL BLOQUE "DIV_FREC"............................................................................. 160
FIGURA 143 PWM TRAPEZOIDAL GENERADO ........................................................................................................... 160
FIGURA 144 OSCILOGRAMA DE LA CONMUTACIÓN TRAPEZOIDAL GENERADA ................................................................... 161
FIGURA 145 CONEXIÓN DE BOBINA EN LA CONMUTACIÓN TRAPEZOIDAL. ....................................................................... 161
FIGURA 146 FILTRO PASA BAJAS, PARA PRUEBA DE PWM SENOIDAL ............................................................................. 162
FIGURA 147 PWM SENOIDAL OBTENIDO ................................................................................................................. 162
FIGURA 148 BANCO DE PRUEBAS DESARROLLADO ...................................................................................................... 163
FIGURA 149 SINTONIZACIÓN Y RESULTADO DE SEGUIMIENTO DEL CONTROL A LA PRUEBA ESCALÓN...................................... 164
FIGURA 150 SINTONÍA Y RESULTADO OBTENIDO EN EL CONTROL DE VELOCIDAD ............................................................... 165
FIGURA 151 FORMAS DE ONDA DE LA CORRIENTE TOTAL DE LA FUENTE HACIA EL MOTOR .................................................. 166
12
Tablas
TABLA 1 COMPARATIVA ENTRE MOTOR DE INDUCCIÓN Y MOTOR DE CAMPO PERMANENTE................................................... 21
TABLA 2 CODIFICACIÓN CONMUTACIÓN TRAPEZOIDAL .................................................................................................. 30
TABLA 3 PROBLEMAS Y EFECTOS DE LOS ARMÓNICOS .................................................................................................... 32
TABLA 4 COMPARATIVA DEL IGBT CONTRA EL BJT Y EL MOSFET .................................................................................. 42
TABLA 5 OPCIONES DE RESOLUCIÓN DEL CONVERTIDOR ANALÓGICO-DIGITAL..................................................................... 53
TABLA 6 OPCIONES DE CONFIGURACIÓN OPERACIÓN ADS2S1210 ................................................................................. 53
TABLA 7 INTERFAZ CON EL CONVERTIDOR ANALÓGICO-DIGITAL ....................................................................................... 55
TABLA 8 DIVISIÓN DE FRECUENCIA ............................................................................................................................ 56
TABLA 9 CARTA DE CONMUTACIÓN BLDC BE341J ...................................................................................................... 77
TABLA 10 NÚMERO DE CUENTAS EN LAS QUE SE DEBE GENERAR EL CAMBIO DE POLARIDAD .................................................. 78
TABLA 11 RANGOS PARA CONMUTAR ........................................................................................................................ 79
TABLA 12 CONMUTACIÓN DISEÑADA PARA EL SISTEMA ................................................................................................. 80
TABLA 13 VALORES OBTENIDOS PARA IDENTIFICACIÓN DE FALLA EN EL ARRANQUE DE CONMUTACIÓN SENOIDAL ...................... 99
TABLA 14 TABLA DE VERDAD DEL REGISTRO DIGITAL ................................................................................................... 103
TABLA 15 LOCALIDADES INTERFAZ PC ..................................................................................................................... 109
TABLA 16 CANTIDAD DE VUELTAS NECESARIAS PARA CALCULAR NUEVO VALOR DE VELOCIDAD............................................. 138
13
Capítulo 1. Introducción
Capítulo 1.
Introducción
Los vehículos eléctricos (EV: Electric Vehicles), fueron inventados en 1834, durante
la última década del siglo XIX, muchas compañías produjeron vehículos eléctricos
en América, Gran Bretaña y Francia, pero existieron limitaciones, en cuanto a las
baterías principalmente, asociado al rápido avance en el vehículo de combustión
interna, logrando imponerse este último por su potencia, velocidad e independencia,
elementos que hacían sentir eficiencia al transportarse. Además que los recursos
naturales eran bastos y al ser un bien al cual no todos tenían acceso, no
representaba significativamente un impacto ambiental negativo en cuanto a sus
residuos. Al ser un negocio global en expansión fue fácil que grandes empresas
realizaran inversión para tener las suficientes estaciones de abasto de combustible
que demandaban estos vehículos, lo que generó una aceptación vertiginosa.
Fue esto el motivo para que el vehículo eléctrico desapareciera de la escena del
mundo en 1930. Sin embargo, con el paso de los años a nivel internacional,
existieron cambios de acuerdo a cómo la sociedad vivía su época, como ejemplo se
tiene que cercanos a los años setentas, algunos países obligados por las crisis
energéticas retomarán el interés en el vehículo eléctrico, es así como en 1976
Estados Unidos lanzó una ley pública para el desarrollo de autos eléctricos e
híbridos, observando que podrían ser rentables este tipo de vehículos y
demostrando al mundo que era esta línea el futuro del transporte a nivel mundial.
Sin embargo en ese tiempo continuaba la limitación en baterías ya que se lograban
rangos de conducción cortos y el costo de estos vehículos era muy alto, lo cual
restringió de nuevo la popularidad del vehículo eléctrico.
14
Es así como algunos avances tecnológicos aplicados hasta los años 1990; como
son, tecnología en baterías, el desarrollo en control de motores y el avance en
electrónica de potencia, lo que hacen prometedor el desarrollo de vehículos
eléctricos de nuevo. En el inicio del siglo XXI muchos países se enfrentaron con el
cambio climático, crisis energéticas, contaminación y el alto interés que a nivel
mundial se da por el ambiente y la sustentabilidad, estos factores, en conjunto
generan la importancia y el porqué del gran crecimiento que ha tenido el vehículo
eléctrico en nuestros tiempos.
15
Capítulo 1. Introducción
Sin embargo, la anterior no es la mejor, ya que estos motores, como lo describe Ali
Emadi y colaboradores [5], pueden ser reemplazados con la nueva tecnología de
motores PMBLDC, resultando en un substancial ahorro de energía. La confiabilidad
es mayor, el mantenimiento es nulo, el control puede ser más fino y preciso ya que
este tipo de motor se comporta de forma lineal, por lo cual es suficiente el algoritmo
16
de control proporcional integral, para la correcta compensación de velocidad y
torque; además de que se elimina la conmutación mecánica, con el inconveniente
de que su accionamiento es más costoso y complejo por la electrónica de potencia
involucrada.
17
Capítulo 1. Introducción
un código digital como es el caso del encoder o a un código analógico como el caso
del resolver. [7]
Con lo cual se puede concluir, que el tema del vehículo eléctrico es actual y que
existen los medios para hacer que sean eficientes, con lo cual lograrían la
popularidad que se les ha negado por décadas. Además de que al observar, los
requerimientos que el controlador para esta aplicación, debe cumplir, es correcto
pensar en que la mejor alternativa es desarrollar el controlador eficiente para motor
PMBLDC y no para otro tipo de motor eléctrico. Eficiencia que se logrará al conmutar
bajo el esquema senoidal.
Después de analizar los algoritmos de control que se proponen para estos motores,
sobresale que, a pesar de existir nuevas teorías y métodos, el control Proporcional
Integral Derivativo, es el que mejor se ajusta para la regulación de velocidad,
contando con un sensor de posición absoluta.
1.3 Objetivos
1.3.1 Objetivo General
Regular la velocidad del motor PMBLDC empleando conmutación trapezoidal y
senoidal, realizando una comparación entre estos métodos para mostrar las
ventajas del método senoidal con respecto a torque, nivel de armónicos y factor de
potencia.
18
1.4 Justificación
En los últimos veinte años, el uso de vehículos eléctricos se ha incrementado
anualmente 13% en promedio [8], siendo el vehículo de combustible alternativo con
mayor crecimiento. Fabricantes como BMW, Chrysler, Ford, GM, Honda, Nissan,
VW, apuestan a esta tecnología, con autos 100% eléctricos ya en el mercado [9],
con promedio de ventas de 16 mil vehículos por año solo en Estados Unidos [10],
con estos datos en mente, este medio de transporte, representa a la nueva
generación de vehículos que se comercializarán a gran escala a nivel mundial,
principalmente motivado por el impacto ambiental, siendo viable por los avances en
tecnología de baterías, motores, electrónica de potencia y generación limpia de
energía eléctrica.
19
Capítulo 2. Fundamentos Teóricos
Capítulo 2.
Fundamentos Teóricos
2.1 Introducción
En este capítulo, se describe al sensor absoluto de posición que es necesario para
el desarrollo de esta aplicación, así como el principio de funcionamiento, y teoría
que avala el por qué este desarrollo se realiza con este dispositivo y algoritmos.
Se selecciona como el óptimo motor para esta aplicación, al motor sin escobillas,
debido a su alta eficiencia en comparación con los motores de inducción y de campo
permanente con escobillas.
20
Para lograr la interfaz, entre la lógica y el motor, se define al puente H trifásico, con
transistores bipolares de potencia de compuerta aislada, con características de
voltaje y corriente, capaces de soportar la dinámica del motor.
Debe entenderse como motor eléctrico una máquina que realiza la conversión de
energía eléctrica de entrada en energía mecánica de salida, presentando pérdidas
de energía en dicha transformación, es decir no tiene comportamiento ideal, debido
a fricción e inercia así como la misma oposición interna de magnetos a generar el
movimiento.
21
Capítulo 2. Fundamentos Teóricos
Una de las ventajas más relevantes de los motores de campo permanente, es que
la corriente al arranque es igual a la de operación lo cual, permite que el torque
pueda ser máximo desde la primer revolución elevando la eficiencia energética,
además de ser silenciosos.
Estas cargas electromagnéticas, se interpretarán como polos, norte (N) y sur (S).
22
Figura 2 Conmutador del motor convencional de DC
Una vez que el polo norte de la bobina se encuentre con el polo sur del estator y el
sur de la bobina con el norte del estator, el movimiento se verá detenido porque se
ha encontrado un punto de equilibrio electromagnético, en este instante hay que
cambiar las polaridades en la bobina para que el rotor pueda de nuevo tener
movimiento, a este proceso se le conoce como conmutación.
23
Capítulo 2. Fundamentos Teóricos
El motor sin escobillas aplica el principio de la ley de Lenz, la cual indica que si un
conductor por el que circula una corriente eléctrica se encuentra dentro de la acción
de un campo magnético, por la interacción entre los campos magnéticos naturales
con los inducidos en el conductor éste tiende a desplazarse perpendicularmente a
24
las líneas de acción del campo magnético, la fuerza que produce este
desplazamiento se conoce como fuerza electromotriz. Con esta fuerza electromotriz
se realiza el giro continuo (sin ningún contacto con las bobinas en el estator) del
servomotor sin escobillas.
Esto significa que para poder conmutar la energía en la bobina, se requiere conocer
la posición del rotor por medio de algún sensor de posición, que permita conocer
con exactitud los puntos en los que la bobina tiene que cambiar de polaridad.
25
Capítulo 2. Fundamentos Teóricos
Figura 5 Configuración básica BLDC a tres fases, y dos polos en imán permanente
Los motores PMBLDC entre las tres fases, forman un embobinado trifásico con
conexión tipo estrella, Figura 6; todas las fases son conectadas en un punto en
común [17].
26
en un lapso de tiempo y con secuencia determinada; a manera de ejemplo, para
realizar un giro, se debe de seguir la secuencia de la trayectoria 1,2 y 3, mostrado
en la Figura 7, donde se observa que la primer conmutación es con las bobinas “A”
en positivo y “B” en negativo, para continuar el giro una fase debe mantener su
polaridad y la otra a conectar es la que puede cambiar de polaridad, en este caso la
segunda conmutación mantiene a “B” en negativo y la bobina “C” es polarizada
positivamente, para continuar el giro en la conmutación 3 se mantiene a “C” positiva
y “A” se vuelve negativa, y así cíclicamente hasta terminar 6 pasos de conmutación,
que es cuando las polaridades se repetirían, a este ciclo de los 6 pasos de
conmutación se le conoce como vuelta eléctrica.
Figura 7 Secuencia de polarización de las bobinas para producir que el rotor gire
27
Capítulo 2. Fundamentos Teóricos
Con una confiabilidad mejorada y costos cada vez menores, la industria ha centrado
su atención en los problemas provenientes con los motores sin escobillas, como
son:
El sensor de efecto Hall, sonda Hall o simplemente sensor Hall, opera en base al
efecto Hall, el cual se utiliza para la detección de presencia de campos magnéticos.
Estos sensores tienen la característica que, al detectar la polaridad positiva del
campo magnético, generan una señal lógica de en valor alto (1 en valor binario) y
cuando detectan la polaridad negativa generan la señal digital en bajo (0 en valor
binario). [19]
28
En la Figura 8 se describen las formas de onda de las señales de voltaje del motor,
corriente y sensores Hall, correspondiente con el ángulo del rotor del motor BLDC.
Típicamente la mayoría de motores BLDC se fabrican con tres sensores Hall
integrados, colocados 120 grados uno del otro. Esto proporciona las señales
digitales necesarias para el decodificador, con el fin de determinar la posición del
rotor en intervalos de 60 grados eléctricos.
La colocación de los sensores Hall cada 120 grados es la configuración más popular
debido a que, en condiciones normales, nunca genera los códigos en la que los tres
sensores tengan su salida lógica en alto o bajo simultáneamente. Esto significa
códigos binarios 111 o 000 son inválidos y esto permite un mecanismo de detección
de fallos más fácil, en caso de que los sensores fallen. [20]
Figura 8 Voltaje en cada fase, forma de onda de corriente y codificación de sensor Hall con
respecto al ángulo eléctrico del rotor
29
Capítulo 2. Fundamentos Teóricos
30
2.3.3 Torque constante a partir de la conmutación senoidal
La conmutación senoidal provee del óptimo torque constante, con el inconveniente
de los altos requerimientos de la retroalimentación de posición, y la dificultad de
implementar el algoritmo en el hardware dedicado. [21]
2𝜋 2𝜋 ( 1)
𝑇 = 𝐾𝑡 (𝐼𝑎 𝐸𝑎 𝑠𝑖𝑛(𝜃)𝑠𝑖𝑛(𝜃) + 𝐼𝑏 𝐸𝑏 𝑠𝑖𝑛 (𝜃 + ) 𝑠𝑖𝑛 (𝜃 + )
3 3
2𝜋 2𝜋
+ 𝐼𝑐 𝐸𝑐 𝑖𝑛 (𝜃 − ) 𝑠𝑖𝑛 (𝜃 − ))
3 3
De manera simplificada se tiene lo mostrado en la Ecuación 2, donde, en el torque
que produce el motor se ve afectado solamente por su constante de torque, y por la
corriente que consume.
3 ( 2)
𝑇𝑡 = 𝐾𝐼
2 𝑡𝑡
2.3.4 Armónicos
Los armónicos son corrientes o voltajes, con frecuencias que son múltiples enteros
de la frecuencia fundamental, como se muestra en la Figura 9. Por ejemplo si la
frecuencia fundamental es 60 Hz, entonces la segunda armónica es 120 Hz, la
tercera es 180 Hz, etc.
31
Capítulo 2. Fundamentos Teóricos
Los armónicos son creados por cargas no lineales, que despliegan pulsos abruptos
de corrientes en lugar de una senoidal. Estos pulsos causan distorsión en la forma
de onda de corriente, la cual en el retorno causa armónicos de corriente por flujo en
otras partes del sistema de potencia.
En plantas industriales, la causa más común de armónicos son cargas trifásicas no-
lineales, las cuales incluye controladores de motores, y fuentes de poder
ininterrumpidas (UPS sin corrector de factor de potencia). [22]
Algunos de los problemas que ocasionan los armónicos, se listan en la Tabla 3. [23]
32
Maquinas • Circulación de corrientes armónicas • Sobrecalentamiento y perdida
Eléctricas por los devanados y tensiones de aislamiento térmico (efecto
armónicas en bornes Joule)
• Aumento perdidas magnéticas
(por Histéresis y Foucault)
• Desclasificación
(Transformador)
• Vibraciones en el eje, desgaste
mecánico en rodamientos y
excentricidades (motores)
Equipos de • Medidas no válidas • Valores de magnitudes
Medida y Control • Errores en procesos de control incorrectas
• Interferencias con sistemas de
comunicación y control
• Error en los instantes de disparo
de tiristores
Posicionamiento de motores
Variadores de velocidad
Filtros activos.
El PWM, como se puede observar en la Figura 10, consiste en generar un periodo,
que podrá ser repetitivo, por medio de dos pulsos rectangulares de tamaño definido
por el diseñador, con la capacidad de estar en alto por un tiempo T1 o ciclo de
trabajo activo, que será el tiempo que el motor estará conectado a la fuente
alimentación y un estado bajo T2 que el motor lo que verá será la desconexión.
Repitiendo este periodo por unidad de tiempo es lo que se conoce como tren de
pulsos.
34
Con esta técnica de conexión y desconexión es como se logra, que el motor
experimente un promedio del voltaje de su fuente de alimentación, por ejemplo: Si
el accionamiento del motor, se va a realizar con una fuente de alimentación que
suministre 120 volts, pero se desea que el motor solo aprecie 72 volts, es decir el
60% del voltaje de la fuente, entonces el PWM que se debe generar debe tener
como T1, el 60% del periodo y T2 el 40% del periodo restante.
Surge entonces la necesidad, de conocer como variar la amplitud del ciclo de trabajo
en el periodo de un PWM, se puede explicar cómo hacerlo apoyados en la Figura
11, en la cual se observa que se requiere:
Comparación PWM
Frecuencia Periodo
35
Capítulo 2. Fundamentos Teóricos
es igual al valor de T1, el ancho de pulso sufre un cambio al estado bajo generando
T2, y se mantendrá esta condición hasta que el contador vuelva a ser cero, es decir,
cuando cruce por el máximo valor del periodo y tenga un reinicio.
36
ya que dependiendo de su valor, la forma va a sufrir un cambio, generando un nuevo
cálculo del seno.
El cálculo del seno, debido a que el hardware de implementación solo cuenta con
operaciones matemáticas básicas, se realiza con el algoritmo de computadora
digital para rotación de coordenadas (CORDIC: COordinate Rotation DIgital
Computer).
La multiplicación que dará el dato final para la generación del PWM, se debe realizar
en tiempo real, ya que en cuanto cambie la posición del rotor la forma debe ser
ajustada inmediatamente. Por ende se requiere conocer la posición del rotor en todo
momento, de aquí la necesidad de utilizar un sensor absoluto de retroalimentación.
37
Capítulo 2. Fundamentos Teóricos
Además para dar una vuelta eléctrica se requieren seis pasos de conmutación, en
cada paso de conmutación las fases deben contar con su propia amplitud y forma,
lo cual genera que cada fase debe tener su propio cálculo en tiempo real de PWM.
38
La variación de electromagnetismo, así como la variación de la reactancia de un
componente o circuito, ofrecen alternativas de medida a las disponibles en sensores
resistivos. Muchas de ellas no requieren contacto físico con el sistema donde se va
a medir, o bien tienen un efecto de carga mínima. En concreto, ofrecen soluciones
mejores para mediciones de desplazamientos lineales y angulares, en el caso de
tratar con materiales ferromagnéticos, y para las medidas humedad.
Figura 14 Generador de seno y coseno. El rotor actúa de primario y los dos devanados del estator
actúan de secundario
39
Capítulo 2. Fundamentos Teóricos
2.8.1 Puente H
Con el puente H se realiza la energización y cambio de polaridad en las bobinas del
estator, por lo que se utiliza como dispositivo de potencia para que el motor obtenga
la energía para girar.
El PWM debe cumplir con ciertas características, para que pueda ser funcional en
el control de motores, debido a los componentes que se utilizarán como puente,
entre la etapa de control y la etapa de potencia del sistema.
40
Específicamente en esta aplicación se utilizarán IGBT´s, debido a sus condiciones
de operación y velocidad de trabajo, que serán explicadas más adelante, además
de que los componentes periféricos necesarios para la activación de los
transistores; se requiere que el PWM cumpla con las siguientes características:
41
Capítulo 2. Fundamentos Teóricos
42
2.8.3 Capacitores de arranque
Los capacitores de arranque son necesarios en la interfaz de potencia, debido a que
en el puente H, los transistores de la parte superior mostrados en la Figura 17, no
tienen referencia con el Negativo de la fuente, por ende no se tiene el voltaje para
realizar el cierre de la compuerta. A este estado se le conoce como que el transistor
esta flotado, de no existir los capacitores de arranque, se debería tener dos fuentes
diferentes para activar los transistores, una fuente para los transistores inferiores y
otra para los transistores superiores.
43
Capítulo 2. Fundamentos Teóricos
44
Los componentes electrónicos son sensibles a estos transientes, ya que tienen
límites de voltaje de operación, por tanto necesitan estar protegidos de ambos
transitorios repetitivos y aleatorios. [30]
45
Capítulo 2. Fundamentos Teóricos
Durante el desenergizado lento, la corriente decae a cero más lento comparado con
el modo rápido. Se logra deshabilitando los transistores superiores y activar todos
los transistores de abajo, como se muestra en la Figura 22. [31]
46
2.9 Medio de implementación
Para esta aplicación, se requiere generar hardware dedicado que sea capaz de
procesar a la velocidad de cambio del motor, que permita implementar lógica digital
en un espacio físico, permitiendo generar un integrado para la aplicación sin
necesidad de fabricarlo. El dispositivo apto para realizar esta tarea, es el arreglo de
compuertas programables en campo (FPGA: Field Programmable Gate Arrays) el
cual son semiconductores que se basan en una matriz de bloques lógicos,
conectados a través de las interconexiones programables. El FPGA puede ser
reprogramado para la aplicación o funcionalidad deseado, después de haberlo
fabricado. Esta característica distingue al FPGA de circuitos integrados de
aplicación específica (ASIC), que se fabrican a medida para tareas específicas de
diseño. Aunque los FPGA programables de una sola vez (OTP) están disponibles,
los tipos dominantes son los de memoria estática de acceso aleatorio (SRAM: Static
random-access memory) los cuales pueden ser reprogramados a medida que
evoluciona el diseño. [32] [33]
En esta aplicación se desarrolla, desde los bloques lógicos más básicos, es decir
compuertas lógicas, operaciones aritméticas, operaciones lógicas, comparaciones,
toma de decisiones y almacenamiento de datos.
47
Capítulo 2. Fundamentos Teóricos
48
El control P.I.D., además, tiene la ventaja de ser un método probado y aplicado en
muchos sistemas de control, por lo que existe abundante información y ejemplos de
aplicación.
Donde:
49
Capítulo 2. Fundamentos Teóricos
2.12.1 Puerto de la PC
El puerto de Entrada / Salida del PC, se constituye como el medio por el cual, el
procesador principal (microprocesador) se comunica e interactúa con el FPGA. En
la aplicación de este proyecto, se utiliza el puerto paralelo, que es capaz de
transmitir ocho bits en un instante.
El puerto paralelo originalmente fue diseñado para el uso de impresoras con tres
direcciones físicas; sin embargo, es posible utilizarlo para aplicaciones como las de
este proyecto, donde se requieren entradas y salidas digitales, para desempeñar
tareas de transmisión de datos y protocolo, con las características siguientes:
50
siguiente manera: ocho bits de datos bidireccionales en la dirección 0x378 (dirección
base), el bit cinco del puerto 0x37A se usa para su configuración: con cero es salida
y con uno es entrada. Cinco bits de entrada en la dirección 0x379 (dirección base
más uno) y cuatro bits de salida en la dirección 0x37A (dirección base más dos).
Son muy populares los registros de 8 bits, ya que en los computadores con
frecuencia manipulan bytes de información.
Existen dos formas de cargar un dato a los registros, de manera serial, es decir un
bit a la vez, o la carga paralela, que es el ingreso de los datos al mismo tiempo en
todos los flip flops.
51
Capítulo 3. Accionamiento del motor PMBLDC
Capítulo 3.
3.1 Introducción
En este capítulo se describe el diseño y la implementación que se requiere para
poder accionar un PMBLDC.
Se modula el ancho de pulso, para poder variar la velocidad del motor, entregando
valores intermedios de voltaje, desde cero hasta el máximo voltaje que pueda
entregar la fuente de alimentación disponible, este ancho de pulso es el utilizado en
el conmutador trapezoidal.
Sin embargo, para lograr el conmutador senoidal, se genera el ancho de pulso con
forma senoidal, de acuerdo al cálculo que en tiempo real se tenga como resultado
del seno de la posición del rotor, de esta manera se logra entregar el voltaje y la
corriente a las bobinas en forma senoidal y con el desfase de 120°, como lo requiere
la teoría de conmutación senoidal.
52
3.2 Medición de la posición absoluta del rotor
Como se mencionó en el capítulo anterior, se tiene el requerimiento de conocer de
manera absoluta la posición del rotor, para lograr conmutar de forma senoidal y
además poder dejar fijo al motor en una posición deseada, lo cual se consideró que
la mejor opción es el sensor “Resolver”, pre ensamblado con el motor por el
fabricante del PMBLDC.
A0 A1 Resultado
0 0 Modo normal – Medición de posición en la salida
0 1 Modo normal – Medición de velocidad en la salida
1 0 Reservado del sistema
1 1 Modo configuración de registros
La interfaz digital del convertidor funciona a través de registros, por lo cual para
poder leer un dato de esté, es necesario estar en protocolo con mencionado registro,
53
Capítulo 3. Accionamiento del motor PMBLDC
Inicialmente se debe mandar un valor bajo en la señal activa chip, para seleccionar
como activo al convertidor del que se quiere leer , la señal de reloj es generada por
el cristal del convertidor a la frecuencia de 10 MHz, posteriormente se requiere una
señal para que el registro tome el valor de la posición en el rotor, lo que sería similar
a una señal de carga registro, esta señal es etiquetada como “Muestra” y trabaja
en activo bajo, esta señal debe tener una transición por cada dato que se quiera
almacenar.
54
Una vez que se capturó el valor de la posición para leerlo es necesario que la señal
Leer tenga una transición de alto a bajo, con esto el valor de la posición estará
disponible en el bus de datos listo para ser adquirido por el FPGA.
Cabe mencionar que si se desea leer cada valor muestreado y no solo registrarlo,
la señal de lectura debe de oscilar a la misma frecuencia de la señal de muestreo
pero con un retardo de 608 ns como mínimo para que el dato que se muestrea ya
se encuentre bien definido al leerlo, esto se logra utilizando la misma señal de
muestreo con inversión.
55
Capítulo 3. Accionamiento del motor PMBLDC
Internamente se tiene que las señales Res0, Res1, y Activa chip, deben de estar
asegurados a un valor lógico cero por lo cual se conectan por medio de un búfer a
tierra.
56
6 64 781,250
7 128 390,625
8 256 195,313
9 512 97,656
10 1024 48,828
11 2048 24,414
12 4096 12,207
13 8192 6,104
14 16384 3,052
Al realizar las divisiones se puede determinar que hay que dividir la frecuencia del
reloj catorces veces, para alcanzar el valor más cercano a 3 kHz, lo cual se logra
tomando el bit número trece de la cuenta de la primitiva CB16CE.
En la Figura 28, se muestra el esquemático, que genera las señales para poder
obtener datos del convertidor.
57
Capítulo 3. Accionamiento del motor PMBLDC
58
Figura 30 Diagrama de registro de posición
El funcionamiento del filtro que se diseñó, parte de la primicia de que el valor que
se va a obtener a su salida es porque el dato de entrada debe de tener cierta
duración y no ser solo un pico transitorio, duración que es configurable.
Como bloque el filtro, véase siguiente Figura 31, se representa por tener dos
entradas, llamadas reloj donde entrará la frecuencia de filtrado, en la entrada “ent”
se ingresa la señal que se desea filtrar, y en la salida se obtiene la señal que se
desea sin que el ruido haya afectado.
59
Capítulo 3. Accionamiento del motor PMBLDC
Cabe mencionar que el reloj que se utiliza para los filtros, no puede ser el de 50
MHz del sistema, ya que el tiempo de duración de la señal a filtrar sería muy corto
y podría seguir dejando entrar al ruido, por otra parte no puede ser una frecuencia
muy baja, porque se podría perder el dato que se intenta filtrar, se debe buscar la
frecuencia apta para el filtrado. Para esta aplicación se utiliza un filtro digital con una
frecuencia de corte de 3.1 MHz, ya que se tuvo el problema que al filtrar con menor
frecuencia los datos a registrar de posición se perdían
De esta manera se filtran las señales externas que se pretenden ingresar al FPGA,
para el caso de la posición del rotor, se realiza el acoplamiento de 16 filtros, debido
a que se utiliza un filtro por cada bit que se desea ingresar al sistema, en el caso de
la posición del rotor, el FPGA tiene la capacidad de capturar la resolución máxima
del convertidor analógico-digital. Quedando un bloque como el mostrado en la
Figura 33, a la entrada ingresan los 16 bits y la frecuencia de filtrado, y a la salida
60
se obtienen las 16 señales sin que las haya afectado el ruido, se puede considerar
una posición efectiva del rotor lista para poder ser registrada.
Una vez que se filtró el dato de posición, se registra para tener un valor fijo por un
tiempo, con el que se realiza el procesamiento del sistema. Se utiliza el registro de
16 bits, con carga síncrona obtenido con la primitiva CB16CLE que se muestra en
la Figura 34.
61
Capítulo 3. Accionamiento del motor PMBLDC
Para generar la señal de reloj de este registro, se diseñó un bloque que detecte el
cambio de posición, mostrado en la figura 35, el cual cuenta con la entrada de 16
bits de la posición obtenida del resolver después de ser filtrada, en otra entrada se
ingresa la señal de reloj del sistema de 50 MHz y a la salida se obtiene un solo bit
en activo bajo el cual tendrá una transición de 1 a 0 cada vez que la posición del
rotor se modifique.
62
Figura 36 Circuito para la detección de cambio de posición
63
Capítulo 3. Accionamiento del motor PMBLDC
64
3.4 Encoder Emulado
Del convertidor analógico-digital, se pueden obtener las sseñales de un encoder de
forma simulada, el emulador propio del convertidor entrega tres señales: “A”, “B” y
“Dirección”. Esta emulación es utilizada para generar el paso y dirección del
controlador PID, para lo cual se generó el bloque “encoder” mostrado en la Figura
39, el cual tiene como entradas las tres señales emuladas, la frecuencia de los filtros
digitales y el reloj general del sistema, además como salida el paso y la dirección
que se obtienen de las señales del encoder.
Internamente como se muestra en la Figura 40, las señales provenientes del exterior
son filtradas para ser ingresadas al multiplicador de encoder, el cual tiene como
función multiplicar en cuatro la resolución de encoder que se tenga, y generar las
señales que utiliza el controlador PID.
65
Capítulo 3. Accionamiento del motor PMBLDC
Para identificar la dirección de giro, se debe de tener en cuenta Figura 42, donde se
observa, que para conocer dirección se debe contar con el valor de “A” y “B” en el
estado actual y uno anterior, con la finalidad de tener secuencias de valores
identificables, para cada sentido.
66
De la Figura 42, se desprende el diagrama de estados mostrado en la Figura 43,
que muestra la secuencia posible, de acuerdo a los niveles de ambas señales para
identificar la dirección.
Los monoestables son interconectados mediante la compuerta OR, por ende con
un cambio que exista en cualquiera de los dos monoestables, se tendrá una señal
lógica en valor alto a la salida de la compuerta, esta señal es invertida para generar
un retardo, con finalidad de esperar, a que el valor que se va a tomar como bueno,
este establecido, garantizando que se toma el valor un instante después de que esté
cambió, este último paso se hace dos veces para garantizar, que al pulso que se
utilizará como paso en el controlador, no tenga valores erróneos o transitorios.
67
Capítulo 3. Accionamiento del motor PMBLDC
Para obtener la dirección en la que gira el motor, se implementó en los dos flip-flop
“FD”, el registro de la posición anterior, para que mediante compuertas AND se
realice la comparación entre el valor actual y el anterior, por último la salida es
registrada para evitar que el controlador observe el cambio de dirección en
transición, logrando obtener que para giro en sentido horario el valor registrado de
dirección es “1” y para giro a la izquierda e valor es “0”.
68
3.5 Generación de PWM
En la Figura 45, se muestra el diseño a bloques para generar el PWM, a utilizar en
la conmutación de los transistores.
Como se puede observar para generar el periodo del PWM, se hace uso de un
contador, que va a tener la capacidad de acuerdo a la finura que se requiera en los
anchos de pulso, para esta aplicación en el modo trapezoidal, se genera el contador
a 8 bits, por ende se tendrá la cuenta de 0 – 255, dando el conteo total de 256
valores.
La función del comparador, es monitorear que el valor del contador y el valor del
ciclo de trabajo, sean iguales, en cuanto se da esta condición se genera un pulso
que resetea al flip flop, haciendo que la salida tome un valor lógico cero y se
mantenga así hasta el final del periodo, que es cuando el contador termina el conteo.
69
Capítulo 3. Accionamiento del motor PMBLDC
70
Figura 48 Implementación del bloque pwm_trap
71
Capítulo 3. Accionamiento del motor PMBLDC
Por otra parte de manera asíncrona a la señal de reloj, cada vez que “cuenta” tenga
un valor igual a cero, la salida del divisor de frecuencia tendrá un valor lógico alto y
cuando sea cualquier otro valor la salida será cero.
72
𝐹𝑟𝑒𝑐𝑢𝑒𝑛𝑐𝑖𝑎 𝑟𝑒𝑙𝑜𝑗 𝑑𝑒𝑙 𝑠𝑖𝑠𝑡𝑒𝑚𝑎 ( 7)
𝐷𝑖𝑣𝑖𝑠𝑖𝑜𝑛𝑒𝑠 =
(𝐹𝑟𝑒𝑐𝑢𝑒𝑛𝑐𝑖𝑎 𝑑𝑒𝑠𝑒𝑎𝑑𝑎) (𝐶𝑜𝑛𝑡𝑒𝑜 𝑚á𝑥𝑖𝑚𝑜 𝑒𝑛 𝑙𝑜𝑠 𝑏𝑖𝑡𝑠 𝑑𝑖𝑠𝑝𝑜𝑛𝑖𝑏𝑙𝑒𝑠 )
El valor fijo de división debe ser calculado de acuerdo a la frecuencia general que
se tenga en cada sistema, en el caso específico de esta aplicación, al contar con
reloj de 50 MHz si esta es dividida 11 veces, como se observa en el cálculo de la
Ecuación 8, se logra aproximarse a los 18 KHz esperados para el transistor.
50 𝑀𝐻𝑧 ( 8)
𝐷𝑖𝑣𝑖𝑠𝑖𝑜𝑛𝑒𝑠 = = 10.85 ≈ 11 𝑑𝑖𝑣𝑖𝑠𝑖𝑜𝑛𝑒𝑠
(18 𝑘𝐻𝑧) (256)
El ciclo de trabajo que se ingresa en el valor t1, debe estar previamente limitado en
valores que aseguren, no tener al transistor trabajando en su zona activa y
garantizar el corte y saturación del mismo, para lo cual se generó el bloque “limites
conmutar”, mostrado en la Figura 51, que tiene como entrada la amplitud deseada
y como salida la amplitud limitada.
Dentro del bloque “Limites_conmutar”, véase Figura 52, se tiene que el PWM más
pequeño que se puede entregar a los transistores es de 5 cuentas de los 256
posibles, de ser menor el ciclo de trabajo se vuelve cero, en contra parte el valor
más grande que se puede entregar es de 241, de ser más grande el ciclo de trabajo
se satura en 240, cualquier otro valor dentro de estos rangos se le permite el paso
hacia los transistores sin realizar modificación.
73
Capítulo 3. Accionamiento del motor PMBLDC
Como se puede observar se tiene una señal llamada “compensa”, que tiene la
finalidad de eliminar el tiempo que recorta el chip IR2132, por cuestiones de tiempo
muerto, que el chip necesita para garantizar que dos transistores de una misma
rama no estén cerrados al mismo tiempo, este problema será detallado más
adelante. Lo que se genera dentro de los límites del ciclo de trabajo, es que al ciclo
de trabajo deseado se le suman tres cuentas, que es aproximadamente el recorte
en cuentas que nos genera el chip.
74
Figura 53 Diagrama que genera el PWM para el sistema
El motor cuenta con los tres cables para conectar las bobinas, delimitados
por los colores: rojo, blanco y negro. Sin embargo, no se menciona cual es la
fase A, la fase B o la fase C, esto se determina de acuerdo a como el
conmutador, lo tenga preestablecido para la decodificación.
La vuelta eléctrica requiere de seis pasos de conmutación, se buscan
conectando las fases en base al orden mostrado en la Figura 54.
Se conectaron las fases al voltaje de 5 volts, generando que el rotor girará
hasta la posición en que se mantuviera estático, asimilando que en este
punto es cuando los polos del imán y el polo generado en la bobina habían
encontrado el equilibrio, esta conexión solo era momentánea, ya que al
mantenerse estático con energía en las bobinas, se corre el riesgo de dañar
a los embobinados del motor.
75
Capítulo 3. Accionamiento del motor PMBLDC
76
Tabla 9 Carta de conmutación BLDC BE341J
77
Capítulo 3. Accionamiento del motor PMBLDC
78
Tabla 11 Rangos para conmutar
Rango Valor para Tabla para conmutar (binario) Valor Valor medido (binario) Error AH AL BH BL CH CL No.
de suma conmutar Medido (medido vs Conmu
(decimal) (decimal) calculado) tación
42 42 0 0 0 0 1 0 1 0 1 0 43 0 0 0 0 1 0 1 0 1 1 1 0 1 1 0 0 0 4
43 85 0 0 0 1 0 1 0 1 0 1 84 0 0 0 1 0 1 0 1 0 0 1 0 1 0 0 1 0 3
42 127 0 0 0 1 1 1 1 1 1 1 126 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 1 0 2
43 170 0 0 1 0 1 0 1 0 1 0 171 0 0 1 0 1 0 1 0 1 1 1 1 0 0 1 0 0 1
42 212 0 0 1 1 0 1 0 1 0 0 211 0 0 1 1 0 1 0 0 1 1 1 1 0 0 0 0 1 6
43 255 0 0 1 1 1 1 1 1 1 1 255 0 0 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1 5
43 298 0 1 0 0 1 0 1 0 1 0 299 0 1 0 0 1 0 1 0 1 1 1 0 1 1 0 0 0 4
42 340 0 1 0 1 0 1 0 1 0 0 339 0 1 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 3
43 383 0 1 0 1 1 1 1 1 1 1 385 0 1 1 0 0 0 0 0 0 1 2 0 0 0 1 1 0 2
43 426 0 1 1 0 1 0 1 0 1 0 426 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1
79
42 468 0 1 1 1 0 1 0 1 0 0 467 0 1 1 1 0 1 0 0 1 1 1 1 0 0 0 0 1 6
43 511 0 1 1 1 1 1 1 1 1 1 513 1 0 0 0 0 0 0 0 0 1 2 0 0 1 0 0 1 5
42 553 1 0 0 0 1 0 1 0 0 1 553 1 0 0 0 1 0 1 0 0 1 0 0 1 1 0 0 0 4
43 596 1 0 0 1 0 1 0 1 0 0 596 1 0 0 1 0 1 0 1 0 0 0 0 1 0 0 1 0 3
43 639 1 0 0 1 1 1 1 1 1 1 641 1 0 1 0 0 0 0 0 0 1 2 0 0 0 1 1 0 2
42 681 1 0 1 0 1 0 1 0 0 1 680 1 0 1 0 1 0 1 0 0 0 1 1 0 0 1 0 0 1
43 724 1 0 1 1 0 1 0 1 0 0 725 1 0 1 1 0 1 0 1 0 1 1 1 0 0 0 0 1 6
43 767 1 0 1 1 1 1 1 1 1 1 768 1 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 5
42 809 1 1 0 0 1 0 1 0 0 1 808 1 1 0 0 1 0 1 0 0 0 1 0 1 1 0 0 0 4
43 852 1 1 0 1 0 1 0 1 0 0 854 1 1 0 1 0 1 0 1 1 0 2 0 1 0 0 1 0 3
43 895 1 1 0 1 1 1 1 1 1 1 895 1 1 0 1 1 1 1 1 1 1 0 0 0 0 1 1 0 2
43 938 1 1 1 0 1 0 1 0 1 0 938 1 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1
43 981 1 1 1 1 0 1 0 1 0 1 982 1 1 1 1 0 1 0 1 1 0 1 1 0 0 0 0 1 6
42 1023 1 1 1 1 1 1 1 1 1 1 1022 1 1 1 1 1 1 1 1 1 0 1 0 0 1 0 0 1 5
Capítulo 3. Accionamiento del motor PMBLDC
Se concluye que al compararlo con un sensor Hall, todo el rango seria como la
presencia de un valor (sea uno o cero) y en los Hall se le da la siguiente conmutación
no el filo donde terminaría su observación (rango). Con esto en mente, se desarrolló
la Tabla 12, donde se determinan las conmutaciones correspondientes al sentido
de giro deseado, dependiendo del rango donde se encuentre, la posición leída del
sensor en el estado actual; mencionada tabla solo representa a una vuelta eléctrica
de las cuatro necesarias, basta con repetirla cuatro veces haciendo el incremento
de rangos.
80
Figura 55 Bloque del decodificador de conmutación
Internamente se utiliza VHDL para generarlo, véase la Figura 56, de inicio se hace
el ajuste, para unir en una sola señal la dirección deseada, con la posición del rotor,
en la señal “Resolver” que es de 11 bits, con la finalidad de realizar la selección de
conmutación con una sola variable, en el bit más significativo se introduce el valor
de la dirección deseada, si es 1 el giro es hacia la izquierda, si es 0 el giro es hacia
la derecha; en los bits 9 a 0, es ingresada la posición del rotor.
81
Capítulo 3. Accionamiento del motor PMBLDC
82
3.7 Conmutador Trapezoidal
Para realizar el conmutador trapezoidal se hace la unión del decodificador de
conmutación con el generador de PWM, mediante compuertas AND, como se
muestra en la Figura 57, se utiliza una compuerta por cada transistor, la función que
realiza es, cuando el decodificador selecciona a un transistor como activado, la
señal de activación de este sea troceada dependiendo de los valores que el
generador de PWM tenga, y cuando el decodificador desactive el transistor el
troceado del PWM no llegue a él.
A manera de ejemplo, supóngase que se está dentro del rango 255 – 297 y se desea
girar hacia la izquierda, en este caso el decodificador va a tener la combinación a
su salida “010010”, que significa que el transistor de la fase A bajo y el transistor de
la fase C alto deben estar activados, todos los demás transistores deben estar
desactivados.
83
Capítulo 3. Accionamiento del motor PMBLDC
Al salir a las compuertas, las únicas que tendrán a su salida valores de activación
serán las correspondientes “AL” y “CH”, todas las demás están desactivadas debido
a que el cero que manda el decodificador a ellas, congela su salida a cero, que es
el valor de desactivación de los transistores, las dos únicas compuertas que siguen
trabajando, a su salida no se observará el valor lógico alto de manera fija, lo que se
observará será el troceado que esté realizando el PWM.
84
actual, sin embargo, en el PWM senoidal además de dar la polaridad del paso de
conmutación siguiente, se debe dar la forma de la siguiente conmutación. Para
ejemplificar obsérvese la Figura 59, supóngase que el rotor se encuentra en alguna
posición dentro del rango de 255-297 posiciones, y se desea girar en sentido
horario, para lograr conmutar, a la posición se le debe sumar 43 posiciones para
que se le asigne la forma de conmutación del rango 298-339, en caso contrario que
se deseará girar en sentido antihorario se le deben sumar 43 posiciones para que
el PWM tome la forma del rango 212-254.
Hasta este momento, se tendría el valor para calcular que tanto incremento angular
se debe generar en el PWM, cabe mencionar que el incremento en grados de la
senoide no es grado a grado o de dos en dos grados, el avance en grados depende
de la resolución que se tenga del sensor de retroalimentación, ya que este mínimo
avance en grados, será con que finura el PWM logrará, generar un avance en el
motor.
85
Capítulo 3. Accionamiento del motor PMBLDC
180° = 𝜋 𝑟𝑎𝑑
1.40625 = 𝑥
Donde:
Ahora bien, la onda senoidal a generar es solo la mitad de los 360°, debido a que
en el PWM solo se pueden generar los primeros 180° valores positivos, algo que no
es problema ya que el puente “H” generará la inversión para completar los 360°;
esta media onda, se repetirá las veces que sean necesarias, por tanto solo se
observarán 7 bits para generar la forma y el reinicio se dará de manera natural del
0 al 127.
Se tiene entonces:
86
A la posición, para poder multiplicada por el mínimo avance en radianes, se ajusta
a 16 bits, en el resultado de la multiplicación, se toman solo 16 bits, ya que el
resultado se ajusta a la parte menos significativa de estos.
En las señales “sum” y “res” se realizan los cálculos aritméticos para añadir a la
posición del rotor, la fase correspondiente y el incremento para dar la forma de la
senoide siguiente, la única diferencia entre estas variables es, el incremento de
forma, ya que es sumado en la variable “sum”, y restado en la variable “res”. En la
variable aux2 es almacenado el cálculo aritmético de “sum” o “res”, dependiendo de
en qué dirección se desea que el motor gire, si se desea giro a la derecha se
almacena “sum”, de lo contrario “res” es almacenada.
De la operación aritmética resultante son tomados, los siete bits menos significativos
para lograr el reinicio natural al obtener la media onda, y son almacenados en los
siete bits menos significativos de “pos”.
87
Capítulo 3. Accionamiento del motor PMBLDC
cuando “reg_pos” este el valor lógico bajo, “reg_pos” con el nivel alto indica que se
registró un nuevo valor de posición del rotor, por ende en este bloque “sumador” se
observa al valor lógico bajo, así se garantiza que se dio el cambio de posición, y las
señales ya se propagaron por el sistema y están estables, para generar el nuevo
cálculo, de lo contrario se tendrá el problema de realizar cálculos con valores en
transición.
Cada vez que la macro reciba la señal de nuevo valor, iniciara el cálculo del seno
del valor que se encuentre en su entrada, al finalizar el cálculo, la señal “rdy” tendrá
el cambio de nivel de cero a uno, y el valor el resultado del cálculo se podrá obtener
a la salida de la macro.
88
Figura 63 Macro de cálculo CORDIC
3.8.3 Multiplicador
Para realizar la multiplicación de la Amplitud por el seno, se generó el bloque
“Multiplicador_7_7”, mostrado en la Figura 64, el cual tiene capacidad de multiplicar
7 bits por 7 bits, dando resultado a 14 bits, tiene como entradas a: “Ent_A” donde
se ingresa el valor resultado del cálculo del seno, considerando siete bits
intermedios del 2 al 8 de los diez disponibles, “Ent B” donde se ingresa el valor de
la amplitud previamente ajustada a 7 bits, ya que el controlador la genera a ocho
bits, la señal “LForma” proveniente de la señal “rdy” de la macro de cálculo cordic,
la señal “LAmpli” acoplado con la señal de muestreo que se manda al convertidor
analógico-digital, y “R50Mhz” donde se ingresa el reloj del sistema de 50 MHz; como
salida se obtiene el resultado de la multiplicación a 14 bits.
En este multiplicador se debe ser cuidadoso con los valores que son tomados para
realizar la multiplicación, ya que un valor en transición o erróneo que se tome para
multiplicar, se reflejará en amplitud y forma no correspondiente al movimiento
deseado.
89
Capítulo 3. Accionamiento del motor PMBLDC
En caso de la señal de listo del CORDIC, tenga un nivel alto y el reloj del sistema
tenga un flanco de subida, significará que se ha calculado un nuevo valor de forma
por lo cual el PWM debe cambiar, entonces el valor del seno, en la variable “B”, que
se utiliza para la multiplicación podrá cambiar, de lo contrario se mantendrá en el
mismo valor para no alterar la multiplicación.
Por otro lado, si se da un nuevo muestreo del sistema “LAmpli” tendrá un valor lógico
alto y aunado con un flanco de subida del reloj del sistema, significará que existe un
nuevo valor de amplitud, por lo cual el sistema permitirá que el valor en “A”, cambie
por el nuevo valor de amplitud, de lo contrario “A” mantiene su valor a multiplicar.
90
3.8.4 Generador de Ancho de Pulso
Al tener el valor de multiplicación conformado por forma y amplitud, el último paso
es generar anchos de pulso con mencionado valor, para lo cual se desarrolla el
bloque “top2” mostrado en la Figura 66, que tiene como entradas al reloj del sistema,
a la señal de borrado general del sistema, y a los catorce bits resultado de la
multiplicación del bloque Multiplicador_7_7, en “dat_pwm”; como salida tiene al
PWM senoidal.
91
Capítulo 3. Accionamiento del motor PMBLDC
bits del 5 al 12 , con la finalidad de generar cambios de ancho de pulso más grandes
y significativos para el motor, ya que de lo contrario con muy ligeros cambios, no
visibles para el motor, en la amplitud o forma se le pediría al ancho de pulso
modificarse. En la Figura 68, se muestra el VHDL encargado de esta función.
Como se cuenta con sensor absoluto se conoce la posición estacionaria del rotor,
valor aprovechado para que al borrar al sistema se tome en cuenta este valor, y se
tenga una forma inicial para multiplicar con la amplitud, de lo contrario la amplitud
se multiplicaría por cero y el sistema no podría hacer girar al motor, y por lo tanto
no generar una nueva posición para indicar que la forma cambio y permitir que la
dinámica del sistema continúe.
92
Figura 69 Diagrama del generador de PWM senoidal
93
Capítulo 3. Accionamiento del motor PMBLDC
A partir del bloque “pwm_cor”, se generan las tres ondas senoidales requeridas para
el motor, con el diagrama mostrado en la Figura 71, modificando únicamente la fase
a sumar, generando un nuevo bloque llamado “Genera_PWM_senoidal”.
Figura 71 Diagrama para generar los tres PWM senoidales del sistema
94
Figura 72 Bloque "conmuta_senoidal", decodificador para la conmutación senoidal
Por otra parte se tiene ala variable “Inhabilita”, la cual dependiendo de igual manera
del rango de conmutación en donde se encuentre el rotor, va a seleccionar que fase
dejará de observar PWM y se mantendrá el transistor cerrado durante todo el rango,
con la combinación “100” inhabilita a “A”, con “010” inhabilita B y con “001” inhabilita
C. El criterio de selección para desenergizar lento, es explicado más adelante.
95
Capítulo 3. Accionamiento del motor PMBLDC
96
3.9.1 Descarga lenta en la conmutación senoidal
Al trabajar con la conmutación senoidal, se intentó poner en descarga lenta a las
bobinas de la misma manera que se hace en la conmutación trapezoidal, dejando
sin ancho de pulso a los transistores de la parte baja del puente H.
Inicialmente se consideraba que estaba bien, ya que dé girar 100 rpm máximo a 24
V, con este método se lograba alcanzar la velocidad de 1500 rpm; sin embargo, se
observó que el chip de puente H se calentaba, y al medir corriente al vacío esta se
aumentaba, consumiendo de 0.08 A a 0.45 A lo cual hizo dudar de este
procedimiento.
97
Capítulo 3. Accionamiento del motor PMBLDC
Con esta idea en mente, al implementarlo fue posible que el motor comenzara su
movimiento con menos porcentaje de PWM, la corriente no aumenta se mantiene
en 0.08 A y las rpm subieron de 700 a 1000 rpm.
98
Como se puede observar el PWM y la señal de conmutación proveniente del
decodificador, son unidas por medio de la compuerta AND, con la finalidad de que
el troceo de voltaje sea visto por el transistor, solo cuando el decodificador lo ha
seleccionado como transistor activo.
Sin embargo, al accionar el motor de forma senoidal, este no salía del reposo al
iniciar la conmutación, por lo que era necesario manualmente darle impulso para
que iniciara el giro. Primero se realizó el seguimiento a los puntos de conmutación
para detectar la falla, se observó a los valores seno de la forma y que transistor se
tenía PWM activo, obteniéndose los valores de la Tabla 13, en donde se observó
que solo cuando se congela, sin ancho de pulso al transistor de arriba de alguna
rama, de acuerdo a la posición, es cuando no arranca el motor, acción repetitiva en
ambos sentidos de giro.
Este problema se vio acrecentado, por la limitación de amplitud del PWM, ya que
valores menores al 2% de ancho de pulso, se vuelven cero para proteger al
transistor, por lo cual al dar borrado general, al cambiar de sentido de giro o al
detener el movimiento, intentar que arrancará de nuevo era imposible.
99
Capítulo 3. Accionamiento del motor PMBLDC
Para determinar que el motor no está parado, se requiere que los PWM0, PWM180
y PWM 240 sean cero al mismo tiempo, ocasionando que se cierren los transistores
de abajo para cargar los capacitores de arranque, y así después de borrado general,
cambio de giro o un simple paro y arranque, el motor logre salir del reposo por sí
solo.
100
Si la condición de borrado general o PWM ceros no se cumplen, se generan señales
que permitirán la operación normal del conmutador.
101
Capítulo 3. Accionamiento del motor PMBLDC
Registro
Datos Entrada Datos Salida
Escritura Información
Lectura
Reset
102
El registro tiene un bus de datos bidireccional de ocho bits y tres señales de control:
escritura, ingresa datos; lectura, saca datos y reset, que inicializa con ceros el
contenido.
Entradas Salida
Reseteo (CLR) Carga (L) Conteo (CE) Reloj (C) D7-D0 Q7-Q0
1 X X X X 0
0 1 X Datos Datos
0 0 0 X X Sin cambio
0 0 1 X Incremento
103
Capítulo 3. Accionamiento del motor PMBLDC
Es importante asegurar que la señal que habilita el conteo (la entrada CE), se
encuentre en estado deshabilitado para que el dato almacenado no se modifique.
La señal para acarreo de cuenta (CEO) y la que indica que el conteo ha llegado a
su máximo (TC) no son utilizadas en esta aplicación.
Con este diseño, se logra utilizar la comunicación vía puerto paralelo de la PC que
tiene la limitante de enviar y recibir datos por una sola dirección del puerto, el único
bidireccional.
104
Figura 81 Circuito para lectura y escritura de datos, un registro
105
Capítulo 3. Accionamiento del motor PMBLDC
Esta capacidad que se le da al FPGA es muy útil, ya que se da el espacio justo para
cada aplicación, optimizando recursos, para esta aplicación son utilizadas 22
macros de “BancoRegistros”, teniendo en total 88 registros de ocho bits para
almacenar información.
La macro, internamente tiene cuatro registros con la habilidad para escribir en él, se
muestra en la Figura 83, este circuito consta de cuatro registros como los
anteriormente mencionados, utilizando de manera auxiliar la operación de la
compuerta “and” entre la señal de escribe y la señal de habilitación de banco, esto
para tener el control de a quien se le realizará la carga de datos. La señal habilitación
de banco es agregada, debido a que se requieren bancos de registros trabajando
conjuntamente, esta señal es la que se modifica de acuerdo al banco en el que se
desea trabajar.
Sin embargo, hasta este punto el banco de registros solo tiene la capacidad para
recibir y guardar el mismo dato en todos sus módulos, por esto es necesario integrar
el multiplexor “D2_4E”, véase Figura 84, el cual se encarga de direccionar a que
módulo se le desean cargar los datos, creando indirectamente las direcciones de
los registros. La salida del multiplexor brinda una señal con la cual se selecciona el
número de registro a utilizar para almacenar la información.
Para la operación de lectura dentro del arreglo del banco de registros, se requiere
de otro multiplexor con entradas y salida del tipo bus, en este caso el
106
“MultiplexorBus4a1”, el cual trabaja en sincronia con la misma dirección que se le
haya establecido al multiplexor de entrada de datos, con esto se tiene un banco de
registros con acceso a todos los registros de manera individual.
107
Capítulo 3. Accionamiento del motor PMBLDC
108
En la Tabla 15, se indican las localidades utilizadas del FPGA, para implementar la interfaz con la
PC.
109
Capítulo 4. Control
Capítulo 4.
Control
4.1 Introducción
En este capítulo, se muestra el diseño y la implementación del sistema de control
distribuido en el FPGA, con la capacidad de regular la posición, velocidad y
aceleración. Siguiendo un perfil de trayectoria en tiempo real de acuerdo a los
requerimientos del usuario. Determinando que para el modo posición, el perfil de
trayectoria tendrá una rampa de aceleración, desplazamiento a velocidad de
referencia y una equivalente rampa de desaceleración, en el caso del modo
velocidad, el perfil de trayectoria se limita a tener una rampa de aceleración, hasta
llegar a la velocidad de referencia, ya que la desaceleración en un vehículo eléctrico
se sigue realizando de manera mecánica por fricción o con otros elementos
eléctricos externos al sistema de tracción, debido a que si se frenará al sistema con
el mismo motor de tracción, se frenaría utilizando energía del banco de baterías,
generando gasto de energía no deseable en la aplicación de vehículo eléctrico.
110
4.2 Control distribuido en FPGA
El control distribuido que se implementa en esta aplicación, es de acuerdo al diseño
a bloques mostrado en la Figura 86, desarrollando un sistema de control de lazo
cerrado con la capacidad de regular, aceleración, velocidad y posición.
T1 T2 T3 T4 T5
𝑠
𝑉=
𝑡
111
Capítulo 4. Control
Donde:
Del error por medio de este algoritmo, se observa su magnitud, duración y rapidez
de cambio; para observar la duración es a través de la operación matemática de
integración ya que representa una acumulación del error en base al tiempo, para
observar la relación de cambio es por la derivada, ya que esta da la diferencia
entre errores y el proporcional permite observar la acción del error en relación a su
magnitud. Para saber qué tanto de cada variable será considerada para la acción
de control, se establecen los coeficientes K.
Los coeficientes K, como tal se mantienen como constantes, una vez que se calibran
ya no se modifican, a menos de que las condiciones cambien, como: aumentar la
carga, modificar la dinámica del sistema o cambio del motor.
La posición deseada es generada por el bloque supervisor del sistema, que será
detallado más adelante y la posición real es obtenida del sensor de
retroalimentación.
112
se realiza el muestro que permita observa cambios significativos del error, sin
pérdida de información y sin llegar al sobre muestreo. La frecuencia para esta
aplicación es entonces de 3 kHz, es decir cada 0.3 milisegundos, se toma una
muestra nueva.
Sin embargo, existen dos frecuencias de muestreo, para las acciones integral y la
proporcional es utilizada la frecuencia descrita de 3 kHz, y para la acción derivativa
como es de acuerdo a la rapidez de cambio del error, es decir de acuerdo a la
velocidad del sistema, la derivativa va a actuar diferente frecuencia, ya que si no es
muy rápido el sistema y la derivativa tiene una frecuencia de muestreo muy alta, se
llegaría a tener una sobrecompensación, ya que no existiría cambio considerable
del error y la acción estaría corrigiendo, la literatura dice, que si la dinámica el
sistema no es muy alta, la frecuencia de derivación debe ser inferior pero en
sincronía y múltiplo de la frecuencia maestra de 3 kHz, es decir la sintonía del
sistema, se calibra nivel de coeficientes K y el valor del divisor de frecuencia para la
acción derivativa.
113
Capítulo 4. Control
que es conectada, a los pulsos del encoder emulado, en el caso del contador de
valor real, o a los pulsos del sistema supervisor, en el caso del contador de valor
deseado, y la entrada “Asc_Desc” donde se conecta el pulso de dirección.
Para conocer de cuantos bits se debe generar este contador, hay que considerar
que la posición guardada es del tipo absoluta, por lo cual el valor máximo va desde
cero hasta el final del recorrido, entonces está dado por el número de cuentas del
sensor, el avance que se tiene en cada revolución y en la distancia desde el inicio
hasta el final del mecanismo.
Supóngase que se tiene una máquina con tres metros de largo, y se tiene la
resolución del sensor de posición de 1000 cuentas por vuelta mecánica, y el
acoplamiento es por medio de un tornillo muy fino de 1 mm, se tiene entonces que
se debe avanzar mil cuentas del rotor para avanzar un milímetro, con lo cual para
avanzar tres metros, son nueve millones de posiciones el error máximo, para este
nivel de error bastaría con 24 bits. Como se busca desarrollar un sistema genérico
ante cualquier desarrollo, el registro es creado a 32 bits, con la reserva de que entre
más grande sea la resolución del sensor de retroalimentación más cuentas a
almacenar se tendrán.
114
salida del contador son puestos a cero, con lo que se representa que es el punto
inicial del desplazamiento; de lo contrario, en sincronía con la señal de reloj, en cada
flanco de subida se realiza el incremento en uno a la señal “Sal” en caso de que
“Asc_Desc” sea uno, o se realiza decremento en uno en caso de que “Asc_Desc”
sea cero.
Una vez que se tienen registrados los dos valores de posición; referencia y real, se
procede a realizar la operación aritmética de resta para obtener el valor del error,
sobre el cual se van a aplicar las acciones de control.
115
Capítulo 4. Control
Cabe mencionar que por sí sola, la acción proporcional nunca logra hacer el error
cero, ya que por razones del algoritmo, no se puede dar una compensación tan
pequeña.
116
Esta acción, es realizada por el bloque mostrado en la Figura 93, que tiene como
entrada al error calculado a 16 bits, la frecuencia de control, el valor de la contante
Kp a 16 bits y la señal de borrado general del sistema; como salida se tiene el valor
calculado de la acción proporcional a 16 bits, lista para ser sumada a las otras dos
acciones de control.
117
Capítulo 4. Control
118
Figura 95 Implementación del multiplicador 16x16 saturante
119
Capítulo 4. Control
Para poder registrar la muestra actual y la muestra anterior, son utilizados dos
registros por medio de la primitiva CB16CLE, con carga paralela y la misma
frecuencia alimentada a ambos, la señal de borrado es la general del sistema y se
mantiene siempre está activo la carga paralela y el CE, se conectan en cascada
para lograr tener el valor actual y anterior del error recorriéndose en cada flanco de
la frecuencia derivativa. Entonces en un primer flanco el error se carga en el primer
registro y el que estaba ahí se carga en el segundo registro, en un segundo flanco,
el que estaba en el primer registro seguramente se encuentra ahora en el segundo
registro
120
El bloque “Resta_16”, es el restador donde se realiza la diferencia mediante VHDL,
se realiza la diferencia A- B de restar al error presente el error anterior, se realiza la
resta a 16 bits y la salida es a 16 bits, por lo cual no es necesario hacer aritmética
saturante, ya que no se está perdiendo información. Para definir cuál valor es el
minuendo y cual el sustraendo, se tiene que observar la ecuación discreta del
algoritmo de control, la cual indica que se debe sacar diferencia del valor actual
menos el anterior.
Por último, por medio del multiplicador saturante descrito en la acción de control
proporcional, se multiplica la diferencia calculada por la constante de control Kd,
obteniendo a su salida, el valor de la acción de control derivativa lista para ser
sumada con las otras dos acciones de control.
La acción integral es implementada por medio del circuito mostrado en la Figura 98,
en el cual se observa el bloque “Integrador”, en el cual se realizará la acumulación
del error con la limitación de integración establecida en la calibración del sistema,
para generar el valor de la acción de control integral a multiplicar por la constante
de integración Ki, para determinar el valor a sumar con las otras dos acciones de
control, además se tiene el punto de monitoreo “Integración” mediante el cual se
monitorea si la acción integral, llego a su límite o aún tiene rango de acción.
121
Capítulo 4. Control
Es necesario realizarlo tomando los 16 bits más significativos de 24, para evitar que
los datos a acumular hagan la saturación tan rápida, pero como las demás acciones
de control, son a 16 bits no es posible manejar la capacidad de 24 bits completa, ya
que se tendría que modificar la capacidad en las demás acciones de control,
solamente se prevé mayor espacio para el acumulador, en valores de error con
duración muy prolongada.
122
La condición de que el error sea cero es debido a que cada vez que el controlador
pase por el cero, el valor a acumular debe iniciar desde cero, de lo contrario se
realizaría una acción de control en sentido contrario, con valor de lo acumulado más
lo que se va a acumular, lo cual llevaría al sistema a oscilaciones incontrolables.
Para poder sumar el error con el acumulador, el primer cambio que experimenta el
error es el ajuste de 16 a 24 bits, observando el bit 15 del error, se realiza el ajuste,
dependiendo si es negativo se le concatenan ocho unos en su parte más
significativa y se asigna a la señal “Errorbus”, si es positivo se le concatenan ocho
ceros y de igual forma se asigna a la señal “Errorbus”.
123
Capítulo 4. Control
124
Para definir el sentido en el que será aplicada la acción de control, se debe
considerar que está debe ser realizada en sentido contrario a la acumulación del
error, es decir si se gira a la derecha y se acumula el error, se debe aplicar el valor
del acumulador pero en dirección a la izquierda y viceversa. Para esto se comparan
los signos del error y del acumulador, si son diferentes la acción del acumulador es
tomada en forma negativa y si son iguales el valor del acumulador no sufre cambio.
Por último al puerto de salida “total”, son asignados los 16 bits más significativos del
acumulador, listos para ser multiplicados por la constante Ki en el multiplicador
saturante, para que el resultado sea sumado con las otras dos acciones de control.
125
Capítulo 4. Control
Una vez que se tienen solo resultados positivos de la suma, en sincronía con la
señal de frecuencia de control, se asigna el valor de signo de la suma al puerto de
salida “Signo”, así como el valor que se calculó para la amplitud es asignado al
puesto de salida “Amplitud”. “Signo” y “Amplitud”, son las señales enviadas al
conmutador para que el motor realice el movimiento deseado por el controlador.
Interpretando los 16 bits de la suma resultante, el bit 15 es utilizado como signo que
da la información de sentido de giro del rotor, el bit 14 es utilizado como señal de
desborde de la suma, del bit 13 al bit 0 son utilizados para almacenar el tamaño de
la amplitud que el control calculó.
126
para tener más precisión en el sintonizado, por el contrario cuando se escala se
tiene la ventaja y facilidad de dar más valores a las constantes K, para aproximar el
control a la sintonía óptima, dar más valores a las constantes K, es cómo manejar
números fraccionarios ya que ese mismo brinco que se da de 2 a 3 con inestabilidad
cuando no se escala, haciendo la comparación cuando se escala es como si
diéramos un 2.1, 2.2, 2.3. Lo cual aumenta la resolución del sistema y se espera
una mejora en el movimiento del mecanismo.
127
Capítulo 4. Control
de esta forma el error que se llevaba no se perdería y podría ser imperceptible para
el funcionamiento del motor.
128
Figura 104 Contador a 32 bits con carga paralela
El valor de error, se debe tomar para que no sea perceptible el reinicio, el valor ya
registrado dentro del módulo proporcional, con esto el motor no da un brinco al
reinicio y el motor opera sin falla aparente.
129
Capítulo 4. Control
Figura 106 Implementación del contador para valor de referencia modo velocidad y posición
130
Figura 107 Implementación del comparador de desborde
131
Capítulo 4. Control
132
Una vez que se captura a 32 bits, el valor es entregado a un contador descendente
el cual realiza la cuenta desde el valor enviando de la PC hasta cero, a la frecuencia
de 50 MHz, cuando el contador es cero la salida del contador se vuelve uno y carga
un nuevo valor de cuenta, generando así pulsos con duración entre ellos del valor
calculado por la PC.
En el contador descendente cada vez que se llega a cero contando con una
frecuencia de 50MHz el pulso “Pulso t” se dará y este, es el que se ingresa al
regulatorio para lograr mover la referencia y correr los registros.
133
Capítulo 4. Control
134
Para lo cual se desarrolló el bloque “velocímetro” que se muestra en la Figura 113,
el cual tiene como finalidad calcular una velocidad promedio a la cual está
desplazando el motor, cuenta con tres entradas: la de reloj que recibe 50 MHz
generales del sistema, la de borrar donde se ingresa la señal de borrado general
del sistema, y la revolución la cual permite ingresar la señal que indica que el motor
ha dado una vuelta mecánica. Así como con dos salidas en las cuales se tendrán el
resultado de medición de velocidad, dividida en parte alta y parte baja de ocho bits
respectivamente, para poder introducir el valor al banco de registros y poder
mostrarlo en la interfaz de usuario.
Otro punto a considerar es que la señal de revolución debe ser adquirida hasta que
esté fija en un valor, asegurándonos de no tomarla para el procesamiento cuando
está en transición, ya que esto ocasionaría la obtención de valores erróneos e
incoherentes en el cálculo de la velocidad promedio. Para solucionar este problema
se hizo el registro a la señal de revolución justo a la salida del bloque donde se
genera, en sincronía con la señal de cambio posición, con esto aseguramos que la
señal de revolución está en un valor definido para ingresarla al bloque de
velocímetro.
135
Capítulo 4. Control
Explicado lo anterior, la lógica con la que trabaja este bloque, se puede observar en
el diagrama de la Figura 114.
Control del
Pre divisor Contador de RPM Registro del Dato
contador de RPM
136
Figura 116 Oscilograma de la señal de vuelta mecánica giro descendente
Para evitar esta situación se hace uso del pre divisor, ya que el contador con el que
está hecho sólo cuenta con los flancos de subida que es la similitud que existe entre
las dos señales, véase Figura 117, así no importa en qué sentido gire el motor se
podrá conocer el instante en que se dio una vuelta mecánica, lo único erróneo que
se tendrá con este método, es que existirá un error de una milésima de posición al
hacer esto, lo cual para promediar la velocidad se consideró despreciable.
Figura 117 Flancos en los que el pre divisor considera a una vuelta mecánica
La segunda función para la que sirve el pre divisor, es para promediar ya que
dependiendo del bit que se tome a la salida del contador se puede definir cada
cuantas vueltas se va calcular el valor de la velocidad, véase la Tabla 16.
137
Capítulo 4. Control
Una vez que se tiene como generar el intervalo a medir, se debe tener la unidad con
la que será medido, dicha unidad es un tiempo fijo y conocido generado por una
frecuencia, para por medio de cálculos aritméticos determinar cuántas veces este
tiempo cabe en el intervalo. En esta aplicación se utiliza como unidad de medida la
frecuencia de 3.052 kHz, que en tiempo son unidades de 0.328 milisegundos.
138
Detener el contador para garantizar que el dato no cambia.
Cargar al registro el valor que quedo en el contador.
Reiniciar el contador para garantizar el inicio de la medición de un nuevo
intervalo.
Por lo antes mencionado se hace uso de las señales de cuenta, carga y borra, y se
requiere respetar ciertos puntos exactos en que se dan las acciones, así como la
duración de las mismas.
139
Capítulo 4. Control
Para poder cargar un nuevo valor en el registro de carga asíncrona, la señal que
sale del pre divisor debe disparar el monoestable de cuenta, el cual tiene la
transición de uno a cero con una duración de 2.56 µs, antes de cambiar de nivel, y
el de carga con una duración de 0.64 µs el cual tiene la transición de cero a uno.
Con estos eventos, el contador deja de adicionar, y el último valor de cuenta es
registrado, al terminar la duración de la señal de carga, esta tiene un flanco de
bajada y en ese momento se dispara el monoestable de la señal borra que tiene
idéntica duración de 0.64 µs para que el contador regrese a cero. Al pasar 1.28 µs
ya terminaron su evento las señales de carga y borra, para que cuando se termine
la duración de 2.56 µs la señal de cuenta vuelva a ser uno y permita que el contador
de revoluciones trabaje para medir el nuevo intervalo siguiente.
140
Figura 121 Señales de control del Contador de revoluciones
Hasta este punto se tiene a la salida del registro, el valor medido dividido en
RPM_alta y RPM_baja, y por tanto ya se tienen registrados en el banco de registros,
el valor de las cuentas que midió el intervalo de velocidad; sin embargo, lo que se
desea tener es un valor en RPM para lo cual, en la PC se hacen los cálculos
necesarios para obtener la medición es en estas unidades.
1 𝑣𝑢𝑒𝑙𝑡𝑎 = 𝑇𝑟 1
∴ 𝐶𝑎𝑛𝑡𝑖𝑑𝑎𝑑 𝑑𝑒 𝑣𝑢𝑒𝑙𝑡𝑎𝑠 =
𝐶𝑎𝑛𝑡𝑖𝑑𝑎𝑑 𝑑𝑒 𝑣𝑢𝑒𝑙𝑡𝑎𝑠 = 1 𝑠𝑒𝑔𝑢𝑛𝑑𝑜 𝑇𝑟
141
Capítulo 4. Control
1 1 3052
× 60 = × 60 = × 60 ≈ 263 𝑅𝑃𝑀
𝑇𝑟 695 695
3052
142
La PC tampoco puede observar a la velocidad de operación del motor; sin embargo
en el FPGA, aprovechando los recursos de la aplicación, nos permite observar en
tiempo real el evento, esto es posible porque se tiene un hardware dedicado a esta
tarea y puede capturar a la misma velocidad del evento, los valores que se capturan
se tiene que almacenar, no se puede tomar y mandar a la PC inmediatamente,
correría el riesgo de no alcanzar a ver el siguiente muestreo, lo que se hace es
muestrear todo el evento, y una vez que se tienen todos los puntos, se mandan a la
PC y los gráfica.
Para el eje horizontal del tiempo, se debe construir una señal base tiempo, al reloj
del sistema se le realiza un escalamiento para obtener una frecuencia en ms,
quedando entonces la escala de las “x” en ms
El diseño se basa, en tomar una muestra cada cierto tiempo y guardar su valor, otro
intervalo de tiempo y guarda otro valor, y así continuamente 256 veces, esto se va
guardando en una memoria, para graficar, lo que hace la pc es leer el contenido de
esa memoria.
De la memoria en el FPGA, solo se extraen los puntos de las posiciones en las que
el motor estuvo mientras generaba el escalón, se almacena en un arreglo serial de
registros, se tienen 256 registros que guardan específicamente 256 valores, en cada
pulso de reloj se guarda el nuevo valor y se van recorriendo.
143
Capítulo 4. Control
Pero existen tres señales por medio de la operación lógica “And”, para permitir o
desactivar la captura, la de inicio, la escala de tiempo y la de paro, la señal de paro
se genera por medio de otro contador el cual lleva el conteo de valores que se han
144
capturado y mediante un bit, el bit 9, cuando desbordan a los ocho bits demuestra
que ya se capturaron 256 cuentas, y la señal borrar del registro paro de captura es
la que se activa con este bit para mandar un cero a la “And” y detener la captura,
así como reiniciar el contador de muestras tomadas, logrando así adquirir
exactamente las 256 muestras de lo contrario se perdería información.
Para almacenar las muestras se implementa una cola, que es un arreglo de 256
registros, 16 por 16, otro detalle a observar con estos registros es que son registros
de corrimiento que se implementan utilizando tablas, es decir con pura lógica, la
cantidad de flip flops que se tienen en el FPGA no es infinita es limitada, si esos
registros se hacen con flip flops se agotaría este recurso, entonces la primitiva
utilizada para generar estos registros no usa flip flops usa lógica, y construye los
registros de esa forma, realizarlos con lógica significa que son hechos por medio de
compuertas lógicas no solo con flip flops.
145
Capítulo 4. Control
Para esta aplicación se utilizan IGBT, los cuales por especificaciones del fabricante
no pueden trabajar a más de 20 kHz, para evitar trabajar en la zona activa del
transistor y llevarlo a una pronta degradación, en esta aplicación se conmutan a la
velocidad aproximada de 18 kHz, como se menciona en la generación del PWM.
El diseño a bloques de esta interfaz, como se puede observar en la Figura 125, tiene
como entrada las señales de PWM provenientes del FPGA, son ingresadas
individualmente a un optoacoplador, teniendo un total de seis optoacopladores, de
la salida de los optoacopladores de manera aislada al FPGA se entregan los PWM
al accionador de compuerta de los IGBT, por último los transistores abren y cierran
de acuerdo a los PWM generados, permitiendo a las bobinas del motor recibir
energía y accionar el motor, los IGBT son protegidos contra picos de voltaje que
podrían perforarlos por medio de supresores de transitorios.
146
Para el aislamiento eléctrico, se realiza la conexión de las señales de PWM
provenientes del FPGA con los optoacopladores, como se muestra en el diagrama
de la Figura 126, un optoacoplador para cada polaridad, es decir individual para
AL,AH,BL,BH,CL y CH.
Entre la señal del FPGA y la entrada del led de aislamiento, se conecta un capacitor
y una resistencia conectados paralelamente entre sí, con la finalidad de: la
resistencia limite el paso de corriente por el led, y el capacitor es para acelerar la
conmutación de encendido a apagado del led, ya que cuando la señal del FPGA
sea cero el led no vera cero, vera el voltaje del capacitor pero en forma negativa,
por lo cual, el led descargará con mayor velocidad al tener una referencia hacia
voltaje negativo.
147
Capítulo 4. Control
Figura 127 Conexión del accionador de compuertas de los IGBT y capacitores de arranque
Por último las señales del accionador de compuertas, son introducidas a las
compuertas de los IGBT, haciendo corresponder a las señales de cada transistor de
acuerdo al IR2132.
148
como si estuvieran cerrados todos al mismo tiempo, generando que toda la interfaz
de potencia se dañe, debido al flujo de voltaje de 340 V por toda la interfaz.
149
Capítulo 4. Control
150
Figura 130 Bloque "Verifica_fases"
En el cual por medio del bloque “Dir_real”, se obtiene la dirección real en la que gira
el motor, a través de realizar la diferencia de la posición actual menos la posición
anterior, como se muestra en la Figura 132, el dato tanto de posición actual como
de posición anterior son ajustados a un bus de 11 bits con la finalidad de que, con
el onceavo bit se pueda observar que el motor giro una revolución.
151
Capítulo 4. Control
152
Figura 133 Lógica para verificar giro de motor
Por último, se registra el valor obtenido en un flip flop con preset, a la salida “Para”
del bloque “Checa_giro” se le conecta a la salida un inversor para que sea
excluyente el preset del borrado del registro y así no se puedan dar los dos casos
al mismo tiempo.
Al checar el giro para ver las fases si están bien conectadas se notó, que en
ocasiones es ligero el movimiento del motor y lo detiene, pero en otras ocasiones
avanza más y después para, esto se debe a que se da la casualidad que la conexión
en fases, concuerda con la secuencia en el paso eléctrico de la conmutación en la
posición que se encuentra, y no es hasta la siguiente secuencia de conmutación en
donde falla, entonces es por esto que en ocasiones puede girar un poco más y
después detenerse. Como ejemplo, se puede dar la casualidad que aun
equivocadas de conexión las fases, se tenga A+ con B- y que en la secuencia de
conmutación sea precisamente A+ con B- la que corresponde, entonces giraría pero
en el siguiente paso eléctrico la fase que este mal conectada, tendrá que fallar y con
esto, la secuencia se rompe provocando un giro erróneo.
153
Capítulo 4. Control
Cabe mencionar que esta protección no solo opera en el inicio del accionamiento
del motor, más bien monitorea durante el mismo tiempo que dure la dinámica del
motor, para fallas futuras como puede ser, la falta de energía en alguna fase aunque
estén bien conectadas.
154
Figura 135 Implementación en lógica digital de la protección máximo error
155
Capítulo 5. Pruebas y resultados
Capítulo 5.
Pruebas y resultados
5.1 Introducción
En el presente capítulo, se muestran los resultados obtenidos al implementar partes
aisladas del controlador, para evaluar su funcionamiento; así como los resultados
de la integración de todos los componentes del controlador, mostrando la capacidad
del algoritmo implementado, y la capacidad del controlador desarrollado para
posicionar al motor, o de mantenerlo a una velocidad constante, a pesar cambios
externos en la carga a desplazar.
156
Figura 136 Frecuencia muestreo y lectura
De lo contrario, cuando el cero está presente por los tres ciclos de reloj como se
muestra en la Figura 138, la salida lo considera como un dato de la señal y en la
salida se obtiene este dato.
Como se puede apreciar es justo cuando se cumplen los tres ciclos de reloj, cuando
la salida realiza la transición hacia el nuevo valor y lo mantiene así hasta que la
157
Capítulo 5. Pruebas y resultados
señal de entrada cambia de valor lógico y de nuevo cuando se vuelve cero tiene
que durar los tres ciclos de reloj para que sea considerado.
158
En el oscilograma de la Figura 140, se muestra la señal “A” que se recibe del
convertidor analógico digital, que es con la que típicamente se mide la posición del
rotor.
Figura 141 Oscilograma del resultado obtenido al multiplicar la resolución del encoder emulado
159
Capítulo 5. Pruebas y resultados
160
En los puntos de desconexión de la bobina se puede observar, pequeños pulsos,
esto pulsos significan la energía que tiene la bobina almacenada y que está en
proceso de liberarse.
161
Capítulo 5. Pruebas y resultados
162
Figura 148 Banco de pruebas desarrollado
La primera prueba que se realizó, fue accionar el motor y que este venciera la
estática de la carga, el motor logra romper la inercia y mantiene al sistema girando,
en la interfaz de la PC en la ventana de accionamiento, se observa las RPM a la
que gira el motor manteniéndose estable la velocidad de giro, sin embargo, cuando
se le aplica más carga por medio del freno, y sin modificar la amplitud de ancho de
pulso, se observa físicamente y en la interfaz, que la velocidad disminuye
inmediatamente, y aplicando más freno se llega a detener al sistema, al retirar la
carga, el motor continúa su giro a la velocidad que la amplitud de PWM le permita
girar.
163
Capítulo 5. Pruebas y resultados
La línea roja representa al cambio abrupto que se le solicita al motor, crece de cero
a doscientas posiciones en un lapso no mayor a 50 ms, y la línea azul que muestra
el movimiento real del motor, hace un buen seguimiento desde la posición cero
hasta las doscientas y logra mantener la posición final. Teniendo durante el recorrido
un error máximo de dos posiciones entre el valor de referencia y el valor real, dando
como resultado una eficiencia del 99%.
164
Lo único que cambia es el tamaño de la amplitud del ancho del pulso, que
dependiendo del aumento o disminución de carga, se modifica equitativamente.
Amplitud que es reflejada en el voltaje suministrado al motor y consumo de corriente.
El valor monitoreado del error que se observa en esta interfaz, no representa al error
que el sistema está corrigiendo, ya que los cambios de referencia no se detienen
mientras se le pida al motor girar y la PC no tiene la velocidad de lectura para
mostrar el error a la velocidad de la dinámica del movimiento. Sin embargo, sirve
para monitorear que no se genere la sobrecompensación del sistema.
165
Capítulo 5. Pruebas y resultados
166
Capítulo 6
6.1 Introducción
Como conclusiones, se exponen los objetivos alcanzados, de acuerdo a lo que se
planteó, desde el inicio del desarrollo de Controlador Senoidal para motor PMBLDC
en tracción de vehículos eléctricos, identificando los elementos donde se debe aún
mejorar al sistema para llegar a un producto comercial.
6.2 Conclusiones
En este trabajo se ha propuesto regular la velocidad del motor PMBLDC de manera
eficiente, utilizado en la aplicación de vehículo eléctrico, aspecto que se cubre
satisfactoriamente, ya que de acuerdo a la teoría la única manera posible de lograrlo
es conmutando al motor de manera senoidal, basados en esto, con éxito se
implementa la lógica digital capaz de, en tiempo real, generar la forma senoidal al
suministrar la energía al motor, considerando así que se está conmutando
eficientemente al BLDC.
1. Por medio del cálculo en tiempo real de la operación seno de la posición del
rotor, y de la multiplicación por la Amplitud, se logró dar la capacidad de forma
senoidal a la técnica de ancho de pulso modulado. Aunándola con el
decodificador de posición, se logró que en el motor las tres bobinas estén
siempre energizadas con su potencial adecuado de acuerdo a la posición del
rotor.
2. Se implementó el conmutador trapezoidal, con la misma capacidad en
Amplitud que el conmutador senoidal para poder realizar la comparativa entre
métodos.
3. La decodificación de los puntos de conmutación a través del sensor
“resolver”, fue satisfactoria ya que en base en la experimentación con el
motor, se extrajo la información necesaria para lograr accionar al motor.
4. Las protecciones que se implementaron contra fallas de conexión y
sobrecompensación en la sintonización del sistema, necesarias para
167
Capítulo 6. Conclusiones y trabajo futuro
168
Anexo 1 Hoja de especificaciones servomotores serie “BE” Parker
169
Anexo 1
170
171
Anexo 1
172
173
Anexo 1
Referencias
[1] Y. Hu, J. Sun, W. Li y Y. Pan, «A scientometric study of global electric vehicle research,»
Scientometrics, vol. 98, nº 2, pp. 1269-1282, 2014.
[3] B. Singh y S. Singh, «State of the art on permanent magnet brushless DC motor drives,»
Journal of Power Electronics, vol. 9, nº 1, pp. 1-17, 2009.
[5] A. Sathyan, N. Milivojevic, Y.-J. Lee, M. Krishnamurthy y A. Emadi, «An FPGA-based novel
digital PWM control scheme for BLDC motor drives,» Industrial Electronics, IEEE Transactions
on, vol. 56, nº 8, pp. 3040-3049, 2009.
[7] Microsemi, «Speed Control of Brushless DC Motors- Sinusoidal Commutation with Hall
Sensors,» One Enterprise, Aliso Viejo CA 92656 USA Within the USA: +1 (949) 380-6100,
2012.
[8] S. Davis, S. Diegel y R. Boundy, «Transportation Energy Data Book: Edition 26. Oak Ridge
National Laboratory,» ORNL, vol. 6978, 2007.
[10] T. R. C. at Argonne National Laboratory, Hybrid and Plug-in Vehicle Sales, 1999-2013, 2014.
[11] Y. Xu, Q. Yuan, J. Zou, Y. Yao y G. Zhu, «Sinusoidal periodic carrier frequency modulation in
reducing electromagnetic noise of permanent magnet synchronous motor,» Electric Power
Applications, IET, vol. 7, nº 3, pp. 223-230, March 2013.
[12] P. M. Corporation, «Brushless AC Motor Commutation AN1004,» 2075-N Corte del Nogal
Carlsbad, CA 92009-1415 USA.
174
Referencias
[16] Galil, «Sinusoidal Commutation of Brushless Motors Applicationnote 3414,» 3750 Atherton
Road Rocklin, CA 95765 USA.
[17] W. Brown, «Brushless DC Motor Control Made Easy,» Microchip Technology Inc, 2002.
[20] M. Rajne, Generate your own commutation table: Trapezoidl control 3-phase BLDC motors
using hall Sensors, 2013.
[26] J. E. Volder, «The CORDIC Trigonometric Computing Technique,» Electronic Computers, IRE
Transactions on, Vols. %1 de %2EC-8, nº 3, pp. 330-334, Sept 1959.
[28] K. Oh, «Application Note 9016 IGBT Basic I,» Rev. A, Fairchild Semiconductor Corporation, pp.
1-29, February 2001.
[29] Fairchild, «AN-6076 Design and Application Guide of Bootstrap Circuit for High-Voltage Gate-
Drive IC,» 2008.
175
Anexo 1
[31] T. Instruments, «Current Recirculation and Decay Modes,» Post Office Box 655303, Dallas,
Texas 75265, 2009.
[33] Xilinx, «Spartan-3A/3AN FPGA Starter Kit Board User Guide,» 2008.
[34] S. Alberino, P. Folino y C. Verrastro, «Variante en el algoritmo PID para evitar el uso de un
generador de trayectoria trapezoidal,» X RPIC Proceedings, San Nicol{\'a}s, Bs. As, pp. 659-
663, 2003.
[36] I. Rectifier, «IR2130/IR2132(J)(S) & (PbF) 3-PHASE BRIDGE DRIVER,» 233 Kansas St., El
Segundo, California 90245 Tel: (310) 252-7105, 2004.
[37] I. Rectifier, «Application Note AN-985 Six-Output 600V MGDs Simplify 3-Phase Motor
Drives,» International Rectifier • 233 Kansas Street, El Segundo, CA 90245 USA.
[38] I. Rectifier, «Application Note AN-978 HV Floating MOS-Gate Driver ICs,» 233 Kansas St., El
Segundo, California 90245 Tel: (310) 252-7105, 2007.
[39] S. Wang, «BLDC Ripple Torque Reduction via Modified Sinusoidal PWM,» FAIRCHILD
SEMICONDUCTOR POWER SEMINAR 2008 - 2009, 2008 - 2009.
[40] J. Zhong, «PID controller tuning: a short tutorial,» class lesson), Purdue University, 2006.
[42] K. Um, «Application Note 9020 IGBT Basic II,» Rev. A, Fairchild Semiconductor Corporation,
pp. 1-25, April 2002.
[43] STMicroelectronics, «SLLIMM™ (small low-loss intelligent molded module) IPM, 3-phase
inverter - 18 A, 600 V short-circuit rugged IGBT,» 2013.
[44] STMicroelectronics, «AN2372 Low cost sinusoidal control of BLDC motors with Hall sensors
using ST7FMC,» 2006.
[45] B. Singh, «Recent advances in permanent magnet brushless DC motors,» Sadhana, vol. 22, nº
6, pp. 837-853, 1997.
176
Referencias
[49] T. Roy, L. Smith y J. Prymak, «ESR and ESL of ceramic capacitor applied to decoupling
applications,» de Electrical Performance of Electronic Packaging, 1998. IEEE 7th Topical
Meeting on, 1998.
[50] A. Poullikkas, «Sustainable options for electric vehicle technologies,» Renewable and
Sustainable Energy Reviews , vol. 41, nº 0, pp. 1277-1287, 2015.
[51] A. C. C. O. Sánchez García, «VEHÍCULO ELÉCTRICO, ¿POR QUÉ HASTA AHORA?,» Boletín
UPIITA, nº 42, Marzo 2014.
[52] F. MONASTERIO y {. GUTIERREZ, Modelo lineal de un motor de corriente continua, Art, 2012.
[53] S. Laboratories, «AN486 High-Side Bootstrap Design Using Si823x ISODrivers in Power
Delivery Systems,» 400 West Cesar Chavez, Austin, TX 78701, 2010.
[55] L. Huang, J. Li y D. Zhang, «Frequency-controlable sine signal based on PWM and its
implementation on FPGA,» Frontiers of Mechanical Engineering, vol. 7, nº 3, pp. 322-328,
2012.
177
Anexo 1
[60] P. Damodharan y K. Vasudevan, «Sensorless Brushless DC Motor Drive Based on the Zero-
Crossing Detection of Back Electromotive Force (EMF) From the Line Voltage Difference,»
Energy Conversion, IEEE Transactions on, vol. 25, nº 3, pp. 661-668, Sept 2010.
[61] C. Chan y K. Chau, «An overview of power electronics in electric vehicles,» Industrial
Electronics, IEEE Transactions on, vol. 44, nº 1, pp. 3-13, Feb 1997.
[62] S. Bhogineni y K. Rajagopal, «PWM schemes for Average line to line voltage based sensorless
control of BLDC motor,» de Power Electronics (IICPE), 2012 IEEE 5th India International
Conference on, 2012.
[63] Texas Instruments, «Texas Instruments, Logic Solutions for IEEE std 1284,» Junio 1999. [En
línea]. Available: http://www.ti.com/lit/an/scea013/scea013.pdf. [Último acceso: 27 Febrero
2014].
178