Problems with 74HC595 and ULN2003 to drive 12V seven segment

Discussion in 'The Projects Forum' started by tyousaf, Oct 18, 2012.

  1. tyousaf

    Thread Starter New Member

    Oct 18, 2012
    3
    0
    Hi All

    I am new to this forum and the reason behind joining is a problem I have been having with a seven segment display circuit.

    I have attached am image file titled Untitled.png. This is the circuit diagram showing a common anode seven segment display attached to 12V power supply with GNDs attached ULN2003.

    ULN2003 is attached to a shift register 74HC595. Apologies for not labelling these ICs on the schematic.

    74HC595 is receiveing Serial, Clock and Latch data from an Arduino.

    I am not posting the Arduino code here because I have tested the circuit on 12V with single LEDs and a 1/2 watt resistors and the code is working fine.

    All I am esstentially trying to do is make the seven segment count from 0 to 9. The second file attached is the led array.png. This is the schematic for each of the seven segments in the seven segment display. The problem I am having is that the display while while cycling through the numbers 0 to 9 goes blank instead of displaying 8. All other digits display properly.

    I am using a 12V power supply at 2A.

    Any help will be really appreciated.

    Regards
    Taimoor
     
  2. Ron H

    AAC Fanatic!

    Apr 14, 2005
    7,050
    656
    Explain how led array.png fits into the first schematic.
     
  3. tyousaf

    Thread Starter New Member

    Oct 18, 2012
    3
    0
    Hi Ron H

    The led array.png is the schematic of one of the segments in the seven segment display I am using.

    I am attaching a complete schematic along with Arduino connections that I have now managed to complete.

    Each segment in the seven segment display is made up of 16 LEDs. They are arranged in 4 parallel rows of 4 LEDs connected in series. Each series of 4 LEDs is connected to a 220 Ohm resistor because the segment is powered using 12V 6A power supply.

    Hope this makes it clear.

    Here is a link to the video I have uploaded on Youtube. As you can see in the video the display goes blank when digit 8 is suppose to be displayed.

    http://www.youtube.com/watch?v=SlLmIPXqd28
     
  4. absf

    Senior Member

    Dec 29, 2010
    1,490
    371
    What's the current through each segment of 16 LED when it was lighted. Was the ULN2003A getting warm during operation?

    Allen
     
  5. tyousaf

    Thread Starter New Member

    Oct 18, 2012
    3
    0
    Hi Allen

    Each segment dissipates a total of 992mW power and 80mA current.

    Resistors dissipate 352mW and LEDs dissipate 640mW.

    I ran the segment for a few hours but ULN2003A did not warm up. I have manually tested the ULN2003A by simultaneously supplying 3.3V from Arduino to pin 1 to 7 and all seven segments lit up.

    Do you think ULN2003A has some sort of cut off point that I have managed to hit while trying to light up all seven segments.
     
  6. Ron H

    AAC Fanatic!

    Apr 14, 2005
    7,050
    656
    The total collector current will be 7*80mA=560mA, which exceeds the 500mA max package Ic spec (see p.4 of the datasheet). Still, I'm surprised that that would cause the outputs to all turn off immediately.
     
  7. absf

    Senior Member

    Dec 29, 2010
    1,490
    371
    That's what I thought too when I looked at the datasheet. Each channel would be able to handle max 500mA but the absolute max current per chip is also 500mA.

    You can try to reduce the 12V to 8 or 9V just to confirm the ULN2003 was the culprit. if the result is positive, use 2x ULN2003 to share the current on the segments :- a-d on 1st and e-g on the 2nd.

    Allen
     
    Last edited: Oct 18, 2012
  8. ScottWang

    Moderator

    Aug 23, 2012
    4,850
    767
    Assumed the values of LED,ULN2003:

    LED Vf=2V,If=20mA,but used 80% in Idc = 20mA x 80% = 16mA.
    ULN2003 Vce(sat) = 1V
    +12V → 220Ω → LEDx4(8V) → ULN2003 C → ULN2003 E to GND
    Idc max = (12V - 8V - 1V) / 220Ω = 22.7mA, the current that ULN2003 can provide for each LEDx4
    I_digit = 22.7mA x 4 = 90.8mA, the current that ULN2003 can provide for each digit (LEDx4x4)

    I_7-seg max = 90.8mA x 7 = 635.6mA

    When LED used scan to light up, then you can increase the current, it means that you can reduce the value of Resistor(220Ω).

    The ULN2003 usually used at 1/3 Total current : 500mA/3=166mA.

    The current calculation above is for DC current, the current of LEDs can be increase by scan rate.

    You can do a testing as : light up all segments to display '8', and then measuring the current.
     
    Diogenes Lingus and lhphuc like this.
Loading...