تحياتي أيها القارئ.
في كثير من الأحيان ، لدي مهمة تطوير أجهزة محمولة مدعومة ببطارية Li-ion ذات خلية واحدة. وإذا لم يكن هذا عادةً مصدر قلق للعميل ، فعندئذ كمهندس متمرس ، يمر رجفة في ظهري عندما أرى مثل هذه المعارف التقليدية. هذا يرجع إلى حقيقة أن تقييم مستوى البطارية ، وكذلك الوقت المتبقي ، مهمة صعبة للغاية ، على الرغم من أنها قد تبدو مختلفة للوهلة الأولى.

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

في الواقع ، هذا مقسم جهد للمقاومات R19 و R21 ، متصل عبر مفتاح VT6. هناك حاجة إلى الترانزستور VT7 للقضاء على الطاقة الطفيلية إلى MK من خلال طرف EN.
VBAT - جهد البطارية
VBAT_mes - الجهد القادم إلى ADC
EN - إشارة تحكم مقسم (0-off ، 1-on)
الآن نعرف جهد البطارية ، نحن زملاء رائعون. لكنها لا تعطي شيئًا تقريبًا !!! والحقيقة هي أن منحنى التفريغ النموذجي لبطارية Li-ion ، بشكل خفيف ، ليس خطيًا ويعتمد على الاستهلاك ودرجة الحرارة الحالية للبطارية نفسها:

بالنظر إلى هذه الرسوم البيانية ، هل يمكنك معرفة سعة البطارية المتبقية بجهد 3.5 فولت؟ لا أعتقد ذلك ...
يمكن تحسين هذه الطريقة قليلاً باستخدام مستشعر درجة الحرارة المدمج في MC للحصول على تقدير تقريبي لدرجة حرارة البطارية ، أو يمكنك وضع مستشعر لقياس التيار ، أو (إذا كان تيار الاستهلاك ثابتًا تقريبًا) قم بإنشاء منحنى تفريغ لاستهلاك التيار النموذجي. سيتيح هذا على الأقل القليل من التبرير لتكاليف العمالة ، ولكن لا يمكن الحديث عن أي دقة. للإشارة إلى الشحن على 3 مصابيح LED - نعم ، ستفعل.
في حالة الاستهلاك الحالي المستمر ، يمكنك أن تأخذ عمر البطارية وتقدير الشحنة المستهلكة والوقت المستغرق في الشحن لتقييم الشحنة المتراكمة. تؤدي هذه الطريقة إلى خطأ تراكمي ، حيث يمكن أن تكون المعايرة عند نقطتين فقط (شحن كامل أو تفريغ كامل) ، ولا يتم تحقيقها دائمًا. بالإضافة إلى ذلك ، مع تدهور البطارية ، يجب تعديل الحد الأقصى لوقت التشغيل ، ولكن بشكل عام ، يكون للطريقة الحق في الحياة.
- اصنع نظام مراقبة شحن البطارية (BMS) الخاص بك. لتنفيذها ، نحتاج إلى أجهزة استشعار للتيار ودرجة الحرارة والجهد البطارية. نعتقد أن MK موجود بالفعل في الجهاز ويبقى "فقط" لكتابة برنامج له ، وهو ما استغرق مني في وقت واحد أقل من عام بقليل.
- خذ رقاقة قياس الغاز النهائية (على سبيل المثال ، من TI أو مكسيم المتكاملة) ، قم بتكوينها ومعايرتها والعمل. على سبيل المثال ، مخطط bq27220:

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

هذا هو التناظرية الصينية لرقاقة MAX17048. شريحة بسيطة للغاية بدون أجهزة استشعار درجة الحرارة والتيار ، مع دقة منخفضة مقابلة ، ولكن في نفس الوقت رخيصة وسهلة الاستخدام والبرمجة. لديه القدرة على العمل على جانب الجهاز ، مما يسمح بعدم تعديل البطارية نفسها. تم العثور على الدائرة المصغرة في المساحات المفتوحة للشبكة في عملية كتابة المواد ، ولا توجد خبرة في ذلك ، ولكن هناك رغبة في المحاولة ، لأن الخيار مثير للاهتمام حقًا. ربما في المقالة التالية سأتحدث عن هذه الشريحة بمزيد من التفصيل.
- وأخيرًا ، الطريقة الأخيرة التي أعلم أنني أريد تكريسها لمقالة اليوم. في رأيي ، هذه الطريقة هي أبسط ، ولكنها تعطي أفضل نتيجة. وهو يتألف من حقيقة أننا نأخذ البطارية من iPhone مع مقياس الغاز المدمج والحماية ، والاتصال عبر HDQ أو I2C ، والاستجواب والعمل. في هذه الحالة ، يتم تجميع البطارية ومعايرتها بالفعل. فيما يلي جدول به خيارات البطارية المعروفة لي:

