"¿Es posible controlar el par de salida de un motor de CC con escobillas utilizando PWM?"
Sí, el par es proporcional a la corriente.
Si la fuente PWM es un microcontrolador, entonces necesita medir la corriente (considere ACS712 o similar que generará un voltaje: V = Voffset + k * Imotor), capture con un ADC y luego escriba un lazo de control PI para ajustar el ciclo de trabajo de PWM.
Aquí hay un ejemplo de bucle de control al que se puede llamar en una interrupción (por supuesto, eliminar el while (1) entonces)
while(1) {
Ierr = Idesired - Imeasured;
err_sum += Ierr;
PWMcommand = Kp * Ierr + Ki * err_sum;
}
Necesitará escalar las variables, calcular unidades y signos, etc., pero esa es la estructura básica.
Para la sintonización, establezca Ki cerca de cero, bloquee el rotor y aplique un paso en el deseado y observe la respuesta. La corriente de paso debe ser similar a la que impulsará el motor. Asumiré que es 1amp. Aumente Kp hasta que la respuesta al escalón se haya excedido y luego retroceda un poco. Con Kp solo, siempre habrá un error en Medida, especialmente una vez que el motor arranca. Para corregir esto necesitas el término integral.
Con el rotor bloqueado, continúe con su ~ 1 paso actual y aumente Ki. Nuevamente, usted quiere un Ki grande, pero no tan grande como para causar oscilación. Si Ki es demasiado pequeño, la respuesta de PWM será lenta cuando cambie la velocidad del motor y, por lo tanto, el par cambiará.
La frecuencia PWM también afecta los coeficientes del bucle de control (Esp el Ki) Por lo tanto, use una frecuencia PWM constante. La frecuencia típica es de al menos 20 KHz para no ser audible, pero en última instancia, se trata más de la inductancia del motor, la ondulación de la corriente y la inercia del rotor.
Hay innumerables clases universitarias dedicadas al tema de la teoría del control. Estos son necesarios para hacer un robot quirúrgico, ¡pero lo que dije hará que su primer controlador de par funcione!