Go Down

Topic: Modifiying TLC5940 Library? (Read 2517 times) previous topic - next topic

BetaDelta

I'm looking into using the TLC5947 [a 24 channel PWM driver] which is similar to the TLC5940 chip. I'm not a hardcore programmer and don't have the knowledge to run this chip raw. So I was wondering if It would be relatively easy to modify the TLC5940 library to work this chip?

Thanks, /me
"C++ : Where friends have access to your private members." - Gavin Russell Baker

Ben Combee

Looking at the data sheet, the 5947 has the same programming interface as the 5940, just more output bits.  The existing library should work fine with it.  It would just be treated as two 5490's with the last 8 bits ignored.  If you chain two of them, you'd treat them as three 5490s.  The main difficulty is that this chip is only available as surface mount, but if you can handle that, you should be good.

macegr

#2
Apr 09, 2009, 12:51 am Last Edit: Apr 09, 2009, 12:52 am by macegr Reason: 1
The TLC5947 doesn't really need a library. It's much simpler than the TLC5940 because the '40 requires an external grayscale clock and a BLANK signal every 4096 clocks. The TLC5947 is fire-and-forget, you simply shift 288 bits into it, and pulse the latch pin.

This is my TLC5947 board:

Unique RGB LED Modules and Arduino shields: http://www.macetech.com/store

BetaDelta

I see. OK this sounds stupid, but could you link me to some info about 'shifting bits'. Just so I'm going in the right direction.

/me
"C++ : Where friends have access to your private members." - Gavin Russell Baker

macegr

Unique RGB LED Modules and Arduino shields: http://www.macetech.com/store

BetaDelta

Thanks for that.

@ Ben Combee

I've just ordered 5 samples from Texas Instrument [thanks for all their samples to a poor student] and am going to start by soldering wires to one chip and shrink wrapping the connections. Then I plan to install it into a 28-Dip connector so I can just put it into a standard breadboard with no worries.

Might post details when complete.

/me
"C++ : Where friends have access to your private members." - Gavin Russell Baker

macegr

#6
Apr 09, 2009, 02:10 am Last Edit: Apr 09, 2009, 02:10 am by macegr Reason: 1
What part, exactly, do you plan to shrink wrap? It comes in either QFN or HTSSOP, the wires will be 0.5mm or 0.65mm apart respectively. That's not too different from what I did with a 0.5mm QFN-16 a while ago...it was very difficult:


Unique RGB LED Modules and Arduino shields: http://www.macetech.com/store

BetaDelta

#7
Apr 09, 2009, 02:20 am Last Edit: Apr 09, 2009, 02:26 am by PA_Skins Reason: 1
I'm planning on doing this with the HTSSOP package. I've seen this sort of thing done before and I will have five free attempts so...

Like this:




:D

/me
"C++ : Where friends have access to your private members." - Gavin Russell Baker

BetaDelta

FYI: I'm planning on using the TLC5947 and a Darlington Array with the Arduino to run an LEDSee.com RGB LED Matrix. Might make a shield [like Halley or Madworm's] but with this implementation instead.

/me
"C++ : Where friends have access to your private members." - Gavin Russell Baker

macegr

That looks like it may be a 0.8mm pitch QFP, a lot easier to solder than the HTSSOP. Seriously, when you get the samples, you'll see how small the spacing is. Soldering 32 wires to that is going to be quite difficult. You might want to find or make an adapter board.

But if you manage to do it, definitely post pics!
Unique RGB LED Modules and Arduino shields: http://www.macetech.com/store

BetaDelta

OK, so I guess a breakout board will be required!

/me
"C++ : Where friends have access to your private members." - Gavin Russell Baker

Razorconcepts

#11
Apr 23, 2009, 12:51 am Last Edit: Apr 23, 2009, 04:04 am by RazorConcepts Reason: 1
I am interested in using the TLC5947 also so I designed a breakout board.
http://www.batchpcb.com/index.php/Products/20823

It can only sink 38ma, how would a transistor be wired to trigger larger currents?

Go Up