Мазмұны:

Arduino LTC6804 BMS - 2 -бөлім: Баланс тақтасы: 5 қадам
Arduino LTC6804 BMS - 2 -бөлім: Баланс тақтасы: 5 қадам
Anonim
Arduino LTC6804 BMS - 2 -бөлім: Баланс тақтасы
Arduino LTC6804 BMS - 2 -бөлім: Баланс тақтасы

1 -бөлім осында

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

Батарея пакеттері жеке ұяшықтардан параллель және/немесе сериялық конфигурацияда құрастырылған. Мысалы, 8p12s пакеті параллель қосылған 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 қосылған кезде, ток R1 арқылы C1 -ден жерге өтеді, ол зарядтың бір бөлігін таратады. Мен 6 Ом, 1 Вт резисторды таңдадым, ол бірнеше миллиамперлік қан ағуын басқара алады. жарық диоды қосылады, осылайша пайдаланушы кез келген уақытта қандай ұяшықтар теңгерілгенін көре алады.

S1-S12 түйреуіштері CFGR4 және CFGR5 регистр тобының алғашқы 4 биті арқылы басқарылады (LTC6804 мәліметтер кестесінің 51 және 53 беттерін қараңыз). Бұл регистрлік топтар Arduino кодында (төменде талқыланады) balance_cfg функциясында орнатылады.

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

Схемалық
Схемалық

BMS баланс тақтасының схемасы Eagle CAD көмегімен жасалған. Бұл өте қарапайым. Батареялар сериясының әр сегменті үшін бір қан кету схемасы бар. Коммутаторлар LTC6804 сигналдарынан JP2 тақырыбы арқылы басқарылады. Қан ағымы аккумулятордан JP1 тақырыбы арқылы өтеді. Есіңізде болсын, ағып кететін ток батареяның келесі төменгі сегментіне өтеді, сондықтан, мысалы, C9 C8 -ге ағып кетеді, т.б. Arduino Uno қалқанының символы 3 -қадамда сипатталған ПХД орналасуына арналған схемаға орналастырылған. Жоғары ажыратымдылықтағы сурет ұсынылады zip файлында. Төменде бөліктер тізімі берілген (Неліктен Instructables файлдарын жүктеу мүмкіндігі мен үшін жұмыс істемейді …)

Qty Value Device Package бөліктерінің сипаттамасы

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 -қадам: ПХД орналасуы

ПХД орналасуы
ПХД орналасуы

Орналасу көбінесе бөлек нұсқаулықта талқыланатын негізгі BMS жүйесінің дизайнымен анықталады (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/). JP1 және JP2 тақырыптары BMS сәйкес тақырыптармен сәйкес келуі керек. Мосфеттер, ағызылатын резисторлар мен светодиодтар Arduino Uno қалқаншасында логикалық түрде орналастырылған. Гербер файлдары Eagle CAD көмегімен жасалды, ал ПХД жасау үшін Сьерра схемаларына жіберілді.

Тіркелген «Gerbers Balance Board.zip.txt» файлы шын мәнінде Gerbers бар zip файлы болып табылады. Файл атауының.txt бөлігін жоюға болады, содан кейін оны қарапайым zip файлы сияқты ашуға болады.

Егер сіз ПХД алғыңыз келсе, маған хабарлама жіберіңіз, менде әлі біраз қалуы мүмкін.

4 -қадам: ПХД құрастыру

Баланстық тақтаның ПХД -лары температурасы басқарылатын WELD WESD51 дәнекерлеу станциясы көмегімен ETB ET сериялы 0,093 «бұрағыш» ұшымен және 0,3 мм дәнекерлеуішпен дәнекерленген. Кішкене кеңестер күрделі жұмыс үшін жақсы болып көрінгенімен, олар жылуды сақтамайды және іс жүзінде жұмысты қиындатады. Дәнекерлеу алдында ПХД жастықшаларын тазарту үшін ағынды қалам қолданыңыз. 0,3 мм дәнекер SMD бөлшектерін қолмен дәнекерлеуде жақсы жұмыс істейді. Бір жастықшаға аздап дәнекерлеп қойыңыз, содан кейін оны пинцетпен немесе х-акто пышақпен салыңыз да, сол жастықты бекітіңіз. Қалған төсемді бөлік қозғалмастан дәнекерлеуге болады. Бөлікті немесе ПХД жастықшаларын шамадан тыс қыздырмаңыз. Компоненттердің көпшілігі SMD стандарттары бойынша өте үлкен болғандықтан, ПХД құрастыру өте оңай.

5 -қадам: код

Код
Код

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

Ұсынылған: