Maker Pro
Maker Pro

8 LED analog display

S

SteveW

Jan 1, 1970
0
hi everyone, any advice and recomendations appreciated.

From a single channel analog output of a DAQ card, I need to
independently drive the continous brightness of 8 high powered LED's.
Before I get cracking with my not very decent electronic design skills,
I thought I would check with the experts on design direction.

thanks
Steve
 
S

Spehro Pefhany

Jan 1, 1970
0
hi everyone, any advice and recomendations appreciated.

From a single channel analog output of a DAQ card, I need to
independently drive the continous brightness of 8 high powered LED's.
Before I get cracking with my not very decent electronic design skills,
I thought I would check with the experts on design direction.

thanks
Steve

How are they independent? Do they track? Are they a frequency spectrum
display?


Best regards,
Spehro Pefhany
 
S

SteveW

Jan 1, 1970
0
Spehro said:
How are they independent? Do they track? Are they a frequency spectrum
display?


Best regards,
Spehro Pefhany

I need to use the range of the single DAQ output, to be able to code the
brightness from 0 to maximum intensity, of each LED independently. I'll
use Labview to provide a control voltage, to be the source of the
designed circuit. This voltage value, needs to encode a 'brightness
level' for every single LED, so that any combination of 0 to max of each
LED individually may be continously set.

I'm not very competent at electronic design, so thought I would ask you
guys first to point me in the correct directions for further research :)

I need the LED's to be very bright, so they will need to be driven by a
high power source. The trick is to have each LED's brightness to be
accurately controlled and the same dynamic range. Basically, I need a
controlable 8 LED 'display monitor' with the ability for very high
luminosity in a continous time domain - all set by a single voltage source.

Sorry, did I do better explaining that time? :)
thanks for the interest, regards Steve
 
L

Luhan Monat

Jan 1, 1970
0
SteveW said:
I need to use the range of the single DAQ output, to be able to code the
brightness from 0 to maximum intensity, of each LED independently. I'll
use Labview to provide a control voltage, to be the source of the
designed circuit. This voltage value, needs to encode a 'brightness
level' for every single LED, so that any combination of 0 to max of each
LED individually may be continously set.

I'm not very competent at electronic design, so thought I would ask you
guys first to point me in the correct directions for further research :)

I need the LED's to be very bright, so they will need to be driven by a
high power source. The trick is to have each LED's brightness to be
accurately controlled and the same dynamic range. Basically, I need a
controlable 8 LED 'display monitor' with the ability for very high
luminosity in a continous time domain - all set by a single voltage source.

Sorry, did I do better explaining that time? :)
thanks for the interest, regards Steve

This looks like a contradiction - one analog source sets 8 different
brightness levels. How does it know which one you are setting?
Something is not well explained yet.
 
M

Mac

Jan 1, 1970
0
I need to use the range of the single DAQ output, to be able to code the
brightness from 0 to maximum intensity, of each LED independently. I'll
use Labview to provide a control voltage, to be the source of the
designed circuit. This voltage value, needs to encode a 'brightness
level' for every single LED, so that any combination of 0 to max of each
LED individually may be continously set.

I'm not very competent at electronic design, so thought I would ask you
guys first to point me in the correct directions for further research :)

I need the LED's to be very bright, so they will need to be driven by a
high power source. The trick is to have each LED's brightness to be
accurately controlled and the same dynamic range. Basically, I need a
controlable 8 LED 'display monitor' with the ability for very high
luminosity in a continous time domain - all set by a single voltage source.

Sorry, did I do better explaining that time? :)
thanks for the interest, regards Steve

Probably your best bet is to not drive the LED's directly with a voltage,
but with a variable duty-cycle digital waveform. If you want an ADC in
the loop, the ADC output could be connected to a circuit which translates
the Voltage into a PWM waveform.

The other option would be to use a current output ADC, or perform a
Voltage to current conversion.

Driving the LED's directly with a Voltage will not work.

Good search terms might be "PWM LED drive".

--Mac
 
B

Bob Monsen

Jan 1, 1970
0
SteveW said:
I need to use the range of the single DAQ output, to be able to code the
brightness from 0 to maximum intensity, of each LED independently. I'll
use Labview to provide a control voltage, to be the source of the
designed circuit. This voltage value, needs to encode a 'brightness
level' for every single LED, so that any combination of 0 to max of each
LED individually may be continously set.

I'm not very competent at electronic design, so thought I would ask you
guys first to point me in the correct directions for further research :)

I need the LED's to be very bright, so they will need to be driven by a
high power source. The trick is to have each LED's brightness to be
accurately controlled and the same dynamic range. Basically, I need a
controlable 8 LED 'display monitor' with the ability for very high
luminosity in a continous time domain - all set by a single voltage source.

Sorry, did I do better explaining that time? :)
thanks for the interest, regards Steve

You want a single analog voltage to control 8 LEDs. Do you want the LEDs
to all increase simultaneously? Or, do you want them to increase
sequentially with the increasing voltage?

I designed a circuit to do the second thing last year for some guy over
on basics. Here is the thread, courtesy google groups:

http://tinyurl.com/8ssau
 
I

Iwo Mergler

Jan 1, 1970
0
SteveW said:
I need to use the range of the single DAQ output, to be able to code the
brightness from 0 to maximum intensity, of each LED independently. I'll
use Labview to provide a control voltage, to be the source of the
designed circuit. This voltage value, needs to encode a 'brightness
level' for every single LED, so that any combination of 0 to max of each
LED individually may be continously set.

I'm not very competent at electronic design, so thought I would ask you
guys first to point me in the correct directions for further research :)

I need the LED's to be very bright, so they will need to be driven by a
high power source. The trick is to have each LED's brightness to be
accurately controlled and the same dynamic range. Basically, I need a
controlable 8 LED 'display monitor' with the ability for very high
luminosity in a continous time domain - all set by a single voltage
source.

Sorry, did I do better explaining that time? :)
thanks for the interest, regards Steve

Steve,

the problem, as I understand it, is to encode 8 independent
analog values within one analog value. Leaving the issue of
resolution and bandwidth aside for the moment, you have a
few basic options:

a) Drop the requirement to use a single, Labview driven DAC
output. Use any digital I/O port (RS232,Parallel,USB) to talk
to a PWM chip or a microcontroller. Personally, I would use
a programmable logic IC (e.g. Coolrunner) to implement an 8
channel PWM and interface it to serial, parallel or USB ports.

b) Go digital. If it's got to be your analog channel, just drive
it at > +-3V with a slow RS232 emulation and hook it to a
microcontroller which does the PWM for you. Otherwise, see a)

c) Frequency multiplexing. You generate an analog signal, which
is the sum of 8 discrete frequencies with variable amplitudes.
You then build a bank of 8 band pass filters + AM demodulators
which gives you 8 analog outputs. The best interface for this
would be a sound card.

d) Time multiplexing. Lets assume you can set up a clocking
scheme (e.g. 5V=clock pulse) It would be just about possible
to use discrete circuitry (monoflops and sample+hold) to latch
the analog values after the 'clock' and drive a PWM or current
control circuit for the LEDs.

e) Value multiplexing. Think binary. If the value is represented
as an 8-digit number, each digit could 'drive' one LED. As a
practical implementation you'll need to run your analog value
through an A/D converter and extract the individual channels
digitally, drive PWM, etc. It will probably flicker interestingly
during the updates. You won't get much more than 2-3 levels
of brightness out of this.

Kind regards,

Iwo
 
S

SteveW

Jan 1, 1970
0
I need to use the range of the single DAQ output, to be able to code
You want a single analog voltage to control 8 LEDs. Do you want the LEDs
to all increase simultaneously? Or, do you want them to increase
sequentially with the increasing voltage?

I designed a circuit to do the second thing last year for some guy over
on basics. Here is the thread, courtesy google groups:

http://tinyurl.com/8ssau

thanks guys, for all your responses...
This looks like a contradiction - one analog source sets 8 different
brightness levels. How does it know which one you are setting?
Something is not well explained yet.

Yes, this is the essence to the problem. I guess I need to code the
signal (in software), like a multiplexor and then somehow demux the
signal to drive the LEDs. In this way, I could carry the information of
the brightness level of each LED in the one analog source. The problem
is that although I'm keen to learn, I don't have the knowledge, so was
therefore hoping for some tips and hints.
Probably your best bet is to not drive the LED's directly with a >voltage,
but with a variable duty-cycle digital waveform. If you want an ADC in
the loop, the ADC output could be connected to a circuit which >translates
the Voltage into a PWM waveform.
The other option would be to use a current output ADC, or perform a
Voltage to current conversion.
Driving the LED's directly with a Voltage will not work.
Good search terms might be "PWM LED drive".

