Take the 2-minute tour ×
Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It's 100% free, no registration required.

I have built an h-bridge from 4 MOSFETS (PHP21N06LT) shown below. This bridge is used for motor speed control in either direction and fast stop. I have a dev board with C8051F020 microcontroller on board. I have noticed that if I provide 6V to the gate of the mosfets the motor runs much faster than providing 3.3V (same as output from microcontroller GPIO) to the gate and the motor does not run as fast.

enter image description here

I need to somehow pull up the gate voltage to 6V when microcontroller GPIO goes high and vice versa. I tried the circuit below but it does not do what I intend to do.

enter image description here

Am I going in the right direction? Can someone suggest something?

share|improve this question
    
In what way does the circuit not do what you want? You should have a series resistor on the base (something like 4.7K would do) but it should work. –  Spehro Pefhany Feb 11 at 22:41
    
@SpehroPefhany I think he means that the logic is inverted. With his last setup, the MOSFET gate goes to GND instead of 6V when the GPIO goes up to 3.3V. I think he needs a high side drive to invert the GPIO logic connected to the BJT base. –  Ricardo Feb 11 at 22:50
    
@SpehroPefhany, I reckon I did something wrong while connecting on breadboard. It works but as Ricardo puts it the logic is inverted. It would be good if the logic stayed logical and when 3.3V is supplied to the transistor the LED turns ON. –  David Norman Feb 11 at 22:55
    
@Ricardo, you are right, the circuit works now but I need the logic to 'not' be inverted –  David Norman Feb 11 at 22:56
1  
invert the gpio that drives the upper transistors via the NPN BJT. –  Andy aka Feb 11 at 23:13
add comment

2 Answers 2

up vote 2 down vote accepted

You could just cascade two transistors like this:

schematic

simulate this circuit – Schematic created using CircuitLab

Ah I see you're using n-channel MOSFETs on the high side .. If true you either need more than the bridge supply by 5V (depending on the MOSFET) or to use p-channel MOSFETs on the high side.

share|improve this answer
add comment

The low side mosfets will work fine with 6v to the gate but driving the upper mosfets with 6v is going to cause problems.
In a N-mosfet bridge, driving the upper mosfets with the same voltage level as the drain voltage (6v in this case) will overheat them because they will operate in a semi-conductive state.

When you apply 6v to the gate of the upper mosfet then you apply a Vgs of 6v BUT as soon as the mosfet starts to conduct the voltage at the source rises (becomes more positive) and as it rises Vgs gets lower and lower (since Vgs is referenced to the source and not the ground) until the mosfet reaches a balance. That balance point is related to the Vgs-th and will keep the mosfet in a half open state.
There are two forces that keep this balance, if the mosfet tries to conduct more then the source will become more positive and Vgs will decrease, if on the other hand it tries to conduct less then Vgs will increase.

To avoid this problem with a N-mosfet as a high side switch you must either use an isolated power supply that will be applied between source and gate and will add over the existing voltage or a higher voltage from the one that is connected to the drain (if not available it can be generated with a bootstrap circuit).

Since you have 6v to the gate it would be a good idea to use about 6v+5v to the gate of the upper mosfets. A 12v source would be very convenient if available.

Another option is to use P-mosfets as high side switches in the bridge.


A level translator using a single transistor (non inverting action) is like:

schematic

simulate this circuit – Schematic created using CircuitLab

And there is also the mosfet solution (also non inverting)

schematic

simulate this circuit

share|improve this answer
    
Thanks for your answer. I do not have a 12V. A question about the second circuit. When you are supplying 3.3V to the gate of the mosfet (M2) isn't it conducting all the time thereby switching on mosfet M1? or am I looking at it the wrong way? –  David Norman Feb 12 at 19:00
    
@DavidNorman When the MCU I/O is 0 then Vgs=-3.3v so M2 turns on and pulls the M1 gate down to 0 (off). When I/O is 3.3v then Vgs=0 so M2 turns off and M1 gate is pulled high by R6, this turns M1 on. –  alexan_e Feb 12 at 19:06
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.