Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic 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.

A Problem with Dot matrix display

Status
Not open for further replies.

ibrahim03

Full Member level 1
Joined
Sep 29, 2005
Messages
99
Helped
5
Reputation
10
Reaction score
2
Trophy points
1,288
Activity points
2,335
cd4050 application

I am making a small test project for 8x8 dot matrix display using AT89S52 microcontroller and i am having some problems. Currently i am using only a single display (the project is on a breadboard(s) ). All went well, the message was scrolling fine on the display until i decided to use buffers to increase the brightness(the display was not bright enough). I used the CD4050B non inverting buffers, the problem is that when i give four or more inputs through the buffer the display suddenly goes blank after a second or so. I cant understand whats the problem. Can anyone please help me out ?

P.S I want to use buffers only to increase the brightness so please dont suggest transistors

:!:
 

IanP

Advanced Member level 5
Joined
Oct 5, 2004
Messages
7,942
Helped
2,309
Reputation
4,620
Reaction score
531
Trophy points
1,393
Location
West Coast
Activity points
66,459
I don't think CD4050 is a good choice to drive anything; it is just a buffer (typical application includes CMOS to TLL or CMOS at a Lower VDD), and, to increase the output current, what you need is a driver ..
Forgive me if I ask this question, but are you aware that in CD4050 the Vdd pin is pin nr 1 , not 14?
Maybe this is the reason the display goes off?

However, if you don't want to use discrete transistors, or transistor arrays, then the other option is to employ typical drivers, such as, for example,7407 (open collector output - good for sinking current), or for both, sinking and sourcing, consider 74HCTXX, 74ACQ (or similar) buffers/drivers (CD/SN74HCT241: http://focus.ti.com/lit/ds/symlink/cd74hct241.pdf ), and even paralleling them to increase output current(s) capability ..

Regards,
IanP
 

NguyenHai

Member level 1
Joined
Jan 18, 2003
Messages
37
Helped
4
Reputation
8
Reaction score
2
Trophy points
1,288
Activity points
519
Hi,
good way is choice 74HC595, use shift register mode of 89S52.
Hai
 

ibrahim03

Full Member level 1
Joined
Sep 29, 2005
Messages
99
Helped
5
Reputation
10
Reaction score
2
Trophy points
1,288
Activity points
2,335
I don't think CD4050 is a good choice to drive anything; it is just a buffer (typical application includes CMOS to TLL or CMOS at a Lower VDD), and, to increase the output current, what you need is a driver ..
Forgive me if I ask this question, but are you aware that in CD4050 the Vdd pin is pin nr 1 , not 14?
Maybe this is the reason the display goes off?

However, if you don't want to use discrete transistors, or transistor arrays, then the other option is to employ typical drivers, such as, for example,7407 (open collector output - good for sinking current), or for both, sinking and sourcing, consider 74HCTXX, 74ACQ (or similar) buffers/drivers (CD/SN74HCT241: h**p://focus.ti.com/lit/ds/symlink/cd74hct241.pdf ), and even paralleling them to increase output current(s) capability ..

Regards,
IanP

No I have used the right pin for vdd (I saw it from the data sheet). Let me elaborate my problem a little. I have used only a single display, i have scanned the columns with a delay of 1ms and have sent the data on the rows. In the
8x8 display which i have used , rows are active high and columns are active low
(the rows are sourced and columns are sinked). Without the buffer everything is fine except that the brightness is very low. When i give one row input through the buffer, one row is bright (thats normal), when i give two inputs two rows are bright, uptil three rows it is fine but when i give the fourth row input through the
buffer, the display is on for 2 or 3 seconds(it scrolls forward one or two columns) and then everything goes blank. Then when i reset the microcontroller,again the display is on for 2 or 3 seconds and again blank !
My guess is that there might be a problem with the amount of current drawn from the microcontroller but I cant figure out the real problem and I dont know how to fix it :!: Can you please help me out ?
 

IanP

Advanced Member level 5
Joined
Oct 5, 2004
Messages
7,942
Helped
2,309
Reputation
4,620
Reaction score
531
Trophy points
1,393
Location
West Coast
Activity points
66,459
If you try to drive rows by buffers, what about columns?
Maybe you should connect buffers to coulmns and try again ..
Really, it doesn't make sense that whithout buffers this circuit is running correctly, except for brightness, of course ..
I would like to see the sketch of your circuit. Could you post it?

Regards,
IanP
 

truefriend

Newbie level 1
Joined
Aug 11, 2004
Messages
1
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
8
Hi ,
Unused inputs of CMOS ics should be connected to ground .Did u take care of that?
 

hugo

Full Member level 6
Joined
Dec 31, 1999
Messages
323
Helped
49
Reputation
98
Reaction score
23
Trophy points
1,298
Location
canada
Activity points
2,162
Hi,

Try to drive the columns with ULN 2803 !
 

ibrahim03

Full Member level 1
Joined
Sep 29, 2005
Messages
99
Helped
5
Reputation
10
Reaction score
2
Trophy points
1,288
Activity points
2,335
I am uploading the .rar file containing my code and the schematic diagram(bitmap and the proteus, file in which the schematic is made). I use the ASEM-51 assembler to assemble my code. Please check it and if you can find the problem tell me what i am doing wrong.
 
  • Like
Reactions: waja28

    waja28

    Points: 2
    Helpful Answer Positive Rating

XNOX_Rambo

Advanced Member level 1
Joined
Jul 13, 2002
Messages
435
Helped
90
Reputation
180
Reaction score
2
Trophy points
1,298
Location
Far out, man!
Activity points
3,571
Where are the current limiting resistors to the LEDs...?
You are effectively killing the 4050/89S52 this way.
 

silvio

Advanced Member level 3
Joined
Dec 31, 2001
Messages
716
Helped
105
Reputation
210
Reaction score
16
Trophy points
1,298
Location
Romania
Activity points
11,497
CD4050B it's not able to provide the requested source current for multiplexed LED display, even if the gates are parallel connected.
You must use either 16 NPN transistors or one ULN2803 (as suggested by HUGo, driven by port P1 outputs) and 8 NPN transistors for rows.
and obvious 8 resistors for current limiting (a value of 220R would be fine).
A small change in the code is a must since the ULN2803 must be biased.
Thus, MOV P1,#0FEh ; Put in the initial data of column
must be changed to MOV P1,#01h
 

    ibrahim03

    Points: 2
    Helpful Answer Positive Rating

ibrahim03

Full Member level 1
Joined
Sep 29, 2005
Messages
99
Helped
5
Reputation
10
Reaction score
2
Trophy points
1,288
Activity points
2,335
Where are the current limiting resistors to the LEDs...?
You are effectively killing the 4050/89S52 this way.

I forgot to show the resistors in the schematic. Sorry !!. I did attach current limiting resistors of 680Ω in my actual circuit.

CD4050B it's not able to provide the requested source current for multiplexed LED display, even if the gates are parallel connected.
You must use either 16 NPN transistors or one ULN2803 (as suggested by HUGo, driven by port P1 outputs) and 8 NPN transistors for rows.
and obvious 8 resistors for current limiting (a value of 220R would be fine).
A small change in the code is a must since the ULN2803 must be biased.
Thus, MOV P1,#0FEh ; Put in the initial data of column
must be changed to MOV P1,#01h

I think silvio is right and maybe CD4050B is not able to provide the required source current for multiplexed LED display so I have decided to give it up. Maybe I will try the ULN2803 or the buffers suggested by IanP.

Is there any formula for the current required by the dot matrix displays. Such as in multiplexed 7 segment displays the segment current is 'n' times the current for a single segment where 'n' is the no. of displays. Is there any such formula in dot matrix displays ?

Also in the data sheet of ULN2803 it says that it is a Darlington Transistor array, can ordinary transistor arrays be used here ? if yes then please suggest any.
 

silvio

Advanced Member level 3
Joined
Dec 31, 2001
Messages
716
Helped
105
Reputation
210
Reaction score
16
Trophy points
1,298
Location
Romania
Activity points
11,497
ibrahim03 said:
Is there any formula for the current required by the dot matrix displays. Such as in multiplexed 7 segment displays the segment current is 'n' times the current for a single segment where 'n' is the no. of displays. Is there any such formula in dot matrix displays ?

Check this:
http://home.wanadoo.nl/electro1/avr/scroll2.htm
 

Badaruddin

Member level 1
Joined
Jan 25, 2005
Messages
32
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,288
Activity points
276
Check this for better project "A 10-character display for the Elektor Flash Micro board" :
h**p://www.elektor-electronics.co.uk/Default.aspx?tabid=28&year=2003&month=11&art=50477
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top