Electronic – Using transistors (or relays) on a 12V 3A pump

dc motormosfetnpnrelaytransistors

I am trying to use an Arduino Uno to separately control a 12V .5A solenoid, a 12V 1.5A solenoid, and a 12V 3A pump. I am currently using a TIP120 NPN transistor for each one controlled by the 5V output of the Arduino, but the pump transistor is getting hot after only about 30 seconds of runtime.

To reduce the heat, should I put two transistors in parallel and have a limiting resistor after to limit the current flow? As of now the pump is not pumping hard enough and I would like to get more current (?) to make it run harder. I know it can run harder if it gets the required energy. My power supply says that I am only drawing 2.6 A total for all three, (2 solenoids and a pump/motor) which are hooked up in parallel to the 12V supply and it seems to just max out at that, although at 12V, it says on the power supply it can supply 6A.

The solenoid transistors seem to be fine, the only issue I am having is with the pump transistor getting hot and not delivering enough current to make the pump go hard enough.

Questions

  • Does the current or the voltage drive the motor? Or both?
  • Would only having 1.5A flow through each transistor to get 3A to the motor be too much current?
  • Do I need to put a resistor in line with the Arduino signal voltage? (Beta (DC voltage gain) for TIP120 is 1000 on datasheet)
  • Should I get a bigger transistor? A MOSFET? Which one?
  • Should I get a relay instead? Which one?

Best Answer

The reason your transistor is heating too much is because it's a darlington and has a volt or more drop at 3A. The TO-220 package is good for 1 to 1.5 watt without a heatsink; you have at least double that.

Since the supply voltage is only 12V, I suggest using a MOSFET. For example, the IRLZ34 is rated 60V, with 50 milliohm Rds at 5V gate-to-source. A 100 ohm resistor in series with the gate should calm the the switching and 10k from gate to source makes sure it's off when not powered. A 3A-rated diode around the motor (cathode to positive) is good insurance that any inductive spike on turn-off is not absorbed by the MOSFET.

The other questions:

On a DC motor, voltage determines the motor speed, the motor draws as much current as is needed to run its load at that speed. Voltage drop across the transistor (and wiring) will reduce motor speed.

It would be a good idea to have resistors in series with the outputs to limit the base current. You probably only need 10mA or less, so like 390 ohms.

I wouldn't use a relay, since you don't need isolation. A MOSFET is probably less expensive than a relay, and the relay might need its own drive circuit if your output is inadequate.