![]() | ![]() | ![]() |
| | #76 |
|
Futz, your photos and videos still look much better than mine. As I look at them it seems you have much better (brighter) lighting in many of them. Perhaps I'll give that a try when I have more time. Mike | |
| |
| | #77 | ||
| Quote:
Quote:
__________________ ========================= Futz's Microcontrollers & Robotics ========================= | |||
| |
| | #78 |
|
Thank you... I'm going to practice (grin)...
| |
| |
| | #79 |
|
Mike please help me I have a problem. I’m confused with the duty cycle & the refresh rate in a LED matrix system. Are they are two different things or one? In your schematic it says 20% duty cycle. Does it means each LED driving on 20% duty cycle? 20% means almost 1/5 from the brightness, which is too dim. If I have a matrix of 5 columns & 8 rows is there any formula to calculate the best delay in between the columns? So I can display it nicely without flickering & with a decent brightness. | |
| |
| | #80 | |||
| Quote:
Duty cycle is the amount of time in a period that an LED is lighted. In that 5 column display each column is updated one at a time and so each LED in that matrix can be lighted for 20% or 1/5th of the time. Refresh rate is how often you light each LED in the display over time. It's usually expressed in Hertz (cycles per second). In that 5 column display each column is lighted for 3.2 msecs and so it will take 16 msecs to update the entire 5 column display. The refresh rate is therefor 1 / 0.016 seconds = 62.5 Hertz. Quote:
The duty cycle pretty much determines 'peak' current requirements to light an LED to full brightness. To get a brighter display you can increase the duty cycle and/or increase 'peak' current available to the display. Quote:
If you're updating your display one column at a time and you'd like a 60 Hz refresh rate, then; 1/"number of columns"/"refresh rate" = "update interval" 1/5/60 = 0.00333 seconds (3.33 msecs) You can also use that formula to test different interval timing; 1/"number of columns"/"update interval" = "refresh rate" 1/5/0.002 = 100 Hertz (when using 2 msec update interval) As I mentioned, to improve brightness you would increase duty cycle and/or increase 'peak' current available to the display. Regards, Mike Last edited by Mike, K8LH; 10th July 2008 at 04:25 AM. | ||||
| |
| | #81 | |
| Quote:
In the above example I totally understood the refresh rate.But I like to know what is the duty cycle driving an LED?If I need a duty cycle of 50% what do I have to adjust in the software? If I adjust the 3.2 msecs time it will change only refresh rate isn't it?How do I adjust the Duty cycle? | ||
| |
| | #82 |
|
The duty cycle is determined by your hardware design. If you're driving one column at a time in your 5 column 8 row matrix then you're not going to get more than a 20% duty cycle. A 50% duty cycle would require 20 LEDs on for half the time and the other 20 LEDs on for half the time. Probably easier to increase 'peak' current to the display (or use high brightness low current LEDs?). If 10 ma 'average' LED current provides good brightness then you would need 50 ma 'peak' current to get the same brightness when the LED is lighted 1/5th of the time. You can increase 'peak' current by reducing the value of current limiting resistors on the rows or by using column and/or row driver transistors or driver ICs. If you need help or recommendations from Forum members please post your schematic. Regards, Mike Last edited by Mike, K8LH; 10th July 2008 at 05:12 AM. | |
| |
| | #83 |
|
Oh I see that's what I wondering the Duty Cycle is adjusting by the hardware.So the software side I need to concern only about refresh rate. My circuit is like Nigels tutorial. Rows driving directly via a resistor.& the columns driving via transistors. If I adjust the peak current by adjusting the resistor will it still 20% duty cycle for 5 columns even if I increase that refresh rate delay 3.2 msecs?Wont this delay acting like on time of the duty cycle period? That is the place I got stucked. "A 50% duty cycle would require 20 LEDs on for half the time and the other 20 LEDs on for half the time." How do you get 20 LEDs. A bit doubt here how did you get 20? Sorry for asking questions Last edited by Suraj143; 10th July 2008 at 06:39 AM. | |
| |
| | #84 |
|
You can understand what is my point. In that 5 column display each column is lighted for 3.2 msecs that's the delay cause to vary the refresh rate. My problem is won't this delay acts like a duty cycles on time of an LED? Last edited by Suraj143; 10th July 2008 at 06:38 AM. | |
| |
| | #85 | |
| Quote:
Refresh rate just needs to be high enough so you can't see them flickering - you don't want it too high though, or you're wasting cycles that your main program could be using. My 7 segment LED tutorial included an example where it refreshed far too low, so you could see how it worked, with each digital being displayed in turn, slow enough to see. I would suggest you try doing the same, decrease the refresh rate until you can clearly see each row displayed individually - then gradually increase the refresh rate, you will reach a point where you can no longer see individual rows, but the display flickers, keep increasing until the flickering disappears, this is the minimum refreash rate for YOU - other people will be different, so increase it a fair bit further, to allow for different eyes. | ||
| |
| | #86 | |
| Quote:
So is this a multiplexed 5 digit 7 segment display or a 5x8 matrix of 40 LEDs? Post a schematic? Mike Last edited by Mike, K8LH; 10th July 2008 at 12:24 PM. | ||
| |
| | #87 | |
| Quote:
(1) 1 second / 5 columns / 3.2 msecs per column = 62.5 Hertz (1) 62.5 Hz * 3.2 msecs column time = 200 msecs column time per second (2) 1 second / 5 columns / 2 msecs per column = 100 Hertz (2) 100 Hz * 2 msecs column time = 200 msecs column time per second (3) 1 second / 5 columns / 1 msec per column = 200 Hertz (3) 200 Hz * 1 msec column time = 200 msecs column time per second Column "on time" effects refresh rate. Refresh rate does not effect duty cycle... Last edited by Mike, K8LH; 10th July 2008 at 12:44 PM. | ||
| |
| | #88 | ||
|
Hi for both of you Mike & Nigel now I understood well. Quote:
Quote:
Duty cycle time is adjusting by the hardware.There is no way to find the LED on time through software.Sorry about that. If you know a way to calculate the LED on time for each second let me know | |||
| |
| | #89 |
|
But I can see one thing from your examples The column time per second is same on all three examples.That is 200 msecs even if I change the update interval. | |
| |
| | #90 |
|
Found this tread and think this project is really cool.<strike> But i cant seem to compile any of the code. I have tried SourceBoost IDE 6.87 as the compiler. Is there another compiler i can use or is it a setting thing. </strike> Thank You, Last edited by Flex; 25th July 2008 at 02:20 PM. Reason: Found the problem, it was a setting | |
| |
|
| Tags |
| boostc, charlieplexed, pwm |
| Thread Tools | |
| Display Modes | |
| |
Similar | ||||
| Title | Starter | Forum | Replies | Latest |
| BoostC question.. AddressOf | Mike, K8LH | Micro Controllers | 8 | 25th June 2008 12:20 AM |
| LCD degree symbol with sprintf (BoostC) | futz | Micro Controllers | 29 | 5th June 2008 05:19 AM |
| math.h and lib for BoostC? | futz | Micro Controllers | 3 | 31st March 2008 06:29 AM |
| Charlieplexed code segment for the Cricket Thermostat | William At MyBlueRoom | Micro Controllers | 2 | 14th March 2006 05:12 PM |
| My PIC Projects Site NEW (includes 2 Charlieplexed Display) | William At MyBlueRoom | Electronic Projects Design/Ideas/Reviews | 0 | 28th February 2006 02:31 PM |