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.

24 LED Chaser Using PIC16F628A

Status
Not open for further replies.

Chipwizard

New Member
Although there are many ways of multiplexing LEDs, I have put together a version that would simplify a chaser with minimum number of components. Although the concept is not new however I found it interesting enough to share my version of it.

Attached find a simple PCB layout for this design. If anyone interested please build the board and post your codes (effects) so everyone can enjoy.

I will post a code for this circuit as soon as I get a chance.
Any inputs or improvements to this circuit is most definately welcomed.
Regards,
Rom
 

Attachments

  • 24 LED CHASER-PIC16F628A.pdf
    571.4 KB · Views: 2,647
Silk Screen, Copper, and Truth Table

Here is additional PCB layout and logic table.
 

Attachments

  • 24 LED CHASER-SILK.pdf
    553.7 KB · Views: 1,311
  • 24 LED CHASER-COPPER.pdf
    35.2 KB · Views: 726
  • Truth Table 24 LED Chaser.pdf
    480.1 KB · Views: 1,019
Here you go Mike.
Attached Schematic.
Cheers.
Rom
 

Attachments

  • 24 LED CHASER - SCHEMATIC.pdf
    104.4 KB · Views: 1,122
Your circuit is a very badly multiplexed design.
It is basically a "run-of-eight" which has a very small ON time.
You can get a "dumped" 15 LED design using a PIC16F628 and by adding a sinking transistor you can get 2 x 14 = 28 LEDs with a 50% ON time.
 
Your circuit is a very badly multiplexed design.
It is basically a "run-of-eight" which has a very small ON time.
You can get a "dumped" 15 LED design using a PIC16F628 and by adding a sinking transistor you can get 2 x 14 = 28 LEDs with a 50% ON time.

The circuit is charlieplexed and, if you write the code correctly, has an ON time of 50%.

Mike.
 
The circuit is charlieplexed and, if you write the code correctly, has an ON time of 50%.

Mike.
I wouldn't call that Charlieplexing. And if he wants the LEDs to be lighted evenly then he could only light three LEDs at one time (one in each group) which would make it a 1/8th duty cycle display. Yes, no?
 
No, You can light 12 LEDs at any one time making it a 50% duty cycle. Choosing resistors that allow 2.5mA per LED will ensure they are equal (but dim) brightness. Agree/disagree?

Mike.
 
No, You can light 12 LEDs at any one time making it a 50% duty cycle. Choosing resistors that allow 2.5mA per LED will ensure they are equal (but dim) brightness. Agree/disagree?

Mike.

Disagree! Voltage drop internal to the I/O pin will be affected by the amount of current drawn. You should notice a difference in brightness when lighting between one and four LEDs in single groups even with your current limiting resistors.
 
Last edited:
Gents thank you for your comments.
You all have a valid point in your own way.
One thing you all overlooked that this is a chaser.
Think of a very compact 4017 counter with 24 outputs and it all makes sense.

If you have another application for this circuit in mind state your application and let's talk about it.
i.e.: Light up all 24 LEDs at one time.

As it is the circuit does 3/24=1/8 with 25ma LEDs, no sink transistors.
Decrease the series resistors, and use lower mA LEDs (SMD) and you can light up all at the same time if you electrically supply it well.(LEDs of 5-7mA)
Most LEDs (check your specs) can drive high current pulses for a short time. (I have 5mm LEDs that can pulse 120mA for a short duration-ms).
The rest of the brightness issues (so minor after above changes) can be made in software to compensate.
 
Hi Chip',

Have you prototyped and tested any of these LED designs yet? Maybe you should start a blog. Research, design, experiment, evaluate, then post on the Forum when you have something more substantive and fully developed to share.
 
Last edited:
Mike:
You are not talking to a kid and I certainly do not appreciate your tone of voice sir.
I did not say or do anything to offend you.
I have built this very simple and basic circuit. There is really nothing to it.
You are over analyzing it. It is just a simple 24 channel chaser as it states in the original post. If you do not like it then do not use it.

Colin:
Although I do not know you however I am disappointed in your lack of open mindedness and clever thinking. This circuit is a masterpiece in its simplicity and functionality. As I mentioned in my opening post this is just one way of multiplexing a compact circuit for a chaser. I challenge you to build your own version of 24 channel chaser based on 16F628A, do cost calculations, look at the complexity of your wiring and measure the size of your PCb then state your claim sir.

Pommie:
You are absolutely correct sir. The circuit can easily be turned into a 50% and even 100% duty cycle with simple modifications and programming.
--------------------------------
Interesting enough I am able to produce a very bright output, out of normal LED's in this very circuit and I am very happy with the results.
 
The circuit can easily be turned into a 50% and even 100% duty cycle]
The output brightness will change according to the number of LEDs being sunk by the micro-sinking-line.
For the cost of a 10 cent transistor, the output will be improved 400% and any number of LEDs can be run in a chase.
You would get a better result with Charlieplexing - and use LESS lines.
It's just one of the worst designs I have seen.
Mike is right:
Research, design, experiment, evaluate, then post on the Forum
 
Last edited:
If I do this design then I'll simply use a 6pin PIC & use some 3 shift registers like 595 & drive 24 LED's.

In this way I can use any colour combination LED's (no need to worry about I need same spec LEDs) & I can add more LED's to each output later if I use some buffers.Also I won't get any brightness issue problems here.

If its a compact design challenge then I'll use a simple charlieplexing or multiplexing concept & drive same spec LED's with a single uC with messy wiring.
 
Last edited:
The output brightness will change according to the number of LEDs being sunk by the micro-sinking-line.
For the cost of a 10 cent transistor, the output will be improved 400% and any number of LEDs can be run in a chase.
You would get a better result with Charlieplexing - and use LESS lines.
It's just one of the worst designs I have seen.
Mike is right:

The output brightness will change slightly with more LEDs lit but, as the OP states, as a simple chaser they will be constant brightness.

To light any combination is still possible. By limiting the current to 2.5mA you are only taking 10mA per common output and so the voltage drop will be pretty minimal and the duty cycle will be 50%.

Why are you (and Mike) saying this is not charlieplexed? It is clearly three 1x4 charlieplexed matrices.

Anyway, from your above statement, you clearly don't understand the circuit or maybe you would like to explain how a 10c transistor can both source and sink current?

My personal view is that we should encourage new posters and not simply find fault.:mad:

Mike.
 
Last edited:
It is absolutely useless delivering 2.5mA to a LED.
Use 13 outputs of the micro to drive 26 LEDs and 2 control lines to select 1-13 or 14-26:
**broken link removed**
 
Last edited:
It is absolutely useless delivering 2.5mA to a LED.
Use 13 outputs of the micro to drive 26 LEDs and 2 control lines to select 1-13 or 14-26:
**broken link removed**

As a chaser it can deliver 20mA per LED and that is what the OP posted it as. Your circuit only manages a maximum of 7mA per LED anyway and will vary in brightness due to the 100R resistors.

I note you didn't answer any of my questions or comment on my statements.

Mike.
 
Status
Not open for further replies.

New Articles From Microcontroller Tips

Back
Top