Can't get 3V motors running with TLC5940 and 2N2222

Discussion in 'The Projects Forum' started by swdj25, Aug 29, 2012.

  1. swdj25

    Thread Starter New Member

    May 31, 2012

    Within Arduino environment, I’m trying to drive 16 parallel 3V-120mA motors with TLC5940 in conjunction with 2N2222 transistors and a 3.7V external source but couldn’t get even 1 motor running.

    The referenced circuit is mentioned in a TI’s report <> on page 5. It suggests an equation for getting value of the resistor between transistor Base pin and VCC in driving a series of high voltage LEDs. I changed the LED definition to MOT to suite motors. Here’s the equation:

    ( Vcc - Vbe ) / Imot_oc< R < ( Vcc - Vbe ) / Imot_max

    Note: It says that OC or overcurrent protection value should be 20% above max current

    Motor’s features:

    Typical operating current: 100mA
    Max start current: 120mA
    Max operating current: 130mA
    Rated voltage: 3V
    Certified start voltage: 2.3V
    Max operating voltage: 3.3V

    Transistor’s features:

    Collector emitter voltage Vceo: 30V
    Collector emitter saturation voltage Vce(sat): 0.6V (while Ic = 150mA, Ic 15mA or Ic =500mA, Ib = 50mA)
    Collector base voltage Vcbo: 60V
    Emitter base voltage Vcbo: 5V

    According to the equation I got a range of resistor values from:

    ( Vcc - Vbe ) / Imot_oc < R < ( Vcc - Vbe ) / Imot_max

    ( 5 – 0.6V ) / ( 0.13A+20% ) < R < ( 5 – 0.6V ) / ( 0.13A )

    28.205Ω < R < 33.846Ω

    so here are parameters used in the circuit followed by the circuit diagram:

    R = 31.3Ω
    Vcc = 5V
    Vmot = 3.7V
    Diode = 1N4001
    Capacitor = 0.1uF

    Not sure what the problems are, I know there’re a few Arduino threads discussing similar configuration but haven’t found 2N2222 transistor implemented in.

    1/a) Is the resistor value I’m using wrong?

    1/b) Or parameters relating 2N2222 I’m using are not correct?

    1/c) Or is it the problem of the TLC pin sinking current? Since each pin can sink up to 120mA. However, the motor’s start up current is 120mA plus X mA of the transistor while voltage dropping across it. The total current would be 120mA of the motor itself plus X mA of the transistor that exceeds the maximum value of the TLC pin.

    Thanks for looking at the problem.
  2. #12


    Nov 30, 2010
    I'm getting the same answers you are. The 2N2222 is an "enable" device. The TLC is the limiting device. I'm thinking the motor is lying about its start surge or the TLC isn't on at all. Measure the voltage at the emitter of the transistor and see if the TLC is grounding there.
  3. Sensacell


    Jun 19, 2012
    The TI app note you are referencing relates to using the TLC5940 with higher voltages than the part is rated for (VLED = 17 V MAX), this circuit is not helping you at all if your V Motor is only 3.6 V.

    The main problem is the output voltage of the 5940 rises to about 1 volt at 120 ma. your motor voltage would drop significantly- to 2.6 V or less.

    You need a circuit that interfaces the output of the 5940 to a simple saturated switch, rather than a constant current sink. I assume the main reason for using the 5940 is to utilize the PWM functionality to control the motor speed?.

    A PNP transistor could do this for you, configured as a high-side switch, with the motor connected to GND. Set the 5940 output current to a reasonable low level for the transistor base current.
    #12 likes this.