Mündəricat:

İstilik və Batareya Seçimi ilə Batareya Denetleyicisi: 23 Addım (Şəkillərlə)
İstilik və Batareya Seçimi ilə Batareya Denetleyicisi: 23 Addım (Şəkillərlə)

Video: İstilik və Batareya Seçimi ilə Batareya Denetleyicisi: 23 Addım (Şəkillərlə)

Video: İstilik və Batareya Seçimi ilə Batareya Denetleyicisi: 23 Addım (Şəkillərlə)
Video: 30 товаров для автомобиля с Алиэкспресс, автотовары №17 2024, Noyabr
Anonim
Image
Image
Baza Layihəsindən Dəyişiklik
Baza Layihəsindən Dəyişiklik

Batareya tutumu test cihazı.

Bu cihazla 18650 batareya, turşu və digərlərinin gücünü yoxlaya bilərsiniz (sınadığım ən böyük batareya 6v turşulu batareya 4, 2A). Testin nəticəsi milliamper/saatdır.

Saxlama çini batareyasının tutumunu yoxlamaq üçün ehtiyac duyduğum üçün bu cihazı yaradıram.

Təhlükəsizlik üçün bir termistor istifadə edərək əlavə etdim ki, həddindən artıq istiləşməməsi üçün güc müqaviməti və batareyanın temperaturu, bu hiylə ilə lövhəni yanmadan 6v Acid Batareyasını yoxlaya bilərəm (bir müddət boşalma dövründə isti güc rezistoruna gedin) və cihaz temperaturu azaltmaq üçün 20 saniyə gözləyin).

Kiçik mikro nəzarətçi atmega328 uyğun nano (eBay) seçirəm.

Bütün kod burada.

Addım 1: Baza Layihəsindən Dəyiş

OpenGreenEnergy layihəsindən ideyanı oğurladım və xüsusiyyətləri əlavə etmək üçün lövhəni yenidən düzəltdim, buna görə də indi daha ümumi ol.

v0.1

  • Arduino VCC indi avtomatik olaraq hesablanır;
  • Ayarı daha rahat bir şəkildə dəyişdirmək üçün dəyişən əlavə edildi.
  • Boşaltma faizi əlavə edildi
  • Batareya və güc müqavimətinin temperaturu əlavə edildi

v0.2

  • Batareya seçimi imkanı əlavə edildi
  • Gələcəkdə bir paket yaratmaq istədiyim üçün ekran, düymə və dinamik xaricində prototip lövhəsi (sxematik olaraq görün) yaradıldı.
  • İstilik həddinin güc müqavimətinə əlavə edilməsi, temperatur 70 ° -dən yuxarı qalxanda prosesi dayandıra bilərəm (bu temperatur güc müqavimətinin azalması).

v0.3

Tezliklə bu xidmətdən bir lövhə

Addım 2: İdarə Heyətinin V0.2

İdarə Heyətinin V0.2
İdarə Heyətinin V0.2

V0.2 -də müxtəlif növ batareyaları dəstəkləmək üçün batareya adı, minimum gərginlik və maksimum gərginlik ilə doldurulmalı bir quruluş yaratdım (doldurmaq üçün yardıma ehtiyacım var: P).

// Batareya tipli quruluşun quruluşu BatteryType {char adı [10]; üzmək maxVolt; üzən minVolt; }; #define BATTERY_TYPE_NUMBER 4 BatteryType batteryTypes [BATTERY_TYPE_NUMBER] = {{"18650", 4.3, 2.9}, {"17550", 4.3, 2.9}, {"14500", 4.3, 2.75}, {"6v Acid", 6.50, 5.91 }};

İndi analog girişin ikiqat temperaturunu oxumaq üçün gərginlik bölücü üçün 10k müqavimət dəstindən istifadə edirəm. Gərginlik dəstəyini dəyişdirmək istəyirsinizsə, bu dəyəri dəyişdirməlisiniz (daha sonra izah edin):

// Batareya gərginliyinə müqavimət

#BAT_RES_VALUE_GND 10.0 təyin edin #BAT_RES_VALUE_VCC 10.0 təyin edin // Güc müqavimətinin gərginlik müqavimətini təyin edin #RES_RES_VALUE_GND 10.0 #təyin edin RES_RES_VALUE_VCC 10.0

Termistor istifadə etmirsinizsə, bunu yanlış olaraq təyin edin:

#BATTERY_TERMISTOR İSTİFADƏSİNİ təyin edin

#Define USING_RESISTO_TERMISTOR doğru

Fərqli bir i2c ekranı istifadə edirsinizsə, bu metodu yenidən yazmalısınız:

boş çəkmə (boş)

Layihədə fritzing sxemləri, fotoşəkillər və daha çox şey tapa bilərsiniz.

Addım 3: Breadboard: I2c Character Display Controller Genişləndirildi

Çörək lövhəsi: I2c Xarakter Ekran Nəzarətçisi Genişləndirildi
Çörək lövhəsi: I2c Xarakter Ekran Nəzarətçisi Genişləndirildi

Ümumi bir xarakter göstəricisi istifadə etdim və i2c nəzarətçisini qurdum və xüsusi kitabxanamla birlikdə istifadə etdim.

Ancaq istəsəniz, standart bir kitabxana ilə normal bir i2c nəzarətçisini (1 € -dan az) götürə bilərsiniz, kod eyni qalır. Bütün ekran kodu çəkmə funksiyasındadır, buna görə başqa şeyləri dəyişmədən dəyişdirə bilərsiniz.

Burada izah etmək daha yaxşıdır.

Addım 4: Çörək lövhəsi: İnteqrasiya edilmiş I2c ilə Xarakter Ekranı

Çörək lövhəsi: İnteqrasiya edilmiş I2c ilə xarakter ekranı
Çörək lövhəsi: İnteqrasiya edilmiş I2c ilə xarakter ekranı

İ2c nəzarət edilməyən eyni sxem genişləndirildi.

Addım 5: Tətbiq

Gərginliyi ölçmək üçün bir gərginlik bölücü prinsipindən istifadə edirik (Wikipedia haqqında daha çox məlumat).

Sadə sözlə, bu kod batareyanın gərginliyini ölçmək üçün çarpan faktordur.

batResValueGnd / (batResValueVolt + batResValueGnd)

BatResValueVolt və batResValueGnd 2 müqavimətini analoq telindən sonra və əvvəl daxil etdim.

batVolt = (nümunə1 / (1023.0 - ((BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)) * 1023.0))) * vcc;

sample1 orta analoq oxunuşdur;

vcc istinad Arduino gərginliyi;

1023.0, analog oxunmanın maksimum istinad dəyəridir (Arduino analoq oxunuşu 0 -dan 1023 -ə qədərdir).

Amper almaq üçün güc müqavimətindən sonra və əvvəl gərginliyə ehtiyacınız var.

Güc müqavimətindən sonra və əvvəl gərginliyi ölçdükdə, batareyanı istehlak edən milliamperi hesablaya bilərsiniz.

MOSFET, güc müqavimətindən batareyanın boşalmasını başlamaq və dayandırmaq üçün istifadə olunur.

Təhlükəsizlik üçün batareyanın və güc müqavimətinin temperaturunu izləmək üçün 2 termistor qoydum.

Addım 6: Genişlənmə

Genişlənmə
Genişlənmə
Genişlənmə qabiliyyəti
Genişlənmə qabiliyyəti

Genişlənə bilən bir prototip lövhəsi hazırlamağa çalışıram, amma hələlik yalnız minimal pin dəsti istifadə edirəm (gələcəkdə ledlər və digər düymələr əlavə edəcəyəm).

10v -dən çox dəstək gərginliyi istəyirsinizsə, batareyanın müqavimət dəyərini və müqavimətini düstura uyğun olaraq dəyişdirməlisiniz

(BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)

sxemdə Resistor güc gərginliyi

Rezistor güc gərginliyi GND 1/2/(Rezistor güc gərginliyi 2/2 + Rezistor güc gərginliyi GND 1/2)

Çəhrayı aşağı lehimdir

Addım 7: hissələrin siyahısı

Məbləğ hissə növü xüsusiyyətləri

  • 2 5mm Vida TerminalInal PCB Montaj Vida Terminal Bloku 8A 250V LW SZUS (eBay)
  • 1 Arduino Pro Mini klonu (uyğun Nano) (eBay)
  • 1 Əsas FET P-Kanal IRF744N və ya IRLZ44N (eBay)
  • 11 10kΩ Rezistor rezistoru 10kΩ (eBay)
  • 2 Temperatur Sensoru (Termistor) 10kΩ; (eBay)
  • * Ümumi kişi başlıq forması ♂ (kişi); (eBay)
  • * Ümumi qadın başlıq forması ♀ (qadın); (eBay)
  • 1 PerfBoard lövhəsi Prototip lövhəsi 24x18 (eBay)
  • 10R, 10W

    güc rezistoru (eBay) Köhnə bir crt TV -də mina tapıram.

