LED Driver?!

Hello! Got a quite n00bie question but I gotta learn it some way ;D

I would like to build a clock using 6 4"-7-Segments.
Each segment has 4 LEDs, except the DP which has 1.

42 x 30mA = 1260mA

I will use a 7221 and a 1307 RTC to display the correct time.
According to the datasheet of the 7221 its too much current to deliver.

Now, how do I drive those LEDs? Do I need 42 MOSFETs or is there a easier way?

Thanks for your help!

-andreas

Normally, you'd be multiplexing, so only one display would be on at a time, so your current would be 1/6th what you calculated.
Does that help any?

Yes.. But I think even if it's 1/6th the "scanning-through" goes to the limits..

I have tried to connect only one 7-segment module to the 7221.. but the chip heatens up and the LEDs were quite dark.

I guess supplying more power would help.

but the chip heatens up and the LEDs were quite dark.

Then something is wrong, this should be plenty bright enough even when multiplexing like this. Any chance of posting a schematic?

Each segment has 4 LED

They are connected in series, not parael, IMHO.
It means thay need about 4 x (1.3 - 1.8V) depending on color.
Multiplexing is the right solution for clock - only 4 displays.

They are connected in series, not parael, IMHO.

You don't have to be so humble because they wouldn't work if they were in parallel.

I missed that so:-
In that case you can't use a 7221 because you only get 5V out of it and it's insufficient to drive four LEDs in series.

so if the 7221 won't work.. do I use MOSFETs or another driver?

You have 7 segments, so 30mA per each is not a problem (Arduino total summary pin limit is 200mA), set let say 7 * 25mA = 175 mA. I do not expect significant change in display's brigtness.
Let assume your displays have common anodes. Connect all segments in paraell and drive them from 7 Arduino digital pins and current limiting resistors. Connect 4 anodes to PNP transistors (powered from let say 12V) and control transistors from Arduino with resistor and zener diode for (V = 12 - 5 - 0.7) minimum.

If you connect the anodes to 12V you can't connect the cathodes directly to the arduino pin because that will put 12V on that pin when the segment is off. So you have to drive the cathodes through a buffer like the 2003 or a drive transistor.

Grumpy is right, I have made a mistake for turned-off segments. ULN2003 is exactly a driver for 7 pins (segments).

I assume that I need 6x ULN2003 to drive my 6 digit 7-segment clock.. right?

No, use multiplexing - for 6 displays should be ok. Only one ULN 2003 for segments (connect all parael) and 6 PNP transistors for driving common anodes of displays. Try to find some example (keywords : 7 segment display multiplexing).

If you don't want to multiplex (aka blink) so people's eyes don't wig out when glancing across your display then use the M5451 chip. It does 35 outputs (so you'd need 2 of them) And can take 13 volts across it, so that should be enough for 4 LEDs... But it only does a max of 20mA per line. However, remember that its not multiplexed, so 20mA on constantly is brighter than 30mA multiplexed by 7 (i.e. 30mA/7 is your average current).

Search for Arduino M5451 if you are interested. I have code and even some boards with 2 chips on them and an AVR 328 if you don't want to do it all yourself.

The only drawback is you have to run more wires since each group of 4 LEDs will need its own wire. My board takes 40 pin IDE cables which makes this a bit easier.