H-Bridge for Small Motors...
|
|
Thread rating:  |
nobody - 20 Feb 2006 10:47 GMT 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
ehsjr - 20 Feb 2006 15:19 GMT > I want to build (a pair of) H-bridges to drive my motors, described > thusly (from Tamiya kit # 70097 - two FA-130 motors): [quoted text clipped - 17 lines] > Thanks, > Andrew Merton With sufficent base current you'll be fine without sinks. See http://www.onsemi.com/pub/Collateral/TIP31A-D.PDF
Ed
nobody - 20 Feb 2006 19:36 GMT >> I want to build (a pair of) H-bridges to drive my motors, described >> thusly (from Tamiya kit # 70097 - two FA-130 motors): [quoted text clipped - 13 lines] > > Ed Thanks, Ed...
Tim Williams - 20 Feb 2006 18:37 GMT 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
-- Deep Fryer: a very philosophical monk. Website: http://webpages.charter.net/dawill/tmoranwms
> I want to build (a pair of) H-bridges to drive my motors, described > thusly (from Tamiya kit # 70097 - two FA-130 motors): [quoted text clipped - 17 lines] > Thanks, > Andrew Merton nobody - 20 Feb 2006 19:52 GMT 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...
> 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 [quoted text clipped - 28 lines] >>somewhat overkill, but will work correctly? Considering they're rated >>for 3A, I shouldn't be needing heatsinks? Tim Williams - 21 Feb 2006 02:41 GMT > 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 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.
Tim
-- Deep Fryer: a very philosophical monk. Website: http://webpages.charter.net/dawill/tmoranwms
ehsjr - 21 Feb 2006 18:09 GMT >>So 3 cells are required giving me 4.5-2.4=2.1V for the motors... >> [quoted text clipped - 21 lines] > 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 [quoted text clipped - 5 lines] > > 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 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.
Ed
nobody - 22 Feb 2006 10:04 GMT >>So 3 cells are required giving me 4.5-2.4=2.1V for the motors... >> [quoted text clipped - 5 lines] > 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 > for your application. 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. > [quoted text clipped - 5 lines] > 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. [quoted text clipped - 6 lines] > 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-)= )
Tim Williams - 22 Feb 2006 19:16 GMT > 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
-- Deep Fryer: a very philosophical monk. Website: http://webpages.charter.net/dawill/tmoranwms
Andrew Merton - 24 Feb 2006 06:23 GMT 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
>>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. ehsjr - 24 Feb 2006 07:38 GMT > 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 [quoted text clipped - 7 lines] > 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 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.
Ed
> Andrew Merton Andrew Merton - 24 Feb 2006 09:04 GMT >> 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, [quoted text clipped - 17 lines] > 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?)
>> 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?) [quoted text clipped - 6 lines] > numbers you posted. But if those numbers aren't real, you > could find that you will need heatsinks. I guess I measure it...
Bob Monsen - 24 Feb 2006 19:46 GMT > 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.
>> 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 [quoted text clipped - 3 lines] > (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.
>> 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 [quoted text clipped - 5 lines] > 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.
 Signature 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)
ehsjr - 24 Feb 2006 22:00 GMT >>> 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, [quoted text clipped - 22 lines] > 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.
>> You may want to pull the base to gnd (NPN) >> or V+ (PNP) to make sure it is turned off when the I/O [quoted text clipped - 14 lines] > 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
>>> 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?) [quoted text clipped - 8 lines] > > I guess I measure it... Andrew Merton - 25 Feb 2006 10:44 GMT >> 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? [quoted text clipped - 3 lines] > the PIC and the transistor. You do *not* rely on the transistor > Vbe to protect the PIC - it won't. You're right - having a senior moment, I was...
> I recommend that you look at the controller from > http://www.pololu.com/products/tamiya/0061/ [quoted text clipped - 5 lines] > controller eliminates the uncertainty - it is designed to > drive the motor you have, directly from a microcontroller. You're right - I want it to go, and don't really care how it does it. I guess there's the "I did it myself" aspect that I'll lose a bit of, but hey, I can always build an h-bridge when I know what I'm doing (in about 10 years...)...
The only drawbacks I can see are
(1) Delivery time (5-10 days, probably), and (2) The exchange rate (NZ$1.00 = ~US$.62)
I'll see if I can find a Pololu agent in New Zealand, otherwise I'm in!
Thanks for all the help, guys...
Andrew Merton
William at MyBlueRoom - 25 Feb 2006 17:15 GMT Another nice small motor driver chip is the TC4424, it's an 8pin DIP and a PIC easily can drive it.
You can find a schematic on my site that uses one "Armadillo" for driving a small door lock motor. www.myblueroom.com
or a even better discussion on the TC4424 at http://www.robotroom.com/HBridge.html
Bill
Bob Monsen - 21 Feb 2006 18:59 GMT > 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 will help you with).
-- Regards, Bob Monsen
I never think of the future. It comes soon enough. Albert Einstein (1879 - 1955)
nobody - 22 Feb 2006 10:21 GMT 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...
>>Is >>there anything else I should be doing? (apart from getting an [quoted text clipped - 15 lines] > I never think of the future. It comes soon enough. > Albert Einstein (1879 - 1955) Rich Grise - 22 Feb 2006 18:21 GMT > 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
Andrew Merton - 24 Feb 2006 06:36 GMT 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...
>>The motors are rate for 1.5-3V - wouldn't they meltdown at 5V? > [quoted text clipped - 3 lines] > Cheers! > Rich ErikBaluba - 22 Feb 2006 19:35 GMT > * 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.
Andrew Merton - 24 Feb 2006 06:34 GMT >> * RPM: 6990-9100 (6990 Max. Efficiency) >> * Voltage: 1.5-3V (1.5V Recommended) [quoted text clipped - 7 lines] > 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 [quoted text clipped - 4 lines] > 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
|
|
|