Mündəricat:

Arduino LTC6804 BMS - 2 -ci hissə: Balans lövhəsi: 5 addım
Arduino LTC6804 BMS - 2 -ci hissə: Balans lövhəsi: 5 addım

Video: Arduino LTC6804 BMS - 2 -ci hissə: Balans lövhəsi: 5 addım

Video: Arduino LTC6804 BMS - 2 -ci hissə: Balans lövhəsi: 5 addım
Video: Lithium-Ion Battery Management System | BMS | LTC6804-2 2024, Iyul
Anonim
Arduino LTC6804 BMS - 2 -ci hissə: Balans lövhəsi
Arduino LTC6804 BMS - 2 -ci hissə: Balans lövhəsi

1 -ci hissə burada

Batareya İdarəetmə Sistemi (BMS), hüceyrə gərginliyi, batareya cərəyanı, hüceyrə istiliyi və s. Daxil olmaqla vacib batareya paketi parametrlərini hiss etmə funksiyasını ehtiva edir. Bunlardan hər hansı biri əvvəlcədən müəyyən edilmiş diapazonda deyilsə, paket yükündən və ya şarj cihazından ayrıla bilər. və ya digər uyğun hərəkətlər edilə bilər. Əvvəlki bir layihədə (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/) Linear Technology LTC6804 Multicell Battery Monitor çipi və Arduino mikro nəzarətçisinə əsaslanan BMS dizaynımı müzakirə etdim.. Bu layihə, batareya paketi balansını əlavə edərək BMS layihəsini genişləndirir.

Batareya paketləri ayrı -ayrı hüceyrələrdən paralel və/və ya seriyalı konfiqurasiyalarda qurulur. Məsələn, 8 paralel bağlı 8 hüceyrədən ibarət 12 seriyalı bağlı dəstdən istifadə edərək 8p12s paketi qurulacaq. Paketdə cəmi 96 hüceyrə olardı. Ən yaxşı performans üçün 96 hüceyrənin hamısı uyğun xüsusiyyətlərə malik olmalıdır, lakin hüceyrələr arasında hər zaman bir dəyişiklik olacaq. Məsələn, bəzi hüceyrələrin tutumu digər hüceyrələrə nisbətən daha aşağı ola bilər. Paket doldurulduqda, aşağı tutumlu hüceyrələr paketin qalan hissəsindən əvvəl maksimum təhlükəsiz gərginliyə çatacaq. BMS bu yüksək gərginliyi algılar və sonrakı şarjı kəsər. Nəticə, BMS ən zəif hüceyrənin daha yüksək gərginliyi səbəbindən şarjı kəsdiyi zaman paketin çox hissəsinin tam doldurulmaması olacaq. Bənzər bir dinamika, boşaltma zamanı baş verə bilər, daha yüksək tutumlu hüceyrələr tamamilə boşalmayanda, BMS ən zəif batareya aşağı gərginlik həddinə çatanda yükü ayırır. Paket buna görə də ən zəif batareyaları qədər yaxşıdır, yalnız ən zəif halqası qədər güclü bir zəncir kimi.

Bu problemin həll yollarından biri balans lövhəsindən istifadə etməkdir. Paketi balanslaşdırmaq üçün bir çox strategiya olsa da, ən sadə 'passiv' balans lövhələri, paket tam doldurulmağa yaxınlaşdıqda ən yüksək gərginlikli hüceyrələrin yükünün bir hissəsini boşaltmaq üçün nəzərdə tutulmuşdur. Bəzi enerji boşa çıxsa da, paket bütövlükdə daha çox enerji saxlaya bilər. Qanama, bir mikro nəzarətçi tərəfindən idarə olunan bir rezistor/açar birləşməsi vasitəsi ilə bir qədər güc sərf etməklə həyata keçirilir. Bu təlimat, əvvəlki bir layihədəki arduino/LTC6804 BMS ilə uyğun olan passiv balans sistemini təsvir edir.

Təchizat

Balans Kartı PCB -ni burada PCBWays -dan sifariş edə bilərsiniz:

www.pcbway.com/project/shareproject/Balance_board_for_Arduino_BMS.html

Addım 1: Əməliyyat nəzəriyyəsi

Əməliyyat nəzəriyyəsi
Əməliyyat nəzəriyyəsi

LTC6804 məlumat cədvəlinin 62 -ci səhifəsində hüceyrə balansından bəhs edilir. İki seçim var: 1) yüksək hüceyrələrdən cərəyanı axıtmaq üçün daxili N-kanallı MOSFETS-dən istifadə etmək və ya 2) qanama axını daşıyan xarici açarları idarə etmək üçün daxili MOSFETS-dən istifadə etmək. İkinci seçimdən istifadə edirəm, çünki daxili açarlardan istifadə olunandan daha yüksək cərəyanı idarə etmək üçün öz qanama sxemimi dizayn edə bilərəm.

Daxili MOSFETS, S1-S12 sancaqları vasitəsi ilə əldə edilir, hüceyrələrin özlərinə isə C0-C12 sancaqları istifadə olunur. Yuxarıdakı şəkil 12 eyni qanama sxemindən birini göstərir. Q1 açıldıqda, C1 -dən yerə R5 vasitəsilə cərəyan axacaq və 1 -ci hüceyrədəki yükün bir hissəsini dağıdır. Mən bir neçə milliamp qanama axını idarə edə bilən 6 Ohm, 1 Vatt müqavimətçi seçdim. İstifadəçi istənilən anda hansı hüceyrələrin balanslaşdırıldığını görə biləcək bir LED əlavə edildi.

S1-S12 sancaqları CFGR4 və CFGR5 qeyd qruplarının ilk 4 biti tərəfindən idarə olunur (LTC6804 məlumat cədvəlinin 51 və 53-cü səhifələrinə baxın). Bu qeyd qrupları, balans_cfg funksiyasında Arduino kodunda (aşağıda müzakirə olunur) qurulub.

Addım 2: Şematik

Sxematik
Sxematik

BMS balans lövhəsinin sxemi Eagle CAD istifadə edərək hazırlanmışdır. Kifayət qədər sadədir. Hər bir batareya seriyası seqmenti üçün bir qanama dövrəsi var. Açarlar LTC6804 -dən JP2 başlığından gələn siqnallarla idarə olunur. Boşaltma cərəyanı batareya paketindən JP1 başlığından axır. Diqqət yetirin ki, axan cərəyan sonrakı aşağı batareya paketi seqmentinə axır, buna görə də C9 C8 -ə axır və s. Arduino Uno qalxan simvolu 3 -cü addımda təsvir olunan PCB düzeni üçün sxematik şəkildə yerləşdirilmişdir. Daha yüksək qətnamə görüntüsü təqdim olunur zip faylında. Aşağıdakı hissələr siyahısı (Nədənsə Instructables fayl yükləmə xüsusiyyəti mənim üçün işləmir …)

Qty Value Device Package Parts Description

12 LEDCHIPLED_0805 CHIPLED_0805 LED1, LED2, LED3, LED4, LED5, LED6, LED7, LED8, LED9, LED10, LED11, LED12 LED 12 BSS308PEH6327XTSA1 MOSFET-P SOT23-R Q1, Q2, Q3, Q4, Q4, Q4, Q9, Q10, Q11, Q12 P-Kanal Mosfet 2 PINHD-1X13_BIG 1X13-BIG JP1, JP2 PIN HEADER 12 16 R-US_R2512 R2512 R5, R7, R9, R11, R13, R15, R17, R19, R21, R23, R25, R27 Rezistor, Amerika simvolu 12 1K R-US_R0805 R0805 R4, R6, R8, R10, R12, R14, R16, R18, R20, R22, R24, R26 RESISTOR, Amerika simvolu 12200 R-US_R0805 R0805 R1, R2, R3, R28, R29, R30, R31, R32, R33, R34, R35, R36 Rezistor, Amerika simvolu

Addım 3: PCB Layout

PCB Layout
PCB Layout

Layihə əsasən ayrı bir təlimatda müzakirə olunan əsas BMS sisteminin dizaynı ilə müəyyən edilir (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/). JP1 və JP2 başlıqları BMS -də uyğun başlıqlarla uyğunlaşmalıdır. Mosfets, qanama rezistorları və LED -lər Arduino Uno qalxanı üzərində məntiqi bir şəkildə qurulmuşdur. Gerber faylları Eagle CAD istifadə edərək yaradılmış və PCB -lər istehsal üçün Sierra Circuits -ə göndərilmişdir.

Əlavə edilmiş "Gerbers Balance Board.zip.txt" faylı əslində Gerbersi ehtiva edən bir zip faylıdır. Fayl adının.txt hissəsini silə və sonra adi bir zip faylı kimi aça bilərsiniz.

Bir PCB almaq istəyirsinizsə, mənə bir mesaj göndərin, hələ bir az qalıb.

Addım 4: PCB Montajı

Balans lövhəsi PCBləri, ETB ET seriyalı 0.093 "tornavida" ucu və 0.3mm lehim ilə Weller WESD51 temperatur nəzarətli lehimləmə stansiyasından istifadə edərək əllə lehimlənmişdir. Kiçik məsləhətlər mürəkkəb iş üçün daha yaxşı görünsə də, istiliyi saxlamır və əslində işi çətinləşdirir. Lehimdən əvvəl PCB yastıqlarını təmizləmək üçün bir qələm istifadə edin. 0.3 mm lehim SMD hissələrinin əllə lehimlənməsi üçün yaxşı işləyir. Bir yastığa bir az lehim qoyun və sonra hissəni cımbız və ya x-acto bıçağı ilə qoyun və yastığı aşağı çəkin. Qalan yastıq daha sonra hissə hərəkət etmədən lehimlənə bilər. Parçanı və ya PCB yastıqlarını çox qızdırmadığınızdan əmin olun. Komponentlərin əksəriyyəti SMD standartlarına görə kifayət qədər böyük olduğundan PCB -ni yığmaq olduqca asandır.

Addım 5: Kod

Kod
Kod

Tam Arduino kodu yuxarıda göstərilən əvvəlki təlimatda verilir. Burada diqqətinizi hüceyrə balansını idarə edən bölməyə çəkəcəyəm. Yuxarıda qeyd edildiyi kimi, S1-S12 CFGR4 və LTC6804-də CFGR5 qeyd qruplarının ilk 4 biti tərəfindən idarə olunur (LTC6804 məlumat cədvəlinin 51 və 53-cü səhifələrinə baxın). Arduino kodunun döngə funksiyası ən yüksək gərginlikli batareya paketi seqmentini aşkar edir və sayını dəyişən cellMax_i -yə yerləşdirir. CellMax_i -nin gərginliyi CELL_BALANCE_THRESHOLD_V -dən böyükdürsə, kod yüksək seqmentin nömrəsi olan cellMax_i keçərək balance_cfg () funksiyasını çağıracaq. Balans_cfg funksiyası müvafiq LTC6804 reyestrinin dəyərlərini təyin edir. LTC6804_wrcfg -yə edilən bir zəng, bu dəyərləri IC -ə yazır və cellMax_i ilə əlaqəli S pinini açır.

Tövsiyə: