From: Joerg on
Charlie E. wrote:
> On Mon, 01 Mar 2010 11:12:58 -0800, Joerg <invalid(a)invalid.invalid>
> wrote:
>
>> Charlie E. wrote:
>>> On Mon, 01 Mar 2010 10:38:45 -0800, Joerg <invalid(a)invalid.invalid>
>>> wrote:
>>>
>>>> Charlie E. wrote:
>>> <snip original problem...>
>>>
>>>>> Joerg,
>>>>> Thanks for the advice. Yes, I had been concentrating so hard on the
>>>>> amplifiers I never really considered the LEDs. In my mind, they would
>>>>> just 'work' and I could then adjust accordingly. Didn't realize that
>>>>> they would vary that much. Will have to look at maybe adding a higher
>>>>> voltage, and go with the constant current drives for them. This does
>>>>> need to be pretty accurate!
>>>>>
>>>> Where is your VCC coming from? Regulator? If so, what's the minimum
>>>> voltage going into that regulator? If it is a battery that won't drop
>>>> below about 4.5V and has low load ripple (low source resistance, added
>>>> capacitors) fixing this part of the circuit would become fairly simple.
>>> Hi Joerge,
>>> I only have two AA batteries, so voltage is only about 2.5-3.1 volts.
>>> That was why I added in the power supply, to try and stabilize that
>>> voltage. Most of the parts were pretty power tolerant, but I figured
>>> (somewhat correctly) that the LEDs would be pretty voltage sensitive.
>>>
>> That will require switch mode conversion, no other choice.
>>
>>
>>> What do you think of this idea? Take an LED driver chip, like an
>>> LM3519 to do the voltage step up and current control, and then three
>>> fets to switch that current to each of the LEDs. Means a chip, a
>>> small inductor and schottkey, a couple of caps, and three fets.
>>> Shouldn't take up too much board space or budget...
>>>
>> Nope, it ain't quite that easy. It doesn't have an external sense
>> resistor and, consequently, the "accuracy" to which it holds the current
>> is really horrid. Look at the Iout versus Vin, that's just not good
>> enough. If you want to use a chip (or three) you need to find one with
>> at least and external Rsense.
>>
>> It is usually easier and less expensive to boost that voltage from the
>> two AA cells to 5V and add the analog current source circuits I
>> mentioned in my other post (one per LED section). The PIC could be
>> supplied directly from the AA cell if it's happy with 2.5V.
>
> You are probably right. One problem is that the opamps for the
> phototransistor (ambient light sensor) should also probably stay on
> the battery, to prevent overdriving the ADC inputs for the PIC. There
> are the other LED drivers with an external current sense resistor, so
> will look into the tradeoffs involved...
>

The opamps can be handled with series resistors and, if necessary, BAV99
double-diodes. But if you have suitable opamps you might as well run
them off the PIC rail.

I'd really consider just one li'l boost converter that makes 5V. Tons of
those available. Then current sources for a clean control.

--
Regards, Joerg

http://www.analogconsultants.com/

"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
From: whit3rd on
On Mar 1, 8:54 am, Charlie E. <edmond...(a)ieee.org> wrote:

>  Sensor is simply an RGB LED and a
> phototransistor, buffered by some amps, and then digitized by a PIC24.

Your digitizing scheme is not what you really need; the small current
can easily be integrated onto a capacitor, and a comparator input
with one of the nice timer sections can give a single-slope
digitization of the noisy input. Using instead the DAC section, your
noise bandwidth is quite high.

Current-input D/A conversion is easy, and voltage conversion then
voltage DAC has no real benefit here.
From: Jon Kirwan on
On Mon, 01 Mar 2010 11:51:16 -0800, Tim Wescott
<tim(a)seemywebsite.now> wrote:

