Go Down

Topic: Custom H Bridge Design (Read 13697 times) previous topic - next topic

BrIDo

So if I tried to use all N types, I wouldn't be able to turn on any of the high sides using that driver? If you're saying the gate voltage is relative to the source of the mosfet, what gate voltage would be required, given that the source of the highside is connected to the drain of the low side?

Actually, this statement seems to make sense regarding that:

Quote

Let's spend some time on this choice for the high-side elements. As said before, N-channel devices would be desirable for this role for their lower losses, but there's a problem: for them to operate properly, their source must be connected to the motor leads and their drain to the power rail. When a P-channel device is used, its source will be connected to the power rail and its drain to the motor leads. Now, the problem is that both devices are controlled by their gate-source voltages. For P-channel devices it means that if the gate is connected to the power supply, the device will be closed (gate-source voltage is 0) and if the gate is grounded the device is opened (provided the power-supply is actually enough to open the device), since gate-source voltage is equal to the power supply voltage.

For an N-channel device however the picture is more complicated. If you connect the gate to ground or to source, the device is closed (gate-source voltage is below or equal to 0). But where to connect it to open the device? The power supply is not enough, since, when the device is open, it's source and drain are roughly at the same potential. Since the drain is connected to power, the source will be at that potential as well, but than gate should be higher than that to keep the device open. In fact at minimum 5V higher for so-called logic-level MOSFETs and 10-15V higher for normal MOSFETs. This is a significant problem, that voltage somehow has to be generated. In most cases some kind of a charge-pump is used for that, either in a stand-alone or a boot-strapped configuration. The latter however is only useful if the bridge is driven in the 'locked anti-phase' mode (see later). In any case, these high-side drivers usually cannot deliver as much current as a regular low-side driver can, which means longer turn-on and -off times for the high-side (lower current takes longer to charge-discharge the gate-capacitance). In high-frequency operation, where switching loss is a significant factor, a P-channel MOSFET might be a better solution because of this. In low-frequency, high-current operation, where switching loss is not a problem, but channel-resistance is, N-channel transistors are usually a better compromise.


I'll go and have a ponder over that for a few hours :-P

RuggedCircuits

Quote
So if I tried to use all N types, I wouldn't be able to turn on any of the high sides using that driver? If you're saying the gate voltage is relative to the source of the mosfet, what gate voltage would be required, given that the source of the highside is connected to the drain of the low side?


Exactly the problem HVIC drivers like the FAN7382 I mentioned are designed to solve: support for a diode-capacitor "bootstrap circuit" that drives the high-side N-type MOSFET with a gate voltage always above the source, whatever the source may be even as it changes. Study the datasheet for that chip carefully, you are likely to learn as much as the explanation you will be pondering for the next few hours (though both are useful).

--
The Arduino Drum Machine: MIDI development system with 14-track MIDI drum machine sequencer / groove-box software

MarkT

The tricky part of the design is getting the high-side driver to 'float' with the output signal (which might be a 24V, 50V or whatever switching waveform) AND have it controlled from some circuitry at ground potential.  Typically current-control (or opto isolation) is used.
[ I won't respond to messages, use the forum please ]

zoomkat

The h-bridge in the below schematic is an interesting design.

http://www.openservo.com/moin.cgi/Schematic2
Google forum search: Use Google Advanced Search and use Http://forum.arduino.cc/index in the "site or domain:" box.

BrIDo

Ok. I managed to get a look at Intermediate Robot Building by Robert Cook, which I looked at following this article:
http://www.robotroom.com/HBridge.html
There was alot of good information in the book.


What put me off the P-types was the fact their gate voltage was listed as negative. That made me think you required a negative voltage at the gate and so i though i'd require an inverting mosfet driver. But I realise now that wouldn't be necessary.

If I used the two P-type Mosfets I mentioned earlier on the high side, and the two low N-types on the low side I should (according to the book) be able to use a MIC4426.

I use 2 resistors in the logic lines. Rugged you suggested using 2k2 ohm resistors, any reasons why so high? I'm assuming this is to automatically tie down the inputs and so set the initial state of the h driver. The two high side mosfets are initially closed (i.e. on). Supplying a voltage to them will turn them off. The opposite is true of the N-type. To prevent shoot through (essentially a short circuit) I have to make sure there's a suitable delay between opening and closing each side of the driver.

If i use one MIC4426 chip, and tie the highside and lowside inputs together for the left and right side of the bridge, according to Mr Cook, there will be a brief period of shoot through as the Ptype turns off and the Ntype comes online. This is only a real problem, however, if I'm making use of PWM. (I think that's what Mark was trying to explain?).

I'll post a revised schematic later tonight.

Anyone have any ideas how much current a standard breadboard can handle :P?

MarkT

The protection resistor is meant to protect the Arduino pin being fried if full motor voltage reaches the other end.  At the Arduino end that current will flow through the pin's protection diode - too much current and that diode will fry.  2k2 is a guestimate, datasheet may give you enough info.

[ I won't respond to messages, use the forum please ]

BrIDo

Don't they also act as pull down resistors? They prevent the gates of the Mosfets from floating and becoming unpredictable, keeping them off/on until the micro controller 'wakes up' and can set the appropriate voltages??

BrIDo

*sigh*

3rd time I've written this post...

I finally got around to breadboarding the H bridge today. It works! I tested it using 3x 1.5v batteries for logic control, taking terminals from the power/ground rails. Used P types for the high side and N types for the lowside. I've attached a picture (note the DS0026 and resistors aren't connected).

I was hoping to use the DS0026 and test with the arduino today but I don't have the software on these computers. I'll hopefully be able to do that tomorrow. I need to buy some more mosfet drivers anyway, as the DS0026 is obsolete, and was thinking that this would be a good replacement:

http://docs-europe.electrocomponents.com/webdocs/0d0d/0900766b80d0d8a8.pdf

Lowside, 1.5A Peak Current, Non inverting. Good choice to drive the mosfets you think?

I think the diodes I'm using for the h-bridge are a bit too beefy. Their forward current rating is 7.5A. I chose them because, as the motors are likely to draw 5~6.5A, I thought 7.5A rated diodes would be a safe choice. But it's occured to me that, as the diodes are in place to prevent back emf from the motors, it may be possible to use lower rated (and therefore, cheaper) diodes for this purpose? I've attached the datasheet for the diodes I'm using at present. Any feedback on this would be brilliant.

I'm looking to get PCB boards made up for the motor driver circuits. Any general advice to follow / pot holes to avoid on this one? I've made the track widths as large as possible to accomodate the high current draw.

Cheers folks.






Graynomad

Quote
Why not just use the arduino to drive 4 pins in various configurations?

Because one day, probably the first time you run the code, you'll get the order of digital writes wrong and poof :)

______
Rob
Rob Gray aka the GRAYnomad www.robgray.com

BrIDo

Ha, yeah, true.

Any information with regards to my latest questions chaps? If all looks good I'm going to order the rest of my components tomorrow.


BrIDo

Jesus.

Tried to power the motors using a 12v lead acid battery and do the H bridge logic using 3 x 1.5v batteries.

2 of my mosfets melted :P The p and n types on the right hand side of the bridge...

And so the fun starts...!

Graynomad

Probably because I don't think you can turn the p-channels off with 12v on the source and 4.5 on the gate. So they were always on and then at some point you also turned on the n-channels and the electrons hit warp 9.

Even when you start using logic or the Arduino you'll have to level shift the p-channel's gate signal with another transistor AFIAK. Or get the special ones with the internal charge pump.

BTW the above is why I counseled against using 4 pins from an Arduino with no logic, it's only a matter of time before things go poof.

______
Rob
Rob Gray aka the GRAYnomad www.robgray.com

BrIDo

I had a think about what happened to my bridge as I drowned my sorrows over a few lunchtime pints.

I thought it must have been a short circuit given it was one side of the bridge that melted. I also think I've damaged the breadboard, as even when I changed out the two dud components, the bridge still wouldn't work. I think i'll rebuild from scratch tomorrow.

Hmm. Would the arduino 5V logic be enough to turn off the p-type if i was using a mosfet driver, such as this:

http://docs-europe.electrocomponents.com/webdocs/0d0d/0900766b80d0d8a8.pdf


MarkT

That driver should run up to 18V supply and still work from 5V logic input OK.  Shame it blew up - you don't appear to have heat sinks on the FETs, this is not good...

I warned earlier about testing with limited current and watching for problems before applying heavy current.  A lead acid battery can source huge currents and won't forgive any mistake.  Suggest testing with a more modest voltage and current limiting, then if all well increase voltage, then increase the current limit and test again.

A series of 12V car bulbs can be used as current-limiters - 5W for low current, higher wattage (like headlamp bulb) for higher current testing.
[ I won't respond to messages, use the forum please ]

BrIDo

Well, originally I tested using a small motor (few milliamps) and ran both the bridge and the logic from the same 4.5V supply. The bridge ran fine on multiple occasions - no indication of overheating of any sort.

I then connected my lead acid to the source of the H bridge and used my 4.5v to simulate logic (although I didn't use a mosfet driver) - and it completely melted one side.  If I understand Graynomad correctly the 4.5v was incapable of opening the p-types and so they remained closed, n types opened, short circuit...

Following Graynomads advice earlier, I am now worried that the p-type's won't be responsive if I'm using 5v logic and a 12 supply, and I'll end up frying more mosfets. Do I still require to 'level shift' using a transistor for the P-types, even though I'm using a mosfet driver for the logic?

Go Up