Velocidad del motor de CC frente al ciclo de trabajo de PWM

Entiendo que ha habido bastantes publicaciones preguntando sobre la velocidad del motor de CC frente a los problemas del ciclo de trabajo de PWM. Sin embargo, encontré esas preguntas diferentes de lo que quiero preguntar, así que tengo que volver a preguntar este tema.

He diseñado un circuito para impulsar un pequeño motor de CC como se muestra a continuación. Los canales P en el puente H están completamente encendidos o completamente apagados según la dirección en la que gire el motor y el canal N correspondiente recibe señales de accionamiento PWM. La frecuencia PWM es de 20 kHz, VDC es de 7 V, T1 y T2 están conectados a los terminales del motor de CC y las resistencias de compuerta utilizadas son de 10 ohmios.

Según tengo entendido, se supone que la velocidad del motor de CC es proporcional al voltaje de accionamiento aplicado. Entonces, si VDC es fijo, en mi humilde opinión, se supone que la velocidad del motor es proporcional al ciclo de trabajo de PWM porque el voltaje de accionamiento del motor es VDC*PWM_dutycycle.

ingrese la descripción de la imagen aquí

Sin embargo, esto estaba lejos de ser el caso real. A continuación se muestra la curva de velocidad frente al ciclo de trabajo que registré ( imagen actualizada ).

ingrese la descripción de la imagen aquí

Sin embargo, cuando arreglé el ciclo de trabajo de PWM pero cambié el valor de VDC, la velocidad del motor se volvió proporcional a VDC*PWM_dutycycle.

¿Alguien podría indicar por qué VDC*PWM_dutycycle podría tener diferentes efectos en la velocidad del motor al cambiar VDC en comparación con el cambio del ciclo de trabajo PWM?

[ actualizar ]

Olvidé mencionar que el eje del motor estaba conectado a una caja de cambios cuya relación de reducción es 290, y la velocidad que se muestra en el gráfico anterior es la velocidad del motor, no la velocidad de salida de la caja de cambios.

Empecé a preguntarme si este problema entre la velocidad y el ciclo de trabajo se debía a la fricción de la caja de cambios, que actuaba como carga del motor.

Digamos, Vcc=5V y DT= 0.6. Para un aumento de 1 V en el voltaje mientras se ha reparado el DT, obtiene una diferencia de 0,6 V en la salida. Por otro lado, si aumenta el DT en un 10 por ciento mientras el voltaje está fijo, obtiene un aumento de 0,5 V en la salida. Entonces, de cualquier manera, aumentará la potencia promedio entregada al motor pero con diferentes cantidades.
Entiendo su punto, pero si observa el gráfico, el ciclo de trabajo del 20 % y el ciclo de trabajo del 40 % solo dieron como resultado un aumento de velocidad del 30 %. Para un 7V VDC, 20% de trabajo significa 1.4V, 40% 2.8V, ¿no debería duplicarse la velocidad también?
Según tengo entendido y el hecho de que los motores de la vida real tienen resistencia y muchas otras cosas, no siempre es cierto que la velocidad del motor cambia linealmente con el voltaje suministrado. En algún momento, puede comenzar a mostrar un comportamiento no lineal.
¿Qué motor probaste (marca/modelo, especificaciones)? ¿Qué rpm hizo el motor en 7V directo? ¿Cómo determinaste la relación PWM y cómo lograste superar las 500 rpm con 0% PWM ? ¿Qué circuito está impulsando las puertas FET inferiores? ¿Ha examinado la forma de onda de la unidad?
Hola, Bruce, lo siento, cometí un error en la unidad del eje Y de la trama y actualicé la imagen en la publicación. La relación PWM está controlada por MCU y la verificamos usando un osciloscopio. El primer punto de prueba podría ser algo engañoso, pero se probó con un ciclo de trabajo del 1 %. Los canales P fueron controlados por otro transistor y los canales N son controlados directamente por las salidas MCU PWM. He observado las señales de la puerta y los voltajes de los terminales del motor y creo que los MOSFET funcionan correctamente. En cuanto a las especificaciones del motor, lamentablemente no las tengo.

Respuestas (1)

La trama que compartió parece bastante similar a la que usa la rueda libre de diodos que se muestra aquí . Como está utilizando un puente H con rueda libre activa, supongo que podría estar relacionado con la caída y los retrasos de propagación en los MOSFET; durante las transiciones, tendrá un período en el que solo el diodo girará libremente. Intente agregar un tiempo muerto en su generación de PWM, puede usar TIMx_BDTR para el caso.

Desde 1 también parece que las corrientes de compuerta más bajas tienden a agregar no linealidad, por lo que cambiar las resistencias de compuerta por otras más bajas podría ayudar.

Pero, como dijiste, el fluido de la caja de cambios agregaría no linealidad. Intente conducir el motor sin el engranaje y verifique la velocidad. Si el control de velocidad es primordial, se desaconseja el control de bucle abierto. La retroalimentación de velocidad usando un codificador y un algoritmo PID que controle el PWM sería un buen enfoque, como parece aquí .

Además, la trama que compartes también es muy similar a una curva de par de corriente de un motor eléctrico. Si el motor tiene carga (algo que lo impulsa), las RPM se verían directamente afectadas por el par. Si es así, la curva en RPM x PWM es simplemente la no linealidad del motor. Simplemente puede resolver el problema mapeando esos puntos en su software e interpolando para el RPM deseado. La mejor solución sería el control de circuito cerrado, alimentando la salida del codificador a su software y usando un PID para controlar la velocidad.