Building an H-Bridge

Thread Starter

PerunaPete

Joined Mar 17, 2011
22
I've searched for some answers to my questions, but I haven't been able to find a thread that directly answers the questions I have.

I'm trying to design an H-Bridge to interface our microprocessor to our 24v DC motors. The plan thus far is to use optocouplers between the processor and the FETs to isolate the processor and amplify the PWM signal. However, is this the best route? Or should I be looking at using a MOSFET driver?

Do I need to use both N-Channel and P-Channel FETs? The diagrams I have seen don't seem to be consistent as to whether 4 N-channel FETs can be used or if I need both types of transistors.

Do I need to create a differential (+12/-12v) source to run the bridge? Or straight up 24v and ground? Or does it matter?

Thank you in advance, I know that's alot of questions.
 

SgtWookie

Joined Jul 17, 2007
22,230
There are many application notes about using high and low side drivers for half-H and full H-bridges.
Here's one: http://www.intersil.com/data/an/an9405.pdf

Using P-channel MOSFETs may seem easier, but selection among P-channel MOSFETs is quite limited nowadays due to the much higher gate charge required (about 2.5 times as much) as that of an N-channel MOSFET that matches in other parameters.

Using optocouplers/optoisolators adds quite a propagation delay "hit"; many are relatively slow.

Try this search: http://tinyurl.com/6d86o4f
for H-bridge application notes.
 

Thread Starter

PerunaPete

Joined Mar 17, 2011
22
There are many application notes about using high and low side drivers for half-H and full H-bridges.
Here's one: http://www.intersil.com/data/an/an9405.pdf

Using P-channel MOSFETs may seem easier, but selection among P-channel MOSFETs is quite limited nowadays due to the much higher gate charge required (about 2.5 times as much) as that of an N-channel MOSFET that matches in other parameters.

Using optocouplers/optoisolators adds quite a propagation delay "hit"; many are relatively slow.

Try this search: http://tinyurl.com/6d86o4f
for H-bridge application notes.
So you're saying I can use all N-Channel MOSFETs on a full H-Bridge, and that I should get an IC for driving the bridge? If so that's excellent! I was having trouble (as you mentioned) finding a p-channel that got anywhere close to the specs I wanted.
 

Thread Starter

PerunaPete

Joined Mar 17, 2011
22
So you think this will do the job?
http://www.intersil.com/data/fn/fn3659.pdf

I like the adjustable delays, but do you know of something similar that might prevent shoot-through altogether?

As suspected the opto-couplers had waaay too much of a propagation delay beyond 16kHz. They were already ordered by the time I made my post so I thought I might as well try them.

Thank you for your help! Hopefully that IC will wrap up the hardware side of our design and get us into software.
 

SgtWookie

Joined Jul 17, 2007
22,230
As far as shoot-through, just make sure you leave enough "dead time" between toggling the states of the high and low sides on the same side.

Make sure you read this Application Note: http://www.intersil.com/data/an/an9405.pdf

If you want something that will avoid shoot-through altogether, you'll have to do your own research. My time is very limited nowadays.
 

Thread Starter

PerunaPete

Joined Mar 17, 2011
22
I understand, I just wanted to ensure that I didn't limit my scope to one IC/type of IC if there were more advanced designs out there. (it looks like even though there are other IC's, the HIP408X is the only one I can get in a DIP package)
 
Last edited:

SgtWookie

Joined Jul 17, 2007
22,230
This particular IC is a pretty good choice. It has an on-chip charge pump, which many H-bridge drivers don't have.

Make sure you follow the recommendations for bypass capacitors, and keep them as close to the IC as possible.

When making the PCB, try to keep the traces as wide and as short as possible to reduce parasitic inductance.
 

Thread Starter

PerunaPete

Joined Mar 17, 2011
22
I'm running into some major problems with this chip. Sorry for the hand-drawn diagram, but I need help ASAP. I've been trying to put in the input as shown, but the IC isn't giving any output to the FETs. Any ideas as to what could be going wrong here?

Is there a simple way to even tell if the IC is working?

 

SgtWookie

Joined Jul 17, 2007
22,230
Did you look at the truth table at the bottom of page 5 of the datasheet?
http://www.intersil.com/data/fn/fn3659.pdf

You're showing some pins not connected that should be connected to something.

Have a look at figure 5, bottom of page 3 in the applications note:
http://www.intersil.com/data/an/an9405.pdf
You should have started with that schematic.
You can do a screen capture of that schematic using Ctrl+PrintScreen, and paste it into MS Paint.
Crop to suit, and save it as a .png type file (portable network graphics). That way it will be of compact size, will not be "lossy" like .jpg images are, and doesn't require any software to view besides a browser.

[eta]
Here, I've done the screen print and cropped it; only 41k bytes. Save the attached and have at it.

 

Attachments

Thread Starter

PerunaPete

Joined Mar 17, 2011
22
What I posted is one full circuit-- thus, only pins 2 and 6 are not used as I'm trying to drive the motor one direction. Those pins are tied low. I just divided it to make it easier to see what was going on.

I don't think the circuit in the data sheet (what you posted) is applicable as I do not want both AHI and BHI constantly on.

I am concerned that this IC needs a 12v input; are you sure this can be driven solely by a microprocessor?
 
Last edited:

SgtWookie

Joined Jul 17, 2007
22,230
What I posted is one full circuit-- thus, only pins 2 and 6 are not used as I'm trying to drive the motor one direction. Those pins are tied low. I just divided it to make it easier to see what was going on.
Do not leave any INPUTS "floating" or disconnected. They must be connected to either a logic low or a logic high level. If you leave them floating, you may experience problems.

I am concerned that this IC needs a 12v input; are you sure this can be driven solely by a microprocessor?
Electrical Specifications under "INPUT PINS: ALI, BLI, AHI, BHI, AND DIS" for Vil (Low Level Input Voltage) and Vih (High Level Input Voltage) say yes. Worst case, 0.8v is considered low, 2.7v is considered high.
 

SgtWookie

Joined Jul 17, 2007
22,230
Your connections to pins 15 (Vdd) and 16 (Vcc) look a bit odd; you have a cap connected between them but then have them also connected to +12v? Did you mean to have that cap grounded on one end instead?
 

Thread Starter

PerunaPete

Joined Mar 17, 2011
22
Your connections to pins 15 (Vdd) and 16 (Vcc) look a bit odd; you have a cap connected between them but then have them also connected to +12v? Did you mean to have that cap grounded on one end instead?
No, that was another question I had. The datasheet doesn't mention a capacitor is needed, however in the application notes it recommends using a .22-.5μF capacitor between Vdd and Vcc. Do you think that is an error?

The circuit is on a proto-board, I tried to keep all of the leads as short as possible, but it's still pretty messy.

I had an interesting breakthrough when I turned up the voltage on my signal generator-- apparently my oscilloscope is a great deal off. When I thought I was giving the IC 5v I was really only giving it 2v... looks like I need to figure out how to calibrate the stupid thing.

After I figured out *that* problem, I noticed that my power supply would freak out right before the motor started spinning-- solved that with a decoupling capacitor on the board.

Now I'm having a new problem-- the motor doesn't turn at full speed, and the top transistor along with the IC itself are generating a great deal of heat, but the bottom transistor is not.

I think this problem has something to do with the potentiometers I bought for HDEL and LDEL. I had the choice of 1k,10k, or 100k, and just chose 10k because I wasn't sure. I'm reading about 1k (max) from them, which might be the source of the IC's high heat. Is there something else that could be causing the IC to heat up?
 

SgtWookie

Joined Jul 17, 2007
22,230
No, that was another question I had. The datasheet doesn't mention a capacitor is needed, however in the application notes it recommends using a .22-.5μF capacitor between Vdd and Vcc. Do you think that is an error?
Here is a quote from page 2, 3rd paragraph in the application note:
The VCC and VDD terminals on the HIP4081A should be tied together. They were separated within the HIP4081A IC to avoid possible ground loops internal to the IC. Tying them together and providing a decoupling capacitor from the
common tie-point to VSS greatly improves noise immunity.

This is what I was referring to in my last reply.
[eta] Keep in mind that the boost cap will also be charging from that decoupling capacitor.

The circuit is on a proto-board, I tried to keep all of the leads as short as possible, but it's still pretty messy.
Well, protoboards don't do so well with things like this - too many parasitics, and the peak currents are pretty high. The fast rise/fall times require a lot of bandwidth; with the parasitics involved on the protoboard, you'll wind up with lots of ringing.

I had an interesting breakthrough when I turned up the voltage on my signal generator-- apparently my oscilloscope is a great deal off. When I thought I was giving the IC 5v I was really only giving it 2v... looks like I need to figure out how to calibrate the stupid thing.
Well, try setting the 'scope to measure DC volts, and measure a 5v power supply, just as a sanity check.

After I figured out *that* problem, I noticed that my power supply would freak out right before the motor started spinning-- solved that with a decoupling capacitor on the board.
It's difficult to have too many decoupling caps.

Now I'm having a new problem-- the motor doesn't turn at full speed, and the top transistor along with the IC itself are generating a great deal of heat, but the bottom transistor is not.
Hmm. Did you turn the lower MOSFET on first, wait a moment, and then turn on the upper MOSFET? That's how you pre-charge the boost capacitor; the one connected between pins 19 and 1. See Figure 7 on page 6 of the application note. Note the arrows, indicating conventional current flow. Unless the lower MOSFET is turned ON first, the cap has to be charged by the internal charge pump, which results in a slow turn-on time.

You say that both the IC and high-side MOSFET are heating up. I'm wondering if that MOSFET could be shorted from drain to gate, which is a common failure mode. It's really easy to damage MOSFETs by ESD (static discharge); one tiny "zap" that you wouldn't even feel and they're toast.

I think this problem has something to do with the potentiometers I bought for HDEL and LDEL. I had the choice of 1k,10k, or 100k, and just chose 10k because I wasn't sure. I'm reading about 1k (max) from them, which might be the source of the IC's high heat. Is there something else that could be causing the IC to heat up?
Gate shorted to drain would likely do that.
Try to get some higher-value pots; although I don't think that's the source of this problem..
 
Last edited:

Thread Starter

PerunaPete

Joined Mar 17, 2011
22
My multimeter isn't showing a short between the Drain and Gate on any of the FETs.

Interestingly, the IC takes a while to heat up; if I turn on the power, put my finger on the IC and wait, there's a good 20-30s before the heat is unbearable to the touch.

As the plot thickens, here is a picture of what I'm looking at in the oscilloscope. The yellow is the input signal, going to both AHI and BLI. Blue is showing AHO and pink is showing BLO.

I was counting on HDEL and LDEL to change the turn-on times, is it a necessity that I alter the times at the input?

 

SgtWookie

Joined Jul 17, 2007
22,230
Your gates are ringing. This causes heating of the MOSFETs and the IC, and also discharges the boost cap(s) rapidly, preventing the high-side MOSFETs from turning on fully. Additionally, it looks like the AHO is going high before BLO; BLO needs to go high first. Remember the charging of the boost cap thing I was talking about in the 3rd to the last paragraph in my last reply?

Look at page 10 of the Application Note, including Table 2.
Then look at the table on page 11 of the Application Note.
Then look at the schematic on page 13; note R21 thru R24. These resistors should be located as close to the MOSFET gates as possible. They serve to suppress the ringing on the gates. The ringing is caused by the L of the wiring and the C of the gate forming a series LC network, and the rapid rise time of the gate driver.

I suggest starting with a value of 22 Ohms. You can also use a fast recovery diode in parallel with the gate resistor for fast turn-off times. You cannot use a standard diode such as a 1N400x series, 1N540x series, etc. as their recovery time is far too slow.

You have not indicated what MOSFETs you are using, nor what your motor's run current and stall current is.
 
Top