يتم أخذ الجدول جزئيًا من مواقع
ripitapart.com و
www.macplus.ru . يرجى الانتباه بشكل خاص إلى وحدة التحكم غير المعروفة التي تحمل علامة A1141. يتم تصنيع هذه الشريحة بواسطة
PowerFlash وهذه هي جميع المعلومات التي يمكن العثور عليها. لم يكن مؤلف
المدونة التي أخذت منها الطاولة متأكداً من أنه حصل على البطارية الأصلية من iPhone SE. بفضل استدعاء
asterix_tyumen ، الذي فكك البطارية الأصلية من SE ، وجد أنها تكلف sn27545. سنضطر أدناه إلى النظر في A1141 بمزيد من التفصيل. لكن الآن ، لنلق نظرة على البطاريات:

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

تم اختيار البطارية من iPhone 6 ، وهو ما يناسبنا من حيث السعة والحجم. تم شراء عدة نسخ في مواقع مختلفة للتحقق منها:

تم شراء الحق في الصين ، والباقي في موسكو. التكلفة $ 6-11. عندما يتم فحصها ، سيتم الحصول على نتائج مثيرة للاهتمام إلى حد ما. انتبه بشكل خاص للمربع الذي يحتوي على نقش "Orig" ، ثم سنعود إليه لاحقًا. تم إجراء التحقق باستخدام قارئ RFID نفسه ، مبرمج TI EV2300 واستوديو إدارة البطارية.
يوضح الشكل التالي دائرة تزويد الطاقة لقارئ RFID:

الذاكرة الخطية المستندة إلى STC4054 (TP4054) ، تيار الشحن 500 مللي أمبير ، مفتاح الطاقة الانتقائي الذاتي القائم على مفتاح القصب SF1 ، المكثف C19 ، الصمام الثنائي VD4 والمقاوم R15 ، بالإضافة إلى محول النبض القائم على NCP1529.
أول توصيل نسخة من الصين مقابل 6 دولارات:

تستجيب البطارية ، ولكن لم يتم عرض التيار سواء أثناء الشحن أو أثناء التفريغ ، ولم يتوافق الجهد مع ما تم قياسه بالفعل ولم تتغير درجة الشحن. البطارية لم تستجب للأوامر. كان هناك افتراض بأن هذا المثال مزيف ، لذلك قمت بإزالة شريط وقائي منه للنظر إلى اللوحة:

هذا منعطف ... لم أعيد رسم الدائرة حتى - من الواضح هنا أن هناك محاكي bq27545 ودائرة للشحن الزائد / الشحن الزائد. على الفور كانت هناك فكرة لتوفير الوقت وفتح جميع البطاريات.

الجار الموجود على يسار الزميل الصيني مقابل 8 دولارات مشابه للاختلاف في العلامات على الرقائق. والباقي يتصرف بنفس الطريقة. هاتان النسختان موجودتان على الفور في سلة المهملات. لسوء الحظ ، لم يكن لدي iPhone 6 في متناول اليد للتحقق من هذه البطاريات في الجهاز المستهدف ، كان من المثير للاهتمام للغاية رؤية كيف سيتصرف الهاتف عند العمل من هذه البطاريات.

وهذه بطارية مركزية تكلف 8 دولارات. حتى أنه يحتوي على مستشعر حالي ونوع من الدوائر المصغرة ذات 8 سنون مع علامة متواضعة 6G3. في Battery Management Studio ، تدعي هذه البطارية أنها bq27545 بمهارة أكبر. يتم عرض مستوى الشحن والجهد الصحيح والتيار البطارية. ولكن إذا كان كل هذا حقيقيًا ، فلن يكون المزيف مزيفًا. في الواقع ، تم ضبط درجة الحرارة بواسطة ثابت ، وتم قياس التيار بشكل سيء للغاية. توضح الصورة الاستهلاك الحالي لقارئ RFID ، والذي يقاس بالبطارية مع القراءة المستمرة للبطاقة.

في الواقع ، تبلغ ~ 55 مللي أمبير في وضع التشغيل هذا ، وبما أن حقل القارئ قيد التشغيل دائمًا ، فلا يمكن أن يكون صفرًا. عند الشحن (عندما يكون التيار ثابتًا لفترة طويلة من الزمن) ، يعمل المستشعر الحالي بشكل جيد. وبطبيعة الحال ، يتم حساب جميع المعلمات الأخرى بشكل غير صحيح (مستوى الشحن ، ووقت التشغيل حتى التفريغ الكامل ، وما إلى ذلك). يتم تعيين علم FC (الشحن الكامل) على 4.4V.

البطارية لا تستجيب للأوامر ، لم يتم ضبط علامتي QEN و RUP_DIS. بشكل عام ، هذه محاولة فاشلة من قبل الصينيين لكتابة خدعة bq27545 على MK (على أي حال ، أعتقد أنها كذلك). أيضا في سلة المهملات.
تذكر ، طلبت أن تولي اهتماما خاصا للنسخة في المربع مع نقش "Orig"؟ كان هو الذي تبين أنه أقرب ما يمكن إلى ما كنا نبحث عنه (وكيف لا نصدق الإعلان الآن؟):

كانت تكلفته 9 دولارات. في المركز ، يمكنك أن ترى بوضوح الشريحة المسماة SN27545 - وهذا بالضبط ما كنا نبحث عنه. مع هذه الحالة ، بدأت العمل عن كثب. خلال دورة اختبار التفريغ ، ظهرت مشاكل. لم أستطع الحصول على مجموعة العلم FC (الشحن الكامل) ، مما يعني نهاية عملية الشحن. أصبح تيار الشحن عند جهد بطارية قريب من 4.2 فولت صغيرًا للغاية (حوالي 20 مللي أمبير) وتهدد عملية الشحن بعدم الانتهاء أبدًا. أحد الأسباب المحتملة كان كبل USB مع انخفاض جهد كبير (وصل 4.5V إلى شريحة الذاكرة) ، واستبدلناه بآخر أفضل مع انخفاض جهد أقل. تحسنت المؤشرات ، البطارية المشحونة إلى 4.2 فولت ، انخفض التيار إلى 0 ، لكن SOC (حالة الشحن - مستوى الشحن) وصل إلى 85 فقط ، لذلك لم يتم تعيين علم FC.

لعدة أيام ، كنت أقود دورات مع توقع أن تتعلم البطارية ، ولكن هذا لم يساعد. تبين أن المشكلة شائعة ، لكن بحثها استغرق يومين. في مرحلة ما ، لاحظت أن البطارية 4.35 فولت ، وكان هذا هو الجواب على جميع الأسئلة. الذاكرة قياسية عند 4.2 فولت ولم ألاحظ على الإطلاق أن البطارية عند 4.35 فولت وهناك شحن غير مكتمل. نظرًا لأن الألواح تم تصنيعها بالفعل ، كانت الطريقة الوحيدة للخروج من الوضع هي البحث عن بديل 4.35 فولت STC4054. اتضح أن هذه الدوائر المصغرة موجودة ، ولكن لا يمكنك شرائها في بلادنا العظيمة (على ما يبدو ، فهي لا تحظى بشعبية على الإطلاق من الكلمة). لذلك ، تم طلب إصدار MCP73832T-3 مع الانتظار لمدة أسبوعين.
في هذه الأثناء ، الرحلات المطلوبة ، سنقوم بعمل رقعة مزرعة جماعية للتحقق من المفهوم. للقيام بذلك ، قم بعمل "نسخة احتياطية" من 0.15V لشريحة الذاكرة باستخدام الصمام الثنائي:

يجب أن أعترف أن المزرعة الجماعية عملت ، تم تعيين علم FC ، كل شيء يعمل ، لكن جهد البطارية النهائي هو 4.4V (الانخفاض في الصمام الثنائي أكثر من 0.15V المطلوب).

من المهم ملاحظة أنه من الممكن شحن ما يصل إلى 4.2 فولت مع فقدان مقابل ~ 15 ٪ من السعة ، ولكن في نفس الوقت يطيل عمر البطارية بشكل كبير. لقد انتهينا من نسخة Orig - يمكن وضعها بأمان في التطوير.
تم ترك النسخة الأخيرة. الأغلى (11 دولارًا) ، في أروع عبوة وتتطلب معظم الوقت لأنفسهم. نحن ننظر إلى الداخل:

هنا توجد شريحة A1141 غير معروفة ولا يوجد لها وثائق بخلاف
صفحة الشركة المصنعة . اتصال قسري بخصوص bq27545 في Battery Management Studio ، نرى الصورة التالية:

قمامة كاملة. عند محاولة الشحن بتيار 500 مللي أمبير تقريبًا ، فإنه يظهر 125 مللي أمبير ، في حين أن التفريغ بتيار يبلغ 25 مللي أمبير تقريبًا ، يظهر 214 مللي أمبير. من الواضح أنه إذا كان لدى A1141 عناوين معلمات مختلفة أو تنسيقًا مختلفًا لتخزين البيانات عن bq27545 ، فلا شيء يضيء بدون توثيق بهذه البطارية. لذلك ، تم وضعه جانباً ، ولكن في نهاية كتابة المادة ، قررت توصيلها مرة أخرى. أخذت جدول أوامر شريحة bq27545:

وقرأت تسجيلات الجهد (0x08 و 0x09) من خلال قائمة Comm Advanced:

احصل على 0x10 << 8 | 0x38 = 4152 أو 4.152 فولت ، وهو ما يتوافق مع جهد 4.15 فولت المقاس بواسطة جهاز متعدد. لذا إذا كانت البيانات صحيحة ، فلماذا يتم عرض 57mV في البرنامج ؟؟؟ نلاحظ أن 57mV هو بالضبط 0x38 ، أي أن القيمة هي تسجيل 0x08. مع جهد 4.152 فولت على البطارية ، يبدو مستوى الشحن 96٪ صحيحًا تمامًا ؛ يمكنك الحصول عليه عن طريق قراءة التسجيلات 0x2c و 0x2d. قراءة 0x2c = 0x60 ، 0x2d = 0 (في حالة معلمة SOC ، يكون أعلى تسجيل دائمًا صفرًا). كان هناك افتراض بأن البرنامج أو EV2300 لا يمكنه القراءة (أو أن البطارية لا تستجيب) إما البايت العالي في الطلب ، أو البايت مع عنوان فردي. لاختبار هذه النظرية ، تم توصيل البطارية مباشرة بقارئ RFID وتم تمرير البطارية من خلال MK. تم تنفيذ واجهة HDQ وفقًا
لوثيقة من TI . تستخدم شريحة bq27545 بروتوكول HDQ أحادي السلك للتواصل مع وحدة التحكم في التحكم ، والتي يتم تنفيذها على STM32 بشكل ملائم تمامًا على أساس UART سلك واحد بفضل دعم وضع Half Duplex.
لأن يعمل قارئ RFID الخاص بنا على MicroPython ، لقد قمنا بلف العمل باستخدام HDQ في الفصل وحصلنا على العمل مع وحدة التحكم بالشحن في الشكل التالي:
من HDQ استيراد HDQ
الخفافيش = HDQ (pyb.UART (1))
bat.charge () # شحنة
bat.read_u16 (0x14) # سجل تعسفي
في الواقع ، اتضح أن A1141 لا يستجيب لطلب قراءة وحدات البايت مع عناوين فردية.

يوضح الشكل الموجي أن هناك طلبًا ، ولكن لا يوجد رد. عندما أضافوا إعادة تشغيل منطق تبادل البيانات (فاصل) قبل كل طلب - في كل مرة ، لكن الدائرة المصغرة بدأت تستجيب بشكل صحيح.

ثم قارنا سعر الصرف لـ EV2300 و RFID للقارئ واتضح أن EV2300 يستخدم سرعة أقل بنسبة 10-15 ٪ من مجموعات TI:

بعد إبطاء HDQ وإكمال الاستراحة ، عملت البطارية بشكل طبيعي مع كل طلب! تمت قراءة المعلمات الرئيسية للبطارية:

انتصار كامل! في الواقع ، تبين أن A1141 هو استنساخ عالي الجودة لـ bq27545 مع عيوب طفيفة. يبقى الحديث عن الفروق الدقيقة في العمل مع البطارية من جانب البرنامج (باستخدام أوضاع السكون ، تيار الاستيقاظ ، وما إلى ذلك) ، ولكن هذا سيضاعف كمية التسجيل ، وربما سأكتب هذا مرة أخرى.
الاستنتاجات
كما ترى ، هناك العديد من الخيارات لتطوير الأجهزة التي تعمل ببطاريات Li-ion. بصراحة ، كان من المخطط في الأصل كتابة المواد بأسلوب جاء ، ورأى ، وفاز ، ولكن في هذه العملية ظهرت الكثير من الفروق الدقيقة (الصراع مع A1141 جيد بشكل خاص) وتبين أن المواد مثيرة للاهتمام وموسعة للغاية. من بين 5 بطاريات ، يمكن استخدام بطاريتين فقط بشكل طبيعي. لذلك ، فإن اختيار المورد في هذه الحالة وثيق الصلة للغاية. إذا رأيت البطارية من أجهزة أخرى تحتوي على BMS ، فاكتب النموذج في التعليقات. شكرا لكم جميعا على اهتمامكم!