Go Down

Topic: 4" common anode 7-segments: driver reference to buy in 2014 (Read 27789 times) previous topic - next topic

Hello guys  :)

I would like to drive a 4" large 7-segments LED with my arduino nano.


This 7-segments is common anode
and 12V driven.
I have understood I have to use a Constant-Current LED Sink Driver
(sink and not source because of common anode).

I wish you could tell me what reference of driver I could buy in 2014?
as I have googled many threads but often the chip references are outdated...  :~
(Allegro 6278EAT from this post on deleteaso.com)

Could you please tell me what I can buy?

Thanks
yours
Mat

PS : I know there is an alternative but I would like to not use 7 NPN transistors and 14 resistors to simplify the wiring.

_____________________________________________________
_____________________________________________________
edit : here is what I have done
thanks to PaulRB, CrossRoads, Grumpy_Mike, Paul__B !

-> job done with TPIC6C595

see in attachement PCB and wiring diagram


+ arduino SPI library

Here is the result in video!
http://www.youtube.com/watch?v=pGJCbzJMrMY

Thanks guys for the help so far!

Code: [Select]
/*
 Shift Register Example for 74HC595 shift register by Tom Igoe
 Digital Pot Control  by Tom Igoe
 Thanks to Heather Dewey-Hagborg for the original tutorial, 2005
 Thanks to CrossRoads!
 by RacingMat 09-2014
 */
// include the SPI library:
#include <SPI.h>

byte fontArray[] = {
  // dp-a-b-c-d-e-f-g
  0b11101110, // 0
  0b00101000, // 1
  0b11001101, // 2
  0b01101101, // 3
  0b00101011, // 4
  0b01100111, // 5
  0b11100111, // 6
  0b00101100, // 7
  0b11101111, // 8
  0b01101111, // 9
  0b00010000, // DP
};

//Pin connected to Data in SER IN pin 2 of 6c595
const int dataPin = 11;
//Pin connected to latch pin (SRCK)pin 15 of 6c595
const int latchPin = 13;
//Pin connected to clock pin (RCK) pin 10 of 6c595 as the slave select
const int slaveSelectPin = 10;

void setup() {
  // set the Pins as output:
  pinMode(dataPin, OUTPUT);  
  pinMode(latchPin, OUTPUT);
  pinMode (slaveSelectPin, OUTPUT);
  Serial.begin(9600);
  // initialize SPI:
  SPI.begin();
  // take the SS pin low to select the chip:
  digitalWrite(slaveSelectPin,LOW);

}

void loop() {
 for (int i=0; i <= 10; i++){
      delay(500);
    digitalWrite (slaveSelectPin, LOW); // << RCLK line goes low
    SPI.transfer (fontArray[i]);  //  << SRCLK goes  high-low 8 times to output 8 bits of data
    digitalWrite (slaveSelectPin, HIGH); // data outputs change on this rising edge << RCLK line goes high to move data into output register
  }
}


http://www.led-display.cc/Single-Digit-LED-Display/67/LD40011CD-4-Inch-Single-Digit-7-Segment-LED-Display.htm

___________________
edit :

Some news:
this video to demonstrate how Simtools can extract data from racing games in real time
http://www.xsimulator.net/simtools-motion-simulator-software/

it's really synchronized between GT Legends and the LDC display :)

http://www.youtube.com/watch?v=qV0qyFKvUBU

>Physically how will the digit to display be transmitted to the Arduino?
It is via a USB com port


There are two free softwares which can drive actuators for dynamic simulators and dashboard incidentally
-Simtools software
-xSim software with an example of more complex digital dashboard


PaulRB

Hi Mat and welcome.

I would consider uln2803, tpic6c595 and saa1064. The '2803 and '595 do not contain constant current drivers but you can use series resistors instead. The advantage of the '595 is that it would use only 3 arduino outputs and the chips can be daisy-chained to drive more digits. The advantage of the '1064 is that it could drive 2 such displays, or even 4 with the addition of a couple of transistors. Also it would use only 2 arduino pins, since it connects via the i2c bus. It contains constant current drivers and has 7 brightness levels that can be selected in software.

Paul

Thanks PaulRB!  :)

I would like to build several "gear indicators" for my simracing cockpit  8)

My use is really basic, no daisy chain, only one digit:
so saa1064 is over-mighty (and expensive)

uln2803 = 1,12€ / 10 pcs      http://www.ti.com/lit/ds/symlink/uln2803a.pdf
tpic6c595 = 1,90€ / 1 pc + 3€       http://www.ti.com/lit/ds/slis061c/slis061c.pdf
and saa1064 = 2,50€ / 1 pc + 2,5€  http://www.fortito.mx/wp-content/uploads/technical/SAA1064.pdf

I'll now check what would be different between uln2803  and tpic6c595...



PaulRB

Another suggestion is tlc5916/7.

Or bc337 (x7)!

Why do you believe you need constant current drivers?

What is the forward voltage of the segments in your displays, and the maximum current?

How will your circuit know what digit to display?

Thanks, I'll check the new references you gave me!

>Why do you believe you need constant current drivers?
I thought that with such a driver I won't need to add resistors and simplify my wiring, no?

>What is the forward voltage of the segments in your displays, and the maximum current?
I recycled these 3" 7-segments so I haven't the specs.
I did some tests to determine that they are common anode.
and below 12V, they don't lit...
About max current, I'm not sur how to know it without burning them  :D

>How will your circuit know what digit to display?
They are some dedicated free softwares that extract telemetry data from games  8)
I may link them later today if you're interested in!

PaulRB

You are correct, without constant current drivers, you will need series resistors. If using transistors you will need even more resistors on the bases. But transistors and resistors are very cheap!

How much below 12V will the segments still light? All driver chips will drop some of the supply voltage, and if that is 12V also, you may have a problem.

Normally there is a part number printed on the side of such displays. Can you see one? Have you googled the part number?

Physically how will the digit to display be transmitted to the Arduino?

CrossRoads

TPIC56x595 are good. 6B595 is 150mA, look also at 6A595, 6C595, 6D595, one of them is 100mA/segment and 20V source, lower cost but all the capability needed.

Open drain outputs, will have low voltage drop across them compared to ULN2803, which does not have shift register built in like the '595s are.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

@CrossRoads: Thanks for your help!
Yes, a built-in shift register is a nice feature!
I'll read the specs
tpic6a595
TPIC6B595

@PaulRB:
>Physically how will the digit to display be transmitted to the Arduino?
It is via a USB com port


There are two free softwares which can drive actuators for dynamic simulators and dashboard incidentally
-Simtools software
-xSim software with an example of more complex digital dashboard

>How much below 12V will the segments still light?
5V is not enough, 12V was good: I'll redo some more tests

>Normally there is a part number printed on the side of such displays.
Yes I have googled the references without luck (I'll write them here once back home)

Paul__B

Arguably, ULN2803s are undesirable for most applications.  The use of Darlington pairs means that they have a poor saturation voltage - of the order of 1V which is of course, a significant voltage loss in a 5V circuit and a dissipation of 1 Watt per Amp switched.  They also draw base current even if no load is connected.

Where you wish to use a shift register, a TPIC6x595 is a vastly better performer, with an essentially zero quiescent current.  An array in a chip with only the logic level power FETs would be ideal for other applications.

PaulRB


An array in a chip with only the logic level power FETs would be ideal for other applications.


That would be a useful part to keep in our part boxes. Do we know of one?

Hi,

the references are CILE40011CD molded into the plastic
and maybe a part number printed J40011AR-2

I had no luck...

PaulRB

Are you sure the display is 3"? The data sheets for displays with similar codes are all 4". What colour are the segments when lit?

PaulRB

#12
Sep 02, 2014, 09:55 pm Last Edit: Sep 02, 2014, 09:57 pm by PaulRB Reason: 1
This is the best match I can find for the data sheet:

http://leds.com.ua/assets/products/datasheets/92.pdf

The forward voltage depends on the colour but most are quoted as 2.1V. There are 5 leds shown for each segment (except the dp - be careful with that!) which would make the total 10.5V for the segments (but only 2.1V for the dp).

Hey! you're great!  8)
They are 101mm high which is ... 4" digit height : sorry I'm not acustomed to imperial units  :smiley-red:
And the color is red.

And I hope I didn't mistake: it is common anode because I had to plug the common pin to +12V and others pins to ground to lit the segment.

Please can you tell me what hints the specs are giving to choose the driver?

(I have understood that the dp should not be fed with 12V because there is only 1 LED inside: thanks).

PaulRB

We don't know for certain that those are the specs. The product code is not an exact match. You should be cautious. But if they are correct, all the suggestions so far should be ok, even the uln2803. If the max current is 20mA then a series resistor of (12-10.5)/.02=75R should be ok, but start with a 100R first. If the segment does not light, try a lower value. Once the segment lights, measure the voltage accross the resistor. From that you can calculate the forward voltage of the segment and the current through it. Let us know what you find.

Go Up