¿La velocidad del motor de CC con escobillas pequeñas cae por encima de cierta frecuencia PWM?

Estoy usando el tipo de motor DC cepillado pequeño que se muestra a continuación. Mi MCU controla el motor mediante PWM a través de un controlador de motor DRV8833, que también se muestra a continuación.

Si configuro la frecuencia PWM muy baja, por ejemplo, 10 Hz, el motor claramente se enciende y se apaga. Entonces, para un movimiento suave, parecería obvio establecer la frecuencia lo más alta posible.

Sin embargo, por encima de los 100 Hz, algo extraño comienza a suceder: la velocidad de rotación en realidad comienza a disminuir. Estoy confundido: puedo variar los valores de trabajo y frecuencia de forma independiente y entendí que el valor de trabajo afecta la velocidad, mientras que la frecuencia solo debería afectar la "suavidad" (es decir, la vibración) que veo a bajas frecuencias.

¿Que está pasando aqui? Intenté buscar en Google y lo único que encontré fue un artículo de DesignSpark donde dicen:

Una explicación puede ser que los pulsos muy estrechos de una señal de alta frecuencia no son lo suficientemente largos como para "poner en marcha" el rotor.

Esto no suena muy convincente. ¿Es esta realmente la explicación del comportamiento que estoy viendo?

Cuando experimenté para encontrar la frecuencia óptima, mantuve el valor de trabajo en alrededor del 25%. Estoy usando un ESP32 de 3,3 V conectado a través de dos pines PWM a los pines A_IN1 y A_IN2 del chip DRV8833 (es decir, pines 15 y 16). Estoy usando una biblioteca donde el valor de servicio de PWM es un valor de 10 bits que puede variar entre 0 y 1023; lo mantengo fijo en 255 para A_IN1 y 0 para A_IN2.

A 10 Hz y un ciclo de trabajo del 25 %, creo que la trepidación que veo es el resultado de que la frecuencia es lo suficientemente baja como para que el arranque y la parada del motor sean visibles para el ojo humano (con el ciclo de trabajo bajo que significa que el motor no tiene suficiente impulso para llevarlo a través de las fases de apagado).

motor conductor

Edite su pregunta para agregar (a) las proporciones de marca/espacio que está utilizando y, por lo tanto, (b) los períodos mínimos de pulso de marca. Ahí es cuando ves estos problemas y el mínimo que puedes ofrecer. El DRV8833 tiene un tiempo de habilitación/deshabilitación de salida, por lo que los pulsos muy estrechos no llegarán al motor. También edite si su PWM impulsa el motor (a) ALTO y BAJO o (b) ALTO y ALTO. Debería ser (b). Para conocer la frecuencia, consulte electronics.stackexchange.com/questions/242293/…
Disculpas por la respuesta tardía (trabajo en una startup y el último tiempo estuve un poco ocupado). He agregado dos párrafos adicionales, con más detalles, a mi pregunta. Soy un aficionado a la electrónica, por lo que algunos de sus términos son nuevos para mí. Según tengo entendido, la relación marca/espacio significa lo mismo que el ciclo de trabajo. Pero no estoy seguro de lo que quiere decir con "los períodos mínimos de pulso de marca".
Del mismo modo, aunque entiendo que HI-Z significa alta impedancia, no estoy seguro de lo que significa en términos de la biblioteca que uso para controlar los pines A_IN1 y A_IN2 del DRV8833. Con esta biblioteca, solo puedo establecer un valor de frecuencia y un valor de servicio: la frecuencia puede estar entre 0 Hz y ~ 80 KHz y el valor de servicio puede estar entre 0 y 1023.

Respuestas (2)

Gracias por enseñarme una palabra en inglés nueva para mí.

Judder Una sacudida espasmódica. (como Jitter & Shudder combinados)

Las RPM sin carga están controladas por voltaje (es decir, Vdc promedio = %PWM) y el par está controlado por corriente y viceversa para aceleración o frenado.

La conmutación de la bobina convierte la CC en CA para proporcionar un par continuo en una dirección, pero depende de las posiciones del imán en relación con las bobinas.

La frecuencia de conmutación magnética y la frecuencia de conmutación PWM actúan con un efecto de mezcla no lineal en Torque. El efecto es una modulación del par rotacional. Cada frecuencia tiene armónicos provenientes de la discontinuidad y el resultado es Intermodulación o Efecto Aliasing .

Esperaría efectos de vibración máximos cuando el PWM y la frecuencia se acerquen al corte/encendido síncrono de fases alternas con cada ciclo de PWM y luego se suavice el par pero se debilite por encima de esta tasa de PWM.

Habrá algún efecto de vuelo con el aumento de la velocidad o la inercia rotacional y el efecto de suavizado con el aumento de PWM, pero también aumenta la impedancia del motor de PWM con X(f)= 2πfL, pero L también cambia con el ángulo del rotor debido a la fuerza del imán.

Por lo tanto, cuando PWM f es demasiado alto, se limita la corriente para el par y cuando las frecuencias de alias de los armónicos son demasiado bajas, el par se vuelve más espasmódico a medida que cambia de velocidad y, por lo tanto, se " vibra " más espasmódicamente . También noté esto antes en los motores de ventilador BLDC y opté por usar un enfriamiento lineal controlado por Vdc debido al ruido errático .

Gracias por la respuesta detallada. Te has centrado más en las vibraciones . ¿Podría quizás expandir el bit donde dice "también aumenta la impedancia del motor de PWM con X (f) = 2πfL, sin embargo, L también está cambiando con el ángulo del rotor de la fuerza del imán. Por lo tanto, cuando PWM f es demasiado alto, se convierte en corriente limitada para par"? Esta fue la parte que realmente me interesó: que la velocidad disminuyó a medida que aumentaba la frecuencia por encima de los 100 Hz. ¿Quizás podría explicar la ecuación y sus consecuencias en un lenguaje más digerible para los aficionados?
Cuando aumenta la impedancia de la bobina ya sea por RPM o frecuencia PWM, entonces el par (= corriente promedio) se reduce inversamente por el denominador I(f) = V(f) / Z(f) pero en f=0 o DC, la DCR la resistencia da el par máximo también conocido como. par de rotor bloqueado. Por lo tanto, elige una frecuencia para generar un par suave pero con poco ruido. Hay una fórmula relacionada con f(PWM) y L/DCR=Tau pero espero que entiendas la idea
Usando el voltaje nominal, la corriente del rotor bloqueado puede ser 100 veces mayor que la corriente RPM máxima de carga sin torsión, según la eficiencia.

A una frecuencia PWM baja, la inductancia de las bobinas del motor puede saturarse, lo que genera una corriente limitada solo por la resistencia del motor. La corriente luego se detiene por completo durante la fase de apagado. Esta corriente es muy alta en comparación con...

A alta frecuencia pwm, la bobina no se satura y la corriente aumenta en la fase de encendido, disminuye en la fase de apagado, pero en ningún momento debe volverse cero.

La frecuencia más alta es correcta aquí, las decenas bajas de khz probablemente sean correctas, según el motor.

Si puede colocar una sonda de corriente en los cables del motor a un osciloscopio, verá este efecto claramente

La falta de giro en tareas de pwm más bajas a alta frecuencia se debe a que se necesita cierta corriente para superar el cogging que puede sentir si gira manualmente el motor. A baja frecuencia pwm, el motor esencialmente está completamente encendido durante un período corto, que puede ser un período lo suficientemente corto como para superar el cogging. A alta frecuencia pwm, la corriente nunca aumenta lo suficiente como para generar el par.