Multiplexing with transistors

Thread Starter

matgube

Joined Nov 16, 2023
30
Hi,
I'm trying to create a multiplex control of LEDs.
It's similar to a Common Anode configuration of several 7 segment displays. (please consider this is only one branch of the system)
20240910_091358.jpg
Of course it does not work as the NPNs downstream the LEDs cannot do their job properly. What are my options here downstream the LEDs?
I need to stick to transistors or other small ICs.
(I tried LED drivers but I cannot get enough current out of them for my application, up to 800mA per anode).
Thanks!
 

DickCappels

Joined Aug 21, 2008
10,661
If it were my circuit I would flip the transistors around, use NPN transistors, and ground the emitter. Then be sure to drive the bases hard enough to saturate the transistors.

MOSFETs might be a better choice considering the current involved, in which case it would be N-channel MOSFETs with their sources grounded, with MOSFETs you only have to worry about supplying enough gate voltage.

Be sure to place a resistor in series with each resistor or in series with the output of the 2N3904 to limit the current lest something is killed by excess current.

The reason for grounding the emitter or source is so that you can get almost the full power supply voltage across the LEDs and current limiting resistors.

Similar to the suggestion for the individual LED switches, I suggest that the 2N3904 be changed to a higher current PNP with the emitter connected to +5 and the loads (LEDs) connected to the collector. This will waste less voltages when these high current LEDs are switched on.

Any more you can tell us about your application might result in more helpful information.

Consider power dissipation when choosing the package and whether or not heatsink(s) are required.
 

Thread Starter

matgube

Joined Nov 16, 2023
30
If it were my circuit I would flip the transistors around, use NPN transistors, and ground the emitter. Then be sure to drive the bases hard enough to saturate the transistors.

MOSFETs might be a better choice considering the current involved, in which case it would be N-channel MOSFETs with their sources grounded, with MOSFETs you only have to worry about supplying enough gate voltage.

Be sure to place a resistor in series with each resistor or in series with the output of the 2N3904 to limit the current lest something is killed by excess current.

The reason for grounding the emitter or source is so that you can get almost the full power supply voltage across the LEDs and current limiting resistors.

Similar to the suggestion for the individual LED switches, I suggest that the 2N3904 be changed to a higher current PNP with the emitter connected to +5 and the loads (LEDs) connected to the collector. This will waste less voltages when these high current LEDs are switched on.

Any more you can tell us about your application might result in more helpful information.

Consider power dissipation when choosing the package and whether or not heatsink(s) are required.
Hi,
Am I understanding it correctly?
[1725964344138.png
(I had resistors but I did not put them in the first diagram)

The application is as follows:
A sport scoreboard with user feedback.
6 7-segment digits facing the public and the same towards the scorekeeper, showing the same values.
The digits facing the public must be much brighter (and larger) than the other ones, and that's where I'm struggling a bit. I need up to 100mA per segment, so up to 700mA per digit + the current used by the feedback digits.
I started with shift registers, but they required a lot of components and were susceptible to noise.
So I tried with LED drivers (e.g. ICM7218A/B) driven by an Arduino, but the current they can deliver/sink is not sufficient (or at least I cannot find anything that powerful).
I looked into multiplexers but I ran into similar problems with current supply/sink.
Thanks!
 
In 6 time multiplex you are getting a very poor brightness.
You can increase the brightness by little overdriving the Leds, like force the segment with 200mA instead of 100mA, so use a lower series resistors with Leds.

Rather consider 3 time multiplex max.

I would do with mosfets:
(Do not forget the P-ch is turned on by pulling the gate low):

IMG_1036.jpeg
 
Last edited:

DickCappels

Joined Aug 21, 2008
10,661
The transistors with their emitters connected to +5 are PNP (or P-channel) those with the emitters are grounded are NPN (or N-channel). Your schematic looks ok, except the NPN appears to have two emitters.

Generally speaking the luminance is proportional to duty cycle. If you run at 20% (edit) duty cycle, the LEDs will appear to be only about 20% as bright (for a given current) as the would be if run 100% of the time.
 
Last edited:

Thread Starter

matgube

Joined Nov 16, 2023
30
The transistors with their emitters connected to +5 are PNP (or P-channel) those with the emitters are grounded are NPN (or N-channel). Your schematic looks ok, except the NPN appears to have two emitters.

Generally speaking the luminance is proportional to duty cycle. If you run at 29% duty cycle, the LEDs will appear to be only about 20% as bright (for a given current) as the would be if run 100% of the time.
Gotcha...
So my safest option for maximum brightness would be to control the 42 segments separately, without multiplexing.
Is there any IC out there that can do this job? I have only 13 free output pins in my Arduino.
Thanks!
 
Top