Sisällysluettelo:

Arduino ja TI ADS1110 16-bittinen ADC: 6 vaihetta
Arduino ja TI ADS1110 16-bittinen ADC: 6 vaihetta

Video: Arduino ja TI ADS1110 16-bittinen ADC: 6 vaihetta

Video: Arduino ja TI ADS1110 16-bittinen ADC: 6 vaihetta
Video: Как использовать до 10 кнопочных переключателей с 1 входным контактом Arduino ANPB-V1 2024, Marraskuu
Anonim
Arduino ja TI ADS1110 16-bittinen ADC
Arduino ja TI ADS1110 16-bittinen ADC

Tässä opetusohjelmassa tarkastelemme Arduinon käyttämistä Texas Instruments ADS1110: n kanssa-uskomattoman pieni mutta hyödyllinen 16-bittinen analogia-digitaalimuunnin IC.

Se voi toimia 2,7 ja 5,5 V välillä, joten se sopii myös Arduino Due -laitteille ja muille pienjännitteisille kehityskorteille. Ennen kuin jatkat, lataa tietolomake (pdf), koska siitä on hyötyä ja johon viitataan tämän opetusohjelman aikana. ADS1110 tarjoaa sinulle tarkemman ADC-vaihtoehdon kuin Arduinon 10-bittiset ADC: t-ja se on suhteellisen helppokäyttöinen. Se on kuitenkin saatavana vain paljaana osana SOT23-6: ssa.

Vaihe 1:

Kuva
Kuva

Hyvä uutinen on, että voit tilata ADS1110 -laitteen asennettuna erittäin kätevälle katkaisulaudalle. ADS1110 käyttää I2C -väylää viestintään. Ja koska on vain kuusi nastaa, et voi asettaa väyläosoitetta - sen sijaan voit valita kuudesta ADS1110 -variantista - jokaisella on oma osoite (katso tietolomakkeen sivu 2).

Kuten yllä olevasta kuvasta näkyy, omamme on merkitty”EDO”, joka vastaa väylän osoitetta 1001000 tai 0x48h. Ja esimerkkipiireissä olemme käyttäneet 10 kΩ: n vetovastusvastuksia I2C-väylässä.

Voit käyttää ADS1110: tä joko yksipäisenä tai differentiaalisena ADC: nä-Mutta ensin meidän on tutkittava kokoonpanorekisteri, jota käytetään eri määritteiden hallintaan, ja tietorekisteri.

Vaihe 2: Määritysrekisteri

Siirry tietolomakkeen yhdelletoista sivulle. Määritysrekisteri on yhden tavun kokoinen, ja koska ADS1110 nollautuu käynnistyksen aikana-sinun on nollattava rekisteri, jos tarpeesi poikkeavat oletusarvoista. Tietolomake selittää sen melko siististi… bitit 0 ja 1 määrittävät PGA: n (ohjelmoitava vahvistin) vahvistuksen.

Jos mittaat vain jännitteitä tai kokeilet, jätä nämä nollaksi 1V/V vahvistukselle. Seuraavaksi ADS1110: n tiedonsiirtonopeutta ohjataan biteillä 2 ja 3. Jos olet ottanut jatkuvan näytteenoton käyttöön, tämä määrittää ADC: n ottamien näytteiden lukumäärän sekunnissa.

Arduino Uno -kokeilun jälkeen havaitsimme, että ADC: stä palautetut arvot olivat hieman pois käytöstä nopeinta nopeutta käytettäessä, joten jätä se 15 SPS: ksi, ellei toisin vaadita. Bitti 4 asettaa joko jatkuvan näytteenoton (0) tai kertaluonteisen näytteenoton (1). Ohita bitit 5 ja 6, mutta ne on aina asetettu 0: ksi.

Lopuksi bitti 7-jos olet kertaluonteisessa näytteenottotilassa, sen asettaminen arvoon 1 pyytää näytettä-ja sen lukeminen kertoo, ovatko palautetut tiedot uusia (0) vai vanhoja (1). Voit tarkistaa, että mitattu arvo on uusi arvo - jos tietojen jälkeen tuleva kokoonpanotavu ensimmäinen bitti on 0, se on uusi. Jos se palauttaa arvon 1, ADC -muunnos ei ole päättynyt.

Vaihe 3: Tietorekisteri

Koska ADS1110 on 16-bittinen ADC, se palauttaa tiedot kahden tavun yli-ja seuraa sitten määritysrekisterin arvoa. Joten jos pyydät kolme tavua, koko erä tulee takaisin. Tiedot ovat "kahden komplementti" -muodossa, joka on menetelmä allekirjoitettujen numeroiden käyttämiseksi binaarijärjestelmän kanssa.

Näiden kahden tavun muuntaminen tapahtuu yksinkertaisella matematiikalla. Näytteenotossa 15 SPS: ssä ADS1110: n palauttama arvo (ei jännite) on välillä -32768 ja 32767. Arvon ylempi tavu kerrotaan 256: lla, lisätään sitten alempaan tavuun -joka sitten kerrotaan 2,048: lla ja lopuksi jaettuna 32768. Älä panikoi, koska teemme tämän seuraavassa esimerkkiluonnoksessa.

Vaihe 4: Yksipäinen ADC-tila

Yksipäinen ADC-tila
Yksipäinen ADC-tila

Tässä tilassa voit lukea jännitteen, joka on nollan ja 2,048 V välillä (joka on myös sisäänrakennettu viitejännite ADS1110: lle). Esimerkkipiiri on yksinkertainen (tietolomakkeesta).

Älä unohda I2C-väylän 10 kΩ: n vetovastuksia. Seuraava luonnos käyttää ADS1110: tä oletustilassa ja palauttaa vain mitatun jännitteen:

// Esimerkki 53.1 - ADS1110 yksipuolinen voltimittari (0 ~ 2,048 VDC) #sisältää "Wire.h" #define ads1110 0x48 kelluva jännite, data; tavu korkea tavu, pieni tavu, configRegister; void setup () {Serial.begin (9600); Wire.begin (); } void loop () {Wire.requestFrom (ads1110, 3); while (Wire.available ()) // varmista, että kaikki tiedot tulevat {highbyte = Wire.read (); // korkea tavu * B11111111 lowbyte = Wire.read (); // matala tavu configRegister = Wire.read (); }

data = highbyte * 256;

data = data + lowbyte; Serial.print ("Data >>"); Serial.println (data, DEC); Serial.print ("Jännite >>"); jännite = data * 2.048; jännite = jännite / 32768.0; Sarjajälki (jännite, DEC); Serial.println ("V"); viive (1000); }

Vaihe 5:

Kuva
Kuva

Kun olet ladannut, liitä signaali mittaamaan ja avaa sarjamonitori - sinulle näytetään jotain samanlaista kuin tässä vaiheessa näytetty sarjamonitorikuva.

Jos sinun on muutettava ADC: n sisäisen ohjelmoitavan vahvistimen vahvistusta, sinun on kirjoitettava uusi tavu määritysrekisteriin käyttämällä:

Wire.beginTransmission (ads1110); Wire.write (kokoonpanotavu); Wire.endTransmission ();

ennen ADC -tietojen pyytämistä. Tämä olisi 0x8D, 0x8E tai 0x8F vahvistusarvoille 2, 4 ja 8 - ja käytä 0x8C palauttaaksesi ADS1110 takaisin oletusasetuksiin.

Vaihe 6: Differentiaalinen ADC -tila

Differentiaalinen ADC -tila
Differentiaalinen ADC -tila

Tässä tilassa voit lukea kahden jännitteen välisen eron, joka kukin on nollan ja 5 V välillä. Esimerkkipiiri on yksinkertainen (tietolomakkeesta).

Meidän on huomioitava tässä (ja tietolomakkeessa), että ADS1110 ei voi hyväksyä negatiivisia jännitteitä kumpaankaan tuloon. Voit käyttää edellistä luonnosta samoihin tuloksiin- ja tuloksena oleva jännite on Vin-arvo, joka on vähennetty Vin+: sta. Esimerkiksi, jos sinulla oli 2 V Vin+: lla ja 1 V Vinillä, tuloksena oleva jännite olisi 1 V (vahvistuksen ollessa 1).

Toivomme jälleen, että löysit tämän aiheen kiinnostavaksi ja mahdollisesti hyödylliseksi. Tämän viestin toi sinulle pmdway.com - kaikki valmistajille ja elektroniikan harrastajille, ilmainen toimitus maailmanlaajuisesti.

Suositeltava: