Author Options:

How to have the Arduino switch 4 TIP120 tansistors? Answered

I have an arduino that needs to switch 4 TIP120 Transistors, and then the transistors then turn o an off motors. Now the problem i have ran into is that the arduino does not give enough current off to control the motors. Is there a way to get around this?




That's what your using the transistors for, to isolate the power source of the arduino from the power source needed to drive the motor(s). The arduino only needs to send a signal to the base pin of the transistor. The rest of the transistor can be tied to a separate power source. Just make sure the negative of the stronger power source is tied to the ground on the arduino. So when you send a 5V signal from the arduino to the base of the transistor it turns the transistor on, allowing the positive of the stronger power source to pass through the transistor, to the motor's positive terminal and out the motor to ground/negative terminal of the stronger power source.

Horn .jpgHorn .jpg

Alright, i understand that so far. Now say that i want to make the robot (Its a little robot my friends and I created) to go foward, i would then tell the arduino to turn those two pins on to switch the transistors. Now the problem lies here, when i switch the two arduino pins, nothing happens, but when i only switch one pin on at a time the motors move.

Depends on your code. But if you want to make a robot you should use a motor shield of some sort for that. One that can handle the motors you want to use and give you good solid control.

Yea. I probably should. but these motors are 12v motors. They actually came out of one of those like little plastic toy ridable four wheelers or such. Can any such motor shield out there control high powered motors?

From what i can find those motors will have a peak current draw somewhere in the neighborhood of 60A. That is a lot of current. So if the transistors are not rated to trigger off a 5V source and can't handle a max of about 60A then they won't work.

With motors that large you may want to use the transistors to trigger relays. You should be able to find a heavy duty relay that has either a 5V or 12V coil then you can use the schematic i showed earlier. The relay coils will draw a lot less current which most NPN transistors will be able to handle. Just replace the horn with your motor.

In the schematic i show that these transistors switch relays that then control the motors. Sorry if i was misleading.

Yes, the arduino triggers the transistor which turns on the relay which turns on the motor. The transistor is needed to supply enough power to the coil of the relay. The Relay is needed to handle the power the motor pulls.

Ok, the transistor does supply enough power to the relay to switch it. But the arduino does not supply enough power to switch 2 transistors at a time.

Then find a transistor that doesn't need as much power to actuate it. You only have a max of 500mA available from the Adruino so plan your components accordingly. Otherwise you may need to add a second transistor.

Of course it does it is wired one switch is forward the other switch is reverse if you switch both switches on the same motor they go to the same polarity.


What i meant was switch one motor forward and the other motor backwards.

If it is wired right and programed right it should do what you want arduino should supply more than enough base current. Is everything connected to a common ground?


Yes. Everything is connected to a common ground, and i thought the arduino could handle it too. But as mpilchfamily said, I may need to add a second transistor. :/