Connect with us

H-Bridge for Small Motors...

Discussion in 'Electronic Basics' started by nobody, Feb 20, 2006.

Scroll to continue with content
  1. nobody

    nobody Guest

    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-)= )

    Andrew Merton
  2. ehsjr

    ehsjr Guest

    With sufficent base current you'll be fine without sinks.

  3. Tim Williams

    Tim Williams Guest

    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.

  4. nobody

    nobody Guest

  5. nobody

    nobody Guest

    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...
  6. Tim Williams

    Tim Williams Guest

    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

    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
    for your application.

    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.

  7. ehsjr

    ehsjr Guest

    But Ic is 660 mA, not 60 mA. So the 2N4401 is too small.
    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 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

    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
    motor by 2.4 (maybe add some diodes for an additional ~.6
    drop) - but we don't know Vcesat at 660 mA, and it still
    leaves motor voltage a bit higher than recommended.

  8. Bob Monsen

    Bob Monsen Guest

    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
    will help you with).

    Bob Monsen

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

    nobody Guest

    Good. I'm happy to avoid heatsinks as long as possible... :)
    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?
    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-)=
    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-)= )
  10. nobody

    nobody Guest

    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
  11. Rich Grise

    Rich Grise Guest

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

  12. Tim Williams

    Tim Williams Guest

    saying that the drop across the transistor is 1.2V at the maximum

    Also, when the motor is lightly loaded, current is even less, and effciency
    is even better.
    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.
    In theory, yes. You at least have the +5V supply on hand, so that makes
    things at least half easier.
    Both are important here, actually. That's the tricky part about using this
    low voltage.

  13. ErikBaluba

    ErikBaluba Guest

    * RPM: 6990-9100 (6990 Max. Efficiency)
    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
  14. 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
  15. 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)...
    I may eventually redo the h-bridge using MOSFETs, but currently I'm
    trying not to confuse myself any more than I already am...
    Since the PIC can only provide 25mA from each I/O pin, this is a problem
    in itself, methinks...

    Andrew Merton
  16. So PWM lets me overdrive(?) the motor without damaging it? Might have
    to think about this - I was hoping to avoid PWM at least initially. I
    want to make this thing move as simply as possible...
  17. ehsjr

    ehsjr Guest

    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.

    Contact the manufacturer and ask, or measure it yourself.
    The numbers are important. You asked about heatsinking, and
    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.

  18. 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?
    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 guess I measure it...
  19. Bob Monsen

    Bob Monsen Guest

    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.
    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.
    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.

    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)
  20. ehsjr

    ehsjr Guest

    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 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
    - 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.

Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day