ES2260319T3 - Procedimiento para controlar la continuacion de un motor conmutado electronicamente. - Google Patents
Procedimiento para controlar la continuacion de un motor conmutado electronicamente.Info
- Publication number
- ES2260319T3 ES2260319T3 ES01989619T ES01989619T ES2260319T3 ES 2260319 T3 ES2260319 T3 ES 2260319T3 ES 01989619 T ES01989619 T ES 01989619T ES 01989619 T ES01989619 T ES 01989619T ES 2260319 T3 ES2260319 T3 ES 2260319T3
- Authority
- ES
- Spain
- Prior art keywords
- time
- current
- delta
- hall
- rotor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P6/00—Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
- H02P6/14—Electronic commutators
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P2209/00—Indexing scheme relating to controlling arrangements characterised by the waveform of the supplied voltage or current
- H02P2209/07—Trapezoidal waveform
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Control Of Motors That Do Not Use Commutators (AREA)
- Valve-Gear Or Valve Arrangements (AREA)
- Control Of Ac Motors In General (AREA)
Abstract
Procedimiento para controlar la conmutación de un motor (100) conmutado electrónicamente, que presenta: Un rotor (108); un estator con un dispositivo (102) de bobinado del estator; un microcomputador (40) y un programa asignado a éste; un contador (Figura 1: TIMER1) que en funcionamiento cuenta continuamente; y un dispositivo (110) para la consulta del estado de conteo de este contador (TIMER1) en un instante en el que el rotor (108) en funcionamiento pasa por una primera posición de giro predeterminada (ä0), con los siguientes pasos: a) se calcula como pronóstico un primer lapso de tiempo (t_BLOCK_START; t_BLOCK_END) que con el número de revoluciones instantáneo el rotor (108) necesitará para el recorrido de un ángulo de giro predeterminado, que está situado entre la primera posición de giro (ä0) y una segunda posición de giro (ä1) que sigue luego, en la que en la última debe efectuarse un proceso de conexión para la influencia de una corriente (i1, i2) en el dispositivo (102) de bobinadodel estator; b) durante el paso real por la primera posición de giro (ä0) en el contador (TIMER1) que cuenta continuamente se consulta y almacena un tiempo de referencia (RefTime_HSR/LSL; RefTime_HSL/LSR) (Figura 16: S458, S470); c) tras el paso real por la primera posición de giro (ä0) se calcula repetidamente la diferencia temporal (t_CALC) entre un tiempo actual consultado en el contador (TIMER1) y el tiempo de referencia almacenado (Figura 24: S754, S756); d) el resultado del cálculo se compara con el primer lapso de tiempo pronosticado (t_BLOCK_START; t_BLOCK_END) (Figura 25: S800, S820); e) si esta diferencia temporal (t_CALC) está en una relación predeterminada con respecto al primer lapso de tiempo pronosticado, se efectúa el proceso de conexión (Figura 25: S808, S810, S834).
Description
Procedimiento para controlar la conmutación de
un motor conmutado electrónicamente.
El invento se refiere a un procedimiento para
controlar la conmutación de un motor conmutado electrónicamente, y
se refiere a un motor conmutado electrónicamente para la realización
de un procedimiento semejante.
En motores con conmutación electrónica, que se
pueden designar también como MCE, en un proceso de conmutación deben
tenerse en cuenta diferentes parámetros y condiciones límite, lo que
no siempre es sencillo. Cuando un motor semejante trabaja con un
circuito de puente completo, defectos en la conmutación pueden
llevar a un cortocircuito en el puente completo, lo que tiene por
consecuencia la destrucción de éste. En tanto que el control de la
conmutación se efectúe por medio de un microcomputador, por razones
de costes se debe prestar atención a emplear un microcomputador
económico, y entonces es conveniente mantener pequeño el número de
mediciones de tiempo que transcurren paralelamente.
Por el documento
EP-A-0 887 914 se conoce un
procedimiento para el control de la conmutación de un motor
conmutado electrónicamente. Éste tiene un rotor, un estator con un
dispositivo de bobinado del estator, un microcomputador y un
programa asignado a éste, y finalmente un dispositivo para el
registro de un instante en el cual el rotor en funcionamiento pasa
por una primera posición de giro predeterminada. Este procedimiento
conocido tiene los siguientes pasos:
a) se calcula como pronóstico un primer lapso
de tiempo que con el número de revoluciones instantáneo el rotor
necesitará para el recorrido de un ángulo de giro predeterminado,
que está situado entre la primera posición de giro y una segunda
posición de giro que sigue luego, en la que debe efectuarse un
proceso de conexión para la influencia de una corriente en el
dispositivo de bobinado del estator;
b) durante el paso real por la primera posición
de giro el estado de conteo de un contador se pone a cero, y el
contador empieza a contar;
c) tras el paso real por la primera posición de
giro se controla este estado de conteo, hasta que corresponda al
primer lapso de tiempo calculado;
d) cuando éste es el caso, se efectúa el proceso
de conexión.
Por el documento DE 197 00 479 A se conoce una
solución similar. Este motor conocido tiene un rotor, un estator con
un dispositivo de bobinado del estator, un microcomputador y un
programa asignado a éste, así como un denominado contador del valor
real. El rotor controla un sensor Hall, y cuando éste modifica su
señal inicial, el contador del valor real es puesto a cero y puesto
en marcha de nuevo. El estado de conteo alcanzado inmediatamente
antes de una posición cero sirve aquí como medida para el número de
revoluciones instantáneo, y de este estado de conteo se resta en
cada caso una constante, de manera que se obtiene un valor de conteo
reducido. Cuando el contador alcanza este valor de conteo reducido,
se realiza una conmutación anticipada, que en el argot técnico se
puede designar también como encendido prematuro.
Estos procedimientos y disposiciones conocidos
conducen a una conmutación muy precisa, pero requieren un contador,
que está reservado especialmente para este objeto.
Es por eso un problema del invento proporcionar
un nuevo procedimiento para controlar la conmutación de un motor
conmutado electrónicamente, y un nuevo motor para la realización de
un procedimiento semejante.
Según el invento este problema es solucionado
mediante un procedimiento según la reivindicación 1, y asimismo
mediante un motor conmutado electrónicamente según la reivindicación
7. Aquí se emplea un contador que en funcionamiento cuenta
continuamente, que puede utilizarse no sólo para la conmutación,
sino también para otras tareas. Durante el paso real por una primera
posición de giro del rotor se determina y almacena en este contador
un tiempo de referencia. A continuación se calcula repetidamente la
diferencia temporal entre el tiempo actual y el tiempo de referencia
almacenado y se compara con un primer lapso de tiempo calculado
antes, y si existe una relación predeterminada entre diferencia
temporal y primer lapso de tiempo, se efectúa un proceso de
conexión. Se obtiene así que con un temporizador, que por ejemplo a
manera de un reloj sigue contando continuamente, pueden controlarse
óptimamente diferentes procesos de conmutación.
Un perfeccionamiento muy ventajoso del
procedimiento según la reivindicación 1 es objeto de la
reivindicación 3. Asimismo la reivindicación 9 es un
perfeccionamiento ventajoso del motor según la reivindicación 7.
Aquí se obtiene que el motor en su giro conmute además un indicador,
que indica qué pasos tienen que realizarse como siguientes. Puede
decirse también que la posición de giro en la que se mide el tiempo
de referencia se desplaza con el giro del rotor, de manera que
siempre se determina de nuevo un nuevo tiempo de referencia, que
para la conexión y desconexión de la corriente en una rama
representa por decirlo así un punto de referencia fijo, al cual
pueden referirse subsiguientes cálculos.
Además este punto de referencia, por tanto la
primera posición de giro, con gran ventaja es fijado de manera que
en todas las condiciones de funcionamiento del motor la segunda
posición de giro se alcanza más tarde que la primera posición de
giro. Esto da por resultado una gran libertad en la elección de las
posiciones de giro en las cuales con las condiciones instantáneas de
funcionamiento del motor debe ser conectada o desconectada una
corriente del estator. En la práctica es particularmente ventajoso
emplear como punto de referencia el penúltimo cambio Hall, como se
describe a continuación en la Figura 33.
Otras particularidades y perfeccionamientos
ventajosos del invento resultan de los ejemplos de realización
descritos en lo que sigue y representados en el dibujo, en ningún
modo a entender como limitación del invento, así como de las
reivindicaciones subordinadas. Muestra:
La Figura 1 un diagrama sinóptico de conexiones
de una forma de realización preferida de un motor de corriente
continua según el invento,
la Figura 2 un diagrama esquematizado para
explicación del curso de la conmutación en un motor según el estado
de la técnica,
la Figura 3 un diagrama esquematizado análogo
al de la Figura 2 para explicación del curso del proceso de
conmutación en un motor según el invento,
la Figura 4 un diagrama del desarrollo de la
corriente, como se mide en el desarrollo de un proceso de
conmutación,
la Figura 5 un diagrama de un desarrollo de la
corriente, como se mide al emplear una limitación de corriente
máxima,
la Figura 6 un diagrama de estado para la
explicación del invento,
la Figura 7 una representación del desarrollo
de la densidad de flujo magnético en el rotor sobre un campo de 360º
eléctricos, y un desarrollo de la corriente del motor en el que se
emplea la limitación de corriente,
la Figura 8 una representación análoga a la de
la Figura 7, que de forma muy esquematizada muestra qué
consecuencias tiene el empleo de la limitación de corriente, porque
se activa un regulador adaptable asignado al motor, que aumenta
adecuadamente la longitud BW de los bloques de corriente,
la Figura 9 un ejemplo de realización especial
con un microcontrolador de la Firma Arizona Microchip; esta Figura
muestra una parte del conjunto de circuitos del microcontrolador, y
esta parte no se repite en la subsiguiente Figura 10,
la Figura 10 un diagrama de conexiones detallado
del hardware para la generación de las señales Imin e Imax.
la Figura 11 un diagrama de conexiones detallado
del hardware para el control del puente en H 137,
la Figura 12 un cuadro sinóptico para la
explicación de la estructura base del software empleado,
la Figura 13 un diagrama de flujo, que muestra
el desarrollo fundamental del programa en el motor 100,
la Figura 14 un diagrama de flujo de la rutina
de interrupción para el reconocimiento y servicio de las diferentes
interrupciones,
la Figura 15 un diagrama para la explicación de
las siguientes Figuras,
la Figura 16 un diagrama de flujo de la rutina
de interrupción Hall, que se realiza al producirse un flanco de la
señal HALL,
la Figura 17 un diagrama de flujo de la rutina
de interrupción Imax, que se realiza en un flanco de la señal
Imax,
la Figura 18 un diagrama para la explicación de
la reacción de la limitación de la corriente máxima en un motor que
funciona rápidamente,
la Figura 19 un diagrama de flujo de la rutina
de interrupción Imin, que se realiza al producirse la señal
Imin,
la Figura 20 un diagrama de flujo de la rutina
de interrupción TIMEOUT,
la Figura 21 un diagrama de flujo para aumentar
el factor de trabajo pwm,
la Figura 22 un diagrama de flujo para reducir
el factor de trabajo pwm,
la Figura 23 un diagrama de flujo para la
explicación de los procesos que se desarrollan en una
conmutación,
la Figura 24 un diagrama de flujo para la
explicación de la conmutación con un número de revoluciones normal
del motor 100,
la Figura 25 un diagrama de flujo para la
explicación de particularidades del proceso de conmutación al
desconectar una corriente en el bobinado 102,
la Figura 26 un diagrama para la explicación de
procesos en la conmutación,
la Figura 27 un diagrama de flujo para la
explicación del cálculo de una duración t_HALL con bajos y altos
números de revoluciones,
la Figura 28 un diagrama para la explicación del
cálculo de la duración t_HALL con bajos y con altos números de
revoluciones,
la Figura 29 una rutina CALC_ACCEL para tener en
cuenta la aceleración,
la Figura 30 una rutina RGL para la regulación
del número de revoluciones,
la Figura 31 una rutina para la modificación
adaptable del factor de trabajo pwm dependiendo de las condiciones
de funcionamiento del motor,
la Figura 32 un diagrama para la explicación del
modo de funcionar de la Figura 31, y
la Figura 33 un diagrama con valores numéricos
para la explicación en profundidad de la Figura 26.
En la siguiente descripción para piezas iguales
o que actúan igual se emplean los mismos signos de referencia, y
éstos se describen normalmente sólo una vez. Puesto que la materia
es difícil, se indican frecuentemente valores numéricos concretos,
por ejemplo 3 A, 1,6 A, 200 \mus, 1000 rpm etc., para hacer el
texto más legible. Se entiende sin embargo de por sí que estos
valores concretos son sólo ejemplos preferidos, que de ninguna
manera limitan el invento.
La Figura 1 muestra una representación de
conjunto de una forma de realización preferida de un motor según el
invento.
El propio motor 100 tiene en esta forma de
realización una rama de bobinado 102 con dos conexiones 104,
106, así como un rotor 108 de imanes permanentes. El ejemplo de realización que sigue se refiere a un motor 100 con rotor 108 de cuatro polos, pero naturalmente son posibles cualquier número de polos y también otros números de ramas de bobinado. El ejemplo del motor 100 fue elegido debido a su sencillez, para facilitar la comprensión
del - muy complejo - invento.
106, así como un rotor 108 de imanes permanentes. El ejemplo de realización que sigue se refiere a un motor 100 con rotor 108 de cuatro polos, pero naturalmente son posibles cualquier número de polos y también otros números de ramas de bobinado. El ejemplo del motor 100 fue elegido debido a su sencillez, para facilitar la comprensión
del - muy complejo - invento.
El ejemplo de realización muestra un motor 100,
en el que en el intervalo de un giro del rotor de 180º eléctricos
fluye una corriente i_{1} en sentido desde la conexión 104 hacia
la conexión 106, y en el intervalo del subsiguiente giro del rotor
de 180º eléctricos una corriente i_{2} de 106 hacia 104. La
duración (comienzo y final) y amplitud de las corrientes i_{1} e
i_{2} se hacen variar según las necesidades del motor, lo que la
mayoría de las veces se designa como la denominada regulación de
bloque, es decir, la corriente i_{1} puede tener por ejemplo una
longitud entre 0º y 180º eléctricos, y lo mismo la corriente
i_{2}. Además también es posible sin ningún gasto adicional un
denominado encendido prematuro, como se indica en la Figura 15 en
VZ y se explica en las siguientes ecuaciones (3a) y (4a).
Puesto que un motor semejante sólo necesita un
único bobinado 102, es muy sencillo. Se emplea preferentemente para
el accionamiento de ventiladores. El documento DE 2 346 380 muestra
un ejemplo para la construcción de un motor semejante, tal como se
fabrica en muchas variantes.
El motor 100 tiene preferentemente un sensor
galvanomagnético 110 de posición del rotor controlado por el rotor
108, por ejemplo un generador Hall, y éste está representado una vez
más en la Figura 1 a la izquierda. Sus señales iniciales son
amplificadas mediante un amplificador 112, configuradas en forma de
impulsos HALL rectangulares, y luego alimentadas a un
microcontrolador \muC 40, donde cada flanco de este impulso HALL
dispara una interrupción (en lo sucesivo designada como interrupción
HALL), compárese la Figura 16. Debido a la magnetización del rotor
108 en cada caso tras un giro de 180º eléctricos del rotor 108 se
dispara una interrupción HALL semejante. El intervalo t_HALL entre
dos interrupciones HALL es grande para números de revoluciones bajos
y pequeño para números de revoluciones altos y es por lo tanto una
medida para el número de revoluciones del rotor 108, la cual se
emplea para la regulación del número de revoluciones (Figura 30). El
lapso de tiempo t_HALL corresponde al tiempo que necesita el motor
para un giro de 180º eléctricos, compárense las ecuaciones (6) y (7)
a continuación.
La conexión 104 del bobinado 102 está unida con
el drenaje D de un MOSFET (transistor de efecto campo de
semiconductor de óxido metálico) de canal P 114, cuya fuente S está
conectada a una línea positiva 116, que a través de un diodo de
protección 118 está unida con una conexión positiva 120, que
normalmente está conectada a un aparato 121 de conexión a la red
indicado esquemáticamente, que suministra una tensión continua de
por ejemplo 12, 24, 48 o 60 V, según el tipo del motor 100. La línea
negativa (GND) del motor 100 está designada con 122, y su conexión
con 124. Entre la línea positiva 116 y la línea negativa 122 está
colocado un condensador 126.
Durante su funcionamiento el motor 100
"respira", es decir, absorbe energía alterna del aparato 121 de
conexión a la red y del condensador 126 y de vez en cuando - durante
los procesos de conmutación - cede energía, que debe ser almacenada
provisionalmente por el condensador 126, para que la tensión entre
las líneas 116 y 122 no llegue a ser demasiado alta. Por eso el
condensador 126 tiene un tamaño que en motores convencionales con
datos de potencia comparables está situado en aproximadamente 500
\muF y que en el caso del invento puede ser reducido
significativamente. En motores pequeños no es sencillo colocar
condensadores 126 grandes. Debido a la alta temperatura en un motor
la vida de un condensador semejante es limitada. Uno de los objetos
del invento es por eso mantener el condensador 126 pequeño y
cargarle poco eléctricamente. Para una tensión de trabajo de 12 V el
tamaño de este condensador puede alcanzar por ejemplo de 60 a 100
\muF, si el motor trabaja según el invento.
La conexión 106 del bobinado 102 está unida con
el drenaje D de un MOSFET de canal P 130, cuya fuente S está unida
con la línea 116.
La conexión 104 está unida también con el
drenaje D de un MOSFET de canal N 132, cuya fuente S está unida a
través de una resistencia de medición 134 con la línea negativa
122.
Asimismo la conexión 106 está unida con el
drenaje D de un MOSFET de canal N 136, cuya fuente S está unida a
través de una resistencia de medición 138 con la línea negativa
122.
En antiparalelo con los MOSFETs 114, 130, 132,
136 están colocados de la manera usual diodos de circulación libre
114', 130', 132', 136'.
La puerta G del MOSFET 132 está conectada a la
salida de un amplificador 140, a cuya entrada 142 es alimentada por
el \muC 40 una señal LSL, cuando el MOSFET 132 tiene que ser
conectado. (LSL se designa a continuación también como LSL_OUT, y
análogamente las señales LSR, HSL y HSR).
La puerta G del MOSFET 136 está conectada a la
salida de un amplificador 144, a cuya entrada 146 es alimentada por
el \muC 40 una señal LSR, cuando el transistor 136 tiene que ser
conectado.
La puerta G del MOSFET 114 está conectada a la
salida de un amplificador 148, cuya entrada 150 es controlada por
la señal de salida de un circuito de enlace 152. Junto con el
amplificador 148 éste forma una puerta NAND, es decir, cuando una de
las señales de entrada del circuito de enlace 152 es baja, el MOSFET
114 se bloquea. En este caso el circuito de enlace 152 tiene una
señal de salida baja. Debido a ésta el amplificador de excitación
148 se hace de resistencia alta y lleva el potencial en la puerta G
del FET 114 hacia arriba, de manera que éste se hace no
conductor.
conductor.
La puerta G del MOSFET 130 está conectada a la
salida de un amplificador 154, cuya entrada 156 es controlada por la
señal de salida de un circuito de enlace 160. Junto con el
amplificador 154 éste forma una puerta NAND, es decir, cuando una de
las señales de entrada del circuito de enlace 160 es baja, el MOSFET
130 se bloquea. El modo de funcionamiento, debido a la simetría del
circuito, es el mismo que en el FET 114.
A ambos circuitos de enlace 152 y 160 es
alimentada por el \muC 40 una señal PWM (modulada por ancho de
pulso) PWM, que tiene por ejemplo una frecuencia de 20 kHz y cuyo
factor de trabajo pwm puede ser ajustado por el \muC 40 entre 0 y
100%. Esta señal PWM en funcionamiento es generada continuamente por
el \muC 40 y determina cómo de alta es la corriente que se
suministra al motor 100.
Asimismo a ambos circuitos de enlace 152 y 160,
así como al \muC 40, se les suministra una señal (baja) Imax,
cuando la corriente en el MOSFET 132 o en el MOSFET 136 sobrepasa un
valor límite predeterminado. Esta señal Imax lleva a la inmediata
desconexión de ambos MOSFETs 114 y 130 mediante el hardware del
motor. (En un instante determinado siempre puede ser conductor sólo
uno de estos dos MOSFETs 114, 130). La señal Imax es por tanto
"activa en baja", es decir, desconecta la corriente cuando se
hace baja.
Además al circuito de enlace 152 se le
suministra por el \muC 40 una señal de conmutación HSL, para
controlar el transistor 114. Asimismo al circuito de enlace 160 se
le suministra por el \muC 40 una señal de conmutación HSR, para
controlar el transistor 130.
Los conceptos HSL etc. son nemotécnicos y
significan
HSL | Lado superior izquierda | Transistor 114 |
HSR | Lado superior derecha | Transistor 130 |
LSL | Lado inferior izquierda | Transistor 134 |
LSR | Lado inferior derecha | Transistor 136 |
Los cuatro transistores 114, 130, 132, 136
forman junto con el bobinado 102 un denominado puente en H (o puente
completo) 137 con los transistores superiores (Lado Superior o HS)
114, 130 y los transistores inferiores (Lado Inferior o LS) 132,
136. Cuando los transistores 114 y 136 están conectados, fluye una
corriente i_{1} en el bobinado 102 de izquierda a derecha. Cuando
los transistores 130 y 132 están conectados, fluye una corriente
i_{2} en el bobinado 102 de derecha a izquierda.
Entre las entradas 142 y 150 está previsto un
bloqueo 166, que impide que los transistores 114 y 132 sean
conductores simultáneamente. Asimismo entre las entradas 146 y 156
está previsto un bloqueo 168, que impide que ambos transistores 130
y 136 sean conductores simultáneamente. Estos bloqueos sirven para
la protección del puente en H 137.
La tensión en la resistencia 134 es alimentada a
través de un filtro de señal 170 (para filtrar impulsos parásitos) a
la entrada positiva de un comparador 172, cuya entrada negativa está
conectada a un nudo 174 que a través de una resistencia 176 está
unido con la línea negativa 122 y a través de una resistencia 178
está unido con un nudo 180, el cual a través de una resistencia 182
está unido con una línea 184, que está a una tensión regulada de +5
V. La tensión en la resistencia 176 representa por lo tanto una
tensión de referencia Uref, la cual determina con qué corriente
reacciona el reconocimiento de la corriente máxima.
El nudo 180 a través de una resistencia 186 está
unido con el colector de un transistor NPN 188, en el que en caso de
sobreintensidad se genera una señal Imax (baja) y el cual por lo
tanto está unido directamente con los circuitos de enlace 152 y 160
así como con el \muC 40, y además a través de una resistencia 190
con la línea 184.
El emisor del transistor 188 está unido con la
línea negativa 122. Su base está conectada a través de una
resistencia 191 a los cátodos de dos diodos 192, 194, que a través
de una resistencia 193 están unidos con la línea negativa 122 (GND).
El ánodo del diodo 192 está unido con la salida del comparador
172.
La tensión en la resistencia de medición 138 es
alimentada a través de un filtro de señal 196 a la entrada positiva
de un comparador 198, cuya entrada negativa está unida con el nudo
174. La salida del comparador 198 está unida con el ánodo del diodo
194.
Cuando la corriente a través de la resistencia
de medición 134 se hace demasiado alta, la entrada positiva del
comparador 172 se hace más positiva que la entrada negativa, de
manera que el transistor 188 a través del diodo 192 recibe una
corriente de base y queda conectado. Cuando la corriente a través de
la resistencia 138 se hace demasiado alta, la entrada positiva del
comparador 198 se hace más positiva que su entrada negativa, de
manera que el transistor 188 a través del diodo 194 recibe una
corriente de base y se hace conductor.
En ambos casos con ello la resistencia 186 queda
conectada en paralelo con las resistencias 176, 178, por lo que la
corriente a través de la resistencia 182 y así la caída de tensión
en esta resistencia se hace mayor. De este modo baja automáticamente
la tensión de referencia Uref, tan pronto el transistor 188 se
conecta, y esto produce una histéresis de conmutación, es decir, el
comparador 172 se conecta por ejemplo con una sobreintensidad de 3 A
y se desconecta sólo a unos 1,6 A, y del mismo modo el comparador
198. Esto significa que los transistores superiores 114, 130 se
desconectan forzosamente por ejemplo a 3 A y sólo pueden (¡no tienen
que!) conectarse luego de nuevo cuando la corriente en la
resistencia 134 o 138 ha caído a 1,6 A. Esto impide una sobrecarga
de los transistores superiores 114, 130, es decir, el transistor que
está conduciendo en ese momento en caso de una sobreintensidad es
desconectado totalmente, tan pronto se genera en el colector del
transistor 188 la señal baja Imax, y sólo puede conectarse luego de
nuevo cuando la señal Imax ya no se genera y existen los restantes
criterios para su conexión, como serán explicados en detalle a
continuación.
Para el reconocimiento del paso por cero para el
caso de que ambos transistores superiores 114, 130 estén bloqueados
y ambos transistores inferiores 132, 136 sean conductores, sirve un
comparador 202, cuya entrada negativa está unida con la entrada
positiva del comparador 172 y cuya entrada positiva está unida con
la entrada positiva del comparador 198.
Cuando tras la desconexión de un transistor
superior 114 o 130 antes conductor los dos transistores inferiores
132, 136 son controlados conductores, debido a la corriente que se
genera por la energía eléctrica almacenada en el bobinado 102 se
produce en ambas resistencias 134, 138 una caída de tensión, y
cuando la corriente a través del bobinado 102 pasa del
funcionamiento motriz al generatriz, como es el caso en la Figura 3
en el punto 222, esta corriente cambia su sentido y pasa con ello
por cero.
Cuando por ejemplo la corriente en
funcionamiento motriz fluye desde la conexión 106 a través de las
resistencias 138, 134 hacia la conexión 104, la entrada positiva del
comparador 202 es más positiva que su entrada negativa. Tras el paso
por cero la corriente fluye desde la conexión 104 a través de las
resistencias 134, 138 hacia la conexión 106, y ahora la entrada
negativa del comparador 202 se hace más positiva que la entrada
positiva, de manera que en el paso por cero de la corriente la señal
Imin en la salida del comparador 202 cambia bruscamente, es decir, o
de Low a High o de High a Low. Por eso se produce en el paso por
cero por un cambio abrupto de la señal (flanco de conexión) en la
salida del comparador 202, y éste provoca en el \muC 40 una
interrupción, debido a la cual los cuatro transistores 114, 130,
132, 136 quedan bloqueados. Esta interrupción se designa como
interrupción Imin y se explica en detalle a continuación en la
Figura 19.
Para la explicación de los principales modos de
funcionamiento de la Figura 1 se hace referencia a las Figuras 2 y
3, que explican muy esquematizado el modo de trabajo. La Figura 2
muestra el desarrollo de la corriente en el estator en un motor
según el estado de la técnica, y la Figura 3 muestra el desarrollo
análogo en un motor según el invento. Las Figuras 2 y 3 muestran a
través de un ángulo de giro de 360º eléctricos los siguientes
valores:
La densidad de flujo magnético se mide en Tesla
(T). Su desarrollo en este ejemplo es aproximadamente de forma
trapecial. Se habla entonces de una ("magnetización de forma
trapecial"). Esto en el marco del presente invento es un
desarrollo preferido de B, pero no el único concebible.
Los cambios de la densidad de flujo magnético B
inducen en el bobinado 102 del estator una tensión cuando gira el
rotor 108. La forma de esta tensión corresponde a la forma de B, por
lo tanto aquí es asimismo de forma trapecial. La amplitud de esta
tensión aumenta con número de revoluciones en aumento. Esta tensión
se designa como "tensión inducida" o "Fuerza
Contraelectromotriz" (FCEM).
La corriente i_{1} a través del bobinado 102
comienza normalmente en el tiempo tras 0º eléctricos y - debido al
bajo valor de B, por lo tanto de la pequeña FCEM en este campo, -
aumenta al principio rápidamente en 210. Este aumento hace que una
parte de la energía suministrada por la corriente i_{1} - con
retardo en el tiempo - se transforme en energía cinética del rotor
108. La corriente i_{1} baja entonces de nuevo en 211 debido a la
mayor FCEM hasta aproximadamente un mínimo 212. A partir de 212 en
la Figura 2, por lo tanto en un motor convencional, la corriente
i_{1} aumenta hasta un máximo 216, donde la corriente i_{1} es
desconectada y después baja a cero a lo largo de una curva 218. El
paso por cero 217 se alcanza en este ejemplo (Figura 2) algo antes
de 180º eléctricos, pero también puede estar situado después de 180º
eléctricos, según la posición angular del generador Hall 110.
Para la corriente i_{2}, que fluye desde la
conexión 106 a la conexión 104, los procesos - debido a la simetría
de la disposición - son análogos y por eso no se describen otra vez.
La corriente i_{2} se inicia en la Figura 2 a 180º
eléctricos.
eléctricos.
El lapso de tiempo P entre el punto 217 y el
inicio de la corriente i_{2} se designa como pausa de conexión o
vacío de conexión P. Éste es necesario entre otras cosas para
impedir un cortocircuito en el puente en H 137. (Si en la Figura 1
por ejemplo los transistores 114 y 132 fueran conductores
simultáneamente, se produciría a través de ellos una corriente de
cortocircuito desde la línea positiva 116 hacia la línea negativa
122).
En la zona angular aproximadamente desde 0º
eléctricos hasta el máximo 216 en un MCE con conmutación
convencional la corriente de inducido i_{1} con retraso en el
tiempo se transforma en energía cinética del rotor 108.
Si en el punto 216 la corriente i_{1} se
desconecta de forma abrupta, se produce en el bobinado 102 una alta
tensión inducida que trata de hacer que continúe fluyendo esta
corriente i_{1}, de manera que la corriente i_{1} entre los
puntos 216 y 217 fluye a través de los diodos de circulación libre
132' y 130' hacia el condensador 126 y carga éste. De este modo la
energía E almacenada en el bobinado 102 se descarga casi totalmente
en el condensador 126, por lo que éste tiene que ser muy grande,
para que la tensión entre las líneas 116 y 122 no aumente demasiado
fuertemente. La energía E depende del cuadrado de la corriente I en
el instante 216, y de la inductividad L del bobinado 102. Es
válido
(1)E = I^{2}
\cdot
L/2
donde
E = Energía magnética almacenada en el bobinado
102
I = Corriente instantánea en el bobinado 102
L = Inductividad del bobinado 102
Puesto que I al desconectar es muy alta, también
es muy alta la energía E almacenada por inducción en el bobinado
102.
Esta energía tras la desconexión del bobinado
102 se transfiere al condensador 126. Se trata por lo tanto de una
potencia reactiva, que oscila alternativamente entre el condensador
126 y el bobinado 102, y puesto que esta potencia reactiva es
grande, el condensador 126 también tiene que ser grande. Debido a
las altas corrientes que fluyen a causa de esta potencia reactiva,
se producen también pérdidas innecesarias, que reducen el
rendimiento del motor.
En el invento esta potencia reactiva tiene que
reducirse, es decir, lo menos posible de la energía del bobinado 102
debe fluir al desconectar de retorno en el condensador 126, sino que
con esta energía debe ser accionado el rotor 108.
Por esta razón según la Figura 3 se emplea un
proceso de conmutación que se aparta mucho de lo usual. También en
la Figura 3 la corriente i_{1} aumenta fuertemente tras la
conexión en 210 y decrece en 211. En eso el desarrollo es similar al
de la Figura 2. Sin embargo es diferente lo siguiente:
a) La alimentación de energía desde las líneas
116, 122 al bobinado 102 es desconectada en un punto 214 calculado
por el \muC 40, normalmente allí donde la corriente i_{1} del
motor todavía no ha alcanzado su máximo 216 (Figura 2). El cálculo
del instante de desconexión 214 está descrito en la Figura 30. Se
desconecta a causa de que el transistor superior (o 114 o 130)
momentáneamente conductor es desconectado en el punto 214. A
continuación en la Figura 25 se describe como ejemplo cómo puede
realizarse esto.
b) A continuación en el instante 214,
normalmente tras una breve pausa, ambos transistores inferiores 132
y 136 son controlados conductores, compárese la Figura 25, S840, de
manera que la corriente i_{1} puede fluir de aquí en adelante a
través de estos dos transistores, fluyendo en el FET 136 desde el
drenaje D hacia la fuente S, lo que es posible en un FET. Esto
produce una unión de baja resistencia entre las conexiones 104 y 106
del bobinado 102, y en esta unión la corriente i_{1} disminuye a
lo largo de una curva 220, accionando además el rotor 108, por lo
tanto generando energía motriz.
c) En un punto 222 la corriente i_{1} pasa por
cero y fluiría de nuevo después como corriente generatriz 224 si los
transistores 132 y 136 fueran de aquí en adelante conductores. Esta
corriente 224 está indicada con puntos. Puesto que actuaría como
freno, esta corriente es no deseable.
Para impedir esto, mediante el amplificador OP
202 (Figura 1) se genera en la zona del punto 222 la señal Imin.
Ésta genera una interrupción Imin en el \muC 40, de manera que
éste último controla inmediatamente no conductores los cuatro
transistores 114, 130, 132, 136 del puente en H 137. Esto se realiza
en el ejemplo según la Figura 3 poco después del punto 222.
Puesto que en el instante 222 la corriente
i_{1} es = 0, en la desconexión de todos los MOSFETs no se
almacena ninguna energía más en el bobinado 102. En consecuencia
tras la desconexión del bobinado 102 no puede ser retroalimentada
energía ninguna desde éste al condensador 126.
En el bobinado 102 existe en este instante tan
sólo la tensión inducida por los imanes del rotor 108, que sin
embargo en el instante 222 es pequeña, normalmente sólo asciende a
pocos voltios, y por eso no perturba.
Tras una breve pausa de conexión P1 es conectada
luego la corriente i_{2}. El instante para la conexión es
calculado por el \muC 40, compárese la Figura 30.
Al arrancar el motor transcurriría demasiado
tiempo hasta que i_{1} en la sección 220 haya alcanzado el valor
cero, y por eso aquí la corriente, tras un tiempo predeterminado,
por ejemplo tras 500 a 800 \mus, se desconecta mediante una
función especial, denominada función TIMEOUT, aun cuando i_{1} (o
i_{2}) no haya alcanzado todavía el valor cero. Se controla por lo
tanto aquí el tiempo T3 a partir del alcance del punto 214, en el
que los transistores superiores 114, 130 se desconectan, y asimismo
la corriente Imin. Lo más tarde tras el transcurso de T3 todos los
transistores del puente en H 137 se desconectan, alternativamente en
la generación de la interrupción Imin, si ésta se produce antes que
el final de T3. T3 está situado típicamente en el intervalo de 500
a 800 \mus.
La Figura 4 muestra la corriente a través del
bobinado 102, como se mide realmente en funcionamiento, y para
comparación la corriente I en la línea de alimentación 116 (Figura
1). La corriente a través del bobinado 102 cambia su sentido con el
giro del rotor 108, mientras que la corriente I fluye sólo en un
sentido. Para mejor comparabilidad la corriente I está llevada
hacia abajo, con respecto a una línea cero 98.
En un instante t10 la corriente i_{2} recibe
aquí su orden de desconexión, de manera que el transistor superior
130 se bloquea y tras un breve retardo se conectan ambos
transistores inferiores 132, 136, con lo que la corriente i_{2}
disminuye a lo largo de una curva 220A.
En un instante t11 la corriente i_{2} pasa por
cero, y en un instante t12 se hace efectiva la ya descrita
interrupción Imin, mediante la cual los cuatro transistores 114,
130, 134, 138 se bloquean, de manera que a partir de un instante
poco después de t12 hasta un instante t13 en el bobinado 102 no
fluye corriente ninguna.
En el instante t13, que se calcula en el \muC
40, compárese la Figura 30, se conecta la corriente i_{1},
controlándose conductores los transistores 114 y 138, de manera que
la corriente i_{1} aumenta de la forma representada. En un
instante t14, que se calcula en el \muC 40 se desconecta la
corriente i_{1}, bloqueándose el transistor superior 114, y los
transistores inferiores 132, 136 son ambos controlados conductores,
de manera que la corriente i_{1} decrece a lo largo de una curva
220B y en el instante t15 alcanza el valor cero. Poco después se
hace efectiva la interrupción Imin y bloquea los cuatro transistores
114, 130, 132, 136 hasta un instante t16, en el cual se conectan los
transistores 130 y 132, para que pueda fluir la corriente
i_{2}.
Como muestra la Figura 4, a la izquierda de t10
la corriente I en la línea de alimentación 116 es idéntica a la
corriente i_{2} en el bobinado 102.
En el instante t10 no puede fluir más ninguna
corriente I de la línea positiva 116, puesto que el transistor
superior 130 está abierto y los dos transistores inferiores 132, 136
conducen, de manera que la corriente i_{2} sólo fluye de nuevo a
través de estos dos transistores. Por lo tanto prácticamente desde
t10 hasta t13 la corriente I permanece en el valor cero.
A partir de t13 hasta t14 I se desarrolla en
imagen de espejo con respecto a i_{1}, es decir, ambas corrientes
son iguales de grandes en cantidad. Desde t14 hasta t16 I tiene el
valor cero, y a partir de t16 I tiene de nuevo prácticamente el
mismo valor que i_{2}, suministrándose posiblemente poco después
de t16 adicionalmente algo de energía del condensador 126.
Mediante el invento se impide por lo tanto en
gran parte que la energía oscile alternamente entre el bobinado 102
y el condensador 126, de manera que el condensador 126 puede
dimensionarse correspondientemente más pequeño.
La Figura 5 muestra en un oscilograma un
desarrollo típico de las corrientes con empleo de la limitación de
corriente. Ésta limita las corrientes i_{1} e i_{2} en este
ejemplo de realización a un valor Imax de 3 A.
En t20 se inicia la corriente i_{1}. Mediante
el control de conmutación en el \muC 40 en un instante t21 la
corriente i_{1} se interrumpe por la apertura del transistor 114,
y mediante el cierre de los dos transistores 132, 136 el bobinado
102 se pone en cortocircuito a partir de t21 hasta un instante
t22.
A partir de t23 se conectan los transistores
130, 132, con lo que fluye una corriente i_{2}. Ésta aumenta
rápidamente hasta el valor límite negativo de corriente -Imax. Allí
en el instante t24 el transistor superior 130 es bloqueado por la
señal Imax, de manera que la corriente i_{2} cae hasta un instante
t25, en el que ambos transistores 132, 136 son controlados
conductores. En t25 el transistor 188 desconecta de nuevo la señal
Imax, puesto que i_{2} ha caído a 1,6 A, de manera que i_{2}
aumenta nuevamente, porque el transistor 130 se hace de nuevo
conductor.
En un instante t26 el transistor 130 es abierto
por el control de conmutación, y ambos transistores inferiores 132,
136 se conectan, de manera que i_{2} alcanza en t27 el valor cero.
En t28 i_{1} es conectada de nuevo, controlándose conductores los
transistores 114 y 136.
Cada vez que la señal Imax se hace baja, el
factor de trabajo pwm de la señal PWM se reduce algo, compárese S508
en la Figura 17, de manera que tras un par de revoluciones ya no se
alcanzan los valores +Imax y -Imax y se obtiene de nuevo la forma de
corriente "plana" según la Figura 3. Mientras que la corriente
máxima se reduce de nuevo por debajo de Imax (3 A), el valor BW es
aumentado mediante el regulador (Figura 30), en tanto que esto sea
posible, y también el factor de trabajo pwm se eleva dado el caso
lentamente, hasta que el motor funciona de nuevo normalmente, por
tanto con el número de revoluciones deseado. Dado el caso también
puede repetirse el proceso, es decir, la señal Imax puede
producirse de nuevo si pwm se eleva demasiado.
En la Figura 5 están designados con t29 a t37
los puntos en los que el control de conmutación interrumpe la
respectiva corriente. Los valores en los que se emplea la limitación
de corriente están designados con +Imax y -Imax, y los valores de
corriente debidos a la histéresis de conmutación están designados
con +ImaxHY y -ImaxHY. En el ejemplo de realización Imax es = 3 A, e
ImaxHY = 1,6 A.
La Figura 6 muestra los procesos descritos
ilustrados una vez más con ayuda de un diagrama de estado. En 230 se
encuentra el motor 100 en la zona 210, 211 de la Figura 3, y se
controla si se ha alcanzado el punto 214 en el que debe finalizarse
la alimentación de energía desde las líneas 116, 122 al motor
100.
Si en 230 se determina que no se ha alcanzado
todavía el final del suministro de corriente, se continúa el
suministro de corriente en el estado 234, y a continuación se
controla de nuevo en 230 si se ha alcanzado el instante 214. Si es
éste el caso, el motor 100 pasa al estado 236 HS OFF, donde ambos
transistores superiores 114, 130 se desconectan, lo que interrumpe
la alimentación de energía al motor 100.
A continuación el programa pasa a un breve
retardo DELAY 238 y conecta luego en el estado LS ON 240 ambos
transistores inferiores 132, 136, de manera que el bobinado 102 es
hecho funcionar en esencia en cortocircuito y la corriente disminuye
a lo largo de la curva 220 (Figura 3). Esto se controla en el
subsiguiente estado 242 ("Esperar, hasta que la corriente haya
caído a cero"). De este modo la corriente en el bobinado 102
acciona de aquí en adelante el rotor 108.
Si la corriente alcanza el valor cero, se genera
por el comparador 202 una señal Imin y se produce una interrupción
Imin 244.
Simultáneamente en 246 en la función TIMEOUT se
controla si ha transcurrido el tiempo predeterminado T3 (Figura
3).
El anterior de ambos sucesos (TIMEOUT 246 o
interrupción Imin 244) produce la transición al estado 248, es
decir, la desconexión completa de los cuatro transistores del puente
en H 137 (LS OFF y HS OFF). En este estado la energía cinética del
rotor 108 no puede ser transportada generatriz al condensador 126,
porque el valor instantáneo de la tensión producida generatriz por
el rotor 108 es menor que la tensión entre las líneas 116 y 122.
Mediante una adecuada gestión de la energía se
impide aquí por lo tanto en gran parte la "respiración" del
motor 100 descrita al principio, es decir, en el funcionamiento
normal del motor 100 fluye sólo poca potencia reactiva entre el
bobinado 102 y el condensador 126 alternamente. Puesto que sin
embargo la generación de la interrupción Imin 244 debido a la
duración de los necesarios pasos de cálculo no puede efectuarse
exactamente en el instante 222 (Figura 3) del paso por cero, sino
algo después, sigue siendo necesario un condensador 126, para
almacenar provisionalmente energía del motor, pero puede ser más
pequeño que el actual. Este condensador también se necesita para
absorber energía al desconectar el motor y evitar un aumento
demasiado alto de la tensión entre las líneas 116 y 122.
El reconocimiento de la corriente máxima por
medio de los comparadores 172 y 198 se describió ya en las Figuras
1, 3, 4 y 5. Genera la señal Imax, que mediante los circuitos de
enlace 152, 160 (Figura 1) actúa directamente sobre los transistores
superiores 114, 130 y en caso de sobreintensidad desconecta
inmediatamente el transistor 114 o 130 conductor en ese momento.
Además la señal Imax es alimentada también al \muC 40 y genera
allí una interrupción Imax. Mediante ésta se inician entre otras
cosas pasos del programa, que en los subsiguientes impulsos de
corriente bajan la corriente a través del bobinado 102 hasta el
punto en que no se produce ninguna sobreintensidad más.
Si la corriente a través de las resistencias de
medición 134, 138 sobrepasa precisamente un valor ajustado en la
resistencia 176 (en la Figura 1 designado como Uref), se genera en
el \muC 40 una interrupción Imax, y los transistores superiores
114, 130 son desconectados directamente por el hardware. Tras el
transcurso de un breve retardo se conectan ambos transistores
inferiores 132, 136, de manera que las conexiones 104, 106 del
bobinado 102 son puestas en cortocircuito por los dos FETs 132, 136.
Los subsiguientes pasos del programa dependen esencialmente del tipo
y número de revoluciones del motor, es decir, son posibles distintas
variantes.
En una variante, cuando la corriente en el
bobinado 102 alcanza el valor cero, se genera de la manera ya
descrita la interrupción Imin 244. Como seguridad adicionalmente se
mide el tiempo a partir de LS ON 240 (Figura 6) mediante la ya
descrita función TIMEOUT 246.
Cuando ha transcurrido el tiempo TIMEOUT antes
de que se genere la interrupción Imin 244, esto provoca la orden OFF
para los dos transistores inferiores 132, 136. En caso de que la
interrupción Imin llegue antes, provoca la señal LS OFF (OFF =
DESCONECTADO). Tras un retardo se prosigue luego el suministro de
corriente del bobinado 102, es decir, cuando en la posición de giro
instantánea del rotor 108 la corriente en el bobinado 202 debe fluir
de 104 a 106, los transistores 114, 136 son conectados de nuevo y
los transistores 130, 132 permanecen desconectados. Para una
corriente en el sentido inverso (de 106 a 104) es válido
análogamente lo inverso.
La Figura 7 muestra esquemáticamente impulsos de
corriente i_{1}, i_{2,} cuya amplitud A1 en los puntos 250, 251
alcanza la corriente Imax (3 A), de manera que en estos puntos se
emplea la limitación de corriente y la corriente cae hasta un punto
252 o 253. Allí se conecta de nuevo la corriente, porque la señal
Imax (activa en baja) ya no se genera, y aumenta de nuevo hasta los
puntos 255 o 257, donde se da la orden de desconexión desde el
\muC 40. En ambos puntos 250 y 251 se reduce el factor de trabajo
pwm mediante el paso de programa S508 de la Figura 17, para reducir
la amplitud A1.
Según la Figura 8 esta reducción del factor de
trabajo pwm tiene por consecuencia que - tras un retardo temporal -
la
amplitud A2 de la corriente en el motor 100 se reduzca a un valor que está situado por debajo de 3 A, lo que se simboliza mediante las flechas claras 254, 256 de la Figura 8. En la Figura 7 la longitud de bloque de un impulso tiene el valor BW1, precisamente el tiempo desde la orden de conexión hasta la orden de desconexión para este impulso.
amplitud A2 de la corriente en el motor 100 se reduzca a un valor que está situado por debajo de 3 A, lo que se simboliza mediante las flechas claras 254, 256 de la Figura 8. En la Figura 7 la longitud de bloque de un impulso tiene el valor BW1, precisamente el tiempo desde la orden de conexión hasta la orden de desconexión para este impulso.
Como compensación para la reducción de la
amplitud desde A1 a A2 en la Figura 8 la longitud de bloque BW para
el control de los impulsos i_{1}, i_{2} se alarga a un valor
BW2, como se indica simbólicamente por las flechas oscuras 258, de
manera que la energía suministrada al motor 100 no varía, es decir,
la superficie F1 bajo la curva i_{1} de la Figura 7 corresponde en
esencia a la superficie F2 bajo la curva i_{1} de la Figura 8.
Didácticamente puede presentarse como que mediante una fuerza 254,
256 en la Figura 8 los impulsos i_{1}, i_{2} se contraen algo en
el ancho, de manera que ya no se alcanza la amplitud A1, siendo
compensada la menor amplitud A2 de las corrientes i_{1}, i_{2}
en la Figura 8 porque aumenta su longitud de bloque BW2.
Esto es por lo tanto importante, porque en caso
de una superación de la corriente máxima las pérdidas - debido a los
procesos descritos en la Figura 5 - aumentan y existe el peligro de
que los MOSFETs se sobrecarguen. También el motor 100 funciona más
silencioso cuando es accionado con una corriente por debajo de su
corriente máxima regulada. Naturalmente los impulsos i_{1} e
i_{2} pueden alcanzar sólo una longitud de bloque BW de algo menos
de 180º eléctricos, puesto que de lo contrario podría producirse un
cortocircuito del puente.
Cuando la longitud de bloque BW de los impulsos
i_{1}, i_{2} se hace demasiado grande, se acorta mediante el
software del motor, y para la compensación en este caso se aumenta
la amplitud, es decir, el motor tiende entonces a funcionar desde el
estado según la Figura 8 al estado según la Figura 7. Para este caso
se invierte la dirección de las flecha 254, 256, 258.
En el arranque dado el caso mediante la
limitación de corriente puede limitarse la corriente de arranque,
pero también es posible un arranque sin sobreintensidad de manera
que se eleve lentamente a modo de una rampa el factor de trabajo pwm
de la señal PWM (Figura 1).
Para la realización del invento se calcula
mediante el software del motor
- a)
- qué factor de trabajo pwm debe tener en el momento la señal PWM,
- b)
- en qué instante debe ser conectado un impulso de corriente, y
- c)
- en qué instante debe ser desconectado un impulso de corriente.
Esto se explica en detalle a continuación.
La longitud de bloque BW es calculada en el
ejemplo de realización por un regulador del número de revoluciones,
que a continuación se describirá con la Figura 30. BW por lo tanto
se predetermina para el cálculo y es independiente del factor de
trabajo pwm de la señal PWM. (Naturalmente en el cálculo de BW el
factor de trabajo también puede tomarse en consideración total o
parcialmente, pero sin una consideración semejante resulta un
programa más corto, lo que es importante en un motor).
La Figura 9 muestra una parte del circuito del
microcontrolador (\muC) 40 empleado en el ejemplo de realización,
aquí del tipo PIC16C72A de la Firma Arizona Microchip. Éste trabaja
aquí con una frecuencia pulsante de 4 MHz. Tiene 28 entradas 1 hasta
28, que están designadas como sigue:
- 1
- MCLR/ (Entrada de reposición)
- 2 a 7
- RA0 ... RA5
- 8
- VSS (Conexión a masa)
- 9
- CLKIN
- 10
- CLKOUT
- 11 a 18
- RC0 ... RC7
- 19
- VSS1 (Conexión a masa)
- 20
- VDD (+5 V)
- 21 a 28
- RB0 ... RB7
Las conexiones RA1 a RA5, RC3, RC4 y RB1 a RB5
están unidas respectivamente con masa GND a través de una
resistencia R (10 k\Omega), puesto que estas conexiones no se
emplean. Estas resistencias no están representadas en la Figura 10,
para que allí la representación resulte más clara.
Las conexiones CLKIN y CLKOUT están unidas con
un cuarzo oscilante 42. Las conexiones VSS y VSS1 están puestas a
masa, y la conexión VDD a una línea positiva de +5 V (regulada).
Entre las conexiones VDD y VSS está colocado un condensador filtro
44 (por ejemplo de 100 nF).
La entrada de reposición MCLR/ está unida a
través de una resistencia 46 con un nudo 48, que a través de una
resistencia 50 está unido con +5 V y a través de un condensador 52
con GND. El condensador 52 está descargado al conectar, de manera
que la entrada MCLR/ tiene entonces el potencial 0 V, lo que
dispara un proceso de reposición al conectar. Después el condensador
52 se carga a 5 V a través de la resistencia 50.
RA0 es la entrada de un transformador A/D
interno de procesador en el \muC 40. A esta entrada puede se
alimentada una tensión de entre 0 y 4,5 V (Vcc), y ésta se
transforma en una señal digital. La señal en RA0 corresponde al
número de revoluciones deseado. Esta última es alimentada a una
entrada 261 como señal PWM 262, cuyo factor de trabajo pwm contiene
la información del número de revoluciones.
Un comparador 264 sirve para elaborar la señal
PWM 262 y normalizarla a una amplitud a regulada. Su entrada + está
conectada a un nudo 266, que a través de una resistencia 268 está
conectado a una tensión regulada de +5 V, con la cual también está
provisto el \muC 40, y a través de una resistencia 270 a GND. Las
resistencias 268, 270 están elegidas de manera que en el nudo 266
hay un potencial de +2,3 V.
La entrada negativa del amplificador 264 está
conectada a un nudo 272, que a través de una resistencia 274 está
unido con la entrada 261 y a través de una resistencia 276 con GND.
Las resistencias 274, 276 pueden ser iguales de grandes.
La salida 278 del amplificador 264 está unida
con +5 V a través de una resistencia de conexión 280 y con RA0 a
través de una resistencia 282. Entre RA0 y GND está colocado un
condensador 284. Las piezas de construcción 282 y 284 forman en
conjunto un filtro de paso bajo.
La señal 262 se invierte mediante el
amplificador 264, compárese la señal 286 en la salida 278, que tiene
una amplitud a constante, y esta señal 286 es aplanada por el filtro
de paso bajo 282, 284 en forma de una tensión continua, que es
alimentada a la entrada RA0 y allí es transformada en cada consulta
en un valor digital. Puesto que la señal 286, a diferencia de la
señal 262, tiene una amplitud a definida, su factor de trabajo es
transformado en una tensión continua definida y en un valor digital
definido.
Alternativamente la señal en la entrada RA0
puede ser generada de cualquier otra manera, por ejemplo por medio
de un potenciómetro. En este procesador la amplitud máxima
corresponde a RA0 5 V. Esto corresponde a la referencia interna
A/D.
El \muC 40 tiene un contador anular TIMER1 así
como una RAM y una ROM. Adicionalmente puede estar prevista una RAM,
EEPROM o similar externa, como es evidente para el experto.
Las Figuras 10 y 11 muestran un ejemplo de
realización detallado para el circuito de la Figura 1. La Figura 10
muestra el hardware para el reconocimiento de Imax e Imin, así como
el generador Hall 110. La Figura 11 muestra el \muC 40 y el puente
en H 137 controlado por él. Las piezas iguales o que actúan igual
que en las Figuras precedentes se designan con los mismos signos de
referencia que allí y normalmente no se describen otra vez.
Los pasos desde la Figura 10 a la Figura 11
están designados con 290, 292 (para el puente en H 137), 294 para la
señal HALL, 296 para la señal Imin y 298 para la señal Imax. Éstas
están dibujadas también en la Figura 1.
La Figura 10 muestra el generador Hall 110, cuya
señal de salida es ampliada por medio de un comparador 300, cuya
salida 294 está unida a través de una resistencia de conexión 302
con la línea positiva 43 (+5 V, regulada). Las señales rectangulares
HALL son alimentadas a la entrada RB0 del \muC 40. Cada flanco de
esta señal efectúa allí una interrupción Hall, compárese la Figura
16. El generador Hall 110 es provisto de corriente a través de una
resistencia 304 desde la línea 43.
La entrada positiva del comparador 172 está
unida a través de una resistencia 305 con su salida 307, a través de
una resistencia 306 con el punto 290, además con la entrada negativa
del comparador 202, y a través de un condensador 308 con GND. La
resistencia 306 y el condensador 308 forman en conjunto el filtro de
paso bajo 170 de la Figura 1. La salida 307 está unida a través de
una resistencia 309 con la línea positiva 43.
Asimismo la entrada positiva del comparador 198
está unida a través de una resistencia 309 con su salida 311, a
través de una resistencia 310 con el punto 292, con la entrada
positiva del comparador 202, y a través de un condensador 312 con
GND. La resistencia 310 y el condensador 312 forman en conjunto el
filtro de paso bajo 196 de la Figura 1. La salida 311 está unida a
través de una resistencia 314 con la línea positiva 43.
Las entradas negativas de los comparadores 172,
198 están unidas con el nudo 174, en el que está situado el
potencial de comparación Uref en la resistencia 176.
La entrada positiva del comparador 202 está
unida a través de una resistencia 316 con su salida 318, que a
través de una resistencia 320 está unida con la línea positiva
43.
La señal Imin se recibe en la salida 318 del
comparador 202. Esta señal es alimentada a través de una resistencia
297 al puerto RB7 del \muC 40. La salida 318 cambia su potencial
en el paso por cero de la corriente del motor, como ya se ha
descrito, y el flanco de conexión en la transición provoca en el
\muC 40 una interrupción Imin, compárese la Figura 19 a
continuación.
Cuando debido a una corriente del estator de por
ejemplo 3 A la caída de tensión en la resistencia 134 se hace mayor
que la tensión Uref en la resistencia 176, la salida del comparador
172 se hace de alta resistencia y recibe un alto potencial. De este
modo a través de la resistencia 309 y del diodo 192 fluye una
corriente de base hacia el transistor 188 y hace a éste conductor,
por lo que la señal Imax en el punto 298 se hace baja y de este modo
se reduce el potencial en los nudos 180 y 174. Esto produce la
histéresis de conmutación ya descrita, es decir, la tensión Uref se
hace correspondientemente más pequeña, de manera que la señal Imax
sólo se hace alta de nuevo cuando la corriente en la resistencia 134
ha bajado por ejemplo a 1,6 A. Los cátodos de los diodos 192, 194
están unidos con GND a través de una resistencia común 193.
Debido a la simetría de la disposición es válido
lo mismo cuando la corriente del estator a través de la resistencia
138 sobrepasa el valor 3 A. También en este caso el transistor 188
se hace conductor, se produce la histéresis de conmutación descrita,
y se genera una señal baja Imax en la conexión 298, que sólo se hace
alta de nuevo cuando esta corriente ha bajado por ejemplo a 1,6
A.
La señal Imax es según la Figura 11 alimentada
directamente a los circuitos de enlace 152, 160 y bloquea a través
de éstos los MOSFETs superiores 114, 130. Es suministrada además a
través de una resistencia 324 a la entrada RB6 del \muC 40. Con
ello ambas señales HSL y HSR se conectan en baja, de manera que uno
de los transistores superiores 114, 130 sólo puede ser conectado de
nuevo cuando
- a)
- la señal Imax se ha hecho de nuevo alta y
- b)
- la señal asociada HSL o HSR asimismo se ha hecho de nuevo alta.
De esta manera se obtiene lo siguiente:
- -
- Con la generación de la señal Imax, por ejemplo con una corriente de 3 A, los transistores superiores 114, 130 son bloqueados directamente mediante el hardware, y poco después, adicionalmente, por el \muC 40.
- -
- Tras el fin de la señal Imax el \muC 40 puede mantener el control sobre los transistores superiores 114, 130 y por ejemplo bloquear éstos además, en caso de que el tiempo BW (Figuras 7 y 8) haya transcurrido.
Según la Figura 11 el circuito de enlace 152
tiene un nudo 326, que a través de una resistencia 328 está unido
con el puerto RC0 del \muC 40 y desde allí recibe la señal HSL
para la conmutación. Además con el nudo 326 están unidos los ánodos
de tres diodos 330, 331, 332. El cátodo del diodo 330 está unido con
el puerto RC2, en el cual se genera constantemente una señal PWM de
PWM (20 kHz), cuyo factor de trabajo pwm puede ser modificado por
órdenes del software. El cátodo del diodo 331 está unido con el
punto 298, al que se alimenta la señal Imax. El cátodo del diodo 332
está unido con la base del transistor npn 148 y a través de una
resistencia 334 con GND. El emisor del transistor 148 está unido
con GND, y su colector a través de una resistencia 336 con la puerta
G del MOSFET 114. Ésta a través de una resistencia 338 y de un
condensador 340 en paralelo con ella está unida con la línea 16, por
tanto con la tensión de servicio del motor 100, que se designa
también como tensión del circuito intermedio (voltaje en el bus de
corriente continua).
En tanto que los diodos 330, 331 sean no
conductores y desde el puerto RC0 sea alimentada una señal alta HSL,
el nudo 326 tiene un potencial alto, y el diodo 332 es conductor y
alimenta al transistor 148 una corriente de base, de manera que éste
conduce y a través de las resistencias 338, 336 fluye una corriente,
de manera que en la puerta G del transistor 114 se genera una señal,
que es más negativa en algún voltio que la señal en su fuente S, de
manera que el transistor 114 se conecta totalmente. El condensador
340 produce un pequeño retraso de los procesos de conexión e impide
oscilaciones.
Además el cátodo del diodo de bloqueo 166 recibe
también el potencial GND, de manera que a la puerta G del MOSFET 132
no puede ser alimentado ningún potencial positivo para conectar
éste, es decir, los transistores 114, 132 están recíprocamente
bloqueados.
Si el potencial del nudo 326 se hace bajo, por
ejemplo porque uno de los diodos 330, 331 se hace conductor o desde
el puerto RC0 es alimentada una señal HSL baja, el diodo 332 se
bloquea, de manera que el transistor 148 ya no recibe ninguna
corriente de base y se bloquea. De este modo la puerta G del MOSFET
114 recibe a través de la resistencia 338 el potencial de la línea
positiva 116, de manera que el MOSFET 114 se bloquea. El cátodo del
diodo de bloqueo 166 recibe con ello un potencial alto, de manera
que ahora puede conectarse el MOSFET inferior 132.
La señal LSL del puerto RC6 es alimentada a
través de una resistencia 342 a la base del transistor npn 140. En
tanto que esta señal sea alta o el cátodo del diodo de bloqueo 166
esté a un potencial bajo, en el colector del transistor 140 existe
un potencial bajo, que a través de una resistencia 346 es alimentado
a la puerta del MOSFET 132 y bloquea a éste. Esta puerta está unida
con GND a través de un condensador 348, para retrasar un poco los
procesos de conexión.
Si la señal LSL en el puerto RC6 es baja, el
transistor 140 se bloquea. En tanto que el potencial en el cátodo
del diodo 166 sea alto, a través de la resistencia 344 se recibe
ahora en el colector del transistor 140 un potencial alto, y éste a
través de la resistencia 346 hace conductor al MOSFET 132. A través
de una resistencia 350 y de un diodo 352 la puerta del MOSFET 132
está unida con el ánodo del diodo 166, y cuando el cátodo de éste
está puesto a GND, un potencial positivo en la puerta del MOSFET 132
se descarga inmediatamente hacia GND a través de la resistencia
350, del diodo 352 y del diodo 166, de manera que el MOSFET 132 se
bloquea. Puesto que la resistencia 350 preferentemente es menor que
la resistencia 346, la relación de constante de tiempo de carga a
constante de tiempo de descarga puede ser variada. Estas constantes
son también una función de la capacidad de puerta y de otras
capacidades en el circuito.
La mitad derecha del circuito según la Figura 11
está construida por completo simétricamente con respecto a la mitad
izquierda y por eso no se describe por separado, puesto que el
experto, por la descripción detallada de la mitad izquierda,
entiende de inmediato cómo trabaja la mitad derecha. Por ejemplo al
diodo 352 en la mitad izquierda le corresponde un diodo 352' en la
mitad derecha. El diodo de bloqueo derecho 168 tiene el mismo modo
de trabajo que el diodo de bloqueo 166 en el lado izquierdo, e
impide que los MOSFETs 130 y 136 sean conductores simultáneamente.
La señal HSR es alimentada a través de una resistencia 356 desde el
puerto RC1 a un nudo 358 en el circuito de enlace 160, y la señal
LSR es alimentada a través de una resistencia 360 desde el puerto
RC7 a la base del transistor NPN 144. En el
puerto RC5 puede ser generada una señal ALARMA si el motor 100 se bloquea, es decir, está estorbado en un giro.
puerto RC5 puede ser generada una señal ALARMA si el motor 100 se bloquea, es decir, está estorbado en un giro.
Los diodos de bloqueo 166, 168 producen ante
todo una seguridad contra estados de conexión incontrolables debido
a picos de corriente a consecuencia del VEM. Los procesos de
conexión (conexión, desconexión de los MOSFETs) duran siempre un
cierto tiempo, porque la puerta G del respectivo transistor tiene
que cargarse o descargarse, de manera que no es posible una
protección perfecta, pero mediante esta sencilla medida se obtiene
una fuerte descarga de los transistores en el puente en H 137, en
caso de que debieran producirse tales picos.
Cuarzo 42 | 4 MHz |
Condensador 44 | 100 nF |
Resistencia 46 | 100 \Omega |
Resistencia 50, 176, 302, 306, 310, 314, 320 | 10 k\Omega |
Condensador 52, 308, 312, 340 | 1 nF |
Generador Hall 110 | HW101G |
Amplificador operacional 172, 198, 202, 300 | LM2901P |
Resistencias 134, 138 | 0,15 \Omega |
Resistencia 178 | 75 k\Omega |
Resistencia 182 | 33 k\Omega |
Resistencia 186 | 15 k\Omega |
Transistor 188 | BC846B |
Resistencia 190 | 22 k\Omega |
Resistencia 191 | 0,1 k\Omega |
Resistencia 193, 309, 316 | 1 M\Omega |
Diodos 192, 194 | BAV70 |
Resistencia 280 | 3.3 k\Omega |
Resistencia 282 | 6,8 k\Omega |
Condensador 284 | 220 nF |
Resistencia 297 | 2 k\Omega |
Resistencia 304 | 1,2 k\Omega |
MOSFETs 114, 130,132, 136 | IRF7379 |
(La pieza de construcción IRF 7379 contiene un
MOSFET de canal P y un MOSFET de canal N en la misma caja.)
Resistencia 328, 338 | 2,2 k\Omega |
Diodos 330, 331, 332 | BAW56S |
Resistencia 334, 334', 344 | 5,1 k\Omega |
Transistores 140, 144, 148,154 | BC847BS |
Resistencia 336 | 1,1 k\Omega |
Diodos 166, 168, 352, 352' | BAS316 |
Diodos 114', 118, 130', 132', 136' | SMS2100 |
Resistencia 350 | 100 \Omega |
Resistencia 346 | 330 \Omega |
Condensador 348 | 4,7 nF |
Resistencias 342, 360 | 2,7 k\Omega |
Condensador 126 | 100 \muF, 35 V |
Condensador 126A | 100 nF |
Resistencia 356 | 0,8 \Omega |
Naturalmente esto son sólo ejemplos, que aquí se
refieren a un motor 100 que se hace funcionar con una batería de 12
V.
La Figura 12 explica en una representación
sinóptica el desarrollo de los pasos del programa en el motor 100
dependiendo de la posición de giro del rotor 108. Un electromotor,
que es controlado por un \muC 40, puede tener múltiples funciones
adicionales según su aplicación, por ejemplo una regulación del
número de revoluciones, una limitación del número de revoluciones,
una limitación de corriente, una regulación a corriente constante,
dispositivos para la emisión de señales de alarma, rutinas de
tratamiento de errores, etc.
En el presente ejemplo de realización el número
de revoluciones del motor se regula a un valor nominal (por ejemplo
3000 rpm), que a su vez por ejemplo puede ser dependiente de la
temperatura ambiente. Por lo tanto este valor nominal tiene que ser
actualizado frecuente y automáticamente para el programa de
regulación.
Además para una regulación del número de
revoluciones se debe saber lo alto que es el número de revoluciones
del motor en el momento, por ejemplo 2990 rpm. También este valor
real del número de revoluciones tiene que ser actualizado frecuente
y automáticamente.
Además en un motor semejante dado el caso tiene
que ser calculada la aceleración, debe emitirse una señal PWM para
la corriente del motor, los procesos de cálculo de la regulación del
número de revoluciones deben realizarse de nuevo una y otra vez
(repetitivamente), y dado el caso de tiempo en tiempo deben
inicializarse de nuevo determinados parámetros, para asegurar una
marcha estable del motor.
Además el \muC 40 - en correspondencia a los
cálculos del regulador del número de revoluciones - tiene que
conectar y desconectar la corriente al motor y también, dependiendo
de la posición de giro instantánea, cambiar el sentido de la
corriente del motor. Todos estos procesos se designan en la
construcción de máquinas eléctricas como conmutación. Ésta debería
efectuarse con gran precisión, porque un motor sólo funciona
silenciosamente cuando las órdenes de conmutación se ejecutan muy
exactamente. Esto significa que el programa debe comprobar muy
frecuentemente si existe y debe ser ejecutada una orden de programa
para la conmutación.
Según la Figura 12 se tiene por lo tanto
directamente después de un flanco 370, 372 de la señal HALL un bucle
de cálculo grande 374 o 376, en el cual - según el valor del
contador HALL_CNT - se realizan procesos de cálculo más largos, y se
tiene a continuación muchos bucles de cálculo cortos 378, en los
cuales sólo se comprueba y dado el caso se controla la conmutación.
Puesto que estos bucles cortos 378 se suceden apretadamente unos a
otros, producen una alta resolución, es decir, se comprueba por
ejemplo cada 60 a 100 \mus si en la conmutación tiene que ser
modificado algo.
La Figura 12 muestra que por ejemplo
directamente después de un flanco 370 de la señal HALL se realiza un
bucle largo 374, en el cual según la leyenda 380 se calcula el valor
nominal para la regulación del número de revoluciones y también se
comprueba la conmutación.
Al bucle grande 374 le siguen muchos bucles
cortos 378, en los cuales según la leyenda 382 sólo se comprueba y
dado el caso se modifica la conmutación.
A un flanco 372 de la señal HALL le sigue en
este ejemplo un bucle largo 376, en el cual según la leyenda 384 se
realizan los siguientes pasos de cálculo:
- \bullet
- Cálculo del valor real
- \bullet
- Cálculo de la aceleración
- \bullet
- Regulación del número de revoluciones
- \bullet
- Cálculo del factor de trabajo pwm de la señal PWM
- \bullet
- Reinicialización de determinados registros
- \bullet
- Conmutación.
A este bucle largo 376 siguen de nuevo los
bucles cortos 378 para la observación y el control de la
conmutación.
En el siguiente flanco de la señal HALL sigue
otra vez un bucle largo 374 del tipo ya descrito, es decir, en este
ejemplo de realización tras 360º eléctricos se repiten los
procesos.
La Figura 13 muestra el correspondiente diagrama
de flujo que en un resumen aproximado muestra el desarrollo
principal de los bucles acabados de describir.
Arriba del todo en la Figura 13 están
representadas en 390 las interrupciones que a continuación se
describen en detalle en las Figuras 14 a 20 y que al producirse
interrumpen el desarrollo normal del programa, lo que está
simbolizado por las flechas 392.
Al conectar el motor 100 se produce de la manera
usual en el paso S394 una inicialización del \muC 40. Aquí en
particular se pone a 1 una bandera STARTUP, que indica que en primer
lugar deben realizarse los pasos del programa para la marcha rápida
del motor 100. Éstos se diferencian de los pasos del programa que se
realizan en el intervalo del número de revoluciones nominal del
motor.
A continuación sigue en S396 el control de la
conmutación, que está explicado en detalle en las Figuras 23 a 26.
Este control es muy crítico en el tiempo y por eso está al principio
del diagrama de flujo en un bucle corto 382.
A continuación en S398 se comprueba si la
bandera NEW_HALL indica que desde el último flanco de la señal HALL
ya ha pasado un bucle grande 374 o 376.
En caso de que esta bandera tenga todavía el
valor 1, el programa pasa a S400 y pone allí esta bandera a 0. A
continuación comprueba en S402 si HALL_CNT es igual a 0 o es igual
a 2. (La variable HALL_CNT se genera en la Figura 16 en S454. Esta
variable corresponde a determinadas posiciones del rotor, que al
conectar el motor son fijadas al azar, por ejemplo 0º eléctricos y
360º eléctricos, o 180º eléctricos y 540º eléctricos). En caso de
Sí, el programa va al bucle largo 374 y realiza en S404 el cálculo
del valor nominal t_s, el cual en este ejemplo de realización se
calcula a partir de la señal analógica en la entrada RA0, compárese
la Figura 9.
Si en S402 la respuesta es No, el programa va al
bucle largo 376 y allí a los pasos S406 y S408, donde se calculan el
valor real t_HALL y la aceleración (Figura 29). Para el registro del
valor real se procede como sigue:
- \bullet
- Por debajo de 2000 rpm se mide el tiempo t_HALL entre dos flancos adyacentes 370, 372 o 372 y 370 de la señal HALL, es decir, el tiempo para un giro de 180º eléctricos.
- \bullet
- Por encima de 2000 rpm se mide el tiempo entre un primero y un cuarto flanco de la señal HALL, lo que en el rotor de cuatro polos 108 empleado corresponde a una revolución completa de 360º mecánicos = 720º eléctricos. Se mide por lo tanto el tiempo para una revolución completa y se divide éste por 4, para obtener t_HALL.
Estos procesos se explican en detalle con ayuda
de las Figuras 27 y 28.
A S408 sigue S410, donde se realizan los
procesos de cálculo del regulador RGL del número de revoluciones,
que en la Figura 30 están explicados en detalle.
En el subsiguiente S412 se calcula el factor de
trabajo pwm de la señal PWM y se ajusta en la salida RC2, compárese
para esto la Figura 31.
Después sigue S414, donde se ajustan de nuevo
determinados registros. Éstos son registros cuyo valor es conocido y
no varían, por ejemplo registros para el sentido de giro o para la
configuración de un comparador. Estos registros podrían perder su
contenido por fuertes perturbaciones de VEM (voltaje electromotriz).
Mediante la inicialización este contenido es elaborado de nuevo.
Esto en el ejemplo de realización se efectúa dos veces por
revolución del rotor.
Acto seguido a los pasos de programa S404 o S414
el programa retrocede en un bucle sin fin 416 al paso S396. Puesto
que en el paso S400 la bandera "NEW_HALL" fue conmutada a
"0", lo que significa que uno de los bucles grandes 374, 376 ha
sido recorrido, la respuesta acto seguido en S398 dice No, y se
recorre tan sólo el bucle corto 382, que dura pocos \mus.
La bandera NEW_HALL durante la interrupción HALL
es conmutada de nuevo a "1" en el próximo flanco Hall 370 o
372, compárese S452 en la Figura 16, de manera que entonces de nuevo
uno de los bucles grandes 374 o 376 se recorre una vez, según el
valor instantáneo de la variable HALL_CNT.
Si el motor 100 tiene un rotor 108 de cuatro
polos y gira a 3000 rpm = 50 rps, el valor nominal y el valor real
se actualizan 100 veces por segundo, lo que posibilita una
regulación del número de revoluciones de alta calidad.
La Figura 14 muestra la rutina de interrupción
S420, que ejecuta las interrupciones 390 (Figura 13). El procesador
empleado aquí tiene una rutina de interrupción, que es activada por
una interrupción cualquiera, determina de qué interrupción se trata,
y luego realiza la rutina necesaria para la ejecución de esta
interrupción. Antes de la ejecución de una interrupción se determina
también por S420 la fuente de la interrupción, por ejemplo la
producción de la señal Imin o una modificación en el nivel de la
señal HALL.
La rutina de interrupción S420 comienza en S422
con una pregunta, si existe una interrupción del contador anular
TIMER1 en el \muC 40. Si éste es el caso, en S424 se realiza la
correspondiente rutina. Ésta pertenece al software estándar del
\muC 40. En caso de que no exista ninguna interrupción del
contador anular, se pregunta en S426 si existe una interrupción Hall
HALL_INT. Si éste es el caso, se realiza en S428 la correspondiente
rutina. Ésta está representada en la Figura 16.
En caso de que en S426 la respuesta sea No, se
comprueba en S430 si existe una interrupción Imax. En caso de Sí, se
realiza en S432 la rutina de interrupción Imax, que está
representada en la Figura 17.
En caso de que en S430 la respuesta diga No, se
comprueba en S434 si existe una interrupción Imin. En caso de Sí, se
realiza en S436 la rutina de interrupción Imin, que está
representada en la Figura 19.
En caso de que la respuesta en S434 diga No, se
comprueba en S438 si existe una interrupción TIMEOUT. La función
TIMEOUT ya fue descrita más arriba en la Figura 6, 242. En caso de
que exista tal interrupción, se realiza en S440 la rutina de
interrupción TIMEOUT, que está representada en la Figura 20.
La rutina de interrupción S420 ha llegado ahora
a su final. En caso sin embargo de que también en S438 la respuesta
tuviera que decir No, debe existir un error, y el programa va
entonces al paso S442, donde tiene lugar un correspondiente
tratamiento de error, que puede ser llevado a efecto en el \muC
40.
La Figura 15 sirve para la explicación de la
rutina representada en la Figura 16 para la ejecución de una
interrupción Hall.
La Figura 15a muestra la señal PWM en el puerto
RC2 del \muC 40. Esta señal es generada continuamente y tiene por
ejemplo una frecuencia de 20 kHz. Su factor de trabajo pwm es
regulable controlado por el programa, compárense las Figuras 21 y
22.
La Figura 15b muestra la señal HALL. Ésta tiene
flancos ascendentes 370 en la transición de Low a High, y tiene
flancos descendentes 372 en la transición de High a Low.
Los instantes t_{1}, t_{2}, etc., en los
cuales se presentan los flancos, son medidos por el contador anular
TIMER1 y almacenados en una variable temporal t_TEMP. Como muestra
la Figura 15, los flancos ascendentes 370 gobiernan la conexión de
los transistores HSL 114 y LSR 136, por tanto de la corriente
i_{1} (Figura 1). Análogamente los flancos descendentes 372
gobiernan la conexión de los transistores HSR 130 y LSL 132, por
tanto de la corriente i_{2} (Figura 1). Por eso la rutina para la
interrupción Hall debe diferenciar entre flancos ascendentes 370 y
flancos descendentes 372.
La duración t_HALL entre dos flancos se obtiene
como
...
(2).t\_HALL = t_{2} -
t_{1}
Esta duración es una medida para el número de
revoluciones instantáneo del rotor 108 y corresponde al tiempo que
éste necesita para un giro de 180º eléctricos. Naturalmente este
tiempo puede medirse de muchas maneras, por ejemplo también mediante
el denominado principio sin sensor, mediante transmisor óptico,
mediante transmisor magnetorresistivo, etc. Preferentemente, tan
pronto como el número de revoluciones es suficientemente alto, se
mide el tiempo para un ángulo de giro mayor, especialmente para una
revolución completa del rotor 108, lo que en el ejemplo de
realización según la Figura 1 corresponde a un ángulo de giro de
720º eléctricos. Esta medición se explica a continuación.
Las Figuras 15c y 15d muestran muy
esquematizadas las señales para el control del puente en H 137. La
Figura 15c muestra las señales HSR, LSL para el control de los
transistores 130 y 132, por tanto para la conexión de la corriente
i_{2}. La Figura 15d muestra las señales HSL, LSR para el control
de los transistores 114 y 1326, por tanto para la conexión de la
corriente i_{1}.
El inicio de un impulso 444 de la Figura 15c se
calcula a partir del flanco descendente 372 de la señal HALL, lo que
se simboliza por la flecha 445, y el inicio de un impulso 446 de la
Figura 15d se calcula a partir del flanco ascendente 370 de la señal
HALL, lo que se simboliza por la flecha 447. (El cálculo se efectúa
en la Figura 30, S673). Los flancos 370, 372 de HALL corresponden a
posiciones de giro predeterminadas del rotor 108, compárese la
Figura 26A, donde al flanco descendente 601 está asignada una
posición de giro de 0º eléctricos, al flanco ascendente 603 una
posición de giro de 180º eléctricos, etc. En el cálculo de los
procesos de conmutación éstas son las únicas posiciones de giro que
son exactamente conocidas, y por eso los cálculos se refieren a
estos "puntos fijos".
Bajo la condición de que las señales de control
444, 446 estén situadas simétricamente con respecto a los impulsos
de la señal HALL, para el instante t_{3}, en el que se inicia una
señal 446, resulta el valor
... (3)t_{3} =
t_{1} + t\_HALL + (t\_HALL -
BW)/2
En esto significa
BW = Longitud de bloque de las señales 444, 446.
Esta longitud de bloque es calculada por el regulador RGL del número
de revoluciones, que a continuación se describe en la Figura 30.
Análogamente para el instante t_{4}, en el que
debe iniciarse la señal de control 444, resulta el valor
... (4)t_{4} =
t_{2} + t\_HALL + (t\_HALL -
BW)/2
\newpage
Debe tenerse en cuenta que por ejemplo el
instante t_{3} no se calcula a partir del instante t_{2} (flanco
372 directamente anterior de la señal HALL), que está situado lo más
próximo a t_{3}, sino a partir de un instante t_{1} más
anterior, precisamente a partir del anteanterior flanco 370. La
razón es que entonces, si BW es = t_HALL, el instante t_{2}
coincidiría con el instante t_{3}, lo que no es posible, puesto
que entre t_{2} y t_{3} deben realizarse pasos de cálculo.
En tanto que se emplee un denominado
desplazamiento del ángulo de encendido, por ejemplo en un valor fijo
VZ, las fórmulas anteriores cambian como sigue:
...(3a)t_{3'}
= t_{1} + t\_HALL + ((t\_HALL -
BW)/2)-VZ
...(4a).t_{4'}
= t_{2} + t\_HALL + ((t\_HALL -
BW)/2)-VZ
En este caso los instantes t_{3} y t_{4}
están situados más a la izquierda en la magnitud VZ, como se indica
en la Figura 15d para t_{3'}, lo que significa una conexión un
poco anterior de las corrientes i_{1} e i_{2} y puede producir
una mejora del rendimiento. Se observa también que t_{3'} en este
caso está situado en el tiempo antes de t_{2}, lo que sólo es
posible porque el tiempo de referencia RefTime para el cálculo de
t_{3'} no es el instante t_{2}, por tanto el flanco descendente
372, sino el instante t_{1}, por tanto el flanco Hall ascendente
370, como está representado simbólicamente por la flecha 447. VZ es
normalmente una constante, pero también puede ser una función
dependiente del número de revoluciones o ser optimizada
continuamente mediante partes del programa por separado, no
representadas.
La Figura 16 muestra la rutina S428, que se
dispara en un flanco 370, 372 (Figura 15) en caso de una
interrupción Hall. Una interrupción semejante se genera cuando la
señal en la entrada RB0 cambia de 0 a 1 o de 1 a 0, es decir, la
entrada RB0 es sensitiva a los flancos y efectúa una interrupción al
producirse un flanco 370 o 372. La rutina diferencia un flanco
ascendente 370 de un flanco descendente 372, lo que es importante
para el subsiguiente procesamiento.
En el paso S451 el instante en el que se ha
producido la interrupción se almacena en una memoria temporal
t_TEMP. Este instante se mide por medio del ya mencionado contador
anular TIMER1 en el \muC 40.
En el paso S452 la bandera NEW_HALL (Figura 13)
es puesta a 1 como señal de que a continuación tiene que realizarse
uno de los bucles grandes 374 o 376 (Figura 12).
En el paso S454 el contador Hall HALL_CNT es
puesto al valor (HALL_CNT+1)MOD4, es decir, contado en 1
hacia arriba y sometido a la operación módulo 4. El cálculo con
módulo produce un indicador del resto. Por ejemplo 4 módulo 4 es =
0, puesto que 4 es divisible por 4 entero y sin resto (remainder).
Por el contrario 5 módulo 4 es = 1, puesto que aquí resulta el resto
1. Asimismo 6 módulo 4 es = 2, puesto que aquí resulta el resto 2, 7
módulo 4 es 3, y 8 módulo 4 = 0. Por lo tanto en funcionamiento en
S454 para HALL_CNT resulta ininterrumpidamente la serie numérica 0,
1, 2, 3, 0, 1, 2, 3, 0, etc.
En el paso S456 se pregunta si HALL es = HIGH.
Según la Figura 12a) esto significa que el rotor 108 se encuentra en
una posición angular entre 0º eléctricos y 180º eléctricos.
En caso de que HALL no sea alto, según S458 la
variable de referencia (tamaño de referencia) para el control del
transistor superior derecho HSR 130 y del transistor inferior
izquierdo LSL 132 es sustituida por el tiempo almacenado en la
memoria temporal t_TEMP. En el subsiguiente paso S460 la
sensibilidad a la interrupción es regulada de manera que para la
siguiente interrupción Hall el puerto RB0 es sensibilizado en un
cambio de LOW a HIGH.
En S462 se comprueba si la bandera
COMMUT-ON tiene el valor 0. Esta bandera se pone en
la rutina COMMUT (Figura 23) en el paso S718, tan pronto como el
bobinado recibe corriente, y se pone a cero al final de la
conmutación en la Figura 24 o 25, compárense allí S764, S812 y S842.
En caso de que la respuesta diga No, esto significa que en el
instante del cambio Hall de High a Low todavía fluye una corriente
i_{2}.
Para esto se hace referencia a la Figura 15.
Allí tiene lugar un cambio Hall de High a Low en el instante
t_{2}. Allí el transistor HSR 130 ya debería estar desconectado,
para que ya no fluyera ninguna corriente i_{2}, y puesto que HSR
todavía es conductor, i_{2} tiene que ser desconectada en una
"desconexión de emergencia". Para ello en el paso S464 se
desconecta el HSR 130, y en el subsiguiente paso S466 se conectan
ambos transistores inferiores LSL 132 y LSR 136, para que la
corriente i_{2} pueda disminuir rápidamente a través de los
transistores 132, 136 y de las resistencias de medición 134, 138 y
de este modo genere un momento de giro. (Cuando la corriente i_{2}
pasa por cero, se dispara según la Figura 19 una interrupción Imin,
que finaliza la desconexión). A continuación el programa va al paso
S468, donde ahora se determina que el proceso de desconexión de la
corriente i_{2} está introducido (COMMUT_ON := 0), lo que según la
Figura 23, S702, es condición previa para la conexión de la
corriente i_{1}.
En caso de que en el paso S462 se determine que
la corriente i_{2} ya fue desconectada, el programa va
directamente al paso S468.
En caso de que en el paso S456 se determine que
la señal HALL es alta, es decir, que en la Figura 15 se trata de uno
de los flancos ascendentes 370, el programa va al paso S470, y allí
se toma como variable de referencia para el control de los
transistores HSL 114 y LSR 136 el tiempo almacenado en la memoria
temporal t_TEMP, es decir, determinados tiempos se miden y calculan
ahora a partir de esta variable. A continuación en S472 la
sensibilidad a la interrupción se regula de manera que para la
siguiente interrupción Hall el puerto RB0 es sensibilizado a un
cambio de HIGH a LOW, por tanto a un flanco descendente.
En el subsiguiente paso S474 se comprueba si la
bandera COMMUT-ON tiene el valor 0. Esta bandera se
pone a 1 en la rutina COMMUT (Figura 23) en el paso S718, tan pronto
como el bobinado recibe corriente, y se pone a cero al final de la
conmutación en la Figura 24 o 25, compárense allí S764, S812 y S842.
En caso de que la respuesta diga No, porque en este cambio Hall
todavía fluye una corriente i_{1}, ésta tiene que ser desconectada
en una "desconexión de emergencia" y para ello en el paso S476
se desconecta la corriente i_{1}, desconectándose el transistor
superior HSL 114, y en S478 se conectan ambos transistores
inferiores LSL 132 y LSR 136, para que la corriente i_{1} pueda
disminuir rápidamente a través de los componentes 132, 134, 136, 138
y de este modo genere un momento de giro en el rotor 108. (Cuando la
corriente i_{1} pasa por cero queda finalizado el proceso de
desconexión, por ejemplo por la interrupción Imin de la Figura 19).
Sigue S468, donde COMMUT_ON se pone a 0, para indicar que el proceso
de desconexión para i_{1} está introducido. En caso de que la
contestación en S474 diga Sí, el programa va directamente al
paso
S468.
S468.
A continuación de S468 se comprueba en S480 si
la bandera STARTUP (Figura 13, S394) tiene el valor 1. Esto
significa que o no existe en absoluto ningún valor para el número de
revoluciones real, o que el número de revoluciones real está situado
por debajo de 1000 rpm. En caso de que esta bandera no esté puesta,
el programa salta directamente al final S493 de la rutina S428.
En caso de que en S480 la respuesta sea Sí, el
programa va al paso S482 y comprueba allí si t_HALL es menor que un
valor t_HALL_min (compárese la ecuación (7)), que por ejemplo
corresponde a un número de revoluciones de 1000 rpm, es decir, se
comprueba si fue sobrepasado el número de revoluciones 1000 rpm. En
caso de No, el programa pasa a S493.
En caso de que se hubieran sobrepasado 1000 rpm,
en S486 la bandera STARTUP se pone a cero. A continuación en S488 se
comprueba si la señal HALL es alta. En caso de No, en S490 en la
variable de pronóstico NEXT_COMM se determina que el siguiente
bloque de corriente será un bloque de corriente 446 (Figura 15), es
decir, que en él tienen que conectarse HSL 114 y LSR 136. Si en S488
la respuesta es Sí, en S492 se determina que el siguiente bloque de
corriente será un bloque de corriente 444 (Figura 15), es decir, que
en él tienen que conectarse HSR 130 y LSL 132. Tras S490 o S492 el
programa va a S493 y finaliza la rutina S428. Los valores para
NEXT_COMMUT se preguntan en la Figura 24, S752 y en la Figura 25,
S806 y posibilitan la transición a la conmutación con números de
revoluciones altos.
La Figura 17 muestra una forma de realización
preferida para la rutina S428 para la ejecución de una interrupción
Imax S428. La función de esta rutina se explica a continuación con
ayuda de la Figura 18.
En S500 se comprueba si en la rutina COMMUT_CTRL
(Figura 25) la bandera Imax_CTRL_ON se puso a 1. Con ello se obtiene
que la rutina S428 sólo pueda ser disparada por la señal Imax si en
el bobinado 102 fluye una corriente, pero no por señales parásitas
con bobinado sin corriente. En caso de que la respuesta en S500 diga
Sí, en S501 se comprueba si la interrupción Imax se produjo en el
límite superior (3 A) o en el límite inferior (1,6 A). En una
interrupción en el límite superior de la corriente la señal Imax va
de High a Low, porque el transistor 188 (Figura 1) se hace
conductor, y la corriente hacia el bobinado 102 del estator ha sido
ya desconectada mediante el hardware por la señal Imax activa en
baja, habiendo sido bloqueados ambos transistores superiores 114 y
130. Esto fue descrito ya con la Figura 1. Se hace redundante
adicionalmente, si la respuesta en S501 dice Sí, en S502 las señales
HSL_OUT y HSR_OUT para los transistores superiores 114 y 130 se
ponen a cero, para obtener un control sobre estos dos transistores
también por medio del software, es decir, éstos pueden ser
conectados de nuevo sólo cuando el software lo permita. Si en S500
la respuesta es No, la rutina pasa directamente a su final, por
tanto a S522. También si la interrupción se produjo en el límite
inferior (1,6 A) de la corriente (S501: No) la rutina pasa
directamente a
S522.
S522.
En S504 sigue a S502 un tiempo de espera de 30
\mus. Durante este tiempo la corriente fluye en la parte inferior
del puente 137 por ejemplo a través del transistor conductor 136 y
del diodo de circulación libre 132' o a la inversa a través del
transistor conductor 132 y del diodo de circulación libre 136'.
A continuación en S506 se conectan ambos
transistores inferiores LSL 132 y LSR 136, de manera que la
corriente en el bobinado 102 pueda disminuir a través de los
componentes 132, 134, 136, 138, generando un momento de giro en el
rotor 108.
En S508 sigue la rutina DEC*(pwm), que está
representada en la Figura 22 y en la cual el factor de trabajo pwm
de la señal PWM se reduce en un escalón, para que la corriente a
través del bobinado 102 disminuya y ya no alcance el límite
superior, aquí 3 A. Con ello se evita adaptablemente que el motor
trabaje innecesariamente con limitación de corriente, y la corriente
reducida es compensada por aumento del valor BW (en el regulador
RGL).
A continuación en el paso S510 se espera por
ejemplo 200 \mus, para que la corriente en el bobinado 102 tenga
suficiente tiempo para disminuir. En S511 se comprueba si la
variable para los siguientes transistores a conectar dice HSL/LSR.
En caso de Sí, en S512 el transistor LSR 136 permanece conductor y
se desconecta el transistor LSL 132, de manera que la corriente de
cortocircuito fluye ahora a través del transistor 136 y del diodo de
circulación libre 132'. A continuación de esto en S512 se espera por
ejemplo 30 \mus, y luego el transistor superior HSL 114 se prepara
de nuevo para la conexión, es decir, éste puede ser conectado por el
hardware cuando la señal Imax se hace alta. En la Figura 17 esto
está indicado simbólicamente en 513 por "Hardware: ON". La
conexión se efectúa por tanto no por la orden HSL_OUT := 1, sino
sólo por un enlace lógico de esta señal con la modificación de la
señal Imax al quedar por debajo del límite de 1,6 A. Al quedar por
debajo del límite de 1,6 A el motor por tanto recibe de nuevo
inmediatamente energía de la red de corriente continua 121, e
i_{1} aumenta de nuevo.
En caso de que en S511 la respuesta diga No, en
S514 el transistor LSR 136 se bloquea, y el transistor LSL 134
permanece conectado, de manera que la corriente de cortocircuito
fluye a través del transistor 134 y del diodo de circulación libre
136'. A continuación se espera 30 \mus, y luego el transistor
superior HSR 130 se prepara de nuevo para la conexión, es decir,
éste puede ahora ser conectado por el hardware, como se indica en
513, tan pronto como la señal Imax se haga alta de nuevo, por tanto
con una corriente por debajo de 1,6 A. La conexión se efectúa
también aquí no por la señal HSR_OUT := 1, sino sólo por la
modificación de la señal Imax a 1,6 A, o dicho de otra manera:
mediante un enlace conjuntivo de la señal HSR_OUT := 1 con la señal
Imax = 1. Tras quedar por debajo de 1,6 A el motor 100 por lo tanto
recibe de nuevo corriente de la red de corriente continua 121, y la
corriente i_{2} aumenta de nuevo.
A continuación en S512 o S514 la rutina S428
pasa a S522 y finaliza allí.
Debe observarse aquí que las señales HSL_OUT,
HSR_OUT etc. permanecen almacenadas hasta que en la correspondiente
salida del \muC 40 se genera otra señal. Por ejemplo la señal
HSL_OUT permanece en conexión en S502 a 0 hasta que en S512 es
conmutada a 1, y permanece en conexión en S512 a 1 hasta que en un
momento cualquiera es de nuevo conmutada a 0.
La Figura 18 explica el modo de funcionar de la
rutina según la Figura 17. En la Figura 18 se ha introducido el
valor 3 A para el umbral superior de corriente, y el valor 1,6 A
para el umbral inferior de corriente, para aumentar la
comprensibilidad. Naturalmente estos valores numéricos pueden ser
distintos según el motor.
En t30 se conecta la corriente i_{1},
conectándose los transistores 114 y 136. En t31 alcanza i_{1} el
valor máximo admisible de 3 A, y mediante el cambio de la señal Imax
a Low el transistor 114 es desconectado inmediatamente mediante el
hardware. Simultáneamente a partir de t31 se inicia la rutina S428
según la Figura 17. Ésta mediante S506 en t32 conecta adicionalmente
el transistor inferior 132, de manera que el bobinado 102 es hecho
funcionar en cortocircuito. Esto tiene lugar durante 200 \mus
hasta t33. Allí el transistor 132 es desconectado de nuevo, de
manera que tan sólo conduce el transistor 136, y la desconexión de
software del transistor superior 114 es anulada por los pasos S516
y S518. Sin embargo el transistor superior 114 sólo conduce de nuevo
a partir de t34, precisamente al alcanzarse el umbral inferior de
corriente 1,6 A, con lo que la señal Imax se hace alta de nuevo, de
manera que la corriente i_{1} se conecta y aumenta de nuevo. En
t35 alcanza nuevamente el valor 3 A y el transistor 114 es
desconectado nuevamente por el hardware, la rutina S428 se inicia
nuevamente, y el proceso descrito se repite.
En t36 el transistor 114 es conectado nuevamente
por el hardware, y en t37 se hace efectiva la orden de desconexión,
porque ha transcurrido la duración BW del bloque de corriente.
En sí la corriente i_{1} ya tendría que haber
sido desconectada en el punto Z, en el que ha transcurrido el tiempo
BW, pero la orden de desconexión sólo puede hacerse efectiva en las
zonas que en la Figura 18 están sombreadas en gris, por tanto en
este caso sólo en el instante t37, por lo que la desconexión se
retrasa un poco.
En el instante t38 la corriente i_{1} pasa por
cero, y por eso se genera allí la interrupción Imin S436, que se
describe a continuación.
Es algo desventajoso en las Figuras 17 y 18 el
que por ejemplo entre los instantes t33 y t34 se producen pérdidas
elevadas, puesto que allí fluye i_{1} a través del diodo de
circulación libre 132', porque el transistor 132 ya no es conductor.
A continuación se describe también aún una variante que es
particularmente apropiada para motores lentos y con la cual estas
pérdidas pueden reducirse adicionalmente. La solución según las
Figuras 17 y 18 representa según el conocimiento actual lo óptimo
para motores de marcha rápida, porque en éstos los cambios de
corriente transcurren extraordinariamente rápido y por eso los
tiempos de cálculo en el \muC 40 son demasiado largos en
comparación con los tiempos en los que se realizan estos cambios de
corriente. Con procesadores más rápidos presumiblemente serían
posibles soluciones aun mejores, pero éstos son hoy por hoy todavía
demasiado caros para
motores.
motores.
La Figura 19 muestra el desarrollo de la rutina
de servicio 436 para la ejecución de una interrupción Imin.
En S530 se pregunta si la bandera Imin_INT_ON es
= 1. Esta bandera se dispone en la rutina COMMUT_CTRL Figura 25,
S824. Si una interrupción TIMEOUT (Figura 20) ha pasado adelante
directamente, esta bandera tiene el valor 0, y el programa pasa
entonces directamente al final, por tanto a S532 de esta rutina.
\newpage
En caso de que en S530 la respuesta sea Sí, en
S534 la bandera TIMEOUT INT_ON se pone a 0, para que ya no se
ejecute una subsiguiente interrupción TIMEOUT, y a continuación en
S536 se bloquean los cuatro transistores 114, 130, 132, 136, porque
el bobinado 102 está en esencia sin corriente y en él no hay
almacenada energía inductiva ninguna. (Ésta se transformó en energía
cinética del rotor 108).
A continuación en S538 se pone a 1 la bandera
BlockEnd_DONE, que se pregunta en la Figura 24 durante la rutina
COMMUT_NORMAL en S762 y sirve para preparar la siguiente
conmutación, y en S539 Imin_INT_ON se pone a 0, porque la rutina
está agotada.
La Figura 20 muestra el desarrollo de la rutina
de servicio S440 para la ejecución de una interrupción TIMEOUT.
En S540 se pregunta si la bandera TIMEOUT INT_ON
tiene el valor 1. Si una interrupción Imin (Figura 19) ha pasado
adelante, esta bandera tiene el valor 0, y la rutina pasa en este
caso directamente a su final S542.
En caso de que en S540 la respuesta diga Sí, la
rutina va al paso S544 y allí pone la bandera Imin_INT_ON a 0, para
que ya no se ejecute una subsiguiente interrupción Imin, compárese
S530 en la Figura 19.
En el subsiguiente paso S546 se bloquean los
cuatro transistores 114, 130, 132, 136, porque la corriente en el
bobinado 102 en el transcurso de TIMEOUT tiene un valor bajo y en
consecuencia en el bobinado 102 no hay almacenada energía inductiva
grande ninguna. De ese modo el bobinado 102 es conectado sin
corriente.
A continuación en S548 se pone a 1 la bandera
BlockEnd_DONE, que se pregunta en la Figura 24 durante la rutina
COMMUT_NORMAL en S762, y en S549 TIMEOUT_INT se pone a 0, porque la
interrupción está agotada.
La Figura 21 muestra la rutina INC*(PWM) S554
para el aumento del factor de trabajo pwm de la señal PWM en la
salida RC7 del \muC 40. En S556 el valor en el registro PWM se
aumenta en 1, lo que corresponde aproximadamente a un aumento del
factor de trabajo en un 1%.
En el paso S558 se comprueba si pwm debido al
aumento se ha hecho mayor que el 100%. En caso de Sí, el programa
pasa a S560, donde en este caso pwm se pone al 100%, lo que
significa que la corriente i_{1} o i_{2} ha sido totalmente
conectada.
En caso de que en S558 la respuesta diga No, la
rutina pasa a su final S562, asimismo en conexión en S560.
La Figura 22 muestra la rutina DEC*(PWM) S564
para la reducción del factor de trabajo pwm. En S540 la magnitud pwm
se aumenta en 1, lo que corresponde aproximadamente a un 0,5%. En
S568 se comprueba si con ello pwm se ha reducido por debajo del 10%.
En caso de Sí, la rutina pasa a S570, donde pwm se limita hacia
abajo al 10%. En caso de que en S568 la respuesta diga No, la
rutina pasa a su final S572, asimismo en conexión en S570.
Las rutinas según las Figuras 21 y 22 juegan
ante todo un papel en el marco del regulador adaptable, que se
describe a continuación en la Figura 31.
Las Figuras 23 a 25 muestran la rutina COMMUT
S396, que se llama constantemente en el programa principal (Figura
13) y controla las corrientes i_{1}, i_{2} en el bobinado 102.
El control de la conmutación es la función que se realiza más
frecuentemente. Se compone de dos partes:
- 1.
- La parte Startup para la puesta en marcha y la marcha rápida
- 2.
- La parte para el funcionamiento normal.
En la parte de arranque del programa el motor
está parado o intentando arrancar. Tras la conexión de la tensión de
alimentación, en la Figura 13 en el paso S394 se pone la bandera
STARTUP, para que el motor comience con la rutina STARTUP. La
bandera COMMUT_ON se pone asimismo a 0 en la inicialización, para
que pueda empezar un nuevo suministro de corriente.
En S700 se comprueba si el motor 100 se
encuentra en arranque (STARTUP = 1). En caso de Sí, se salta a S702
y se realiza una conmutación simplificada.
Con bajo número de revoluciones la corriente en
el bobinado 102 se conecta mediante la rutina COMMUT S396 (Figura
23) y se desconecta de nuevo en la rutina de interrupción Hall
respectivamente siguiente (Figura 16). En primer lugar se comprueba
en S702 si en este periodo Hall ya arrancó el bloque de corriente.
En caso de Sí, se salta hasta el final S722, puesto que sólo tras el
siguiente cambio Hall se realiza de nuevo un suministro de
corriente. En caso sin embargo de que en S702 COMMUT_ON haya sido =
0, ésta es la primera llamada de la rutina COMMUT S396, y arranca
el suministro de corriente.
\newpage
Para ello en S704 se espera 100 \mus, para
producir un vacío de corriente, para que no se hagan conductores
todos los MOSFETs simultáneamente. En S706 se comprueba si la
longitud de bloque BW es mayor que cero. En caso de No, el motor no
debe recibir corriente ninguna. Por eso la rutina salta entonces al
final S722.
En caso de que sea BW > 0, se inicia con
dependencia de la señal HALL el suministro correcto de corriente al
bobinado 102, por tanto o i_{1}, o i_{2}, compárese la Figura 1.
El rotor 108 comienza ahora a girar 180º eléctricos.
Si HALL es alta, en S710 las señales HSR_OUT y
LSL_OUT se ponen a 1, de manera que a través de los transistores HSR
130 y LSL 132 se suministra corriente al bobinado 102 y fluye una
corriente i_{2}.
En S712 se determina como previsión que la
siguiente conmutación debe efectuarse a través de los transistores
HSL 114 y LSR 136. Esto es importante para el cambio desde este modo
de conmutación al modo de conmutación con alto número de
revoluciones, compárese a continuación la descripción referente a la
Figura 27.
Si por el contrario en S708 la señal HALL fue
baja (LOW), en S714 se conectan los otros transistores HSL 114 y LSR
136 se conectan, de manera que fluye una corriente i_{1}, y en
S716 NEXT_COMMUT se pone como previsión al valor correcto para la
siguiente conmutación.
En S718 finalmente la bandera COMMUT_ON se pone
a 1, para que en la siguiente llamada de la rutina COMMUT S396 se
salte directamente de S702 a S722, puesto que el bobinado 102 ya
recibe corriente. Esto continúa hasta que el rotor 108 haya girado
unos 180º eléctricos.
Si se han alcanzado los 180º eléctricos, el
software lo reconoce por una interrupción Hall. La desconexión del
suministro de corriente y la puesta a 0 de COMMUT_ON se realizan en
la rutina de interrupción Hall (Figura 16, S462 a 478, S468), de
manera que el control de conmutación nuevamente a partir de S704
inicia un nuevo suministro de corriente con el sentido de corriente
correcto.
Si en S700 es STARTUP = 0, se realiza
COMMUT_NORMAL S720 para alto número de revoluciones, compárese la
Figura 24. La Figura 26 muestra un diagrama esquemático en el que
está representado el desarrollo de esta conmutación.
En S750 en la Figura 24 el tiempo instantáneo
t_TIMER1, que es medido constantemente por un contador anular, se
almacena en la variable t_CALC, y en S752 con ayuda de la variable
NEXT_COMMUT se decide en qué sentido debe fluir la corriente a
través del bobinado 102.
En caso de que deban conectarse los transistores
HSL y LSR, se salta a S754, y de la variable t_CALC se deduce la
Variable RefTime_HSL/LSR, que corresponde al instante del precedente
cambio Hall de Low a High. Esto está representado en la Figura 26.
La Figura 26A muestra la señal HALL con los cambios Hall 601, 603,
605, 607, etc., mientras de ellos en las variables RefTime_HSR/LSL
(en 601 y 605) y RefTime_HSL/LSR (en 603 y 607) se almacena
respectivamente el tiempo del cambio Hall instantáneo (S458 y S470
en la Figura 16).
La Figura 26 explica el principio básico de la
conmutación. Para la conexión y desconexión de un bloque de
corriente se aplica tras alcanzar el número de revoluciones de
régimen del motor a una posición de referencia del rotor asignada a
este bloque de corriente, la cual en todos los estados de
funcionamiento mantiene una distancia mínima a éste bloque de
corriente.
Por ejemplo para la conexión y desconexión del
bloque de corriente B4 (Figura 26C) se emplea una posición de
referencia \delta_{0}, aquí 180º eléctricos, y partiendo de esta
posición de referencia \delta_{0} se calcula una posición
angular \delta_{1} para la conexión del bloque de corriente B4,
aquí en 405º eléctricos, y una posición angular \delta_{2} para
la desconexión del bloque B4, aquí en 495º eléctricos.
La posición angular \delta_{0} es por lo
tanto el punto de referencia para este bloque de corriente, y por
eso en ella se mide en el TIMER1 un tiempo de referencia
RefTime_HSL/LSR, porque en el bloque de corriente B4 los
transistores HSL 114 y LSR 136 tienen que ser conductores.
El motor 100 no tiene ningún sensor con el que
el ángulo de giro \delta pudiera ser medido en cualquier parte
exactamente, sino que por revolución del rotor la posición de giro
sólo se puede registrar hasta cierto punto exactamente en cuatro
posiciones, porque allí cambia la señal HALL, precisamente a 0º
eléctricos, 180º eléctricos, 360º eléctricos, y 540º eléctricos.
Entre estas posiciones de giro debe interpolarse, lo cual es
posible, porque la velocidad angular del rotor 108 en el transcurso
de una revolución varía sólo poco.
Si se deseara por lo tanto conectar en la
posición de giro \delta_{1} y desconectar en la posición
\delta_{2}, se sabe que la distancia angular entre
\delta_{0}, y \delta_{1} es por ejemplo 405 - 180 = 225º
eléctricos, y que la distancia angular entre \delta_{0} y
\delta_{2} es por ejemplo 495 - 180 = 315º eléctricos.
\newpage
Puesto que se sabe que para un giro de 180º
eléctricos el rotor necesita el tiempo t_HALL, para un giro de 225º
eléctricos resulta el tiempo
t\_HALL \cdot
(225/180) = 1,25 \cdot
t\_HALL
Éste es en este ejemplo el tiempo
t_BLOCK_START
Asimismo para 315º eléctricos resulta el
tiempo
t\_HALL \cdot
(315/180) = 1,75 \cdot
t\_HALL
Éste es en este ejemplo el tiempo
t_BLOCK_END.
Al pasar por la posición de giro \delta_{0}
se mide por lo tanto un tiempo de referencia, precisamente
RefTime_HSL/LSR, por ejemplo 67,34 ms.
La Figura 33 muestra los valores indicados en un
ejemplo numérico para n = 3000 rpm. Con ello según la ecuación (6)
el tiempo t_HALL es = 5 ms. Éste es el tiempo que el rotor 108 a
3000 rpm necesita para 180º eléctricos.
Por el regulador RGL (Figura 30) se predetermina
en 613 - como ejemplo - una longitud de bloque BW de 2,5 ms, y en
consecuencia por la Figura 33 se sabe como pronóstico que tras un
tiempo de 6,25 ms se habrá alcanzado la posición angular
\delta_{1} (405º eléctricos), en la cual debe conectarse la
corriente i_{1}. Asimismo se sabe como pronóstico que tras un
tiempo de 8,75 ms se habrá alcanzado la posición angular
\delta_{2} (495º eléctricos), en la cual debe desconectarse la
corriente i_{1}, o en la que se inicia el proceso de conmutación y
se desconecta la alimentación de energía de la red de corriente
continua.
Además la Figura 33 muestra como ejemplo que en
el TIMER1 en el instante de referencia \delta_{0} se mide un
tiempo de referencia de 65,34 ms. Este es el tiempo
RefTime_HSL/LSR.
Para el control de la conexión en \delta_{1}
y de la desconexión en \delta_{2} se procede de manera que según
S754 de la Figura 24 se forma continuamente la diferencia temporal
t_CALC entre el instante medido en el momento y los 65,34 ms. Con
respecto a t_CALC compárese la ecuación (5).
Si por ejemplo en el instante t40 se mide por el
TIMER1 un tiempo de 66,34 ms, resulta como diferencia
t\_CALC =
66,34 - 65,34 = 1\
ms
Puesto que la corriente i_{1} sólo debe ser
conectada tras un tiempo de 6,25 ms, 1 ms es demasiado poco, y la
corriente i_{1} no se conecta todavía.
Si en el instante t41 el tiempo actual en el
TIMER1 es 71,60 ms, resulta como diferencia
t\_CALC =
71,60 - 65,34 = 6,26\
ms
En este caso se conecta la corriente i_{1},
puesto que t_CALC es mayor de 6,25 ms.
A partir de la posición de giro \delta_{0}
se controla por lo tanto continuamente en la Figura 25, S800, si
t_CALC se ha hecho mayor que t_BLOCK_START, y si esto es así, en
este caso en S810 de la Figura 25 se conectan los transistores HSL
114 y LSR 136.
La desconexión se efectúa según el mismo
principio, sólo que t_CALC se compara con la magnitud
t_BLOCK_
END, compárese S820 en la Figura 25. En la Figura 33 esta magnitud alcanza 8,75 ms. Corresponde al ángulo de desconexión \delta_{2}, y si se ha alcanzado, se recorre el proceso de conmutación según la Figura 25, S826 a S844.
END, compárese S820 en la Figura 25. En la Figura 33 esta magnitud alcanza 8,75 ms. Corresponde al ángulo de desconexión \delta_{2}, y si se ha alcanzado, se recorre el proceso de conmutación según la Figura 25, S826 a S844.
La conmutación se basa por lo tanto en que en
los bucles cortos 382 de la Figura 13 en intervalos muy cortos de
por ejemplo 0,1 ms el tiempo t_CALC se calcula de nuevo y se compara
con los valores pronóstico t_BLOCK_START y t_BLOCK_END. Esto se
realiza en la Figura 33A entre los tiempos 65,34 ms y 74,1 ms y está
indicado por puntos 615. En ello para cada bloque de corriente se
parte de uno de estos ángulos de referencia asignados, en el que se
mide un tiempo de referencia para este bloque de corriente, que
luego se emplea en la comparación. Durante el giro del rotor 108 se
calculan por lo tanto continuamente nuevos tiempos de referencia y
se realizan nuevas comparaciones, para controlar correctamente las
corrientes i_{1} e i_{2} a través del bobinado 102, es decir,
los ángulos de referencia "se desplazan" continuamente junto
con el giro del rotor. El mismo principio se puede aplicar
naturalmente también en motores con más de un bobinado.
Si la corriente debe conectarse en un tiempo ZV
= 0,4 ms antes, lo que se designa también como "encendido
prematuro", en la Figura 33 en lugar del tiempo 6,25 ms para la
conexión se emplea un tiempo de
6,25 - 0,4 =
5,85\
ms,
y para la desconexión un tiempo
de
8,75 - 0,4 =
8,35\
ms.
El ángulo \delta_{1} se desplaza entonces
con este número de revoluciones 14,4º eléctricos hacia la izquierda
a 390,6º eléctricos, y el ángulo \delta_{2} se desplaza asimismo
con este número de revoluciones en 14,4º eléctricos hacia la
izquierda a 480,6º eléctricos, es decir, la corriente i_{1} se
conecta y desconecta antes en el tiempo, y el ángulo en el que de
conecta y desconecta antes crece con el número de revoluciones en
aumento y es aquí 14,4º eléctricos a 3000 rpm, 28,8º eléctricos a
6000 rpm, etc. La mayor parte de las veces ZV será una función del
número de revoluciones. Esta conexión anticipada de las corrientes
en el bobinado 102 puede mejorar el rendimiento del motor 100 con
alto número de revoluciones. En el presente invento dicha conexión
anticipada es muy fácil de realizar.
La Figura 26B muestra el valor de la variable
NEXT_COMMUT, por tanto o HSL/LSR o HSR/LSL. La Figura 26C muestra
simbólicamente bloques de suministro de corriente B1 a B5 a través
del tiempo TIMER1. La Figura 26D muestra los tiempos t_BLOCK_START y
t_BLOCK_END para el bloque de suministro de corriente B4, que se
inicia en 609 y termina en 611. El bloque B4 tiene como tiempo de
referencia para su conexión y su desconexión el flanco 603 de la
señal HALL, por tanto el tiempo RefTime_HSL/LSR(603) medido
en 603, lo que en la Figura 26C está simbolizado por una flecha 611.
En 621, 623, 625 y 627 - mediante nuevo cálculo en el programa - la
duración
.. (5)t\_CALC
= t\_TIMER1 -
RefTime\_HSL/LSR
se adapta al tiempo actual en el
TIMER1. Por ejemplo en 621 se calcula un tiempo t_CALC(621')
para el instante 621', mediante el cual se comprueba si ya se ha
alcanzado el inicio del bloque
B4.
En los instantes 621', 623', 625' y 627' la
variable NEXT_COMMUT (Figura 26B) tiene el valor HSL/LSR, de manera
que se salta desde S752 (Figura 24) a S754 y allí se calcula la
diferencia momentánea entre el valor t_TIMER1 almacenado en S750 y
el valor RefTime_HSL/LSR(603) y se asigna a la variable
t_CALC. En una llamada de la rutina COMMUT_NORMAL en el instante
621' el valor t_CALC tiene por lo tanto el valor indicado en 621
(Figura 26D). En S756 se efectúa el cálculo análogo, en caso de que
la variable NEXT_COMMUT tenga el valor HSR/LSL.
Acto seguido se salta a la propia rutina de
conmutación COMMUT_CTRL S760, que está representada en la Figura 25.
La parte de la Figura 24 que comienza a partir de S762 sirve para el
cierre de la conmutación, por tanto para desconectar la corriente,
sólo se recorre una vez tras el cierre del suministro de corriente,
y se describe más tarde.
En la rutina COMMUT_CTRL S760 se efectúa la
conexión y desconexión de los transistores 114, 130, 132 y 136, lo
que se describe con ayuda de la Figura 26.
Si la duración calculada en t_CALC (como en el
instante 621') es menor que t_BLOCK_START, no debe efectuarse ningún
suministro de corriente del bobinado 102.
En 623' t_CALC es por primera vez mayor que
t_BLOCK_START, y por eso se conecta la corriente al bobinado
102.
En el instante 625' el valor t_CALC todavía no
ha alcanzado el valor t_BLOCK_END, de manera que se continúa el
suministro de corriente del bobinado 102.
En 627' t_CALC ha sobrepasado finalmente la
duración t_BLOCK_END, y por eso ahora se desconecta la alimentación
de energía al bobinado 102.
Los pasos acabados de mencionar se realizan en
la rutina COMMUT_CTRL S760. Si t_CALC en S800 es menor que
t_BLOCK_START (instante 621'), no sucede nada, y se salta al final
S848.
Si t_CALC sin embargo en S800 es mayor o igual
que t_BLOCK_START (instantes 623', 625', 627'), se comprueba en S802
si el suministro de corriente del bobinado 102 ya está activado
(COMMUT_ON = 1). En caso de No (instante 623'), a partir de S804
tiene lugar el proceso de conexión.
Si en S804 la longitud de bloque BW es = 0, no
se alimenta corriente ninguna y se salta a S812. Si por el
contrario BW es > 0, según el valor de la variable NEXT_COMMUT en
S808 se controlan conductores los transistores HSR 130 y LSL 132 o
en S810 los transistores HSL 114 y LSR 136.
\newpage
En S812 COMMUT_ON se pone a 1, para indicar que
ahora el suministro de corriente del bobinado 102 está conectado.
Después de esto se salta al final S848.
Si en S802 el valor COMMUT_ON es = 1 (instantes
625', 627'), es decir, fluye una corriente hacia el bobinado 102,
en S820 se comprueba si la variable t_CALC ya ha alcanzado el valor
de la duración t_BLOCK_END, que se calcula en la Figura 30,
S673.
En caso de No (instante 625') se comprueba aún
en S822 si t_CALC es mayor o igual que (2 \cdot t_HALL - A*). En
esto (2 \cdot t_HALL) es en este motor el tiempo que necesita el
rotor 108 para girar 360º eléctricos, y A* es una constante, que
por ejemplo es de 400 \mus. Mediante S822 la corriente hacia el
bobinado incluso en caso de perturbaciones en el desarrollo del
programa se interrumpe unos 400 \mus antes del siguiente cambio
Hall.
Estos 400 \mus se necesitan para poder
terminar el proceso de desconexión completo, antes de que llegue el
cambio Hall. Esto sirve para evitar un conexionado simultáneo de
todos los transistores de potencia. Esta "desconexión de
emergencia" es necesaria con números de revoluciones altos,
puesto que con éstos la longitud de bloque BW se hace casi tan
grande como t_HALL (mayor potencia necesaria con número de
revoluciones mayor). Con números de revoluciones bajos el final de
un bloque de corriente está alcanzado ya tiempo antes de que se
alcance el siguiente cambio Hall, es decir, entonces en S822 la
respuesta dice siempre No, y en S824 se activa la interrupción Imax
(Figura 17), para dado el caso poder reaccionar a una corriente del
motor demasiado alta.
Si por el contrario en S820 el valor de t_CALC
es mayor o igual que t_BLOCK_END, o en S822 la respuesta dice Sí,
en S826 es llamado el proceso de desconexión.
En S826 con ayuda de la variable Off_detected se
comprueba si la desconexión del suministro de corriente, por tanto
el proceso de conmutación para la desconexión, ya fue introducido.
En caso de Sí, se salta al final S848. En caso de que ésta sin
embargo sea la primera llamada, se salta desde S826 a S828.
La variable Off_detected se pone a 1 en S828. En
S830 se desactiva la interrupción Imax y en S832 se activa la
interrupción Imin. (Las interrupciones se activan con gran ventaja
sólo en las zonas en las que pueden producirse según la lógica del
programa).
En S834 se desconectan ambos transistores
superiores HSL 114 y HSR 130. En S836 se espera 30 \mus, y en S838
se activa la interrupción TIMEOUT (Figura 20) y se calcula un
tiempo de TIMEOUT t_TIMEOUT a partir del valor instantáneo del
TIMER1 y de una constante t_T0.
A continuación en S840 se controlan conductores
ambos transistores inferiores LSL 132 y LSR 136, para que la
corriente en el bobinado 102 disminuya en cortocircuito y con ello
pueda generar energía cinética en el rotor 108. En S842 la bandera
COMMUT_ON se pone a 0, y en S844 se pone a 0 la variable
BlockEnd_DONE, para indicar que la conmutación todavía no ha
concluido del todo. Aquella de las dos rutinas de interrupción,
interrupción Imin e interrupción TIMEOUT, que sea llamada primero,
desconecta a continuación ambos transistores inferiores LSL 132 y
LSR 136, compárense S536 de la Figura 19 y S546 de la Figura 20, y
pone BlockEnd_DONE a 1, compárense S538 de la Figura 19 y S548 de
la Figura 20. Con ello la desconexión está completamente finalizada,
lo que se indica por BlockEnd_DONE = 1.
En la siguiente llamada de la rutina
COMMUT_NORMAL S720 en S762, Figura 24, se salta a S764. En S764
COMMUT_ON y Off_detected se ponen a 0, puesto que el suministro de
corriente está desconectado, y en S766 a S770 se cambia el valor
pronóstico de NEXT_COMMUT, es decir, el valor HSL/LSR se cambia a
HSR/LSL, y a la inversa, compárese la Figura 26B. De este modo
incluso en caso de un encendido prematuro, en el cual la corriente
se conecta antes de la interrupción Hall propiamente asignada, se
determina correctamente el sentido del suministro de corriente en
el bobinado 102, es decir, mediante el valor NEXT_COMMUT se
determina qué par de transistores debe ser controlado a
continuación en cuanto a la conexión y desconexión. Después de esto
en S772 la bandera BlockEnd_DONE se pone a 0, para que en el
siguiente paso en S672 la respuesta diga No y la rutina vaya
directamente a S774.
La Figura 27 muestra la rutina CALC_t_HALL S406
para el cálculo del tiempo Hall momentáneo t_HALL, por tanto del
tiempo que tarda el rotor 108 en girar 180º eléctricos.
La Figura 28 muestra un cuadro sinóptico para
aclaración. La Figura 28D muestra la señal HALL. Ésta tiene flancos
en los puntos 630, 631, 632, 633, 634, 635, es decir, allí se
realiza en cada caso un cambio Hall, que se emplea para el cálculo
de la posición del rotor y para el cálculo de número de revoluciones
y aceleración. Puesto que en un rotor 108 de cuatro polos se realiza
un cambio Hall cuatro veces por revolución, la posición exacta del
rotor puede medirse cuatro veces por revolución.
La Figura 28B muestra el valor de la variable
HALL_CNT. Esto es un contador, que según S454, Figura 16, se
incrementa en módulo 4. Esto significa que esta variable toma
sucesivamente los valores 0, 1, 2, 3, 0, 1, 2, 3, 0, ...
\newpage
La Figura 28A muestra a manera de ejemplo la
situación del rotor 108, que como en la Figura 1 está representado
como rotor de cuatro polos. El flanco 630 de la señal HALL
corresponde a la posición de rotor 0º eléctricos y al estado de
contador HALL_CNT = 0, el flanco 631 a la posición de rotor 180º
eléctricos y al estado de contador HALL_CNT = 1, el flanco 632 a la
posición de rotor 360º eléctricos y al estado de contador HALL_CNT =
2, etc.
Se emplean dos tipos de medición. La Figura 28E
muestra un tipo que se emplea con bajos números de revoluciones n,
por ejemplo por debajo de 2000 rpm, donde t_HALL toma valores
grandes, compárense a continuación las ecuaciones (6) y (7). La
Figura 28F muestra el otro tipo, que se emplea con números de
revoluciones más altos, por ejemplo por encima de 2000 rpm, con los
que los tiempos Hall t_HALL son menores y mediante medición del
tiempo para una revolución completa (720º eléctricos) se evitan
inexactitudes a consecuencia de defectos de magnetización del rotor
108.
La rutina CALC_t_HALL S406 es llamada por el
programa principal (Figura 13) en cada segunda interrupción Hall,
precisamente entonces, cuando la variable HALL_CNT (Figura 28) es
número par, por tanto tiene el valor o 0 o 2, compárese el paso
S402 en la Figura 13.
Primero en la rutina de interrupción Hall S428
(Figura 16) se almacenó el tiempo instantáneo del cambio Hall, y
precisamente en RefTime_HSR/LSL en un flanco de Alto a Bajo (S458 en
la Figura 16; Figura 28C), y en RefTime_HSL/LSR en un flanco de
Bajo a Alto (S470 en la Figura 16; Figura 28C). En las posiciones de
rotor 0º eléctricos, 360º eléctricos, 720º eléctricos, etc. se
almacena por lo tanto el tiempo para la respectiva posición del
rotor como tiempo de referencia para HSL/LSR, y en las posiciones de
rotor 180º eléctricos, 540º eléctricos, 900º eléctricos se almacena
el tiempo para la respectiva posición del rotor como tiempo de
referencia para HSR/LSL, como se indica explícitamente en la Figura
28C.
En S851 o S852 (Figura 27) según el valor de la
señal HALL se calcula la duración entre el cambio Hall actual y el
precedente y se almacena en la variable TEMP. En la Figura 28E sería
ésta por ejemplo tras el cambio Hall 632 la duración entre los
flancos 631 y 632, por tanto [RefTime_HSL/LSR (632) -
RefTime_HSR/LSL (631)]. En S854 el tiempo instantáneo t_HALL se
almacena en t_HALL_OLD, para poder realizar un cálculo de la
aceleración, compárese la Figura 29.
En S856 se comprueba si la duración TEMP es
menor que la duración t_2000. (El tiempo t_2000 es igual al tiempo
t_HALL a 2000 rpm). En caso de No, el número de revoluciones n del
motor 100 es menor de 2000 rpm, y se recorre la rama izquierda
S858, S860, en la cual se mide el tiempo t_HALL para un cuarto de
revolución, por tanto para 180º eléctricos. Aquí en S858 el valor
TEMP de S851 o S852 es asignado al tiempo Hall t_HALL, y en S860
mediante la puesta de FLAG_1/4 a 1 se indica que en el momento sólo
se mide el tiempo para un cuarto de revolución.
Si el número de revoluciones del motor en S856
ha alcanzado ya el número de revoluciones n = 2000 rpm, en S862 se
comprueba si la variable HALL_CNT es = 0. Éste es el caso tras cada
revolución mecánica completa del rotor 108 (compárense las Figuras
28A y 28B). En caso de No, se salta inmediatamente al final S878,
por ejemplo en el flanco 632 en la Figura 28D. En caso de que sin
embargo HALL_CNT sea = 0, en S864 se comprueba si FLAG_1/4 es =
1.
En caso de Sí, éste es el primero de todos los
pasos del cálculo de t_HALL para una revolución completa del rotor
y por lo tanto en este paso el valor actual RefTime_HSL/LSR se
almacena en RefOld, para que a partir del siguiente paso sea
posible el cálculo con un valor válido para RefOld. En el primero de
todos los pasos no se realiza ningún cálculo de t_HALL a través de
una revolución mecánica completa, sino que se emplea de nuevo el
valor actual. En S866 FLAG_1/4 se pone a cero, es decir, a partir
del siguiente paso la medición puede efectuarse a través de una
revolución completa del rotor 108.
En la siguiente llamada de CALC_t_HALL S406, en
la cual HALL_CNT es = 0, se salta desde S864 a S868. Allí se
calcula la duración entre el valor instantáneo RefTime_HSL/LSR (por
ejemplo desde el flanco 634 de la Figura 28D) y el valor almacenado
en RefOld una revolución antes (por ejemplo en el flanco 630 de la
Figura 28D). Esta duración corresponde a cuatro veces el tiempo
Hall t_HALL, y por eso en S870 el valor calculado se divide por 4,
de manera que el valor t_HALL corresponde exactamente a un cuarto de
la duración para una revolución completa (desde 630 hasta 634 en la
Figura 28E, por tanto para 720º eléctricos). Este tipo de medición
de t_HALL es particularmente exacto y lleva por eso a un
funcionamiento especialmente suave del motor.
En S874 el valor instantáneo RefTime_HSL/LSR
para el siguiente cálculo se asegura en la variable RefOld. A
continuación la rutina se abandona en S878.
En lugar de RefTime_HSL/LSR podría asimismo
emplearse el tiempo RefTime_HSR/LSL, como es evidente para el
experto. Esto depende de en qué posición del rotor el contador
HALL_CNT tenga el estado de conteo 0.
La rutina CALC_t_HALL S406 en este ejemplo de
realización, debido a la bifurcación en S402 en el programa
principal (Figura 13), sólo es llamada cada segunda Interrupción
Hall. Mediante la pregunta en S402 de la Figura 13 es asegurado que
en su llamada están a disposición de ella los tiempos de referencia
correctos para el cálculo del número de revoluciones a través de
una revolución completa.
Con un procesador rápido la misma rutina
CALC_t_HALL S406 podría ser llamada incluso más frecuentemente.
La Figura 29 muestra la rutina CALC_ACCEL S408,
que sirve para el cálculo de la aceleración del rotor 108. Según la
Figura 13 esta rutina se realiza en conexión con la rutina
CALC_t_HALL, en la cual en el paso S854 se prepara la realización
de la rutina S408.
En el paso S640 se calcula la variable ACCEL
como diferencia de t_HALL_OLD y t_HALL.
En S642 se comprueba si ACCEL es menor que 0, lo
que significa que el número de revoluciones del motor disminuye,
por ejemplo debido a un proceso de frenado. En ese caso en S644
ACCEL se pone a 0.
Si en S642 ACCEL es \geq 0, la rutina pasa a
S646, donde el valor de ACCEL se duplica. ACCEL mayor que 0
significa que el rotor 108 se acelera, por ejemplo en la marcha
rápida del motor. ACCEL por eso se duplica como pronóstico, porque
al ponerse en marcha un motor el número de revoluciones crece según
una función de e y en consecuencia el valor de ACCEL ya tras la
finalización de los cálculos sería demasiado bajo, si no se
realizara la duplicación.
En conexión en S644 y S646 la rutina pasa a
S648, donde al valor de ACCEL (de S644 o S646) se suma el valor A*,
el cual por ejemplo es de 400 \mus, porque para el proceso de
conmutación se requiere un tiempo de unos 400 \mus. Este valor de
ACCEL se emplea a continuación en la rutina RGL, para modificar el
valor de BW. La rutina S408 se termina luego en el paso S652.
La Figura 30 muestra la rutina RGL S410 para la
regulación del número de revoluciones. Ésta se basa en una
comparación del tiempo Hall t_HALL con el tiempo nominal t_s, éste
último corresponde al número de revoluciones deseado y se
predetermina en la entrada RA0 del \muC 40. El regulador según el
ejemplo de realización trabaja por tanto no directamente con
números de revoluciones, sino con tiempos que el rotor 108 necesita
para un determinado ángulo de giro. El tiempo Hall t_HALL
corresponde al tiempo que el rotor necesita para un ángulo de giro
de 180º eléctricos. Si el rotor 108 es de cuatro polos y gira a 3000
rpm, es válido
.. (6)t\_HALL
= 60/(3000 x 4) = 0,005\ s = 5\
ms
Análogamente este tiempo para 1000 rpm es
.. (7)t\_HALL
= 60/(1000 x 4) = 0,015\ s = 15\
ms
Con número de revoluciones bajo el valor real
t_HALL se hace por tanto muy grande, por ejemplo a 100 rpm 150 ms =
0,15 s y es entonces considerablemente mayor que el valor nominal
t_s, que por ejemplo para 3000 rpm es 5 ms. Por esta razón se forma
la diferencia de regulación RGL_DIFF según el paso S654 como
diferencia (t_HALL - t_s), para que se obtenga un resultado positivo
de la formación de la diferencia.
En S656 se comprueba si la diferencia de
regulación es mayor que un valor máximo positivo admisible
RGL_DIFF_
MAX. Si éste es el caso, en S658 la diferencia de regulación se pone a este valor máximo positivo. Esto es importante sobre todo en el arranque, donde de lo contrario la diferencia de regulación sería muy grande.
MAX. Si éste es el caso, en S658 la diferencia de regulación se pone a este valor máximo positivo. Esto es importante sobre todo en el arranque, donde de lo contrario la diferencia de regulación sería muy grande.
Si en S656 la respuesta es No, el programa va al
paso S660 y allí comprueba si la diferencia de regulación es menor
que un valor negativo máximo admisible -RGL_DIFF_MAX. En caso de Sí,
en S662 la diferencia de regulación se pone a este valor máximo
negativo. (Esto se refiere al caso de que el motor sea más rápido
que el número de revoluciones deseado).
A los pasos S658, S660 o S662 sigue S664, donde
se realizan los pasos de cálculo de un regulador PI (regulador
proporcional integral). Para ello la diferencia de regulación se
multiplica por un factor proporcional RGL_P, que por ejemplo puede
ser 2, y se obtiene la parte proporcional RGL_PROP.
Asimismo la diferencia de regulación se
multiplica por un factor integral RGL_I, que por ejemplo puede ser
0,0625, y se suma luego a la primitiva parte integral RGL_INT, de
manera que se obtiene una nueva parte integral.
Finalmente se calcula la longitud BW de un
bloque de corriente 444 o 446 (Figura 15) como suma de la nueva
parte proporcional y la nueva parte integral.
El factor proporcional RGL_P y el factor
integral RGL_I se determinan empíricamente, dependiendo del tamaño
del motor y del momento de inercia de la carga a impulsar.
Puesto que BW no puede ser más larga que el
tiempo t_HALL que el rotor necesita para el recorrido de 180º
eléctricos, en el siguiente paso S666 se comprueba si BW es
demasiado grande, y dado el caso en el paso S668 se limita la
longitud de bloque, por ejemplo al valor instantáneo t_HALL.
Si en S666 la respuesta es No, la rutina S410 va
al paso S670, donde se comprueba si BW es menor que 0, lo que
significa que el motor gira demasiado rápido. En este caso en S671
el valor BW se pone a 0, es decir, no fluye corriente ninguna hacia
el motor. Simultáneamente la parte integral RGL_INT se repone a 0 (o
a un valor bajo). Se ha demostrado que mediante este retroceso de
la parte integral a un valor bajo se mejoran considerablemente las
propiedades del regulador, en particular en cuanto a sobremodulación
(superación de la velocidad establecida).
Si en S670 la respuesta es No, en S672 la
longitud de bloque se reduce a (BW - ACCEL), tomándose el valor
ACCEL de S648 de la Figura 29. Este valor contiene una componente
dependiente de la aceleración y el valor A* (por ejemplo 400
\mus), que fue explicado en la Figura 29. La razón para S672 es
que en una aceleración, por ejemplo en marcha rápida, el siguiente
cambio Hall se produce más pronto que con número de revoluciones
constante, por lo que durante la aceleración la longitud de bloque
BW debe reducirse correspondientemente. La duplicación del valor
ACCEL en S646 (Figura 29) sirve asimismo para en marcha rápida
proporcionar tiempo suficiente para el proceso de conmutación,
puesto que en la marcha rápida de un motor el número de revoluciones
crece aproximadamente según una función de e, y esto se tiene en
cuenta en S646.
Con la longitud de bloque BW según S672 se
calculan ahora en S673 los tiempos t_BLOCK_START y
t_BLOCK_
END, que están acotados en la Figura 15. Allí t_BLOCK_START es el intervalo en el tiempo entre t_{1} y t_{3}, y su magnitud se obtiene de la ecuación (3). El tiempo t_BLOCK_END se obtiene según la Figura 15d sumándose a t_BLOCK_START el valor para BW. Los tiempos t_BLOCK_START y t_BLOCK_END son necesarios a continuación para los cálculos en la Figura 25 (rutina COMMUT_CTRL), como se explicó con todo detalle en la Figura 26.
END, que están acotados en la Figura 15. Allí t_BLOCK_START es el intervalo en el tiempo entre t_{1} y t_{3}, y su magnitud se obtiene de la ecuación (3). El tiempo t_BLOCK_END se obtiene según la Figura 15d sumándose a t_BLOCK_START el valor para BW. Los tiempos t_BLOCK_START y t_BLOCK_END son necesarios a continuación para los cálculos en la Figura 25 (rutina COMMUT_CTRL), como se explicó con todo detalle en la Figura 26.
En caso de que se desee un "encendido
prematuro", como se explicó con ayuda de las ecuaciones (3a) y
(4a), en S673 se emplea la fórmula
..(8)t\_BLOCK\_START := T\_HALL +
(t\_HALL - BW)/2 -
VZ
VZ en este caso es una constante de
por ejemplo 400 \mus, y mediante ella según la Figura 15d se
desplaza el inicio del bloque 446 tras t_{3'}, es decir, la
corriente se conecta y desconecta antes, pudiendo entonces estar
situado t_{3'} antes de t_{2}. Esto se posibilita en el invento
porque como punto de referencia para el cálculo de t_BLOCK_START
para los transistores HSL 114 y LSR 136 se emplea el flanco
ascendente 370 de la señal HALL, por tanto el flanco anteanterior,
compárense las flechas 445 y 447 de la Figura
15.
Tras S673 la rutina S410 termina en S674.
Mediante la rutina de la Figura 30 se obtiene
por lo tanto una longitud de bloque BW que es tanto más pequeña
cuanto más se aproxime al valor deseado el número de revoluciones
real.
La regulación de la longitud de bloque BW está
en interacción con el regulador adaptable descrito a continuación
con la Figura 31 y la Figura 32, el cual mediante el factor de
trabajo pwm optimiza adicionalmente el valor BW. BW no debería
sobrepasar el 95% de t_HALL, para que haya tiempo disponible para el
proceso de conmutación, y esto se consigue porque los impulsos PWM,
de los cuales está compuesto un bloque de corriente 444 o 446
(Figura 15), se modifican adecuadamente, es decir, la corriente
media en un bloque es aumentada o reducida por el regulador
adaptable. Si BW es demasiado grande, automáticamente la corriente
media se eleva mediante aumento del factor de trabajo de estos
impulsos hasta el punto en que la longitud de bloque BW está
"contraída" a un valor que permite un desarrollo óptimo del
proceso de conmutación.
La Figura 31 muestra una rutina S412 MOD_pwm
para la modificación del factor de trabajo pwm dependiendo de las
condiciones de funcionamiento del motor.
En el paso S900 se comprueba si la longitud de
bloque BW generada por el regulador (Figura 30) en S672 es \leq
50% del tiempo Hall instantáneo t_HALL. Este valor (dependiente del
número de revoluciones) de 0,5 \cdot t_HALL representa un valor
límite inferior, que no debería ser traspasado hacia abajo
esencialmente, para mantener bajos los ruidos del motor. Los
impulsos de corriente de accionamiento cortos producen precisamente
un sonido elevado del cuerpo del motor, y también reducen el
rendimiento.
En caso de que el valor límite inferior haya
sido traspasado hacia abajo, en S902 se comprueba si el factor de
trabajo pwm está en como mínimo el 10%. (Este valor no debería ser
traspasado esencialmente hacia abajo).
En caso de que pwm sea menor o igual al 10%, el
programa va al paso S904, donde el factor de trabajo pwm_OUT en la
salida RC2 del \muC 40 se ajusta al valor instantáneo pwm, y luego
a S906, precisamente el final de la rutina MOD_pwm S412. En este
caso no es posible reducir aún más pwm.
En caso de que pwm sea mayor del 10%, el
programa va al paso S908. Allí se comprueba si un contador PWM_CNT
tiene el valor 0. Este contador cuenta lo frecuentemente que el
valor límite inferior, por tanto 0,5 \cdot t_
HALL, se alcanza o se traspasa hacia abajo, y en cada quinto valor de conteo hace que el factor de trabajo pwm se reduzca.
HALL, se alcanza o se traspasa hacia abajo, y en cada quinto valor de conteo hace que el factor de trabajo pwm se reduzca.
Para ello el \muC tiene un registro interno de
8 bits, es decir, con valores entre 1 y 256, y estos valores
determinan el factor de trabajo pwm de la señal PWM emitida por el
\muC 40 en su salida RC2, que en este \muC tiene una frecuencia
constante de 20 kHz. Mediante la reducción del valor en este
registro interno se reduce pwm, y mediante el aumento del valor en
este registro se eleva.
Si en S908 el contador PWM_CNT tiene el valor 0,
el programa va al paso S910, donde este contador se ajusta al valor
5. A continuación en S912 el factor de trabajo pwm se reduce,
compárese la Figura 22, con lo que decrece el valor medio de la
corriente i_{1}, i_{2} del motor. A continuación el programa va
a S904.
Si en S908 el contador PWM_CNT es distinto de 0,
el programa va al paso S914, donde PWM_CNT se cuenta en 1 hacia
abajo, es decir, en este caso pwm no varía.
Si en S900 la respuesta es No, el programa va al
paso S916. Allí se comprueba si la longitud de bloque BW calculada
por el regulador RGL es demasiado grande, precisamente mayor o igual
que el 95% de t_HALL. Esto es no deseable, porque el procedimiento
de conmutación requiere aproximadamente 400 \mus, que con una BW
demasiado grande ya no estarían disponibles.
En caso de que BW no sea demasiado grande, el
programa va al paso S904 ya explicado, y pwm_OUT permanece sin
variación.
En caso de que BW sea demasiado grande, el
programa va al paso S918. Allí se comprueba si pwm ya ha alcanzado
el 100%, y en este caso el programa va directamente a S904, puesto
que un aumento por encima del 100% no es posible, es decir, durante
la duración de BW fluye una corriente continua.
Si en S918 el factor de trabajo es menor que
100%, sigue el paso S920, donde se comprueba si el contador PWM_CNT
tiene el valor 0. En caso de Sí, en S922 el contador PWM_CNT se pone
a 5. A continuación en S924 el valor pwm se incrementa, compárese la
Figura 21, de manera que crece correspondientemente el valor medio
de la corriente i_{1} o i_{2} del motor.
En caso de que en S920 la respuesta sea No, el
programa va al paso S926, donde PWM_CNT se cuenta en el valor 1
hacia abajo, y luego la rutina va al paso S904.
La Figura 32 explica los procesos del diagrama
de flujo de la Figura 31. En la Figura 32 la abscisa muestra la
longitud de bloque relativa b. Ésta está definida como
... (9)b =
BW/t\_HALL
y corresponde por tanto a la
relación instantánea de la longitud de bloque BW con respecto al
tiempo Hall t_HALL, en porcentaje. La ordenada muestra el factor de
trabajo pwm instantáneo, asimismo en porcentaje. Como recuerdo:
t_HALL es el tiempo que con el número de revoluciones instantáneo el
rotor 108 necesita para un giro de 180º eléctricos, compárense las
ecuaciones (6) y
(7).
Supóngase que el motor 100 trabaja en un punto
de trabajo C, precisamente con una longitud de bloque BW que alcanza
el 80% de t_HALL, por tanto con b = 80%, y con un factor de trabajo
pwm del 35%.
Con la carga del motor, b aumenta por la acción
del regulador RGL a lo largo de una línea característica 930,
permaneciendo pwm = 35% sin variación. En 932 se sobrepasa el valor
límite superior de b = 95%, y en 934 mediante S924 (Figura 31) se
eleva el factor de trabajo pwm, de manera que fluye una corriente
media más alta, se suministra más energía al motor 100, y su número
de revoluciones aumenta.
Por eso en 936 mediante el regulador RGL del
número de revoluciones la longitud de bloque relativa b se reduce y
vuelve de nuevo al campo admisible, pero ahora con un pwm aumentado.
(En la Figura 32 el aumento de pwm está representado exagerado; éste
tiene lugar sólo en pequeños pasos).
El contador PWM_CNT impide que cada pequeño
exceso del valor límite superior 932 tenga por consecuencia un
aumento de pwm. Empíricamente se determinó que una elevación en cada
quinta vez produce un funcionamiento muy estable del motor, pero
este factor puede depender por ejemplo del tamaño del motor, del
tipo de carga, etc. Si este factor es demasiado pequeño, el
regulador tiende a oscilar. Valores entre 3 y 7 se muestran como
óptimos, según los conocimientos actuales.
La Figura 32 muestra como segundo ejemplo un
punto de trabajo D con una longitud de bloque relativa de b = 55%, y
un pwm del 80%.
Con la descarga del motor la línea
característica sigue una recta 940, que queda por debajo del valor
límite inferior 942 (b = 50%) y en 944 lleva a una longitud de
bloque relativa b de aproximadamente el 47%. Esto lleva a un aumento
de los ruidos del motor y es desfavorable para el rendimiento del
motor.
Por eso mediante S912 el factor de trabajo pwm
se reduce a lo largo de una recta perpendicular (Figura 32), por lo
que decrece el valor medio de la corriente que se suministra al
motor, de manera que el número de revoluciones baja.
Por esta razón el regulador RGL del número de
revoluciones (Figura 30) calcula una longitud de bloque BW mayor, de
manera que la longitud de bloque relativa b vuelve de nuevo a lo
largo de una recta 948 a un campo por encima del valor límite
inferior 942.
Con fuertes variaciones de carga los procesos
descritos pueden repetirse varias veces. Por principio el regulador
del número de revoluciones puede ajustar la longitud de bloque
relativa b y el factor de trabajo pwm en el campo conjunto que en la
Figura 32 está bordeado por una línea de trazos 950, por tanto en
este ejemplo entre un pwm del 10 y el 100% y una longitud de bloque
relativa b entre 50 y 95%. Se podría designar esto también como un
regulador adaptable, que una y otra vez vuelve a la zona de su
rendimiento óptimo o de ruidos de motor más bajos.
Naturalmente en el marco de las presentes
reivindicaciones son posibles múltiples variaciones y
modificaciones.
Claims (12)
1. Procedimiento para controlar la conmutación
de un motor (100) conmutado electrónicamente, que presenta:
Un rotor (108);
un estator con un dispositivo (102) de bobinado
del estator;
un microcomputador (40) y un programa asignado a
éste;
un contador (Figura 1: TIMER1) que en
funcionamiento cuenta continuamente;
y un dispositivo (110) para la consulta del
estado de conteo de este contador (TIMER1) en un instante en el que
el rotor (108) en funcionamiento pasa por una primera posición de
giro predeterminada (\delta_{0}), con los siguientes pasos:
- a)
- se calcula como pronóstico un primer lapso de tiempo (t_BLOCK_START; t_BLOCK_END) que con el número de revoluciones instantáneo el rotor (108) necesitará para el recorrido de un ángulo de giro predeterminado, que está situado entre la primera posición de giro (\delta_{0}) y una segunda posición de giro (\delta_{1}) que sigue luego, en la que en la última debe efectuarse un proceso de conexión para la influencia de una corriente (i_{1}, i_{2}) en el dispositivo (102) de bobinado del estator;
- b)
- durante el paso real por la primera posición de giro (\delta_{0}) en el contador (TIMER1) que cuenta continuamente se consulta y almacena un tiempo de referencia (RefTime_HSR/LSL; RefTime_HSL/LSR) (Figura 16: S458, S470);
- c)
- tras el paso real por la primera posición de giro (\delta_{0}) se calcula repetidamente la diferencia temporal (t_CALC) entre un tiempo actual consultado en el contador (TIMER1) y el tiempo de referencia almacenado (Figura 24: S754, S756);
- d)
- el resultado del cálculo se compara con el primer lapso de tiempo pronosticado (t_BLOCK_START; t_BLOCK_END) (Figura 25: S800, S820);
- e)
- si esta diferencia temporal (t_CALC) está en una relación predeterminada con respecto al primer lapso de tiempo pronosticado, se efectúa el proceso de conexión (Figura 25: S808, S810, S834).
2. Procedimiento según la reivindicación 1, en
el cual para la influencia de una diversidad de corrientes (i_{1},
i_{2}) está prevista una correspondiente diversidad de posiciones
de giro predeterminadas, en las cuales se consultan tiempos de
referencia (RefTime_HSR/LSL; RefTime_HSL/LSR) en el contador
(TIMER1) que cuenta continuamente, y al menos a una parte de estas
corrientes que pueden conectarse está asignada respectivamente una
posición de giro predeterminada, para la cual en cada caso puede
calcularse como pronóstico un lapso de tiempo del género mencionado
y en la cual con el giro del rotor (108) se registra un tiempo de
referencia (RefTime_HSR/LSL; RefTime_HSL/LSR) para esta corriente
(i_{1}, i_{2}).
3. Procedimiento según la reivindicación 1 o 2,
en el cual en cada caso en relación con la desconexión de una
corriente (i_{1}, i_{2}) en el dispositivo (102) de bobinado del
estator se conecta de nuevo un indicador (NEXT_COMMUT), que indica
qué corriente (i_{1}, i_{2}) debe ser conectada como la
siguiente. (Figura 24: S768, S770).
4. Procedimiento según la reivindicación 3, en
el cual el indicador (NEXT_COMM) determina cuál de una diversidad de
posiciones de giro predeterminadas se utiliza para la consulta del
tiempo de referencia (RefTime_HSL/LSR, RefTime_HSR/LSL) a utilizar
en el momento (Figura 24: S752, S754, S756).
5. Procedimiento según una de las
reivindicaciones precedentes, en el cual se calcula como pronóstico
un primer lapso de tiempo (t_BLOCK_START) que con el número de
revoluciones instantáneo el rotor (108) necesitará para el recorrido
de un primer ángulo de giro predeterminado, que está situado entre
la primera posición de giro (\delta_{0}) y una segunda posición
de giro (\delta_{1}) que sigue luego, en la que debe conectarse
una corriente del estator predeterminada,
y además se calcula como pronóstico un segundo
lapso de tiempo (t_BLOCK_END) que con el número de revoluciones
instantáneo el rotor (108) necesitará para el recorrido de un
segundo ángulo de giro predeterminado, que está situado entre la
primera posición de giro (\delta_{0}) y una tercera posición de
giro (\delta_{2}) que sigue luego, en la que debe desconectarse
la corriente del estator predeterminada,
y tras el paso real por la primera posición de
giro (\delta_{0}) se calcula repetidamente la diferencia
temporal (Figura 26: t_CALC) entre un tiempo actual consultado en el
contador (TIMER1) y el tiempo de referencia almacenado y el
resultado del cálculo se compara con el primer lapso de tiempo
pronosticado (t_BLOCK_START) y con el segundo lapso de tiempo
pronosticado (t_BLOCK_END) (Figura 25: S800, S820).
\newpage
6. Procedimiento según una de las
reivindicaciones precedentes, en el cual la primera posición de giro
(\delta_{0}) está fijada en relación a la segunda posición de
giro (\delta_{1}) de manera que en todas las condiciones de
funcionamiento del motor la segunda posición de giro
(\delta_{1}) se alcanza más tarde en el tiempo que la primera
posición de giro.
7. Motor (100) conmutado electrónicamente, que
presenta:
Un rotor (108);
un estator con un dispositivo (102) de bobinado
del estator;
un microcomputador (40) y un programa asignado a
éste;
un contador (Figura 1: TIMER1) que en
funcionamiento cuenta continuamente;
un dispositivo (110) para la consulta del estado
de conteo de este contador (TIMER1) en un instante en el que el
rotor (108) en funcionamiento pasa por una primera posición de giro
predeterminada (\delta_{0}), y un programa para la realización
de los siguientes pasos:
- a)
- se calcula como pronóstico un primer lapso de tiempo (t_BLOCK_START; t_BLOCK_END) que con el número de revoluciones instantáneo el rotor (108) necesitará para el recorrido de un ángulo de giro predeterminado, que está situado entre la primera posición de giro (\delta_{0}) y una segunda posición de giro (\delta_{1}) que sigue luego, en la que en la última debe efectuarse un proceso de conexión para la influencia de una corriente (i_{1}, i_{2}) en el dispositivo (102) de bobinado del estator;
- b)
- durante el paso real a través de la primera posición de giro (\delta_{0}) en el contador (TIMER1) que cuenta continuamente se consulta y almacena un tiempo de referencia (RefTime_HSR/LSL; RefTime_HSL/LSR) (Figura 16: S458, S470);
- c)
- tras el paso real por la primera posición de giro (\delta_{0}) se calcula repetidamente la diferencia temporal (t_CALC) entre un tiempo actual consultado en el contador (TIMER1) y el tiempo de referencia almacenado (Figura 24: S754, S756);
- d)
- el resultado del cálculo se compara con el primer lapso de tiempo pronosticado (t_BLOCK_START; t_BLOCK_END) (Figura 25: S800, S820);
- e)
- si esta diferencia temporal (t_CALC) está en una relación predeterminada con respecto al primer lapso de tiempo pronosticado, se efectúa el proceso de conexión (Figura 25: S808, S810, S834).
8. Motor según la reivindicación 7, en el cual
para la influencia de una diversidad de corrientes (i_{1},
i_{2}) está prevista una correspondiente diversidad de posiciones
de giro predeterminadas, en las cuales se consultan tiempos de
referencia (RefTime_HSR/LSL; RefTime_HSL/LSR) en el contador
(TIMER1) que cuenta continuamente, y al menos a una parte de estas
corrientes (i_{1}, i_{2}) que pueden conectarse está asignada
respectivamente una posición de giro predeterminada, para la cual
en cada caso puede calcularse como pronóstico un lapso de tiempo del
género mencionado y en la cual con el giro del rotor (108) se
registra un tiempo de referencia (RefTime_HSR/LSL; RefTime_HSL/LSR)
para esta corriente (i_{1}, i_{2}).
9. Motor según la reivindicación 7 u 8, en el
cual en cada caso en relación con la desconexión de una corriente
(i_{1}, i_{2}) en el dispositivo (102) de bobinado del estator
se conecta de nuevo un indicador (NEXT_COMMUT), que indica qué
corriente (i_{1}, i_{2}) debe ser conectada como la siguiente.
(Figura 24: S768, S770).
10. Motor según la reivindicación 9, en el cual
el indicador (NEXT_COMM) determina cuál de una diversidad de
posiciones de giro predeterminadas se utiliza para la consulta del
tiempo de referencia (RefTime_HSL/LSR, RefTime_
HSR/LSL) a utilizar en el momento (Figura 24: S752, S754, S756).
HSR/LSL) a utilizar en el momento (Figura 24: S752, S754, S756).
11. Motor según una de las reivindicaciones 7 a
10, en el cual se calcula como pronóstico un primer lapso de tiempo
(t_BLOCK_START) que con el número de revoluciones instantáneo el
rotor (108) necesitará para el recorrido de un primer ángulo de giro
predeterminado, que está situado entre la primera posición de giro
(\delta_{0}) y una segunda posición de giro (\delta_{1})
que sigue luego, en la que debe conectarse una corriente del estator
predeterminada,
y además se calcula como pronóstico un segundo
lapso de tiempo (t_BLOCK_END) que con el número de revoluciones
instantáneo el rotor (108) necesitará para el recorrido de un
segundo ángulo de giro predeterminado, que está situado entre la
primera posición de giro (\delta_{0}) y una tercera posición de
giro (\delta_{2}) que sigue luego, en la que debe desconectarse
la corriente del estator predeterminada,
y tras el paso real por la primera posición de
giro (\delta_{0}) se calcula repetidamente la diferencia
temporal (Figura 26: t_CALC) entre un tiempo actual consultado en el
contador (TIMER1) y el tiempo de referencia almacenado y el
resultado del cálculo se compara con el primer lapso de tiempo
pronosticado (t_BLOCK_START) y con el segundo lapso de tiempo
pronosticado (t_BLOCK_END) (Figura 25: S800, S820).
12. Motor según una de las reivindicaciones 7 a
11, en el cual la primera posición de giro (\delta_{0}) está
fijada en relación a la segunda posición de giro (\delta_{1}) de
manera que en todas las condiciones de funcionamiento del motor la
segunda posición de giro (\delta_{1}) se alcanza más tarde en
el tiempo que la primera posición de giro.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10065822 | 2000-12-28 | ||
DE10065822 | 2000-12-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2260319T3 true ES2260319T3 (es) | 2006-11-01 |
Family
ID=7669490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES01989619T Expired - Lifetime ES2260319T3 (es) | 2000-12-28 | 2001-12-27 | Procedimiento para controlar la continuacion de un motor conmutado electronicamente. |
Country Status (6)
Country | Link |
---|---|
US (1) | US6825627B2 (es) |
EP (1) | EP1346464B1 (es) |
AT (1) | ATE323338T1 (es) |
DE (2) | DE10161994A1 (es) |
ES (1) | ES2260319T3 (es) |
WO (1) | WO2002054578A1 (es) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0221154D0 (en) * | 2002-09-12 | 2002-10-23 | Switched Reluctance Drives Ltd | A circuit for use with switched reluctance machines |
CN100364225C (zh) * | 2003-06-30 | 2008-01-23 | 松下电器产业株式会社 | 无传感器电机驱动装置及其驱动方法 |
DE10352117A1 (de) * | 2003-11-04 | 2005-06-09 | Matsushita Electronic Components (Europe) Gmbh | Verfahren und Vorrichtung zur positionssensoriosen Kommutierung eines bürstenlosen Gleichstrommotors unter Verwendung des Stromsignals |
EP1727268A2 (de) * | 2005-05-27 | 2006-11-29 | ebm-papst St. Georgen GmbH & Co. KG | Verfahren zum Betrieben eines elektronisch kommutierten Motors, und Motor zur Durchführung eines solchen Verfahrens |
US7573217B2 (en) | 2005-05-31 | 2009-08-11 | Regal-Beloit Corporation | Methods and systems for automatic rotation direction determination of electronically commutated motor |
ATE430398T1 (de) * | 2005-11-11 | 2009-05-15 | Ebm Papst St Georgen Gmbh & Co | Verfahren und anordnung zur kommutierung eines elektronisch kommutierten motors |
DE112007003521A5 (de) * | 2007-06-01 | 2010-06-24 | Ebm-Papst St. Georgen Gmbh & Co. Kg | Verfahren zum Betrieb eines einsträngigen elektronisch kommutierten Motors an einer Gleichspannungsquelle, und Motor zur Durchführung eines solchen Verfahrens |
EP2107677B1 (de) * | 2008-04-05 | 2016-12-21 | Ebm-Papst St. Georgen GmbH & CO. KG | Elektronisch kommutierter Elektromotor |
DE102010034940B4 (de) | 2009-10-26 | 2022-12-15 | Continental Autonomous Mobility Germany GmbH | Verfahren zum Betrieb eines elektronisch kommutierten bürstenlosen Gleichstrommotors mittels eines Mikropozessors |
EP2365215B1 (en) * | 2010-03-10 | 2012-12-12 | Siemens Aktiengesellschaft | Rotational speed control of a wind turbine based on rotor acceleration |
US20130234630A1 (en) * | 2010-11-10 | 2013-09-12 | Wellingtion Drive Technologies Limited | Programmable motor and method |
CN109189623B (zh) * | 2018-08-24 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种cpu的测试方法、装置及电子设备 |
US11646684B2 (en) * | 2019-08-15 | 2023-05-09 | Texas Instruments Incorporated | Average current control in stepper motor |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3873897A (en) * | 1972-05-25 | 1975-03-25 | Papst Motoren Kg | Collector-less D-C motor |
US6002218A (en) * | 1992-11-20 | 1999-12-14 | Fujitsu General Limited | Control device for air conditioner |
JPH06185835A (ja) * | 1992-12-18 | 1994-07-08 | Toshiba Corp | インバータ装置およびそのインバータ装置により制御されるエアコンディショナ |
US5859510A (en) * | 1993-02-17 | 1999-01-12 | Pitney Bowes Inc. | Commutation board for brushless motor |
US5386743A (en) * | 1993-07-13 | 1995-02-07 | Industrial Technology Research Institute | Turret indexing device |
US5845045A (en) | 1993-11-28 | 1998-12-01 | Papst-Motoren Gmbh & Co. Kg | Method and apparatus for DC motor speed control |
US5801504A (en) * | 1995-09-25 | 1998-09-01 | Nsk Ltd. | Control apparatus for electric power steering system |
US6078152A (en) * | 1996-01-10 | 2000-06-20 | Papst-Motoren Gmbh & Co. Kg | Bidirectional E.C. motor and method of operating the motor |
JPH09219990A (ja) * | 1996-02-14 | 1997-08-19 | Matsushita Electric Ind Co Ltd | センサレスdcブラシレスモータの制御駆動装置 |
BR9807658B1 (pt) * | 1997-02-05 | 2011-05-31 | motor de corrente contìnua sem escova eletronicamente comutado. | |
DE19845626A1 (de) | 1998-10-05 | 2000-04-06 | Papst Motoren Gmbh & Co Kg | Elektronisch kommutierter Motor |
-
2001
- 2001-12-17 DE DE10161994A patent/DE10161994A1/de not_active Withdrawn
- 2001-12-21 US US10/433,129 patent/US6825627B2/en not_active Expired - Lifetime
- 2001-12-27 ES ES01989619T patent/ES2260319T3/es not_active Expired - Lifetime
- 2001-12-27 AT AT01989619T patent/ATE323338T1/de not_active IP Right Cessation
- 2001-12-27 DE DE50109515T patent/DE50109515D1/de not_active Expired - Lifetime
- 2001-12-27 WO PCT/EP2001/015339 patent/WO2002054578A1/de active IP Right Grant
- 2001-12-27 EP EP01989619A patent/EP1346464B1/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP1346464B1 (de) | 2006-04-12 |
EP1346464A1 (de) | 2003-09-24 |
US20040027084A1 (en) | 2004-02-12 |
DE10161994A1 (de) | 2002-07-04 |
ATE323338T1 (de) | 2006-04-15 |
US6825627B2 (en) | 2004-11-30 |
DE50109515D1 (de) | 2006-05-24 |
WO2002054578A1 (de) | 2002-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2258510T3 (es) | Procedimiento para regular una magnitud fisica en un motor electronicamente conmutado, y motor para la puesta en practica de un procedimiento de esta clase. | |
ES2280413T3 (es) | Procedimiento de limitacion de corriente en un motor electrico, y motor para la puesta en practica de tal procedimiento. | |
ES2260319T3 (es) | Procedimiento para controlar la continuacion de un motor conmutado electronicamente. | |
EP0945974A2 (en) | Control apparatus of brushless motor and machine using brushless motor | |
JP2008219954A (ja) | 同期モータ駆動装置および方法 | |
US7319300B2 (en) | Method of operating an electronically commutated motor, and method for carrying out such a method | |
ES2246348T3 (es) | Motor conmutado electronicamente. | |
JP5569295B2 (ja) | 車両用回転電機 | |
JP3752489B2 (ja) | 電子転流式直流モータの転流方法、およびこの方法を実施するためのモータ | |
JP5464368B2 (ja) | 車両用回転電機 | |
US20070189048A1 (en) | Inverter | |
JP6227008B2 (ja) | 開閉体制御装置及び開閉体制御方法 | |
CN112350623A (zh) | 马达驱动电路及方法 | |
JP2002325493A (ja) | モータ制御装置 | |
KR20140057336A (ko) | 전자적으로 정류된 다위상 dc 모터를 제어하는 방법 | |
JP2014514895A (ja) | ノイズ除去した電気モータ内の回転子の位置を決定するための方法およびシステム | |
JP2005525072A (ja) | 永久磁石制御式の同期機のベクトル制御方法および装置 | |
TWI705654B (zh) | 永久磁石式同步馬達以及換氣送風機 | |
JPH11215881A (ja) | モータ制御装置 | |
JPH0956191A (ja) | ブラシレスモータの速度検出装置 | |
JP2005525071A (ja) | 高速の回転数領域での出力変動を低減できる永久磁石制御式の同期機のベクトル制御方法および装置 | |
JP5454895B2 (ja) | 車両用回転電機 | |
JP2021164278A (ja) | モータ制御装置、モータシステム及びモータ制御方法 | |
CN117581473A (zh) | 电机控制方法、电机控制装置 | |
JP4110883B2 (ja) | モータ制御装置 |