2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Arduino va rezistor - bu dizaynni yaratish uchun bizga kerak bo'lgan 5V kuchlanishli batareyalar uchun quvvat o'lchagichini yaratish. Kislotali, ishqoriy, NiCd, Li-ionli va Lipo batareyalardan foydalanish mumkin. Bozor juda katta hajmga ega bo'lgan soxta batareyalarga to'la, lekin va'da qilinganlarning bir qismini etkazib berish, bu holatdan charchab, ba'zi xitoylik 8800 Li-ionlari 650 mA / soat quvvatga ega bo'lmaganida, mavjud batareyalarning haqiqiy hajmini aniqlashga yordam beradi.
Ehtiyot bo'lish va zaryadsizlanishning oldini olish kerak, qayta zaryadlanuvchi batareyalar nominal zo'riqishning 20% dan oshmasligi kerak, bu qurilmangizga qaytarilmas zarar etkazishi mumkin.
1 -qadam: Hammasini bir joyga to'plash
Ko'rsatilgan rezistorlar 22R / 10W yoki 10R / 10W ni tashkil qiladi, biz ikkinchisidan foydalanamiz, chunki u kamroq tahlil vaqtini taqdim etadi. CR2032 kabi kichikroq batareyalarni sinab ko'rish uchun batareyani isitishdan saqlanib, sekin zaryadsizlanishda 47R / 2W rezistorni ishlatish mumkin.
Aniqlik uchun kodga faqat ikkita o'zgartirish kiritish kerak. "Vcc" o'zgaruvchisi Arduino kartasida o'lchangan to'g'ridan -to'g'ri kuchlanish qiymatini olishi kerak. "Rezistor" o'zgaruvchisi Ohmda qarshilikning aniq qiymatini olishi kerak va o'nlik raqamlardan foydalanish mumkin.
Interfeys sifatida Arduino IDE -dan ketma -ket monitor har 1,8 soniyada o'qiladi, shuning uchun kompyuter sinovdan o'tkazilgunga qadar arduino -ga ulangan bo'lishi kerak. Maqsad, hatto Shunday qilib, dizaynni 16x2 LCD yoki 4 xonali 7 segmentli displeyni qabul qilish uchun osongina o'zgartirish mumkin.
1.8s vaqti tanlangan, chunki u tez yangilanishga imkon beradi va 60 ga ko'p, chunki bu soatning 0.0005 ni tashkil etadi, bu esa hisob -kitoblarni osonlashtirdi.
Bu yechim eng sodda bo'lishidan tashqari, o'rganilganlar orasida eng arzonidir.
2 -qadam: Kod
float vcc = 5.0; // Arduino taxtasida haqiqiy kuchlanish qiymati - multimeterfloat soma bilan o'lchash = 0,0;
int analogInput = 0;
float vout = 0.0;
int qiymati = 0;
suzuvchi qarshilik = 10; // Rezistorning ohmdagi haqiqiy qiymati, multimetr bilan o'lchash -
// dizaynda ishlatiladi: 10 Ohm / 10 Vatt
bo'sh o'rnatish () {
Serial.begin (9600);
pinMode (analog kirish, kirish);
Serial.println ("Har 1,8 soniyada o'qiladi");
kechikish (1800);
}
void loop () {
qiymat = analogRead (analogInput);
vout = (qiymati * vcc) / 1024.0;
float cout = vout / qarshilik;
float parcial = cout * 0.0005;
soma = soma + parsiyal;
Serial.print ("Hozirgi o'qish:");
Ketma -ket chop etish (cout);
Serial.print ("Amp.");
Serial.print ("Hozircha o'lchangan:");
float msoma = soma * 1000;
Ketma -ket chop etish (msoma);
Serial.println ("mAh");
// 1,8 sekund ko'proq kuting
kechikish (1800);
}