H Bridge

I'm trying to build an H Bridge to control the direction of a parallax continuous rotation servo (data sheet attached). The maximum voltage of this servo is specified to be 6 V and I can only apply 6 volts to the H bridge. Thus, to maximize power input to the motor, I've been told to minimize the voltage drops across the transistors I use (which makes sense). Most people have recommended to use MOSFETs over BJTs. My plan is to use a simple configuration shown here.

However, on Digi-Key, the amount of MOSFETs they sell is tremendous. I can't figure out which ones to buy. Since my set-up will be using two motors I'll need 4 MOSFETS for each H Bridge (8 total). My budget is kind of variable but I'm trying not to spend more than $10 for all 8 MOSFETs in total. However, if a more expensive MOSFET would add significant power to the motor, it would be worth it to spend more.

Can someone recommend a MOSFET on their website? I'll need one that's a through-hole component so it can fit with my breadboard.

Thanks!

Cont_Rot_Servo.pdf (64.7 KB)

This servo have a little demand very little power.
I think you can source directly from Arduino pins.
Mosfets aren't necessary.

Well the max current for the motor is about 0.5 A whereas for an arduino it's 40mA. Also, I think for our project we're required to use an H Bridge, for educational purposes.

use L272 circuit :wink:
datasheet
it's an old part (mainly used in vintage philips CD reader as lens focus circuit) but easy to use cheap and doing what you want to do.
Don't forget to add 4 free wheeling fast diodes and snubber network if you can.
Add a big electrolytic cap (100uF 10v for example) near the circuit to allow fast current transient response.

Genesis92:
use L272 circuit :wink:
datasheet
it's an old part (mainly used in vintage philips CD reader as lens focus circuit) but easy to use cheap and doing what you want to do.
Don't forget to add 4 free wheeling fast diodes and snubber network if you can.
Add a big electrolytic cap (100uF 10v for example) near the circuit to allow fast current transient response.

Thanks Genesis92. But can you elaborate? The L272 circuit seems to be an op amp. Sorry I'm kind of a new at this. Unfortunately we have to make our own H Bridge and can't use a prebuilt one. That's I'm hoping to buy the best MOSFETs for the price.

beware! a mosfet full brigde is not easy to build because you will need pump charge to correctly drive the Nmos high side gates (except if you are using Pmos for the high side) + add "dead time" control to avoid cross conduction and burn the transistors.
try to build a standard bipolar transistor bridge it's easier but need dead time control too.

The L272 is a power operational amplifier yes. and is used to control load up to 1A
have you read the datasheet? because it contain examples with DC motor control.

So I'm basically planning to build the circuit in the first figure in this link (H-Bridges – the Basics | Modular Circuits).

It seems pretty simple to build. I've built a similar H bridge with BJTs, but since the voltage drop across a BJT is generally higher than a voltage drop across a MOSFET, I'm trying to use MOSFETS for the transistors. Can you provide a link on the issues you're referring to? I haven't really learned about them before.

like explained above your link is using Nmos and only say "close" and "open" but it's not easy as this!
to "close" the upper N Mosfet you will need to have a Vgs (gate voltage) above the bridge supply voltage and....a charge pump!
The theory is simple on paper. The real life is more complex xD

This is why the H bridges are already available in integrated circuit with the pump charge included like the L6203

look here:
DATASHEET
first page in the functional diagram you have "CHARGE PUMP"

and page 11:

Boostrap Capacitors
To ensure that the POWER DMOS transistors are
driven correctly gate to source voltage of typ. 10
V must be guaranteed for all of the N-channel
DMOS transistors. This is easy to be provided for
the lower POWER DMOS transistors as their
sources are refered to ground but a gate voltage
greater than the supply voltage is necessary to
drive the upper transistors. This is achieved by an
internal charge pump circuit that guarantees correct
DC drive in combination with the boostrap circuit.

so you can try this kind of bridge
Pmos Nmos bridge
but beware of the cross conduction!

When driving the H-bridge it is important to note that because PMOS and NMOS transistors turn on and off at different speeds, it is possible to create transient short-circuits along the two vertical paths of the H-bridge which can destroy the transistors.
The solution to this, is to have a dead-gap - I.e. a period where there are no drive signals when transitioning between forward drive and reverse drive. This will ensure that all the transistors in the bridge are in an off-state before turning the next pair of transistors on.
Many MCU's (e.g. Atmel) have dead-gap circuits as part of their PWM signal generator hardware.

If you use the Cont_Rot_Servo.pdf as mentioned in your start post, then there is no need for an H Bridge, because the driver is inside. Its controlled with a PWM from an IO pin.
wimb

to control 0.5A motor? i'm not sure Wimb!
motor and RC servo are not the same things

I'm with wimb on this: the current to drive the motor goes nowhere near the Arduino, only the control is from the Arduino.

The datasheet shows it's simply a matter of the control line to an Arduino i/o, and then apply 6V with suitable current capability to the other two wires on the servo, but do NOT substitute that 6V with 5V from Arduino. Hook up the grounds.

Then servo.writeMicroseconds(1500) for stop and looks like 1875 and 2250 for full speed each direction.

Not sure where the idea of an H-bridge comes from......

Well I will be using two motors in a robot for a differential steering system. The H bridge will be used to switch the direction the motor will be spinning.

But that's not how a servo works: a continuous servo changes direction and speed solely by the pulse length on the control signal.

1500ms is stationary; less than that is one direction (lower = faster) and over 1500 is the other direction (greater = faster).

Two motors, declare and attach 2 servos, and servo1.writeMicroseconds(xxx) or servo2.writeMicroseconds(xxx)

You don't change the polarity on the servo's supply, which is what an h-bridge does.

Alright never mind. I thought I mentioned that we just need to use an H Bridge for educational purposes, it's a requirement for the project. So the servo is more like a typical motor. I think I/O pin wire was removed or something. We can only use the Vdd (power) and Vss (ground) wires. I think I'm just go with BJTs for this one since it seems more simple.

Yeah you said it was a requirement, but lecturers have been known to give crap assignments in their own ignorance.

Until now you neglected to say that the motor was modified. There was no point at all linking to the datasheet, since the motor you are trying to drive, is now not one of those in the datasheet. Nor should you refer to the motor as a servo anymore, since it seems to be just a dc motor now.

So we have to ask, why bother breaking a (presumably) functional servo to make a dc motor out of it, when dc motors are a dime a dozen?

But no matter, I'm just sitting here eating my wife's chicken curry and watching Thin Blue Line....

'm trying to build an H Bridge to control the direction of a parallax continuous rotation servo (data sheet attached).

Hobby servos already have internal h-bridges. The below shows what is inside a typical analog hobby servo.

http://www.seattlerobotics.org/encoder/200009/S3003C.html

zoomkat:
Hobby servos already have internal h-bridges.

Except, zk, it seems they've turned theirs into a dc motor for some unstated reason....

Easy enough for the OP to test: just apply VDC to the pins and see if it spins; reverse the wires and see if it spins the other way.