ADS1115 - Några frågor om referensspänningen

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

ADS1115 - Några frågor om referensspänningen

Inlägg av DanielM »

ADS1115 är en 16-bit ADC och man kan både köra single-ended eller differential. Jag ska köra single-ended. Då undrar jag vad referensspänningen är och vad är det själva som heter gain?

Är refferensspänningen samma spänning som VDD?
Och Gain är väll hur mycket man ska förstärka ADC-värdet?

Om man tittar på GitHub så ser man:

Kod: Markera allt

  // The ADC input range (or gain) can be changed via the following
  // functions, but be careful never to exceed VDD +0.3V max, or to
  // exceed the upper and lower limits if you adjust the input range!
  // Setting these values incorrectly may destroy your ADC!
  //                                                                ADS1015  ADS1115
  //                                                                -------  -------
  // ads.setGain(GAIN_TWOTHIRDS);  // 2/3x gain +/- 6.144V  1 bit = 3mV      0.1875mV (default)
  // ads.setGain(GAIN_ONE);        // 1x gain   +/- 4.096V  1 bit = 2mV      0.125mV
  // ads.setGain(GAIN_TWO);        // 2x gain   +/- 2.048V  1 bit = 1mV      0.0625mV
  // ads.setGain(GAIN_FOUR);       // 4x gain   +/- 1.024V  1 bit = 0.5mV    0.03125mV
  // ads.setGain(GAIN_EIGHT);      // 8x gain   +/- 0.512V  1 bit = 0.25mV   0.015625mV
  // ads.setGain(GAIN_SIXTEEN);    // 16x gain  +/- 0.256V  1 bit = 0.125mV  0.0078125mV
https://github.com/adafruit/Adafruit_AD ... eended.ino

Detta betyder att om jag kör 3.3 volt som VDD, så måste jag ha GAIN_TWO som förstärkning?
Kör jag 5 volt som VDD så måste jag ha GAIN_ONE som förstärkning?
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: ADS1115 - Några frågor om referensspänningen

Inlägg av Rick81 »

Referensspänning är en känd spänning som ADbitarna räknad mot. Vill man ha hög noggranhet brukar man vilja ha en referens med hög noggrannhet. Men har du en hyfsat stabil LDO på 3.3V kan man köra VDD som referens. Har du en VDD som varierar måste du ha en referens.

Du måste anpassa gain så inte insignalen bottnar dvs går i topp ellet botten på vad AD kan hantera. Är den i topp eller botten vet du inte vad det riktiga värdet är.
DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

Re: ADS1115 - Några frågor om referensspänningen

Inlägg av DanielM »

Då kanske 3.3 volt blir bra, eller ska man köra på 5 volt? Jag ska driva den med Raspberry Pi + Java.
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: ADS1115 - Några frågor om referensspänningen

Inlägg av Rick81 »

Klarar den 5V är det bättre köra med 5 V för då mätnoggrannhet bättre pga fler mV per bit.
DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

Re: ADS1115 - Några frågor om referensspänningen

Inlägg av DanielM »

Blir ju direkt från nätaddaptern då för Raspberry Pi's 5.0 V är väll direkt från nätadaptern?
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: ADS1115 - Några frågor om referensspänningen

Inlägg av Rick81 »

De spänningarna brukar inte vara så bra...och eftersom en Raspberry pie kan dra rätt mycket kan detta ge ett spänningsripple. Bättre kör med en stabil LDO på 3.3 V i så fall tror jag.
DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

Re: ADS1115 - Några frågor om referensspänningen

Inlägg av DanielM »

Låter finfint det! :tumupp:

Då antar jag att jag ska använda GAIN_TWO, för det är den som är högsta, och inte över VDD = 3.3 + 0.3 = 3.6.


Så då blir väll referensspänningen 2.048 V?
Alltså vid 2.048V in, så visar den fullt 65535?

Eller betyder det att 3.6 är själva referensen, men man kan välja och förstärka ADC värdet?
Jag ska välja ut ett motstånd då jag ska mäta 4-20mA.
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: ADS1115 - Några frågor om referensspänningen

Inlägg av Rick81 »

Jag tror inte riktigt du förstår...

Gain är alltså en förstärkning på den analoga signalen innan den samplas digitalt och har inget med referensspänningen att göra. Typ ADC = Vin * gain

Referensspänningen bli ju just referensspänningen och den analoga signal får inte gå över det värdet. Jag vet inte hur du får fram 2.048V. Förklara gärna, jag kanske missat nåt.

Motståndet du väljer avgör i ju vilka spänningar det blir så går inte ge dig några värden.
farskost
Inlägg: 454
Blev medlem: 17 april 2006, 19:55:21
Ort: Mölndal

Re: ADS1115 - Några frågor om referensspänningen

Inlägg av farskost »

Kollar du i databladet så har kretsen en inbyggd referensspänning (som jag inte hittar i databladet hur många volt den är på). Kollar man dock på sidan 28 så får man det förklarat att PGAinställningen sätter mer eller mindre fulla svinget att motsvara värdena i tabellen i första inlägget, står faktiskt inte ens utskrivet någon förstärkningsfaktor utan bara FSR i volt.

Är du nyfiken på bruset och hur samplingstakten påverkar detta så kolla sidan 13.
DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

Re: ADS1115 - Några frågor om referensspänningen

Inlägg av DanielM »

farskost skrev:Kollar du i databladet så har kretsen en inbyggd referensspänning (som jag inte hittar i databladet hur många volt den är på). Kollar man dock på sidan 28 så får man det förklarat att PGAinställningen sätter mer eller mindre fulla svinget att motsvara värdena i tabellen i första inlägget, står faktiskt inte ens utskrivet någon förstärkningsfaktor utan bara FSR i volt.

Är du nyfiken på bruset och hur samplingstakten påverkar detta så kolla sidan 13.
Så om inte du hittar den, så hittar jag den inte heller.
Rick81 skrev:Jag tror inte riktigt du förstår...

Gain är alltså en förstärkning på den analoga signalen innan den samplas digitalt och har inget med referensspänningen att göra. Typ ADC = Vin * gain

Referensspänningen bli ju just referensspänningen och den analoga signal får inte gå över det värdet. Jag vet inte hur du får fram 2.048V. Förklara gärna, jag kanske missat nåt.

Motståndet du väljer avgör i ju vilka spänningar det blir så går inte ge dig några värden.
Okej. Nu förstår jag. Så om jag har en referensspänning på 10 volt. Men min maximala insignal är 5 volt. Om jag då tar dubbla förstärkningen, så får jag 10 volt som insignal.

Men hittar fortfarande inte referensspänningen. :?
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43178
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: ADS1115 - Några frågor om referensspänningen

Inlägg av sodjan »

Jag tror att det är ovanligt att Vref kan vara större än Vdd,
men det har du kanske kontroll på (?). Som det står i det du
citerade, "but be careful never to exceed VDD +0.3V max".
DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

Re: ADS1115 - Några frågor om referensspänningen

Inlägg av DanielM »

Jag har inte koll på något. :wink:
Håller med att det vore konstigt att referensspänningen skulle vara högra än matarspänningen.

Men man kanske kan dra slutsatsen att referensspänningen är samma som matarspänningen. Sedan läggs även 0.3v till som marginal?
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43178
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: ADS1115 - Några frågor om referensspänningen

Inlägg av sodjan »

Nja, den texten syftar i och för sig på den mätta insignalen, men
sannolikt är det samma gränser på den som på Vref. Och vi talar så
klart då man ansluter en extern Vref, och man kör med Vref=Vdd, så
är det ju inget problem. Eller med en intern Vref, den ligger säkert
under Vdd med god marginal. Brukar vara 2.048V eller liknande.
DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

Re: ADS1115 - Några frågor om referensspänningen

Inlägg av DanielM »

Enligt denna sida
https://www.best-microcontroller-projec ... s1115.html

Så är mätområdet -300mV ~ Vdd + 300mV

Då betyder det att om jag mäter 4-20mA så ska jag t.ex ta en 220 Ohms motstånd, vilket jag får en spänning på 4.4 =0.02*220 vid 20mA. Då måste jag ha en GAIN_TWO för GAIN_TWO är under 3.3 + 0.3.

Edit:
Tror jag räknar lite fel här!
Vid vid 20mA som går igenom 150 Ohms motstånd så får jag ett spänningsfall på 3.0V. Låter bättre. Vdd är 3.3 volt.
För att få så stor mätnogrannhet så måste jag välja den GAIN som genererar högst ADC värde.

I detta fall är det GAIN_TWO = 0.0625 mV per bit. Detta är det maximala ADC värde som jag kan få om jag har Vdd = analog.

Kod: Markera allt

3.3/(0.0625*10^-3) = 52800
Men med tanke på att jag kan endast ha en insignal som är högst 3.0 volt, så kommer jag få maximala

Kod: Markera allt

3.0/(0.0625*10^-3) = 48000
Detta betyder att jag kommer ha en grund ADC på

Kod: Markera allt

48000/20*4 = 9600
Så mitt mätområde kommer ligga mellan 9600 och 48000 när en 4-20mA givare är inkopplad. Om givaren är en 0-400 bars givare, vilket är standard inom hydraulik, så kommer jag ha en upplösning på

Kod: Markera allt

400/(48000-9600) = 0.010
Detta är högre nogrannhet än vad givarna brukar säga. Om man har +-1 bar inom hydrauliken så ska man fira med whisky.

Låter inte så dåligt enligt mig. Vad tycker ni?
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: ADS1115 - Några frågor om referensspänningen

Inlägg av Rick81 »

Nu blandar du ihop noggranhet och upplösning. Din givare kommer ha en större onoggranhet än ADC. Dock ska man aldrig ha lägre upplösning än noggranhet så där tänker du rätt.

Tänk också på att välja motstånd med hög tolerans då den kommer påverka noggrannheten.
Skriv svar