Differential voltage range across ADS1115

General project help for Adafruit customers

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
ns559
 
Posts: 1
Joined: Fri Jul 05, 2013 7:16 am

Differential voltage range across ADS1115

Post by ns559 »

Hi all,

I was quite confused about the voltage range which I can apply in the differential mode across ADS1115. I want to measure -5 to +5 V range with ADS1115? Is it possible to do that since the datasheet indicates that ADS1115 cannot receive a negative input across any of its pins. Please help me with my query.

Thanks.

User avatar
adafruit_support_bill
 
Posts: 88141
Joined: Sat Feb 07, 2009 10:11 am

Re: Differential voltage range across ADS1115

Post by adafruit_support_bill »

You can measure negative voltages with differential mode only. In single-ended mode, the voltage is measured relative to ground. In differential mode, it is measured relative to the other input channel. http://learn.adafruit.com/adafruit-4-ch ... onnections

waltr
 
Posts: 306
Joined: Wed Jun 12, 2013 5:01 pm

Re: Differential voltage range across ADS1115

Post by waltr »

That is not true. The input Voltage on any pin in either mode must be within the Common Mode Voltage range which is GND to VDD. See the Analog Input Voltage spec in the ELECTRICAL CHARACTERISTICS table of the data sheet.

To use this, or almost any differential ADC, with a -5V to +5V signal you must offset and scale to in coming Voltage to stay within the CM range.
Here is a link to a Linear Tech App Note on a driver circuit:
http://cds.linear.com/docs/en/design-note/dn494f.pdf

User avatar
adafruit_support_bill
 
Posts: 88141
Joined: Sat Feb 07, 2009 10:11 am

Re: Differential voltage range across ADS1115

Post by adafruit_support_bill »

Yes. Waltr is correct on that. You do need to offset & scale the input.

User avatar
staldor
 
Posts: 7
Joined: Mon Oct 02, 2017 10:35 am

Re: Differential voltage range across ADS1115

Post by staldor »

I do not really understand this. Why is this chip specified to have a input range of ±6.144 V, if this is not supported? If I understand it correctly, you need to set -6.144V as GND. But then the correct input range should be 0V to 12.288V?

Update: Ok I understand, the chip supports only negative output voltages from a differential measurement.

User avatar
adafruit_support_bill
 
Posts: 88141
Joined: Sat Feb 07, 2009 10:11 am

Re: Differential voltage range across ADS1115

Post by adafruit_support_bill »

The 2/3 gain setting does seem a bit odd. All the others work out so that full-scale readings work out to a nice power of 2. (0.256V, 0.512V, 1.024V etc). But that is really a question for TI.

User avatar
gica
 
Posts: 6
Joined: Mon Oct 30, 2017 6:30 am

Re: Differential voltage range across ADS1115

Post by gica »

Hi all,

I'm facing with a at first look inexplicable and unexpected situation as follows. Using an ADS1115 to evaluate an -0.6v to + 5.5v output. Output is gathered from a special designed interface of an https://www.sager.com/_resources/pdfs/p ... SCP-75.pdf power source which stands that with "Mains ON" it output a voltage of +0.2 to 0.7volts on pins, and on the same pins on "Mains out" output the battery voltage in a mirror manner, -xx.xx battery voltage - negative value.

Voltage is sensed through a voltage divider with 6k8 and 4k7 resistors , being collected on the 4k7 side which will hit a maximum 6.008v for a maximum battery voltage of 14.7v.

Well, with ads1115 being connected as described upper , with voltage pins of the divider connected at A0 and A1 on the ads board - so diff reading , the chip on the ADS board blew up in a matter of seconds after voltage applyed

What happened ? Current is in a few uA range , where from did it collect such power to burn the IC junctions ?

Do you have any ideas chaps ?

User avatar
adafruit_support_bill
 
Posts: 88141
Joined: Sat Feb 07, 2009 10:11 am

Re: Differential voltage range across ADS1115

Post by adafruit_support_bill »

Using an ADS1115 to evaluate an -0.6v to + 5.5v output.
...
... which will hit a maximum 6.008v
You didn't specify how you are powering the chip, but the absolute maximum rating for VDD is 5.5v.
And the absolute maximum range for any of the analog input channels is –0.3 to VDD + 0.3.

(see "ABSOLUTE MAXIMUM RATINGS" on page 2 of the data sheet:)
https://cdn-shop.adafruit.com/datasheets/ads1115.pdf

User avatar
gica
 
Posts: 6
Joined: Mon Oct 30, 2017 6:30 am

Re: Differential voltage range across ADS1115

Post by gica »

I must have been misled by some documentation however, keeping in mind that max is 6.1volts.

The chip is powered form the +5v rail of rpi 3 board so I understand the maximum read voltage will be 5.3v

Well, the chip was melted while being connected for diff reading on A0 and A1 and the voltage applied was +-0.6v
Even assuming I would have connected the chip with no mains and battery on , that would led in my voltage divider setup to a max 5.3v read which is close to boiling point but not over.

There is only one acceptable reason, say that ADS1115 cannot read negative voltage

User avatar
adafruit_support_bill
 
Posts: 88141
Joined: Sat Feb 07, 2009 10:11 am

Re: Differential voltage range across ADS1115

Post by adafruit_support_bill »

The chip is powered form the +5v rail of rpi 3 board so I understand the maximum read voltage will be 5.3v
Don't confuse "Absolute Maximum Ratings" with normal operating conditions. The maximum voltage that can be read is VCC. The abs-max limits of -0.3v and VCC + 0.3v are the points at which damage begins to occur.
https://cdn-shop.adafruit.com/datasheets/ads1115.pdf
Stresses above those listed under Absolute Maximum Ratings may cause permanent damage to the device. Exposure to absolute
maximum conditions for extended periods may affect device reliability.
There is only one acceptable reason, say that ADS1115 cannot read negative voltage
This is called out clearly in the guide:
https://learn.adafruit.com/adafruit-4-c ... onnections

