विषयसूची:

Arduino LTC6804 BMS - भाग 2: बैलेंस बोर्ड: 5 चरण
Arduino LTC6804 BMS - भाग 2: बैलेंस बोर्ड: 5 चरण

वीडियो: Arduino LTC6804 BMS - भाग 2: बैलेंस बोर्ड: 5 चरण

वीडियो: Arduino LTC6804 BMS - भाग 2: बैलेंस बोर्ड: 5 चरण
वीडियो: Battery Management System ( BMS ) using Arduino 2024, जुलाई
Anonim
Arduino LTC6804 BMS - भाग 2: बैलेंस बोर्ड
Arduino LTC6804 BMS - भाग 2: बैलेंस बोर्ड

भाग 1 यहाँ है

बैटरी प्रबंधन प्रणाली (बीएमएस) में सेल वोल्टेज, बैटरी करंट, सेल तापमान आदि सहित महत्वपूर्ण बैटरी पैक मापदंडों को समझने की कार्यक्षमता शामिल है। यदि इनमें से कोई भी पूर्व-निर्धारित सीमा से बाहर है, तो पैक को उसके लोड या चार्जर से डिस्कनेक्ट किया जा सकता है। या अन्य उचित कार्रवाई की जा सकती है। पिछले प्रोजेक्ट में (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/) मैंने अपने BMS डिज़ाइन पर चर्चा की, जो लीनियर टेक्नोलॉजी LTC6804 मल्टीसेल बैटरी मॉनिटर चिप और एक Arduino माइक्रोकंट्रोलर पर आधारित है।. यह परियोजना बैटरी पैक संतुलन को जोड़कर बीएमएस परियोजना का विस्तार करती है।

बैटरी पैक अलग-अलग सेल से समानांतर और/या श्रृंखला कॉन्फ़िगरेशन में बनाए जाते हैं। उदाहरण के लिए, 8 समानांतर-जुड़े सेल के 12 श्रृंखला-जुड़े सेटों का उपयोग करके एक 8p12s पैक का निर्माण किया जाएगा। पैक में कुल 96 सेल होंगे। सर्वश्रेष्ठ प्रदर्शन के लिए सभी ९६ कोशिकाओं में बारीकी से मेल खाने वाले गुण होने चाहिए, हालांकि, कोशिकाओं के बीच हमेशा कुछ भिन्नता होगी। उदाहरण के लिए, कुछ कोशिकाओं में अन्य कोशिकाओं की तुलना में कम क्षमता हो सकती है। जैसे ही पैक चार्ज किया जाता है, कम क्षमता वाले सेल बाकी पैक से पहले अपने अधिकतम सुरक्षित वोल्टेज तक पहुंच जाएंगे। बीएमएस इस उच्च वोल्टेज का पता लगाएगा और आगे की चार्जिंग को काट देगा। इसका परिणाम यह होगा कि जब बीएमएस सबसे कमजोर सेल के उच्च वोल्टेज के कारण चार्ज करना बंद कर देता है तो अधिकांश पैक पूरी तरह से चार्ज नहीं होता है। डिस्चार्ज के दौरान एक समान गतिशील हो सकता है, जब उच्च क्षमता वाले सेल पूरी तरह से डिस्चार्ज नहीं हो सकते हैं क्योंकि सबसे कमजोर बैटरी अपनी कम वोल्टेज सीमा तक पहुंचने पर बीएमएस लोड को डिस्कनेक्ट कर देता है। इसलिए पैक केवल अपनी सबसे कमजोर बैटरी जितना ही अच्छा है, जैसे कि एक श्रृंखला केवल सबसे कमजोर कड़ी जितनी मजबूत होती है।

इस समस्या का एक समाधान बैलेंस बोर्ड का उपयोग करना है। जबकि पैक को संतुलित करने के लिए कई रणनीतियाँ हैं, सबसे सरल 'निष्क्रिय' बैलेंस बोर्ड को उच्चतम वोल्टेज सेल के कुछ चार्ज को ब्लीड करने के लिए डिज़ाइन किया गया है जब पैक पूर्ण चार्ज के करीब होता है। जबकि कुछ ऊर्जा बर्बाद हो जाती है, पैक पूरी तरह से अधिक ऊर्जा स्टोर कर सकता है। एक माइक्रोकंट्रोलर द्वारा नियंत्रित एक प्रतिरोधक/स्विच संयोजन के माध्यम से कुछ शक्ति को नष्ट करके रक्तस्राव किया जाता है। यह निर्देश एक पिछली परियोजना से arduino / LTC6804 BMS के साथ संगत एक निष्क्रिय संतुलन प्रणाली का वर्णन करता है।

आपूर्ति

आप यहां PCBWays से बैलेंस बोर्ड PCB ऑर्डर कर सकते हैं:

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

चरण 1: संचालन का सिद्धांत

संचालन का सिद्धांत
संचालन का सिद्धांत

LTC6804 डेटाशीट का पृष्ठ 62 सेल संतुलन पर चर्चा करता है। दो विकल्प हैं: 1) उच्च कोशिकाओं से करंट को ब्लीड करने के लिए आंतरिक एन-चैनल MOSFETS का उपयोग करना, या 2) ब्लीड करंट को ले जाने वाले बाहरी स्विच को नियंत्रित करने के लिए आंतरिक MOSFETS का उपयोग करना। मैं दूसरे विकल्प का उपयोग करता हूं क्योंकि मैं आंतरिक स्विच का उपयोग करके किए जा सकने वाले उच्च प्रवाह को संभालने के लिए अपना स्वयं का ब्लीड सर्किट डिज़ाइन कर सकता हूं।

आंतरिक MOSFETS पिन S1-S12 के माध्यम से उपलब्ध हैं, जबकि कोशिकाओं को स्वयं पिन C0-C12 का उपयोग करके एक्सेस किया जाता है। ऊपर दी गई छवि 12 समान ब्लीड सर्किटों में से एक दिखाती है। जब Q1 को चालू किया जाता है, तो R5 के माध्यम से C1 से जमीन पर करंट प्रवाहित होगा, सेल 1 में कुछ चार्ज को नष्ट कर देगा। मैंने एक 6 ओम, 1 वाट का रेसिस्टर चुना है, जो ब्लीड करंट के कई मिलीमीटर को संभालने में सक्षम होना चाहिए। एक एलईडी जोड़ा गया ताकि उपयोगकर्ता देख सके कि कौन से सेल किसी भी समय संतुलन कर रहे हैं।

पिन S1-S12 को CFGR4 और CFGR5 रजिस्टर समूहों के पहले 4 बिट्स द्वारा नियंत्रित किया जाता है (LTC6804 डेटाशीट के पृष्ठ 51 और 53 देखें)। ये रजिस्टर समूह फंक्शन balance_cfg में Arduino कोड (नीचे चर्चा की गई) में सेट हैं।

चरण 2: योजनाबद्ध

ढांच के रूप में
ढांच के रूप में

बीएमएस बैलेंस बोर्ड के लिए योजनाबद्ध ईगल सीएडी का उपयोग करके डिजाइन किया गया था। यह काफी सीधा है। प्रत्येक बैटरी पैक श्रृंखला खंड के लिए एक ब्लीड सर्किट होता है। स्विच को JP2 हेडर के माध्यम से LTC6804 के संकेतों द्वारा नियंत्रित किया जाता है। ब्लीड करंट बैटरी पैक से हेडर JP1 से होकर प्रवाहित होता है। ध्यान दें कि ब्लीड करंट अगले निचले बैटरी पैक सेगमेंट में प्रवाहित होता है, इसलिए उदाहरण के लिए, C9 C8 में ब्लीड होता है, आदि। Arduino Uno शील्ड प्रतीक को चरण 3 में वर्णित PCB लेआउट के लिए योजनाबद्ध पर रखा गया है। एक उच्च रिज़ॉल्यूशन की छवि प्रदान की जाती है। ज़िप फ़ाइल में। निम्नलिखित भागों की सूची है (किसी कारण से इंस्ट्रक्शंस फ़ाइल अपलोड सुविधा मेरे लिए काम नहीं कर रही है…।)

मात्रा मूल्य डिवाइस पैकेज भागों विवरण:

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 पिन हैडर 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 रेसिस्टर, अमेरिकी प्रतीक

चरण 3: पीसीबी लेआउट

पीसीबी लेआउट
पीसीबी लेआउट

लेआउट ज्यादातर मुख्य बीएमएस सिस्टम के डिजाइन द्वारा निर्धारित किया जाता है, जिस पर एक अलग निर्देश (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/) में चर्चा की गई है। शीर्षलेख JP1 और JP2 को BMS पर मिलान करने वाले शीर्षलेखों से मेल खाना है। Arduino Uno शील्ड पर Mosfets, ब्लीड रेसिस्टर्स और LED को तार्किक तरीके से व्यवस्थित किया गया है। ईगल CAD का उपयोग करके Gerber फाइलें बनाई गई थीं और PCB को निर्माण के लिए सिएरा सर्किट में भेजा गया था।

संलग्न फ़ाइल "Gerbers Balance Board.zip.txt" वास्तव में Gerbers वाली एक ज़िप फ़ाइल है। आप फ़ाइल नाम के.txt भाग को हटा सकते हैं और फिर इसे सामान्य ज़िप फ़ाइल की तरह खोल सकते हैं।

मुझे एक संदेश भेजें यदि आप एक पीसीबी प्राप्त करना चाहते हैं, तो मेरे पास अभी भी कुछ बचा है।

चरण 4: पीसीबी असेंबली

बैलेंस बोर्ड पीसीबी को ईटीबी ईटी श्रृंखला 0.093 "स्क्रूड्राइवर" टिप और 0.3 मिमी सोल्डर के साथ वेलर WESD51 तापमान नियंत्रित सोल्डरिंग स्टेशन का उपयोग करके हाथ से बेचा गया था। हालांकि जटिल काम के लिए छोटी युक्तियाँ बेहतर लग सकती हैं, वे गर्मी बरकरार नहीं रखती हैं और वास्तव में काम को और अधिक कठिन बना देती हैं। सोल्डरिंग से पहले पीसीबी पैड को साफ करने के लिए फ्लक्स पेन का इस्तेमाल करें। हाथ सोल्डरिंग एसएमडी भागों के लिए 0.3 मिमी सोल्डर अच्छा काम करता है। एक पैड पर थोड़ा सा सोल्डर रखें और फिर उस हिस्से को चिमटी या एक्स-एक्टो चाकू से रखें और उस पैड को नीचे कर दें। शेष पैड को तब बिना हिले-डुले टांका लगाया जा सकता है। सुनिश्चित करें कि भाग या पीसीबी पैड को ज़्यादा गरम न करें। चूंकि अधिकांश घटक एसएमडी मानकों से काफी बड़े हैं, पीसीबी को इकट्ठा करना काफी आसान है।

चरण 5: कोड

कोड
कोड

पूरा Arduino कोड ऊपर से जुड़े पिछले निर्देश में प्रदान किया गया है। यहां मैं आपका ध्यान उस अनुभाग की ओर आकर्षित करूंगा जो सेल संतुलन को नियंत्रित करता है। जैसा कि ऊपर उल्लेख किया गया है, S1-S12 को CFGR4 द्वारा नियंत्रित किया जाता है और LTC6804 पर CFGR5 रजिस्टर समूहों के पहले 4 बिट्स (LTC6804 डेटाशीट के पृष्ठ 51 और 53 देखें)। Arduino कोड का लूप फ़ंक्शन उच्चतम वोल्टेज बैटरी पैक सेगमेंट का पता लगाता है और इसकी संख्या को वेरिएबल सेलमैक्स_आई में रखता है। यदि सेलमैक्स_आई का वोल्टेज CELL_BALANCE_THRESHOLD_V से अधिक है, तो कोड उच्च खंड, सेलमैक्स_आई की संख्या को पार करते हुए, फ़ंक्शन बैलेंस_cfg () को कॉल करेगा। फ़ंक्शन balance_cfg उपयुक्त LTC6804 रजिस्टर के मान सेट करता है। LTC6804_wrcfg पर कॉल करने के बाद सेलमैक्स_आई से जुड़े S पिन को चालू करते हुए इन मानों को IC को लिखता है।

सिफारिश की: