Բովանդակություն:

Arduino LTC6804 BMS - Մաս 2. Մնացորդային տախտակ. 5 քայլ
Arduino LTC6804 BMS - Մաս 2. Մնացորդային տախտակ. 5 քայլ

Video: Arduino LTC6804 BMS - Մաս 2. Մնացորդային տախտակ. 5 քայլ

Video: Arduino LTC6804 BMS - Մաս 2. Մնացորդային տախտակ. 5 քայլ
Video: Battery Management System ( BMS ) using Arduino 2024, Հուլիսի
Anonim
Arduino LTC6804 BMS - Մաս 2. Մնացորդային տախտակ
Arduino LTC6804 BMS - Մաս 2. Մնացորդային տախտակ

Մաս 1 այստեղ է

Մարտկոցի կառավարման համակարգը (BMS) ներառում է մարտկոցի տուփի կարևոր պարամետրերը զգալու գործառույթ, ներառյալ բջջային լարումները, մարտկոցի հոսանքը, բջջային ջերմաստիճանը և այլն:, կամ այլ համապատասխան գործողություններ կարող են ձեռնարկվել: Նախորդ նախագծում (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/) ես քննարկեցի իմ BMS դիզայնը, որը հիմնված է Linear Technology LTC6804 Multicell Battery Monitor չիպի և Arduino միկրոկոնտրոլերի վրա:. Այս նախագիծը ընդլայնում է 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- ը միացված է, հոսանքը C1- ից գետն է հոսում R5- ով ՝ մի փոքր լիցքը ցրելով բջիջում 1 -ում: Ես ընտրեցի 6 Օմ, 1 Վտ հզորությամբ դիմադրիչ, որը պետք է կարողանա մի քանի միլիամպ արյունահոսություն կառավարել: LED է ավելացվել, որպեսզի օգտվողը կարողանա տեսնել, թե որ բջիջներն են հավասարակշռվում ցանկացած պահի:

S1-S12 կապումներն վերահսկվում են CFGR4- ի և CFGR5 գրանցամատյանների առաջին 4 բիթերի կողմից (տե՛ս LTC6804 տվյալների թերթի 51-րդ և 53-րդ էջերը): Այս գրանցամատյանների խմբերը սահմանված են Arduino ծածկագրում (քննարկվում է ստորև) ՝ balance_cfg գործառույթում:

Քայլ 2: Սխեմատիկ

Սխեմատիկ
Սխեմատիկ

BMS հաշվեկշռի տախտակի սխեման մշակվել է Eagle CAD- ի միջոցով: Դա բավականին պարզ է: Կա մեկ արյունահոսություն `յուրաքանչյուր մարտկոցի սերիայի հատվածի համար: Անջատիչները վերահսկվում են LTC6804- ից JP2 վերնագրի միջոցով ստացված ազդանշաններով: Արյունահոսության հոսանքը հոսում է մարտկոցի տուփից JP1 վերնագրի միջով: Նկատի ունեցեք, որ արյունահոսության հոսանքը հոսում է մարտկոցի հաջորդ ստորին հատվածի վրա, օրինակ ՝ C9- ը արյունահոսում է C8 և այլն: Arduino Uno վահանի խորհրդանիշը տեղադրված է Քայլ 3 -ում նկարագրված PCB դասավորության սխեմատիկ պատկերի վրա: zip ֆայլում: Ստորև բերված է մասերի ցուցակը (Ինչ -ինչ պատճառներով Instructables ֆայլի վերբեռնման գործառույթը ինձ մոտ չի աշխատում …)

Քանակի արժեք Սարքի փաթեթի մասերի նկարագրություն

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-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 դասավորությունը
PCB դասավորությունը

Դասավորությունը հիմնականում որոշվում է առանձին հրահանգով քննարկվող հիմնական BMS համակարգի նախագծով (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/): JP1 և JP2 վերնագրերը պետք է համապատասխանեն BMS- ի համապատասխան վերնագրերին: Mosfets- ը, արյունահոսության դիմադրիչները և LED- ները տրամաբանական կերպով դասավորված են Arduino Uno վահանի վրա: Gerber ֆայլերը ստեղծվել են Eagle CAD- ի միջոցով, իսկ PCB- ները ուղարկվել են Sierra Circuits- ին կեղծման համար:

Կից ֆայլը "Gerbers Balance Board.zip.txt" իրականում Gerbers պարունակող zip ֆայլ է: Կարող եք պարզապես ջնջել ֆայլի անվան.txt մասը, այնուհետև այն բացել որպես սովորական zip ֆայլի պես:

Ուղարկեք ինձ հաղորդագրություն, եթե ցանկանում եք PCB ստանալ, ինձ գուցե դեռ մնացել է:

Քայլ 4: PCB- ի հավաքում

Մնացորդային տախտակի PCB- ները զոդվել են ձեռքով `օգտագործելով Weller WESD51 ջերմաստիճանի վերահսկվող զոդման կայանը` ETB ET շարքի 0.093 «պտուտակահան» ծայրով և 0.3 մմ զոդով: Չնայած փոքր խորհուրդները կարող են ավելի լավ թվալ բարդ աշխատանքի համար, դրանք չեն պահպանում ջերմությունը և իրականում ավելի են դժվարացնում աշխատանքը:. Ոդումից առաջ PCB բարձիկները մաքրելու համար օգտագործեք հոսքային գրիչ: 0.3 մմ զոդը լավ է աշխատում SMD մասերի ձեռքով զոդման համար: Տեղադրեք մի փոքր զոդ մի բարձիկի վրա, այնուհետև դրեք հատվածը պինցետով կամ x-acto դանակով և ամրացրեք այդ բարձիկը: Մնացած պահոցը կարող է զոդվել առանց մասի շարժման: Համոզվեք, որ չափից ավելի մի տաքացրեք հատվածը կամ PCB բարձիկները: Քանի որ բաղադրիչների մեծ մասը բավականին մեծ են SMD չափանիշներով, PCB- ն բավականին հեշտ է հավաքվում:

Քայլ 5: Կոդ

Կոդ
Կոդ

Arduino- ի ամբողջական ծածկագիրը ներկայացված է վերը նշվածին տրված նախորդ հրահանգում: Այստեղ ես ձեր ուշադրությունը հրավիրելու եմ այն հատվածի վրա, որը վերահսկում է բջիջների հավասարակշռությունը: Ինչպես նշվեց վերևում, S1-S12- ը վերահսկվում է CFGR4- ի և CFGR5 գրանցման խմբերի առաջին 4 բիթերի կողմից LTC6804- ում (տե՛ս LTC6804 տվյալների թերթի 51-րդ և 53-րդ էջերը): Arduino կոդի հանգույցի գործառույթը հայտնաբերում է ամենաբարձր լարման մարտկոցի տուփի հատվածը և տեղադրում դրա համարը փոփոխական cellMax_i բջիջում: Եթե cellMax_i- ի լարվածությունն ավելի մեծ է, քան CELL_BALANCE_THRESHOLD_V- ը, ծածկագիրը կանչի balance_cfg () գործառույթը ՝ փոխանցելով բարձր հատվածի համարը ՝ cellMax_i: Balance_cfg գործառույթը սահմանում է համապատասխան LTC6804 ռեգիստրի արժեքները: LTC6804_wrcfg- ի զանգը այնուհետև գրում է այս արժեքները IC- ին ՝ միացնելով cellMax_i- ի հետ կապված S քորոցը:

Խորհուրդ ենք տալիս: