# H-Bridge for Small Motors...

N

#### nobody

Jan 1, 1970
0
I want to build (a pair of) H-bridges to drive my motors, described
thusly (from Tamiya kit # 70097 - two FA-130 motors):

* RPM: 6990-9100 (6990 Max. Efficiency)
* Voltage: 1.5-3V (1.5V Recommended)
* Amperage: .66A

Assuming I'm going to go for the recommended 1.5V, geared down lots and
with small wheels (don't want the little beasty to move faster than I
can run!), I can get TIP31B/TIP32B - I assume that these will be
somewhat overkill, but will work correctly? Considering they're rated
for 3A, I shouldn't be needing heatsinks?

Also, will the 4004 diodes I have sitting in my drawer do the job?

I'll be running a separate power supply/battery for the motors. Is
there anything else I should be doing? (apart from getting an
electronics degree B-)= )

Thanks,
Andrew Merton

E

#### ehsjr

Jan 1, 1970
0
nobody said:
I want to build (a pair of) H-bridges to drive my motors, described
thusly (from Tamiya kit # 70097 - two FA-130 motors):

* RPM: 6990-9100 (6990 Max. Efficiency)
* Voltage: 1.5-3V (1.5V Recommended)
* Amperage: .66A

Assuming I'm going to go for the recommended 1.5V, geared down lots and
with small wheels (don't want the little beasty to move faster than I
can run!), I can get TIP31B/TIP32B - I assume that these will be
somewhat overkill, but will work correctly? Considering they're rated
for 3A, I shouldn't be needing heatsinks?

Also, will the 4004 diodes I have sitting in my drawer do the job?

I'll be running a separate power supply/battery for the motors. Is
there anything else I should be doing? (apart from getting an
electronics degree B-)= )

Thanks,
Andrew Merton

With sufficent base current you'll be fine without sinks.
See http://www.onsemi.com/pub/Collateral/TIP31A-D.PDF

Ed

T

#### Tim Williams

Jan 1, 1970
0
1.5V isn't enough to really do anything functional, unless you want to get
old, slow germanium transistors (which would work nicely, depending on what
frequency you want). You really want at least 5V, and to use FETs or
low-saturating silicon (Zetex something or other for example) to drive the
motor from a 1.5V supply.

If you want to stick with silicon, such as a couple 2N4401/03 type deals (a
bit more current rating than those, but along those lines), you'll need more
supply voltage, and you'll take a hit in efficiency, say 50-70% efficient.

If you can go with a, say, +/-5VDC supply for support circuitry, you can use
that to push around some MOSFET gates. MOSFETs should be able to do 90%
efficiency or better.

Tim

N

#### nobody

Jan 1, 1970
0
Is this because I've forgotten about the actual voltage drop I'll have
across the H-bridge? So 2x.7 = 1.4V drop - my motors probably won't
even notice, I guess...

But wait - I just read the datasheet again - Vcesat is 1.2V so
2*1.2=2.4V... I see what you mean now, I think...

2.4+1.5 = 3.9
3.9/1.5 = 2.6 cells...

So 3 cells are required giving me 4.5-2.4=2.1V for the motors...

Is this correct? Or is there more? I've just increased the heat
generated, haven't I... I see heatsinks in my future, yes? B-)

I really didn't want to run the motors any faster than I have to - this
is my first chassis (as well as the first electronics I've done for 10
years!) so I don't want anything happening too quick... I guess I can
try this and see what happens...

T

#### Tim Williams

Jan 1, 1970
0
nobody said:
So 3 cells are required giving me 4.5-2.4=2.1V for the motors...

Is this correct? Or is there more? I've just increased the heat
generated, haven't I... I see heatsinks in my future, yes? B-)

Well, not really, 0.66A * 2.4V = 1.6W /2 = 0.8W per transistor, easily
handled by a non-heatsinked transistor, at least as long as the chassis
isn't too stuffy. (TIP31 is rated for 2W, at 25°C ambient, without
heatsink.)

It also assumes something else: note the parameters for Vce(sat), 3A Ic. A
graph shows typical Vce(sat) between 0.1 and 0.2V at 0.6A Ic, more typical

Note also the condition that Ic = 10*Ib, so you need 60mA Ib as well.

If you use complementary transistors for your H-bridge, remember that PNP
transistors are generally worse. Interestingly, at 0.6A, the TIP32 actually
fares better, according to the graph, placing just under 0.1V saturation.
However, the curve is steeper, so it will vary more.

In both cases, Vbe is around 0.8-0.9V, which means, for an (ideally) 1.7V
supply, you have only 0.8V available to operate the transistors.
Considering 60mA can easily be sourced/sinked at that voltage by general
purpose types such as 2N4401/03, this shouldn't be a problem.

Nonetheless, TIP31/32 is 5x overkill for this project. Some smaller
transistors, for example the Zetex line I mentioned, easily place under
0.2Vce(sat) for similar conditions, coming in a smaller package (though the
price is comparable to a TIP31!). Zetex also picks up the ball with
MOSFETs, though a lot of them are surface mount packages. Other
manufacturers also have lines of MOSFETs for this sort of application.
Remember MOSFETs need some amount of turn-on voltage.

Tim

E

#### ehsjr

Jan 1, 1970
0
Tim said:
Well, not really, 0.66A * 2.4V = 1.6W /2 = 0.8W per transistor, easily
handled by a non-heatsinked transistor, at least as long as the chassis
isn't too stuffy. (TIP31 is rated for 2W, at 25°C ambient, without
heatsink.)

It also assumes something else: note the parameters for Vce(sat), 3A Ic. A
graph shows typical Vce(sat) between 0.1 and 0.2V at 0.6A Ic, more typical

Note also the condition that Ic = 10*Ib, so you need 60mA Ib as well.

If you use complementary transistors for your H-bridge, remember that PNP
transistors are generally worse. Interestingly, at 0.6A, the TIP32 actually
fares better, according to the graph, placing just under 0.1V saturation.
However, the curve is steeper, so it will vary more.

In both cases, Vbe is around 0.8-0.9V, which means, for an (ideally) 1.7V
supply, you have only 0.8V available to operate the transistors.
Considering 60mA can easily be sourced/sinked at that voltage by general
purpose types such as 2N4401/03, this shouldn't be a problem.

But Ic is 660 mA, not 60 mA. So the 2N4401 is too small.
Nonetheless, TIP31/32 is 5x overkill for this project.

He mentioned "Overkill" (which it is, as you point out) and
that word makes it sound like a bad thing, which it isn't.
The TIP31/32 can easily handle the maximum current, and won't
overheat without heatsinks - that makes it *good*, not bad.
"Overkill" by itself is not sufficient reason to change the
devices. Are there better devices? Certainly - as you point
out below, there are other devices that could be used.

Some smaller
transistors, for example the Zetex line I mentioned, easily place under
0.2Vce(sat) for similar conditions, coming in a smaller package (though the
price is comparable to a TIP31!). Zetex also picks up the ball with
MOSFETs, though a lot of them are surface mount packages. Other
manufacturers also have lines of MOSFETs for this sort of application.
Remember MOSFETs need some amount of turn-on voltage.

Tim

Some excellent points, above. I am not familiar with the
Tamiya kit, so I am guessing he has the room/flexibility
for the following: Use his first approach with the TIPs,
and measure Vcesat with whatever the bridge driving current
is. Then build a motor supply that delivers
Vout-(VcesatTip31+VcesatTip32) = 1.5 (or whatever he wants
from 1.5 to 3.0). A 317, resistor& trippot plus a couple of
caps...

Hopefully he could use that approach with whatever devices
he chooses - it would seem he has to develop a motor supply
in any event. There is a temptation to use 5 volts to supply
everything, and count on Vcesat to lower the voltage to the
drop) - but we don't know Vcesat at 660 mA, and it still
leaves motor voltage a bit higher than recommended.

Ed

B

#### Bob Monsen

Jan 1, 1970
0
Is
there anything else I should be doing? (apart from getting an
electronics degree B-)= )

You should be looking at integrated H-Bridge chips, like the SN754410 from
texas instruments. There are two onboard H-bridge circuits; it'll
handle your power requirements; and, is CMOS, so it'll be much easier to
drive than a bridge made up of bipolar transistors...

It won't work down to 1.5V, but your motor will work much better at 5V
anyway, particularly if you use PWM to control the speed (which this chip

--
Regards,
Bob Monsen

I never think of the future. It comes soon enough.
Albert Einstein (1879 - 1955)

N

#### nobody

Jan 1, 1970
0
Tim said:
Well, not really, 0.66A * 2.4V = 1.6W /2 = 0.8W per transistor, easily
handled by a non-heatsinked transistor, at least as long as the chassis
isn't too stuffy. (TIP31 is rated for 2W, at 25°C ambient, without
heatsink.)

Good. I'm happy to avoid heatsinks as long as possible...
It also assumes something else: note the parameters for Vce(sat), 3A Ic. A
graph shows typical Vce(sat) between 0.1 and 0.2V at 0.6A Ic, more typical

So this graph (which I admit I ignored since I didn't understand it!) is
saying that the drop across the transistor is 1.2V at the maximum
current of 3A, but only .1-.2V (depending on my eyesight at my
required maximum current of .66A?

So I have 2*.2+1.5 = 1.9V required to provide the correct voltage?
Note also the condition that Ic = 10*Ib, so you need 60mA Ib as well.

If you use complementary transistors for your H-bridge, remember that PNP
transistors are generally worse. Interestingly, at 0.6A, the TIP32 actually
fares better, according to the graph, placing just under 0.1V saturation.
However, the curve is steeper, so it will vary more.

In both cases, Vbe is around 0.8-0.9V, which means, for an (ideally) 1.7V
supply, you have only 0.8V available to operate the transistors.

Does this assume that the motor power supply is the same as that for
switching the transistors? I'm driving the PIC at 5V, and was intending
to provide a separate supply for the motors, so don't I have all the
voltage out of the PIC, less 2*Vbe, to operate the transistors?

I suppose I should be thinking current (60mA), actually... This is all
too complicated... My brain hurts... B-)=
Considering 60mA can easily be sourced/sinked at that voltage by general
purpose types such as 2N4401/03, this shouldn't be a problem.

Nonetheless, TIP31/32 is 5x overkill for this project. Some smaller
transistors, for example the Zetex line I mentioned, easily place under
0.2Vce(sat) for similar conditions, coming in a smaller package (though the
price is comparable to a TIP31!). Zetex also picks up the ball with
MOSFETs, though a lot of them are surface mount packages. Other
manufacturers also have lines of MOSFETs for this sort of application.
Remember MOSFETs need some amount of turn-on voltage.

I think I want to stick to the TIP31/2B's if they'll work - I'm kind of
limited as to what I can find in small quantities (unless someone from
Wellington, New Zealand can give me a pointer to other places to buy
components, apart from JayCar and DSE? B-)= )

N

#### nobody

Jan 1, 1970
0
The motors are rate for 1.5-3V - wouldn't they meltdown at 5V?

Also, the gearing is plastic, so I wouldn't want to stress that too much
either...

R

#### Rich Grise

Jan 1, 1970
0
The motors are rate for 1.5-3V - wouldn't they meltdown at 5V?

That's what you use PWM for - just keep the average current through the
motor less than 660 mA.

Cheers!
Rich

T

#### Tim Williams

Jan 1, 1970
0
nobody said:
So this graph (which I admit I ignored since I didn't understand it!) is >
saying that the drop across the transistor is 1.2V at the maximum
current of 3A, but only .1-.2V (depending on my eyesight at my
required maximum current of .66A?

So I have 2*.2+1.5 = 1.9V required to provide the correct voltage?

Yep!

Also, when the motor is lightly loaded, current is even less, and effciency
is even better.
Does this assume that the motor power supply is the same as that for
switching the transistors?

Yes. It's a good bet using PNP and NPN, open collector towards the output.
Things get tricky if you, say, use all NPN, resulting in the top pair of
transistors being driven with (Vbe + Vout) = 2.4V or so, which depends on a
few tricky things.

To drive complementary MOSFETs, you need a bipolar (i.e., +5 and -5V)
supply. This can be supplied from a simple charge pump since it doesn't
need much current.
I'm driving the PIC at 5V, and was intending
to provide a separate supply for the motors, so don't I have all the
voltage out of the PIC, less 2*Vbe, to operate the transistors?

In theory, yes. You at least have the +5V supply on hand, so that makes
things at least half easier.
I suppose I should be thinking current (60mA), actually... This is all
too complicated... My brain hurts... B-)=

Both are important here, actually. That's the tricky part about using this
low voltage.

Tim

E

#### ErikBaluba

Jan 1, 1970
0
* RPM: 6990-9100 (6990 Max. Efficiency)
* Voltage: 1.5-3V (1.5V Recommended)
* Amperage: .66A

If you use pwm, for simplicity you can use something like the SN75441, but
it is very inefficient on low voltages, yielding only 75% on 5V input. A
much more efficient solution is proposed in David Cook's excellent book
"Intermediate Robot Building", the "IXDN404PI" motor driver ($2 at Digikey). The chip requires between 4.5-25V input and is good for driving motors drawing less than 1Amp. If you pwm your motor with a uC this might be an ideal driver solution. If you don't want to use PWM you will have to rig your own H-bridge that can deliver continous 1.5V rating to the motor in an efficient manner. Shouldn't be difficult to find some suitable MOSFETS for this, use the parameter searches on manufacture webistes, then check digikey. By using MOSFETS you can also cheat and skip the flyback diodes in your H-bridge since the mosfets includes them. If you don't mind the large size the IRFU5505/IRLU024N will do the job nicely, they also have logically controlled gates. Judging from the datasheet the TIP31/32 seems like a bad choice for your lov voltage H-bridge, but I might be wrong? For example, if you drive your motor at 0.3A then the "On" voltage graph for TIP31B shows that Vce=0.1V and Ibe = Ice/10, or 30mA !! That's somewhat a lot of juice wasted to run your thingy. A #### Andrew Merton Jan 1, 1970 0 I think I want to stick with TIPs, - (MOS)FET's are a whole new ballgame and I still haven't figured out the one I'm playing already, not to mention not knowing if I can even get them... Having just had a look at the data sheet for the PIC (16F876A), I find that the maximum current sourced by a single I/O pin is 25mA, with a total of 200mA for Ports A + B; another 200mA is available on Port C. Therefore, I assume that I need to current-limit the connections into the transistor bases, as well as ensuring they are biased correctly. How do I calculate the resistor value(s)? Just guess? Anything will do? I don't think I understand where the 660mA rating of the motor comes in - is this the maximum current it will draw (Stalled? No-load?) And does it assume that it's driven at 3V? or 1.5V? I guess it's just the limited info I have on the motor... Andrew Merton A #### Andrew Merton Jan 1, 1970 0 ErikBaluba said: If you use pwm, for simplicity you can use something like the SN75441, but it is very inefficient on low voltages, yielding only 75% on 5V input. A much more efficient solution is proposed in David Cook's excellent book "Intermediate Robot Building", the "IXDN404PI" motor driver ($2 at Digikey).
The chip requires between 4.5-25V input and is good for driving motors
drawing less than 1Amp. If you pwm your motor with a uC this might be an
ideal driver solution.

Maybe later, but I can't find a source for these in New Zealand, and (if
I'm reading the website properly) Digikey will charge me an extra US$18 for the slowest/cheapest shipping (5-10 days), plus$5 handling, which
makes for a very expensive chip, espewcially with NZ$1 = US$0.62 (or so)...
If you don't want to use PWM you will have to rig your own H-bridge that can
deliver continous 1.5V rating to the motor in an efficient manner. Shouldn't
be difficult to find some suitable MOSFETS for this, use the parameter
searches on manufacture webistes, then check digikey. By using MOSFETS you
can also cheat and skip the flyback diodes in your H-bridge since the
mosfets includes them. If you don't mind the large size the
IRFU5505/IRLU024N will do the job nicely, they also have logically
controlled gates.

I may eventually redo the h-bridge using MOSFETs, but currently I'm
trying not to confuse myself any more than I already am...
Judging from the datasheet the TIP31/32 seems like a bad choice for your lov
voltage H-bridge, but I might be wrong? For example, if you drive your
motor at 0.3A then the "On" voltage graph for TIP31B shows that Vce=0.1V and
Ibe = Ice/10, or 30mA !! That's somewhat a lot of juice wasted to run your
thingy.
Since the PIC can only provide 25mA from each I/O pin, this is a problem
in itself, methinks...

Andrew Merton

A

#### Andrew Merton

Jan 1, 1970
0
So PWM lets me overdrive(?) the motor without damaging it? Might have
want to make this thing move as simply as possible...

E

#### ehsjr

Jan 1, 1970
0
Andrew said:
I think I want to stick with TIPs, - (MOS)FET's are a whole new ballgame
and I still haven't figured out the one I'm playing already, not to
mention not knowing if I can even get them...

Having just had a look at the data sheet for the PIC (16F876A), I find
that the maximum current sourced by a single I/O pin is 25mA, with a
total of 200mA for Ports A + B; another 200mA is available on Port C.

Therefore, I assume that I need to current-limit the connections into
the transistor bases, as well as ensuring they are biased correctly. How
do I calculate the resistor value(s)? Just guess? Anything will do?

First, you want to limit the current drawn from the
PIC - we'll worry about the base current later.
Assume the I/O pin is feeding a short circuit through
a resistor. It then becomes a simple ohms law exercise:
V = IR. You know 25 mA is the max, so allow a little
room for error and choose to limit it to 20 mA.
Then simply divide the voltage at the pin by .02
to get the resistance value that is placed in series
between the I/O pin and the base.

20 mA is way under the base current max for the TIPs
(1 amp) so there is no need to limit any further. (You
determine the maximum base current from the transistor
datasheet.) You may want to pull the base to gnd (NPN)
or V+ (PNP) to make sure it is turned off when the I/O
pin is inactive - generally speaking a relatively high
value resistor is used for that, say something like 33K.

If 20 mA is insufficient for whatever you are doing,
you'll need another stage between the PIC and the
transistor - or you might want to use a higher gain
transistor or a darlington transistor like the TIP120.

I don't think I understand where the 660mA rating of the motor comes in
- is this the maximum current it will draw (Stalled? No-load?) And
does it assume that it's driven at 3V? or 1.5V? I guess it's just the
limited info I have on the motor...

Contact the manufacturer and ask, or measure it yourself.
the answer was that you did not need to, based on the
numbers you posted. But if those numbers aren't real, you
could find that you will need heatsinks.

Ed

A

#### Andrew Merton

Jan 1, 1970
0
ehsjr said:
First, you want to limit the current drawn from the
PIC - we'll worry about the base current later.
Assume the I/O pin is feeding a short circuit through
a resistor. It then becomes a simple ohms law exercise:
V = IR. You know 25 mA is the max, so allow a little
room for error and choose to limit it to 20 mA.
Then simply divide the voltage at the pin by .02
to get the resistance value that is placed in series
between the I/O pin and the base.
Does the transistor itself have any effect on this? i.e. the .1-.2V Vbe?
Or do I ignore it only because it's too low to be material?
You may want to pull the base to gnd (NPN)
or V+ (PNP) to make sure it is turned off when the I/O
pin is inactive - generally speaking a relatively high
value resistor is used for that, say something like 33K.
I'm a developer and tester by trade, so I like to guarantee certainty
(probably why I haven't built this h-bridge yet!). These resistors will
be used.
If 20 mA is insufficient for whatever you are doing,
you'll need another stage between the PIC and the
transistor - or you might want to use a higher gain
transistor or a darlington transistor like the TIP120.
I guess I'll have to try it and see what the motors do. I've found
another site saying "Current (no load): 320MA." I assume that this is at
the Nominal 1.5V, so if I'm supplying less (20mA*10 = 200mA) I assume
the motor will just run slower (or not run at all?)
Contact the manufacturer and ask, or measure it yourself.
the answer was that you did not need to, based on the
numbers you posted. But if those numbers aren't real, you
could find that you will need heatsinks.

I guess I measure it...

B

#### Bob Monsen

Jan 1, 1970
0
Does the transistor itself have any effect on this? i.e. the .1-.2V Vbe?
Or do I ignore it only because it's too low to be material?

No the Vbe is more like 0.7V. You are thinking of Vce(sat), which is the
smallest voltage you can get between the collector and emitter.

However, you aren't going to be able to drive your motor at 600mA using a
PIC port unless your transistor has a beta of 300, which those TIP
transistors do not have. That is the advantage of using mosfets, or CMOS
drivers, which do not require any base current.
I'm a developer and tester by trade, so I like to guarantee certainty
(probably why I haven't built this h-bridge yet!). These resistors will
be used.

The value does not matter, except that you don't want to waste much energy
when the circuit is operational. The higher value the better. It won't
take much current to pull the base to the emitter voltage if there if the
PIC port is high-impedance.
I guess I'll have to try it and see what the motors do. I've found
another site saying "Current (no load): 320MA." I assume that this is at
the Nominal 1.5V, so if I'm supplying less (20mA*10 = 200mA) I assume
the motor will just run slower (or not run at all?)

The issue with motors is the starting current, which tends to be larger
than the running current. This initial requirement will be compounded if
there is a load (ie, it is pushing a little car), because you have to
overcome its inertia as well.

Since you are using a PIC, you might want to consider PWM, which stands
for "Pulse Width Modulation". That is a pretentious name for turning the
motor on and off very quickly. You use a voltage which is higher than what
you would need for a simple DC connection, and vary the percent of time it
is on (the 'duty cycle'). Varying this duty cycle allows you to control
the speed of your vehicle. Some PIC chips have built-in PWM modules that
can be used for this. It is fairly simple to do in software too.

--
Regards,
Bob Monsen

If my theory of relativity proves to be correct, Germany will claim me
a German, and France will claim me a citizen of the world. However, if
it proves wrong, France will say I¡Çm a German, and Germany will say
that I¡Çm a jew.
Albert Einstein (1879 - 1955)

E

#### ehsjr

Jan 1, 1970
0
Andrew said:
Does the transistor itself have any effect on this? i.e. the .1-.2V Vbe?
Or do I ignore it only because it's too low to be material?

The Vbe is *not* .1 to .2 - it is about .7 volts, but set
that aside for the moment. You need the resistor between
the PIC and the transistor. You do *not* rely on the transistor
Vbe to protect the PIC - it won't.
I'm a developer and tester by trade, so I like to guarantee certainty
(probably why I haven't built this h-bridge yet!). These resistors will
be used.

I guess I'll have to try it and see what the motors do. I've found
another site saying "Current (no load): 320MA." I assume that this is at
the Nominal 1.5V, so if I'm supplying less (20mA*10 = 200mA) I assume
the motor will just run slower (or not run at all?)

I'm concerned about the uncertainty of the numbers.
I do not have any experience with your particular motor,
so I can't say much about it.

I recommend that you look at the controller from
http://www.pololu.com/products/tamiya/0061/
- it's about 20 bucks. Sure - it is more expensive than
4 TIPs - but the "controller" you would make is crude, at
best, and will get hot at only 20 mA base drive. My sense
is that you are more interested in getting the motor to work
right than in experimenting with the H-bridge itself. The
controller eliminates the uncertainty - it is designed to
drive the motor you have, directly from a microcontroller.

Ed

Replies
21
Views
2K
J
Replies
2
Views
1K
Jamie
J
Replies
11
Views
334
Replies
3
Views
316
Replies
4
Views
526