User avatar
gica
 
Posts: 6
Joined: Mon Oct 30, 2017 6:30 am

Re: Differential voltage range across ADS1115

Post by gica »

Thanks for clarifications

Well, so if such a small amount of power did melt the junction (0.3x 0.3mA) when applied negative relative to ground, then using an 1n4001 to get rig of negative voltage will not do the job, because of it's small reverse current leak, isn't it ?

User avatar
adafruit_support_bill
 
Posts: 88141
Joined: Sat Feb 07, 2009 10:11 am

Re: Differential voltage range across ADS1115

Post by adafruit_support_bill »

I'll check with our analog expert. He has a better understanding of how these devices work at the silicon level and what the possible failure modes are.

User avatar
adafruit_support_mike
 
Posts: 67485
Joined: Thu Feb 11, 2010 2:51 pm

Re: Differential voltage range across ADS1115

Post by adafruit_support_mike »

Connecting negative voltage (relative to the chip's GND pin) to an input pin can create a condition called 'latch-up'.

All transistors are made from layers of N-type and P-type silicon that overlap each other. Part of the pattern necessary to create a mosfet matches the pattern to create a bipolar junction transistor. That set of layers is called the mosfet's 'parasitic BJT'. N-mosfets have parasitic NPNs and P-mosfets have parasitic PNPs. That usually isn't a problem though, because under normal operating conditions the parasitic BJTs are reverse biased and won't carry any current.

When you put N-mosfets and P-mosfets together to make an inverter or a transmission gate (an analog switch for rail-to-rail voltages), the parasitic NPN and PNP transistors line up so the NPN's base is linked to the PNP's collector, and the PNP's base is linked to the NPN's collector. That arrangement is called a Silicon Controlled Rectifier (SCR), which is only used in AC circuits because the transistors form a positive feedback loop. If the NPN starts to conduct, it turns on the PNP, which turns the NPN on even harder. The only way to turn off an SCR is to disconnect power, which happens automatically in AC circuits because the voltage goes to 0v twice per cycle.

If the parasitic SCR in a DC circuit turns on, nothing in the silicon will make it turn off again. That's latch-up, and it usually shorts the chip's VCC and GND pins together. Sometimes a chip can survive that, but sometimes that region of silicon overheats and creates other, permanent shorts.

The parasitic BJTs in an IC become forward biased if you pull the gate of a P-mosfet about 0.5v higher than the VCC pin, or the gate of an N-mosfet about 0.5v lower than the GND pin.

It isn't hard to make protection circuits that will handle voltages higher than VCC, and excess positive voltage usually kills chips by blowing holes through the gates of the N-mosfets anyway, so overvoltage latch-up isn't too much of a problem these days. Undervoltage latchup is harder to protect against, and usually isn't a problem because single-supply circuits rarely have voltages lower than the chip's GND pin. In most cases, chip makers just say "don't let any input go lower than VSS-0.3v"

It sounds like you managed to pull the input pin far enough below GND to induce negative-input latch-up, which doesn't draw current from the input pin at all. The latch-up current flows through parts of the mostfets that aren't connected to the gate, source, or drain terminals. All you need is sufficient voltage.

Almost all ICs have input protection diodes on the pins, and those are usually scaled to clamp the voltage near VCC+0.3v or VSS-0.3v if they can. Good protection requires large diodes though, and reverse-biased diodes look like capacitors. Too much input capacitance hurts an ADC's performance, so the protection diodes on the ADS1115's inputs are probably small.

It sounds like you had the perfect set of conditions for things to go wrong: the signal you wanted to read was able to pull enough current through relatively small input protection diodes for the input pin's voltage to fall at least 0.5v below the GND pin. That voltage was enough to induce latch-up, which fried the chip using power from the supply rails and not from the input.

User avatar
gica
 
Posts: 6
Joined: Mon Oct 30, 2017 6:30 am

Re: Differential voltage range across ADS1115

Post by gica »

Awesome, Ty Mr. Mike
I have modified the project so as to avoid negative voltages. This resulted in another burned with smoke ads1115. Does anyone has a success story with this ADC , sensing an external voltage , I mean external meaning not wiring the +3.3v of the raspberry to the ADC. A battery for example.
My smoking scenario is as follows, see attached file. What could went wrong ? Measured voltage applyed to A0 and A1 pins is 4.7V
Thank you
VD.png
VD.png (13.85 KiB) Viewed 4501 times

User avatar
adafruit_support_mike
 
Posts: 67485
Joined: Thu Feb 11, 2010 2:51 pm

Re: Differential voltage range across ADS1115

Post by adafruit_support_mike »

What kind of connection did you have between the 14.7v source’s GND terminal and the ADS1115’s GND?

Floating input signals are a bit tricky because you have to connect them to some kind of reference voltage the ADC can measure. In most cases, you can use a high-resistance voltage divider (1M-1M or 10M-10M) on each ADC input. That holds the ADC pins at VCC/2 when no other signal is connected, but the floating differential signal can push the pins to new voltages.

If your differential signal has some kind of connection to another voltage that’s visible to the ADC, you have to factor that into the ADC pin voltage. If your 14.7v signal happened to be generated by a 10v source in series with a 4.7v source, and the point where they met was connected to the microcontroller’s GND (possibly through the wall power), the ADC’s pins would see a negative voltage.

Locked
Please be positive and constructive with your questions and comments.

Return to “General Project help”