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
Application number
ES01989619T
Other languages
English (en)
Inventor
Hansjorg Berroth
Frank Jeske
Arnold Kuner
Hans-Dieter Schondelmaier
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ebm Papst St Georgen GmbH and Co KG
Original Assignee
Ebm Papst St Georgen GmbH and Co KG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ebm Papst St Georgen GmbH and Co KG filed Critical Ebm Papst St Georgen GmbH and Co KG
Application granted granted Critical
Publication of ES2260319T3 publication Critical patent/ES2260319T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/14Electronic commutators
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P2209/00Indexing scheme relating to controlling arrangements characterised by the waveform of the supplied voltage or current
    • H02P2209/07Trapezoidal 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.
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.
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:
a) La densidad de flujo magnético ("Inducción") B en el rotor 108
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).
b) La Figura 2 muestra el desarrollo de corriente de la corriente del estator en un motor convencional
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 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.
El proceso de conmutación según el invento (Figura 3)
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.
La Función del Reconocimiento de la Corriente Máxima
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.
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.
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.
Valores preferidos de los elementos de construcción en las Figuras 10 y 11
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.
El software del motor 100
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.
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.
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.
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.
Conmutación con bajo número de revoluciones
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.
Conmutación con alto número de revoluciones
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.
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.
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.
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.
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).
a) La longitud de bloque relativa b se hace demasiado grande
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.
b) La longitud de bloque relativa b se hace demasiado pequeña
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).
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.
ES01989619T 2000-12-28 2001-12-27 Procedimiento para controlar la continuacion de un motor conmutado electronicamente. Expired - Lifetime ES2260319T3 (es)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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) モータ制御装置