Pages: [1]   Go Down
Author Topic: Not getting enough power out of 2N3904 transistor to motors  (Read 2203 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello,

Im using an Uno board mounted to an RC car and using its 9v rechargeable batteries as power.  I have outputs 6, 9, 10 and 11 wired to an H-bridge of 2N3904 transistors in order to turn on the small dc motors to move forward or backward.  The problem that I am finding is that even though I've got the 9v wired into the emitters, and the collectors to ground, the base voltage isn't enough to turn on the transistors completely.

Any suggestions as to how I can get full power to the dc motors?  Thanks.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 38
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Im not an authority on this and I'm very likely wrong but you could try to connect it to an external power source and hook it up through a breadboard
Logged

Offline Offline
Faraday Member
**
Karma: 65
Posts: 2500
Now, More Than Ever
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The problem that I am finding is that even though I've got the 9v wired into the emitters, and the collectors to ground, the base voltage isn't enough to turn on the transistors completely.

I hope not.  As described, that's awful. 
Can you post a schematic of what you've done?
Logged

"Hello, I must be going..."
"You gotta fight -- for your right -- to party!"
Don't react - Read.
"Who is like unto the beast? who is able to make war with him?"

Phoenix, Arizona USA
Offline Offline
Faraday Member
**
Karma: 40
Posts: 5570
Where's the beer?
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Im using an Uno board mounted to an RC car and using its 9v rechargeable batteries as power.

Picture or such of the car please. Is this a 9.6V NiMH battery?

I have outputs 6, 9, 10 and 11 wired to an H-bridge of 2N3904 transistors in order to turn on the small dc motors to move forward or backward.

Those are small signal NPN transistors; given that most 9.6 VDC R/C cars have a fairly hefty motor, I doubt they have anywhere near the current capability needed to drive the motor. Without at least a picture or information on the motor, it's impossible to tell though. Have you measure the current needs of the motor (running and stall)?

The problem that I am finding is that even though I've got the 9v wired into the emitters, and the collectors to ground, the base voltage isn't enough to turn on the transistors completely.

Multiple problems:

1) From your description, you have those transistors wired "upside down", based on your description - I'm surprised they aren't smoking.
2) Do you have a schematic of your circuit?
3) Base resistors?

Any suggestions as to how I can get full power to the dc motors?  Thanks.

I'm wondering why you are even using an external h-bridge - was there something wrong with the h-bridge on-board the R/C receiver of the car itself?

Also - did you happen to read this "mega-thread"?:

http://arduino.cc/forum/index.php/topic,86883.0.html

I dunno what kind of car or such you have - maybe the above wouldn't help you, but I've found that most toy R/C cars made in the past decade or so use that same chipset; it's become like a de-facto standard for cheap R/C toys.
Logged

I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

United Kingdom
Offline Offline
Tesla Member
***
Karma: 224
Posts: 6613
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

First, 2N3904 are low-current transistors. They don't have enough current gain at the currents your motors will need.

Second, if you wire the transistors correctly, the upper transistors in the h-bridge will be in the emitter-follower configuration. So even if you used more suitable transistors, you would get a maximum of about 4V across the motor.

The best way to drive a 9V motor from an Arduino is to use an h-bridge chip with mosfet outputs. Unfortunately, most of them are only available in SMD packages, but you can use an SMD adapter if you need to.
Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, I lied.  I don't know why I said the transistors were wired like that, they have 9v going to collector, then emitter through the motor then to ground.  The reason I am using these transistors is because I had purchased a pack of 100 from a hobby pack so I have a lot laying around, and also as a learning process in starting with the basics and building circuits from scratch.

Either way, what I've noticed is if I send the 9v through the base of the transistor, it allows all of the collector voltage through (full power to motors), but with just the small signal from the arduino outputs, not much goes through.

And yes, the car uses 6 1.5v nimh batteries

Here's a quick sketch of the motor portion of the schematic:


* schematic (1637 KB, 3264x2448 - viewed 89 times.)
Logged

Offline Offline
Edison Member
*
Karma: 116
Posts: 2205
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

With that kind of connection, your motor is getting just 5v when it is on.

You will need a phase shifter for the upper npns.
Logged

United Kingdom
Offline Offline
Tesla Member
***
Karma: 224
Posts: 6613
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Driving the lower transistors like that without resistors between the base and the Arduino is a good way to damage both the transistor and the Arduino.

If you have any PNP transistors, you could use the attached circuit for each side of the H-bridge. Like your existing circuit, if you accidentally set both output pins HIGH at the same time, you will short out the 9V supply and probably blow the transistors.


* Scan 125.JPG (60.26 KB, 1653x1165 - viewed 62 times.)
Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Driving the lower transistors like that without resistors between the base and the Arduino is a good way to damage both the transistor and the Arduino.

When I attached a 1k resistor (per a schematic I was using as reference) the transistor was barely getting a signal.  Who knows, maybe I've already damaged the arduino outputs, but I'm still getting a weak signal out?  In any case, it looks like ill be needing some pnps shortly.

Thanks for the schematic, I plan to eventually use PWM outputs to smooth out the speed of the motors, will this setup be suitable for that?
Logged

Offline Offline
Faraday Member
**
Karma: 66
Posts: 2628
The last thing you did is where you should start looking.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

These are excellent choices for high current applications:

http://www.adafruit.com/datasheets/TIP120.pdf
http://www.redrok.com/PNP_Darlington_TIP127_-100V_-5A_Hfe1000_TO-220.pdf
Logged

The way you have it in your schematic isn't the same as how you have it wired up!

Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset



Thanks for the suggestion!  Luckily my work was kind and generous enough to donate two of each for my h-bridge! 
Logged

United Kingdom
Offline Offline
Tesla Member
***
Karma: 224
Posts: 6613
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset


Darlingtons like those can carry a reasonable amount of current and have enough gain, but that comes at the price of a high saturation voltage (typically 2V or more at an amp or two) and running hot. You are better off with an ordinary medium-current transistor (not a 2N3904 or other low-current transistor) for switching current up to about 0.5A, and a mosfet above that.
Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

United Kingdom
Offline Offline
Tesla Member
***
Karma: 224
Posts: 6613
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Driving the lower transistors like that without resistors between the base and the Arduino is a good way to damage both the transistor and the Arduino.

When I attached a 1k resistor (per a schematic I was using as reference) the transistor was barely getting a signal.

That's because (a) 1K is OK for switching a relay but is too high a value when you want to switch a few hundred mA, as you need to for a motor; and (b) 2N3904 is the wrong sort of transistor for switching a few hundred mA, its gain is too low at these currents.
Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

0
Offline Offline
Shannon Member
****
Karma: 206
Posts: 12070
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Driving the lower transistors like that without resistors between the base and the Arduino is a good way to damage both the transistor and the Arduino.

If you have any PNP transistors, you could use the attached circuit for each side of the H-bridge. Like your existing circuit, if you accidentally set both output pins HIGH at the same time, you will short out the 9V supply and probably blow the transistors.

Actually you can drive an H-bridge with two pins rather than four if cross-connected thus:   The only issue is that very short spikes of current will flow as it is switching (choosing the right values for
R5 and R6 controls the peak currents though).

Don't forget those free-wheel diodes - here I used a bridge rectifier to get 4 diodes in one package, a neat trick.
Logged

[ I won't respond to messages, use the forum please ]

Pages: [1]   Go Up
Jump to: