Mike - K8LH
Well-Known Member
Futz came up with a really nice find of large bi-color 5x7 matrix displays at an incredibly good price. Well I still can't afford them but that didn't stop me from coming up with a half dozen different hardware designs and I thought I'd share one of them with the group.
The displays have seperate red/green (or is that red/yellow?) anode rows and seperate red/green cathode columns which provides a lot of design flexibility.
The design below uses three IC column drivers and a bunch of transistor row drivers and produces 1024 colors for the entire display (sorry, no individual color support in this 'economy' design). Each column driver IC output drives both the red and green cathodes in that column but we have seperate row driver transistors for the red and green rows. Each set of red and green row driver source transistors are sourced by a PWM driven high side driver. Yeah I know, very confusing (grin). Please check out the drawing. Each 5x7 bi-color display is represented as 5 columns and 14 rows in that drawing, with the common red and common green column lines connected together.
Now you're probably thinking that the 90 ma output on each column driver pin isn't enough to light both the red and the green led in that column and you're right. This is where we use magic (grin). Using a PWM signal with a period equal to the row scan rate we simply drive the red row during the PWM "on time" and the green row during the PWM "off time" during each row display interval. So while the column driver pin is sinking current 100% of the time, it's only sinking either the red or the green led in that column at any time.
I should mention that while the drawing shows a single set of row driver transistors, the "real world" design would probably use row driver transistors for each 5 to 10 LEDs in a column so you could easily use 50 or 60 or more cheapy 2N2907A or MMBT2907A transistors.
I apologize for skimping on the explanation. Questions?
Have fun. Regards, Mike
<added>
The <CLK> and <DAT> lines to the driver ICs are incorrectly labeled <RB1> and <RB2>. Sorry...
The displays have seperate red/green (or is that red/yellow?) anode rows and seperate red/green cathode columns which provides a lot of design flexibility.
The design below uses three IC column drivers and a bunch of transistor row drivers and produces 1024 colors for the entire display (sorry, no individual color support in this 'economy' design). Each column driver IC output drives both the red and green cathodes in that column but we have seperate row driver transistors for the red and green rows. Each set of red and green row driver source transistors are sourced by a PWM driven high side driver. Yeah I know, very confusing (grin). Please check out the drawing. Each 5x7 bi-color display is represented as 5 columns and 14 rows in that drawing, with the common red and common green column lines connected together.
Now you're probably thinking that the 90 ma output on each column driver pin isn't enough to light both the red and the green led in that column and you're right. This is where we use magic (grin). Using a PWM signal with a period equal to the row scan rate we simply drive the red row during the PWM "on time" and the green row during the PWM "off time" during each row display interval. So while the column driver pin is sinking current 100% of the time, it's only sinking either the red or the green led in that column at any time.
I should mention that while the drawing shows a single set of row driver transistors, the "real world" design would probably use row driver transistors for each 5 to 10 LEDs in a column so you could easily use 50 or 60 or more cheapy 2N2907A or MMBT2907A transistors.
I apologize for skimping on the explanation. Questions?
Have fun. Regards, Mike
<added>
The <CLK> and <DAT> lines to the driver ICs are incorrectly labeled <RB1> and <RB2>. Sorry...
Attachments
Last edited: