Controlador de motor MOSFET único con oscilación en la salida

Estoy tratando de conducir un pequeño motor de CC con un PWM con el circuito a continuación, donde estoy usando un optoacoplador TIL111 y un MOSFET IRF510N. El PWM (50% del ciclo de trabajo) es generado por una MCU STM32F103C8T6, la fuente de +3.3V proviene de esta MCU y la fuente de +5V es otra.

ingrese la descripción de la imagen aquí

El motor funciona, pero la forma de onda sobre el motor se parece a la de abajo (perdón por mi osciloscopio). La imagen no es clara, pero lo que sucede es que esta salida tiene algunas ondas (que se asemejan a las ondas de descarga de la bobina) cuando debería estar apagada, o 0V (el semiperíodo ON funciona bien). Dado que tengo una fuente de +5 V y un PWM de servicio del 50 %, debería medir 2,5 V sobre el motor, pero con esta señal estoy midiendo 3,55 V.

ingrese la descripción de la imagen aquí

Si quito el motor y coloco una resistencia de 120 ohmios en su lugar, puedo visualizar la forma de onda correcta a continuación. También verifiqué la forma de onda sobre el opto y sobre la puerta del MOSFET, y funciona bien (con o sin motor).

ingrese la descripción de la imagen aquí

Estoy usando este motor de CC ficticio a continuación, pero lo he probado con otros dos motores ficticios y obtuve el mismo resultado. En realidad, traté de manejar estos motores con un TIP antes, usando un circuito similar; esa vez, cambié casi todos los componentes (TIP, resistencias, diodos, motores, protoboards) y terminé con el mismo resultado. Si alguien pudiera darme algún tip de por qué estoy teniendo este comportamiento, se lo agradecería.

ingrese la descripción de la imagen aquí

Respuestas (1)

Sería más esclarecedor si activa su osciloscopio fuera de la puerta FET; esa debería ser una señal más limpia.

Lo que sucede es que el circuito empujará la corriente hacia el motor, pero no la sacará. Entonces, cuando el FET está encendido, si el motor gira más lento que su velocidad sin carga con 5 V aplicados, el motor se acelerará. Cuando el FET está apagado, el motor se deslizará, generando un voltaje proporcional a su velocidad. Debido a que el sistema tiene pérdidas, el motor no gira lo suficientemente rápido como para generar 5V, pero está bastante cerca. Está leyendo el promedio de 5 V y lo que sea que genere el motor mientras está en marcha.

Entonces, ¿qué debo modificar en el circuito para hacerlo bien?
Si por "correcto" quiere decir que desea que el motor sea impulsado por un PWM que siga su PWM de entrada, entonces necesita un controlador de medio puente en lugar del 1N4007 y el IRF510. Eso se vuelve complicado (la forma "analógica" más fácil de hacerlo con ese optoacoplador implica encontrar un controlador de puerta que evite los disparos, y todos los que conozco necesitan un suministro de 10-12V). Si por "correcto" quiere decir mantener el voltaje promedio del motor en algún valor ordenado, entonces se puede hacer incluso con MÁS circuitos analógicos mientras se mantiene la etapa de transmisión final, pero nuevamente, ese optoacoplador complica las cosas.
Entonces, ¿qué es "correcto"?
Es la primera opción, supongo que solo usaré un puente H. Traté de usar un solo MOSFET porque he visto este circuito algunas veces en Internet, pero después de lo que dijiste me di cuenta de que realmente no funcionaría como yo quería, ya que la corriente de la bobina del motor no puede seguir fluyendo. ¡Gracias hombre!