SparkFun Forums 

Where electronics enthusiasts find answers.

Have questions about a SparkFun product or board? This is the place to be.
By krich
#81755
I am putting together a scoreboard project and have made some good progress this week. I now have a prototype diy 7 segment display module built and controlled by a TLC5916IN constant current LED driver. I'm really liking this chip. It has 8 channels, all driven with a constant current and controlled with an SPI shift register. Here's the datasheet:

http://focus.ti.com/lit/ds/symlink/tlc5916.pdf

The current can be controlled by the resistor they call Rext. I've been able to use the calculations in the datasheet to calculate the proper maximum current drive for my led strings and it all works great!

Now, here's my question and it's a question probably more out of inexperience and/or ignorance than anything.

I want to be able to dim the scoreboard (for night viewing) with just a single pot or switch, perhaps mounted through the enclosure on the side/back. I will have 4 identical 7 segment displays for the tens and ones digits of both home and away scores, each being controlled by their own TLC5916. Is it possible to use one resistor/pot to control the brightness of all four displays?

Once I figure this out, then the next question is can I use the same strategy to dim all of the TLC5916 driven displays on the scoreboard (there are currently 7 planned)?

Thanks for your input!
By waltr
#81756
I took a look at the data sheet. Rext actually sinks current to ground so I believe you would need to have isolated pots on each driver to vary the current.
There is a current multiplier (CM) in the configuration code (see page 17 of DS) that can be set to 15 or 5. This sounds like it was intended for setting day/night brightness. Maybe this could work for you.

Maybe another way is to use a JFET wired as a variable resistor on each driver chip controlled by a single source.
By krich
#81761
Thanks for the quick reply waltr.

At first I assumed the same thing, that the current sink is through the Rext pin/resistor. However, the description of the GND pin on page 3 suggests otherwise. How do you interpret this?

I was hoping to not have to get into the hassle of configuring the chip, so I haven't read the configuration sections in detail since the default values were working for me. Sounds like I may have a good reason to go there and spend some time understanding it. So be it.
By waltr
#81767
I don't trust the description on page 3. I've seen too many data sheets where they described in fine detail the digital part of the chip and was very vague on the important analog parts.

Look on page 12 of the DS. It shows Iref leaving the Rext pin. That I believe is an important hint. Most likely there is internal feedback to maintain a fixed voltage at this pin and thus a constant current. So if this pin was connected to the same pin on another drive chip neither driver could properly control the voltage at that point.

Of course you could just try it but I'll guess that it won't work so expect smoke.

There is more information on page 22 about the CM bit and Rext pin.

Did you look for an app note on TI's web site? Many times the real details on how to use a chip is in an app note.
By krich
#81770
I think Iref and Iout are two different but related values. I think...

Good idea on the app notes. I'll head over there and see if that helps clear up things.

[EDIT/UPDATE]
Ah ha! I think I have proof that the current from the LEDs flows through the GND pin. Unfortunately it doesn't come from any app note (struck out on that one), but from another part of the datasheet.

On pages 8 & 9, near the bottom, it lists the Idd supply current. One of the options is for Rext to be "open", which I assume to mean not connected. With Rext open, the LEDs are still driven with some minimal amount of current (5mA or so). This leads me to believe that the LED current is passing through the GND pin to ground. Is this how you would interpret this?

Man, it's crazy how vague these sheets can be sometimes.

So, for arguments sake, let's assume this is correct. Anyone see any issues with using one pot/resistor for uniformly setting the Iref current?
Last edited by krich on Fri Sep 25, 2009 1:03 pm, edited 1 time in total.
By waltr
#81772
Yes, Iref and Iout are different but related by the CM configuration bit as 5X or 15X.
By krich
#81773
Hmm... Maybe if the LEDs are dim enough with Rext open, I can just install a properly rated toggle switch to connect/disconnect the ground side of the Rext resistors and just forget about using a pot adjustment.

[EDIT]
I'm starting to realise the benefits of controling this via software. I think this is the way for me to go and probably easier and more flexible, by far, in the long run.
By Mike, K8LH
#81933
Have you considered connecting all of the OE pins on the driver ICs together and driving them from the PIC PWM output? Brightness will be inversely proportional to PWM duty cycle but it works with the sinking driver ICs that I use in multiplexed displays.

Good luck on you project.

Regards, Mike
By MrPotatoHead
#81982
Idea A (waltr's idea) - Use a uC to adjust the current multiplier of each IC. If you did not care about the safety features (open load, open short, or over temperature), you could drive all IC's in parallel.

Idea B (Mike's Idea) - Use a uC to drive the OE pins with a PWM signal. This would be my preferred method. LEDs like to be driven at a specific current. PWM allows you to maintain that current while adjusting brightness.

Idea C (My crazy idea) - I agree with waltr that the Iref pin is part of an internal feedback loop. If you mess with that pin, all IC's could become unstable. If you mess with the other end of that resistor, you could change the current without breaking the feedback loop. Instead of connecting it to ground, connect it to an adjustable voltage reference. By raising the voltage, the current would go down. By bringing the voltage closer to ground, the current would go up. This idea would take some experimenting to get right. Samples are free from TI, so breaking a few parts would not matter.

Have with the scoreboard.

- joseph Y.
By waltr
#81983
Idea C might just work.
Now that's thinking outside the box. Nice.
By Mike, K8LH
#82034
krich,

Just wondering if you're using one constant current sinking driver IC per 7-segment display or if you're multiplexing them?

Kind regards, Mike
By MrPotatoHead
#82043
waltr wrote:Now that's thinking outside the box. Nice.
Thanks. I am good for crazy ideas. They work most of the time. :?
By krich
#82161
Mike, K8LH wrote:krich,

Just wondering if you're using one constant current sinking driver IC per 7-segment display or if you're multiplexing them?

Kind regards, Mike
Yep, I'm planning on daisy chaining the drivers and drive them with an AVR using SPI.

I'm having a heck of a time with my prototype board right now. It seems that the output enable pin on the driver was damaged when I soldered it onto the protoboard. Reads ~1V when driven high by the AVR and 0V when not connected. Bstrange behavior for a pin with an internal pullup. I have to virtually short it to VCC in order to get it to go high.

Should have used a socket. Sigh. I may just wait for my first batch of boards to come from GP rather than rebuild the prototype.

Thanks to all of you for the excellent ideas on how to dim the display. Unfortunately most involve the OE pin, so I guess I'll Just have to wait to try them.

Cheers.
By wiml
#82182
The Iref is almost certainly part of a current mirror circuit. The data sheet makes sense to me if I go into it expecting a constant-current LED driver to be built around a current mirror; otherwise, it is awfully vague.

I like MrPotatoHead's idea of varying the voltage to which Rext is attached. Just make sure it's a low impedance (lower than Rext)!

Waltr's idea of changing the configuration register seems easiest to me, though, if it gives you enough control. You already have a µC on the board so that shouldn't be too hard.

Other ideas:

D) Use a 4-gang pot for Rext.

E) Build your own current mirror, like the multi-output one here, to provide the same Iref to each chip.
By wiml
#82184
(Also note that the voltage-gain register is also used to manipulate the LED current, indirectly by adjusting the voltage applied to Rext; and it has 128 steps, instead of the 2 settings that the current-gain setting gives you. Take a look at pages 22–23.)