Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Common Anode Driving

Status
Not open for further replies.

Suraj143

Active Member
I am multiplexing 4 seven segments (Common Anode).The problem is most of the time, inactive segment elements also lights up very dimly.It is noticeable at night times. By adding a 10K pullup resister to the PNP transistor solved the problem.

My question is what is the best place to add it?A-A or B-B ?Currently I added the resistor to B-B position.
 

Attachments

  • CA Driving.JPG
    CA Driving.JPG
    38.7 KB · Views: 159
I would say that between B-B is slightly better but it does not really matter. Why are you using the 2N2222 to invert the signal from the MCU rather than inverting it in software ? If you are interested I have a very similar circuit for a tachometer using a PIC16F628 The details are on my website. https://lesjhobbies.weebly.com/
There is the schematic and source code so you can see the code I use to drive a multiplexed LED display.
 
What you didn't implement is "inter-digit blanking". You have to turn the current digit OFF before setting the new value for the next digit, otherwise you get a ghosting effect.
 
One important aspect of switching transistors and LEDs always overlooked by designers is the current gain and ESR of each load in each stage.

Consider the 3 stages here for on current.
I1=4.3mA
I2=2.3mA
I3=10~20mA * 8 segments incl. "."

For off current Rload*Cload affects turn off speed and cuts leakage current in base.

Bigger LEDs have arrays like 2S2P or 2S3P etc so ESR increases with equivalent ratios as 2P/2S=1 and 3S2P =1.5x, 4S2P=2x ... Then ESR of the saturated diode, ESR [Ω]~ 1/Pd {+\-50%} where Pd=Vf*If
...(per segment) typically 50mW segments are 20Ω, 100mW are 10Ω, and strings 4S2P are 40Ω or 2x20Ω with 50mW per chip in 4S2P.


But lets assume the simplest case with 0ne diode per segment rated at 100mW then ESR=10Ω

Thus if one wanted to optimize saturation and turn off leakage/delay they would use the rated currents for Vsat.
In this case Ic/Ib=10, but best case transistors (ultra low Rce) have this ratio at 50...

Thus ideal drivers need only as a minimum...
I3=80mA (7 segments & dot)
I2=8mA
I1=0.8 mA

Each open collector needs up to 10% bypass current for next stage turnoff to cutoff Vbe, which is always shunted across Vbe.


Overlooking these important deign criteria will lead to di ming problems with more segments on and dim LEDs will all segments off.

Can you see what you can do better now?

Then if your are Mux'ing N digits at 1/N duty factor, you must increase drive current by same, xN.

Thus multiply all the above by 4. Then compute power loss in each collector R for sizing. Giving 350mA, 35mA and 3.5 mA with Rbe added for 10% bypass.

Then x2 if you intend to use 20mA segments vs 10mA !!!

If this leads to undesireable Pd, then choose wisely, transistors from Diodes Inc with low Rce and Ic/Ib=50 ratings, or consider FETs of suitable RdsOn, then each stage is chosen as LED Anode=10Ω/8 then RdsOn <=5% of LED ESR = <13 mΩ (1.25/20)
 
Last edited:
image.jpg

Note using FET with 5% assumes not using CC regulators for each Cathode driver,
But if using CC drivers then consider 1/3 W loss or RdsOn =Vdrop* If so if one chose a 0.5V drop x 640mA , Pd=320mW and RdsOn must be <0.5/0.64A=780mΩ, so you have a wide range to choose from on P ch MOSFETs.


This transistor is rated for Ic/Ib=50 or 20 with Rce(sat) ~1 Ω see slope of graph at 0.6A above,
https://www.digikey.com/product-detail/en/MCH6101-TL-E/MCH6101-TL-EOSCT-ND/5213273
 
Last edited:
If the question about inter-digit blanking is referring to my tachometer design then it is implemented in the first two lines of the "Display_Next_Dig" code.
;
Display_Next_Dig

MOVLW 0x0F
IORWF Dig_Port,F ;All digit drives off (Active low) Bits 0 - 3

BTFSC Dig_Count, 1
GOTO TwoorThree

Les.
 
Status
Not open for further replies.

Latest threads

Back
Top