Measuring small variation of a light photodiode

Hello everyone,

I'm quite new at this. I built this transimpedance amplifier circuit corresponding to the image with a 10 kOhm resistor and a 100 nF capacitor.
It works pretty fine, with a 1V-5V corresponding to no light and full light.
The thing is that I would like to measure really small variation of lights, it appears that the variation I'd like to measure is between 2V +/- 0.05 V. Have you got an idea to amplify the value of this small range so It could at least give me an amplitude of +/- 1V instead of +/- 0.05 V?

Thanks a lot for your help!

Hi,
A proper schematic will help, with pin labels and component names.
A hand drawn circuit diagram would be fine.

Thanks.. Tom.... :grinning: :+1: :coffee: :australia:

1 Like

If you have an A/D of sufficient resolution, just measuring the range around 2V may be enough.

I guess you have already tried this and are not satisfied.

I suspect that unless your diode is in a temperature conrolled environment the output variation due to temperature will be non-trivial. Just an educated guess.

You may want to consider a pair of detecting diodes. One kept dark for reference and look at the difference in their outputs.

The difference output could then be compared to a 2V reference.

This increases your circuitry significantly, sorry. But none of it is complicated, ha ha famous last words.

Hi,
Can you please post your code?

Thanks.. Tom... :grinning: :+1: :coffee: :australia:

Increasing the feedback resistor value increases the gain of the amplifier, at the tradeoff of reducing the highest light level you can measure.

Try resistors in the range of 22K to 33K, which will give you a full scale reading at about 1/2 to 1/3 of the previous "full light" intensity.

Please avoid posting Fritzing diagrams. They are nearly useless for determining component value, pinout and orientation.

With how much resolution?

Instead of having a variation of 1.95-2.05 V, I'd like to have at least 1.5-2.5V and it would be amazing to have 1-3V.

The operational amplifier is a ltc1050. The photodiode is a BPW34. I work with a arduino mega 2560 rev. 3.

For the code, it's very simple, all this project is extract from the DIY : DIY Science: Measuring Light with a Photodiode II | Outside Science


> #define inPin0 0
>  
> void setup(void) {
>  
>   Serial.begin(9600);
>   Serial.println();
>      
> }
>  
> void loop(void) {
>    
>   int pinRead0 = analogRead(inPin0);
>   float pVolt0 = pinRead0 / 1024.0 * 5.0;
>   Serial.print(pVolt0);
>   Serial.println();
>    
>   delay(100);
>    
> }

Blockquote

If I change the resistor, it will go from 2V +/-0.05 to ~5V +/- 0.125?
But I would like to have more precision that +/-0.125V, at least 0.5V.
Do you have an idea to increase the variation?

Where does that come from?

How hard is it to change the resistor, and see what happens?

You can offset the range by squirting some current into thhe + terminal of the opamp. The current will have to be equal and opposite to the lowest current from your photodiode.

The circuit in post#8 is AFAIK not a transimpedance amplifier.
Transimpedance amplifiers work with a virtually shorted photodiode.

What is the supply voltage for the opamp, and did you properly bypass it?

Code is also wrong for measuring a voltage source.
It should have a stable (internal or external) voltage reference, which the code is not using.

There are sensitive ambient light sensors out there that don't need pre-processing.
Like this one.
Leo..

If your schematic is correctly drawn, your OPAMP + and - inputs are switched. The photodiode, resistor and capacitor all should go to -, that is inverting, input of opamp. 100uF and 10k resistor make your circuit very slow. With your schematic the output voltage goes down when you put more light into the diode. Besides, it seems to try go negative. Put some positive voltage on the + input of your opamp.
You should take an DVM and measure how your circuit works. It looks like it wont work. When you have fixed it, your code will likely give better results.

In fact the circuit shown by the Fritzing diagram is correct (have to consult the LTC1050 data sheet to be sure), but the schematic in reply #8 introduced several fatal errors.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.