Мазмұны:
- 1 -қадам: қайта қарау
- 2 -қадам: AnalogRead () неге 0 мен 1023 арасындағы мәнді қайтарады?
- 3 -қадам: Сонымен AREF деген не?
- 4 -қадам: Сыртқы AREF
- 5 -қадам: Ішкі AREF
Бейне: Arduino AREF түйреуі: 6 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Бұл оқулықта біз Arduino немесе үйлесімді тақтадағы аналогтық кіріс түйреуіштерді AREF түйреуішімен бірге үлкен дәлдікпен кіші кернеулерді қалай өлшеуге болатынын қарастырамыз. Алдымен біз сізді жылдамдату үшін кейбір түзетулер жасаймыз. AREF -пен бірінші рет жұмыс жасамас бұрын бұл жазбаны толығымен оқып шығыңыз.
1 -қадам: қайта қарау
Есіңізде болар, сенсорлардан электр тогының кернеуін өлшеу үшін Arduino analogRead () функциясын қолдана аласыз және аналогтық кіріс түйреуішінің біреуін қолдана аласыз. AnalogRead () -тен қайтарылған мән нөлден 1023 -ке дейін болады, нөлдік нөлдік вольтты білдіреді және 1023 қолданыстағы Arduino тақтасының жұмыс кернеуін білдіреді.
Біз жұмыс кернеуі деп айтатын болсақ - бұл электрмен жабдықтау схемасынан кейін Arduino қол жетімді кернеу. Мысалы, егер сізде әдеттегі Arduino Uno тақтасы болса және оны USB розеткасынан іске қоссаңыз - компьютерде немесе концентратордағы USB розеткасынан тақтада 5В бар екеніне сенімді болыңыз, бірақ кернеу шамалы төмендейді. Микроконтроллерге қосылу - немесе USB көзі нөлге ұшырамайды.
Мұны Arduino Uno -ны USB -ге жалғау және 5В және GND түйреуіштеріндегі кернеуді өлшеуге арналған мультиметрді орнату арқылы оңай көрсетуге болады. Кейбір тақталар 4,8 В дейін төмендейді, кейбіреулері жоғары, бірақ 5 В төмен. Егер сіз дәлдікке қол жеткізсеңіз, тақтаны тұрақты ток розеткасы немесе Vin штыры арқылы сыртқы қуат көзінен қуаттаңыз, мысалы 9В тұрақты ток. Содан кейін қуат реттегіш схемасынан өткеннен кейін сізде жақсы 5В болады, мысалы, сурет.
Бұл өте маңызды, себебі кез келген analogRead () мәндерінің дәлдігіне шынайы 5 В болмауы әсер етеді, егер сізде ешқандай мүмкіндік болмаса, кернеудің төмендеуін өтеу үшін эскизде кейбір математиканы қолдануға болады. Мысалы, егер сіздің кернеуіңіз 4,8 В болса - analogRead () диапазоны 0 ~ 1023 0 ~ 5 В емес, 0 ~ 4,8 В -қа қатысты болады. Бұл маңызды емес болып көрінуі мүмкін, бірақ егер сіз мәнді кернеу ретінде қайтаратын сенсорды қолдансаңыз (мысалы, TMP36 температура сенсоры) - есептелген мән қате болады. Сондықтан дәлдік үшін сыртқы қуат көзін қолданыңыз.
2 -қадам: AnalogRead () неге 0 мен 1023 арасындағы мәнді қайтарады?
Бұл ADC шешіміне байланысты. Ажыратымдылық (бұл мақала үшін) - бұл бір нәрсені сандық түрде көрсетуге болатын дәреже. Ажыратымдылық неғұрлым жоғары болса, бір нәрсені дәл көрсетуге болады. Біз ажыратымдылықты разрядтың саны бойынша өлшейміз.
Мысалы, 1-разрядты ажыратымдылық тек екіге (екеуінің күшіне) тең болады-нөл және бір. 2-разрядты ажыратымдылық төрт (екеуі екіге дейін) мәнге рұқсат береді-нөл, бір, екі және үш. Егер біз екі вольтты ажыратымдылықпен бес вольтты диапазонды өлшеуге тырыссақ және өлшенген кернеу төрт вольтты құраса, біздің ADC 3 сандық мәнді қайтарады-өйткені төрт вольт 3,75 пен 5В аралығында болады. Мұны сурет арқылы елестету оңайырақ.
Біздің 2-разрядтық рұқсаты бар біздің ADC мысалында ол кернеуді тек мүмкін болатын төрт мәнмен көрсете алады. Егер кіріс кернеуі 0 мен 1,25 аралығында болса, ADC сандық 0 қайтарады; егер кернеу 1,25 пен 2,5 аралығында түссе, ADC 1 сандық мәнін қайтарады. Біздің Arduino ADC диапазонының 0 ~ 1023 диапазонында-бізде 1024 мүмкін мәндер бар немесе 2-ге дейін 10. Сондықтан біздің Arduino-да 10 биттік рұқсаты бар ADC бар.
3 -қадам: Сонымен AREF деген не?
Ұзақ тарихты қысқарту үшін, сіздің Arduino аналогты оқуды қабылдағанда, ол аналогтық түйреуіште өлшенетін кернеуді эталондық кернеумен салыстырады. Қалыпты analogRead пайдалану кезінде тірек кернеуі - бұл тақтаның жұмыс кернеуі.
Uno, Mega, Duemilanove және Leonardo/Yún тақталары сияқты ең танымал Arduino тақталары үшін жұмыс кернеуі 5В. Егер сізде Arduino Due тақтасы болса, жұмыс кернеуі 3,3 В құрайды. Егер сізде басқа нәрсе болса - Arduino өнімінің бетін тексеріңіз немесе тақта жеткізушісінен сұраңыз.
Егер сізде 5В эталондық кернеу болса, analogRead () арқылы қайтарылған әрбір бірлік 0,00488 В -қа бағаланады (бұл 1024 -ті 5В -ке бөлу арқылы есептеледі). Егер 0 мен 2 немесе 0 мен 4.6 арасындағы кернеуді өлшегіміз келсе ше? ADC біздің кернеудің 100% диапазонын қалай біледі?
AREF түйреуішінің себебі осында жатыр. AREF аналогты сілтеме дегенді білдіреді. Бұл бізге Arduino -ны сыртқы қуат көзінен кернеу кернеуін беруге мүмкіндік береді. Мысалы, егер біз максималды диапазоны 3,3 В болатын кернеулерді өлшегіміз келсе, біз AREF түйреуішіне жақсы тегіс 3.3 В береміз - мүмкін IC кернеу реттегішінен.
Содан кейін ADC әр қадамы шамамен 3,22 милливольтты құрайды (1024 -ті 3,3 -ке бөліңіз). Назар аударыңыз, ең төменгі эталондық кернеу 1,1 В болады. AREF -тің екі түрі бар - ішкі және сыртқы, сондықтан оларды қарастырайық.
4 -қадам: Сыртқы AREF
Сыртқы AREF - бұл Arduino тақтасына сыртқы тірек кернеуін беретін жер. Бұл реттелетін қуат көзінен болуы мүмкін немесе егер сізге 3,3 В қажет болса, оны Arduino 3,3 В істікшесінен алуға болады. Егер сіз сыртқы қуат көзін пайдалансаңыз, GND -ті Arduino GND түйреуішіне қосқаныңызға сенімді болыңыз. Немесе сіз Arduno 3.3V көзін пайдалансаңыз - 3.3V істікшесінен AREF түйреуішіне секіргішті іске қосыңыз.
Сыртқы AREF -ті іске қосу үшін void setup () ішінде келесілерді пайдаланыңыз:
аналогтық сілтеме (Сыртқы); // сілтеме кернеуі үшін AREF пайдаланыңыз
Бұл сілтеме кернеуін AREF түйреуішіне қосқан кез келген нәрсеге қояды - бұл, әрине, кернеу 1,1 В пен тақтаның жұмыс кернеуі арасында болады. Өте маңызды ескерту - сыртқы кернеу сілтемесін пайдаланған кезде аналогты сілтемені Сыртқы күйіне орнату керек. analogRead () қолданбас бұрын. Бұл белсенді ішкі тірек кернеуі мен AREF түйреуішінің қысқа болуына жол бермейді, бұл тақтадағы микроконтроллерді зақымдауы мүмкін. Егер сіздің қосымшаңыз қажет болса, сіз AREF үшін тақтаның жұмыс кернеуіне (яғни қалыпты жағдайға) төмендегілермен оралуға болады.
analogReference (DEFAULT);
Енді жұмыста сыртқы AREF көрсету. 3.3В АРЭФ көмегімен келесі эскиз A0 кернеуін өлшейді және жалпы AREF пайызын және есептелген кернеуді көрсетеді:
#«LiquidCrystal.h» қосыңыз
LiquidCrystal lcd (8, 9, 4, 5, 6, 7);
int analoginput = 0; // біздің аналогтық түйреуіш
int analogamount = 0; // кіріс мәнін сақтайды float пайыз = 0; // біздің өзгермелі кернеудің пайыздық мәнін сақтау үшін пайдаланылады = 0; // кернеу мәнін сақтау үшін қолданылады
жарамсыз орнату ()
{lcd.begin (16, 2); аналогтық сілтеме (Сыртқы); // сілтеме кернеуі үшін AREF пайдаланыңыз}
бос цикл ()
{lcd.clear (); analogamount = analogRead (analoginput); пайыз = (аналогтық мән/1024,00)*100; кернеу = аналогтық шама*3.222; // милливольтпен lcd.setCursor (0, 0); lcd.print («% AREF:»); lcd.print (пайыз, 2); lcd.setCursor (0, 1); lcd.print («A0 (мВ):»); lcd.println (кернеу, 2); кешіктіру (250); }
Жоғарыдағы эскиздің нәтижелері бейнеде көрсетілген.
5 -қадам: Ішкі AREF
Біздің Arduino тақталарындағы микроконтроллерлер 1.1В ішкі сілтеме кернеуін де жасай алады және біз оны AREF жұмысы үшін қолдана аламыз. Желіні қолданыңыз:
аналогтық сілтеме (ІШКІ);
Arduino Mega тақталары үшін мыналарды пайдаланыңыз:
analogReference (INTERNAL1V1);
in void setup () және сіз өшірілдіңіз. Егер сізде Arduino Mega болса, 2.56В кернеу кернеуі де бар, ол қосылады:
analogReference (INTERNAL2V56);
Ақырында - AREF түйреуішінің нәтижелерін шешпес бұрын, көрсеткіштерді әрқашан белгілі жақсы мультиметрмен салыстырыңыз.
Қорытынды
AREF функциясы сізге аналогтық сигналдарды өлшеудің икемділігін береді.
Бұл хабарламаны pmdway.com сізге жеткізді - бұл өндірушілер мен электроникаға әуесқойлар үшін, бүкіл әлем бойынша ақысыз жеткізу.
Ұсынылған:
Arduino басқарылатын робот - екі қадам: 13 қадам (суреттермен)
Arduino басқарылатын роботты екіжақты: Мен әрқашан роботтарға қызығатынмын, әсіресе адамның іс -әрекетіне еліктеуге тырысатын. Бұл қызығушылық мені жаяу жүруге және жүгіруге еліктей алатын екіжақты робот құрастыруға және дамытуға талпындырды. Бұл нұсқаулықта мен сізге көрсетемін
Arduino Uno көмегімен акустикалық левитация Қадамдық қадам (8 қадам): 8 қадам
Акустикалық левитация Arduino Uno Қадамдық қадаммен (8-қадам): ультрадыбыстық дыбыс түрлендіргіштері L298N Dc әйелдер адаптерінің ток көзі еркек тоқ сымымен Arduino UNOBreadboard Бұл қалай жұмыс істейді: Біріншіден, сіз кодты Arduino Uno-ға жүктейсіз (бұл сандық жүйемен жабдықталған микроконтроллер) және кодты түрлендіру үшін аналогтық порттар (C ++)
Arduino көмегімен RC бақыланатын робот - Қадам бойынша: 3 қадам
Arduino көмегімен RC бақыланатын робот - Қадам: Сәлем балалар, мен BangGood компаниясының тағы бір керемет робот шассиімен оралдым. Сіз біздің алдыңғы жобаларымыздан өттіңіз деп үміттенеміз - Spinel Crux V1 - Қимылмен басқарылатын робот, Spinel Crux L2 - Arduino Pick and Place Robot with Robot Arms және The Badland Braw
Arduino - Servo және MPU6050 Gyro көмегімен GoPro үшін ролл мен қадам осі Гимбал: 4 қадам
GoPro үшін Arduino - Servo және MPU6050 Gyro пайдаланатын Roll and Pitch Axis Gimbal: Бұл нұсқаулық Оңтүстік Флорида университетінің Makecourse жобасының талаптарын орындау үшін жасалған (www.makecourse.com) Бұл жобаның мақсаты - GoPro үшін 3 осьтік Gimbal Arduino нано + 3 серво қозғалтқыштарын қолдану арқылы
Электр лалагүлі немесе қорғаныс түйреуі: Қауіпсіз болу және оны қалай жақсы жасау керек: 9 қадам (суреттермен)
Электр лалагүлі немесе қауіпсіздік түйреуіші: Қауіпсіз болу және оны қалай жақсы жасау керек: Бұл нұсқаулық жаяу жүргіншілер мен велосипедшілерге арналған. Кім түнде көрінгісі келсе де, әлі де жақсы көрінгісі келеді. Оны дос қызыңызға, әпкеңізге, ініңізге, үй жігітіне немесе тіпті анаңызға беріңіз. Сәнді және серуендейтін, жүгіретін немесе велосипедпен жүретін кез келген адам түнде