Electronic – arduino – How to reduce ADC output value fluctuations

adcarduino uno

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.

schematic

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.

Best Answer

  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.
Related Topic