luokat: Mikrokontrolleripiirit
Katselukuvien lukumäärä: 18998
Kommentit artikkeliin: 0

Yhdistetään analogiset anturit Arduinoon, lukemisen anturit

 

Antureita käytetään mittaamaan määriä, ympäristöolosuhteita ja reaktioita tilan ja paikan muutoksiin. Niiden ulostulossa voi olla sekä digitaalisia signaaleja, jotka koostuvat yhdestä ja nollasta, että analogisia, jotka koostuvat rajattomasta määrästä jännitteitä tietyssä ajassa.


Tietoja antureista

Sen mukaisesti anturit on jaettu kahteen ryhmään:

1. Digitaalinen.

2. Analoginen.

Digitaaliarvojen lukemiseen voidaan tässä tapauksessa käyttää mikrokontrollerin sekä digitaalisia että analogisia tuloja Avr Arduinon aluksella. Analogiset anturit on kytkettävä analogia-digitaalimuuntimen (ADC) kautta. ATMEGA328, se on asennettu useimpiin ARDUINO-levyihin (lisätietoja tästä) sivustolla on artikkeli), sisältää piirissä sisäänrakennetun ADC: n. Valittavana on jopa 6 analogista tuloa.

Jos tämä ei riitä sinulle, voit käyttää erillistä ulkoista ADC: tä yhteyden muodostamiseen digitaalituloihin, mutta tämä vaikeuttaa koodia ja kasvattaa sen äänenvoimakkuutta, koska prosessorialgoritmeja ja ADC-ohjausta on lisätty. Analogis-digitaalimuuntimien aihe on riittävän laaja, että voit tehdä niistä erillisen artikkelin tai jakson. Taulua on helpompaa käyttää suurella määrällä niitä tai kanavointilaitteita. Tarkastellaan kuinka kytkeä analogiset anturit Arduinoon.

Analogisten antureiden kytkeminen Arduinoon, anturien lukemien lukeminen

Analogisten antureiden yleinen kaavio ja niiden kytkentä

Anturi voi olla jopa tavanomainen potentiometri. Itse asiassa tämä on resistiivinen asentoanturi, tällä periaatteella ne toteuttavat nesteiden tason, kallistuskulman ja jonkin aukon hallinnan. Se voidaan kytkeä arduinoon kahdella tavalla.

Analogisten antureiden yleinen kaavio ja niiden kytkentä

Yllä oleva piiri antaa sinun lukea arvoja välillä 0-1023 johtuen siitä, että kaikki jännitteet putoavat potentiometrissä. Tässä jännitteenjakajan periaate toimii moottorin missä tahansa asennossa, jännite jakautuu lineaarisesti resistiivisen kerroksen pinnalla tai logaritmisella asteikolla (riippuu potentiometristä), mikä osa jännitteestä, joka jää liukusäätimen ulostulon (liukukosketin) ja maan (gnd) väliin, tulee sisäänmenoon. Leipäpuolella tämä yhteys näyttää tältä:

Analogisten antureiden kytkentäkaavio

Toinen vaihtoehto on kytketty klassisen resistiivisen jakajapiirin mukaisesti, tässä jännite potentiometrin suurimman vastuspisteen kohdalla riippuu ylemmän vastuksen vastuksesta (kuvassa R2).

Klassinen resistiivinen jakaja

Yleisesti ottaen resistiivinen jakaja on erittäin tärkeä paitsi mikrokontrollerien kanssa tehtävässä työssä myös yleensä elektroniikassa. Alla näet yleisen kaavion sekä lasketut suhteet alavarteen jännitearvon määrittämiseksi.

Kaavio ja suunnittelusuhteet alavarteen jännitearvon määrittämiseksi

Tällainen yhteys on ominainen paitsi potentiometrille, myös kaikille analogisille antureille, koska suurin osa niistä toimii vastusmuodon (johtavuuden) muutoksen periaatteella ulkoisten lähteiden - lämpötilan, valon, erityyppisen säteilyn - vaikutuksesta.

Seuraava on yksinkertaisin kytkentäkaavio termistoriPeriaatteessa lämpömittari voidaan tehdä sen perusteella. Mutta sen lukemien tarkkuus riippuu lämpötilankestävyyden muuntamistaulukon tarkkuudesta, virtalähteen stabiilisuudesta ja resistanssin muutoskertoimista (mukaan lukien olkavarren vastus) samassa lämpötilassa. Tämä voidaan minimoida valitsemalla optimaaliset vastukset, niiden teho ja käyttövirrat.

Termistorin yksinkertaisin kytkentäkaavio

Samalla tavalla voit kytkeä fotodiodeja, fototransistoreita valoanturiksi. Fotoelektroniikka on löytänyt sovelluksen antureihin, jotka määrittävät kohteen etäisyyden ja läsnäolon, joista yhtä harkitsemme myöhemmin.

photoresistor

Kuvio näyttää valoreistorin yhteyden arduinoon.

Valoresistorin kytkentäkaavio arduinoon

Ohjelmisto-osa

Ennen kuin puhun tiettyjen anturien kytkemisestä, päätin harkita ohjelmistoa niiden käsittelemiseksi. Kaikki analogiset signaalit luetaan samoista porteista analogRead () -komennon avulla.On syytä huomata, että Arduino UNO: lla ja muilla malleilla, joissa on 168 ja 328 atmega, on 10-bittinen ADC. Tämä tarkoittaa, että mikro-ohjain näkee tulosignaalin numerolla 0 - 1023 - yhteensä 1024 arvoa. Jos katsot, että syöttöjännite on 5 volttia, tuloherkkyys:

5/1024 = 0,0048 V tai 4,8 mV

Toisin sanoen sillä, että tulon arvo on 0, jännite on 0 ja tulon arvolla 10 - 48 mV.

Joissain tapauksissa arvojen muuntamiseksi halutulle tasolle (esimerkiksi siirtämiseksi PWM-ulostuloon) 1024 jaetaan luvulla, jaon tuloksena vaadittava maksimiarvo olisi saavutettava. Karttatoiminto (lähde, matala, korkea, korkea, korkea, matala) toimii selkeämmin, missä:

  • pieni - alempi luku ennen muuntamista toiminnon mukaan;

  • vch - ylempi;

  • VCh - alempi luku toiminnon käsittelemisen jälkeen (ulostulossa);

  • VHV - yläosa.

Käytännöllinen sovellus tuloarvon funktion muuntamiseksi lähetettäväksi PWM: ksi (enimmäisarvo 255, datan muuntamiseksi ADC: stä lähtöön PWM 1024 jaettuna 4: llä):

Vaihtoehto 1 - jako.

int x;

x = analoginen lukema (potti) / 4;

// numero saadaan välillä 0 - 1023

// jaa se 4: llä, saamme kokonaisluku välillä 0 - 255 analogWrite (led, x);

Vaihtoehto 2 - MAP-toiminto - avaa enemmän mahdollisuuksia, mutta enemmän siitä myöhemmin.

tyhjä silmukka ()

{int val = analoginen luku (0);

val = kartta (val, 0, 1023, 0, 255);

analogWrite (led, val); }

Tai jopa lyhyempi:

analogWrite (led, kartta (val, 0, 1023, 0, 255))

Kaikilla antureilla ei ole 5 volttia lähtöä, ts. numero 1024 ei ole aina kätevä jakaa saadakseen sama 256 PWM: lle (tai jollekin muulle). Tämä voi olla 2 ja 2,5 volttia ja muut arvot, kun maksimisignaali on esimerkiksi 500.


Suositut analogiset anturit

Seuraavassa on yleiskuva arduinon anturista ja sen liitoksesta:

Kuinka kytkeä analoginen anturi

Yleensä on kolme lähtöä, voi olla neljäs - digitaalinen, mutta nämä ovat ominaisuuksia.

Selitys analogisen anturin lähtöjen nimitykseen:

  • G - miinus teho, yhteinen väylä, maa. Voidaan nimetä GND: ksi, - -;

  • V - plus teho. Voidaan merkitä nimellä Vcc, Vtg, "+";

  • S - lähtösignaali, mahdollinen merkintä - Out, SGN, Vout, sign.

Aloittelijat, jotka oppivat lukemaan antureiden arvot, valitsevat kaikenlaisten lämpömittarien projekteja. Tällaiset anturit ovat digitaalisessa suunnittelussa, esimerkiksi DS18B20, ja analogisina - nämä ovat kaikenlaisia ​​mikropiirejä, kuten LM35, TMP35, TMP36 ja muut. Tässä on esimerkki tällaisen anturin modulaarisesta rakenteesta levyllä.

Analoginen anturi TMP36: lla

Anturin tarkkuus on 0,5 - 2 astetta. TMP36-sirulle rakennettu, kuten monet sen analogit, sen lähtöarvot ovat 10 mV / ° C. 0 °: ssa lähtösignaali on 0 V, ja sitten lisätään 10 mV / 1 aste. Toisin sanoen 25,5 asteen lämpötilassa jännite on 0,255 V, poikkeama on mahdollista IC-kiteen virheen ja itsekuumennuksen sisällä (korkeintaan 0,1 ° C).


Mittausalueet ja lähtöjännitteet voivat vaihdella käytetyn mikropiirin mukaan, katso taulukko.

Lämpötila-alueet ja anturin lähtöjännitteet

Laadukkaan lämpömittarin osalta ei kuitenkaan voi vain lukea arvoja ja näyttää niitä nestekidenäytössä tai sarjaportissa viestinnälle tietokoneen kanssa. Koko järjestelmän lähtösignaalin vakauden vuoksi keskiarvo on annettava antureille, sekä analogisille että digitaalisille, tietyissä rajoissa, kun taas heikentämättä niiden nopeutta ja tarkkuutta (kaikelle on rajoitettu). Tämä johtuu melusta, häiriöistä, epävakaisista koskettimista (potentiometriin perustuvilla resistiivisillä antureilla, katso auton säiliön vesi- tai polttoaineanturin toimintahäiriöt).

Koodit useimpien antureiden kanssa työskentelemiseksi ovat melko mittavia, joten en anna niitä kaikkia, ne löytyvät helposti verkosta pyynnöstä “anturi + Arduinon nimi”.

Seuraava anturi, jota arduino-robottiinsinöörit usein käyttävät, on linja-anturi. Se perustuu valosähköisiin laitteisiin, valotransistorien tyyppi.

Linja-anturi

Heidän avullaan linjaa pitkin liikkuva robotti (jota käytetään automatisoidussa tuotannossa osien toimittamiseen) määrittelee valkoisen tai mustan nauhan läsnäolon. Kuvion oikealla puolella on kaksi LED-merkkisiä laitteita. Yksi niistä on LED, se voi säteillä näkymättömässä spektrissä, ja toinen on fototransistori.

Valo heijastuu pinnasta, jos se on tumma - valotransistori ei vastaanota heijastunutta virtaa, mutta jos valo vastaanottaa ja se aukeaa. Mikrokontrolleriin lisäämäsi algoritmit käsittelevät signaalin ja määrittävät oikeellisuuden ja liikesuunnan ja korjaavat ne. Optinen hiiri, jota todennäköisesti pidät kädessäsi lukeessasi näitä rivejä, on järjestetty samalla tavalla.

Täydentän viereisellä anturilla - etäisyysanturia Sharpista, käytetään myös robotiikassa, samoin kuin olosuhteissa kohteiden sijainnin valvomiseksi avaruudessa (vastaavalla TX-virheellä).

Terävä etäisyysanturi

Se toimii samalla periaatteella. Kirjastoja ja esimerkkejä luonnoksista ja hankkeista niiden kanssa on saatavana paljon Arduinon sivustoilta.


johtopäätös

Analogisten antureiden käyttäminen on hyvin yksinkertaista, ja helposti opittavan Arduino-ohjelmointikielen avulla voit oppia nopeasti yksinkertaiset laitteet. Tällä lähestymistavalla on merkittäviä haittoja verrattuna digitaalisiin vastaaviin. Tämä johtuu parametrien suuresta vaihtelusta, mikä aiheuttaa ongelmia anturin vaihtamisessa. Sinun on ehkä muokattava ohjelman lähdekoodia.

Totta, yksittäisissä analogisissa laitteissa on referenssijännitelähteet ja virranvakaimet, mikä vaikuttaa positiivisesti lopputuotteen ja laitteen toistettavuuteen massatuotannossa. Kaikkia ongelmia voidaan välttää käyttämällä digitaalisia laitteita.

Digitaaliset piirit sellaisenaan vähentävät tarvetta virittää ja säätää piiriä kokoonpanon jälkeen. Tämä antaa sinulle mahdollisuuden koota useita samanlaisia ​​laitteita samaan lähdekoodiin, joiden yksityiskohdat antavat samat signaalit, resistiivisillä antureilla tämä on harvinaista.

Katso myös verkkosivuiltamme:Ulkoisten laitteiden kytkeminen Arduinoon

Katso myös osoitteesta i.electricianexp.com:

  • Mitä eroa on analogisilla ja digitaalisilla antureilla?
  • Lämpötilan ja kosteuden mittaaminen Arduinolla - valikoima tapoja
  • Kuinka analogisen signaalin muuntaminen digitaaliseksi
  • Arduinon suosituimmat anturit
  • Kuinka linja-anturi on järjestetty ja toimii

  •