Método para determinar la velocidad angular en un motor conmutado mecánicamente midiendo únicamente la corriente que circula por el mismo.
Sector de la técnica
La invención pertenece al campo de la detección de la velocidad angular en un motor de corriente continua conmutado mecánicamente mediante delgas y escobillas. La técnica objeto de invención se encuadra dentro de las técnicas de detección sensorless y aprovecha el rizado que aparece en la corriente que circula por el motor. La ventaja que presenta este nuevo método es la de filtrar el ruido que aparece junto a la corriente mediante una ventana de observación de las muestras de la corriente cuyo tamaño es variable.
Antecedentes de la invención
En un motor de corriente continua, la corriente que circula está compuesta por una componente de encargada de suministrar la potencia y una componente ac. La componente ac, también conocida como componente ripple, es debida al efecto conjunto de que la fuerza electromotriz inducida (f.e.m.) en las bobinas del rotor no es constante sino que tienen una forma sinusoidal y a que esta no es rectificada de forma perfecta en el colector de delgas. Además de esto, en el colector de delgas tiene lugar el proceso de conmutación de delga por parte de la escobillas. En el proceso de conmutación, justo en el momento en el que las escobillas se posicionan entre dos delgas, se cortocircuita la bobina unida a esas dos delgas produciendo un incremento de la corriente.
La frecuencia de dicha componente alterna de la corriente está relacionada con la velocidad de giro del motor, según lo comentado anteriormente, y con algunos parámetros constructivos como son el número de delgas del rotor y el número de polos del motor. Es por ello, que si se consigue detectar la frecuencia de esta componente se puede obtener la velocidad angular del motor.
Cada periodo de la componente alterna de la corriente es conocida en la literatura con el nombre de ondulación. Por lo general, el problema de detectar la frecuencia de la componente alterna se reduce al problema de detectar todas y cada una de las ondulaciones y medir la distancia temporal entre las mismas. Esta no es una tarea trivial, pues todo el ruido presente en la alimentación del motor es reflejado en la corriente. A todo este ruido hay que sumar el ruido generado y las interferencias captadas por el propio motor. Todo ello hace que muchas ondulaciones no puedan ser detectadas (ondulaciones fusionadas) y que aparezcan ondulaciones que no debieran (ondulaciones fantasmas) . Lo que provoca imprecisiones en la determinación de la frecuencia ripple y con ello en la velocidad angular.
Mecanismos basados en la detección de la frecuencia de la componente alterna, conocida como frecuencia ripple, los podemos encontrar en documentos como son US 3 346 752, US 5 524 168 y US 6 172 473 B1. El problema de estas invenciones es que no tienen en cuenta explícitamente el problema del ruido. Por otro lado hay otras invenciones como son ES 2 190 011 T3, US 6 839 653 B2 y US 5 581 178 que si que tienen en cuenta el ruido y las posibles ondulaciones fantasmas y fusionadas. El problema que tienen éstas es el alto coste computacional que conllevan. Algunas de ellas requieren realizar la FFT. Por esta razón se propone un nuevo método que tenga en cuenta el ruido y no tenga un excesivo coste computacional.
Descripción de la invención
La invención se basa en la detección de las ondulaciones de la componente alterna de la corriente para determinar la velocidad angular de un motor de corriente continua conmutado mecánicamente. Por ello, en primer lugar lo que se hace es medir la corriente mediante un sensor resistivo tipo shunt. Posteriormente se digitaliza mediante un convertidor analógico/digital con una frecuencia de muestreo adecuada. A partir de este momento se procesa la señal de la corriente en el dominio digital mediante un microcontrolador, DSP o DSC.
Según se van recibiendo las muestras digitales de la corriente se van almacenando las últimas w muestras de forma consecutivas en una memoria configurada como un registro de desplazamiento. Este registro de desplazamiento tiene numeradas todas sus posiciones de 0 a w-1, de forma que la posición 0 corresponde a la última muestra capturada, la posición 1 a la muestra anterior y así sucesivamente. Para determinar si se ha producido o no una ondulación se mira si en la posición central del registro de desplazamiento, (w-1) /2, se encuentra almacenado el valor máximo de la corriente de entre todos los valores almacenados en el registro de desplazamiento. Si la respuesta es afirmativa, quiere decir que se ha detectado una ondulación. Para filtrar más o menos ruido, es decir, detectar las ondulaciones fusionadas y eliminar las ondulaciones fantasmas, basta con ajustar de forma adecuada el valor w. Este parámetro tiene que tener un valor impar y debe ser mayor o igual que 3 para que el método funcione correctamente. El valor de w se puede tomar de forma fija o de forma que sea proporcional al periodo de la componente alterna de la corriente. Hay que denotar que en todas las situaciones w debe ser menor estrictamente que el número de muestras que entran en un periodo de la componente alterna. Una elección u otra en el valor de w dependerá de la complejidad y del nivel de ruido presente.
Una vez en la que se han detectado las ondulaciones y se conoce la distancia temporal entre muestras, se procede a calcular el valor de la frecuencia de la componente alterna, o frecuencia ripple, como el inverso de la distancia entre ondulaciones detectadas. Finalmente, esta frecuencia hallada, se convierte en velocidad del motor.
Descripción de las figuras
La descripción de la invención se acompaña de una serie de figuras con el fin ayudar su compresión.
La figura 1 muestra el diagrama de bloques del método propuesto para la detección de la velocidad angular.
La figura 2 muestra esquemáticamente una posible implementación del bloque Detector de Máximo (5) .
Descripción de un ejemplo de realización de la invención
En la figura 1 se muestra el diagrama de bloques del método objeto de invención. En él aparecen el sistema de alimentación del motor (1) , el propio motor (2) , el sensor de corriente tipo shunt (3) . El siguiente bloque (4) es el convertidor analógico/digital que se encarga de digitaliza la corriente con una frecuencia de muestreo fs adecuada. El Detector de Máximo (5) detecta si se ha producido o no una ondulación, este bloque se explicará más adelante con mayor detalle. Al detector de frecuencia (6) le llega en cada instante discreto un valor lógico del Detector de Máximo (5) que le indica si en el instante actual se ha detectado una ondulación o por el contrario si no se ha detectado. Si no se ha detectado ninguna no hace nada. Si por el contrario se ha detectado una ondulación registra el instante actual como instante de detección de ondulación. Con esa información obtiene la frecuencia de la componente alterna o frecuencia ripple. Para ello se utiliza la siguiente ecuación:
Donde Tk es el instante en el que se detectó la última ondulación y Tk-1 el instante de la ondulación anterior. Una vez obtenida la frecuencia ripple se pasa al bloque Convertidor Frecuencia-Velocidad (7) . En este bloque tiene lugar la conversión de frecuencia ripple a la velocidad angular del motor. Estas dos magnitudes están relacionadas según la siguiente ecuación:
En dicha ecuación 2p es el número de polos del motor, p es el número de pares de polos, k es el número de delgas del colector, n es la velocidad angular del motor en r.p.m. y fripple la frecuencia ripple en Hz. El parámetro η es el máximo común divisor de 2p y k tal como se indica en la siguiente ecuación:
El último bloque es el estimador de ventana (8) . Este bloque se encarga de obtener el parámetro w que es utilizado en el bloque Detector de Máximo. Este parámetro debe cumplir que sea impar y mayor o igual que 3 y menor que el número de muestras que ocupa un periodo de la componente alterna fripple/fs, donde fs es la frecuencia de muestreo. Teniendo en cuenta esto se puede tomar con valor fijo, o lo que es más recomendable calcularlo de forma dinámica en función de la frecuencia ripple. En el caso de obtenerlo de la frecuencia ripple se puede obtener como un valor proporcional al periodo ripple, es decir, del inverso de la frecuencia ripple. El cálculo de forma dinámica se puede hacer de la siguiente forma:
Donde el operador [•] es el operador parte entera y c es el factor de proporcionalidad comprendido entre los límites indicados para cumplir con las especificaciones de w. Para frecuencias de muestreo mucho mayor a la frecuencia ripple se puede decir que c debe estar comprendido entre 0 y 0.5.
En la figura 2 se muestra el esquema del bloque Detector de Máximo. El bloque se compone de un registro de desplazamiento (9) donde van entrando los valores de la corriente discretizados. Los valores se van almacenando en el registro de la siguiente forma, la última muestra de la corriente se almacena en la posición 0, la muestra anterior en la posición 1 y así sucesivamente. El siguiente bloque es el Detector de Posición del Máximo (10) , donde entran todos los valores del registro de desplazamiento y a su salida indica la posición donde se encuentra el máximo dentro del registro de desplazamiento. Por último, el bloque Detector del Máximo en el Centro (11) comprueba si el máximo se encuentra en el centro del registro de desplazamiento. Si el máximo está en el centro a su salida pone un 1, de lo contrario pone un 0. Esto se muestra en la siguiente ecuación:
El registro de desplazamiento tiene una longitud w, que es el tamaño de la ventana de observación. Esto quiere decir que en cada instante se almacenarán las últimas w muestras de la corriente en 61. Mediante el valor de w se puede hacer que el sistema filtre más o menos ruido. El valor de w viene ajustado en realidad en el bloque Estimador de Ventana en la figura 1 bloque (8) .