Need advice on a LED matrix project - Page 1
Forum section: electronics / beginners

author: Justin_
author_rank: Newbie
timestamp: September 21, 2018, 09:58:56 pm
content: Hey guys, im trying to make this project herehttps://www.instructables.com/id/Make-a-24X6-LED-matrix/with a few modifacations. The 2 modifications I have made were 1) I am using 10 rows not 6 and to do this I am using all of the pins on the decade counter (I have not yet modified the code to work with 10 rows, that will come) and 2) I only have 20 columns of lights, not 24, I just didn't use the last 4 pins of the last shift register.All seemed well and good at first, but once I got it all put together I noticed that the LEDs were quite dim. After a few days of messing around I decided that this is because they only have a 1/6 duty cycle as the decade counter (with the software in the instructables) only supplies power to one row at a time, and resets after the 6th row. I then decided to put delay() lines in the code to slow it down to see exactly what was happening and I noticed that the decade counter only plused each line when it got to it. Up until this point I assumed that it kept the line on until it moved to the next line.Either way I am hoping I can get some advice on what I can do to make the LEDs brighter. I don't know if there is a way to improve how the decade counter part of the circuit, or if there is something that could be done in the code, but i'm hoping I can get some advice on this.Thanks

author: Eka
author_rank: Regular Contributor
timestamp: September 22, 2018, 02:57:35 am
content: Figure out the real duty cycle for the LEDs. That is how long it is on versus how long it is off. Then go to the specifications sheet for the LED and find the allowed drive current for that duty cycle. Also find out the current limit for the driver chips hooked to the current limiting resistors. Then set the current limiting resistors to give the maximum of those 2 currents.Some LEDs allow higher current for lower duty cycles, others don't. So you need to get the right data sheet for the LEDs you have. Also the on times for the higher current use will have limits. While being on 1 second, then off 9 seconds is a 1/10 duty cycle, but for most LEDs it is considered 100% because the on time is to long and temperature has a chance to rise up to where it can harm the LED.There is a danger if you are over driving the LED and the code crashes leaving the LEDs on, it is possible to burn out those LEDs. A watchdog timer can be used to call a reset function to turn the array off if the code doesn't do it. It is also possible to use a RC circuit that if it gets charged up to a high enough voltage, it switches off LED drive current. Each time pin #8 transitions from low to high to clock the decade decoder chip, an edge detection circuit can short the RC circuit capacitor momentarily to ground. It would need to be a high current FET doing the shorting because it's on time will be short. This is also a case where high currents often can be tolerated if the duty cycle is low enough.A simple edge detection circuit can be made with an odd number of invert gates, and an AND gate. Wire the signal needing edge detection into one of the AND gate's inputs, and the input for the first invert gate. Now take the output of the first invert gate and hook it to the input of the second invert gate. Output of second to input of third. ... The output of the last invert gate is then hooked into the other input for the AND gate. The length of the output pulse will be the gate delay of the invert gate times the number of invert gates strung together. It is also possible to use Schmidt trigger gates and insert a RC circuit in the invert gate string to give much longer output pulses. With an AND gate the edge detected will only be the rising low to high transition. With other gates it is possible to edge detect falling edges, or both rising and falling edges.