Uso de una señal modulada por ancho de pulso para posiblemente invertir la polaridad

Estoy tratando de ayudar a un artista a controlar un motor de CC simple usando una sola señal. La señal es una salida digital, 0/5V, y el motor funciona con un máximo de 36V. El motor debe funcionar hacia adelante y hacia atrás. Solo hay 1 salida digital disponible por motor.

Sé cómo generar una señal PWM y conectarla a un transistor (con una resistencia en la base) para que el motor gire lenta o rápidamente, eso funciona. Tenemos un circuito simple para la velocidad del motor en una dirección.

Además, gracias a este sitio, aprendí sobre los puentes H y encontré algunas buenas páginas sobre el uso de 4 transistores para cambiar la polaridad de un motor.

Mi idea era que la señal de salida se modulara por ancho de pulso 0% = reversa completa, a 35% = reversa lenta, y 65% ​​= avance lento, a 100% = avance completo.

Para hacer que eso controle el motor, pienso en dividir la señal en dos partes aisladas. Yo "suavizo" una parte y la uso como una señal de "control de dirección", bajo = marcha atrás, alto = adelante. La otra señal PWM original solo modula la potencia, para el control de velocidad.

No puedo hacer que funcione en mi simulador de circuito. El primer problema es que mi "más suave" es un rectificador filtrado y siempre produce el mismo voltaje de salida independientemente del ciclo de trabajo, lo cual tiene sentido, porque el puente de diodos simplemente convierte todo al mismo voltaje. El segundo problema que tengo es cómo hacer que las partes "bajas" del ciclo de trabajo hagan que el motor funcione "rápido" cuando está en reversa. Estoy bastante seguro de que puedo solucionarlo con una puerta NOT y otro transistor, pero parece que hay debe ser una forma más elegante. Cuantas menos piezas haya en este diseño, mejor.

(El problema principal es que estoy por encima de mi cabeza. No he construido ningún circuito en más de 20 años).

La pregunta es: ¿cómo haría que esto funcionara, utilizando una fuente de alimentación de 36 V y algunos componentes para convertir una señal PWM de 0-100 % de 5 V en una fuente de alimentación PWM de -36 V a +36 V?

Para su información, tenemos la opción de comprar un segundo microcontrolador, lo que nos daría más pines de salida, lo que nos permitiría usar un pin para una señal de "avance" y otro para "retroceso". Me frustra no poder hacer que la idea de una sola señal funcione.

Respuestas (2)

Si tiene un controlador de puente H que puede cambiar limpiamente a una frecuencia PWM que es lo suficientemente rápida en relación con la inductancia del motor (cuanto menor sea la inductancia, más rápido debe ser el PWM), impulsándolo con una forma de onda que es 60% hacia adelante y 40 % de reversa será una buena manera de conducirlo hacia adelante al 20% de velocidad; 40% hacia adelante y 60% hacia atrás será una buena forma de hacerlo retroceder al 20% de la velocidad. Si se cumplen las dos condiciones anteriores, accionar un motor de esta manera dará una respuesta de velocidad que es mucho más lineal que el PWM entre accionado y "circuito abierto", y también será más eficiente energéticamente. Además, tratar de conducir el motor a una velocidad que sea algo más lenta de lo que está girando actualmente proporcionará un frenado regenerativo [es decir, permitirá que la energía del motor se alimente razonablemente bien al suministro].

Lo importante a tener en cuenta es que ejecutar el PWM demasiado rápido para el controlador del puente H puede desperdiciar energía en el controlador del puente H; ejecutarlo demasiado lento para la inductancia del motor aumentará la cantidad de energía desperdiciada en el motor. Si el PWM es demasiado lento, hacer funcionar el motor a la mitad de la velocidad puede usar muchas veces más energía que tratar de hacerlo funcionar a toda velocidad. Sin embargo, si el motor funciona con un PWM rápido y el puente H puede manejarlo, la eficiencia puede ser muy buena; un motor calado accionado al 75 % hacia adelante y el 25 % hacia atrás tendrá aproximadamente la mitad del par que uno accionado al 100 % hacia adelante, pero solo consumirá aproximadamente una cuarta parte de la potencia [alrededor del 75 % del tiempo, consumirá aproximadamente la mitad de tanta corriente del suministro como si estuviera al 100%, y el otro 25% de las veces devuelve la misma cantidad de corriente].

Tal vez combine las respuestas de @supercat y Colin con un comparador de ventana en el voltaje analógico (digamos 2.4 a 2.6V) para apagar el motor si es necesario que se quede completamente quieto cuando la relación PWM está cerca del 50%.
@SpehroPefhany: De hecho, algún tipo de lógica de apagado sería una buena idea. Como alternativa al filtrado de PWM, podría ser posible cablear las cosas para que pin high=run CW; pin bajo = ejecutar CCW; pin flotante = no hacer nada.
Debería haber agregado a la pregunta que el motor nunca se "detendrá" más que instantáneamente, estará oscilando. La velocidad será "más o menos sinusoidal" con algunas variaciones aleatorias y generadas dinámicamente. Por lo tanto, no deberíamos necesitar un cierre para el caso de "cerca del 50 %". Mediré la inductancia del motor y averiguaré los componentes que necesito para que esto funcione. Gracias por las respuestas rápidas.

Puede tomar la señal PWM, pasarla por un filtro de paso bajo (por ejemplo, un filtro RC) y luego usar un comparador para compararla con 2,5 V. Deje que la salida del comparador sea el bit de dirección para el puente H. Si el valor de PWM es superior al 50 %, la salida del filtro de paso bajo es superior a 2,5 V.

Ahora aún necesita descubrir cómo llevar la señal PWM al motor correctamente ... No lo he pensado lo suficiente.