Mundarija:

Arduino yordamida kuchlanishni o'lchash: 5 qadam
Arduino yordamida kuchlanishni o'lchash: 5 qadam

Video: Arduino yordamida kuchlanishni o'lchash: 5 qadam

Video: Arduino yordamida kuchlanishni o'lchash: 5 qadam
Video: Farangeyt va Kelvinda haroratni o'lchash uchun LM35-dan qanday foydalanish kerak 2024, Iyul
Anonim
Image
Image
Arduino yordamida kuchlanishni o'lchash
Arduino yordamida kuchlanishni o'lchash

Har qanday mikrokontroller yordamida kuchlanishni o'lchash tokni o'lchashga qaraganda ancha oson. Agar siz batareyalar bilan ishlayotgan bo'lsangiz yoki o'zingiz sozlanadigan quvvat manbasini o'rnatmoqchi bo'lsangiz, kuchlanishni o'lchash zarur bo'ladi. Garchi bu usul har qanday UC ga tegishli bo'lsa -da, lekin bu qo'llanmada biz Arduino yordamida kuchlanishni qanday o'lchashni bilib olamiz.

Bozorda kuchlanish sezgichlari mavjud. Lekin ular sizga haqiqatan ham kerakmi? Keling, bilib olaylik!

1 -qadam: asoslar

Asosiysi
Asosiysi
Asosiysi
Asosiysi
Asosiysi
Asosiysi

Mikrokontroller analog kuchlanishni to'g'ridan -to'g'ri tushuna olmaydi. Shuning uchun biz analogdan raqamli konvertorga yoki qisqacha ADCdan foydalanishimiz kerak. Arduino Uno miyasi bo'lgan Atmega328 6 kanalli (A0 dan A5gacha) 10 bitli ADCga ega. Bu shuni anglatadiki, u 0 dan 5 V gacha bo'lgan kirish kuchlanishlarini 0 dan (2^10-1) gacha bo'lgan tamsayılarga, ya'ni 1023 ga teng, bu birlik uchun 4,9 mV piksellar sonini beradi. 0 0V ga to'g'ri keladi, 1 dan 4,9 mVgacha, 2 dan 9,8 mVgacha va hokazo 1023 yilgacha.

2-qadam: 0-5V o'lchash

0-5V o'lchash
0-5V o'lchash
0-5V o'lchash
0-5V o'lchash
0-5V o'lchash
0-5V o'lchash
0-5V o'lchash
0-5V o'lchash

Birinchidan, biz maksimal 5V kuchlanishli kuchlanishni qanday o'lchashni ko'rib chiqamiz. Bu juda oson, chunki maxsus o'zgartirishlar talab qilinmaydi. O'zgaruvchan kuchlanishni simulyatsiya qilish uchun biz potentsiometrdan foydalanamiz, uning o'rta pimi 6 ta kanaldan biriga ulangan. Endi biz ADC qiymatlarini o'qish uchun kodni yozamiz va ularni foydali kuchlanish ko'rsatkichlariga qaytaramiz.

A0 analog pinini o'qish

qiymat = analogRead (A0);

Endi "qiymat" o'zgarmaydigan kuchlanishga qarab 0 dan 1023 gacha bo'lgan qiymatni o'z ichiga oladi.

kuchlanish = qiymati * 5.0/1023;

Haqiqiy kuchlanishni olish uchun olingan qiymat hozir piksellar soniga ko'paytiriladi (5/1023 = 4,9 mV).

Va nihoyat, ketma -ket monitorda o'lchangan kuchlanishni ko'rsatish.

Serial.print ("kuchlanish =");

Serial.println (kuchlanish);

3 -qadam: 5V dan yuqori kuchlanishni o'lchash

5V dan yuqori kuchlanishni o'lchash
5V dan yuqori kuchlanishni o'lchash

Ammo muammo o'lchanadigan kuchlanish 5 voltdan oshganda paydo bo'ladi. Buni voltaj bo'luvchi sxemasi yordamida hal qilish mumkin, u rasmda ko'rsatilgandek ketma -ket ulangan 2 rezistordan iborat. Bu ketma -ket ulanishning bir uchi o'lchanadigan kuchlanishga (Vm), ikkinchi uchi esa erga ulanadi. O'lchangan voltajga mutanosib kuchlanish (V1) ikkita rezistorning birlashmasida paydo bo'ladi. Keyin bu ulanish Arduino analog piniga ulanishi mumkin. Ushbu formuladan foydalanib, kuchlanishni aniqlash mumkin.

V1 = Vm * (R2/(R1+R2))

Keyin V1 kuchlanishi Arduino tomonidan o'lchanadi.

4 -qadam: kuchlanish taqsimlagichini qurish

Voltaj bo'linishini qurish
Voltaj bo'linishini qurish
Voltaj bo'linishini qurish
Voltaj bo'linishini qurish
Voltaj bo'linishini qurish
Voltaj bo'linishini qurish

Endi bu kuchlanish bo'linishini qurish uchun, avvalo, rezistorlarning qiymatlarini bilib olishimiz kerak. Rezistorlar qiymatini hisoblash uchun quyidagi amallarni bajaring.

  1. O'lchanadigan maksimal kuchlanishni aniqlang.
  2. Kilo-ohm oralig'ida R1 uchun mos va standart qiymatni tanlang.
  3. Formuladan foydalanib, R2 ni hisoblang.
  4. Agar R2 qiymati standart qiymatga yaqin bo'lmasa (yoki unga yaqin) bo'lsa, R1 ni o'zgartiring va yuqoridagi amallarni takrorlang.
  5. Arduino maksimal 5V ni boshqarishi mumkinligi sababli, V1 = 5V.

Masalan, o'lchanadigan maksimal kuchlanish (Vm) 12V va R1 = 47 kilo-ohm bo'lsin. Keyin formuladan foydalanib R2 33k ga teng bo'ladi.

Endi, bu rezistorlar yordamida kuchlanishni ajratuvchi sxemani yarating.

Ushbu sozlash yordamida bizda yuqori va pastki chegara mavjud. Vm = 12V uchun biz V1 = 5V, Vm = 0V uchun esa V1 = 0V ni olamiz. Ya'ni, Vmda 0 dan 12 V gacha, V1da 0 dan 5 V gacha bo'lgan mutanosib kuchlanish bo'ladi, keyin uni avvalgidek Arduino -ga kiritish mumkin.

5 -qadam: kuchlanishni o'qish

Voltajni o'qish
Voltajni o'qish
Voltajni o'qish
Voltajni o'qish

Kodga ozgina o'zgartirish kiritilsa, endi biz 0 dan 12 V gacha o'lchashimiz mumkin.

Analog qiymat oldingi kabi o'qiladi. Keyin, yuqorida aytib o'tilgan formuladan foydalanib, 0 dan 12V gacha bo'lgan kuchlanish o'lchanadi.

qiymat = analogRead (A0);

kuchlanish = qiymat * (5.0/1023) * ((R1 + R2)/R2);

Odatda mavjud bo'lgan kuchlanish sensori modullari faqat kuchlanish bo'luvchi sxemasidan boshqa narsa emas. Ular 0 dan 25V gacha 30 kilo ohm va 7,5 kilo-ohmli rezistorlar bilan baholanadi.

Xo'sh, nima uchun DIY sotib olsangiz!

Oxirigacha saqlaganingiz uchun tashakkur. Umid qilamanki, bu darslik sizga yordam beradi.

Ko'proq yangi loyihalar va darsliklar uchun YouTube kanalimga obuna bo'ling. Yana bir bor rahmat!

Tavsiya: