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.

LED Scrolling Board (I know but please have a look)

Status
Not open for further replies.

agent5

Newbie level 5
Joined
Jul 27, 2011
Messages
9
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,380
Hi folks, I am doing a LED scrolling message board and need some help over here.
After searching here and there, I still have some doubts that need some further explanation.
Basically the schematic are similar.

References:
  1. https://www.edaboard.com/threads/11364/
  2. http://jumptuck.com/2011/11/02/how-shift-registers-work/
  3. http://www.electronics-lab.com/projects/misc/013/index.html
  4. http://silent.org.pl/home/2010/09/26/w-budowie-matryca-led-64x16/comment-page-1/#comment-17827

**broken link removed**

I am still at building hardware stage and wish to display some character first without scrolling.
Quite a lot doubts here so please bear with me.

Intro
I am going to state what I understand on how a LED scrolling message board work (hardware) before proceeding cause if I got the big idea wrong no point going any further ..
 After receiving data, the AT89S51 will translate those data into highs/lows and by controlling other components with those highs/lows, character is being displayed (scrolled).

Below are the functions (my understanding so far) of each component made up the board.

Remarks:
 I don’t ask too much from you guys but if you see some fatal misconception please tell me.
 Of course, I will appreciate greatly for some heads-up and reference.


Microcontroller AT89S51
 No, I don’t know how it receives data and “translate” it in to display.
 What I do know is, I need some pins to send a high/low as an input to decoder / shift register and ultimately lights up some LED. That’s it.
Shift Register: NXP 74HC595N
 Shift Register translates serial input to parallel output.
Exp: DS received 8 bits and output those 8 bits at once through the 8 output pins.
The most common word I see on this topic about Shift Register is drive. Like “Shift Register is used to drive the LED”. But I am not so sure what does it mean.

Current Sinker: Toshiba ULN2803APG
 8 inputs / 8 outputs
 According to the logic below, a high input will give a low at output.
 Low will give a low as well.
 The output is connected to the cathode of the LED.
I don’t get the sinker part. What does it sinking and how the sinking happen? Some says its sourcing current, but sinker? Moreover, it dosnt work like what it suppose too, for the case when input is low that fine. But when a high (~5V) is apply at input, the output is around 0.6V but not 0V.

**broken link removed**

Dot Matrix LED: 8X8 Common Cathode

**broken link removed**

 All anode are connected at the same row
 All cathode are connected at the same column
 Anodes are connected to AT89S51 while Cathode to Current sinker.

3 – 8 Decoder: Philips 74HC259N
 For controlling 8 lines with only 3 pins.

Thanks !!
 

hi,
it is not ideas,
it is 100% working.

MMDISPLAY.JPG
PCB.jpg

i have control board,but application is to display the line V,F

cboard.jpg
PCB.jpg
 
Last edited:
  • Like
Reactions: agent5

    agent5

    Points: 2
    Helpful Answer Positive Rating
hi,
it is not ideas,
it is 100% working.

Hi matthai, thanks for your reply. Think I am going put this up and try it out.

I have some questions though:

-> Shift Register:
* you send a 0 to the LED that wish to be lighted up? (and a 1 to anode right?)

-> Fan-out current:
* the current for each LED (the one I am having) is around 20mA, but since the output of uC is ~5V there would be cases where the intensity of the light
varies depends on how much LEDs light up at the same time.

-> Basic Info:
* whats the uC you are using in this case?
* whats the button for ?
 

hi agent5,
actually light intensity is very poor when i use direct programming,
then try to multiplex each LED to overcome that problem.
i am using PIC16F870.
in programming, i try to fill one's in all shift register that time all anodes are off
then rotate it with zero's.
i have used MPLAB & WINPIC800 with my jdm programmer.
 

hi agent5,
actually light intensity is very poor when i use direct programming,
then try to multiplex each LED to overcome that problem.

sorry matthai but I dont quite get you.

-> Multiplex each LED ? but all LEDs are either connected in row or column. or you mean connecting multiple pins to single row / column but this might burn the LED if there is on 1 or few (which required lesser current) lights up !

-> I havent gone into programming part but please help me when I do .. thanks !
 

1.3 – 8 Decoder,Why not use 74HC138?
2.About"No, I don’t know how it receives data and “translate” it in to display."
You can receives ASCII char data by USART,and transform it to dot matrix data by Font file,Like this font file: https://code.google.com/p/surveyor-srv1-firmware/source/browse/trunk/blackfin/srv/font8x8.h
example:like"0",font file" 0x7C, 0xC6, 0xCE, 0xDE, 0xF6, 0xE6, 0x7C, 0x00,"and send it to matrix display,


And I will share more at the Led matrix display Groups,tell more you wanted information,i will try give you wanted.
 

1.3 – 8 Decoder,Why not use 74HC138?
2.About"No, I don’t know how it receives data and “translate” it in to display."
You can receives ASCII char data by USART,and transform it to dot matrix data by Font file,Like this font file: https://code.google.com/p/surveyor-srv1-firmware/source/browse/trunk/blackfin/srv/font8x8.h
example:like"0",font file" 0x7C, 0xC6, 0xCE, 0xDE, 0xF6, 0xE6, 0x7C, 0x00,"and send it to matrix display,


And I will share more at the Led matrix display Groups,tell more you wanted information,i will try give you wanted.

Since I have the Philips one already is there a need for me get the 74HC138? I think they both do the same job right ?

Can you talk a little bit regarding the intensity of the LED in the group (I joined it !!) ? Most of the references I got outside are about utilizing current sinker like ULN2803 but I dont understand how it works.
Moreover they are using common anode while I cathode :(

Thanks alot for your reply !
 

yes,They both decoder.
about the intensity of led matrix,first you can see the timing of driver led matrix(this sample is MBI5026 timing),like:
TIMING.png

if you extension of OE time,then the brightness will higher.
 

yes,They both decoder.
about the intensity of led matrix,first you can see the timing of driver led matrix(this sample is MBI5026 timing),like:
View attachment 82220

if you extension of OE time,then the brightness will higher.

but with insufficient current, even extending the lights up duration it wont help right ?

or you are putting more current through it ? cause I read somewhere that by putting more current (>20mA per LED), it will helps on intensity.
the reason why it wont burn is because it will only lights up for a brief while during refresh. is this the way you do it ? seriously it wont burn the LED ?

thanks for your reply !
 

you know more current,maybe the led will get more lights,BUT it's a big trouble to LED life!constant current to 20mA,that's good choise,so that's is why I recommend use constant current driver IC(just like MBI5026),not use 74HC595 too.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top