![Arduino és a TI ADS1110 16 bites ADC: 6 lépés Arduino és a TI ADS1110 16 bites ADC: 6 lépés](https://i.howwhatproduce.com/preview/how-to/10438473-arduino-and-the-ti-ads1110-16-bit-adc-6-steps-0.webp)
Tartalomjegyzék:
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:47
![Az Arduino és a TI ADS1110 16 bites ADC Az Arduino és a TI ADS1110 16 bites ADC](https://i.howwhatproduce.com/images/003/image-7055-12-j.webp)
Ebben az oktatóanyagban megvizsgáljuk az Arduino használatát a Texas Instruments ADS1110 használatához-egy hihetetlenül apró, de hasznos 16 bites analóg-digitális átalakító IC-t.
2,7 és 5,5 V között tud működni, így az Arduino Due és más alacsony feszültségű fejlesztőlapok számára is megfelelő. Mielőtt tovább folytatná, kérjük, töltse le az adatlapot (pdf), mert hasznos lesz, és az oktatóanyagban hivatkozni fog rá. Az ADS1110 lehetővé teszi az Arduino 10 bites ADC-jeinél pontosabb ADC lehetőségét-és viszonylag könnyen használható. Ez azonban csak csupasz alkatrészként érhető el a SOT23-6-ban.
1. lépés:
![Kép Kép](https://i.howwhatproduce.com/images/003/image-7055-13-j.webp)
A jó hír az, hogy megrendelheti az ADS1110 -et egy nagyon kényelmes törőlapra szerelve. Az ADS1110 az I2C buszt használja a kommunikációhoz. És mivel csak hat érintkező van, nem lehet beállítani a buszcímet - ehelyett az ADS1110 hat változata közül választhat - mindegyik saját címmel (lásd az adatlap második oldalát).
Amint az a fenti képen látható, a miénk „EDO” jelzéssel van ellátva, amely megfelel a 1001000 vagy 0x48h buszcímnek. A példaáramkörökkel 10 kΩ-os felhúzó ellenállásokat használtunk az I2C buszon.
Használhatja az ADS1110-t egyvégű vagy differenciális ADC-ként is-Először azonban meg kell vizsgálnunk a konfigurációs regisztert, amely a különböző attribútumok vezérlésére szolgál, és az adatregisztert.
2. lépés: Konfigurációs regiszter
Lapozzon az adatlap tizenegyedik oldalára. A konfigurációs regiszter mérete egy bájt, és mivel az ADS1110 újraindul egy bekapcsolási ciklus során-vissza kell állítania a regisztert, ha az igényei eltérnek az alapértelmezett értékektől. Az adatlap nagyon szépen leírja … a 0 és 1 bit határozza meg a PGA (programozható erősítés) erősítés beállítását.
Ha csak feszültséget mér vagy kísérletezik, hagyja ezeket nullán 1V/V erősítés érdekében. Ezután az ADS1110 adatátviteli sebességét a 2. és 3. bit vezérli. Ha be van kapcsolva a folyamatos mintavétel, ez határozza meg az ADC által felvett minták számát másodpercenként.
Néhány kísérlet után egy Arduino Uno -val azt találtuk, hogy az ADC -ből visszaadott értékek kissé rosszak voltak a leggyorsabb sebesség használatakor, ezért hagyja 15 SPS -ként, hacsak másképp nem írják elő. A 4. bit vagy folyamatos mintavételt (0), vagy egyszeri mintavételt (1) állít be. Figyelmen kívül hagyja az 5 -ös és a 6 -os biteket, de ezek mindig 0 -ra vannak állítva.
Végül a 7. bit-ha egyszeri mintavételi módban van, ha 1-re állítja, mintát kér-, és elolvasva megmondja, hogy a visszaadott adatok új (0) vagy régi (1). Ellenőrizheti, hogy a mért érték új érték -e - ha a konfigurációs bájt első bitje, amely az adatok után 0, akkor új. Ha 1 -et ad vissza, az ADC konverzió nem fejeződött be.
3. lépés: Adatregiszter
Mivel az ADS1110 egy 16 bites ADC, két bájton keresztül adja vissza az adatokat, majd ezt követi a konfigurációs regiszter értéke. Tehát ha három bájtot kér, az egész tétel visszatér. Az adatok „kettes kiegészítő” formában vannak, ami egy módszer az aláírt számok bináris használatával történő használatára.
A két bájt konvertálása néhány egyszerű matek segítségével történik. 15 SPS -nél történő mintavételkor az ADS1110 által visszaadott érték (nem a feszültség) -32768 és 32767 közé esik. Az érték magasabb bájtját megszorozzuk 256 -tal, majd hozzáadjuk az alsó bájthoz -amelyet ezután megszorozunk 2,048 -tal és végül osztva 32768. Ne essen pánikba, hiszen ezt a következő példa vázlatában tesszük.
4. lépés: Egyvégű ADC mód
![Egyvégű ADC mód Egyvégű ADC mód](https://i.howwhatproduce.com/images/003/image-7055-14-j.webp)
Ebben az üzemmódban leolvashat egy feszültséget, amely nulla és 2,048 V közé esik (ami történetesen az ADS1110 beépített referenciafeszültsége is). A példaáramkör egyszerű (az adatlapról).
Ne felejtse el a 10 kΩ-os felhúzó ellenállásokat az I2C buszon. A következő vázlat az ADS1110 -et használja alapértelmezett módban, és egyszerűen visszaadja a mért feszültséget:
// 53.1. Példa - ADS1110 egyoldalas voltmérő (0 ~ 2,048 VDC) #magában foglalja a "Wire.h" #define ads1110 0x48 úszófeszültséget, adatokat; byte highbyte, lowbyte, configRegister; void setup () {Serial.begin (9600); Wire.begin (); } void loop () {Wire.requestFrom (ads1110, 3); while (Wire.available ()) // győződjön meg arról, hogy az összes adat {highbyte = Wire.read (); // magas byte * B11111111 lowbyte = Wire.read (); // alacsony bájt configRegister = Wire.read (); }
adatok = highbyte * 256;
adat = adat + alacsony bájt; Serial.print ("Adatok >>"); Serial.println (adatok, DEC); Serial.print ("Feszültség >>"); feszültség = adatok * 2,048; feszültség = feszültség / 32768.0; Soros.nyomat (feszültség, DEC); Serial.println ("V"); késleltetés (1000); }
5. lépés:
![Kép Kép](https://i.howwhatproduce.com/images/003/image-7055-15-j.webp)
Feltöltés után csatlakoztassa a jelet a soros monitor méréséhez és nyitásához - valami hasonló lesz a soros monitor képéhez, amely ebben a lépésben látható.
Ha módosítania kell az ADC belső programozható erősítőjének erősítését - új bájtot kell írnia a konfigurációs regiszterbe a következők használatával:
Wire.beginTransmission (ads1110); Wire.write (konfigurációs bájt); Wire.endTransmission ();
mielőtt az ADC adatokat kéri. Ez 0x8D, 0x8E vagy 0x8F lenne a 2, 4 és 8 erősítési értékekhez - és 0x8C használatával állítsa vissza az ADS1110 alapértelmezett értékét.
6. lépés: Differenciál ADC mód
![Differenciál ADC mód Differenciál ADC mód](https://i.howwhatproduce.com/images/003/image-7055-16-j.webp)
Ebben a módban leolvashatja a két feszültség közötti különbséget, amelyek mindegyike nulla és 5 V közé esik. A példaáramkör egyszerű (az adatlapról).
Meg kell jegyeznünk itt (és az adatlapon), hogy az ADS1110 nem tudja elfogadni a negatív feszültséget egyik bemeneten sem. Ugyanezekhez az eredményekhez használhatja az előző vázlatot- és a kapott feszültség a Vin+értéke lesz, amelyet kivonnak a Vin+-ból. Például, ha 2 V volt a Vin+ -on és 1 V a Vin-en, a kapott feszültség 1 V (az erősítés 1-re van állítva).
Még egyszer reméljük, hogy érdekesnek és hasznosnak találta ezt. Ezt a bejegyzést a pmdway.com hozta neked - mindent a gyártóknak és az elektronika rajongóinak, ingyenes szállítással világszerte.
Ajánlott:
Arduino Nano-MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő oktatóanyag: 4 lépés
![Arduino Nano-MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő oktatóanyag: 4 lépés Arduino Nano-MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő oktatóanyag: 4 lépés](https://i.howwhatproduce.com/images/002/image-5562-j.webp)
Arduino Nano-MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő oktatóanyag: Az MMA8452Q egy intelligens, kis teljesítményű, három tengelyes, kapacitív, mikromágneses gyorsulásmérő, 12 bit felbontással. Rugalmas, felhasználó által programozható lehetőségek állnak rendelkezésre a gyorsulásmérő beépített funkciói segítségével, amelyek két megszakításra konfigurálhatók
Raspberry Pi MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő Python bemutató: 4 lépés
![Raspberry Pi MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő Python bemutató: 4 lépés Raspberry Pi MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő Python bemutató: 4 lépés](https://i.howwhatproduce.com/images/004/image-9985-j.webp)
Raspberry Pi MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő Python bemutató: Az MMA8452Q egy intelligens, kis teljesítményű, három tengelyes, kapacitív, mikromágneses gyorsulásmérő, 12 bit felbontással. Rugalmas, felhasználó által programozható lehetőségek állnak rendelkezésre a gyorsulásmérő beépített funkciói segítségével, amelyek két megszakításra konfigurálhatók
26 bites Nano Pixelek az Arduino használatával: 4 lépés
![26 bites Nano Pixelek az Arduino használatával: 4 lépés 26 bites Nano Pixelek az Arduino használatával: 4 lépés](https://i.howwhatproduce.com/images/009/image-25021-j.webp)
26 bites Nano Pixelek az Arduino használatával: Korábbi cikkemben bemutatót készítettem a WS2812 Nano Pixel LED használatáról. Ebben a cikkben a 16 bites gyűrűs Nano Pixel WS2812 -t használtam. És ebben a cikkben megmutatom, hogyan kell használni a 26 bites gyűrűs Nano Pixels WS2812 -t. A hardver részben
Raspberry Pi MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő Java oktatóanyag: 4 lépés
![Raspberry Pi MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő Java oktatóanyag: 4 lépés Raspberry Pi MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő Java oktatóanyag: 4 lépés](https://i.howwhatproduce.com/images/002/image-3153-20-j.webp)
Raspberry Pi MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő Java oktatóanyag: Az MMA8452Q egy intelligens, kis teljesítményű, három tengelyes, kapacitív, mikromágneses gyorsulásmérő, 12 bit felbontással. Rugalmas, felhasználó által programozható lehetőségek állnak rendelkezésre a gyorsulásmérő beépített funkciói segítségével, amelyek két megszakításra konfigurálhatók
DIY MusiLED, zenével szinkronizált LED-ek egy kattintásos Windows és Linux alkalmazással (32 bites és 64 bites). Könnyen újratelepíthető, könnyen használható, könnyen hordozható: 3
![DIY MusiLED, zenével szinkronizált LED-ek egy kattintásos Windows és Linux alkalmazással (32 bites és 64 bites). Könnyen újratelepíthető, könnyen használható, könnyen hordozható: 3 DIY MusiLED, zenével szinkronizált LED-ek egy kattintásos Windows és Linux alkalmazással (32 bites és 64 bites). Könnyen újratelepíthető, könnyen használható, könnyen hordozható: 3](https://i.howwhatproduce.com/images/002/image-5944-30-j.webp)
DIY MusiLED, zenével szinkronizált LED-ek egy kattintásos Windows és Linux alkalmazással (32 bites és 64 bites). Könnyen újratelepíthető, könnyen használható, könnyen hordozható: Ez a projekt segít 18 LED (6 piros + 6 kék + 6 sárga) LED-ek csatlakoztatásában az Arduino Boardhoz, és elemezni a számítógép hangkártyájának valós idejű jeleit, és továbbítani azokat a LED -ek, hogy felgyújtsák őket az ütéshatásoknak megfelelően (pergő, magas kalap, rúgás)