Letter clock LED driver chip selection - Page 1
Forum section: electronics / projects

author: Anton
author_rank: Contributor
timestamp: June 02, 2022, 06:28:03 am
content: Hello,I’m designing a letter/word clock consisting of 180 white LED’s, The goal is to be able to control al LED’s individually, with global brightness control.I initially selected the Texas Instruments TLC5947 24ch PWM driver IC of which 8 chips daisy chained together. This would have done the job beautifully. However due to the chip shortage and therefore limited availability and high pricing I’m looking for another solution.Currently I’m looking into the much simpler TLC59282 16ch constant-current led driver which is basically a 16bit shift register. Daisy chaining 12 chips together would be sufficient however I’m missing the global brightness control. Yes, the current of each chip can be individually set with a fixed Iref resistor, but it is fixed. Using 12 digital potentiometers to replace the Iref resistor for each driver ic would quickly increase the cost.Would it be possible to link together the Iref lines and use a single digital potentiometer? Maybe using the parallel resistor equation? The Iref calculation looks quite familiar compared to the R1 and R2 resistors of a voltage regulator.Please advise.

author: exmadscientist
author_rank: Frequent Contributor
timestamp: June 02, 2022, 08:08:06 am
content: I recognize it's not a direct answer to your question, but if you're cost sensitive you may want to look in to Macroblock (out of Taiwan). Their multichannel LED driver portfolio is massive and dirt cheap (at least it was last I checked, which was pre-pandemic). Additionally many of their parts are clones or second sources of TI parts, so you may find a direct equivalent. (I actually have no idea who clones who in this market.) Downside is, Asian vendor with hard to find datasheets, usually in poor English. But if you have the volume....

author: ledtester
author_rank: Super Contributor
timestamp: June 02, 2022, 08:44:24 am
content: Quote from: Anton on June 02, 2022, 06:28:03 amIf you don't find your answer here a good place to ask about TI parts specifically is TI's E2E support forums:https://e2e.ti.com/Update: In fact, I think this is exactly your question:https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/27020/tlc5947-24-bit-led-driver-question-about-setting-current?tisearch=e2e-sitesearch&keymatch=tlc5947#

author: mariush
author_rank: Super Contributor
timestamp: June 02, 2022, 09:40:42 am
content: Digikey (and probably other distributors) has some chips that can do 100+ leds per driver, in a dot matrix arrangementSome examples :"dot matrix" drivers$4.3 each, ~9.7k in stock,IS31FL3741A:https://www.digikey.com/en/products/detail/lumissil-microsystems/IS31FL3741A-QFLS4-TR/12675545The IS31FL3741A is a general purpose39×9 LED Matrixprogrammed via an I2C compatible interface. Each LED can be dimmed individually with 8-bit PWM data and 8-bit scaling data which allowing 256 steps of linear PWM dimming and 256 steps of DC current adjustable level. Additionally each LED open and short state can be detected, IS31FL3741A store the open or short information in Open-Short Registers. The Open-Short Registers allowing MCU to read out via I2C compatible interface. Inform MCU whether there are LEDs open or short and the locations of open or short LEDs.$3.2 each, ~14k in stock,IS31FL3733B:https://www.digikey.com/en/products/detail/lumissil-microsystems/IS31FL3733B-QFLS4-TR/12675544The IS31FL3733B is a general purpose12×16 LEDs matrixdriver with 1/12 cycle rate. The device can be programmed via an I2C compatible interface. Each LED can be dimmed individually with 8-bit PWM data which allowing 256 steps of linear dimming. IS31FL3733B features 3 Auto Breathing Modes which are noted as ABM-1, ABM-2 and ABM-3. For each Auto Breathing Mode, there are 4 timing characters which include current rising / holding / falling / off time and 3 loop characters which include Loop-Beginning / Loop-Ending / Loop-Times. Every LED can be configured to be any Auto Breathing Mode or Breathing Mode individually.Additionally each LED open and short state can be detected, IS31FL3733B store the open or short information in Open-Short Registers. The Open-Short Registers allowing MCU to read out via I2C compatible interface. Inform MCU whether there are LEDs open or short and the locations of open or short LEDs.The IS31FL3733B operates from 2.7V to 5.5V and features a very low shutdown and operational current.1.26$ 13k in stockIS31FL3728:https://www.digikey.com/en/products/detail/lumissil-microsystems/IS31FL3728-QFLS2-TR/5319755IS31FL3728 is a general purpose8×8 LED matrix driverwhich features an audio frequency equalizer (EQ) mode or a general LED dot matrix display mode. The general LED matrix display defaults to an 8×8 configuration, however, itcan be configured for a 5×11, 6×10, 7×9 dot matrix display. The matrix picture brightness can be modulated by audio. In either the audio EQ mode or matrix display mode, the array is internally scanned, and requires only one-time programming, thus eliminating the need for real time system resource utilization.It programs the LED array through I2C interface. In the general purpose display mode, each dot of the LED array is independently programmed on or off over time. In the audio EQ mode, the X axis (column)represents the frequency bands while the Y axis (row) represents the strength of the input audio signal in each band. The number of LEDs lit in a column is proportional to the strength of the audio signal in the corresponding band in a thermometer-coded manner.plain lots of channels drivers$2.13 each, 24k in stock,IS31FL3236A:https://www.digikey.com/en/products/detail/lumissil-microsystems/IS31FL3236A-QFLS4-TR/14308348IS31FL3236A is comprised of36 constant current channelseach with independent PWM control, designed for driving LEDs, PWM frequency can be 3kHz or 22kHz. The output current of each channel can be set atup to 38mA(Max.) by an external resistor and independently scaled by a factor of 1, 1/2, 1/3 and 1/4. The average LED current of each channel can be changed in 256 steps by changing the PWM duty cycle through an I2C interface.same price and stock avail,IS31FL3246:https://www.digikey.com/en/products/detail/lumissil-microsystems/IS31FL3246-QFLS4-TR/14308345Pin to Pin with IS31FL3236A/IS31FL3237IS31FL3246 is comprised of36 constant current channels, each channel can be pulse width modulated (PWM) by total 8 bits+10 bits (261890 steps) for smooth LED brightness control or color mixing control, 8 bits PWM (LFP) operate at 127Hz (can be disabled), 10 bits (HFP) operate at 32kHz, to minimize the audible noise. The output current of each channel can be set atup to 25mA (Max.), all channels are grouped as G group(OUT1, OUT4, OUT7...), R group (OUT2, OUT5, OUT8...) , B group (OUT3, OUT6, OUT9...) and each group has a 8 bits output current control register which allows fine tuning the current for rich global RGB color mixing.But you can use it as plain white / single color ignoring all the RGB stuff.$1.9 each,92kin stock,IS31FL3235A:https://www.digikey.com/en/products/detail/lumissil-microsystems/IS31FL3235A-QFLS2-TR/7219609IS31FL3235A is comprised of28 constant current channelseach with independent PWM control, designed for driving LEDs, PWM frequency can be 3kHz or 22kHz. The output current of each channel can be set atup to 38mA (Max.)by an external resistor and independently scaled by a factor of 1, 1/2, 1/3 and 1/4. The average LED current of each channel can be changed in 256 steps by changing the PWM duty cycle through an I2C interface.LCSC also has a bunch of led matrix driver chips, cheaper, but the datasheets are harder to read, and no way of knowing if they'll be there the next day.If you want long term guarantees, probably your best bet is to use 16 channel shift register style drivers, as the pinout is kinda standard and you can source from multiple manufacturers.Example : 25 different ICs in stock using 24 pin SOIC / SSOP / TSSOP packages :https://www.digikey.com/short/nq1frmv7

author: JohnGi
author_rank: Newbie
timestamp: June 02, 2022, 09:59:36 am
content: PWM for global brightness control. Perhaps using the BLANK signal.

author: thinkfat
author_rank: Unknown
timestamp: June 02, 2022, 10:12:56 am
content: The Lumissil LED matrix drivers are certainly nice. I've actually used one for a word clock myself. The actual part is EOL meanwhile, but it was similar or identical to the IS31FL3733B.If you use them, make sure to have ample thermal vias in the center pad, into a massive ground pour. It makes soldering these suckers a pain in the neck, but if you don't have a good thermal design, the drivers will burn up in no time.

author: Anton
author_rank: Contributor
timestamp: June 02, 2022, 11:40:35 am
content: Thanks all for the repliesQuote from: exmadscientist on June 02, 2022, 08:08:06 amI looked at Marcoblock before but was unsure if it was a reputable manufacturer, I will have a closer look at it. A quick look in the LCSC database I find a couple of parts MBI50xx & MBI51xx. Especially the MBI5035 and MBI5045 are interesting. I believe the Marcoblock = MBIxxxx correct?The MBI5045 allows for 16bit individual brightness control and requires an external clock signal. This makes programming the MCU more difficult but is doable. However individual brightness control is not required, global control would be sufficient.The MBI5035 is a simpler 16bit shift register, without brightness control. But it looks like supplying a PWM signal to the output enable pin could also be used for brightness control? Or do I need to shift in new data each time I toggle the output enable pin?Quote from: ledtester on June 02, 2022, 08:44:24 amI searched the TI forums to, but didn’t find this specific post. It surely does look exactly what I need.I will look into it also but I am starting to doubt maybe the Marcoblock parts are actually better suited.Regarding all replies for using matrix chips. Isn’t a matrix the same as multiplexing? Meaning that for each added row the duty cycle drops. Retaining the max brightness option is a must due to the mechanical design during daytime (in sunlight, and dimmable in the evening). Furthermore my design does not have a regular layout/grid. The LED’s are quite scattered around the pcb. I thing using a matrix drive would make programming very difficult this way.

author: Benta
author_rank: Super Contributor
timestamp: June 02, 2022, 06:37:28 pm
content: Quote from: JohnGi on June 02, 2022, 09:59:36 am^^^ ThisJust PWM the BLANK inputs and set Iref for the maximum current needed.

author: thinkfat
author_rank: Unknown
timestamp: June 02, 2022, 07:17:37 pm
content: I'm only familiar with the Lumissil driver, for those, yes, the number of rows you need to drive affects the duty cycle for each individual LED.The Lumissil matrix driver have, however, one independent current source per column. Maybe you can make that work to your advantage.

author: tooki
author_rank: Super Contributor
timestamp: June 03, 2022, 05:38:15 am
content: Quote from: Anton on June 02, 2022, 06:28:03 amHave you considered using addressable LEDs instead? Most of them are RGB, but they’re available in white, too. They need at most two data pins on your MCU, and 180 in series is absolutely no problem.

author: mariush
author_rank: Super Contributor
timestamp: June 03, 2022, 06:23:35 am
content: It's also worth asking how much current do you want on each led? You mention being visible on bright outdoors, and that could imply you want more than 40-50mA most of these multi channel drivers can do?If this is the case, maybe it would make more sense to use mass produced white leds rated for 100-150mA (like the ones used in TV / monitor backlight) and instead of controlling each led individually, control LETTERS individually as you say it's a letter / word clock.So then, you could power the clock from 12v or higher voltage and have 3 (or more) white leds in series and use a plain current limiting resistor to limit current to your maximum current. Some basic shift registers and maybe some npn transistors or ULN2003A or something similar could be used to control each individual letter.For example, you have here 6 mil. in stock at 2 cents each .. 3v 60mA white leds :https://www.digikey.com/en/products/detail/luminus-devices-inc/MP-2016-1100-65-80/5041557Or up to 150mA :https://www.digikey.com/en/products/detail/creeled-inc/JE2835AWT-00-0000-000A0HG965E/8020297With the voltage drop across a npn transistor (or the darlington pair inside a uln2003A type device) the resistor value would be quite small (if using 3 leds in series with 12v input). Then you could PWM the shit out of the letters, to reduce maximum brightness easily just by shifting bits into shift registers, or setting the blank on/off on shift registers.

author: thinkfat
author_rank: Unknown
timestamp: June 03, 2022, 07:21:23 am
content: A colleague of mine developed a word clock with individual transistor driver stages:http://www.theiling.de/wortuhr/

author: Anton
author_rank: Contributor
timestamp: June 03, 2022, 10:21:47 am
content: Quote from: mariush on June 03, 2022, 06:23:35 amA little background about the mechanical design. The clock will be used indoors but may or may not be placed in direct sunlight. It will be fitted with a light sensor to determine the needed brightness. During daytime it will be bright, and darker during early and late hours. The clock is internally divided into compartment for each group of letters (words). The housing will be machined to accept light diffusers in varying sizes to accommodate the different words. Each letter will be fitted with 2 side-mounted LED’s. so a letter group of 5 will have 5x2=10 LED’s shining into the diffuser. Each LED shall have a max current of approx. 20mA. Initial tests show that this is probably enough to be clearly visible. The clock face will be of a clear glass panel with a black coating on the backside. The coating will have the letter shape cutouts through which the diffuser will be visible.Quote from: tooki on June 03, 2022, 05:38:15 amYes, but haven’t found them in side mount with reasonable pricing.Quote from: JohnGi on June 02, 2022, 09:59:36 amQuote from: ledtester on June 02, 2022, 08:44:24 amDue to the received suggestion, I’m thinking about designing the led driver around the 12x TLC59282 being driven by a ATMEGA128A .This might also change to the Macroblock equivalent MBI5035 which is pin compatible. For now let assume it will be the TLC59282. The global current limit will be set using a Iref resistor for each chip with a single digital potentiometer in series. So 12 resistors on one side connected to the driver and the other side all connected together to the digital potentiometer. As suggested on the TI forum. The global brightness control will be done with a PWM signal on the blank pin of each chip.Though I have a little concern about the thermals. I made an estimate but are not sure if it is done correctly. The supply voltage will be 3,3V to the driver chip and 5V to the individual LED’s. The LED’s are not yet selected but lets assume 3,2V forward voltage. (White may have a higher forward voltage but thinking that a lower voltage is the worst case for the driver chip?) So the driver has to dissipate (5v - 3,2v) x 0,020mA x 16 = 0,576 W, the chip itself consumes around 15mA which is 0,046W for a total of 0,622W. Junction-to-ambient = 73,2 C/W. Assuming I did all this correctly the chip will heat up 45,5 C above ambient. Thus the chip might get +/- 75 C in the summer. Isn’t this a bit much? Will this decrease its lifespan?Quote from: thinkfat on June 03, 2022, 07:21:23 amAlways nice to see someone else doing a similar project. I do not have pictures yet but you can imagine my design has similarities but is also very different.

author: mariush
author_rank: Super Contributor
timestamp: June 03, 2022, 10:57:54 am
content: If each letter has 2 leds, then wire those two leds in series. You will then have a forward voltage of around 2 x 2.8v...3.2v = 5.6v..6.4v and you can use a 7.5v-9v wallwart adapter / power supply to power your project. Higher voltage, lower current is better... less voltage drop on wires, thinner wires etc.Your logic can run at 5v or less, you can use a cheap 7805 or some other linear regulator to get 5v or 3.3v at maybe 50-100mA you'd need for the led driver chips and your microcontroller, directly from your power source.The led drivers would only have to dissipate (7.5-9v - 6..6.4v ) x 0.02 = not much. You'll also have some voltage drop through the wires going to the letters so 7.5v would be quite a good choice for such project.Don't quite understand why you have to complicate your life with digital potentiometers, when you could get a led driver that allows you to set the brightness through i2c or spi commands.

author: Anton
author_rank: Contributor
timestamp: June 03, 2022, 11:49:54 am
content: Quote from: mariush on June 03, 2022, 10:57:54 amI don’t think this is the complete story. I understand the differences when using higher voltages to minimize losses. But your calculation in not complete. It should be multiplied by the number of channels of the ic. In this case a 16 channel driver. Also the power dissipation of the ic itself should be included. The total sum is quite a lot more.Also using a 7805 or similar would not be very efficient. If you total the power of 12x driver, the MCU and other chips to be included for example the RTC. This should be a properly chosen regulator.Quote from: mariush on June 03, 2022, 10:57:54 amRegarding the choice for a chip without brightness control build in by I2C or SPI vs a chip with it all included. You should read the first few posts for all details. To summarize it had to do with availability, pricing and programming. It just makes sense to do it with separate components in this specific situation.

author: mariush
author_rank: Super Contributor
timestamp: June 03, 2022, 12:07:24 pm
content: Yes, it would be times 16 channels, but it would still be much less. Assuming 3v forward voltage and 7.5v input voltage, you have 16 x (7.5v - 6v) x 0.02A = 0.48 watts per driver. It's less than 16 x (5v - 3v) x 0.02v for sure... we're talking 1.5v vs 2v difference.And don't forget that according to your usage, it's unlikely all channels will be enabled... ex 5 groups of 2 leds for a word .. just arrange the words so that you won't have 3 words on one driver, to cause all 15 channels to be used at same time. In fact you could be clever and calculate all the possible combinations of words, and reduce the number of driver chips this way ... for example arrange your "words" into 2-4 groups guaranteed to never be powered at same time ... so you can use 4 mosfets or npn transistors to send power only to 1 group, and fewer drivers control current sinked. If by some reason you need all four groups, then multiplex them, and you'll get less brightness.Your 3.3v or 5v linear regulator only has to produce enough current for your drivers and the microcontroller and rtc ... Assuming 12 x 20mA for each driver chip, and 50mA for microcontroller and other chips, you're still at under 300mA ... (7.5v - 5v)x0.3A = 2.5 x 0.3 = 0.75w lost in a linear regulator. But 15mA power consumption per driver chip is A LOT. I would expect less than 10mA per driver chip.... for example that IS31FL3235A with 28 channels I linked above is specified at 9mA typical quiescent current at 3.6v input voltage, with the channels set at ~23mA.A DPAK / TO-252 can be soldered on a wide copper area on the pcb that would act as heatsink, and the regulator should stay under 80-90c with under 1w of heat dissipation. Also, you could just add a diode in front of the regulator which would also act as a reverse voltage protection but also drop 0.7-1v ... leaving the linear regulator to dissipate only (6.5v-ish - 5v) x 0.3A = 0.5wIf that's too much for you, get a 1$ (in parts) switching regulator for 90+ efficiency.edit : and by the way, you could resort to tricks like having the QFN36 footprint INSIDE the TQFP-48 footprint ... if the 28 channel IS31FL3135A is available, solder in the middle in the QFN36 footprint. If not, use the ISFL3136A in TQFN48 package and just not use the extra 8 channels. The pin order is pretty much the same so it would fairly easy to do it.

author: Anton
author_rank: Contributor
timestamp: June 03, 2022, 12:31:37 pm
content: Mariush, Thanks. I understand the difference in voltage and the resulting power losses. But there is no need the go into detail at this moment. I first need to select the required LED’s, only then we know the exact forward voltage and can the right input voltage be selected.The quiescent current is not specified for this chip, instead the supply current under different use cases. (Doesn’t make much of a difference though). I’ve taken the worst case value so it should only get better in the final product. Also I will be using 3.3v instead of 5v so even better.

author: tooki
author_rank: Super Contributor
timestamp: June 03, 2022, 03:21:23 pm
content: Quote from: Anton on June 03, 2022, 10:21:47 amHuh? Why would you need side mount ones? Maybe a drawing of the mechanical design would help make this clearer; I can’t figure it out from the text alone.I’d certainly look at how other designs do this, which basically universally use a PCB parallel to the front glass. That lets you use ordinary SMD LEDs. (FWIW, the best addressable LEDs — the SPI-like ones with a separate clock line — I’ve never even seen in a side view type.)P.S. I am also using an ambient light sensor on the giant-digit digital thermometer I’m working on right now. Because it’s so cheap, I went ahead and got a sensor that can sense not only ambient light, but also color, proximity, and basic gestures. (Also it has good Arduino library support.)

author: Anton
author_rank: Contributor
timestamp: June 03, 2022, 05:01:32 pm
content: I made some quick screenshots en section views. I hope you get a better understanding of the hardware design.The total thickness of the design is limited so side facing LEDs to light up the diffuser are preffered.3D viewBack view with inside removed to make te diffusers visibleFront view with cutout to show led locations. Each letter/word had multiple indentation to make room foor a led. 2 for each letter multiplied by the amount of letter in a word. For example the screenshot has 3 letter thus 6 led spots.Section view

author: tooki
author_rank: Super Contributor
timestamp: June 03, 2022, 06:28:27 pm
content: Thanks!Are you laser cutting the diffusers, or would you be able to mill out thinner areas?I ask because they do make 2020 and even 1515 (2x2mm and 1.5x1.5mm, respectively) versions of the good addressable LEDs, and IIRC they’re thinner than the regular 5050 ones. So if instead of milling full-thickness cutouts for side view LEDs, you just undercut the plastic, you could fire the light into it from below.You also might consider using “wafer head” screws that would let you mount the PCB farther back without increasing the total thickness.

author: mariush
author_rank: Super Contributor
timestamp: June 03, 2022, 06:43:36 pm
content: Yeah looks to me like seriously over engineered... you'll potentially have issues with right angle leds, keeping them cool could be a problem and not only you'd probably have to get rarer right angle leds but you'd probably also have to get them with the right lens.With regular leds, you can get them with lens that spread the light 110-120 degrees so the light is spread in a wider area around the led.Would be quite easy to get uniform light spreading leds across the letter area... ex have 3 leds for an I, 4 for an O (two on the sides, one on top and bottom), 5 for an M and so on...If the plastic with the letters is flat on the pcb, you could have two pcbs stacked and have cutouts in the top pcb and the led soldered on the bottom pcb (so that the led is in that cutout on the top pcb) and the plastic can still sit flat on top pcb..The nuts and screws seem quite big... I would probably just consider inserting hex nuts into the plastic, imperial 6-32 or M3 because they're both used in computers, mass produced ... or drill hole in plastic and insert flat head screws from the plastic side and going through pcb holes.There's also threaded inserts ... solder the thread to pcb... example:https://www.digikey.com/en/products/detail/keystone-electronics/24939/16343673I can only imagine how much you'd save if you'd have each letter a standard rectangle size, instead of custom making each word's shape. Plus you'd just copy paste the holes on the circuit board, and reduce your work in lots of other places.

author: thinkfat
author_rank: Unknown
timestamp: June 03, 2022, 06:56:05 pm
content: Reverse mounted LEDs are maybe another option for you. They add no height. Just require a hole drilled into the PCB for the lens.

author: Anton
author_rank: Contributor
timestamp: June 03, 2022, 07:47:55 pm
content: Quote from: tooki on June 03, 2022, 06:28:27 pmI considered milling too but unfortunately it does not work well with the diffuser material. Tests show that the light will not spread evenly and create hotspots. I also tested with a variety of laser cut materials in combination with side mounted and it works al lot better.Quote from: mariush on June 03, 2022, 06:43:36 pmI’m sorry but I sounds like you are trying to do a complete redesign? There is nothing complicated at all, just laser cut parts. Also no need for using different amount of LEDs for different letters. Also no need for special 110-120 degree LED’s. Why use double stacked PCB’s when there is space between the diffusers. The uniform spreading of light with just ordinary of the shelf LEDs has already been tested and proven to work. The bolts are not big either, they are standard socket head M3x6, no need for special flat head bolts. Also giving each letter its own rectangle shape is actually more work to manufacture and requires more fasteners. Combining into larger sizes gives me only a few variations for each word length. So please leave the mechanical design to me and focus on the electrical side.One question about the electrical side. I do not see why a standard 3,2v 20mA led would have problems with overheating when side mounted.

author: tooki
author_rank: Super Contributor
timestamp: June 03, 2022, 11:27:37 pm
content: Quote from: Anton on June 03, 2022, 07:47:55 pmJust to clarify, what I had in mind was introducing the light in the same spots where you’re doing the cutouts at the moment, not having the LEDs behind the letters themselves.Also, what’s the diffuser material you’re using? I’d be happy for some tips for future projects of my own.FYI, even if you have to spend more for side view addressable LEDs, I’d still consider it. It’ll still be way cheaper than the scores of LED driver ICs you’d need to run discrete LEDs.I also don’t see why cooling would be an issue. 20mA per color (60mA per LED if you went for RGB) is still not that much heat.

author: Anton
author_rank: Contributor
timestamp: June 04, 2022, 06:43:39 am
content: Quote from: tooki on June 03, 2022, 11:27:37 pmGood that you say that, i didn't try that configuration yet. The cutout spots are the location inside that are invisible when looking from the front of the clock due to the letter cut out not being a rectangle but just the letter shape.Creating a hotspot in those location might not be as bad as it also might result in even light behind the letter. I will have to test this.But besides the even spreading of light, unfortunately milling is expensive so i will probably still use laser cut parts over milling due to the huge cost savings.Quote from: tooki on June 03, 2022, 11:27:37 pmThe diffuser will probably be made of frosted translucent acrylic. However be aware that when you would mill a pocket into the material, you lose one side of the frost because it is clear on the inside.I will have a second look at side view addressable LEDs, it's not of the table yet.