>Charlie E. wrote:
>> On Mon, 01 Mar 2010 12:08:17 -0700, Jim Thompson
>> <To-Email-Use-The-Envelope-Icon(a)My-Web-Site.com> wrote:
>>
>>> On Mon, 01 Mar 2010 09:30:34 -0800, Charlie E. <edmondson(a)ieee.org>
>>> wrote:
>>>
>>>> On Mon, 01 Mar 2010 10:25:21 -0700, Jim Thompson
>>>> <To-Email-Use-The-Envelope-Icon(a)My-Web-Site.com> wrote:
>>>>
>>>>> On Mon, 01 Mar 2010 08:54:53 -0800, Charlie E. <edmondson(a)ieee.org>
>>>>> wrote:
>>>>>
>>>>>> Hi Guys,
>>>>>> Ok, going to put myself in harms way, and ask for a little design
>>>>>> advice. I have been working on this project for a while now, and it
>>>>>> has gone through several iterations, and I keep having the same
>>>>>> problem!
>>>>>>
>>>>>> First, the project: I am designing a small color reader for the
>>>>>> visually impaired. Really simple operation - put it against the
>>>>>> object you want to tell the color of, and it will say "RED" or
>>>>>> whatever the color is. Sensor is simply an RGB LED and a
>>>>>> phototransistor, buffered by some amps, and then digitized by a PIC24.
>>>>>> So, what's the problem? I can't get a stable reading. In normal
>>>>>> operation, this thing will run for about two seconds, and then be
>>>>>> turned off. To test, however, I run it in debug mode for hours. When
>>>>>> I first turn it on, and calibrate it to a white sample, I will get one
>>>>>> set of calibrations. Let it sit for about two minutes, and it starts
>>>>>> to drift. In about half an hour, I will have readings totally off the
>>>>>> scale.
>>>>>>
>>>>>> So, why am I baring my soul to ya'll? I need your help identifying
>>>>>> where the gain drift is coming from, and some ideas on how to control
>>>>>> them. I have the schematic here:
>>>>>>
>>>>>> http://edmondsonengineering.com/Documents/Rainbow%20color%20Reader%20Schematic.pdf
>>>>>>
>>>>>> Basic description - MCU turns on an LED. The phototransistor is first
>>>>>> buffered by a non-inverting opamp with a gain of 2, and the signal is
>>>>>> split. Part goes directly to a PGA where it is first attenuated, and
>>>>>> then the PGA boosts it up. This gives me a calibration control to
>>>>>> deal with difference in output of the LEDs. The original and PGA
>>>>>> signal are added, and this is then applied to another non-inverting
>>>>>> opamp with a gain of 2. I also have one feed before this opamp to an
>>>>>> ADC input on the PIC.
>>>>>>
>>>>>> Problems I have already solved:
>>>>>> First, each LED has a different output level. Red needs a gain of
>>>>>> around 2, BLUE a gain of around 5, and GREEN a gain of about 7. The
>>>>>> PGA was added to give me an adjustable gain from around 2 to 14, with
>>>>>> the two different taps into the separate input channels of the PGA.
>>>>>> This gives me 16 different gain levels to play with. Using the tap to
>>>>>> the second ADC channel, it actually gives me 32 different levels.
>>>>>>
>>>>>> Right now, RED uses this lower gain channel, and is steady as a rock.
>>>>>> Part of this may be that my VCC is 3.3 volts, and only RED has a
>>>>>> forward voltage below this. Both GREEN and BLUE have forward voltages
>>>>>> of 3.4 volts.
>>>>>>
>>>>>> So, potential problems? could it be that repeated use warms up the
>>>>>> GREEN and BLUE LEDs so that they become more efficient? Could the
>>>>>> power supply drift higher as it warms up? Could the opamps drift with
>>>>>> slight changes in temperature? Any advice ya'll can give will be most
>>>>>> appreciated.
>>>>>>
>>>>>> Thanks,
>>>>>> Charlie
>>>>> What keeps the LED's at their _constant_ current?
>>>>>
>>>>> ...Jim Thompson
>>>> Hi Jim,
>>>> Basically, it is whatever the PIC outputs will put out. They are
>>>> rated at 18mA, but I suspect that they are putting out a whole lot
>>>> less...
>>>>
>>>> Charlie
>>> Don't you want them to stay at a constant current?
>>>
>>> ...Jim Thompson
>> Yeah, I realize this now... ;-)
>>
>> this is my first foray into photometry. Wanted something cheap and
>> easily reproducible. I just 'assumed' that an LED would give the same
>> output with the same drive...
>>
>> Oh well, I guess the boss will just fire me!
>>
>> Charlie
>
>Well, there's drive and there's drive. In the case of an LED, the drive
>is current. And even then, it's not generally reasonable to expect that
>a power conversion device (like an LED, that transforms electric power
>into light) is really at all precise. Use an LED, or a motor, or a
>solenoid, or whatever, 'in the raw', and you have to expect it's
>performance to vary. The more efficient it is, and the less expensive
>it is, the more you can expect it to vary.

This is a very important point. I've used LEDs where
precision was important in several different uses, where we
hoped for better but have learned a little in the process.

In one, we had them thermally stable (heated, by design) and
very precisely current controlled (better than 0.1%) and
still needed a long, 2-day bake-in testing process to cull
the "bad ones" which drifted like hell. We'd select only
those which showed a very gradual change near the end, but
that was perhaps 2% or so? The rest were tossed out. The
results were excellent, after that, and they definitely
served their purposes well. But ...

In another, which I'm currently doing something to correct
right now, the exact same part number from the same
manufacturer "worked great" with about 50% or better passing
manufacturing testing and then, a few months back, suddenly
that rate dropped to about 1% or so... and shipping nearly
came to an abrupt halt. Fixable, but parts change and if you
don't buy everything you need "today" you might find yourself
in deep trouble "tomorrow" if you depend upon specs that
aren't front and center on the data sheet. We didn't have a
choice here, as the whole thing is basically a bleading edge
FAB device. But still ...

LEDs, driven as well as you may wish, current wise, aren't
what you call "stable." Even adding thermal control doesn't
eliminate drift. Not even close, for some needs.

I think Charlie's method needs to be functional in the face
of, at best, modest current control, led variability, and
drift over time and ambient temps if it is going to be
practical. I think that can be done. But I think some
mathematics will be required here. I'd start with the idea
of a linear calibration matrix, 3x3 in size, created by a
quick calibration step and inverted and then applied to the
data he gathers from then one. Each measurement on his
system is a 1x3 vector. I've used such methods with
completely uncalibrated RGB LED products from OSRAM, to make
excellent use of them that is repeatable and cheaply
calibrated in less than a few seconds.

Jon
From: Jon Kirwan on
On Mon, 01 Mar 2010 13:07:50 -0800, I wrote:

>then one

then on.
From: dcaster on
On Mar 1, 4:54 pm, Charlie E. <edmond...(a)ieee.org> wrote:
> Hi Guys,
> Ok, going to put myself in harms way, and ask for a little design
> advice.  I have been working on this project for a while now, and it
> has gone through several iterations, and I keep having the same
> problem!
>

> Thanks,
> Charlie

Have you considered using an incandescent lamp and two
phototransistors with red filter in front of one and a blue filter in
front of the other. If you run the lamp with a slightly low voltage,
it should have a long life. A 49 lamp runs on 2 volts and 60 ma.


Dan

First  |  Prev  |  Next  |  Last
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Prev: Magnetism is really -- WHAT?
Next: low-end scope