I started with the circuit from (itp nyu), using an Arduino Pro Mini 3.3's PWM (pin 11) to control a small motor via a TIP120 . Then in the interest of portability, I got rid of the second power source, and I want to run both the Arduino and the motor off the same battery.
The battery is a sparkfun 3.7v LIPO, using the sparkfun LIPO charger. The Arduino uses a bluetooth mate to communicate with a mobile app. Pin 11 of the Arduino goes to base of the TIP120, while collector and emitter are wired to the same battery as the Arduino.
I thought I would have to create two electrically isolated circuits in order for this to work (which I don't know how to do fully), so I was very happy when I first hooked it up and the motor started going at full speed. To my surprise, the problem came in when I tried to slow it down.
As soon as I engage PWM, the TIP120 gets way too hot to touch in just a few seconds. Yet I can run the motor at full speed for 20+ minutes and the TIP120 stays cool to the touch and the Arduino behaves normally.
I tried an NTE261 in place of the TIP120 -- same results.
Am I misunderstanding the TIP120's state when the circuit first gets powered up? Since the motor is running at full speed, I assume that means that the TIP120 is basically allowing all supplied current to pass through. When I engage PWM on its base, then I assume it limits that current, based on the shape of the wave on its base pin. But if all that is true, shouldn't the TIP120 be overheating as soon as it's turned on and the motor starts running?
Help!?!