Society of Robots - Robot Forum

Electronics => Electronics => Topic started by: russbach on February 27, 2008, 02:35:03 PM

Title: controlling dc motor
Post by: russbach on February 27, 2008, 02:35:03 PM
Hi I am new to DC motor control and am building a remote controlled vehicle from the computer. I bought two DC motors from Radio Shack that operate at 9V-18V. I hooked these up to two 9V batteries in series (to get my 18V max) and tried to switch the power on and off with a power amplifier transistor (NTE 379 and TIP3055). Both of these transistors get extremely hot and in some cases it smells like they are burning the plastic parts of the breadboard. The motor does switch on and off and I am sure the pins are connected correctly. The 9V batteries put out 2.8A with a negligible load and the datasheets for these transistors say they should be able to handle continuous current much higher than that. The transistors start heating up as soon as I plug in the batter leads, not when I turn the motor on. I think it must be dissipating all of that power through heat to get the current from flowing. I bought a few heatsinks today to maybe help this problem but Im not sure that the transistors can stay hot for too long.

I will venture to buy and program a PIC to do some PWM for speed control of these motors but I think there must be something wrong with the way I have this setup.  Should the transistors be getting extremely hot? My goal is to construct this remote controlled device from scratch and simple pieces. Id like to avoid purchasing parts to do most of the tasks for me (i.e. speed controller) so I can learn to do it myself.

Any help would be appreciated! Thanks
Title: Re: controlling dc motor
Post by: ed1380 on February 27, 2008, 02:44:09 PM
it is normal for transistors to get hot. that's why they have heatsinks for them
Title: Re: controlling dc motor
Post by: izua on February 27, 2008, 02:57:08 PM
put a small resistor on the base/gate of them, otherwise the base-emitter current will be very high and it might even damage the transistor.

another thing to remember. some transistors need to have a bit higher potential on the base than in the collector, to fully open. otherwise, if base=collector, they will open at about (collector/base+0.7 * 100 %), which means high inefficiencies at low voltages. if the collector-emitter resistance is high, this inefficiency will translate directly into heat dissipated by the internal R, and hopefully by a heatsink.
Title: Re: controlling dc motor
Post by: Soeren on February 27, 2008, 03:01:43 PM
Hi,

and I am sure the pins are connected correctly.
I'm not. But... Perhaps they are and you just don't saturate the transistor!


The 9V batteries put out 2.8A with a negligible load
No they don't!
If the load is negligible, so will the current be - Ohms Law 101!


The transistors start heating up as soon as I plug in the batter leads, not when I turn the motor on.
Measure the voltage drop over the transistor (collector to emitter) while on. if it's more than  about 1V, you are not driving the transistor properly.
They will dissipate the voltage drop times the current through them, so they shouldn't dissipate more than around P = (1V x whatever current the motors draw) [W].


I will venture to buy and program a PIC to do some PWM for speed control of these motors but I think there must be something wrong with the way I have this setup.
I agree.
When you've found the problem, consider using MOSFET's instead of BJT's, as you can then get less power dissipation where you don't want it.


Should the transistors be getting extremely hot?
No.


My goal is to construct this remote controlled device from scratch and simple pieces. Id like to avoid purchasing parts to do most of the tasks for me (i.e. speed controller) so I can learn to do it myself.
Perhaps you are in too deep here?
Nothing wrong with buying what you still don't know how to make - learning a bit here and a bit there is a more realistic plan than declaring that you wanna start with no previous experience and then tackle a full project.
Title: Re: controlling dc motor
Post by: Soeren on February 27, 2008, 03:07:49 PM
Hi,

put a small resistor on the base/gate of them, otherwise the base-emitter current will be very high and it might even damage the transistor.
Sounds to me it's the opposite causing problems - not enough base current => partly open c-e => voltage drop too high.


another thing to remember. some transistors need to have a bit higher potential on the base than in the collector, to fully open. otherwise, if base=collector, they will open at about (collector/base+0.7 * 100 %), which means high inefficiencies at low voltages. if the collector-emitter resistance is high, this inefficiency will translate directly into heat dissipated by the internal R, and hopefully by a heatsink.
NOT the collector but the emitter!!!

Title: Re: controlling dc motor
Post by: izua on February 27, 2008, 03:19:28 PM
Soeren, to what are you referring, i wrote E and C several times there :P
it depends on the transistor type (PNP/NPN or chan N/P, though)
Title: Re: controlling dc motor
Post by: russbach on February 27, 2008, 03:21:03 PM
Thanks izua I will try that. I was driving the transistor with no resistor at the gate. I tested the voltage and it is passing through a full 18V from fresh batteries. Perhaps the current at the base was too high I will check that.

Soeren, a new 9V energizer batter puts out about 2.8A when connected to a multimeter. I considered this negligible. Perhaps the choice of words was incorrect. I am very familiar with Ohms law. I am probably in over my head but I am a seasoned programmer and I have some electronics experience. The electro-mechanical piece is all I was struggling with at the moment.

Title: Re: controlling dc motor
Post by: Soeren on February 27, 2008, 03:39:23 PM
Hi,

Soeren, to what are you referring, i wrote E and C several times there :P
it depends on the transistor type (PNP/NPN or chan N/P, though)
I'm referring to the base-emitter voltage of ~0.7V (you wrote base-collector).
Title: Re: controlling dc motor
Post by: izua on February 27, 2008, 04:08:44 PM
oh, i wasn't referring to the base-collector circuit at that point.
the idea is that the transistor has a voltage on the collector, and (a BJT at least), should have at least +0.7V more on his base than on his collector to fully open. so, base = collector + 0.7. to get a theoretical 100% opening percentage for base=collector, we figure out that for collector/base+0.7 = 1. we need 100% percent to have only two states as in digital logic, 0 and 1.

of course the transistor won't open in a very linear fashion, but that's just a rough approximation, to point out inefficiencies.

edit: hmm, something sounds wrong here. don't regard this post, contains amateur's opinion :D
Title: Re: controlling dc motor
Post by: Soeren on February 27, 2008, 04:11:56 PM
Hi,

Soeren, a new 9V energizer batter puts out about 2.8A when connected to a multimeter. I considered this negligible.
Perhaps you know Ohms Law, but apparently not well enough to actually apply it.
You CANNOT get a substantial current with a negligible load! (U = RxI <=> R=U/I)
Stating the contrary is demonstrating an utter lack of knowledge about using Ohms Law and about how a MM works.

Let's say the load was actually negligible - say 1 MOhm (a common value on cheap MM's on the voltage range).
Connecting 9V to it a maximum of 9/1,000,000[A] = 9µA can flow - negligible load => negligible current

To measure current you use a shunt (build into the MM) of a low ohmic value.

Besides, the internal resistance of a PP3 "9V" rechargeable battery is around 1 Ohm when new (and rising with discharge and age) and primary batteries like Alkaline types are a good deal higher even when new.

Assuming a 10 mOhm shunt in the meter (for 200mV @ 20A, which is a pretty common value) and a freshly charged, brand new, rechargeable "9V" battery, the voltage divider (R_i and R_shunt) yields a voltage at the battery terminals of ~90 mV - hardly useable for anything. Using an Alkaline battery will even give an much lower voltage.
Title: Re: controlling dc motor
Post by: Soeren on February 27, 2008, 04:17:30 PM
Hi,

oh, i wasn't referring to the base-collector circuit at that point.
the idea is that the transistor has a voltage on the collector, and (a BJT at least), should have at least +0.7V more on his base than on his collector to fully open. so, base = collector + 0.7
A BJT has to have its base ~0.7V more positive than its EMITTER
Hint: Did you ever hear the term "open collector output"?
Hint 2: The emitter is the terminal which has got an arrow in a schematic ;)


edit: hmm, something sounds wrong here. don't regard this post, contains amateur's opinion :D
Finally we agree  ;D
Title: Re: controlling dc motor
Post by: Admin on March 01, 2008, 10:56:44 PM
be careful with the sarcasm everyone :-X

remember, people don't ask for help if they know what they are doing :P

but yea . . . I highly recommend dumping the transisters and moving to MOSFET's like Soeren said.

transistors are sooooo inefficient . . . and that leads to heat!