• Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

MAX7219 and higher voltage LED displays - how?

Thread starter #1
Hi,

I'm new here but not at all new to electronics. But here is one I just can't get my head around.

I'm looking for a solution to drive 3 inch 7-segment common cathode LED displays with a MAX7219 LED driver IC.
The displays require 9V 20mA per segment. The 20mA is well within the MAX7219's max segment current of 40mA.

However, the MAX only provides 5V to the segments. I've tried this and the only segment that comes on is the decimal point (through a zener diode) as that requires only 4V.

I've done some searches on the internet and I've found several ways to approach this problem but they all don't really apply to my situation.

I've found a MAXIM application note that describes driving displays with higher voltage but they require common anode displays. I have already bought the common cathode displays and wouldn't want to spend more money on common anode displays.
Using the MAX7219/7221 to Drive Higher Voltage or Current - Maxim

The other thing I found is in the MAX7219 datasheet on page 12. It uses the MAX394 quad analogue switch IC to drive a MOSFET per digit. 2 problems with that solution are that a) it seems to be for higher current, not higher voltage (supply voltage still at 5V) and b) I can only find the MAX394 as SMD and I don't have SMD soldering equipment.
http://www.electro-tech-online.com/custompdfs/2011/03/MAX7219-MAX7221.pdf


Another possible way seems to be adding a TD62873 / UDN2981 (they seem to be the same thing) to drive the segments with a higher voltage. But I'm not sure this is applicable here. I've attached a schematic showing how I think this might need to be connected. Would this work? Or would I need additional drivers in the digit lines? If yes, which would you recommend?


Does anyone have any further ideas, please?

Chris
 

Attachments

Last edited:

ronv

Well-Known Member
Most Helpful Member
#2
I think you might still have a problem when the digits are off the cathode voltage could rise past the 5 volt spec. on the driver.
 
Thread starter #3
that is a good point. Thanks.
So you suggest to put a low side driver in the digit lines, such as the ULN2803, just like the UDN2981 in the segment lines but connect pin 9 to ground and pin 10 to the same 12V supply as the UDN2981?
 
Thread starter #5
I don't think so. If it is enough to put one IC in the segment lines and one in the digit lines (the ICs are 8 channel, so one for all segment lines and one for all digit lines) plus a few resistors, then I'll go that route.
I don't see how other displays would help, apart from being, maybe, common anode. I want 3 inch displays and they all seem to require more than 5V per segment.
Besides, I already have the displays and spend a considerable amount of time on the mechanics of mounting them on a frame. So I'd rather go with what I already have an make that work.
Unless the general opinion is that this won't work... In which case I'll have to start from scratch...
 
Last edited:

ronsimpson

Well-Known Member
Most Helpful Member
#7
I do not know what dispaly you have. It took a long time to find a 9 V 20mA display. I found humdreds at 1.7 volt!
The 9 volt displays I found are 4 volt for the "." and 9 volts for the"-". (Decimal point).
12V-9V=3V 3V/125 ohm = 20mA ok
12V-4V=8V 8V/150 53mA ouch!
 

ronv

Well-Known Member
Most Helpful Member
#8
You might try just clamping the cathodes of the digits so they can't go above 5 volts. (A diode with the anode to the digit and cathode to +5) Not sure what will happen to the decimal point in this scheme.
 
Thread starter #9
Aaahhh, one of those threads that describe the exact same problem you have, there is some discussion and ideas and then it stops. No idea if they got it working or have given up. :-/
But good to see that I'm not alone with the problem and that they have discussed an almost identical approach.
I did search the arduino forum before posting here but it probably didn't search in the old forum.
 
Thread starter #10
I do not know what dispaly you have. It took a long time to find a 9 V 20mA display. I found humdreds at 1.7 volt!
The 9 volt displays I found are 4 volt for the "." and 9 volts for the"-". (Decimal point).
12V-9V=3V 3V/125 ohm = 20mA ok
12V-4V=8V 8V/150 53mA ouch!
The displays I have are these:
8pcs 3inch 7 segment Red LED display common cathode on eBay (end time 26-Mar-11 06:19:49 GMT)
For some reason they are now saying 12V forward voltage. When I ordered them it said 9V.
Oh and I asked them. The 160mA is for the whole display when all segments are on. 8 segments * 20mA = 160mA.

Regarding your calculation, I was planning on adding a zener diode into the segment line for the decimal point. This is suggested in the MAX7219 datasheet. I'm assuming this would still apply when using drivers? Of course I'd add the zener after the driver. I should still not get over 20mA for the point. Alternatively I could probably use a higher value for the resistor in the DP line.
 
Last edited:
Thread starter #11
You might try just clamping the cathodes of the digits so they can't go above 5 volts. (A diode with the anode to the digit and cathode to +5) Not sure what will happen to the decimal point in this scheme.
Wouldn't that light up segments if the voltage difference was high enough? Say I drive the display with 15V - 5V = 10V difference, enough to light up the digit. Or did I understand this wrong?
 

ronv

Well-Known Member
Most Helpful Member
#15
I think with the exception of the decimal point the drop across the segments are like 8 volts so 8 + 5 is 13. It would work on 12 volts but not for the decimal point that is only about 4 volts (It would still glow I think). Or, It may be possible that the high side also switches, can't tell from the data sheet.
 
Last edited:
Thread starter #16
I've been recommended to use ULN2803 sink drivers as well. I changed the schematic to include the ULN2803. Actually 2 of them. Since the ULN2803 is inverting I had to invert the inputs again. I prefer to use another ULN2803, mostly because I prefer its pin-out to, say, a couple of 7404s.

Do you think this will work this way?

I ordered a few ULN2803 and UDN2981 from China (a lot cheaper!) but will have to wait a month or so for them to arrive before I can test this out.
 

Attachments

Thread starter #18
OK, I'm happy to report that this works. :lol:

I only had to change the limiting resistors for the LEDs. I hadn't taken into account the voltage drop through the 2803s and 2981. So these are now 22R and 560R for the decimal point. But you would want to recalculate these for your displays anyway.

Also, the load resistors between the MAX and the 2981 were not required but it worked just as well with them.

I have amended the schematics. This is how it actually works.

I took a few pictures of my testing. First few show the circuit on breadboard. Then half the display in action. Then I soldered everything on strip board. The first board is the one with the MAX that I had already made. The second one I made today is the "driver board". On this board you can see why it was a lot easier to use another 2803 as inverter. Only one wire on the whole board. )

https://picasaweb.google.com/chris.yesyes/ObservatoryClock#
 

Attachments

#19
May be a stupid question, but why you didn't use 2981 (which are without inversion) for both digit and segment chains, but used two 2803 chips in digit chain instead?
 
Last edited:

EE World Online Articles

Loading

 
Top