Мазмуну:

Arduino LTC6804 BMS - Part 2: Balance Board: 5 Steps
Arduino LTC6804 BMS - Part 2: Balance Board: 5 Steps

Video: Arduino LTC6804 BMS - Part 2: Balance Board: 5 Steps

Video: Arduino LTC6804 BMS - Part 2: Balance Board: 5 Steps
Video: Battery Management System (BMS) Design Part 5 - Active Cell / Battery Balancing 2024, Июль
Anonim
Arduino LTC6804 BMS - Part 2: Balance Board
Arduino LTC6804 BMS - Part 2: Balance Board

1 -бөлүк бул жерде

Батареяны башкаруу тутуму (BMS) батарейканын маанилүү параметрлерин, анын ичинде клетканын чыңалуусун, батареянын агымын, клетканын температурасын ж., же башка тиешелүү чараларды көрүүгө болот. Мурунку долбоордо (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/) Мен сызыктуу технологияга негизделген LMS6804 Multicell Battery Monitor чипине жана Arduino микроконтроллерине негизделген BMS дизайнымды талкууладым.. Бул долбоор BMS долбоорун батареянын балансын кошуу менен кеңейтет.

Батарея топтомдору жеке клеткалардан параллель жана/же серия конфигурациясында курулган. Мисалы, 8p12s пакети 8 параллель туташкан 8 уячадан турган 12 серия менен туташкан топтомдордун жардамы менен курулат. Пакетте жалпысынан 96 клетка болмок. Мыкты иштөө үчүн 96 клетканын баары бири -бирине дал келген касиеттерге ээ болушу керек, бирок, клеткалар арасында дайыма өзгөрүү болот. Мисалы, кээ бир клеткалардын сыйымдуулугу башка клеткаларга караганда төмөн болушу мүмкүн. Пакет заряддалгандан кийин, сыйымдуулугу төмөн клеткалар пакеттин калган бөлүгүнө чейин максималдуу коопсуз чыңалууга жетет. BMS бул жогорку чыңалууну аныктап, андан ары заряддоону токтотот. Натыйжада, BMS эң начар клетканын жогорку чыңалуусуна байланыштуу заряддоону токтоткондо, пакеттин көбү толук заряддалбайт. Ушундай эле динамика разряд учурунда да болушу мүмкүн, кубаттуулугу жогору клеткалар толугу менен заряддай албайт, анткени BMS эң алсыз батарея төмөнкү чыңалуу чегине жеткенде жүктү ажыратат. Ошентип, пакет эң начар батарейкалары сыяктуу жакшы, чынжыр анын эң начар звеносундай күчтүү.

Бул көйгөйдү чечүүнүн бир жолу - баланс тактасын колдонуу. Топтомду тең салмакташтыруунун көптөгөн стратегиялары бар болгону менен, эң жөнөкөй "пассивдүү" баланс такталары, пакет толук заряддалууга жакындап калганда, эң жогорку чыңалуудагы уячалардын зарядын бир бөлүгүн кетирүү үчүн иштелип чыккан. Кээ бир энергия текке кетсе да, пакет жалпысынан көбүрөөк энергия топтой алат. Кан агуу микроконтроллер тарабынан башкарылган резистор/коммутатордун айкалышы аркылуу бир аз күчтү таркатуу жолу менен ишке ашат. Бул көрсөтмө мурунку долбоордогу arduino/LTC6804 BMS менен шайкеш келген пассивдүү баланстоо системасын сүрөттөйт.

Жабдуулар

Сиз бул жерде PCBWaysден Balance Board PCB заказ кылсаңыз болот:

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

1 -кадам: Иштөө теориясы

Операция теориясы
Операция теориясы

LTC6804 маалымат барагынын 62 -бетинде клеткалардын тең салмактуулугу талкууланат. Эки вариант бар: 1) жогорку клеткалардан ток кетирүү үчүн ички N-канал MOSFETSти колдонуу, же 2) ички MOSFETS аркылуу кан агымын алып жүргөн тышкы өчүргүчтөрдү башкаруу. Экинчи вариантты колдонуп жатам, анткени мен ички өчүргүчтөрдүн жардамы менен аткарылгандан жогорку токту башкара турган өз кан айлануумду иштеп чыгам.

Ички MOSFETS S1-S12 төөнөгүчтөрү аркылуу жеткиликтүү, ал эми клеткаларга C0-C12 казыктары аркылуу кирүүгө болот. Жогорудагы сүрөт 12 окшош кан айлануунун бирин көрсөтөт. Q1 күйгүзүлгөндө, ток C1ден жерге R5 аркылуу агат, 1 -клеткадагы заряддын бир бөлүгүн таркатат. Мен 6 Ом, 1 Ватт каршылыгын тандап алдым, ал кан агуунун бир нече миллиамптарын башкара алышы керек. Колдонуучу каалаган убакта кайсы клеткалар тең салмакта экенин көрө ала турган LED кошулган.

