I'm trying to read the output voltages of some LMC6001 op-amps through an ADS1115 ADC, to get higher resolution.

In the process of doing so, I'm reading huge fluctuations on the serial monitor without giving any input to the op-amp.


How do I reduce these fluctuations, so as to get stable ADC output values?

I tried to measure the offset voltage of just the op-amp at the output which is 0.3mV, but at the serial monitor the readings are varying from 5mV to 20mV.

Please help me to overcome this problem.

  • 3
    \$\begingroup\$ huge fluctuations on the serial monitor without giving any input to the op-amp -- An ADC with no input is an antenna picking up all the electrical noise in the local environment. Of course you see huge fluctuations. \$\endgroup\$
    – Majenko
    Feb 8, 2021 at 18:13
  • 1
    \$\begingroup\$ You are experiencing electrical noise in your system. When you do the measurement the inputs should be grounded. The wiring should be shielded or at least twisted. Circuit layout is of paramount importance. You have an analog problem that will require an analog solution. This comment is not a solution just a starting point. \$\endgroup\$
    – Gil
    Feb 8, 2021 at 21:20
  • 1
    \$\begingroup\$ add capacitance from A1/2 to GND. \$\endgroup\$
    – dandavis
    Feb 8, 2021 at 21:27
  • \$\begingroup\$ This is off-topic as pointed out by jsotola. But I think you need to understand the magnitude of your input current source that you are going to measure, your TIA circuit is probably have the wrong values for the R and C for the feedback circuit and the bandwidth for the feedback circuit doesn't seem to make any sense with current values. I would also suggest you add a large cap (10uF) to the negative power rail as well. \$\endgroup\$
    – hcheung
    Feb 9, 2021 at 3:46
  • \$\begingroup\$ Are you doing single or differential measurements? Anyways, you must be sure that the input voltage is in the allowed values: between GND–0.3 and VDD+0.3. \$\endgroup\$
    – bardulia
    Apr 4, 2023 at 19:52

1 Answer 1

  1. An op-amp with its inputs not connected to anything will pick up all kinds of noise and interference from the environment and or parts of your circuit.
  2. Your schematic doesn't show bypass capacitors for any of the ICs. Every IC power pin on every IC should have a bypass capacitor right at the pin, and connected to ground. A typical value is 100nF - the datasheet of the ADS1115 shows 100nF bypass capacitors.
  3. The physical layout will be important. For example, the LT1054 will produce a lot of interference. You'll want it physically away from the opamps and the ADS1115.
  4. Your "0.3 mV offset" may have nothing at all to do with what is really present at the opamp outputs. You don't mention how you measured it, but a voltmeter won't do. You need an oscilloscope, and you need to use a ground spring instead of the more common ground wire with a clip.
  5. The ADS1115 has selectable gain. Make sure that you are using the gain setting you want and that you are properly accounting for the gain in your software (ADC count to voltage conversion.)

Do the following:

  • Short the inputs to ground and see if the noise gets better.
  • Install 100 nF bypass capacitors to all the IC power pins. Yes, even the ones going to the negative rail.
  • Get an oscilloscope and look at what's really coming out of the opamps - see if it is clean or noisy or if it shows some kind of interference.
  • Check your code and make sure the gain and the conversion from ADC count to voltage is correct.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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