voltage too low at dc motor

I'm not experienced in electronics and I need your help.

I have the circuit represented here, my intention is to put a dc motor working (in my case a water pump), using an Arduino Uno as a switch.

My water pump needs an input of 6 to 12 volts, 1.5 to 4 watts, but using this circuit I only have a voltage at my pump of 2.78 volts.

My battery is 9.6 volts, and I was expecting some voltage drop, but not that many.

Can someone explain me how to get some 6+ volts on my pump?

R220 - 220Ω
R10k - 1000Ω
T1 - 2N2222 A331
D1 - IN4007 KED
BAT9.6v - 8x 1.2V AA batteries
M1 - DC water pump JT-160 6-12V 1.5-4W


Edit: The 10k resistor is actually a 1k Resistor

• What's that 10k resistor on VIN doing there? You're restricting the current the micro has available to 1 mA, that can't be good. The micro basically constantly has too low voltage, because most is dropped on the resistor. May 6, 2016 at 20:51
• Your title says the voltage is "too low at transistor's collector", but your text says the voltage at the pump/motor is only 2.78 V. Which one is the actual problem? And did you measure this voltage when the transistor is meant to be on or off. (Note you want the transistor collector to go very low (like 0.2 V) when you are turning the pump on) May 6, 2016 at 21:00
• I though of putting the 10K resistor because without it some leds of the arduino light up, and I was afraid the current was too high for the arduino. May 6, 2016 at 21:22
• The problem is the motor, which is not getting at least 6V, only now I started experimenting with transistors, sorry if I didn't explain myself well. May 6, 2016 at 21:23
• Vin should be 7 - 12 volts, with no current limiting. A voltage regulator on the UNO board reduces that input voltage to 5 volts for the microcontroller. The LEDs on the UNO light up to show that it has power, and is running. The microcontroller will only draw the current it needs, regardless of how much current the power supply can deliver. With the input current limited by the 10K resistor, the AT328 cannot deliver enough current to the transistor base to turn it on hard enough to pass the current the motor requires. May 6, 2016 at 21:37

You are not providing consistent information about your problem, but you really don't need to.

Your transistor is not being driven hard enough to turn on fully.

Your pump, from its voltage and current ratings, needs about 0.25 to 0.33 amps. This is at the upper limit of what a 2N2222 can handle. See,the data sheet and look at the Collector/Emitter Saturation voltage. A properly-driven 2N2222 will drop about 0.4 volts at 150 mA, and 1.6 volts at 500 mA, so you should expect a best-case voltage drop of a volt or so.

And what constitutes a properly-driven transistor? Base current one tenth the collector current - in your case, about 25 to 30 mA. Now look at the R3 specs and you'll see a maximum of 20 mA output current for an IO line. However, this 20 mA is probably not available to your circuit. Try measuring your D9 output, and I'd guess it will be in the vicinity of 3 volts or a bit more. Let's say 4 volts. The base current will then be $$i_b = \frac{V_{D9}-0.7}{0.220} = \frac{4-0.7}{0.22} = 15\text{ mA}$$ which is only half of what you need. So the 2N2222 is not being driven hard enough and is dropping more voltage than you expect. It's also getting pretty hot.

So, you need a better output stage. Either use another transistor to increase overall gain, or go to a MOSFET. If the latter, make sure you use a logic-level FET. Regular MOSFETs will usually have a gate threshold which can be high enough to cause similar problems to what you're seeing.

• My D9 output is only 2.15V, and yes, the transistor is getting very hot. I'll try to follow your suggestions. Thanks very much May 6, 2016 at 22:11
• Could just use the ancient but reliable TIP120 Darlington in the TO-220 package. Plenty of gain and headroom on the watts dissipated.
– user105652
May 7, 2016 at 2:52