تطوير بنك الطاقة للكمبيوتر المحمول. من التخطيط إلى المنتج النهائي. الجزء الثاني

في الجزء الأخير من المقالة حول تطوير PowerBank لجهاز كمبيوتر محمول ، استقرنا على تصميم مُصنّع وكفاءة مُقاسة وفهم لما يجب فعله بعد ذلك. ثم كان من الضروري إحياء قطعة الحديد. لذلك ، أقدم انتباهكم إلى الجزء الثاني: تخطيط البرامج.



اتضح أن الفاصل بين الأجزاء كبير جدًا - تم إلقاء جميع القوى في مشروع بطارية خارجية سريعة الشحن ، والتي تجمع الآن الدعم في ازدهار . فلنكمل. من أجل فهم أي دوائر صغيرة سنضطر إلى برمجتها ، سنلقي نظرة على مخطط الكتلة للتخطيط. من هنا يتضح أنه سيتعين علينا كتابة برنامج للتحكم MK (STM32F042) ، بالإضافة إلى تكوين نظام التحكم في بطارية Li-ion + شاحن (BQ40Z60). لقد بدأت بالثاني ، لأنني اعتبرت هذا الجزء أصعب. لبرمجة جهاز التحكم BQ40Z60 ، نحتاج إلى: - محول EV2400 و EV2300 ( جاهز أو محلي الصنع). لقد تركت EV2300 من المشاريع السابقة ، لذلك استخدمتها. - البرنامج







ستوديو إدارة البطارية (bqStudio) .
المحول متصل عبر ناقل SMBus ، للاتصال الذي تركت نقاط لحام على خطوط SMBD و SMBC. (ليس الحل الأكثر عملية - ثم أدركت أنه كان علي تثبيت الموصل).

بعد الرقص مع الدف ، قررت BQ40Z60 على Battery Management Studio. كان السبب في ذلك هو وضع السكون الذي تدخل فيه وحدة التحكم عندما لا يكون هناك سحب في حافلة SMBus ولا يمكن الوصول إليها. يستيقظ عند توصيل الذاكرة.
بعد ذلك ، سنقوم مباشرة بضبط شريحة BQ40Z60. القول بأن لديه العديد من السجلات يعني عدم قول أي شيء. مليون الإعدادات. نظرًا لأن التكوين عملية طويلة ومعقدة (مطلوب مقالة منفصلة للوصف) سأصفها بإيجاز.

بعد البدء ، تظهر نافذة Battery Management Studio الرئيسية.

تحتوي علامة تبويب ذاكرة البيانات على عدد كبير من الحقول التي يجب أن ندخل فيها معلمات البطارية وأنماط تشغيل وحدة التحكم.

في علامة تبويب الكيمياء ، يمكنك محاولة العثور على معايرات جاهزة للخلايا المستخدمة.


بالنسبة لي YOKU LP 5558115 3500mAh ، لم تكن هناك معايرات جاهزة (بالمناسبة ، يتم تحديث المعايرات باستمرار ). تم العثور على YOKU LP 656193 4000mAh مماثل. بعد أن أدركت أنني ما زلت لا أعرف أي شيء عن الحزم المتاحة ، اخترت هذا الملف الشخصي.

ثم ، في علامة التبويب ذاكرة البيانات ، قمت بتكوين:
المعايرة: قيم معايرة الفولتميتر (الخلايا والبطاريات ومحول خارجي) ، ومقاومة المستشعر الحالي ، وقيم المعايرة لمستشعر درجة الحرارة.
الإعدادات:إدراج الحماية ، الثرمستورات ، المصابيح ، وضع السكون ، تكوين البطارية.
الحمايات: تحديد عتبات الحماية (الجهد ، الوقت ، درجة الحرارة) ، تحديد عتبة الجهد للمحول الخارجي.
إخفاق دائم: تحديد عتبات للأخطاء التي لا يمكن إصلاحها (بحيث لا يمكن تشغيل البطارية مرة أخرى).
خوارزمية الشحن المتقدمة: ضبط الشاحن (التيارات ، الفولتية لنطاقات درجات الحرارة المختلفة ، علامة نهاية الشحن ، التوازن).
قياس الغاز: ضبط الوحدة لتحديد مستوى الشحنة (سعة لوحة / جهد الخلية ، مقاومة الأسلاك ، الإحصائيات).
الطاقة: ضبط أوضاع تشغيل جهاز التحكم.
حالة PF:حالة بت حالة الفشل الدائم
بيانات النظام: حقول بيانات الشركة المصنعة.
تكوين SBS: تعيين عتبات المشغل لمشغل التنبيه ، معلومات البطارية الأساسية (الرقم التسلسلي ، تاريخ الإنتاج ، الشركة المصنعة ، الاسم ، الكيمياء).
دعم LED: ضبط وضع ضوء مؤشر LED.
الصندوق الأسود: الصندوق الأسود (تاريخ التغييرات في بتات الحماية).
مدى الحياة: إحصائيات البطارية.
جدول Ra: جدول مقاومات الخلية الداخلية.

خلال عملية الإعداد ، لم أغير جميع الحقول ، ولكن هذا كان كافياً للبدء.

مع هذا الجزء من الدائرة ، لم يكن هناك سوى عتاد واحد متصل بإخراج الدائرة المصغرة 21-AFEFUSE. حدث مثل هذا:
كنت تمزق الدائرة من لوحة التصحيح باستثناء الدائرة الصغيرة للحماية الثانوية وفتيل التفجير. يحتوي BQ40Z60 على 21 دبابيس AFEFUSE لحرق الصمامات (كما اعتقدت). لذلك نظرت إلى الصفحة الخامسة من ورقة بيانات BQ40Z60 ، رأيت

نوع إخراج الإخراج في الجدول ، وبضمير مرتاح ، تركته معلقًا في الهواء. ظهرت المشاكل بعد لحام اللوحة: قمت بفرز جميع الإعدادات (وفي ذلك الوقت كان هناك الكثير من الشكوك) ، لكنها لم تنجح - لم يتم تشغيل الترانزستورات للشحن والتفريغ. بعد يومين من الشك / المداولة / التجربة والخطأ ، لاحظت أن بت FUSE_EN لم يتم تعيينه وقررت "طرح سؤال على الناس" وعندما نشرت سؤالًا ، ظهرت لي نظرة ثاقبة

عند النظر إلى لوحة الدوائر في لوحة التصحيح ، اقترحت أن دبوس AFEFUSE يمكن أن يكون أيضًا إدخالًا ، والذي تم تأكيده بواسطة القسم 9.3.2.4 ص 24 ، والذي ينص على أنه إذا لم يتم استخدام الدبوس ، فيجب توصيله بالأرض. لقد فعلت ذلك بملاقط وعملت. بعد 5 دقائق ، أجابوني على e2e.com - الجواب واضح وصحيح ، لقد عبرت عن "phi" الخاص بي بشأن الخطأ في جدول الإخراج - ووعدوا بإصلاحه في الإصدارات المستقبلية من الوثائق.
لإنهاء إعدادات وحدة التحكم ، قمت بتشغيل دورتين تدريبيتين الشحن الكامل / التفريغ + الاسترخاء (استغرق الأمر ما مجموعه 30 ساعة).

الآن دعنا ننتقل إلى برمجة STM32F042. في مرحلة التصوير ، لم يتطلب هذا المعالج الكثير:
- التحكم في محول الجهد ، ومعالجة الأزرار.
- اذهب قدر الإمكان إلى النوم حتى لا تفرغ البطارية.
- قراءة المعلمات الرئيسية للبطارية من وحدة التحكم (الجهد ، التيار ، مستوى الشحن ، درجة الحرارة ، الحالة الحالية ، عدد الدورات ، الوقت حتى الشحن الكامل / التفريغ) وإخراجها إلى جهاز الكمبيوتر عبر USART (نظرًا لأن محول CP2102 موجود بالفعل على اللوحة). على الرغم من أن المعالج يحتوي على USB على متن الطائرة ، إلا أنني لم أستخدمه في التخطيط ، وتم عمل تخطيط لـ 051 MK ، ولكن لم أتمكن من شرائه.

تم تقليل التحكم في المحول إلى وضع استنتاجين (التبديل ووضع التشغيل) ، تزويد PWM (مع التصفية اللاحقة RC) إلى إخراج إعداد تردد تحويل رقاقة LTC3780 (نتيجة لذلك ، قم بتعيين التردد إلى 400 كيلو هرتز كحد أقصى) ، ومدخل مراقبة إشارة PowerGood. ولكن حتى هنا تمكنت من السير على أشعل النار. كان الخطأ عائمًا وحدث عندما استلقى Power Bank لفترة طويلة ، معبرًا عنه في حقيقة أنه لم يتم تشغيله. كانت المشكلة هي أنني قمت أولاً بتشغيل المقاطعة لإشارة PowerGood من LTC3780 ، ثم قمت بتشغيل الشريحة نفسها (EN). اتضح أن المقاطعة انطلقت حتى قبل بدء المحول وأوقفته. إعادة ترتيب الأحداث في الأماكن وإضافة تأخير - اختفت المشكلة. خلاف ذلك ، كانت هذه الوظيفة سهلة.

تقرر إنشاء واجهة مستخدم مع زر 1 و 5 (6) مصابيح LED (على الرغم من وجود زرين و 10 مصابيح LED على لوحة التخطيط). يعمل على النحو التالي:
تم إيقاف تشغيل الجهاز -> ضغطة قصيرة (<500 مللي ثانية) - الرسوم المتحركة لمستوى الشحن على 4 مصابيح LED.
تم إيقاف تشغيل الجهاز -> الضغط لفترة طويلة (> 500 مللي ثانية) - قم بتشغيل الجهاز (يضيء مصباح LED الخامس).
تم إيقاف تشغيل الجهاز -> توصيل الذاكرة -> الرسوم المتحركة لمستوى الشحن على 4 مصابيح LED حتى نهاية عملية الشحن.
الجهاز قيد التشغيل -> ضغطة قصيرة - رسم متحرك لمستوى الشحن على 4 مصابيح LED.
الجهاز قيد التشغيل -> الضغط لفترة طويلة - قم بإيقاف تشغيل الجهاز.
الجهاز مغلق -> الاستهلاك الحالي أقل من 50 مللي أمبير لأكثر من 3 دقائق. - أوقف تشغيل الجهاز.
هذا سمح لإزالة 27 عنصر من الجهاز.

لدي بالفعل خبرة في تطبيق أوضاع النوم على STM32F0xx ، لذلك لم أعول على أشعل النار هنا. لتحسين الاستهلاك ، قمت أولاً باستبدال LDO 3.3V بـ mcp1703 بتيار منخفض من استهلاكي الخاص (كان من الضروري عدم التمزق من التصحيح ، ولكن تثبيته على الفور). الحجم ، السعر ، الاستهلاك ، طقم الجسم - كلها أقل من LP2951.
بفضل Hardegor لتحرير LDO لـ Li-ion 4s. لا يمكن استخدام Mcp1703 بسبب انخفاض جهد الدخل. لقد استخدمت LiFePo4 للكيمياء - لا توجد مشكلة من هذا القبيل. كن حذرا!!!
-عند إيقاف تشغيل الجهاز ، يكون عضو الكنيست في وضع الاستعداد ويستجيب فقط لضغطة زر أو توصيل جهاز ذاكرة. الاستهلاك في هذا الوضع هو 108 μA (100 منهم يستهلكون BQ40Z60).
- عند تشغيل الجهاز ، يكون المعالج معظم الوقت (باستثناء لحظات الإشارة والاستقصاء لـ BQ40Z60) في وضع STOP باستهلاك 1.5 مللي أمبير (1 مللي أمبير هو LED). في وقت الاستجواب والإشارة ، يتراوح الاستهلاك الحالي من 4.5 إلى 9 مللي أمبير.
- عند توصيل USB MK في وضع RUN بسرعة 48 ميجاهرتز ، يكون الاستهلاك 15 مللي أمبير. في المستقبل سأقوم بتشغيل عضو الكنيست في هذا الوضع من USB.

أكبر مشكلة محتملة كانت مسح BQ40Z60. لم أعمل مع SMBus وحتى الأمل الأخير في أن SMBus هو I2C 1v1 (وهذا يرجع جزئيًا إلى أن المستوى المادي هو نفسه بالنسبة لهم) ، ولكن اتضح أن مستوى القناة مختلف جدًا وهذا خلق عددًا من الصعوبات. هنا لن أصف الاختلافات بين SMBus و I2C ، لكني سأوفر رابطًا لمقال مختص إلى حد ما . في مرحلة التخطيط ، لم أشارك في مكافحة SMBus (بالمناسبة ، كمبرمج ، أنا أضعف بكثير من مصمم الدوائر) وبما أن أوامر الإرسال والاستقبال بايت في SMBus و I2C كانت متطابقة تمامًا ، فقد استخدمتها فقط. ونتيجة لذلك ، قرأت SOC و SOH و Current و CellVolt و TimeToFull و TimeToEmpty من BQ40Z60. بناءً على قيم السجلات ، تغير وضع التشغيل (تم إصدار تحذيرات ، حدث أي إيقاف تشغيل).

حسنًا ، على جانب الكمبيوتر الشخصي ، بالطبع ، كان هناك حاجة إلى برنامج يمكنه عرض البيانات المقروءة من البطارية في شكل مناسب. نظرًا لأنني لم أتمكن من استخدام سوى GUIs في Borland C ++ Builder وقمت بذلك لفترة طويلة ، فقد طلبت من المبرمج رسم تصحيح بسيط لي. للحصول على سوط سريع ، خرج ما يلي:


هذا هو كل العمل الذي تم تنفيذه في مرحلة التخطيط. علاوة على ذلك ، في الخطط (وبما أنني أصف العمليات التي تم إنجازها بالفعل ، فقد تم بالفعل تنفيذ جزء من العمل) ، ونقل المواصفات الفنية إلى المصمم لتطوير / تصنيع حزمة PowerBank ، وتصحيح / مراجعة الأخطاء في الدائرة ، وتغيير اللوحة للحالة ، ومراجعة البرامج. بعد ذلك ، سيكون الجهاز مشابهًا للمنتج ، وبعد الانتهاء منه ، سيصبح منتجًا بالمعنى الحرفي للكلمة. في الأجزاء التالية من المقالة ، سننظر في المراحل والصعوبات الرئيسية للانتقال من التخطيط إلى المنتج النهائي ، والعمل على التعبئة والتغليف ، والنظر في تكاليف الحلول والعمليات المختلفة ، والتحسين ، ونرى أيضًا النتيجة النهائية.

Source: https://habr.com/ru/post/ar386899/


All Articles