Adım 8: İdarəetmə: Sıfırla, Gnd E Düyməsini Batareya Seçmək üçün

Lövhə: Sıfırla, Gnd E düyməsini Batareyanı seçin
Lövhə: Sıfırla, Gnd E düyməsini Batareyanı seçin

Sancaqların sol hissəsində düyməni və səs siqnalı tapa bilərsiniz.

3 düymədən istifadə edirəm:

  1. batareya növünü dəyişdirmək üçün;
  2. seçilmiş batareyanın boşaldılmasına başlamaq üçün;
  3. sonra hamısını yenidən başlatmaq və yeni əməliyyatı aktivləşdirmək üçün sıfırlama pinindən istifadə edirəm.

Bütün pin artıq çəkilir, buna görə VCC ilə aktivləşdirməlisiniz

Sıfırlama GND ilə aktivləşdirilir

Çəhrayı aşağı lehimdir

Addım 9: Kart: I2c və Güc Təchizatı Pimləri

Lövhə: I2c və Güc Təchizatı Pinləri
Lövhə: I2c və Güc Təchizatı Pinləri

Bazaya VCC, GND və SDA, SCL (gələcəkdə digərləri) görə bilərsiniz.

Çəhrayı aşağı lehimdir

Addım 10: Lövhə: Termistor və Ölçmə Gərginliyi

Lövhə: Termistor və Ölçmə Gərginliyi
Lövhə: Termistor və Ölçmə Gərginliyi

Sağda termistorun dəyərini oxumaq üçün pinlər var, biri güc rezistoru termistoru üçün, digəri (kişi/qadın sancaqlar bağlamaq üçün) batareya termistoru üçün.

Sonra güc müqavimətindən sonra və əvvəl diferensial gərginliyi ölçən analoq pinlər var.

Çəhrayı aşağı lehimdir

Addım 11: Lövhə: Ölçmə gərginliyinə müqavimət

Lövhə: Ölçmə gərginliyinə müqavimət
Lövhə: Ölçmə gərginliyinə müqavimət
Lövhə: Ölçmə gərginliyinə müqavimət
Lövhə: Ölçmə gərginliyinə müqavimət

Burada arduino pinindən (10v) iki dəfə çox gərginliyi dəstəkləməyə imkan verən rezistoru görə bilərsiniz, daha çox gərginliyi dəstəkləmək üçün bunu dəyişməlisiniz.

Çəhrayı aşağı lehimdir

Addım 12: Lehimləmə Adımı: Bütün Pimlər

Lehimləmə addımı: Bütün pinlər
Lehimləmə addımı: Bütün pinlər
Lehimləmə addımı: Bütün pinlər
Lehimləmə addımı: Bütün pinlər

Əvvəlcə bütün sancaqları əlavə edirəm və lehimləyirəm.

Addım 13: Lehimləmə Adımları: Pulldown Rezistoru və Termistoru

Lehimləmə addımları: Pulldown Rezistoru və Termistoru
Lehimləmə addımları: Pulldown Rezistoru və Termistoru
Lehim addımları: Pulldown Rezistoru və Termistoru
Lehim addımları: Pulldown Rezistoru və Termistoru

Sonra bütün açılan rezistoru (düymələr üçün) və i2c konnektorunu (ekran) əlavə edirəm.

Sonra güc rezistoru termistoru Çox vacibdir, turşu batareyası çox qızar.

Addım 14: Lehim addımları: MOSFET, Gərginliyi yoxlamaq üçün müqavimət

Lehim addımları: MOSFET, Gərginliyi yoxlamaq üçün müqavimət
Lehim addımları: MOSFET, Gərginliyi yoxlamaq üçün müqavimət
Lehim addımları: MOSFET, Gərginliyi yoxlamaq üçün müqavimət
Lehim addımları: MOSFET, Gərginliyi yoxlamaq üçün müqavimət

İndi boşaltma və gərginliyi yoxlamaq üçün müqaviməti aktivləşdirmək üçün mosfet daxil etməliyik.

Güc müqavimətindən əvvəl 2 gərginlik müqaviməti, güc müqavimətindən sonra 2 müqavimət, bu gərginliyə malik olduğunuz zaman milliamper istehlakını hesablaya bilərsiniz.

Addım 15: Kod

Mikro nəzarətçi nano ilə uyğun gəlir, buna görə IDE -ni Arduino Nano yükləmək üçün qurmalısınız.

İşləmək üçün github depomdan kodu yükləməlisiniz.

3 kitabxana əlavə etməlisiniz:

  1. Tel: i2c protokolu üçün standart arduino kitabxanası;
  2. Termistor Kitabxanası buradan arduino IDE -də tapa biləcəyiniz kitabxana deyil, mənim versiyamdır;
  3. LiquidCrystal_i2c: i2c adapterinin genişləndirilmiş/xüsusi versiyasını (mənim versiyam) istifadə edirsinizsə, kitabxananı buradan yükləməlisiniz, standart komponentdən istifadə edirsinizsə kitabxananı arduino IDE -dən götürə bilərsiniz, amma burada hər şey daha yaxşı izah olunur.

LCD -ni standart kitabxana ilə sınamıram, mənə elə gəlir ki, bunlar bir -birini əvəz edir, amma hər hansı bir problem olarsa mənimlə əlaqə saxlaya bilərsiniz.

Addım 16: Montajdan sonra nəticə

Image
Image
Montajdan sonra nəticə
Montajdan sonra nəticə
Montajdan sonra nəticə
Montajdan sonra nəticə

Baza lövhəsi fotoşəkildədir, sonra sınaya bilərik.

Adım 17: Əvvəlcə Batareya növünü seçin

Əvvəlcə Batareya növünü seçin
Əvvəlcə Batareya növünü seçin

Təsvir edildiyi kimi, batareyanın konfiqurasiyası ilə bir dəyər xəritəsinə sahibik.

// Batareya tipli quruluşun quruluşu BatteryType {char adı [10]; üzmək maxVolt; üzən minVolt; }; #define BATTERY_TYPE_NUMBER 4 BatteryType batteryTypes [BATTERY_TYPE_NUMBER] = {{"18650", 4.3, 2.9}, {"17550", 4.3, 2.9}, {"14500", 4.3, 2.75}, {"6v Acid", 6.50, 5.91 }};

Addım 18: Boşaltmağa başlayın

Boşaltmağa başlayın
Boşaltmağa başlayın
Boşaltmağa başlayın
Boşaltmağa başlayın

Boşalmağa başlamaq üçün ikinci düyməni basın.

Ekranda cari milliamper, milliamper/saat, boşalma faizi, batareya gərginliyi və güc müqavimətinin və batareyanın temperaturunu görə bilərsiniz.

Addım 19: İstisnalar: Batareya çıxarılıb

Image
Image
İstisnalar: Temperatur Xəbərdarlığı
İstisnalar: Temperatur Xəbərdarlığı

Batareyanın boşalma prosesini dayandırsanız, yenidən daxil edərkən son dəyərində yenidən başladın.

Addım 20: İstisnalar: Temperatur Alert

İstisnalar: Temperatur Xəbərdarlığı
İstisnalar: Temperatur Xəbərdarlığı
İstisnalar: Temperatur Xəbərdarlığı
İstisnalar: Temperatur Xəbərdarlığı
İstisnalar: Temperatur Xəbərdarlığı
İstisnalar: Temperatur Xəbərdarlığı

Temperatur (batareya və ya güc rezistoru) istiləşirsə, boşaltma prosesi dayandırılır.

#BATTERY_MAX_TEMP 50 təyin edin

Məlumat cədvəlində RESISTANCE_MAX_TEMP 69 // 70 ° təyin edin (Azalan rezistorlar) #TEMP_TO_REMOVE_ON_MAX_TEMP 20 təyin edin

Maksimum temperatur üçün standart dəyər batareya üçün 50 ° və güc müqaviməti üçün 69 -dur.

Şərhdə gördüyünüz kimi, güc müqaviməti 70 ° -dən yuxarı qalxanda dəyərdən düşmədən təsirlənir.

Xəbərdarlıq yüksəldilsə, aşağı temperaturu təyin etmək üçün TEMP_TO_REMOVE_ON_MAX_TEMP saniyəlik fasilə verin.

Addım 21: Amperajı yoxlayın

Test Amperajı
Test Amperajı

Amper testinin nəticəsi yaxşıdır.

Addım 22: Paket

Ayrılmış komponentlə paketin nəticəsini həyata keçirmək asandır.

Bir qutuda LCD üçün düzbucaqlı, düymələr üçün deliklər və elektrik təchizatı gərginliyini təmin etmək üçün xarici bir qadın barel olmalıdır.

Push düyməsinə açılan rezistora ehtiyac yoxdur, çünki onu artıq gəmidə əlavə edirəm.

Vaxtım olanda onu yaradıb göndərirəm.

Tövsiyə: