Obsah:
- Krok 1: Revízia
- Krok 2: Prečo AnalogRead () vracia hodnotu medzi 0 a 1023?
- Krok 3: Čo je teda SREF?
- Krok 4: Externý AREF
- Krok 5: Interný AREF
Video: Pin AREF Arduino: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
V tomto návode sa pozrieme na to, ako môžete merať menšie napätie s vyššou presnosťou pomocou analógových vstupných pinov na vašom Arduine alebo kompatibilnej doske v spojení s pinom AREF. Najprv však urobíme niekoľko revízií, aby sme vás urýchlili. Pred prvou prácou s AREF si prečítajte tento príspevok.
Krok 1: Revízia
Môžete si spomenúť, že môžete použiť funkciu Arduino analogRead () na meranie napätia elektrického prúdu zo senzorov a podobne pomocou jedného z analógových vstupných kolíkov. Hodnota vrátená z analogRead () by bola medzi nulou a 1023, pričom nula predstavuje nulové napätie a 1023 predstavuje prevádzkové napätie používanej dosky Arduino.
A keď hovoríme prevádzkové napätie - to je napätie, ktoré má Arduino k dispozícii po obvodoch napájania. Napríklad, ak máte typickú dosku Arduino Uno a spustíte ju z USB zásuvky - určite je na doske k dispozícii 5 V z USB zásuvky na vašom počítači alebo rozbočovači - ale napätie sa mierne zníži, pretože prúd sa vinie okolo obvod k mikrokontroléru - alebo zdroj USB jednoducho nie je na poškriabanie.
To sa dá ľahko preukázať pripojením Arduino Uno k USB a vložením multimetrovej sady na meranie napätia cez piny 5V a GND. Niektoré dosky sa vrátia už pri 4,8 V, niektoré vyššie, ale stále pod 5V. Ak teda hľadáte presnosť, napájajte dosku z externého zdroja napájania pomocou zásuvky DC alebo kolíka Vin - napríklad 9 V DC. Potom, čo to prejde obvodom regulátora výkonu, budete mať pekných 5 V, napríklad obrázok.
To je dôležité, pretože presnosť všetkých hodnôt analogRead () bude ovplyvnená tým, že nebudete mať skutočných 5 V. Ak nemáte inú možnosť, môžete vo svojom náčrte použiť niekoľko matematických matematík na kompenzáciu poklesu napätia. Ak je napríklad vaše napätie 4,8 V - rozsah analógového čítania () 0 ~ 1023 sa bude vzťahovať na 0 ~ 4,8 V a nie na 0 ~ 5 V. Môže to znieť triviálne, ale ak používate snímač, ktorý vracia hodnotu ako napätie (napr. Snímač teploty TMP36) - vypočítaná hodnota bude nesprávna. V záujme presnosti preto použite externý napájací zdroj.
Krok 2: Prečo AnalogRead () vracia hodnotu medzi 0 a 1023?
Je to kvôli rozlíšeniu ADC. Rozlíšenie (pre tento článok) je miera, do akej je možné niečo reprezentovať číselne. Čím vyššie je rozlíšenie, tým väčšia je presnosť, s akou môže byť niečo reprezentované. Rozlíšenie meriame počtom bitov rozlíšenia.
Napríklad 1-bitové rozlíšenie by umožnilo iba dve (dve až jedna mocnina) hodnoty-nulu a jednu. 2-bitové rozlíšenie by umožnilo štyri (dve až dve mocniny) hodnoty-nula, jedna, dve a tri. Ak by sme sa pokúsili zmerať rozsah piatich voltov s dvojbitovým rozlíšením a namerané napätie by bolo štyri volty, náš ADC by vrátil číselnú hodnotu 3-pretože štyri volty klesnú medzi 3,75 a 5V. Je jednoduchšie si to predstaviť na obrázku.
Takže v našom prípade ADC s 2-bitovým rozlíšením môže reprezentovať napätie iba so štyrmi možnými výslednými hodnotami. Ak vstupné napätie klesne medzi 0 a 1,25, ADC vráti číselnú hodnotu 0; ak napätie klesne medzi 1,25 a 2,5, ADC vráti číselnú hodnotu 1. A tak ďalej. S rozsahom ADC nášho Arduina od 0 ~ 1023-máme 1024 možných hodnôt-alebo 2 do výkonu 10. Naše Arduino má teda ADC s 10-bitovým rozlíšením.
Krok 3: Čo je teda SREF?
Aby sme to skrátili, keď váš Arduino odoberá analógové čítanie, porovnáva napätie namerané na analógovom pine, ktorý sa používa, s tým, čo je známe ako referenčné napätie. Pri normálnom použití analogového čítania je referenčné napätie prevádzkovým napätím dosky.
Pre populárnejšie dosky Arduino, ako sú dosky Uno, Mega, Duemilanove a Leonardo/Yún, je prevádzkové napätie 5V. Ak máte dosku Arduino Due, prevádzkové napätie je 3,3 V. Ak máte niečo iné - pozrite sa na stránku produktu Arduino alebo sa obráťte na dodávateľa dosky.
Ak teda máte referenčné napätie 5V, každá jednotka vrátená pomocou analogRead () má hodnotu 0,00488 V. (Toto sa vypočíta vydelením 1024 na 5V). Čo keď chceme merať napätie medzi 0 a 2 alebo 0 až 4,6? Ako by ADC vedel, čo je 100% nášho rozsahu napätia?
A tam je dôvod pre pin AREF. AREF znamená analógovú REFerenciu. Umožňuje nám napájať Arduino referenčným napätím z externého zdroja napájania. Ak by sme napríklad chceli merať napätie s maximálnym rozsahom 3,3 V, na pin AREF by sme priviedli pekných plynulých 3,3 V - možno z IC regulátora napätia.
Potom by každý krok ADC predstavoval približne 3,22 milivoltov (rozdelenie 1024 na 3,3). Všimnite si toho, že najnižšie referenčné napätie, ktoré môžete mať, je 1,1 V. Existujú dve formy AREF - interné a externé, pozrime sa na ne.
Krok 4: Externý AREF
Externé AREF je miesto, kde na dosku Arduino dodávate externé referenčné napätie. To môže pochádzať z regulovaného zdroja napájania, alebo ak potrebujete 3,3 V, môžete ho získať z 3,3 V kolíka Arduino. Ak používate externý napájací zdroj, nezabudnite pripojiť GND ku kolíku GND Arduina. Alebo ak používate zdroj Arduno s napätím 3,3 V - jednoducho prepojte prepojku z kolíka 3,3 V na pin AREF.
Na aktiváciu externého AREF použite v neplatnom nastavení () nasledujúce:
analogReference (EXTERNÝ); // na referenčné napätie použite AREF
Tým sa nastaví referenčné napätie na čokoľvek, čo ste pripojili k pinu AREF - čo samozrejme bude mať napätie medzi 1,1 V a prevádzkovým napätím dosky. Veľmi dôležitá poznámka - pri použití externej referenčnej hodnoty napätia musíte nastaviť analógovú referenciu na EXTERNÝ pred použitím analogRead (). Zabránite tým skratu aktívneho vnútorného referenčného napätia a pinu AREF, ktoré môžu poškodiť mikrokontrolér na doske. Ak je to pre vašu aplikáciu nevyhnutné, môžete sa vrátiť späť na prevádzkové napätie dosky pre AREF (to je - späť do normálu) nasledujúcim spôsobom
analogReference (DEFAULT);
Teraz demonštrujte externý AREF v práci. Nasledujúci náčrt pomocou 3.3V AREF meria napätie od A0 a zobrazuje percento z celkového AREF a vypočítané napätie:
#include "LiquidCrystal.h"
LiquidCrystal lcd (8, 9, 4, 5, 6, 7);
int analogový vstup = 0; // náš analógový pin
int analogamount = 0; // ukladá prichádzajúcu hodnotu float percenta = 0; // slúži na uloženie našej percentuálnej hodnoty float napätie = 0; // slúži na ukladanie hodnoty napätia
neplatné nastavenie ()
{lcd.begin (16, 2); analogReference (EXTERNÝ); // použitie AREF na referenčné napätie}
prázdna slučka ()
{lcd.clear (); analogamount = analogRead (analógový vstup); percento = (analogické množstvo/1024,00)*100; napätie = množstvo analogického*3,222; // v milivoltoch lcd.setCursor (0, 0); lcd.print ("% z AREF:"); lcd.print (percento, 2); lcd.setCursor (0, 1); lcd.print ("A0 (mV):"); lcd.println (napätie, 2); oneskorenie (250); }
Výsledky vyššie uvedeného náčrtu sú uvedené vo videu.
Krok 5: Interný AREF
Mikrokontroléry na našich doskách Arduino môžu tiež generovať vnútorné referenčné napätie 1,1 V a to môžeme použiť na prácu AREF. Stačí použiť riadok:
analogReference (VNÚTORNÝ);
Pre dosky Arduino Mega použite:
analogReference (INTERNAL1V1);
v neplatnom nastavení () a máte voľno. Ak máte Arduino Mega, je k dispozícii aj referenčné napätie 2,56 V, ktoré sa aktivuje:
analogReference (INTERNAL2V56);
Nakoniec - pred vyhodnotením výsledkov z vášho kolíka AREF vždy kalibrujte namerané hodnoty proti známemu dobrému multimetru.
Záver
Funkcia AREF vám ponúka väčšiu flexibilitu pri meraní analógových signálov.
Tento príspevok vám prináša pmdway.com - všetko pre výrobcov a nadšencov elektroniky s bezplatným doručením do celého sveta.
Odporúča:
Elektronický zabezpečovací systém s RTC a PIN kódom definovaným používateľom: 7 krokov
Elektronický zabezpečovací systém s RTC a PIN kódom definovaným používateľom: Ahoj chlapci! Toto je projekt, ktorý som vyrobil pomocou mikroprocesora pic, jeho elektronického systému zabezpečenia PIN kódu s hodinami v reálnom čase a funkciami PIN definovanými používateľom. Táto stránka obsahuje všetky podrobnosti o tom, ako si ho vytvoriť sami. FUNGUJE A KONCEPCIA:
Zapnutý vypnutý obvod s UC. Jedno tlačidlo. Jeden pin. Diskrétny komponent .: 5 krokov
Zapnutý vypnutý obvod s UC. Jedno tlačidlo. Jeden pin. Diskrétny komponent .: Ahoj všetci, hľadali ste na internete obvod zapnutia/vypnutia. Všetko, čo som našiel, nebolo to, čo som hľadal. Rozprával som sa sám so sebou, nevyhnutne na to existuje spôsob. To je to, čo som potreboval.-Na zapnutie a vypnutie slúži iba jedno tlačidlo.-Musí používať iba
AT príkazy pre modul Bluetooth (pin a tlačidlo HC-05 W/ EN) pomocou dosky Arduino !: 5 krokov
Príkazy AT pre modul Bluetooth (pin a tlačidlo HC-05 W/ EN) pomocou dosky Arduino !: Jay Amiel AjocGensan PH Tento návod vám pomôže začať používať váš modul bluetooth HC05. Na konci tohto návodu sa naučíte o odosielaní AT príkazov do modulu na jeho konfiguráciu/úpravu (meno, prístupový kľúč, baud ra
Pin -Pointer detektor kovov - Arduino: 6 krokov (s obrázkami)
Pin -Pointer detektor kovov - Arduino: Ak ste nadšencom detektora kovov alebo hľadáte šikovný dielenský nástroj, bude sa vám páčiť tento jedinečný ručný pinpointer na zúženie konkrétneho umiestnenia kovového cieľa. Pomocou štyroch nezávislých vyhľadávacích cievok vychladíte Farby LED diód pre
Urobte si dobrý dupup Pin-Crimp KAŽDÝ ČAS !: 15 krokov (s obrázkami)
Urobte si dobrý Dupont Pin-Crimp KAŽDÝ čas !: Každý, kto pracuje s projektom Arduino, Raspberry PI, Beagle Bone alebo s akýmkoľvek iným projektom s viacerými obvodmi, sa zoznámil s 025 x 0,025 palcovými štvorcovými kolíkovými kolíkmi a ich spojovacími konektormi . Samčie kolíky sú zvyčajne namontované na doske plošných spojov pomocou