I'm developing two similar circuits that will enable me to differentiate the X and Y coordinates from a segmented photo-diode (Four segments). These coordinates will be dependent upon the position of a laser spot falling onto the surface of the segmented photo-diode. I hope to obtain a value between (0-5V) for X and (0-5V) for Y.

Quadrant Photodiode

The circuit I based my design upon used a dual supply (+5/-5V). In my application I am using a micro-controller with a 5V rail. The design would also benefit from a single supply if the output was a value between 0 and 5V as it would be compatible with micro-controller's ADC input range. I would therefore like to run the circuit from a single supply and use a rail-to-rail op-amp to to remove the need for extra circuitry.

I've tried a few different simulations where I've attempted to offset the output by 2.5V using a simple voltage divider, but the results are not what I expected.


Can somebody explain to me why the result is this way and what I can do to obtain a 2.5V output when inputs (A, B, C and D) are 0V.

  • \$\begingroup\$ Ummf. You're going to need at least two opamps. One for the X direction and one for the Y direction. Do you need an analog value, or just 0 and 5 V for each direction? \$\endgroup\$ – JRE Dec 29 '17 at 15:18
  • 2
    \$\begingroup\$ I initially had the same thought but up re-reading the question: "I'm developing two similar circuits " I deduce that the circuit shown is for one axis. \$\endgroup\$ – Oldfart Dec 29 '17 at 15:36

If you connect A, B, C and D to ground (through the four voltage sources), you're putting R3 and R4 in parallel, and also R5, R6 and R9. You end up with a noninverting amplifier with a gain of 3 (defined by R1, R3 and R4) being fed by a voltage of 5V / 4 = 1.25V (defined by R5, R6, R8 and R9). So naturally, the output voltage is 3.75V, more or less.

But to answer the question about what you should be doing will require more information about what you're trying to accomplish. Are you trying to come up with a single output that indicates how far "off center" the laser spot is on the 4-quadrant detector?

Why are you modeling the photodiodes as voltage sources in the first place? Current sources would make much more sense.

A normal difference amplifier for voltages looks like this:


simulate this circuit – Schematic created using CircuitLab

Vref sets the output voltage for a "zero difference" input. In order to work correctly, R1 = R2 and R3 = R4.

Note that the components in the dashed box on the left are the Thevenin equivalent of the components in the box on the right — which is what it appears you were trying to do with your R8 and R9.

Hmm. After rereading the question and its comments, I think I see what you're doing. You're trying to combine the outputs of all four diodes to determine, say, the up/down position of the laser spot, and the same circuit with a different combination of inputs to determine left/right. (So your fundamental error was that your R1 should be 10k rather than 20k. Do you see why?)

It would be much simpler to just rotate the sensor by 45° and use, for example, A and C only for up/down and B and D only for left/right.

  • \$\begingroup\$ Thanks for the detailed answer. My circuit theory is very rusty. I can follow the non-inverting gain equation and see that it was originally 3. By changing to R1 to 10K we get a gain of 1.5. Multiplying this by the the offset (1.25V) gives the desired 2.5V. My downfall was failing to see why there shouldn't be 2.5V at the non-inverting terminal. Is it a case of a dual voltage divider therefore the voltage is divided by 4 as opposed to 2? \$\endgroup\$ – ATDudman Dec 29 '17 at 18:19
  • \$\begingroup\$ Changing R1 to 10k makes the gain 2. The point is, R1 needs to match the parallel combination of R3 and R4, regardless of what the actual input voltages are. Similarly, the parallel combination of R8 and R9 must match the parallel combination of R5 and R6 -- which I think you got right by accident rather than on purpose! \$\endgroup\$ – Dave Tweed Dec 29 '17 at 18:27
  • \$\begingroup\$ Regarding tilting the sensor I believe it comes down to laser spot size. If the spot falls across multiple quadrants then an X&Y position will be provided regardless of the method of implementation. However if the spot is smaller and falls only onto one segment then I believe your suggestion may only produce one coordinate either X or Y. Whilst this could still be used for centering of the beam over time I'd be worried it would double the response time of centering the beam as only one axis could be moved at any given time. \$\endgroup\$ – ATDudman Dec 29 '17 at 18:32
  • \$\begingroup\$ Oopsy! yes I see I totally messed that response up. Anyway, thanks again! \$\endgroup\$ – ATDudman Dec 29 '17 at 18:38
  • \$\begingroup\$ No, it would not double the response time. In fact the response, although different, will take exactly the same amount of time. Consider what happens if the spot hits only one segment initially. With your orientation, the tracker moves diagonally until the spot hits either the X or Y axis, at which point it moves either horizontally or vertically until centered. With the diagonal orientation, it will move either horizontally or vertically first, until it hits one of the diagonal boundaries, after which it will move diagonally until centered. Same path length and the same time in either case. \$\endgroup\$ – Dave Tweed Dec 30 '17 at 2:20

For the schematic you show, A, B, C, and D are at GND. The voltage on the + (non-inverting) input is 1.25 V. The negative feedback loop is a 20K series and a 10K shunt resistor, for a non inverting gain of 3. 3 x 1.25 = 3.75 V. It looks like the output is doing what it is supposed to do.

That is not a typical photodiode interface circuit, but it is hard to say how it will work with your diode without more information about your diode.

Separate from that, won't you need two amplifier circuits if you want separate voltages for X and Y? For example, if you remove A and C, then what is left is a traditional differential amplifier configuration. Now you can set it to a gain of 1 with a 2.5 V offset by changing R8 and R9 to 40K each.

Can you post your original +/-5 V circuit as a starting point?


"Can somebody explain to me why the result is this way and what I can do to obtain a 2.5V output when inputs (A, B, C and D) are 0V." --ATDudman

because R8 and R9 make up your dc offset adjust voltage divider branch. I would suggest to remove R8 and R9 and insert a 50K pot there, and use the wiper lead as the connection to the non-inverting input.

Then adjust the potentiometer to read your voltage offset on the output.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.