INHOUDSOPGAWE:
- Stap 1: hersiening
- Stap 2: Waarom gee AnalogRead () 'n waarde tussen 0 en 1023 terug?
- Stap 3: Wat is AREF?
- Stap 4: Eksterne AREF
- Stap 5: Interne AREF
Video: Die Arduino AREF -pen: 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
In hierdie tutoriaal kyk ons na hoe u kleiner spannings met groter akkuraatheid kan meet met behulp van die analoog ingangspennetjies op u Arduino of versoenbare bord saam met die AREF -pen. Eerstens sal ons 'n bietjie hersiening doen om u op hoogte te bring. Lees hierdie berig volledig voordat u die eerste keer met AREF werk.
Stap 1: hersiening
U onthou miskien dat u die Arduino analogRead () -funksie kan gebruik om die spanning van 'n elektriese stroom van sensors, ensovoorts, te meet deur een van die analoog ingangspennetjies te gebruik. Die waarde wat teruggekeer word van analogRead () sal tussen nul en 1023 wees, met nul wat nul volt verteenwoordig en 1023 wat die werkspanning van die Arduino -bord in gebruik verteenwoordig.
En as ons die werkspanning sê - dit is die spanning wat die Arduino beskikbaar het na die kragtoevoer. As u byvoorbeeld 'n tipiese Arduino Uno -kaart het en dit vanaf die USB -aansluiting laat loop - daar is seker 5V beskikbaar op die kaart vanaf die USB -aansluiting op u rekenaar of hub - maar die spanning word effens verminder namate die stroom om die stroombaan na die mikrobeheerder - of die USB -bron is eenvoudig nie reg nie.
Dit kan maklik bewys word deur 'n Arduino Uno aan USB te koppel en 'n multimeterstel te plaas om spanning oor die 5V- en GND -penne te meet. Sommige borde sal so laag as 4,8 V terugkeer, sommige hoër, maar steeds onder 5V. As u dus op soek is na akkuraatheid, kan u u kaart van 'n eksterne kragtoevoer via die DC -aansluiting of Vin -pen, soos 9V DC, voed. Dan sal u 'n goeie 5V hê, byvoorbeeld die beeld, nadat dit deur die kragreguleerkring gegaan het.
Dit is belangrik, aangesien die akkuraatheid van enige analoogLees () waardes beïnvloed sal word deur nie 'n ware 5 V. te hê nie. As u nie 'n opsie het nie, kan u 'n paar wiskunde in u skets gebruik om die spanningverlies te vergoed. Byvoorbeeld, as u spanning 4.8V is - sal die analogRead () reeks van 0 ~ 1023 verband hou met 0 ~ 4.8V en nie 0 ~ 5V nie. Dit klink dalk triviaal, maar as u 'n sensor gebruik wat 'n waarde as 'n spanning teruggee (bv. Die TMP36 temperatuursensor) - sal die berekende waarde verkeerd wees. Gebruik dus om 'n akkurate belang 'n eksterne kragtoevoer.
Stap 2: Waarom gee AnalogRead () 'n waarde tussen 0 en 1023 terug?
Dit is te wyte aan die resolusie van die ADC. Die resolusie (vir hierdie artikel) is die mate waarin iets numeries voorgestel kan word. Hoe hoër die resolusie, hoe groter akkuraatheid kan iets voorgestel word. Ons meet resolusie in terme van die aantal stukkies resolusie.
Byvoorbeeld, met 'n 1-bis-resolusie kan slegs twee (twee op die krag van een) waardes toegelaat word-nul en een. Met 'n 2-bis-resolusie kan vier (twee met die krag van twee) waardes toegelaat word-nul, een, twee en drie. As ons probeer om 'n reeks van vyf volt met 'n twee-bits resolusie te meet, en die gemete spanning was vier volt, sou ons ADC 'n numeriese waarde van 3 gee-aangesien vier volt tussen 3,75 en 5V val. Dit is makliker om dit met die beeld voor te stel.
Met ons voorbeeld ADC met 'n 2-bis-resolusie, kan dit slegs die spanning met vier moontlike gevolglike waardes verteenwoordig. As die insetspanning tussen 0 en 1,25 daal, gee die ADC numeriese 0; as die spanning tussen 1,25 en 2,5 daal, gee die ADC 'n numeriese waarde van 1. En so aan. Met ons Arduino se ADC-reeks van 0 ~ 1023-het ons 1024 moontlike waardes-of 2 met die krag van 10. Ons Arduino's het dus 'n ADC met 'n resolusie van 10 bis.
Stap 3: Wat is AREF?
Om 'n lang verhaal kort te maak, as u Arduino 'n analoog meting neem, vergelyk dit die spanning wat gemeet word aan die analoogpen wat gebruik word met wat bekend staan as die verwysingspanning. By normale analoog Leesgebruik is die verwysingspanning die werkspanning van die bord.
Vir die meer gewilde Arduino -borde, soos die Uno-, Mega-, Duemilanove- en Leonardo/Yún -borde, is die werkspanning van 5V. As u 'n Arduino Due -bord het, is die werkspanning 3,3V. As u iets anders het - kyk na die Arduino -produkbladsy of vra u bordverskaffer.
As u dus 'n verwysingsspanning van 5V het, word elke eenheid wat deur analogRead () teruggestuur word, gewaardeer op 0.00488 V. (Dit word bereken deur 1024 in 5V te deel). Wat as ons spannings tussen 0 en 2, of 0 en 4.6, wil meet? Hoe sou die ADC weet wat 100% van ons spanningsreeks is?
En daarin lê die rede vir die AREF -pen. AREF beteken Analoog VERWYSING. Dit stel ons in staat om die Arduino 'n verwysingspanning van 'n eksterne kragtoevoer te voer. As ons byvoorbeeld spanning met 'n maksimum bereik van 3.3V wil meet, sal ons 'n mooi gladde 3.3V in die AREF -pen invoer - miskien van 'n spanningsreguleerder IC.
Dan sou elke stap van die ADC ongeveer 3,22 millivolt verteenwoordig (deel 1024 in 3,3). Let daarop dat die laagste verwysingsspanning wat u kan hê, 1.1V is. Daar is twee vorme van AREF - intern en ekstern, dus kom ons kyk daarna.
Stap 4: Eksterne AREF
'N Eksterne AREF is waar u 'n eksterne verwysingsspanning aan die Arduino -bord verskaf. Dit kan afkomstig wees van 'n gereguleerde kragtoevoer, of as u 3.3V benodig, kan u dit by die Arduino se 3.3V -pen kry. As u 'n eksterne kragtoevoer gebruik, moet u die GND aan die Arduino se GND -pen koppel. Of as u die 3.3V -bron van die Arduno gebruik - loop net 'n springer van die 3.3V -pen na die AREF -pen.
Om die eksterne AREF te aktiveer, gebruik die volgende in leemte -opstelling ():
analogReference (EXTERNAL); // gebruik AREF vir verwysingspanning
Dit stel die verwysingspanning in op alles wat u aan die AREF -pen gekoppel het - wat natuurlik 'n spanning tussen 1.1V en die werkingspanning van die bord sal hê. Baie belangrike opmerking - as u 'n eksterne spanningsverwysing gebruik, moet u die analoog verwysing na EXTERN voordat u analogRead () gebruik. Dit sal u verhinder om die aktiewe interne verwysingsspanning en die AREF -pen te kort, wat die mikrobeheerder op die bord kan beskadig. As dit nodig is vir u toepassing, kan u terugkeer na die werkspanning van die kaart vir AREF (dit is - terug na normaal) met die volgende
analogReference (standaard);
Nou om eksterne AREF by die werk te demonstreer. Met behulp van 'n 3.3V AREF, meet die volgende skets die spanning van A0 en toon die persentasie van die totale AREF en die berekende spanning:
#sluit "LiquidCrystal.h" in
LiquidCrystal lcd (8, 9, 4, 5, 6, 7);
int analooginvoer = 0; // ons analoog pen
int analoog = 0; // stoor inkomende waarde vlotter persentasie = 0; // word gebruik om ons vlotspanning = 0; // word gebruik om die spanningswaarde op te slaan
leemte opstelling ()
{lcd.begin (16, 2); analogReference (EXTERNAL); // gebruik AREF vir verwysingspanning}
leemte lus ()
{lcd.clear (); analogamount = analogRead (analoog invoer); persentasie = (analoog bedrag/1024,00)*100; spanning = analoog bedrag*3,222; // in millivolts lcd.setCursor (0, 0); lcd.print ("% van AREF:"); lcd.print (persentasie, 2); lcd.setCursor (0, 1); lcd.print ("A0 (mV):"); lcd.println (spanning, 2); vertraging (250); }
Die resultate van die skets hierbo word in die video getoon.
Stap 5: Interne AREF
Die mikrobeheerders op ons Arduino -borde kan ook 'n interne verwysingsspanning van 1.1V genereer, en ons kan dit gebruik vir AREF -werk. Gebruik eenvoudig die reël:
analogReference (INTERNE);
Gebruik vir Arduino Mega -borde:
analogReference (INTERNAL1V1);
in die nietige opstelling () en u is af. As u 'n Arduino Mega het, is daar ook 'n 2.56V verwysingspanning beskikbaar wat geaktiveer word met:
analogReference (INTERNAL2V56);
Ten slotte - voordat u die resultate van u AREF -pen bepaal, moet u altyd die metings kalibreer teen 'n bekende goeie multimeter.
Afsluiting
Die AREF -funksie bied meer buigsaamheid by die meting van analoog seine.
Hierdie pos word deur pmdway.com aan u gebring - alles vir vervaardigers en elektronika -entoesiaste, met gratis aflewering wêreldwyd.
Aanbeveel:
Verhoog die speling tussen die kopervliegtuig en die seinspoor: 3 stappe
Verhoog die speling tussen die kopervliegtuig en die seinspoor: ek is 'n stokperdjie en ek ontwerp printplate (PCB) vir my blogs en Youtube -video's. Ek het my PCB aanlyn bestel by LionCircuits. Dit is 'n Indiese onderneming en het 'n outomatiese vervaardigingsplatform. Dit hersien u Ger outomaties
Konfigurasie van die AVR -mikrobeheerder. Skep en laai die LED -knipperprogram in die flitsgeheue van die mikrokontroleerder op: 5 stappe
Konfigurasie van die AVR -mikrobeheerder. Skep en laai die LED -knipperprogram in die flitsgeheue van die mikrokontroleerder: In hierdie geval sal ons 'n eenvoudige program in C -kode skep en dit in die geheue van die mikrokontroleerder verbrand. Ons sal ons eie program skryf en die hex -lêer saamstel, met behulp van die Atmel Studio as die geïntegreerde ontwikkelingsplatform. Ons sal die sekering van twee instel
Hoe om die veiligheid van die meeste blokkeerders aan die kant van die bediener te omseil: 3 stappe
Hoe om die veiligheid van die meeste webblokkers op die bediener te verlig: dit is my eerste instruksie, so hou my in gedagte: Ok, ek sal u vertel hoe u die webblokkers wat ek in skole gebruik het, kan omseil. Al wat u nodig het, is 'n flash drive en 'n paar sagteware aflaai
Hoe om probleme op te los met die afstandsbediening van die Pionner -stuurwiel - Verhoog die IR -sein en herstel die klein slot: 14 stappe
Hoe om probleme op te los met die afstandsbediening van die stuurwiel van Pionner - Verhoog die IR -sein en herstel die klein slot.: Hierdie afstandsbediening is baie mooi en gerieflik, maar soms werk dit nie behoorlik nie. projek is nie 'n voorbeeld van doeltreffendheid nie. Ek kom uit Brasilië en het hierdie wenk op Amaz gekry
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: 9 stappe (met foto's)
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: die middelste voetsteunhysers moet goed onder die sitplek geberg word en laer om te ontplooi. 'N Meganisme vir die onafhanklike werking van die opberging en ontplooiing van voetsteun is nie ingesluit by rolstoele op die mark nie, en PWC -gebruikers het die behoefte uitgespreek