TLC5940 + small vibrating motors + issue

Hello,
I am using the basic set up from the playground and instead I am trying to drive small vibrating motors instead of LED's. The motors I use this:
10mm Shaftless Vibration Motor 3.4mm Button Type
Voltage Range [V] 2.5~3.8
Rated Speed [rpm] 12000
Rated Current [mA] 75
Start Voltage [V] 2.3
Start Current [mA] 85
Terminal Resistance [Ohm] 75

I ve also incorporated diodes (1N4001 1A/50V.) in every motor.

It seems that it is in the upper limit of the power that the 5940 (although data sheet states 120 mA per channel I think I burned already one of them).
So trying to find a balance between the current and how fast the motors are going to work.
Any ideas how the 5940 could handle the power for the 16 small motors? They need to work altogether at some points.

Hello Richard!
The TLC data sheet also says 120 mA at Vcc> 3.6V, isn't that correct?
Could you elaborate your thought with the transistors?

It is not just the current it is the power dissipation that is also a limiting factor.
Have you calculated that with your voltages and load?

@ Grumpy_Mike: I am on that right now. I am calculating the power dissipation according to the formula that I found here:
http://code.google.com/p/tlc5940arduino/wiki/PowerDissipation

@Richard: Well forgive me if I don't get that right I am not very experienced with electronics but the 2.3 to 3.8 is the motor's voltage range. When saying to use transistor you mean in conjunction with the TLC5940 and an external source?

Well my mistake that was the specs of the motor.
here is a schematic of my breadboard schmatic | 4nt0n | Flickr

Good catch about the diodes thanx!
Also about the voltage is true. 4.4 is higher the the motors specs.
So there is no way to have
75 mA @ 3.8V from the TLC5940

Well I initially was decided to use the TLC5940 chip cause I need to control 24 of those motors and control them with PWM.

I am trying to sort out how many of these motors I can drive with a single tlc5940 without having power issues and maybe use more chips?
so how can I limit the voltage in the outputs and take the apropriate amount of current to drive my motors?

I am trying to find the straight forward solution (if there is any) cause I am in a very strict deadline.

If I may recommend a total change in hardware, here it is...

You could use 3 74HC595 chips with 3 ULN2803A chips to power the motors. I have to go somewhere right now, but when I get back, I will make a diagram in Fritzing.

so how can I limit the voltage in the outputs and take the apropriate amount of current to drive my motors?

That is what the constant current drivers do in the TLC5940. What have you got the current drive set to?

By the way that is not a schematic you posted but a physical layout diagram, they are useless for seeing id you have the design right. How can you possibly make anything without a schematic?

I am calculating the power dissipation according to the formula that I found here:
http://code.google.com/p/tlc5940arduino/wiki/PowerDissipation

Why on earth don't you use the data sheet?

@Jeremy - He has no PWM control with the setup you described.

Probably that is the part I am missing. I am using a 10K[ch937] resistor currently. I have connected only one motor and my meter shows 75A. is that make sense?

btw the lack of PWM on the 74HC595 made me to abandon it.

my meter shows 75A. is that make sense?

No not in the least. 75A is enough to melt most things. In 40 years of electronics I have never built a circuit that uses more than 20A. At 5V 75A would be 375 Watts!!!!

yeah of course u are right typpo!
I mean 75 mA!

That's better. The problem is that you meter only shows average current when it is running and it misses the surge current on turn on. This is sometimes called the stall current and it could be that that is killing you. Measure the DC resistance of the motor.

A 10K current reference resistor should give you about 5mA so I am surprised you are measuring 75mA down it.

It is difficult to see but you show the Iref resistor as 640R not 10K. That would give you about 70mA on each channel.

actually once again u r right!
I screwed the connection with the diode. so I removed it in order to measure properly. it gives me around 3mA which is far to low to drive the motor. So probably I have to use sth like a 320[ch937] resistor right? the data sheet of the motor mentions 75[ch937] terminal resistance.

No the formula for linking current to resistor is:-
Current = 32 * (1.24 / R)

Do you know you have to have 75mA?

Use a 1K resistor, that will give 40mA which should get some movement. As I said before 640R will give about 70mA.

that is from the data sheet of the motor
Voltage Range [V] 2.5~3.8
Rated Current [mA] 75
Start Voltage [V] 2.3
Start Current [mA] 85

what is 32 and 1.24 in the formula?

what is 32 and 1.24 in the formula?

1.24 is the Viref, the 31.5 is a magic number
See page 12 of the data sheet.

Just because you have a rated current doesn’t mean you have to drive the motor at that value. This chip has a constant current drive so you should just be able to set it at what you want and the chip will regulate it down. The more it cuts down the current however the more power it burns in itself. See the power calculations on page 13 of the data sheet.

Grumpy_Mike you are perfect!

with 1100[ch937] I am taking around 26[ch913] and a some movement.
So with a resistor at around 640[ch937] it will be theoretically ok if the dissipation is not very high correct?
how about if I use sth like a heat-sink for the chip?
I have one more question how in the chip is connected the voltage input in the chip with the output current and the resistor?

how in the chip is connected the voltage input in the chip with the output current and the resistor?

Not sure what you are saying. One end of the motor goes to a positive supply, the other end goes to the current sink outputs of the chip. The chip controls the resistance of this pin to ground according to the value of the current reference resistor. There is no voltage output from the chip at all.