Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

multiplexing 7-seg display with PIC

Status
Not open for further replies.

guardspecialone

Junior Member level 1
Junior Member level 1
Joined
Nov 13, 2015
Messages
15
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Visit site
Activity points
171
Hi

I want to multiplex (9) nine 7-seg displays (common anode). My PIC can source/sink maximum 18mA on each digital I/O pin but the display I am using is rated at 30mA

Question is:
Can I use only 9 mosfets on high side or I have to also use 8 mosfets on low side?

* (9) nine P-CHANNEL mosfets (high side) will control each display (on/off)
* (8) eight N-CHANNEL mosfets (low side) will control each segment (A, B, C, D, E, F, G, DP)

Each display segment only draw around 4mA (4*8=32mA total) of current. Display anode will be powered with mosfet from 5V USB line. In this case, is it safe to wire segments directly to PIC or I must also use mosfets on low side to connect segments to GND instead?

Can someone give me the answer please.
 

Hi,

Please confirm, that segment current really is that low. Unusual, but may be correct.

***
In either case:
Multiplexed with 1:9 rate displays are ON only for 1/9 of time, therefore the brightness is low.
Usually this is compensated with 9 fold segment current.

Be sure not to drive a single display for a longer time with the high current.

Klaus
 

The usual way is to choose display currents based on display rating and intensity requirements. A display rated for 30 mA continuous segment current will tolerate higher peak currents in multiplex operation, at least double the continuous rating.

4 mA segment current is less than 0.5 mA average in 1:9 mux, probably rather dim. 2 to 5 mA average should be considered.
Suggest to check the display intensity in a test setup and decide.
 

thank you all for replies.

Im going to use this one:
https://uk.farnell.com/kingbright/kcsa03-106/smd-disp-0-3-cmn-anode-orange/dp/2001741

It draws 30mA, so I guess each segment will draw around 4mA (4*8segments = 32mA), right?

I tried configuration with 9 digits on my protoboard. I drive all 9 digits (multiplexed) directly from I/O pins (no mosfets), and brightness is good. But I'm using 40ohm resistors on all segments.

PIC is running at 3.3V
 

Hi,

* 30mA is the abs max current. 20mA is the nominal operating current
* 20mA is "per segment", not for the whole display.

Klaus
 
You have a single digit 7 Segment Display and it has 7 Segments and each segments max If is 30 mA and if this exceeds then segment will die.

Vf per segment is 2.1V

If You are driving it from a 3.3V MCU then

you can choose say 15 mA current per segment for good bridhtness.

So, (V - Vf) / I = (3.3V - 2.1) / 15 mA = 80 Ohms

You can safely use a 100 Ohm resistor in series with the segments.

When it is displaying digit 8 with decimal point then 8 LEDs will be on at a time and current through the common cathode or common anode pin will be 15 mA * 8 = 120 mA

You still need the 8 current limiting resistors.


You have 9 digits (displays) in total and each display draws max 120 mA if it is displaying 8 with a dot (assuming 15 mA segment current) and so you need a transistor or mosfet at the common cathode or anode pin.

To drop the MCU voltage of 3.3V to 2.1V for the segments you need those current limiting resistors of 100 Ohms.

3.3V - 2.1V = 1.2V drop across those resistors.
 
Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top