driving large 7-segment displays from a 3.3v microcontroller

Finding the 0.39" 7-seg displays that I had on hand a little small, I may have gone a bit overboard and picked up these huge 2.25" (it really didn't sound that big when I ordered them!) displays: p/n LSD23255-10, datasheet at

formatting link
... Now I have to figure out how to make use of them.

First of all, I don't fully understand the datasheet. The numbers specified are 1.7 forward voltage and 12-20 ma current. It wasn't clear to me whether they meant per display, per segment, or per led (each segment is comprised of 4 leds in series). Getting out the trusty bench supply and ammeter, I found that it takes approximately 7 volts to light a segment (1.7 * 4 = 6.8, sounds about right), and

10-20ma depending on how bright I want them. Ok, that makes sense.

Assuming in the worst case that I have to drive 7 segments and a decimal point, thats 8*20 = 160ma to light a whole display.

In my current project, I've been driving small displays using the microcontroller to source the voltage to the segments and a 74HCT138

3-8 decoder to sink the common cathodes. The 74HCT138 lists a maximum sink current per IO pin of 25ma, so that's going to have to be beefed up, and the microcontroller of course outputs 3.3V, not 7V.

I've worked with ULN2803 darlington arrays for sinking current before, so I'll probably stick one of those after the 74HCT138 and use it to sink the cathodes. One problem solved.

However, what I haven't done before is to drive the anodes for the segments with anything other than direct driving them from a microcontroller. I know that this can be done with transistors, but I don't know what kind of transistors to order. Can someone point me to a schematic or some recommendations?

In particular, is there anything in a nice DIP package that might contain 8 such transistors in a convenient array? Sort of a source- side counterpart to the ULN2803?

Thanks, Scott

Reply to
Scott
Loading thread data ...

01.PDF

You are going to have to level shift one or the other of the signals. What supplies to you have to run this circuit?

Try the TD62064BP as the driver for the cathodes or use several

2N2222s and resistors.
Reply to
MooseFET

SNIP ">> However, what I haven't done before is to drive the anodes for the

ULN2003 old faithful...

Reply to
TTman

Yes. If you ever wonder, just keep in mind that a red LED (shorter wavelength LEDs will be still higher) takes at least 1.55V or so to become visible. If you have four in a series chain, it's not possible that they are 0.4V LEDs.

Is the decimal point also a four-LED series arrangement?

Yes. And there are a lot of choices for sink arrays. Given that its a darlington array you are considering, keep in mind that you will drop a Vbe + Vcesat, instead of Vcesat. This moves upward your required high side voltage a little and will waste some power in the array, as well. Not necessarily a big deal. Just a note. Since this is a common cathode, it's not like you need an array that much (unless you have lots of digits, I suppose.) So you might consider the idea of just using discrete 2N3904 or 2N2222 devices (and resistors.) They can handle the current and (lower) dissipation fine. Just so long as your microcontroller can handle the base drive (need to check that, and on this point your darlingtons are no worry.)

Well, it is the anodes that prefer the arrays, because of how many you have to deal with (8.) You might use two arrays, one an 8-element PNP and another an 8-element NPN. The PNP array would be common emitter form and should be findable. For the NPN, I'd prefer driving the base directly from the output (see Q3 below), so would want emitter resistors and that would mean access to all three pins separately in the array and I'm not sure if that is readily available, let alone cheap or usable as a package. Might have to succumb to common emitter there and use a base drive resistor. You will need an array of NPN collector/PNP base pull up resistors with one side in common. But those are cheap and available.

The problem will be that if you are pulling from 3.3V, you need to level shift, somehow. There are some CD4000 series packages that support higher voltage level shifting (search for "dual supply" and "high voltage" and "level shifter") like the CD40109 or CD4504. I've not used them and haven't taken the time to consider the details here. But you might consider them. I don't know of any others that accept one rail higher than about 5.5V, off hand, though. Perhaps someone else can help on that point. But you could use their output to drive each base of a PNP from an array. Again, multiple parts though.

Three examples you might consider (view in fixed-spaced font):

ANODE

Two of those are compatible with the idea of using common-emitter arrays of BJTs. (My usual preference isn't.) The resistor values are easily designed. If you want some help on that, just ask.

Jon

Reply to
Jon Kirwan

Try the UDN2981. It's a bit long in the tooth but it'll still do the job. Richard

Reply to
Richard Swaby

01.PDF

Easiest is another uln array with a pnp transistor for each anode. PNP emitter to the high volt supply, collector to the anode, base to the uln collector via a resistor of 100ohm per volt of the high voltage. eg. 10volt supply=3D1k.

Reply to
cbarn24050

at

formatting link

You could try NTE2322 pnp arrays after another ULN2803. Compact does the job. Or perhaps something like a ULN2987. Or maybe a UDN2580.

Reply to
JosephKK

On Feb 12, 10:59=A0pm, Scott wrote: > Finding the 0.39" 7-seg displays that I had on hand a little small, I > may have gone a bit overboard and picked up these huge 2.25" (it > really didn't sound that big when I ordered them!) displays: p/n > LSD23255-10, datasheet at

formatting link

201.PDF > ... Now I have to figure out how to make use of them. >
74HCT138 > 3-8 decoder to sink the common cathodes. The 74HCT138 lists a maximum > sink current per IO pin of 25ma, so that's going to have to be beefed > up, and the microcontroller of course outputs 3.3V, not 7V. >

You bought the less expensive common CATHODE displays which makes life a little more complicated in that you need to pulll those anodes posiitve. When I did my clock project several years back (2.25" Jameco displays), I used the common ANODE parts so I _could_ use the simple ULN2803 solution. Looking back, I too would use the cheaper display, run a negative 5 supply for the cathodes and use digital PNP transistors (built in bias resisotrs) from the +5 bus. Since you're driving from a micorcontroller (as was I), you can simply invert the 7- segment Look Up Table.

G=B2

Reply to
Glenn Gundlach

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.