I'm taking my first foray into multiplexing in order to reduce the number of IC's I need to run a 4 digit 7-Segment display. I used to run a 7-Segment display I got from goldmine electric that had pinouts for each individual segment (32 pins total) with a common anode using four 74HC595's. My larger project that I'm working on requires that the footprint of my PCB be smaller than it was in its previous iteration.
What I'm doing now is I'm running the 16 pin 7-Segment common anode display I got from sparkfun with a single 74HC595. The Arduino is driving the digit assignment, and the 595 is controlling the segments. I have my code working fine so far...
Even though I have only four digits running, my duty cycle for each digit appears to be around 10% (according to my admittedly inadequate multimeter), and my refresh rate is about 50hz. I'm assuming some of the duty cycle is being lost in communication with the 595 IC, other code, etc.
Looking at the datasheet, my peak forward current is 30mA and continuous forward current is 20mA, both at 2.1V. To be safe, I currently chose my resistors (one for each segment 150 Ohms) based on the continuous current.
The specs for the peak forward current are 1khz and 10% duty cycle. I've seen graphs of the effect of the duty cycle, but not refresh rate. How does the refresh rate effect the peak forward current? I'm trying to figure out how to maximize the output brightness without blowing out the display.