I have created a simple data acquisition module for measuring 5V signals. There are 18 analog inputs on this board, all of which are a copy of the schematic below.

Each input has an op-amp (MCP604) with unity gain. This op-amp should work to within 60mV of VCC, but in half of my circuits, it won't get any higher than 4.3V. (Notice the 100K pull-up to 5V, the input pin disconnected, should output very close to 5V.) In the other half, the circuits operate just fine. I have two of these boards built, and most (not all) of those circuits are limited to 4.3V. Under 4.3V, the circuit will behave in a linear fashion.

It doesn't appear to be a glitch at power-up, the circuits that work always work, the circuits that don't always don't.

I've cut the trace at the output of the amplifier to see if the A/D converter was clamping it somehow. No effect.

I've tried adding load to the output, with different values of R50, 10K to infinity. No noticeable effect, maybe a couple of millivolts.

Probably an unnecessary detail, but for the sake of completeness... I need to get the zero input of the signal within the linear range of the amplifier, so I boost it slightly with the 20K/100K voltage divider. This lifts a 0V signal to 0.833V. The device connected to this circuit may provide an input voltage of slightly less than 0V (sometimes a low as -0.5V).

Example Schematic


You are exceeding the amplifiers input common-mode range.

It has rail-to-rail output but not rail-to-rail input. The allowable input range is -0.3V to +3.8V when fed from a 5V supply. When configured as a unity gain amplifier the output range will be limited by what's acceptable at the input.

Other posters have commented that the data sheet explicitly comments on the issue. (Datasheet)

If you exceed the CM input range the output can do almost anything but modern opamps are usually well-behaved. It looks like this one just clamps the output voltage.

Input common mode range

You can't use it as a unity gain amplifier in this application.

If you made the gain about 1.5 or more it would work as the input would never get above the 3.8V limit before the output hit the power rail. Or find a pin-compatible amplifier with a wider range of input.

Since you have sensibly included the option of additional components on your PCB you could correct the problem without changing the PCB.

You can configure R53 and R54 to provide the 1.5 gain (e.g R53=10k, R54=4.7k)

Also you could add resistors R51 and R52 to attenuate the input by the same factor so the overall system works as designed.

All of the above unfortunately doesn't explain why some of your boards work all the way to the supply rail.

  • \$\begingroup\$ The device DOES NOT have Rail-Rail output as a unity gain buffer. It specifically points this out in the datasheet. \$\endgroup\$ – Jack Creasey Jun 8 at 23:08
  • \$\begingroup\$ @JackCreasey - I agree, that's what I said. The input common mode range prevents that. I've edited to emphasize the point. \$\endgroup\$ – Kevin White Jun 8 at 23:45
  • \$\begingroup\$ Wow, thanks! I learned something new from you. I just assumed rail-to-rail meant both the inputs and outputs could get very close to VIN. This answers my question. \$\endgroup\$ – psyklopz Jun 9 at 3:03

You are misusing the device, as a unity gain buffer there are restrictions:

Read the datasheet for the device and particularly note 4.1.3

enter image description here

This tells you that the device cannot be used rail-rail Vin.

  • \$\begingroup\$ But a solution is possible with this device by meeting the requirements for no load and reducing the Vcm. \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Jun 9 at 0:44
  • \$\begingroup\$ @SunnyskyguyEE75 No solution is possible as a unity gain amplifier since the input is not a CM signal you want to reject, but the required signal ranging from 0 -5V. \$\endgroup\$ – Jack Creasey Jun 9 at 2:28
  • \$\begingroup\$ Did you see understand my solution.? \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Jun 9 at 5:25
  • \$\begingroup\$ @SunnyskyguyEE75 Sure, your point? The negative input is not 2.5V by the way ….it varies over the signal range. You might want to alter that. My point was that the unity gain (output to -ve input) configuration is limited. Your solution is not actually unity gain since you divide the input by 2 outside the opamp...the amplifier is set as a classic 1+Rf/Ri non-inverting configuration. \$\endgroup\$ – Jack Creasey Jun 9 at 5:50
  • \$\begingroup\$ The -Ve input is accurate at 2.5V for a 5V input as shown, and 0V is the minimum which is above the acceptable -0.3V min. The solution works in my answer. \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Jun 9 at 15:14

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.