1

I have an arduino uno which turns on a water pump (12V, 3.6W) once every 10 hours for a few minutes (I've followed this tutorial on how to connect the water pump). To turn on the water pump I used a PN2222A transistor, and connected the base in serial with a 220 ohm resistor to the digital pin 9. A few minutes after turning on the power on my Arduino UNO the PN2222A transistor burned out (lots of smoke coming out of it).

I also used a 1N4007 diode, cathode connected to the positive pin, and anode to the negative pin of the water pump.

The power supply outputs around 12.6V

Maybe the resistor is too low/weak?

I've created a schematic here, attached it's a snapshot of it.

tinkercad schematic

EDIT1: Here is a picture on how I connected my transistor. I've removed from the photo:

  • the input wires (should be top-right of breadboard)
  • wire to arduino digital pin (should be on h-19 on the breadboard)
  • water pump from the breadboard (positive pin: c-2, negative pin: h-2)

enter image description here

EDIT2 (a solution that worked for me):

It looks like the input to the arduino (arduino and the pump share the same 12V input, but the arduino's goes through a step down converter to 10V) was a bit loose (to be more specific, the negative pin was loose) and randomly, the arduino would shut down and then the pump would start (maybe because the digital pin becomes HIGH, dont know why though) all while the arduino is shut off. That's when the transistor (PN2222A) burned out. I switched to TIP120 with a 1k resistor as @Jot suggested and looks like when the same problem with the power happens, nothing is burning out :)

8
  • That transistor is too small. The 3.6 Watt could be the average power usage. Do you have details of that pump? What is the maximum current? Use a darlington transistor that can drive a few amps or a mosfet.
    – Jot
    Commented Jul 29, 2019 at 0:38
  • @Jot I used this one. They say it is a 4.2W pump on the website, but on the pump is written 3.6W. Do you think a TIP120 will work ok? Commented Jul 29, 2019 at 0:42
  • It says "Max rated current: 350mA", so the PN2222A should be able to do that. Perhaps that information is not reliable or perhaps it has a peak current when it starts. The TIP120 is okay, you can use a resistor from the base to pin 9 of 1k, but you can also try with the 220 ohm.
    – Jot
    Commented Jul 29, 2019 at 0:50
  • It looks like the input to the arduino (arduino and the pump share the same 12V input, but the arduino's goes through a step down converter to 10V) was a bit loose (to be more specific, the negative pin was loose) and randomly, the arduino would shut down and then the pump would start (maybe because the digital pin becomes HIGH, dont know why though) all while the arduino is shut off. That's when the transistor (PN2222A) burned out. I switched to TIP120 with a 1k resistor as you suggested and looks like when the same problem with the power happens, nothing is burning out :) Commented Jul 29, 2019 at 3:40
  • I am not an electronics expert, but I too tried controlling a 12v circuit from arduino my first attempts were with transistors and always had problems with either switching on or switching off (depending upon the actual transistor). Eventually I discovered MOSFETs and my project has been working perfectly ever since (continuous 24x7 for over 1 year). Wouldn't a MOSFET be better for this?
    – GMc
    Commented Jul 29, 2019 at 8:49

5 Answers 5

3

TinkerCAD may have mislead you on the pinout for the transistor

TinkerCAD

enter image description here

PN2222A

enter image description here

1
  • Thanks for the quick response @markshancock, but I think I did use the correct pinout (unlike tinkercad). I edited the post with a photo my partial breadboard. Commented Jul 29, 2019 at 0:21
3

By this, does it mean that you still have a problem turning the pump on? Because a PN2222A should handle up to 1A through its collector, as the datasheet states http://www.mouser.com/ds/2/149/PN2222A-371983.pdf

That's when the transistor (PN2222A) burned out. I switched to TIP120 with a 1k resistor as @Jot suggested and looks like when the same problem with the power happens, nothing is burning out :)

If you are still having problem turning the pump on, try turning it on manually by moving the jumper that is on the Arduino pin 9 to either GND or 5V, that should indicate if the problem lies on the Arduino pin (GPIO) or on the transistor.

It is also important to check the current needed by the pump, because the datasheet indicates that, to have a current IC = 350 mA -> IB = 35 mA which is close to the maximum of an Arduino pin (40 mA). If the Arduino pin cannot supply enough current to put the transistor in saturation mode, it will either kill the pin or put the transistor in its linear region, meaning it will dissipate a lot of power (Ic*Vce).

Base-Emitter Saturation Voltage

IC = 150 mA, IB = 15 mA

IC = 500 mA, IB = 50 mA

1
  • 2
    Yes, the TIP120 fixed the problem. The pn2222a was doing a great job while the arduino was powered on (it could keep the pump turned on for more than 20-30 seconds without issue), but when the arduino got shut off, the pump turned on and the transistor burned out after 4-5 seconds Commented Jul 29, 2019 at 18:24
2

Seems to be a simple pinout issue, I checked the PN2222A and its pins are in EBC order. You probabily reversed it and burned the transistor. Reverse the transistor and the problem will be solved.

schematic

simulate this circuit – Schematic created using CircuitLab

2
  • Hi, I edited the post with more information about my pinout (also see the comment to @markshancock answer) Commented Jul 29, 2019 at 0:31
  • 1
    Note: P2N2222A seems to have a different pinout to PN2222A.
    – sa_leinad
    Commented Jul 30, 2019 at 13:49
1

It looks like the input to the arduino (arduino and the pump share the same 12V input, but the arduino's goes through a step down converter to 10V) was a bit loose (to be more specific, the negative pin was loose) and randomly, the arduino would shut down and then the pump would start (maybe because the digital pin becomes HIGH, dont know why though) all while the arduino is shut off.

That's when the transistor (PN2222A) burned out. I switched to TIP120 with a 1k resistor as @Jot suggested in one of the comments and looks like everything is ifne now (even when the same problem/bug with the power randomly happens)

0

Datasheet for the PN2222A indicates it is only good for 150mA Ic for a pulse test, pulse width <= 300 microseconds, 2% duty cycle.

Your water pump, 12V, 3.6W. With P=IV, or P/V = I, then 3.6W/12V = 0.3A, indicates this transistor is not the correct choice for this application.

5
  • 1
    These aren't the values I have seen on their datasheet in the past. Eg. this one from OnSemi. Can you link to a datasheet that backs up your values?
    – sa_leinad
    Commented Jul 30, 2019 at 13:47
  • I pulled the data from the Mouser link in the answer from jDAQ, mouser.com/ds/2/149/PN2222A-371983.pdf See Page 3 and Note 4. Also the discussion of how it takes 50mA Ib to allow 500mA Ic, which an Arduino can't supply directly without damaging an I/O pin. The OnSemi datasheet has a similar note "* Pulse Test: Pulse Width≤300µs, Duty Cycle≤2%" for "IC=500mA, IB=50mA ".
    – CrossRoads
    Commented Jul 30, 2019 at 14:00
  • Thanks. You should note in your answer that that is for an Ib of 15mA. Two transistors in a Darlington pair would do the job
    – sa_leinad
    Commented Jul 30, 2019 at 14:13
  • I think I'd have suggested a low Rds P-channel MOSFET instead, or an even lower Rds N-channel MOSFET to sink current thru the motor vs sourcing to it, but that was not the question asked.
    – CrossRoads
    Commented Jul 31, 2019 at 18:31
  • I totally agree. Perhaps that should be (a separate) answer (ie. the transistor can't provide the power needed given the current the Arduino can supply to the base, use a MOSFET instead).
    – sa_leinad
    Commented Aug 1, 2019 at 1:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.