Motor controller – transistor taking up 3/4th of the voltage

h-bridgemotor controllertransistors

I am trying to make a motor controller for a DC brushed motor. The design is fairly simple, see below – motor represented by inductor


The problem I am having is that if we imagine A to be HIGH and B to be LOW, the motor is not dropping 12V (or close to). If I use a multimeter to measure voltage between drain-source on Q5 I get about 8.4V, on Q8 I get close to 0V. The voltage drop across the motor I measured to be the remaining 3.6V.

Would anyone have an idea why my circuit is not operating as I had imagined, and if so, what improvements could I make?

Best Answer

You're not turning Q5 on properly. It needs a certain Vgs to turn on fully. Measure Vgs on Q8 which works and arrange for the same Vgs on Q5. (Start by working out the source voltage on Q5 when it is fully on).

This usually means arranging for Q5 to be driven from a different signal (generated by a level shifter). Which means a supply voltage greater than 12V to power the gate drive.

Or using a different FET for Q5 (usually a PMOS with source connected to 12V, drain connected to load, and pulling the drive voltage down from 12V.