ADC not sensitive to photodiode

Thread Starter

palkapalka

Joined Aug 15, 2015
13
I got the following issue that I can not figure out.
The circuit is below:

OP954 is a photodiode.
PE3 is ADC input
As you can see I use TM4C123GXL which is TI TIVA C Launchpad microcontroller with 12bit ADC (datasheet)
The problem is that ADC is not sensitive to change in voltage generated by photodiode depending on light brightness.
I have tried to troubleshoot. Here is what I observed:
1. The ADC measures digital on/off pulses from another pin on the same board just fine.
2. I can read voltage changing in the same circuit using multimeter;
3. I can read voltage changing in the same circuit using another microcontroller (Arduino UNO with 10bit ADC).
4. Replacing R1 with lower value resistor changes level of flat signal read by PE3, but still no sensitivity to change in light intensity (output stays flat).

What would be your thoughts?
Thank you in advance.
 

DickCappels

Joined Aug 21, 2008
10,661
Three things you can do to improve sensitivity:
1. Increase bias voltage

2. Increase the resistor

3. Use a preamp

View attachment 128239
upload_2017-6-5_13-1-26.png


You would need to use +5V to obtain full scale output (3.3V assumed) or use a 2LC2272 if you only have 3.3 volts.
 

Alec_t

Joined Sep 17, 2013
15,119
The ADC may require a low impedance source, in which case you will need a pre-amp. What source impedance does the datasheet specify?
 

Damian S.

Joined Jun 5, 2017
4
The ADC may require a low impedance source, in which case you will need a pre-amp. What source impedance does the datasheet specify?
Exactly my thought.

What happens with the ADC value when using a 100k resistor and sunlight on the photodiode? Did you check if it works when disconnecting it from the ADC and using a multimeter instead?
 

Thread Starter

palkapalka

Joined Aug 15, 2015
13
From the datasheet:
ADC equivalent input resistance: 2.5kOhm
Analog source resistance: 500 Ohm

Could you please give more information on using preamp?

I tried using 10MOhm, 1MOhm, 54 kOhm and 24 kOhm.
The best result I got was with 54 kOhm - got voltage level change, but overall signal is low.
Looks like optimum is somewhere in the hundreds kOhms. Do not have these resistors in hands now - will find and try.
Thank you.
 

DickCappels

Joined Aug 21, 2008
10,661
The output of a photodiode is current. U1B causes an equal amount of current to flow through the resistance of R5 + the pot. The larger the feedback resistance the larger the output voltage.

The output voltage is -(diode output current x feedback resistance). The sign is negative because the amplifier configuration is inverting.

Note: The LM358 is not suitable for this. A low input leakage current FET input amplifier is needed. If only using a single supply you need an opamp with a common mode input range (input voltages over which the inputs operate correctly) that includes V- and and output that can go down to V-.
 

ErnieM

Joined Apr 24, 2011
8,415
Here is what I observed:
1. The ADC measures digital on/off pulses from another pin on the same board just fine.
2. I can read voltage changing in the same circuit using multimeter;
3. I can read voltage changing in the same circuit using another microcontroller (Arduino UNO with 10bit ADC).
4. Replacing R1 with lower value resistor changes level of flat signal read by PE3, but still no sensitivity to change in light intensity (output stays flat).
What is this "output"? By this do you mean your micro shows no response to a changing input?

That sounds like a code issue where you are not properly controlling the A2D. Sorry I am not familiar with your device so I cannot offer assistance there.

If your meter shows a voltage you should be able to inspect the A2D reading and back compute what voltage it is seeing. That confirms your A2D is properly functioning.

You may want to replace the photodiode circuit with a pot (or even switch from 3.3 to GND) to validate your A2D code. Then add the photodiode back into the circuit.

If your impedance is too high for the A2D you should still see some sort of reading, though it may not be exact.[/QUOTE]
 
Top