![Arduino ja TI ADS1110 16-bitine ADC: 6 sammu Arduino ja TI ADS1110 16-bitine ADC: 6 sammu](https://i.howwhatproduce.com/preview/how-to/10438473-arduino-and-the-ti-ads1110-16-bit-adc-6-steps-0.webp)
Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-23 14:40
![Arduino ja TI ADS1110 16-bitine ADC Arduino ja TI ADS1110 16-bitine ADC](https://i.howwhatproduce.com/images/003/image-7055-12-j.webp)
Selles õpetuses uurime Arduino kasutamist tööks Texas Instruments ADS1110-ga-uskumatult pisike, kuid kasulik 16-bitine analoog-digitaalmuundur IC.
See võib töötada vahemikus 2,7 kuni 5,5 V, nii et see sobib ka Arduino Due ja muude madalama pingega arendusplaatide jaoks. Enne jätkamist laadige palun alla andmeleht (pdf), kuna see on kasulik ja sellele õpetuse ajal viidatakse. ADS1110 annab teile täpsema ADC võimaluse, kui seda pakuvad Arduino 10-bitised ADC-d-ja seda on suhteliselt lihtne kasutada. Kuid see on saadaval ainult SOT23-6 palja osana.
Samm 1:
![Pilt Pilt](https://i.howwhatproduce.com/images/003/image-7055-13-j.webp)
Hea uudis on see, et saate tellida ADS1110 paigaldatuna väga mugavale plaadile. ADS1110 kasutab suhtlemiseks I2C -bussi. Ja kuna seal on ainult kuus tihvti, ei saa siiniaadressi määrata - selle asemel saate valida ADS1110 kuue variandi hulgast - igaühel on oma aadress (vt andmelehe teine lehekülg).
Nagu näete ülaltoodud fotol, on meie märge “EDO”, mis sobib bussi aadressiga 1001000 või 0x48h. Ja näiteahelate puhul oleme I2C siinil kasutanud 10 kΩ tõmbetakistit.
Saate kasutada ADS1110 kas ühe- või diferentsiaalse ADC-na-kuid kõigepealt peame uurima konfiguratsiooniregistrit, mida kasutatakse erinevate atribuutide juhtimiseks, ja andmeregistrit.
2. samm: seadistuste register
Pöörake andmelehe üheteistkümnendale lehele. Konfiguratsiooniregister on ühe baidi suurune ja kuna ADS1110 lähtestab töötsükli ajal-peate registri lähtestama, kui teie vajadused erinevad vaikeväärtustest. Andmeleht kirjeldab seda üsna korralikult … bitid 0 ja 1 määravad PGA (programmeeritava võimendusega võimendi) võimenduse.
Kui mõõdate lihtsalt pingeid või katsetate, jätke need 1V/V võimenduseks nulliks. Järgmisena juhitakse ADS1110 andmeedastuskiirust bittidega 2 ja 3. Kui teil on pidev proovivõtmine sisse lülitatud, määrab see kindlaks ADC võetud proovide arvu sekundis.
Pärast mõningast katsetamist Arduino Unoga leidsime, et ADC -lt tagastatud väärtused olid kiireima kiiruse kasutamisel pisut väljas, seega jätke see väärtuseks 15 SPS, kui ei nõuta teisiti. Bitt 4 määrab kas pideva proovivõtmise (0) või ühekordse proovivõtmise (1). Ignoreerige bitte 5 ja 6, kuid need on alati seatud väärtuseks 0.
Lõpuks bitt 7-kui olete ühekordses proovivõturežiimis, nõuab selle määramine väärtusele 1 proovi-ja selle lugemine ütleb teile, kas tagastatud andmed on uued (0) või vanad (1). Saate kontrollida, kas mõõdetud väärtus on uus väärtus - kui konfiguratsioonibaidi esimene bit, mis pärast andmeid on 0, on see uus. Kui see tagastab 1, pole ADC teisendamine lõppenud.
3. samm: andmeregister
Kuna ADS1110 on 16-bitine ADC, tagastab see andmed kahe baidi ulatuses ja järgneb seejärel konfiguratsiooniregistri väärtusele. Nii et kui taotlete kolme baiti, tuleb kogu partii tagasi. Andmed on vormis „kahe täiendus”, mis on meetod binaarsete allkirjastatud numbrite kasutamiseks.
Nende kahe baidi teisendamine toimub mõne lihtsa matemaatika abil. Proovi võtmisel 15 SPS -i korral jääb ADS1110 tagastatav väärtus (mitte pinge) vahemikku -32768 ja 32767. Väärtuse kõrgem bait korrutatakse 256 -ga, seejärel lisatakse see alumisele baidile -mis seejärel korrutatakse 2,048 -ga ja lõpuks jagatud 32768. Ärge paanitsege, sest me teeme seda eelseisva näite visandis.
Samm: ühepoolne ADC-režiim
![Ühepoolne ADC-režiim Ühepoolne ADC-režiim](https://i.howwhatproduce.com/images/003/image-7055-14-j.webp)
Selles režiimis saate lugeda pinget, mis jääb nulli ja 2,048 V vahele (mis on ka ADS1110 sisseehitatud võrdluspinge). Näiteahel on lihtne (andmelehelt).
Ärge unustage I2C siinil olevaid 10 kΩ tõmbetakistusi. Järgmine visand kasutab vaikerežiimis ADS1110 ja tagastab lihtsalt mõõdetud pinge:
// Näide 53.1 - ADS1110 ühepoolne voltmeeter (0 ~ 2,048VDC) #sisaldab "Wire.h" #define ads1110 0x48 ujukpinge, andmed; bait suurbait, madalbait, configRegister; void setup () {Serial.begin (9600); Wire.begin (); } void loop () {Wire.requestFrom (ads1110, 3); while (Wire.available ()) // veenduge, et kõik andmed oleksid {highbyte = Wire.read (); // kõrge bait * B11111111 lowbyte = Wire.read (); // madala baidiga configRegister = Wire.read (); }
andmed = highbyte * 256;
andmed = andmed + madalbait; Serial.print ("Andmed >>"); Serial.println (andmed, DEC); Serial.print ("Pinge >>"); pinge = andmed * 2,048; pinge = pinge / 32768.0; Seeriaprint (pinge, DEC); Serial.println ("V"); viivitus (1000); }
5. samm:
![Pilt Pilt](https://i.howwhatproduce.com/images/003/image-7055-15-j.webp)
Pärast üleslaadimist ühendage signaal jadamonitori mõõtmiseks ja avage - teile esitatakse midagi sarnast selles etapis näidatud jadamonitori kujutisega.
Kui teil on vaja muuta ADC sisemise programmeeritava võimenduse võimendust - peate konfiguratsiooniregistrisse kirjutama uue baidi, kasutades järgmist:
Wire.beginTransmission (ads1110); Wire.write (konfiguratsioonibait); Wire.endTransmission ();
enne ADC andmete küsimist. See oleks 0x8D, 0x8E või 0x8F vastavalt võimendusväärtustele 2, 4 ja 8 - ning kasutage 0x8C, et lähtestada ADS1110 vaikimisi.
6. samm: diferentsiaalne ADC -režiim
![Diferentsiaalne ADC -režiim Diferentsiaalne ADC -režiim](https://i.howwhatproduce.com/images/003/image-7055-16-j.webp)
Selles režiimis saate lugeda erinevust kahe pinge vahel, mis langevad nulli ja 5 V vahele. Näiteahel on lihtne (andmelehelt).
Peame siin (ja andmelehel) märkima, et ADS1110 ei saa kummagi sisendi puhul vastu võtta negatiivseid pingeid. Samade tulemuste saamiseks võite kasutada eelmist visandit- ja saadud pinge on Vin+väärtus, mis on lahutatud Vin+-st. Näiteks kui teil oli 2 V pingel Vin ja 1 V tootel Vin, oleks saadud pinge 1 V (võimendusega 1).
Loodame veel kord, et leidsite selle huvi ja võib -olla kasulikuks. Selle postituse tõi teile pmdway.com - kõik tegijatele ja elektroonikahuvilistele, tasuta kohaletoimetamine kogu maailmas.
Soovitan:
Kuidas muuta ADC praeguseks: 5 sammu
![Kuidas muuta ADC praeguseks: 5 sammu Kuidas muuta ADC praeguseks: 5 sammu](https://i.howwhatproduce.com/images/007/image-18041-j.webp)
ADC praeguse tunde muutmine: selles juhendis kirjeldame, kuidas rakendada SLG46855V-s 8-bitist analoog-digitaalmuundurit (ADC), mis suudab tajuda koormusvoolu ja liidest MCU-ga I2C kaudu. Seda disaini saab kasutada mitmesuguste vooluandurite jaoks, näiteks
7-segment, et kuvada ADC #Arduino väärtused, #Arduino: 4 sammu
![7-segment, et kuvada ADC #Arduino väärtused, #Arduino: 4 sammu 7-segment, et kuvada ADC #Arduino väärtused, #Arduino: 4 sammu](https://i.howwhatproduce.com/images/010/image-28320-j.webp)
7-segment ADC kuvamiseks #Arduino väärtused, #Arduino: Selles artiklis teen projekti, mis on endiselt seotud eelmise artikliga. Nimelt ADC andmete töötlemine. Seega pole teil vaja adc -andmete väärtuse nägemiseks jadamonitori. selles artiklis teen ADC -väärtuse vaataja ekraani. nii et sa ei
Lugege potentsiomeetritelt ADC väärtusi: 4 sammu
![Lugege potentsiomeetritelt ADC väärtusi: 4 sammu Lugege potentsiomeetritelt ADC väärtusi: 4 sammu](https://i.howwhatproduce.com/images/001/image-144-59-j.webp)
Lugege potentsiomeetrite ADC väärtusi: Selles artiklis näitan teile, kuidas lugeda potentsiomeetrilt ADC väärtusi. See on Arduino programmeerimise alus. mis loeb analoogväärtusi Arduino pakutava analoogpinna abil. lisaks potentsiile on olemas mitmeid andureid, mis
Arduino ja PCF8591 ADC DAC IC: 7 sammu
![Arduino ja PCF8591 ADC DAC IC: 7 sammu Arduino ja PCF8591 ADC DAC IC: 7 sammu](https://i.howwhatproduce.com/images/003/image-7056-12-j.webp)
Arduino ja PCF8591 ADC DAC IC: Kas olete kunagi soovinud oma Arduino projekti jaoks rohkem analoogsisendit, kuid pole tahtnud mega jaoks välja töötada? Või soovite luua analoogsignaale? Seejärel vaadake meie õpetuse teemat - NXP PCF8591 IC. See lahendab mõlemad probleemid
Esitage lugusid Arduino abil, kasutades ADC -PWM -i Flyback -trafol või kõlaril: 4 sammu
![Esitage lugusid Arduino abil, kasutades ADC -PWM -i Flyback -trafol või kõlaril: 4 sammu Esitage lugusid Arduino abil, kasutades ADC -PWM -i Flyback -trafol või kõlaril: 4 sammu](https://i.howwhatproduce.com/images/005/image-12774-14-j.webp)
Esitage lugusid Arduinoga, kasutades ADC -d PWM -i jaoks Flyback -trafol või kõlaris: Tere poisid, see on minu teise juhendatava (see oli palju raske) teine osa. Põhimõtteliselt olen selles projektis kasutanud oma Arduino ADC -d ja taimerit teisendada helisignaal PWM -signaaliks. See on palju lihtsam kui minu eelmine juhend