S1-S12 казыктары CFGR4 жана CFGR5 реестринин биринчи 4 биттери тарабынан көзөмөлдөнөт (LTC6804 маалымат барагынын 51 жана 53-беттерин караңыз). Бул регистрдик топтор Baldu_cfg функциясында Arduino кодунда (төмөндө талкууланат) коюлган.

2 -кадам: схемалык

Схемалык
Схемалык

BMS баланс тактасынын схемасы Eagle CADдын жардамы менен иштелип чыккан. Бул абдан жөнөкөй. Ар бир батарейка сериясынын сегментинде бир кан айлануу бар. Коммутаторлор LTC6804 сигналдары аркылуу JP2 башы аркылуу башкарылат. Кан агымы батарейкадан JP1 башы аркылуу агат. Белгилей кетүүчү нерсе, кан агымы кийинки батарейка пакетинин кийинки сегментине агат, андыктан, мисалы, C9 C8ге ж. zip файлында. Төмөндө бөлүктөрдүн тизмеси келтирилген (Эмнегедир Instructables файлын жүктөө функциясы мен үчүн иштебейт …)

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, Q5, Q9, Q10, Q11, Q12 P-Channel 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 RESISTOR, Америка символу 12 1K R-US_R0805 R0805 R4, R6, R8, R10, R12, R14, R16, R18, R20, R22, R24, R26 RESISTOR, Американын символу 12 200 R-US_R0805 R0805 R1, R2, R3, R28, R29, R30, R31, R32, R33, R34, R35, R36 RESISTOR, Американын символу

3 -кадам: PCB макети

PCB Layout
PCB Layout

Орнотуу негизинен өзүнчө инструктивдүү талкууланган негизги BMS системасынын дизайны менен аныкталат (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/). JP1 жана JP2 аталыштары BMS боюнча дал келген баштар менен дал келиши керек. Mosfets, каршылашкан резисторлор жана светодиоддор Arduino Uno калканчында логикалык жол менен жайгаштырылган.

Тиркелген файл "Gerbers Balance Board.zip.txt" чындыгында Gerbers камтыган zip файлы. Сиз жөн гана.txt файлдын атын өчүрүп, анан кадимки zip файлы сыяктуу ачсаңыз болот.

Эгерде сиз ПХБ алгыңыз келсе, мага билдирүү жөнөтүңүз, менде дагы бирөө калып калышы мүмкүн.

4 -кадам: PCB Ассамблеясы

Баланс тактасындагы ПХБлар WELD WESD51 температурасы көзөмөлдөгөн ETB ET сериясындагы 0.093 "отвертка" учу жана 0.3мм ширетүүчү станциясы аркылуу кол менен ширетилген. Кичинекей кеңештер татаал жумуш үчүн жакшыраак көрүнгөнү менен, алар жылуулукту сактабайт жана иш жүзүндө жумушту татаалдаштырат. Пластикалык блокторду ширетүүдөн мурун тазалоо үчүн флюс калемди колдонуңуз. 0,3 мм ширетүү SMD бөлүктөрүн кол менен ширетүүдө жакшы иштейт. Бир аянтка бир аз ширетип койгула, анан тетикти пинцет же х-акто бычагы менен коюп, ошол жаздыкты чечип алгыла. Калган блокнотту бөлүк жылбай туруп эле ширетүүгө болот. Бөлүктү же ПХБ төшөмдөрүн ашыкча ысытып албаңыз. Компоненттердин көпчүлүгү SMD стандарттары боюнча кыйла чоң болгондуктан, ПХБны чогултуу оңой.

5 -кадам: Код

Code
Code

Толук Arduino коду жогоруда шилтемеленген мурунку нускамада берилген. Бул жерде мен сиздин көңүлүңүздү клеткалардын тең салмактуулугун көзөмөлдөгөн бөлүмгө бурам. Жогоруда айтылгандай, S1-S12 CFGR4 жана LTC6804 боюнча CFGR5 реестр топторунун биринчи 4 биттери тарабынан көзөмөлдөнөт (LTC6804 маалымат барагынын 51 жана 53-беттерин караңыз). Arduino кодунун цикл функциясы эң жогорку чыңалуудагы батарейка сегментин аныктайт жана анын санын cellMax_i өзгөрмөсүнө коет. Эгерде cellMax_i чыңалуусу CELL_BALANCE_THRESHOLD_Vден чоң болсо, анда код жогорку сегменттин номерин өткөрүп, balance_cfg () функциясын чакырат, cellMax_i. Balance_cfg функциясы тиешелүү LTC6804 реестринин маанилерин белгилейт. LTC6804_wrcfgге чалуу анда cellMax_i менен байланышкан S пинти күйгүзүп, ICге бул баалуулуктарды жазат.

Сунушталууда: