İçindekiler:

Arduino LTC6804 BMS - Bölüm 2: Denge Kartı: 5 Adım
Arduino LTC6804 BMS - Bölüm 2: Denge Kartı: 5 Adım

Video: Arduino LTC6804 BMS - Bölüm 2: Denge Kartı: 5 Adım

Video: Arduino LTC6804 BMS - Bölüm 2: Denge Kartı: 5 Adım
Video: 23.01.21 CANLI YAYIN - ELEKTRİKLİ ARAÇLAR KONFERANSI || BERKAN BAYRAM , BURAK TASASIZ 2024, Kasım
Anonim
Arduino LTC6804 BMS - Bölüm 2: Denge Kartı
Arduino LTC6804 BMS - Bölüm 2: Denge Kartı

1. bölüm burada

Bir Akü Yönetim Sistemi (BMS), hücre voltajları, akü akımı, hücre sıcaklıkları vb. dahil olmak üzere önemli akü paketi parametrelerini algılama işlevi içerir. Bunlardan herhangi biri önceden tanımlanmış aralığın dışındaysa, paketin yükünden veya şarj cihazından bağlantısı kesilebilir. veya diğer uygun önlemler alınabilir. Önceki bir projede (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/) Linear Technology LTC6804 Multicell Battery Monitor çipine ve bir Arduino mikrodenetleyicisine dayanan BMS tasarımımdan bahsetmiştim.. Bu proje, pil takımı dengelemesi ekleyerek BMS projesini genişletiyor.

Pil paketleri, paralel ve/veya seri konfigürasyonlarda ayrı hücrelerden oluşturulur. Örneğin, bir 8p12s paketi, 12 seri bağlı 8 paralel bağlı hücre seti kullanılarak oluşturulabilir. Pakette toplam 96 hücre olacaktır. En iyi performans için tüm 96 hücrenin birbirine yakın özelliklere sahip olması gerekir, ancak hücreler arasında her zaman bazı farklılıklar olacaktır. Örneğin, bazı hücreler diğer hücrelere göre daha düşük kapasiteye sahip olabilir. Paket şarj olurken, daha düşük kapasiteli hücreler, paketin geri kalanından önce maksimum güvenli voltajlarına ulaşacaktır. BMS bu yüksek voltajı algılayacak ve daha fazla şarjı kesecektir. Sonuç olarak, en zayıf hücrenin daha yüksek voltajı nedeniyle BMS şarjı kestiğinde paketin çoğu tam olarak şarj olmaz. Benzer bir dinamik deşarj sırasında meydana gelebilir, yüksek kapasiteli hücreler tamamen deşarj olamaz, çünkü en zayıf akü düşük voltaj limitine ulaştığında BMS yükü keser. Bu nedenle paket, yalnızca en zayıf pilleri kadar iyidir, bir zincirin yalnızca en zayıf halkası kadar güçlü olması gibi.

Bu soruna bir çözüm, bir denge tahtası kullanmaktır. Paketi dengelemek için birçok strateji olsa da, en basit 'pasif' denge panoları, paket tam şarja yaklaştığında en yüksek voltaj hücrelerinin yükünün bir kısmını boşaltmak için tasarlanmıştır. Bir miktar enerji boşa harcanırken, paket bir bütün olarak daha fazla enerji depolayabilir. Boşaltma, bir mikro denetleyici tarafından kontrol edilen bir direnç/anahtar kombinasyonu aracılığıyla bir miktar gücü dağıtarak yapılır. Bu talimat, önceki bir projeden arduino/LTC6804 BMS ile uyumlu bir pasif dengeleme sistemini açıklar.

Gereçler

Balance Board PCB'yi PCBWays'den buradan sipariş edebilirsiniz:

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

Adım 1: Çalışma Teorisi

Operasyon teorisi
Operasyon teorisi

LTC6804 veri sayfasının 62. sayfasında hücre dengeleme anlatılmaktadır. İki seçenek vardır: 1) yüksek hücrelerden akımı boşaltmak için dahili N-kanallı MOSFET'leri kullanmak veya 2) boşaltma akımını taşıyan harici anahtarları kontrol etmek için dahili MOSFET'leri kullanmak. İkinci seçeneği kullanıyorum çünkü dahili anahtarlar kullanılarak yapılabilecekten daha yüksek akımı işlemek için kendi boşaltma devremi tasarlayabiliyorum.

Hücrelerin kendilerine C0-C12 pinleri kullanılarak erişilirken dahili MOSFET'lere S1-S12 pinleri üzerinden erişilebilir. Yukarıdaki resim, 12 özdeş boşaltma devresinden birini göstermektedir. Q1 açıldığında, akım C1'den toprağa R5 üzerinden akacak ve hücre 1'deki yükün bir kısmını dağıtacaktır. Birkaç miliamper taşma akımını kaldırabilmesi gereken 6 Ohm, 1 Watt'lık bir direnç seçtim. Kullanıcının herhangi bir zamanda hangi hücrelerin dengelendiğini görebilmesi için bir LED eklendi.

S1-S12 pinleri CFGR4 ve CFGR5 kayıt gruplarının ilk 4 biti tarafından kontrol edilir (LTC6804 veri sayfasının 51 ve 53. sayfalarına bakın). Bu kayıt grupları, denge_cfg işlevinde Arduino kodunda (aşağıda tartışılmıştır) ayarlanır.

2. Adım: Şematik

Şematik
Şematik

BMS denge tahtasının şeması Eagle CAD kullanılarak tasarlanmıştır. Oldukça basittir. Her pil paketi serisi segmenti için bir boşaltma devresi vardır. Anahtarlar, JP2 başlığı aracılığıyla LTC6804'ten gelen sinyallerle kontrol edilir. Boşaltma akımı pil takımından JP1 başlığı üzerinden akar. Boşaltma akımının bir sonraki düşük pil paketi segmentine aktığını unutmayın, bu nedenle örneğin C9, C8'e akar, vb. Arduino Uno kalkan sembolü, Adım 3'te açıklanan PCB düzeni için şemaya yerleştirilir. Daha yüksek çözünürlüklü bir görüntü sağlanır. zip dosyasında. Parça listesi aşağıdadır (Nedense Instructables dosya yükleme özelliği benim için çalışmıyor….)

Adet Değer Cihaz Paket Parçaları Açıklama

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, Q5, Q6, Q7, Q8, Q9, Q10, Q11, Q12 P-Kanal Mosfet 2 PINHD-1X13_BIG 1X13-BIG JP1, JP2 PIN BAŞLIĞI 12 16 R-US_R2512 R2512 R5, R7, R9, R11, R13, R15, R17, R19, R21, R23, R25, R27 DİRENÇ, Amerikan sembolü 12 1K R-US_R0805 R0805 R4, R6, R8, R10, R12, R14, R16, R18, R20, R22, R24, R26 DİRENÇ, Amerikan sembolü 12 200 R-US_R0805 R0805 R1, R2, R3, R28, R29, R30, R31, R32, R33, R34, R35, R36 DİRENÇ, Amerikan sembolü

Adım 3: PCB Düzeni

PCB Düzeni
PCB Düzeni

Düzen çoğunlukla ayrı bir talimatta tartışılan ana BMS sisteminin tasarımı ile belirlenir (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/). JP1 ve JP2 başlıkları, BMS'deki eşleşen başlıklarla eşleşmelidir. Arduino Uno kalkanı üzerinde Mosfetler, taşma dirençleri ve LED'ler mantıklı bir şekilde düzenlenmiştir. Gerber dosyaları Eagle CAD kullanılarak oluşturulmuş ve PCB'ler üretim için Sierra Devrelerine gönderilmiştir.

Ekli "Gerbers Balance Board.zip.txt" dosyası aslında Gerber'leri içeren bir zip dosyasıdır. Dosya adının.txt bölümünü silebilir ve ardından normal bir zip dosyası gibi açabilirsiniz.

Bir PCB almak isterseniz bana bir mesaj gönderin, hala biraz kalmış olabilir.

Adım 4: PCB Montajı

Denge kartı PCB'leri, ETB ET serisi 0.093 "tornavida" uçlu ve 0.3 mm lehimli bir Weller WESD51 sıcaklık kontrollü lehimleme istasyonu kullanılarak elle lehimlendi. Karmaşık işler için daha küçük uçlar daha iyi görünse de, ısıyı tutmazlar ve aslında işi daha da zorlaştırırlar. Lehimlemeden önce PCB pedlerini temizlemek için bir akı kalemi kullanın. 0,3 mm lehim, SMD parçalarının elle lehimlenmesi için iyi çalışır. Bir pedin üzerine biraz lehim koyun ve ardından parçayı bir cımbız veya x-acto bıçağıyla yerleştirin ve o pedi tutturun. Kalan ped daha sonra parça hareket etmeden lehimlenebilir. Parçayı veya PCB pedlerini aşırı ısıtmadığınızdan emin olun. Bileşenlerin çoğu SMD standartlarına göre oldukça büyük olduğundan, PCB'nin montajı oldukça kolaydır.

Adım 5: Kod

kod
kod

Arduino kodunun tamamı, yukarıda bağlantılı önceki talimatta verilmiştir. Burada hücre dengelemeyi kontrol eden bölüme dikkatinizi çekeceğim. Yukarıda bahsedildiği gibi, S1-S12, CFGR4 ve LTC6804 üzerindeki CFGR5 kayıt gruplarının ilk 4 biti tarafından kontrol edilir (LTC6804 veri sayfasının 51 ve 53. sayfalarına bakın). Arduino kodunun döngü işlevi, en yüksek voltajlı pil paketi segmentini algılar ve numarasını cellMax_i değişkenine yerleştirir. cellMax_i'nin voltajı CELL_BALANCE_THRESHOLD_V'den büyükse, kod yüksek segmentin, cellMax_i numarasını ileterek Balance_cfg() işlevini çağırır. Balance_cfg işlevi, uygun LTC6804 kaydının değerlerini ayarlar. LTC6804_wrcfg'ye yapılan bir çağrı daha sonra bu değerleri IC'ye yazar ve cellMax_i ile ilişkili S pinini açar.

Önerilen: