Connect with us

LED Display Multiplexing

Discussion in 'LEDs and Optoelectronics' started by Karthik rajagopal, Aug 30, 2021.

Scroll to continue with content
  1. Karthik rajagopal

    Karthik rajagopal

    241
    9
    May 9, 2016
    Hi all,
    I recently found a Duplex Led Display from an old alarm clock. It has a total of 23 pins to just drive 4 digits with 7- segments each (with an exception of the 1st digit as it only has 'A' and 'B' segments) and the colon LEDs. After doing some testing, I found out that this display could be used only by multiplexing and direct drive was not possible.
    I did a simple clock circuit using arduino and used 74HC595 IC for shifting the bits and TLC59213 LED Driver IC to deliver enough current for the LEDs. I multiplexed it at a frequency of 5KHz below which a visible flicker occurred.
    My circuit worked as expected but the brightness was too low. So, I increased the Vcc of the LED Driver IC to 12v which was close to its maximum operating voltage of 15V. This did improve the brightness by a bit but still LEDs were emitting only half the brightness they were actually capable of.
    Each segment has two LEDs in series.

    Please suggest me a way to improve the display's brightness .
    Thanks in advance


    Image of the display in the arduino clock circuit : Display.jpg
    Circuit Diagram of the old alarm clock :
    Display_clock.png
     
  2. Harald Kapp

    Harald Kapp Moderator Moderator

    11,702
    2,716
    Nov 17, 2011
    When multiplexing you reduce the duty cycle of the LEDs. In this case the duty cycle will be ~ 25 % (4 Segments * 25 % = total of 100 %).
    Therefore you need to increase the LED current during on time. To achieve for example an average LED current of 20 mA at 25 % duty cycle the LED current needs to be 100 mA during on time. With theTLC59213 you set the LED current using series resistors. Check the datasheet for details.
     
  3. Karthik rajagopal

    Karthik rajagopal

    241
    9
    May 9, 2016
    Thanks for the reply.
    As you had advised, I lowered the series resistance which delivered around 90mA and it almost fixed the issue except when the number of segments that were lit reduced(while displaying numbers like 1 ,7...). My arduino code just had to loop with lighting those segments which increased the Ton time thus increasing the current through each segment. The yellow LEDs almost turned orange.
    Should I write the code in a way it maintains the duty cycle irrespective of the number being displayed or is there any other way I can fix this?
    Thanks in advance.
     
  4. Harald Kapp

    Harald Kapp Moderator Moderator

    11,702
    2,716
    Nov 17, 2011
    You definitely should do that. I assume you use delay() to generate the timing as is often seen in simple Arduino code, right?
    The way to fix this is by putting the multiplexing code into an interrupt routine that is driven by a timer. This example should get you started.
     
  5. Karthik rajagopal

    Karthik rajagopal

    241
    9
    May 9, 2016
    Thanks for sharing the link. I will do it with timers and interrupts.
     
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Similar Threads
Loading...
Electronics Point Logo
Continue to site
Quote of the day

-