Mundarija:
- 1 -qadam: Asosiy loyihadan o'zgartirish
- 2 -qadam: Kengashning V0.2
- 3 -qadam: Breadboard: I2c belgilarini ko'rsatish boshqaruvchisi kengaytirilgan
- 4 -qadam: Non paneli: I2c o'rnatilgan belgilarni ko'rsatish
- 5 -qadam: amalga oshirish
- 6 -qadam: kengayish
- 7 -qadam: qismlar ro'yxati
- 8 -qadam: Kengash: Qayta o'rnatish, Gnd E tugmasi batareyani tanlash uchun
- 9 -qadam: Kengash: I2c va quvvat manbai pinlari
- 10 -qadam: taxta: termistor va kuchlanishni o'lchash
- 11 -qadam: Kengash: kuchlanish o'lchash qarshiligi
- 12 -qadam: Lehimlash bosqichi: Barcha pinlar
- 13 -qadam: Lehimlash bosqichlari: Pulldown rezistori va termistor
- 14 -qadam: Lehimlash bosqichlari: MOSFET, kuchlanishni tekshirishga qarshilik
- 15 -qadam: Kod
- 16 -qadam: yig'ilgandan keyin natija
- 17 -qadam: Avval batareya turini tanlang
- 18 -qadam: Zaryadlashni boshlang
- 19 -qadam: Istisno holatlar: Batareya chiqarildi
- 20 -qadam: Istisnolar: harorat haqida ogohlantirish
- 21 -qadam: Amperajni sinab ko'ring
- 22 -qadam: Paket
Video: Harorat va batareyani tanlash bilan batareya tekshiruvi: 23 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Batareya quvvatini tekshiruvchi.
Ushbu qurilma yordamida siz 18650 ta batareya, kislota va boshqalarning quvvatini tekshirishingiz mumkin (men sinovdan o'tkazgan eng katta batareya - bu 6v kislotali akkumulyator 4, 2A). Sinov natijasi milliamper/soatni tashkil qiladi.
Men bu qurilmani yaratdim, chunki soxta Xitoy batareyasining imkoniyatlarini tekshirish kerak.
Xavfsizlik uchun men termistor yordamida quvvat qarshiligi va batareyaning harorati haddan tashqari qizib ketmasligi uchun qo'shib qo'ydim, bu hiyla bilan men 6v kislotali batareyani taxtani olovsiz tekshirishim mumkin (bir muddat zaryadsizlanish davrida issiq quvvat rezistoriga o'ting. va qurilma haroratni pasaytirish uchun 20 soniya kutadi).
Men atmega328 mos keladigan nano (eBay) kichik mikrokontrolrni tanlayman.
Hamma kod shu erda.
1 -qadam: Asosiy loyihadan o'zgartirish
Men OpenGreenEnergy loyihasidan g'oyani o'g'irladim va xususiyatlarni qo'shish uchun taxtani qayta ishladim, shuning uchun endi umumiyroq bo'laman.
v0.1
- Arduino VCC endi avtomatik ravishda hisoblab chiqiladi;
- Sozlamani qulayroq tarzda o'zgartirish uchun o'zgaruvchi qo'shildi.
- Bo'shatish foizi qo'shildi
- Batareya va quvvat qarshiligining harorati qo'shildi
v0.2
- Batareyani tanlash imkoniyati qo'shildi
- Ekran, tugma va karnaydan tashqari, prototiplar taxtasi (sxemaga qarang) yaratilgan, chunki kelajakda men paket yaratmoqchiman.
- Quvvat qarshiligiga harorat chegarasi boshqaruvi qo'shildi, shuning uchun men harorat 70 ° dan oshganda jarayonni blokirovka qila olaman.
v0.3
Tez orada https://www.pcbgogo.com?code=y xizmatidan foydalanamiz
2 -qadam: Kengashning V0.2
Har xil turdagi batareyalarni qo'llab -quvvatlash uchun v0.2 -da men batareyaning nomi, minimal kuchlanish va maksimal kuchlanish bilan to'ldirilishi kerak bo'lgan tuzilmani yaratdim (uni to'ldirish uchun menga yordam kerak: P).
// Akkumulyator tipidagi tuzilish BatteryType {char nomi [10]; suzuvchi maxVolt; suzuvchi minVolt; }; #define BATTERY_TYPE_NUMBER 4 BatteryType batteryType [BATTERY_TYPE_NUMBER] = {{"18650", 4.3, 2.9}, {"17550", 4.3, 2.9}, {"14500", 4.3, 2.75}, {"6v kislotasi", 6.50, 5.91 }};
Endi men analog kirishning ikki marta haroratini o'qish uchun kuchlanish taqsimlagichi uchun 10k rezistorlar to'plamidan foydalanaman. Agar siz kuchlanishni o'zgartirishni xohlasangiz, bu qiymatni o'zgartirishingiz kerak (keyinroq tushuntiring):
// Batareya kuchlanishining qarshiligi
#BAT_RES_VALUE_GND 10.0 ni aniqlang #BAT_RES_VALUE_VCC 10.0 ni aniqlang // Quvvat qarshiligining kuchlanish qarshiligi #RES_RES_VALUE_GND 10.0 ni belgilang #RES_RES_VALUE_VCC 10.0 ni aniqlang
Agar siz termistorni ishlatmasangiz, buni noto'g'ri deb belgilang:
#define USING_BATTERY_TERMISTOR haqiqiy
#define USING_RESISTO_TERMISTOR rost
Agar siz boshqa i2c displeyidan foydalansangiz, bu usulni qayta yozishingiz kerak bo'ladi:
bo'sh tortish (bekor)
Loyihada siz shafqatsiz sxemalar, fotosuratlar va boshqalarni topishingiz mumkin.
3 -qadam: Breadboard: I2c belgilarini ko'rsatish boshqaruvchisi kengaytirilgan
Men umumiy belgilar ekranini ishlatardim va i2c tekshirgichini qurdim va uni shaxsiy kutubxonamda ishlatardim.
Ammo, agar xohlasangiz, standart kutubxonaga ega oddiy i2c kontrollerini (1 € dan kam) olishingiz mumkin, kod o'zgarmaydi. Barcha displey kodlari chizish funktsiyasida, shuning uchun siz boshqa narsalarni o'zgartirmasdan o'zgartirishingiz mumkin.
Bu erda tushuntirish yaxshiroq.
4 -qadam: Non paneli: I2c o'rnatilgan belgilarni ko'rsatish
Xuddi shu sxema i2c boshqarilmasdan kengaytirildi.
5 -qadam: amalga oshirish
Voltajni o'lchash uchun biz kuchlanish bo'luvchi printsipidan foydalanamiz (Vikipediyada qo'shimcha ma'lumot).
Oddiy so'zlar bilan aytganda, bu kod batareyaning kuchlanishini o'lchash uchun ko'paytiruvchi omil hisoblanadi.
batResValueGnd / (batResValueVolt + batResValueGnd)
BatResValueVolt va batResValueGnd ning 2 ta qarshiligini analog o'qish simidan keyin va oldin kiritdim.
batVolt = (namuna1 / (1023.0 - ((BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)) * 1023.0))) * vcc;
sample1 - o'rtacha analog ko'rsatkichlar;
vcc mos yozuvlar Arduino kuchlanishi;
1023.0 - analog o'qishning mos yozuvlar maksimal qiymati (Arduino analog o'qishi 0 dan 1023 gacha).
Amperni olish uchun rezistordan keyin va oldin kuchlanish kerak.
Quvvat qarshiligidan keyin va oldin kuchlanishni o'lchaganingizda, siz batareyani iste'mol qiladigan milliamperni hisoblashingiz mumkin.
MOSFET batareyaning quvvat qarshiligidan tushishini boshlash va to'xtatish uchun ishlatiladi.
Xavfsizlik uchun men batareyaning va quvvat qarshiligining haroratini kuzatish uchun 2 ta termistorni joylashtirdim.
6 -qadam: kengayish
Men kengaytiriladigan prototip taxtasini yozishga harakat qilaman, lekin hozircha men faqat minimal pinlar to'plamidan foydalanaman (kelajakda men LED va boshqa tugmalarni qo'shaman).
Agar siz 10V dan yuqori quvvatlanishni xohlasangiz, formulaga muvofiq batareyaning qarshilik qiymatini va qarshilikni o'zgartirishingiz kerak
(BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)
Rezistorning kuchlanish kuchlanish sxemasida
Rezistor kuchlanishi GND 1/2/
Pushti past lehimli
7 -qadam: qismlar ro'yxati
Miqdor qism turi xususiyatlari
- 2 ta 5 mm vintli terminali tenglikni tenglamali vintli terminal bloki 8A 250V LW SZUS (eBay)
- 1 Arduino Pro Mini klon (mos keladigan nano) (eBay)
- 1 asosiy FET P-kanal IRF744N yoki IRLZ44N (eBay)
- 11 10kΩ qarshilik qarshiligi 10kΩ (eBay)
- 2 harorat sensori (termistor) 10kΩ; (eBay)
- * Umumiy erkak sarlavha shakli male (erkak); (eBay)
- * Umumiy ayol sarlavha shakli female (ayol); (eBay)
- 1 PerfBoard taxtasi 24x18 prototipli karta (eBay)
-
10R, 10 Vt
quvvat qarshiligi (eBay) Men o'zimni eski televizorda topaman.
8 -qadam: Kengash: Qayta o'rnatish, Gnd E tugmasi batareyani tanlash uchun
Pimlarning chap qismida siz tugma va signalni topishingiz mumkin.
Men 3 tugmani ishlataman:
- batareya turini o'zgartirish uchun;
- tanlangan batareyani zaryadsizlantirishni boshlash uchun;
- keyin men hamma narsani qayta ishga tushirish va yangi operatsiyani faollashtirish uchun reset pinidan foydalanaman.
Barcha pin allaqachon tushirilgan, shuning uchun siz VCC bilan faollashtirishingiz kerak
Qayta tiklash GND yordamida faollashadi
Pushti past lehimli
9 -qadam: Kengash: I2c va quvvat manbai pinlari
Baza uchun siz VCC, GND va SDA, SCL (va boshqalarni kelajakda) ko'rishingiz mumkin.
Pushti past lehimli
10 -qadam: taxta: termistor va kuchlanishni o'lchash
O'ng tomonda termistor qiymatini o'qish uchun pinlar bor, biri quvvat rezistorli termistor uchun, ikkinchisi (erkak/urg'ochi pinli) batareyali termistor uchun.
Quvvat qarshiligidan keyin va oldin differentsial kuchlanishni o'lchaydigan analog pinlar mavjud.
Pushti past lehimli
11 -qadam: Kengash: kuchlanish o'lchash qarshiligi
Bu erda siz arduino pinidan (10v) ikki baravar kuchlanishni qo'llab -quvvatlaydigan rezistorni ko'rishingiz mumkin, siz uni ko'proq kuchlanishni qo'llab -quvvatlash uchun o'zgartirishingiz kerak.
Pushti past lehimli
12 -qadam: Lehimlash bosqichi: Barcha pinlar
Birinchidan, men barcha pinlarni qo'shaman va uni lehimlayman.
13 -qadam: Lehimlash bosqichlari: Pulldown rezistori va termistor
Keyin men hamma ochiladigan rezistorni (tugmalar uchun) va i2c ulagichini (displey) qo'shaman.
Keyin quvvat qarshiligi termistori Bu juda muhim, kislotali batareya juda qizib ketadi.
14 -qadam: Lehimlash bosqichlari: MOSFET, kuchlanishni tekshirishga qarshilik
Endi biz zo'riqish va kuchlanishni tekshirish uchun qarshilikni faollashtirish uchun mosfetni qo'yishimiz kerak.
Quvvat qarshiligidan oldingi kuchlanish uchun 2 qarshilik, kuch qarshiligidan keyingi kuchlanish uchun 2 qarshilik, agar siz ushbu kuchlanishga ega bo'lsangiz, milliamper iste'molini hisoblashingiz mumkin.
15 -qadam: Kod
Mikrokontroller nano -mos keladi, shuning uchun siz IDE -ni Arduino Nano -ni yuklash uchun sozlashingiz kerak.
Ishlash uchun siz mening github omboridan kodni yuklab olishingiz kerak.
Buning o'rniga siz 3 ta kutubxonani qo'shishingiz kerak:
- Tel: i2c protokoli uchun standart arduino kutubxonasi;
- Termistor kutubxonasi bu erdan siz arduino IDE -da topishingiz mumkin bo'lgan kutubxona emas, balki mening versiyam;
- LiquidCrystal_i2c: agar siz i2c adapterining kengaytirilgan/moslashtirilgan versiyasidan (mening versiyam) foydalansangiz, kutubxonani shu erdan yuklab olishingiz kerak, agar standart komponentdan foydalansangiz, kutubxonani arduino IDE dan olishingiz mumkin, lekin bu erda hamma narsa yaxshiroq tushuntirilgan.
Men LCD -ni standart kutubxona bilan sinovdan o'tkazmayman, menimcha, ular bir -birining o'rnini bosadi, lekin agar biror muammo bo'lsa, men bilan bog'laning.
16 -qadam: yig'ilgandan keyin natija
Asosiy karta fotosuratda, keyin biz uni sinab ko'rishimiz mumkin.
17 -qadam: Avval batareya turini tanlang
Ta'rif qilinganidek, bizda batareyaning konfiguratsiyasi bilan qiymat xaritasi mavjud.
// Akkumulyator tipidagi tuzilish BatteryType {char nomi [10]; suzuvchi maxVolt; suzuvchi minVolt; }; #define BATTERY_TYPE_NUMBER 4 BatteryType batteryType [BATTERY_TYPE_NUMBER] = {{"18650", 4.3, 2.9}, {"17550", 4.3, 2.9}, {"14500", 4.3, 2.75}, {"6v kislotasi", 6.50, 5.91 }};
18 -qadam: Zaryadlashni boshlang
Ikkinchi tugmani bosishni boshlang.
Displeyda siz joriy milliamper, milliamper/soat, zaryadsizlanish foizi, batareya zo'riqishi va quvvat qarshiligi va batareyaning haroratini ko'rishingiz mumkin.
19 -qadam: Istisno holatlar: Batareya chiqarildi
Agar siz batareyani zaryadsizlantirish jarayonini olib tashlasangiz, pauza qilinadi, uni qayta o'rnatganingizda, u oxirgi qiymatda qayta boshlanadi.
20 -qadam: Istisnolar: harorat haqida ogohlantirish
Agar harorat (batareya yoki quvvat qarshiligi) qizib ketsa, zaryadsizlanish jarayoni pauzaga o'tadi.
#BATTERY_MAX_TEMP 50 ni aniqlang
Ma'lumotlar varag'ida RESISTANCE_MAX_TEMP 69 // 70 ° ni belgilang (qarshilikni pasayishi) #TEMP_TO_REMOVE_ON_MAX_TEMP 20 ni aniqlang
Maksimal harorat uchun standart qiymat batareya uchun 50 ° va quvvat qarshiligi uchun 69.
Sharhda ko'rib turganingizdek, 70 ° dan oshib ketganda kuch rezistorining kuchsizlanishi ta'sir qiladi.
Agar ogohlantirish ko'tarilsa, past haroratni qo'yish uchun TEMP_TO_REMOVE_ON_MAX_TEMP soniyani to'xtatib turing.
21 -qadam: Amperajni sinab ko'ring
Amper sinovining natijasi yaxshi.
22 -qadam: Paket
Ajratilgan komponent bilan paket natijasini tushunish oson.
Qutida, LCD uchun to'rtburchaklar, tugmachalarning teshiklari va tashqi ayol bochkasi quvvat manbaidan kuchlanishni ta'minlashi kerak.
Tugmani bosish qarshiligiga ehtiyoj yo'q, chunki men uni bortga qo'shganman.
Vaqt bo'lganda, men uni yarataman va joylashtiraman.
Tavsiya:
Aql -idrok tekshiruvi: 5 qadam (rasmlar bilan)
Aql -idrok tekshiruvi: Bu loyiha aql -idrok haqida yoki uning muntazam tekshirib turilishi haqida. Buni amalga oshirishning eng yaxshi usuli - tasodifan ko'zlarini qizil rangga to'kadigan niqob yasash. Bu tez -tez etarlicha seziladi, lekin odamlarni shubha ostiga qo'yadigan darajada kam
Arduino RGB rang tanlash - Haqiqiy hayot ob'ektlaridan ranglarni tanlash: 7 qadam (rasmlar bilan)
Arduino RGB rang tanlagichi - Haqiqiy hayot ob'ektlaridan ranglarni tanlash: Arduino -ga asoslangan RGB rang tanlagichi yordamida jismoniy narsalardan ranglarni osongina tanlab oling, bu sizga shaxsiy kompyuter yoki mobil telefoningizda real hayotda ko'riladigan ranglarni qayta tiklash imkonini beradi. Arzon TCS347 yordamida ob'ekt rangini skanerlash uchun tugmani bosish kifoya
Haftaning kuni, taqvim, vaqt, namlik/batareya quvvatini tejaydigan harorat: 10 qadam (rasmlar bilan)
Haftaning kuni, taqvim, vaqt, namlik/haroratni tejash rejimi: bu erda quvvatni tejash rejimi bu ko'rsatmani haftaning kuni, oyi, oy kuni, vaqti, namligi va haroratini ko'rsatadigan boshqa misollardan ajratib turadi. Aynan mana shu qobiliyat, bu loyihani batareyasiz ishlashga imkon beradi
Arduino avtomatlashtirilgan ekranli ekran loyihasi uchun qadam dvigatel va haydovchini tanlash: 12 qadam (rasmlar bilan)
Arduino avtomatlashtirilgan ekranli ekran loyihasi uchun qadam dvigateli va haydovchini tanlash: Ushbu yo'riqnomada men avtomatlashtirilgan ekran pardasi prototipi uchun qadam dvigateli va haydovchini tanlash uchun qilgan qadamlardan o'taman. Soyali ekranlar - qo'lda krankirovka qilingan mashhur va arzon modellar, va men ularni almashtirmoqchi edim
Uyali telefonni/batareyani tashqi batareya yoki tarmoq bilan quvvatlantirish: 3 qadam
Uyali telefonni/mobil telefonni tashqi batareya yoki tarmoq bilan quvvatlantirish: kirish. Bu fikr faqat batareyalar olinadigan bo'lsa, telefonlar yoki planshetlar bilan ishlaydi. Kutupluluğu kuzatish juda muhim, albatta. Ehtiyotkorlik bilan qurilmangizga zarar etkazmaslik uchun ehtiyot bo'ling. Agar siz buni qila olishingizga ishonchingiz komil bo'lmasa