The MAX7219 is one of those parts in your bin that has a “done and done” attitude. In case you’re unfamiliar, this chip can be used to control 7-Segment displays, 8×8 Matrix displays, or even a pile of random LEDs. You talk to it via a simple serial interface and it handles the tasks you don’t want to fuss with, such as multiplexing and modulation. Not all displays are alike, however, so [Raj] wrote in to show how he used the MAX7219 to control high voltage 7-segment displays.
The spec on the MAX7219 only allows an input voltage of 5V, which limits the driver output to around 4V and can cause problems when using large displays that series-connect LEDs internally. [Raj’s] solution allows the MAX7219 to control displays with combined forward voltages of up to 24V, and as an added bonus, the circuit maintains compatibility with existing microcontroller libraries. We imagine this could be a nifty trick to keep on hand the next time you need to control large scoreboard displays.
The circuit works with the help of intermediate drivers to essentially level-shift the voltage to the display, which both provides the high voltage and protects the MAX7219’s inputs. One of the drawbacks of this circuit is losing the MAX7219’s constant current feature, requiring that each segment connection includes a current-limiting resistor. We appreciate this design’s attention to default states, because you wouldn’t want all of your LEDs turning ON during boot-up!
I think this is not the best solution. TPIC6B595 is far better.
Might want to look into adding a transistor/MOSFET in series of the
driver in Cascode configuration. This allows you to extend the operating
voltage of the driver while keeping the constant current feature.
The series transistor/MOSFET provide input-output isolation while the
driver is the one providing the constant current regulation.
I drive my VFD at about 26V from a 5V CPLD using series 30V P-MOSFET in
Cascode and pull down resistors. I could have driven the MOSFET gate
from the CPLD, but this produced a better PCB layout.
http://en.wikipedia.org/wiki/Cascode
Why would you want to use a $10 – $15 part when a $2 microcontroller would do just as well? And to make matters worse, the UDN2981 source driver is practically unobtanium.
MAX7219 can be had for around 50c a piece in China, plus whatever shipping to you :)
If they are actually authentic Maxim parts however is a whole different matter, but they work just the same so who cares for a personal project.
Even putting aside the issues with pirated chinese parts, you’re still throwing away one of the main benefits of this chip, namely the constant current drive. You can obtain the same functionality at nearly the same price with a legitimate MCU.
Where’s the “High Voltage” exactly?
I thought about this… so, the reason the MAX7219 is interesting is that it is an entirely self-timed 8×8 matrix driver with PWM, adjustable constant current, and a built-in lookup table for all digits and a few letters (“HELP-“). This isn’t true of the TPIC6B595, or of most other Maxim parts, and so on. The problem, though, is that once you throw away the constant current driver of the MAX7219 and have to convert everything from 5V logic to higher voltage, it seems a lot cheaper to use a microcontroller and a few transistor arrays.
“High” voltage in this case is 24V. Nothing as exciting as using it to drive a matrix of cold cathode tubes.
Thanks for stepping in rj. Yes, the MAX7219 is powerful, but you’re going to pay for it. I think the MAX6951 is a newer version, but still not cheap. Ha! Driving cold cathode tubes with this part would be exciting!