I would like to do something with large 7 segment digits, i.e. digits that need more than 5V to drive.
But how to drive them, the usually display driver chips only works up to 5V.
Some solutions:
Use the Arduino with external buffers, this means at least two chips and 12 IO pins for 4 digits.
As above, but place the buffers on IO expanders (this requires a lot of CPU time).
Use a led driver IC.
Are there any multiplex driver chips that works above 5V?
I found one led driver chip: LED1642GW that can do just about everything:
3 pin interface
16 leds, i.e. two 7-segment digits.
PWM control for each led, i.e. variable brightness.
Has constant current drive
Trimming of current to make all led equal bright (This is in addition to the PWM regulation)
Can be chained for more leds.
Works with common anode digits (Looks to be the most common large digits).
This chip is more advanced than I need, because I do not need individual brightness control. I would prefer to not have it, to reduce the data transmission. Brightness trimmer is not needed either, but do not require extra data transmission.
There are chips without constant current and/or PWM, I would prefer a global PWM and I like the constant current, but it can be a power problem for the chip.
Anybody have ideas for other chips to drive large digits?
PaulRB:
SAA1064. Very difficult/expensive to find these days. I2c interface
As I understand it:
Two or four digits.
No brightness control
Difficult to get
2 wire interface (Very good).
The missing brightness control is a minus and the difficult to get is a BIG minus.
The tpic6b595 is missing constant current regulation (Both good and bad) and it is missing brightness control (A minus, it could be done by connecting the G pin to a PWM output). It is not nearly as advanced as the chip I already found, but it is probably cheaper. This opens up the question: What is best, to use a chip with build in brightness control or to use a PWM output (I prefer a chip with build in brightness control).
SAA1064 has brightness control, 16 levels IIRC. You can get the smd package for less than £10, which you could solder to a breakout board for breadboard prototyping. Controls 4 digits with addition of a couple of transistors, or use 2 chips. Up to 4 chips can be used on same bus. I seem to remember the chip performs dimming by changing the constant current level, so power dissipation can be significant.
Earlier this year I completed a ~200mm high 4-digit 12V display. Built the digits from 12V led strips, 6 LEDs per segment. Used 4x tpic6b595 to drive them, but dimmed them in software, with the idea of fading segments individually when the time changes. Did not implement that idea yet.
PaulRB:
SAA1064 has brightness control, 16 levels IIRC. You can get the smd package for less than £10, which you could solder to a breakout board for breadboard prototyping. Controls 4 digits with addition of a couple of transistors, or use 2 chips. Up to 4 chips can be used on same bus. I seem to remember the chip performs dimming by changing the constant current level, so power dissipation can be significant.
My fast glance at the datasheet did not show any obvious brightness regulation, but I can see a current DAC and I suppose it is it. How large a range does it support? 1:10, 1:100 or 1:1000?
PaulRB:
Earlier this year I completed a ~200mm high 4-digit 12V display. Built the digits from 12V led strips, 6 LEDs per segment. Used 4x tpic6b595 to drive them, but dimmed them in software, with the idea of fading segments individually when the time changes. Did not implement that idea yet.
I hope to do a large digit display (DIY) with support from my library, but it will be some month before I have anything. At first I need to find a good chip combination to use.
Some people use UDN2981 source drivers and ULN2803 sink drivers, perhaps running off a string of 74HC595 shift-registers (to reduce number of Arduino pins). A flexible approach as the supply voltage can be upto 50V
and currents upto 0.5A (though package power dissipation limits may restrict this).
There are more efficient MOSFET versions of such ancient chips too with greater efficiency.
For higher currents you can use discrete MOSFETs as digit drivers.
A little cunning can use existing 5V multi-digit driver chips and augment their output voltages and currents using
suitable driver arrays.
MarkT:
Some people use UDN2981 source drivers and ULN2803 sink drivers, perhaps running off a string of 74HC595 shift-registers (to reduce number of Arduino pins). A flexible approach as the supply voltage can be upto 50V and currents upto 0.5A (though package power dissipation limits may restrict this).
That is the old classic way, I have used it before. For really large digits build with a lot of leds it is probably the best solution.
But I do not like displays that requires an interrupt routine to update, they eat a lot of cpu cycles.
MarkT:
For higher currents you can use discrete MOSFETs as digit drivers.
With ULN/UDN that is required when above 60mA for each segment.
MarkT:
A little cunning can use existing 5V multi-digit driver chips and augment their output voltages and currents using suitable driver arrays.
It often requires a set of pull up/down resistors on the output from the driver chip.