سلام عليكم ?
النهاردة هانتكلم عن الـ Battery Management Systems بالتفصيل.
قبل بداية المقال، هناك حبة تحذيرات بخصوص موضوع بطاريات الليثيوم:
- بطاريات الليثيوم هي بطاريات غاية في الخطورة نظراً لانها توفر سعة كبيرة في ( حجم ووزن قليل ) وأيضاً هذه البطاريات بتقدر توفر تيارات لحظية Current Spikes بقيم كبيرة جداً. يجب أن تكون حذراً أثناء التعامل معها. ممكن في اكثر الاحوال تؤدي إلى حرائق ضخمة لاقدر الله.
- يجب أن تراعي ان بطاريات الليثيوم بها مادة الليثيوم حيث أنها تشتعل لو تفاعلت مع الماء او بخار الماء ( يجب أن تكون على علمٍ كافٍ بكيفية التعامل مع حرائق الليثيوم ).
- أنا لست مسئولاً أي مسئولية عن أي سوء استخدام للبطاريات أو حتى قيامك بتطبيق الشرح.
- يجب أن تعلم أن أي تجارب سوف تقوم بها (هي على مسئوليتك الشخصية) وأنا لست مسئولاً عن أي ضرر ناتج.
بعض النصائح:
- عندما نتعامل مع بطاريات الليثيوم يجب أن تكون البيئة حولها نضيفة ( لاتوجد سوائل، أي نوع من أنواع المعادن، ….. ) في محيط بيئة العمل.
- حاول بقدر الامكان أن تضع البطاريات في علبة بلاستيكية محكمة لحمايتها من أي معادن او سوائل.
- عندما نتعامل مع بطاريات الليثيوم من خلال الـ BMS والميكروكونترولر. يجب أن تعلم انك تتعامل مع بطاريات ذات جهود عالية وكذلك قدرتها على امداد تيارات كبيرة. أي خطأ في توصيلك للبطاريات أثناء اتصال الكمبيوتر والميكروكونترولر معها سوف يدمر الكمبيوتر بالكامل.
- يجب أن تستخدم عوازل لكابل الـ USB اسمها USB Isolator حيث أنها تقوم بعزل الدوائر الإلكترونية التي تحت التجربة عن الكمبيوتر ( وتتحمل جهود عالية أيضاً ).
- يجب أن تتأكد من أن الأسلاك ملحومة بشكل جيد ومربوطة ب أحزمة بلاستيكية Zip Ties.
- ممكن أيضاً تستخدم نوع من الـ Integrated Circuits (ICs) بتوفر Isolation للـ SMBus أو الـ UART مثلاً ( هاتكلم عنها بالتفصيل في أحد المقالات القادمة وسوف ارفقها هنا ).
بسم الله نبدأ.
منذ زمن بعيد كان بيجيلي بطاريات لاب توب كثيرة تالفة من أقاربي وكنت دايماً أقوم بفكها وأخذ البطاريات Lithium Cells منها. وكنت اشحن بطارية الليثيوم بجهد 5 فولت مباشرة !! ? بدون ادنى معرفة عن مدى خطورتها وكنت اشحنها ( بطريقة خاطئة ? ). كانت البطاريات بتسخن وتتلف احياناً وفي بطاريات حتى الآن تعمل معي. لكن مع الوقت تعلمت طرق الشحن الخاصة بها وكيف اشحنها بطريقة سليمة.
في عام 2012 بدأت بدائرة الشحن التالية وكانت بسيطة جداً جداً:
عنوان المقال :اصنع شاحن بطاريات الليثيوم
عنوان صفحة الدائرة: الدائرة العملية لشحن بطارية ليثيوم
الدائرة ببساطة شديدة تشحن البطاريات من خلال المقاومة R1 ( بتقلل تيار الشحن ) وفي ترانزيستور + بعض المقاومات عشان يحدد قيمة جهد فصل الشحن. الدائرة كانت بسيطة جداً وكانت تحتاج معايرة من خلال المقاومة المتغيرة R5 حيث انها تضبط الـ Charging Cutoff Threshold وهي قيمة جهد فصل الشحن. لكن بفضل الدوائر المتكاملة الحديثة Integrated Circuits الموضوع أصبح اسهل بكثير.
حالياً تقدر تلاقي دوائر شحن مشهورة مثل:
- دائرة TP4056 : تقوم بشحن بطارية ليثيوم 3.7 فولت ( بطارية واحدة فقط أو مجموعة بطاريات متصلة على التوازي ). تيار الشحن الافتراضي هو 1 أمبير ( يمكن تغيير قيمة تيار الشحن بتغيير قيمة المقاومة بالدائرة ). قم بمراجعة الداتاشيت Datasheet الخاص بالـ TP4056 لمزيد من المعلومات.
- دائرة TP5100 : يمكنها أن تشحن بطارية ليثيوم 3.7 فولت أو بطاريتين متصلتين توالي 7.4 فولت. ويمكنها ان تشحن مجموعة بطاريات متصلة على التوازي. اقصى تيار شحن هو 2 أمبير ( يمكن تغيير قيمة تيار الشحن بتغيير قيمة المقاومة بالدائرة ). قم بمراجعة الداتاشيت Datasheet الخاص بالـ TP5100 لمزيد من المعلومات.
- دائرة MAX745 : وهذه من دوائر الشحن الحديثة وممكن تشحن بطاريات ليثيوم من أول بطارية واحدة فقط Single Cell وحتى 4 بطاريات توالي 4Cells وممكن تشحن بها مجموعة من البطاريات متصلة على التوازي ( قمت بشرحها في هذا الفيديو بشكل مبدأي ):
بالنسبة لجزأ الشحن:
بطاريات الليثيوم تحتاج ( طرق مخصصة لشحنها ) ويجب أن يتم شحنها بمصدر تيار ثابت Constant Current Source حتى يصل جهدها يوصل لقيمة مناسبة وبعد ذلك دائرة الشحن سوف تنتقل من الـ Constant Current إلى الجهد الثابت Constant Voltage. هناك دوائر متكاملة ICs كتيرة جداً مثل التي ذكرتها تقوم بتطبق خوارزمية الشحن Charging Algorithm وبطريقة صحيحة ومدروسة وهناك بعض الدوائر منهم يمكن تعديلها وممكن تقوم بعمل مراقبة لدرجة حرارة البطارية Temperature Monitoring. لو قمت بشحن البطارية بطريقة خاطئة توقع بنسبة كبيرة ان عمرها هايقل او لاقدر الله ممكن تحصل حريقة بسببها.
في عام 2020 كنت أسلي نفسي وكان عندي عدد قليل من بوردات الـ Battery Management Stystem (BMS) لبطارية اللاب توب. قمت بفحص الدوائر المتكاملة ICs في البوردات ووجدت IC اسمه BQ20z7.
قمت بعمل تتبع Tracing لمسارات التوصيل حتى وجدت اطراف الـ (System Management Bus (SMBus في البوردة ( هذا بروتوكول اتصال يعتبر مثل الـ I2C Bus ولكن يعمل بمواصفات خاصة. ممكن تبحثوا عنه ). بعد البحث وجدت ان اللاب توب يقوم بالتحكم/التكلم مع الـ BMS وكذلك دائرة الشحن من خلال الـ SMBus ويقدر على التحكم في البطارية تحكم كامل.
شرح نظام الطاقة باللاب توب.
ك عادة أي أحد يقوم بتجربة موضوع جديد بيبدأ بالـ Arduino بما انها سريعة في عمل النماذج التجريبية Prototyping وأيضاً حتى تقوم باثبات المبدأ Concept ( باقل اضرار ممكنة “حرائق وتلفيات” ? ). قمت بتوصيل الــ SMB_D, SMB_C بالـ I2C Pins ( يعتبروا مثل الـ Data & Clock Pins لبروتوكول الـ I2C بالضبط ).
وببساطة شديدة قمت باستخدام الـ I2CDetect Sketch بالأردوينو. هي عبارة عن كود يخبرك هل هناك أي I2C Device واصل على الـ Bus أم لا ويقوم باعطائك العناوين. وبالفعل وجدت أن الميكروكونترولر يرى الـ BMS.
قمت بالنظر بالداتاشيت للـ BMS وقمت بفهمه بشكل جيد وكتبت كود Arduino يثبت الفكرة والحمد لله وصلت لنتيجة ممتازة جداً. وهي اني قدرت اقرأ المسجلات Registers الداخلية للـ BMS.
سوف تجد الكود اسفل وصف الفيديو ب يوتيوب Video Description.
بالفعل الكمبيوتر يقدر بالفعل يعرف عن البطارية معلومات كثيرة مثل:
- الجهد لكل خلية بطارية منفصلة – The voltage for each individual cell.
- الجهد الكُلي لكل البطاريات مجمعة معاً – The voltage of the pattery pack.
- قيمة التيار، عندما تكون قيمته موجبة يكون للشحن أو سالباً للتفريغ أو صفر عندما لا يتم سحب أي تيار – The current (Positive value for charging, Negative for discharging, and zero for idle).
- درجة حرارة البطارية ككٌل – The temperature of the battery pack.
- الوقت المتبقي حتى شحن البطارية بالكامل (في حالة انه يتم شحنها) – Estimated time to full (when charging).
- الوقت المتبقي حتى يتم تفريغ البطارية بالكامل (في حالة انه يتم سحب تيار منها “تفريغها”) – Estimated Time to empty (when discharging).
- سعة البطارية عند تمام الشحن – Full charge capacity. هذه القيمة تصبح في اعلى قيمة لها عندما تكون البطارية جديدة وتقل تدريجياً عندما تسوء حالة البطارية مع الاستهلاك.
- سعة البطارية المتبقية في الوقت الحالي Remaining capacity. تزيد هذه القيمة عندما يتم شحن البطارية وتقل عندما يتم تفريغ البطارية.
- عدد مرات الاستخدام Cycle count. هذه القيمة هي عداد يزيد في كل مرة تقوم بشحن البطارية بشكل كامل ثم تقوم بتفريغها “حتى نسبة معينة يتم برمجتها” بالـ BMS.
- نسبة شحن البطارية (نسبة مئوية) – Absolute/Relative state of charge.
- جهد الشحن – Charging voltage. هذه القيمة تكون ثابتة بالبطارية حيث أن دائرة الشحن تقوم بمخاطبة البطارية من خلال بروتوكول الـ SMBus وتقوم بجلب هذه القيمة ( وتقوم دائرة الشحن باخراج جهد الشحن المناسب للبطارية ).
- تيار الشحن – Charging current. هذه القيمة تكون ثابتة بالبطارية حيث أن دائرة الشحن تقوم بمخاطبة البطارية من خلال بروتوكول الـ SMBus وتقوم بجلب هذه القيمة ( وتقوم دائرة الشحن باخراج تيار الشحن المناسب للبطارية ).
- حالة البطارية – Battery status flags. هو مسجل Register داخلي يبين حالة البطارية ( وجود مشكلة ما بها ).
- حالة ترانزيستورات الموسفيت – Mosfets status. يحتوي الـ BMS على عدد 2 موسفيت. احدهم يتحكم في الشحن والآخر يتحكم بالتفريغ. دائرة الحماية يمكنها أن تتحكم بأي موسفيت منهم بناءً على القيم التي يجب ان تتواجد بها بطارية الليثيوم ( جهود البطاريات، درجة الحرارة، إلخ..).
- حالة الشحن – Charging status. هذا المسجل Register يحتوي على حالة الشحن للبطارية ويقوم بعرض (وجود مشكلة بالشحن).
- هناك المزيد والمزيد ……
من خلال هذه المعلومات. يكون للكمبيوتر القدرة بأن يخمن لك المدة المتبقية حتى تنفذ البطارية ( مع الأخذ بالاعتبار ان الكمبيوتر يسحب تيار كذا والجهد كذا بالوقت الحالي ) بمعنى أن الـ BMS يقوم بعمل Real Time Estimation للوقت المتبقي للكمبيوتر حتى يفصل ( هذه النقطة نقدر نستفيد بها بتطبيقات كثيرة ).
نبذة عن أنظمة إدارة البطاريات – Battery Management Systems (BMSs):
من المؤكد أننا على علم بأن البطارية لهم خصائص تميزهم مثل المقاومة الداخلية Internal Resistance وعوامل كثيرة، ( هذه العوامل متغيرة وليست ثابتة حتى مع نفس البطاريات التي خرجت من نفس خط الانتاج في نفس الوقت ! ). فنجد أن مجموعة البطاريات المتصلة معاً ( على التوالي ) هناك بطاريات منهم ( بتتشحن / بتتفرغ ) أسرع من بطارية أخرى ( مثل ما نقول بالمصري: صوابعك مش زي بعضها ? ) ومع الاستخدام حالة البطارية وصحتها Health تقل مع الاستخدام ( سعة البطاريات Capacity تقل أكيد ).
ماذا يوفر لنا نظام إدارة البطاريات Battery Management System (BMS):
- يوفر لك اسلوب شحن متوازن Balance Charging وهو انه لما جهد بطارية من البطاريات يرتفع عن البطاريات الأخرى، الـ BMS يقوم بتوصيل مقاومة مع البطارية ذات الجهد العالي بحيث يقلل جهدها ويضمن في النهاية ان جهود كل البطاريات متساوية. هذه المشكلة تظهر عندما تقوم بشحن مجموعة بطاريات متصلة توالي.
- يوفرلك العديد من الحمايات بمختلف انواعها مثل:
-
الحماية من ارتفاع الجهد لكل خلية Cell موجودة بمجموعة البطاريات.
-
الحماية من انخفاض الجهد لكل خلية Cell موجودة بمجموعة البطاريات.
-
الحماية من ان بطارية يحدث لها ضرر Damage مثال: جهدها يصل 0 فولت مثلاً.
-
الحماية من ارتفاع درجة الحرارة للبطاريات ( اثناء الشحن، اثناء التفريغ ).
-
الحماية من شحن البطارية بتيار اكبر من القيمة المسموحة.
- الحماية من شحن البطاريات بجهد اكبر من الجهد المسموح بيه.
- الحماية من تفريغ البطارية بتيار اكبر من القيمة المسموحة.
-
- من العجيب ان الـ BMS يكون به أكثر من نظام حماية متعدد المستويات Multiple levels Of protections وهي معقدة جداً حيث أنها تضمن لك ان لو حدث فشل Fail بأي مستوى Level حماية فمن الأكيد أنه في مستوى Level آخر غيره سيكون هذا المستوى يعمل وبيضمن لك الوفرة Redundancy.
هناك بعض الأحداث Actions التي من الممكن ينفذها الـ BMS لو حدث انه حماية من الحمايات قد تم تفعيلها:
- يتم فصل الترانزيستور الموسفيت Mosfet المسئول عن عملية الشحن / التفريغ.
- يتم فصل الفيوز حراري ( الفيوز الحراري هذا هو فيوز يوجد معه مصدر تسخين Heating Element ) بمجرد تشغيل مصدر التسخين ينصهر الفيوز والتيار بينقطع تماماً عن البطارية. في هذه الحالة يسمى فشل دائم Permanent Damage وهو ان البطارية Battery Pack غير قابلة للاستخدام بأي شكل نهائي.
- الـ BMS يوفر لك ( الصندوق الاسود Black Box ). هذا الصندوق يجمع المعلومات عن استخدامك للبطارية منذ خروج البطارية من المصنع ويصل لدرجة انه يسجل أي فشل Fails أو أي حدث Event يحدث في البطارية (حتى لو قمت بفصل البطاريات عن الـ BMS على اساس انه هايحصله إعادة تشغيل Reset للبطارية ومسح الأحداث ف للأسف الـ Black Box يكون مسجل في الفلاش ميموري Flash Memory. وهي ذاكرة لايتم مسحها بانقطاع التيار عنها).
- الـ BMS يوفرلك لك أيضاً خوارزم Algorithm اسمه SOC بمعنى حالة الشحن State Of Charg. هذا الخوارزم مسئول عن مراقبة Monitoring الطاقة التي تدخل / تخرج من وإلى البطارية. ويقدر في أي لحظة أن يحسب لك نسبة شحن البطارية State Of Charge وأيضاً يحسب لك ال نسبة صحة البطارية Battery Health.
- يوفر لك عدد مرات الاستهلاك للبطارية Cycles Count وهنا عندما نشحن البطارية ونفرغها حتى نسبة معينة. يقوم الـ BMS بعمل زيادة للرقم الذي في مسجل الـ Cycles Count. من المفترض ان الكمبيوتر يراقب هذا المسجل Cycles Count ويقدر يعرف عدد مرات استخدامك للبطارية ومن خلال الـ Firmware في الـ BIOS أو حتى الـ Chipset المسئولة عن التعامل مع الـ BMS بتقدر ترفض التعامل مع البطارية وتطلب منك استبدال البطارية بواحدة أخرى.
- هناك ميزة ممتازة جداً في الـ BMS وهي انه من الممكن أن يتم ضبط الـ BMS بحيث ينبه كل الأجهزة المتصلة به من خلال الـ SMBus بحيث كمثال لو وصلت نسبة شحن البطارية State Of Charge لقيمة اقل من رقم يتم تحديده، سوف يقوم الـ BMS بارسال تنبيه بأن البطارية على سوف تفرغ بشكل كُلي. هذه الميزة مفيدة جداً ( ونقدر نستفيد بيها في تطبيقات كثيرة ).
هناك بعض الأدوات Tools تستخدم في عمل إعادة ضبط Reset للـ BMS ( احد هذه الأدوات Toolsسوف تجدوها بالصورة التالية وهي الـ EV2300 ) هاتكلم عنها بالتفصيل في مقال آخر إن شاء الله.
عندما يحدث خطأ بتصنيع نظام ادارة البطاريات Battery Management System سوف تجدوا مثال لبعض الحوادث مثل:
- انفجار بعض موديلات الهواتف المحمولة.
- انفجار بطاريات بعض موديلات اللاب توب.
كل هذا يحدث نتيجة خطأ في تصنيع الـ BMS أو دائرة الشحن !!. الموضوع بالفعل صعب جداً ويحتاج للحذر بشكل شديد جداً.
ما الهدف من سلسلة مقالات أنظمة إدارة البطاريات ؟
أريد أن أشجع كل المهتمين بتعلم أنظمة إدارة البطاريات BMSs وأيضاً كي تأخذ فكرة عنها بما انها ضرورية جداً في مجالات مثل السيارات الكهربائية Electric Vehicles وممكن تفتح فرص كثيرة في المستقبل مثل:
- لو أردنا أن نصنع بطاريات للـ Electric Vehicles.
- أو حتى لو أردنا ان نعيد تدوير أي نوعية من بطاريات الليثيوم في مشاريع آخرى مثل:
- انظمة تخزين الطاقة للمنازل Power Walls واننا نخزن الطاقة من مصادر الطاقة المتجددة Renewable Energy.
- أو حتى نصنع أنظمة الطاقة الغير منقطعة Uninterruptible Power Supplies (UPSs).
- أو اننا نصنع أنظمة Systems يكون وجود الطاقة Power بها شىء ضروري وحتمي من أجل تنفيذ مهمة Task ما ضرورية ومعرفة مدى اعتمادية البطارية على تنفيذ المهمة Task هذه.
استخدامات الـ BMS كثيرة، ممكن تستخدم في مشروعات كثيرة مثل:
- Smart Power Walls.
- Uninterruptible Power Supplies Systems (UPSs).
- Electric Vehicles, ROVs, etc.
- Powering Critical Mission Systems and medical devices.
- والكثير والكثير من التطبيقات.
لو هناك أي أسئلة يمكنك أن تناقشها معي في التعليقات أسفل المقال حتى نستفيد جميعاً من المناقشات.
بالتوفيق ياهندسة
شكراً لتعليقك. بالتوفيق لك أيضاً
شكرا