Käytän arduinoa ensimmäistä kertaa enkä oikein ymmärrä, mitä minun on tarkoitus liittää ADC-viitenumeroon … tai jos joudut jopa käyttämään sitä kytkettäessä analogista anturia arduinoon, kiitos!
Kommentit
- Onko arduino.cc/reference/en/language/functions/analog-io/ … apua? Sinun ' ei tarvitse käyttää sitä.
Vastaa
ATMega-mikrokontrollerin AD-muunnin (kuten Arduinossa käytetään) muuntaa tulojännitteen numero .
Tämä ADC on 10 bittiä, mikä tarkoittaa 2 ^ 10 tilaa, joka on 1024.
Luku 0 (nolla) tarkoittaa 0 voltin tulojännitettä.
Luku 1023 tarkoittaa suurinta tulojännite.
Koska 0 on myös arvo, asteikko kulkee 0: sta 1023: een ja muodostaa 1024 arvoa.
Asteikko on lineaarinen, joten 511 tarkoittaa puolta maksimijännitteestä.
Mikä on suurin tulojännite?
Se on ADC-vertailujännite . Oletusarvoisesti virtalähteen jännitettä käytetään, joten jos käytät Arduinoasi 5 V: lla, sitten 1023 = 5 V. Mutta jos käytät Arduinoasi 3,3 V: lla, niin 1023 = 3,3 V.
On myös sisäisessä viitteessä 2,56 V (tai 1,1 V Arduinosta riippuen), jos käytät sitä silloin, arvasit sen, 1023 = 2,56 V (tai 1,1 V).
Sinulla voi olla erittäin hieno ulkoinen referenssijännite on jo käytettävissä, ja jos haluat käyttää sitä, käytä ulkoista asetusta ja liitä referenssijännite AREF-nastaan.
Jos analoginen anturi antaa 0–5 V ja Arduino saa virtaa myös 5: stä V, sinun tulee sitten käyttää oletusasetusta, jotta VCC: tä käytetään ADC-viitteenä.
Jos anturisi antaa jännitteen 0 ja 1 V välillä, voit käyttää sisäistä ohjearvoa niin, että enemmän 0 – 1023-alue on käyttökelpoinen. Parempi resoluutio.
Vastaus
Oletuskäyttäytyminen on, että analoginen viite on Vcc, joka monilla Arduinoilla on 5 V . Tällöin älä liitä mitään AREF: ään.
Jos sinulla kuitenkin on tarkkuusjänniteviite , voit liittää sen AREF: ään (ja GND: hen). ja määritä luonnoksessasi ennen analogRead :
analogReference (EXTERNAL);
Minulla on -sivu ADC-muuntimesta , joka voi auttaa selittämään tai olla liian yksityiskohtainen. 🙂
tai jos minun on edes käytettävä sitä kytkettäessä analogista anturia arduinoon
Ellet aio käyttää erilaista vertailujännitettä, älä käytä sitä lainkaan.
5 V: n Arduinolle oletusarvoisella AREF: llä mitattu jännite olisi suunnilleen 4,88 mV mittayksikköä kohti (ts. 5 V / 1024), mutta tarkemmin:
float voltage = ((float) rawADC + 0.5 ) / 1024.0 * Vref;
Jännite, jonka syötät VREF: ään (jos toimitat sitä kaikkien) on oltava välillä 1,0 V – Vcc, missä Vcc olisi 5 V Arduino Unolle.
Kommentit
- “ ei yhdistää mitä tahansa AREF: ään ja ”[soita
analogReference(EXTERNAL)
] ennen analogReadin tekemistä” (korostetaan minun). Nämä ovat erittäin tärkeitä kohdat, joita ei mainita muissa vastauksissa. - Lisäsin vastauksen painopisteen, jos se oli liian lievää.;)
Vastaa
No, luulen, että sinun pitäisi ensin lukea käyttöopas ennen käyttöä (ja ehkä jopa jarruttamista).
Yleisesti ottaen analoginen ohjearvo on jännitearvo välillä 0,00–5,00 V, jota käytetään virtuaalisena referenssinä kaikille analogiatuloille. arduino-kortti.
Tietoja analogisista viitteistä on Arduinon sivustossa: https://www.arduino.cc/reference/en/language/functions/analog-io/analogreference/
vastaus
AREF on vertailujännitteen tulotappi.
Referenssijännite on maksimijännite mitattaessa analogista signaalia.
Toisin sanoen, voit mitata 0V ~ AREF -jännitteen ADC-portin avulla.
Huomaa, että AREF: n minimijännite on 1,0 V.