Let's Make Robots!

Hybrid H bridge single relay configuration

So I have been brainstorming H-bridge designs for a 5V motor with 5A stall current.  I want max speed from the motor off 4xAA batteries, so I am considering using a high side relay vs a high side transistor.  I would like the H bridge to:

  • Have minimal voltage loss, to get motor voltage as close to Vcc as possible
  • Be small enough to hopefully fit on top of a small RC car chassis such that the body fits over it
  • Handle currents up to at least 10A
  • Be fairly inexpensive
  • Be suitable for PWM
  • Obviously prevent shoot through and overheating

I like the small Rds(on) value of the IRFZ44 and current capability.  If a relay is used on the high side then at 5A the voltage loss should be less than 100mV.  Relays tend to be bulky so I am thinking maybe I can get away with only using one.  I've drawn out a couple of basic configurations using a single relay as the high side of a bridge.

The schematic with a SPDT relay has three control lines to be used with an AVR uC:

  • Direction: selects which way the motor turns
  • CW PWM:  motor logic for clockwise direction
  • CCW PWM:  motor logic for counter clockwise direction

I don't know how safe this configuration is, as if the relay doesn't switch as expected then shoot through will occur.

The second schematic might be the solution to this, which uses a DPDT relay to disable shoot through.  I am also considering using an AND MOSFET driver such as the TC4468 in this configuration.

Please feel free to point out any schematic design flaws, ideas for better configurations, or your thoughts on the pros and cons.  I am just starting to come around to discrete H bridges since a single L298 is not cutting it.

Thanks in advance.

H_bridge_single_relay_SPDT.pdf9.68 KB
H_bridge_single_relay_DPDT.pdf10.48 KB

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

I Don't know if you have already have glanced over this, but it seems to have helped some people

http://letsmakerobots.com/node/2484 - H-Bridge Matrix

If the circuit does not prevent shoot-through at your amperage I would recommend putting a fuse on it, because it's bound to happen and you can save the price of the FETs.

If your interested in high amperage in the future I would ditch the transistors and go with the MOSFETs.  They are more efficient and can handle much bigger loads.  They also can be put into parallel unlike transistors.  Heat sinks are helpful especially at high pwm.

In your design you don't have a FET driver - CTC has experience with this, and so do I.  For lower amperage applications you can slide by without it, but higher load/amperage you better get one.

Hope this helps.

Yes I did read the post, thanks.  When you said transistor you meant the BJT drivers I assume, a mosfet is also a transistor.  You don't think the BJTs can supply enough current to fully turn on the MOSFETs?  As posted I think the TC4468 MOSFET driver would work well, which is a 14 pin dip.  Maybe there is a cheaper and smaller package for the job (three drivers needed).  I would like to get it onto a 2 inch by 2 inch board if possible.

I take it the second design with the DPDT is much better than the SPDT version.  I wonder if the schematic will work, I will have to play around with testing the circuit, but I will probably get a driver IC.  On second thought, I can use an 8pin dip driver for the MOSFETs and a simple transistor for the coil.  I am thinking the configuration to disable the MOSFETs by grounding throught the right SPDT switch of the relay will work well to prevent shoot through, at least for any significant amount of time.  The fuse is something I've considered although it adds some size to the design.  I will definitely write firmware to aim for zero shoot through as well.

I wonder if this is a good idea, to use normally closed contacts to go forward, and normally open contact to go reverse.

Yes a MOSFET is a transistor. Sorry for the confusion.

I don't know if they supply enough current "quickly" enough.  It would definitely supply enough current to turn the FET on, but the transition state is what  you want to avoid, and the more current supplied in a short time gets them out of the transition state quickly.  A lot would depend on the details of your motor.

I don't see how design 1 would work.  How does 5 V flow into the gate of Q4?
I see that it "floats" and you will ground it when the CW PWM switches...

But that means the gate on Q1 will go from floating to ground and back to floating on every pwm cycle.... Q1 (and Q2) will not energize.

Also, my personal feeling is, if I go to the trouble of designing an H Bridge, and build it.. then I will want only 2 bits to drive the motor..
one would be PWM and the other would be direction...   This makes it safe and you can always use that other bit to do something else ... like turn on the laser cannon !

Good Luck !

Concerning the BJT driver configuration it looks like it needs to be changed. I think the TC4424 IC should be used to drive the power MOSFETs.  If I implement only two digital output pins as you suggested and add the driver IC the schematic looks like this:

I of course will add four schottky flyback diodes and a capacitor to the motor terminals, just keeping the circuit less cluttered until its fully designed.  The apostrophe before CW just means that clockwise is acitve when low, and CCW is active when high.

With this configuration I will need to pull the PWM line low when switching rotation between clockwise and counter clockwise to prevent shoot through.

I'm not sure if I need R3 and will have to determine values for R4 and R5.  I'm also unsure if shorting the output of a MOSFET driver is appropriate, I may need a series resistor(s) for the drivers.  Well it will be fun to experiment once I've got the parts in hand.  Time to start looking for a smallish, 10A+ and cheap DPDT relay.

If I have problems with this configuration I will probably go back to having seperate PWM lines so I'm not intentionally shorting the output of the MOSFET driver which is probably a very bad power drainer.  I would rather add an output pin on my ATmega328 than add an extra IC such as an AND gate for resolving.  Well I'm still eager for suggestions and comments if ya have em.


What are you using in the diagram above for the a/b switchs? Noted as c1 c2 c3.

It's the DPDT switch in the relay itself.

What relays do you guys use? I need to run 4 in an rc airplane and the relays that I have been using require about 3v each...