1
\$\begingroup\$

So I have been having some trouble with my Teensy and I think I have an idea of what it is but I need some help understanding it .

So I have four 12v RGB led strips. Each color pulls close to an amp so I used 12 TIP31C NPN transistors I had. This works but after a minute or so, or less if all the lights are on full, the Teensy will stop responding and even reboot. I noticed it gets very warm as well. As soon as I turn the lights on another LED I have on a digital pin seems to half in brightness.

The way it's wired is that each transistor's emitter is wired to ground, base straight to a PWM pin on a Teensy, and collector to the individual color of the strand.

I believe what's happening is that I am drawing too much current from my Teensy and causing it to overheat and also using too much power to drive the transistors so that the Teensy cant properly run anymore, which causes it to shutdown.

My problem is that I don't know if I need to use MOSFETs instead of the TIP31Cs or if I can use a base resistor between each transistor and the Teensy. I have no idea what value resistor I'd need or any idea what MOSFET I would need if I use that instead. I spent several hours trying to understand the idea behind both calculating a base resistor and also selecting a proper logic level MOSFET but the concepts escape me for both.

The Teensy outputs at 3.3v and each pin is rated for I think a maximum of 20ma. Something that complicates is slightly is that the length of the LED strips will vary a little.

\$\endgroup\$
0
\$\begingroup\$

... emitter is wired to ground, base straight to a PWM pin ...

VBE(sat) of the TIP31C is 1.8V. Every time the output goes high, the MCU has to burn up the voltage difference between the supply voltage and VBE internally. This is not good for the chip. Put a resistor on the base so that there is an additional external component to drop this voltage over instead.

\$\endgroup\$
  • \$\begingroup\$ Oh, okay. how do I figure out what value of resistor to use? \$\endgroup\$ – user2245298 Sep 7 '15 at 23:46
  • \$\begingroup\$ By replacing your values into the formula in the answer for the linked question. \$\endgroup\$ – Ignacio Vazquez-Abrams Sep 7 '15 at 23:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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