# Photodiode + Op-Amp Acting Nonlinearly

I've built a laser power meter based on a photodiode (likely a ThorLabs FDS10X10), a simple op-amp circuit (op-amp is TLV2462, max 12V), and a microcontroller+screen:

Internally, I've built the following circuit:

simulate this circuit – Schematic created using CircuitLab

I'm not sure this is a reasonable circuit. Here's what I was thinking coming up with it:

The photodiode is reverse-biased for better sensitivity and linearity. The voltage drop across R1 is linear with respect to the power hitting the photodiode. To measure this voltage, I use an op amp, with potentiometer 2 causing negative feedback to reduce the op amp's ridiculous gain.

First, pot 2 is set for maximum gain and pot 1 is tuned so that in complete darkness the voltage at E just drops to ground. Then pot 2 is tuned to set the gain, and hence the range of brightnesses that can be measured.

However, the voltage at node E is not linear with respect to incoming light as I want and had expected it to be.

Example: In an otherwise-dark room, laser 1 produces an output of 0.678 (arbitrary units!) while laser 2 produces 2.198. However, together they only produce a reading of 2.290 (while one would expect 0.678+2.198=2.876). The op-amp is not saturated; I can produce a reading of ~18 with a much brighter source.

Question: what's going wrong with my circuit to cause this nonlinearity? Is the equation easy to find (so that I might correct for it in software)? Otherwise, if my circuit seems reasonable, which else might be going wrong?

• For best linearity I'd use 0V diode biasing in a transimpedance amplifier configuration – Curd Feb 9 '18 at 10:30
• Although the OpAmp is not yet saturated, what about the diode resistor R1 path. If you get there already 3.3mA with Laser1 there is not much Laser2 can increase. – Curd Feb 9 '18 at 10:33
• It's all explained here: en.wikipedia.org/wiki/Transimpedance_amplifier – Janka Feb 9 '18 at 10:33

The reverse bias voltage across your PD decreases with light and it's not very high to begin with so you're getting less voltage per mW as the light level increases.

It would be better to use a virtual ground (which requires a regulated negative bias voltage) with an inverting amplifier, in the usual transimpedance amplifier configuration, or to bootstrap a micropower regulator off the PD to give a constant voltage across the PD. The regulator bias current will cause a (probably at least somewhat temperature-dependent) offset, but if the Iq is something like 1uA the (input) offset will be around 1mV.

If you want linear, you want a circuit more like this: