Analog controlled H-Bridge to digitally controlled

8051h-bridgeoperational-amplifierpwm

I am using this circuit to control a motor.

enter image description here

Initially I was using 12V PWM generated from a 555 astable circuit. I am now trying to make the circuit controllable via an 8051 Microcontroller

The problem seems to arise when I apply a digital PWM. The motor does opperate, but at a low torque/speed. The digital PWM is of course only 5V. Upon playing around with my circuit, I noticed that if I disconnect the 12V that's powering my H-Bridge, the motor will still run just fine. Thus, I've discovered that the H-Bridge is being completely powered by my PWM voltage.

Is there a way I can amp up the voltage of my PWM? I've tried Op Amps, but that limits the current being delivered and doesn't allow my motor to start. Or is there a way to make my H-Bridge use the voltage I power it with and only control speed/direction based on my PWM signals?

Best Answer

While the FET's are as a H-Bridge, the drive isn't and yes the motor is being directly driven by the PWM

Let me redraw it to be a bit clearer

schematic

simulate this circuit – Schematic created using CircuitLab

Basically the TOP Ptypes are always held OFF due to their GATE being tied to 12V

You have PWM going into the gate of the LOWER-RIGHT FET (which will turn it ON). This will pull the RIGHT terminal of the Motor to 0V.

The problem then is the PWM is connected to the midpoint of the LEFT-LEG and thus current from the PWM will flow through the MOTOR down the LOWER-RIGHT FET

Thus your PWM is powering the motor.

How to fix? remove the connections from the lower GATES to the phase connections. Include another FET to provide as a 5V --> 12V logic conversion. This will allow you to then drive the UPPER FET's.

Connect the FET gates to this FET-buffered PWM

schematic

simulate this circuit