thanks, I'll look into the PWM waveforms for information transmission,
and also at the current controlled options - cheers
You want a single analog voltage to control 8 LEDs. Do you want the
LEDs to all increase simultaneously? Or, do you want them to increase
sequentially with the increasing voltage?

nope, not quite, but thanks for the link anyway. I need independent
control of each of the LED brightness levels, so I need to encode this
in the voltage source. So not simultaneous, and not sequential!

In software - I set a brightness level of each LED, 1 to 8 -> send this
along a single analog voltage output DAQ channel (mux'd version??) ->
circuit to transform this into the correct brightness level for each LED
(demuxed??, high powered, current driven??)

thanks again everyone, time for me to do some more studying :)
Looks like I'll be learning a bit to get this done! - though it seems it
will be fun and interesting. Please let me know of any more ideas.

regards
Steve
 
S

SteveW

Jan 1, 1970
0
Iwo said:
Steve,

the problem, as I understand it, is to encode 8 independent
analog values within one analog value. Leaving the issue of
resolution and bandwidth aside for the moment, you have a
few basic options:

a) Drop the requirement to use a single, Labview driven DAC
output. Use any digital I/O port (RS232,Parallel,USB) to talk
to a PWM chip or a microcontroller. Personally, I would use
a programmable logic IC (e.g. Coolrunner) to implement an 8
channel PWM and interface it to serial, parallel or USB ports.

b) Go digital. If it's got to be your analog channel, just drive
it at > +-3V with a slow RS232 emulation and hook it to a
microcontroller which does the PWM for you. Otherwise, see a)

c) Frequency multiplexing. You generate an analog signal, which
is the sum of 8 discrete frequencies with variable amplitudes.
You then build a bank of 8 band pass filters + AM demodulators
which gives you 8 analog outputs. The best interface for this
would be a sound card.

d) Time multiplexing. Lets assume you can set up a clocking
scheme (e.g. 5V=clock pulse) It would be just about possible
to use discrete circuitry (monoflops and sample+hold) to latch
the analog values after the 'clock' and drive a PWM or current
control circuit for the LEDs.

e) Value multiplexing. Think binary. If the value is represented
as an 8-digit number, each digit could 'drive' one LED. As a
practical implementation you'll need to run your analog value
through an A/D converter and extract the individual channels
digitally, drive PWM, etc. It will probably flicker interestingly
during the updates. You won't get much more than 2-3 levels
of brightness out of this.

Kind regards,

Iwo

thanks Iwo, I'll study up on this now. This is exactly what I was
after, expert opinion so I didn't spend too long chasing down a bad
design path.

regards, SteveW
 
SteveW said:
thanks Iwo, I'll study up on this now. This is exactly what I was
after, expert opinion so I didn't spend too long chasing down a bad
design path.

regards, SteveW

Just off the top of my head..
How about connecting each led to a window comparator , setting its "on"
voltage. Then by driving all the window comparator ccts you can select
the led you want on by setting the output voltage , and maybe some
sort of pwm scheme to set the brightness. With 8 led's you may run into
troubles getting enough brightness this way , without flicker.Just a
thought.
Cheers
Rob
 
L

Luhan Monat

Jan 1, 1970
0
Just off the top of my head..
How about connecting each led to a window comparator , setting its "on"
voltage. Then by driving all the window comparator ccts you can select
the led you want on by setting the output voltage , and maybe some
sort of pwm scheme to set the brightness. With 8 led's you may run into
troubles getting enough brightness this way , without flicker.Just a
thought.
Cheers
Rob

Ok, how about this.

Send out 8 analog pulses with zero voltage in between and a larget time
gap between each set of 8. Capture each voltage with an A/D in the
micro. Meanwhile, continue doing Pulse Width Modulation on each of the
8 LEDs to control brightness.

Alternatively, give up, you 'cant get there from here'. ;{
 
S

SteveW

Jan 1, 1970
0
Ok, how about this.

Send out 8 analog pulses with zero voltage in between and a larget time
gap between each set of 8. Capture each voltage with an A/D in the
micro. Meanwhile, continue doing Pulse Width Modulation on each of the
8 LEDs to control brightness.

Alternatively, give up, you 'cant get there from here'. ;{

yep .. thanks heaps guys, you really have saved me from trials leading
to many an error :)

one of the requirements for the system would be very, very minimal
flicker, (about 4 times less than human perceptual detection - I could
explain, but you would just laugh at me!), so all this advice has
highlighted the difficulties and at least provided designs not to try
and implement.

I'll have another think about things, and try and battle through some
digital->microcontroller->LED approaches. I'll let you know of any
successes.

thanks again for all your responses, regards Steve
 
R

Rich Grise

Jan 1, 1970
0
one of the requirements for the system would be very, very minimal
flicker, (about 4 times less than human perceptual detection - I could
explain, but you would just laugh at me!),...

From where I sit, it's already a little late to be worrying about who's
laughing at whom here.

First, you have one unspecified analog signal, with which you want to
independently control the brightness of eight individual LEDs, which
means somehow figuring out, from one instantaneous voltage, two or
three things: Which LED, and How Bright. OK, just the two. :-/

Then, you come up with "4 times less than human perceptual detection" -
what does that even mean?

So, please drop the worries about being laughed at and explain, again,
two things: What's this "human perceptual detection" that you want to
do something 4 times less than, and what exactly is the goal that
you're afraid to explain?

As far as answers to the closest description of the problem itself
that I've read so far, maybe look into delta-sigma or whatever they
did to get 56 KBPS down a 3 KHz analog channel, i.e., modems.

'DAQ' means "Data AcQuisition", right?

Good Luck!
Rich
 
B

Ban

Jan 1, 1970
0
Rich said:
From where I sit, it's already a little late to be worrying about
who's laughing at whom here.

Consider another approach, when you are more into software: Philips has some
I2C bus-controler PCA9564 and I2C 8-bit LED dimmer PCA9531, which can
control 8 LEDs. You only need a 3.3V supply.
You can get a (far out) Demo-board for free if you write an Email to
[email protected]
"please send me the LED dimmer demo board"
 
B

Bob Monsen

Jan 1, 1970
0
SteveW wrote:
<he wants to code 8 independent output intensities into one analog voltage>

The problem, in mathematical terms, is that you want to have 8
independent numbers encoded into a single number.

You can use discrete levels. However, if you want the changes in
intensity to appear continuous, you'll need lots of levels for each LED.
Each discrete level will require a 'bit'. Say you want 32 levels. Then,
you will need 32*8=256 bits of information encoded into the voltage.
That isn't really going to be possible unless you want to spend lots of
money on it.

Thus, you can't really do this in any continuous way unless you use
time, and signal the information somehow. Thus, you could use some kind
of single wire coding, like manchester code, to signal the information
using your single voltage. That would require logic on both sides to
encode and decode the signal.

Another way would be to use 8 different ranges of frequencies, each of
which can then be assigned to an LED. A low frequency in the band
corresponds to a dim LED, whereas a high frequency corresponds to a
bright LED. This is like radio, in which different bands can have
different intensities of output which won't interfere with one another.
You can use a bandpass filter and an F/V converter for each LED, or run
the signal into a DSP, and perform an FFT on it. Frequencies will add,
so the 8 independent sine waves corresponding to the desired intensities
of the LEDs can be manufactured separately and added.

However, I'm guessing the real problem you are trying to solve can be
handled in any number of far simpler ways, including adding a few wires.
Perhaps a more complete description of the problem is in order.
 
B

Bob Monsen

Jan 1, 1970
0
Bob said:
SteveW wrote:
<he wants to code 8 independent output intensities into one analog voltage>

The problem, in mathematical terms, is that you want to have 8
independent numbers encoded into a single number.

You can use discrete levels. However, if you want the changes in
intensity to appear continuous, you'll need lots of levels for each LED.
Each discrete level will require a 'bit'. Say you want 32 levels. Then,
you will need 32*8=256 bits of information encoded into the voltage.
That isn't really going to be possible unless you want to spend lots of
money on it.

Correction, you'll need 5 bits for 32 levels, of course. However, that
still means 40 bits, which is prohibitive.
 
Y

YD

Jan 1, 1970
0
hi everyone, any advice and recomendations appreciated.

From a single channel analog output of a DAQ card, I need to
independently drive the continous brightness of 8 high powered LED's.
Before I get cracking with my not very decent electronic design skills,
I thought I would check with the experts on design direction.

thanks
Steve

Take a look at the packet radio scheme, IIUIC it more often than not
uses the sound card for output. Since there are 8 LEDs and 8 levels
you can get away with one byte for each LED. For example, high nibble
for address and low nibble for value. How to decode it at the
receiving end is another matter. Hmmm, a PIC?

- YD.
 
Top