- لماذا نحتاج إلى اختبار سعة البطارية؟
- المكونات مطلوبة
- مخطط دائرة اختبار سعة بطارية اردوينو
- برنامج اردوينو لقياس سعة البطارية
- تحسينات الدقة
- بناء واختبار الدائرة
مع ظهور التكنولوجيا ، أصبحت أدواتنا وأجهزتنا الإلكترونية أصغر وأصغر مع تطبيقات أكثر عملية وتعقيدًا. مع هذه الزيادة في التعقيد ، ازدادت أيضًا متطلبات الطاقة للدائرة ، وفي سعينا لجعل الجهاز صغيرًا ومحمولًا قدر الإمكان ، نحتاج إلى بطارية يمكنها توفير تيار عالي لفترة طويلة من الزمن وفي نفس الوقت الوقت ، تزن أقل بكثير حتى يظل الجهاز محمولًا. إذا كنت تريد معرفة المزيد عن البطاريات ، يمكنك أيضًا قراءة هذه المقالة حول المصطلحات الأساسية للبطارية.
من بين العديد من أنواع البطاريات المختلفة المتاحة ، فإن بطاريات الرصاص الحمضية وبطاريات Ni-Cd وبطاريات Ni-MH ليست مناسبة لأنها إما تزن أكثر أو لا يمكنها توفير التيار المطلوب لتطبيقنا ، وهذا يتركنا مع بطاريات أيونات الليثيوم والتي يمكن أن توفر تيارًا عاليًا مع الحفاظ على الوزن المنخفض والحجم المضغوط. في السابق ، قمنا أيضًا ببناء شاحن بطارية 18650 ووحدة معززة ونظام مراقبة بطارية يعتمد على إنترنت الأشياء ، يمكنك التحقق منها إذا كنت مهتمًا.
لماذا نحتاج إلى اختبار سعة البطارية؟
هناك العديد من بائعي البطاريات في السوق يبيعون الإصدارات الرخيصة من بطاريات Li-ion التي تدعي مواصفات غريبة بسعر منخفض للغاية وهو أمر جيد جدًا لدرجة يصعب تصديقها. عندما تشتري هذه الخلايا إما أنها لا تعمل على الإطلاق أو إذا كانت تعمل ، فإن سعة الشحن أو التدفق الحالي منخفضة للغاية بحيث لا يمكنها العمل مع التطبيق على الإطلاق. حتى كيفية اختبار بطارية الليثيوم إذا كانت الخلية ليست واحدة من هذه النسخ المقلدة الرخيصة؟ تتمثل إحدى الطرق في قياس جهد الدائرة المفتوحة بدون تحميل وتحميل ولكن هذا لا يمكن الاعتماد عليه على الإطلاق.
لذلك نحن نذهب لبناء 18650 اختبار قدرة البطارية ليثيوم أيون 18650 خلية التي سوف تصريف مشحونة بالكامل 18650 الخلية من خلال المقاوم بينما قياس التيار المار عبر المقاوم لحساب طاقتها. إذا لم تحصل على سعة البطارية المطالب بها بينما يكون جهد الخلية ضمن الحدود المحددة ، فإن هذه الخلية معيبة ويجب ألا تستخدم ذلك لأن حالة شحن الخلية ستستنفد بمعدل سريع جدًا تحت الحمل ، مما يؤدي إلى حلقة التيار المحلي إذا تم استخدامها في بطارية مما يؤدي إلى تسخين وربما نشوب حريق. لذلك دعونا نقفز إليه مباشرة.
المكونات مطلوبة
- اردوينو نانو
- شاشة LCD مقاس 16 × 2 حرف
- LM741 OPAMP IC
- 2.2Ω ، 5 واط المقاوم
- 7805 منظم الجهد الإيجابي IC
- 12 فولت امدادات الطاقة
- 10kΩ مقياس الجهد المتقلب
- 0.47 فائق التوهج مكثف
- 33kΩ المقاوم
- موصل جاك برميل الطاقة DC
- محطات برغي ثنائي الفينيل متعدد الكلور
- IRF540N N- قناة Mosfet IC
- بيرفبورد
- طقم لحام
- مغاسل الحرارة
مخطط دائرة اختبار سعة بطارية اردوينو
يظهر أدناه مخطط الدائرة الكاملة لاختبار سعة البطارية 18650. شرح الدائرة كالتالي-
الوحدة الحسابية والعرضية:
تنقسم هذه الدائرة إلى جزأين ، الأول هو مصدر 5V منخفض لـ Arduino Nano وشاشة 16 × 2 Alphanumeric LCD وتوصيلاتها لعرض نتائج قياسات التيار والجهد في الوقت الفعلي. يتم تشغيل الدائرة بواسطة مصدر طاقة بجهد 12 فولت باستخدام SMPS أو يمكنك استخدام بطارية 12 فولت بالإضافة إلى أن التيار الأقصى سيكون حوالي 60-70 مللي أمبير لتشغيل شاشة Arduino و LCD.
لتخفيض الجهد إلى 5 فولت ، سنستخدم منظم جهد خطي يمكن أن يستغرق ما يصل إلى 35 فولت ويحتاج إلى 7.5 فولت على الأقل لتوفير مصدر طاقة منظم 5 فولت ويتم تبديد الجهد الزائد كحرارة وبالتالي إذا كان الإدخال الخاص بك الجهد الكهربي LM7805 IC منظم الجهد أكثر من 12 فولت ، ثم ضع في اعتبارك إضافة المشتت الحراري حتى لا يتضرر. يتم تشغيل شاشة LCD بمصدر 5 فولت من 7805 ومتصلة بـ Arduino وتعمل في وضع 4 بت. لقد أضفنا أيضًا مقياس جهد ممسحة 10 كيلو أوم للتحكم في تباين شاشة LCD.
دائرة تيار الحمل المستمر:
ثانيًا ، دائرة الحمل الحالية الثابتة القائمة على PWM لجعل تيار الحمل المتدفق عبر المقاوم يمكن التحكم فيه من قبلنا وثابت بحيث لا يكون هناك خطأ يتسلل بسبب تغير التيار مع مرور الوقت حيث ينخفض جهد الخلية. وتتكون من LM741 OPAMP IC و IRF540N N-Channel MOSFET ، والتي تتحكم في التيار المتدفق عبر MOSFET عن طريق تشغيل وإيقاف تشغيل MOSFET وفقًا لمستوى الجهد الذي حددناه.
يعمل جهاز op-amp في وضع المقارنة ،لذلك في هذا الوضع. سيكون ناتج جهاز op-amp مرتفعًا عندما يكون جهد الدبوس غير العكسي أعلى من الدبوس المقلوب. وبالمثل ، إذا كان الجهد عند الدبوس المقلوب لجهاز op-amp أعلى من الدبوس غير المقلوب ، فسيتم سحب خرج المرجع لأسفل. في الدائرة المعينة ، يتم التحكم في مستوى جهد الدبوس غير العكسي بواسطة دبوس D9 PWM من Arduino NANO ، والذي يقوم بالتبديل بتردد 500 هرتز والذي يتم تمريره بعد ذلك عبر مرشح دائرة RC منخفض التمرير بقيمة مقاومة 33kΩ ومكثف بسعة 0.47 uF ، لتوفير إشارة تيار مستمر ثابتة تقريبًا عند الدبوس غير المقلوب. يتم توصيل الدبوس العكسي بمقاوم الحمل ، والذي يقرأ الجهد عبر المقاوم و GND المشترك. يتم توصيل دبوس خرج OPAMP بطرف بوابة MOSFET لتشغيله أو إيقاف تشغيله.سيحاول OPAMP جعل الفولتية على كل من طرفيه متساوية عن طريق تبديل MOSFET المتصل بحيث يتناسب التيار المتدفق عبر المقاوم مع قيمة PWM التي حددتها عند D9 دبوس NANO. في هذا المشروع ، الحد الأقصى للتيار ، حددت دائري بـ 1.3A وهو أمر معقول لأن الخلية التي أمتلكها هي 10A كأقصى تصنيف حالي لها
قياس الجهد:
الجهد الأقصى لخلية Li-Ion النموذجية المشحونة بالكامل هو 4.1V إلى 4.3V وهو أقل من حد الجهد 5V لدبابيس الإدخال التناظرية في Arduino Nano التي تحتوي على مقاومة داخلية تزيد عن 10kΩ حتى نتمكن من توصيلها مباشرة خلية إلى أي من دبابيس الإدخال التناظرية دون القلق بشأن تدفق التيار من خلالها. لذلك ، في هذا المشروع ، نحتاج إلى قياس جهد الخلية حتى نتمكن من تحديد ما إذا كانت الخلية في نطاق التشغيل الصحيح للجهد وما إذا كانت فارغة تمامًا أم لا.
نحتاج إلى قياس التيار المتدفق عبر المقاوم أيضًا ، لذلك لا يمكننا استخدام التحويلة الحالية لأن تعقيد الدائرة سيزداد وستؤدي المقاومة المتزايدة في مسار الحمل إلى تقليل معدل تفريغ الخلية. سيتطلب استخدام مقاومات تحويل أصغر دائرة مضخم إضافية لجعل قراءة الجهد القادمة منها قابلة للقراءة من Arduino.
لذلك نقرأ الجهد مباشرة عبر المقاوم للحمل ثم باستخدام قانون أوم يقسم الجهد الذي تم الحصول عليه بواسطة قيمة المقاوم للحمل للحصول على التيار المتدفق من خلاله. يتم توصيل الطرف السالب للمقاوم مباشرة بـ GND ، لذلك يمكننا أن نفترض بأمان أن الجهد الذي نقرأه على المقاوم هو انخفاض الجهد في المقاوم.
برنامج اردوينو لقياس سعة البطارية
الآن بعد الانتهاء من دائرة الأجهزة ، ننتقل إلى برمجة Arduino. الآن إذا لم يكن لديك Arduino IDE مثبتًا على جهاز الكمبيوتر الخاص بك ، فماذا تفعل هنا! انتقل إلى موقع Arduino الرسمي وقم بتنزيل Arduino IDE وتثبيته أو يمكنك الترميز في أي محرر آخر أيضًا ، لكن هذا موضوع ليوم آخر في الوقت الحالي نلتزم بـ Arduino IDE. نحن الآن نستخدم Arduino Nano ، لذا تأكد من تحديد لوحة Arduino Nano بالانتقال إلى TOOLS> BOARDS وتحديد ARDUINO NANO هناك ، حدد الآن المعالج الصحيح الذي تمتلكه nano بالانتقال إلى الأدوات> المعالجوأثناء وجودك هناك أيضًا حدد المنفذ الذي يتصل به Arduino على جهاز الكمبيوتر الخاص بك. نحن نستخدم Arduino لتشغيل شاشة LCD الأبجدية الرقمية 16 × 2 المتصلة بها ولقياس جهد الخلية والتيار المتدفق عبر مقاوم الحمل كما هو موضح في القسم السابق ، نبدأ الكود الخاص بنا عن طريق إعلان ملفات الرأس على محرك 16 × 2 شاشة LCD أبجدية رقمية. يمكنك تخطي هذا القسم للحصول على الكود المطبوخ والمقدم بالكامل في نهاية الصفحة ولكن تحمل معنا بينما نقسم الكود إلى أقسام صغيرة ونحاول التوضيح.
الآن بعد أن تم تحديد ملف الرأس ، ننتقل إلى إعلان المتغيرات ، وسنستخدمها في الكود لحساب الجهد والتيار. أيضًا ، يتعين علينا تحديد المسامير التي نستخدمها لتشغيل شاشة LCD والمسامير التي سنستخدمها لإعطاء خرج PWM وقراءة الفولتية التناظرية القادمة من الخلية والمقاوم أيضًا في هذا القسم.
#تضمن
الآن قادم إلى جزء الإعداد ، إذا كنت تريد إبقاء Arduino متصلاً بجهاز الكمبيوتر الخاص بك طوال الوقت ومراقبة التقدم باستخدام Serial Monitor وتهيئة شاشة LCD هنا. سيعرض أيضًا رسالة ترحيب "Battery Capacity Tester Circuit" على الشاشة لمدة 3 ثوانٍ.
إعداد باطل () {Serial.begin (9600) ؛ lcd.begin (16 ، 2) ؛ lcd.setCursor (0 ، 0) ؛ // اضبط المؤشر على العمود الأول والصف الأول. lcd.print ("سعة البطارية") ؛ lcd.setCursor (0،1) ؛ lcd.print ("حلبة اختبار") ؛ تأخير (3000) ؛ lcd.clear () ؛ }
الآن لا نحتاج إلى إعلان أن دبوس Arduino PWM هو الإخراج لأن وظيفة AnalogWrite التي سنستخدمها في الحلقة الرئيسية لدينا تهتم بهذا الجزء. أنت بحاجة إلى تحديد قيمة PWM ليتم كتابتها على هذا الدبوس في الكود. حدد قيمة PWM بعناية وفقًا لتيار التفريغ المطلوب في التطبيق الخاص بك. سيؤدي الكثير من قيمة PWM إلى ارتفاع التيار مع انخفاض الجهد العالي في خلية Li-Ion وستؤدي قيمة PWM المنخفضة جدًا إلى وقت تفريغ عالي للخلية. في وظيفة الحلقة الرئيسية ، سنقرأ الفولتية على المسامير A0 و A1 لأن Arduino يحتوي على ADC 10 بت على اللوحة ، وبالتالي يجب أن نحصل على قيم إخراج رقمية تتراوح من 0-1023 والتي سنحتاج إلى تقليصها إلى نطاق 0-5V بضربه في 5.0 / 1023.0. تأكد من قياس الجهد بشكل صحيح بين دبابيس 5V و GND في Arduino Nano باستخدام Voltmeter أو Multimeter حيث أن الجهد المنظم في معظم الأحيان لا يكون 5.0 فولت بالضبط وحتى الاختلاف البسيط في هذا الجهد المرجعي سيؤدي إلى أخطاء زاحفة في قراءات الجهد ، لذا قم بقياس الجهد الصحيح واستبدل 5.0 في المضاعف المذكور أعلاه.
الآن لشرح منطق الكود ، نقوم بقياس جهد الخلية باستمرار وإذا كان جهد الخلية أعلى من الحد الأعلى الذي حددناه في الكود ، فسيتم عرض رسالة الخطأ على شاشة LCD لإعلامك بما إذا كانت الخلية الشحن الزائد أو أن هناك خطأ ما في الاتصال ويتم إيقاف الطاقة إلى دبوس بوابة MOSFET بحيث لا يمكن لأي تيار أن يتدفق عبر المقاوم. من الأهمية بمكان أن تشحن خليتك بالكامل أولاً قبل توصيلها بلوحة اختبار السعة حتى تتمكن من حساب سعة الشحن الإجمالية.
analogWrite (MOSFET_Pin ، PWM_VALUE) ؛ // اقرأ الإدخال على الدبوس التناظري 0: int sensorValue_voltage_Cell = analogRead (A0) ؛ // قم بتحويل القراءة التناظرية (التي تنتقل من 0-1023) إلى جهد (0-5 فولت): الجهد العائم = sensorValue_voltage_Cell * (5.08 / 1023.0) ؛ Serial.print ("VOLTAGE:") ؛ Serial.println (الجهد) ؛ // هنا يتم طباعة الجهد على Serial Monitor lcd.setCursor (0 ، 0) ؛ // اضبط المؤشر على العمود الأول والصف الأول. lcd.print ("الجهد:") ؛ // طباعة قراءة الجهد على شاشة lcd.print (الجهد) ؛ تأخير (100) ؛ int sensorValue_Shunt_Resistor = analogRead (A1) ؛ تعويم الجهد 1 = sensorValue_Shunt_Resistor * (5.08 / 1023.0) ؛ التيار العائم = الجهد 1 / المقاوم ؛ Serial.print ("Current:") ؛ Serial.println (تيار) ؛ lcd.setCursor (0 ، 1) ؛// ضع المؤشر على العمود الأول والصف الثاني (يبدأ العد من 0!). lcd.print ("Current:") ؛ lcd.print (الحالية) ؛
الآن ، إذا كان جهد الخلية ضمن حدود الجهد العلوي والسفلي المحددة من قبلنا ، فسوف يقرأ Nano القيمة الحالية بالطريقة المحددة أعلاه ويضربها مع الوقت الذي يمر أثناء القياسات ويخزنها في متغير السعة الذي حددناه سابقًا في وحدات مللي أمبير. خلال هذا الوقت بالكامل ، يتم عرض قيم التيار والفولتية في الوقت الفعلي على شاشة LCD المرفقة ، وإذا أردت ، يمكنك أيضًا رؤيتها على الشاشة التسلسلية. ستستمر عملية تفريغ الخلية حتى يصل جهد الخلية إلى ما دون الحد الأدنى المحدد من قبلنا في البرنامج ثم يتم عرض السعة الإجمالية للخلية على شاشة LCD ويتم إيقاف تدفق التيار عبر المقاوم عن طريق سحب بوابة MOSFET دبوس منخفض.
وإلا إذا كان (الجهد> BAT_LOW && voltage <BAT_HIGH) {// تحقق مما إذا كان جهد البطارية ضمن الحد الآمن millisPassed = millis () - previousMillis؛ مللي أمبير = الحالي * 1000.0 ؛ السعة = السعة + (mA * (millisPassed / 3600000.0)) ؛ // 1 ساعة = 3600000 مللي ثانية لتحويلها إلى وحدات مللي أمبير سابق ميليس = ميلي () ؛ تأخير (1000) ؛ lcd.clear () ؛ }
تحسينات الدقة
إنها ، بكل الوسائل ، طريقة جيدة بما يكفي لقراءة الجهد والتيار ، لكنها ليست مثالية. العلاقة بين الجهد الفعلي والجهد ADC المقاس ليست خطية وهذا سيكون بمثابة خطأ في قياسات الفولتية والتيارات.
إذا كنت ترغب في زيادة دقة النتيجة ، فيجب عليك رسم قيم ADC التي تحصل عليها من تطبيق مصادر جهد مختلفة معروفة على رسم بياني ثم تحديد معادلة المضاعف منها باستخدام أي طريقة تريدها. بهذه الطريقة ، سيتم تحسين الدقة ، وستقترب جدًا من النتائج الفعلية.
أيضًا ، MOSFET الذي استخدمناه ليس MOSFET على المستوى المنطقي ، لذلك فهو يحتاج إلى أكثر من 7 فولت لتشغيل القناة الحالية بالكامل وإذا طبقنا 5 فولت مباشرة عليها ، فإن القراءات الحالية ستكون غير دقيقة. ولكن يمكنك استخدام المستوى المنطقي IRL520N N-Channel MOSFET للتخلص من استخدام مصدر بجهد 12 فولت والعمل مباشرة مع مستويات المنطق 5 فولت التي لديك مع Arduino.
بناء واختبار الدائرة
الآن بما أننا صممنا واختبرنا أقسامًا مختلفة من دائرتنا على لوح تجارب وبعد التأكد من أن جميعها تعمل على النحو المنشود ، فإننا نستخدم Perfboard لتلحيم جميع المكونات معًا لأنها طريقة أكثر احترافًا وموثوقية لاختبار الدائرة. إذا كنت تريد ، يمكنك تصميم PCB الخاص بك على AutoCAD Eagle أو EasyEDA أو Proteus ARES أو أي برنامج آخر تريده. يتم تثبيت Arduino Nano و 16 × 2 Alphanumeric LCD و LM741 OPAMP على Female Bergstik بحيث يمكن إعادة استخدامها لاحقًا.
لقد قدمت إمدادًا بجهد 12 فولت من خلال موصل DC Barrel Jack لدائرة تيار الحمل الثابت ، ثم بمساعدة LM7805 ، يتم توفير 5V لشاشة Nano و LCD. الآن قم بتشغيل الدائرة وضبط وعاء الانتهازي لضبط مستوى التباين في شاشة LCD ، يجب أن ترى رسالة الترحيب على شاشة LCD الآن ، ثم إذا كان مستوى الجهد للخلية في نطاق العمل ، ثم الحالي سيتم عرض الجهد والتيار من البطارية هناك.
يعد هذا اختبارًا أساسيًا جدًا لحساب سعة الخلية التي تستخدمها ويمكن تحسينها عن طريق أخذ البيانات وتخزينها في ملف Excel للقيام بمعالجة البيانات اللاحقة والتصور بطرق رسومية. في عالم اليوم المعتمد على البيانات ، يمكن استخدام منحنى تفريغ الخلية هذا لبناء نماذج تنبؤية دقيقة للبطارية لمحاكاة ورؤية استجابة البطارية تحت ظروف التحميل دون اختبار العالم الحقيقي باستخدام برامج مثل NI LabVIEW و MATLAB Simulink ، إلخ. والكثير من التطبيقات في انتظارك. يمكنك العثور على العمل الكامل لهذا المشروع في الفيديو أدناه. إذا كان لديك أي أسئلة حول هذا المشروع ، يرجى كتابتها في قسم التعليقات أدناه أو استخدام منتدياتنا. اذهب واستمتع بها وإذا أردت ، يمكننا إرشادك في قسم التعليقات أدناه حول كيفية المضي قدمًا من هنا. حتى ذلك الحين وداعا !!!