0
\$\begingroup\$

My sensor gives output between -10V and +10V. Then I decided to use a simple voltage divider circuit to be compatible with the ADC input range. I used a power supply like the sensor, the expected output voltage should be about -2V at the input of the ADC.
But although increasing input voltage up to 20V the voltage stays the same as -0.7V.

enter image description here

Then I use LM741 OPAMP as a buffer, but the result hasn't changed.
Still, about -0.7V is seen.

enter image description here To simulate negative voltages which are generated by my sensor, also I've reverse connected the power supply to the circuit for negative rails.
enter image description here

Why I'm getting such results and the voltage divider doesn't work?

\$\endgroup\$
2
  • \$\begingroup\$ You’re not not grounded to the power supply \$\endgroup\$
    – Ryan
    Jan 24, 2022 at 12:25
  • \$\begingroup\$ How so? I connected positive terminal to the circuit GND? Is it dangerous? \$\endgroup\$
    – berker
    Jan 24, 2022 at 12:30

5 Answers 5

0
\$\begingroup\$

ADS1115, 16bit ADC chip accepts input voltage range of 0 - Vcc. It does not accept negative input voltage.

To solve this issue, make the input source floated with Vcc/2 as a reference point.

enter image description here

But this solution is very basic and the accuracy is very low, depending on the Vcc quality and resistors tolerance. For better performance, get floating reference voltage from a stable voltage reference, e.g. MAX6101.

\$\endgroup\$
1
\$\begingroup\$

The reason for this is that you can't apply negative voltages to this ADC. Its input voltage must always be 0V or larger. If you apply a negative voltage, the ADC's input protection diodes will start to conduct and clamp the input voltage to around -0.7V. You have to add an offset to the input voltage if you want to measure negative voltages, i.e. by adding a resistor to VCC to your voltage divider.

You've also most likely destroyed (or at least damaged) your ADC by applying this negative voltage.

\$\endgroup\$
1
  • \$\begingroup\$ I supposed it supports the negative range. Does it support negative values for differential inputs? \$\endgroup\$
    – berker
    Jan 24, 2022 at 12:29
1
\$\begingroup\$

The ADC is supplied with positive supply and ground, so it cannot be used to measure negative voltages below ADC ground.

The ADC inputs have protection diodes to power supply pins, and as the current is limited by the resistors, the protection diode to ground starts to conduct and that is the reason you have only -0.7 V below ADC ground at the input pin.

\$\endgroup\$
1
\$\begingroup\$

Here is a schematic for the case of sensor can't be floating.

If input protection needed,

see How to protect microcontroler analogue 0-5V input pins from high/negative voltage

The voltage V5 (Vreference, offset) and resistor R4 can be changed if needed.

Gain set with R2 = 1500 (Vinput V3 from -10V -> 10V, output full span (0 -> 3V).

enter image description here

\$\endgroup\$
1
\$\begingroup\$

Datasheet page 31, part 10.1.1. It says,

The fully-differential voltage input of the ADS111x is ideal for connection to differential sources with moderately low source impedance, such as thermocouples and thermistors. Although the ADS111x can read bipolar differential signals, these devices cannot accept negative voltages on either input.

And also as you can see in the datasheet 7.1, if GND is 0V, you can apply -0.3V without any damage. * These are absolute maximum ratings, so try to stay in recommended operating conditions.

enter image description here

\$\endgroup\$
2
  • 1
    \$\begingroup\$ The Absolute Maximum Ratings table says you can apply -0.3 volts to the analog inputs without damaging the part. It does not imply that you can measure voltages between GND and -0.3 volts. \$\endgroup\$ Jan 24, 2022 at 17:07
  • \$\begingroup\$ Well said, my bad. \$\endgroup\$
    – OJazz
    Jan 25, 2022 at 12:53

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.