Mundarija:

Arduino uchun DIY quvvat o'lchash moduli: 9 qadam (rasmlar bilan)
Arduino uchun DIY quvvat o'lchash moduli: 9 qadam (rasmlar bilan)

Video: Arduino uchun DIY quvvat o'lchash moduli: 9 qadam (rasmlar bilan)

Video: Arduino uchun DIY quvvat o'lchash moduli: 9 qadam (rasmlar bilan)
Video: Как использовать LM35 для измерения температуры в градусах Цельсия, Фаренгейта и Кельвина 2024, Iyul
Anonim
Arduino uchun DIY quvvat o'lchash moduli
Arduino uchun DIY quvvat o'lchash moduli
Arduino uchun DIY quvvat o'lchash moduli
Arduino uchun DIY quvvat o'lchash moduli
Arduino uchun DIY quvvat o'lchash moduli
Arduino uchun DIY quvvat o'lchash moduli

Hammaga salom, umid qilamanki, siz zo'r ish qilyapsiz! Bu qo'llanmada men sizga Arduino platasi bilan ishlash uchun quvvat o'lchagich/ vattmetr modulini qanday yaratganimni ko'rsataman. Bu quvvat o'lchagichi iste'mol qilinadigan quvvatni va DC yukini hisoblashi mumkin. Quvvat bilan bir qatorda, bu modul bizga kuchlanish va oqimning aniq o'qilishini ham berishi mumkin. U past kuchlanishlarni (taxminan 2V atrofida) va past oqimlarni, 50 mA gacha bo'lgan xatolarni 20 mA dan oshmagan holda osongina o'lchashi mumkin. Aniqlik sizning talablaringiz asosida komponentlarni tanlashga bog'liq.

Ta'minotlar

  • IC LM358 ikkita OP-AMP
  • 8 pinli IC bazasi
  • Shunt qarshiligi (mening holatimda 8,6 milliOhms)
  • Rezistorlar: 100K, 10K, 2.2K, 1K (1/2 vatt)
  • Kondansatkichlar: 3 * 0,1uF sopol kondansatörler
  • Veroboard yoki nol taxta
  • Vintli terminallar
  • Lehimlash temir va lehim
  • Arduino Uno yoki boshqa mos keladigan taxta
  • OLED displey
  • Non paneli simlarini ulash

1 -qadam: kerakli komponentlarni yig'ish

Kerakli komponentlarni yig'ish
Kerakli komponentlarni yig'ish

Bu loyiha juda oddiy va oson olinadigan komponentlardan foydalanadi: ularga rezistorlar, sopol kondansatkichlar, operatsion kuchaytirgich va prototiplash uchun veroboard kiradi.

Komponentlarning tanlovi va qiymati dastur turiga va o'lchash kerak bo'lgan quvvat diapazoniga bog'liq.

2 -qadam: ish printsipi

Ishlash printsipi
Ishlash printsipi
Ishlash printsipi
Ishlash printsipi
Ishlash printsipi
Ishlash printsipi
Ishlash printsipi
Ishlash printsipi

Quvvat modulining ishlashi elektron nazariyasi va asosiy elektr toki haqidagi ikkita tushunchaga asoslanadi: kirish voltajini o'lchash uchun kuchlanish bo'luvchi tushunchasi va kontaktlarning zanglashiga olib keladigan tokni hisoblash uchun Ohm qonuni. Biz juda past kuchlanishli kuchlanish hosil qilish uchun shuntli rezistordan foydalanmoqdamiz. Bu kuchlanish pasayishi shunt orqali o'tadigan oqim miqdoriga mutanosibdir. Operatsion kuchaytirgich kuchaytirganda, bu kichik kuchlanish bizga joriy qiymatni berish uchun dasturlashtirilishi mumkin bo'lgan mikrokontrollerga kirish sifatida ishlatilishi mumkin. qarshilik R2 va R1. Inverting bo'lmagan konfiguratsiyadan foydalanish bizga o'lchov moslamasi sifatida umumiy asosga ega bo'lishga imkon beradi. Buning uchun tokning past tomonida oqim o'lchanadi. Mening arizam uchun men 100K va 2.2K rezistorlari yordamida teskari aloqa tarmog'i sifatida 46 daromadni tanladim. Kuchlanishni o'lchash kirish voltajini ishlatiladigan rezistorlar tarmog'iga mutanosib ravishda ajratuvchi kuchlanish bo'luvchi sxemasi yordamida amalga oshiriladi.

OP-Amp-ning joriy qiymati ham, ajratuvchi tarmoqdagi kuchlanish qiymati ham arduino-ning ikkita analog kirishiga berilishi mumkin, shunda biz yuk sarflagan quvvatni hisoblay olamiz.

3 -qadam: qismlarni birlashtirish

Qismlarni birlashtirish.
Qismlarni birlashtirish.
Qismlarni birlashtirish.
Qismlarni birlashtirish.
Qismlarni birlashtirish.
Qismlarni birlashtirish.

Keling, kirish va chiqish aloqasi uchun vintli terminallarning joylashishini belgilab, quvvat moduli qurilishini boshlaylik. Tegishli pozitsiyalarni belgilab bo'lgach, biz vintli terminallarni va shunt rezistorini lehimlaymiz.

4 -qadam: kuchlanish sezgich tarmog'ining qismlarini qo'shish

Voltaj sezuvchanlik tarmog'i uchun qismlarni qo'shish
Voltaj sezuvchanlik tarmog'i uchun qismlarni qo'shish
Voltaj sezuvchanlik tarmog'i uchun qismlarni qo'shish
Voltaj sezuvchanlik tarmog'i uchun qismlarni qo'shish
Voltaj sezgich tarmog'i uchun qismlarni qo'shish
Voltaj sezgich tarmog'i uchun qismlarni qo'shish

Kirish voltajini aniqlash uchun men 10K va 1K kuchlanishli bo'luvchi tarmoqdan foydalanmoqdaman. Men, shuningdek, kuchlanishlarni yumshatish uchun 1K rezistorga 0,1 uF kondansatör qo'shdim.

5 -qadam: joriy sezgi tarmog'ining qismlarini qo'shish

Joriy sezgi tarmog'ining qismlarini qo'shish
Joriy sezgi tarmog'ining qismlarini qo'shish
Joriy sezgi tarmog'ining qismlarini qo'shish
Joriy sezgi tarmog'ining qismlarini qo'shish
Joriy sezgi tarmog'ining qismlarini qo'shish
Joriy sezgi tarmog'ining qismlarini qo'shish
Joriy sezgi tarmog'ining qismlarini qo'shish
Joriy sezgi tarmog'ining qismlarini qo'shish

Oqim rezistor tarmog'ida oldindan belgilangan daromad bilan manevr qarshiligidagi kuchlanish pasayishini hisoblash va kuchaytirish orqali o'lchanadi. Inverting bo'lmagan kuchaytirish rejimi ishlatiladi. Keraksiz voltaj tushishining oldini olish uchun lehim izlarini ozgina ushlab turish maqsadga muvofiqdir.

6 -qadam: Qolgan ulanishlarni yakunlang va qurilishni tugating

Qolgan aloqalarni tugatish va qurilishni tugatish
Qolgan aloqalarni tugatish va qurilishni tugatish
Qolgan aloqalarni tugatish va qurilishni tugatish
Qolgan aloqalarni tugatish va qurilishni tugatish
Qolgan aloqalarni tugatish va qurilishni tugatish
Qolgan aloqalarni tugatish va qurilishni tugatish

Tarmoq ulangan va lehimli bo'lgan kuchlanish va oqim sezgichlari bilan, erkak bosh pimlarini lehimlash va quvvat va signal chiqishlarining kerakli ulanishlarini amalga oshirish vaqti keldi. Modul 5 voltsli standart ish kuchlanishi bilan ta'minlanadi, biz uni arduino kartasidan osongina olishimiz mumkin. Ikkita kuchlanish sezgichi arduino analog kirishlariga ulanadi.

7 -qadam: Modulni Arduino bilan ulash

Modulni Arduino bilan ulash
Modulni Arduino bilan ulash
Modulni Arduino bilan ulash
Modulni Arduino bilan ulash
Modulni Arduino bilan ulash
Modulni Arduino bilan ulash
Modulni Arduino bilan ulash
Modulni Arduino bilan ulash

Modul tugagandan so'ng, endi uni Arduino -ga ulash va ishga tushirish vaqti keldi. Qiymatlarni ko'rish uchun men arduino bilan aloqa qilish uchun I2C protokolidan foydalangan OLED displeyidan foydalandim. Ekranda ko'rsatilgan parametrlar - kuchlanish, oqim va quvvat.

8 -qadam: Loyihaning kodi va sxemasi

Loyihaning kodi va sxemasi
Loyihaning kodi va sxemasi

Men ushbu bosqichda quvvat modulining elektron sxemasini va kodini biriktirdim (ilgari men kodni o'z ichiga olgan.ino va.txt faylini biriktirgan edim, lekin ba'zi bir server xatosi kodni foydalanuvchilar uchun o'qib bo'lmaydigan yoki o'qib bo'lmaydigan qilib qo'ydi, shuning uchun hammasini yozdim. Men bu kodni almashishning yaxshi usuli emasligini bilaman. ()

#qo'shing

#qo'shing

#qo'shing

#qo'shing

#define OLED_RESET 4 Adafruit_SSD1306 displeyi (OLED_RESET);

float val = 0;

suzuvchi oqim = 0;

suzuvchi kuchlanish = 0;

suzish kuchi = 0;

bo'sh o'rnatish () {

pinMode (A0, INPUT);

pinMode (A1, Kirish);

display.begin (SSD1306_SWITCHCAPVCC, 0x3C); // I2C addr 0x3C (128x32 uchun) display.display () bilan ishga tushirish;

kechikish (2000);

// Buferni tozalash.

display.clearDisplay ();

display.setTextSize (1);

display.setCursor (0, 0);

display.setTextColor (oq);

Serial.begin (9600); // Seriya monitoridagi qiymatlarni ko'rish uchun

}

void loop () {

// barqaror o'qishlar uchun o'rtacha ko'rsatkichni olish

uchun (int i = 0; i <20; i ++) {

joriy = joriy + analogRead (A0);

kuchlanish = kuchlanish + analogRead (A1); }

joriy = (joriy/20); oqim = oqim * 0,0123 * 5,0; // kalibrlash qiymati, ishlatilgan komponentlarga qarab o'zgartirilishi kerak

kuchlanish = (kuchlanish/20); kuchlanish = kuchlanish * 0,0508 * 5,0; // kalibrlash qiymati, ishlatilgan komponentlarga muvofiq o'zgartirilishi kerak

quvvat = kuchlanish*oqim;

// ketma -ket monitorda qiymatlarni chop etish

Ketma -ket chop etish (kuchlanish);

Serial.print ("");

Serial.print (joriy);

Serial.print ("");

Serial.println (quvvat);

// qiymatlarni OLED displeyda chop etish

display.setCursor (0, 0);

display.print ("Voltaj:");

displey.print (kuchlanish);

display.println ("V");

display.setCursor (0, 10);

display.print ("Hozirgi:");

display.print (joriy);

display.println ("A");

display.setCursor (0, 20);

display.print ("Quvvat:");

displey.print (quvvat);

display.println ("V");

display.display ();

kechikish (500); // kechikish bilan belgilangan yangilanish tezligi

display.clearDisplay ();

}

Tavsiya: