جدول المحتويات:

تقليل استهلاك طاقة البطارية لـ Digispark ATtiny85: 7 خطوات
تقليل استهلاك طاقة البطارية لـ Digispark ATtiny85: 7 خطوات

فيديو: تقليل استهلاك طاقة البطارية لـ Digispark ATtiny85: 7 خطوات

فيديو: تقليل استهلاك طاقة البطارية لـ Digispark ATtiny85: 7 خطوات
فيديو: كيف تحافظ على بطارية الايفون وتخليها تدوم يوم كامل | شرح شامل وسهل نسخة 2022 2024, شهر نوفمبر
Anonim
تقليل استهلاك طاقة البطارية لـ Digispark ATtiny85
تقليل استهلاك طاقة البطارية لـ Digispark ATtiny85
تقليل استهلاك طاقة البطارية لـ Digispark ATtiny85
تقليل استهلاك طاقة البطارية لـ Digispark ATtiny85

أو: تشغيل Arduino بخلية عملة 2032 لمدة عامين.

باستخدام لوحة Digispark Arduino الخاصة بك خارج الصندوق مع برنامج Arduino ، فإنها تسحب 20 مللي أمبير عند 5 فولت.

مع بنك طاقة بقوة 5 فولت بقوة 2000 مللي أمبير ، سوف يعمل لمدة 4 أيام فقط.

الخطوة 1: تقليل جهد الإمداد باستخدام بطارية LiPo

تقليل جهد الإمداد باستخدام بطارية LiPo
تقليل جهد الإمداد باستخدام بطارية LiPo

باستخدام بطارية LiPo بقوة 3.7 فولت كمصدر إمداد ، فإن لوحة Digispark لا تستهلك سوى 13 مللي أمبير.

ببطارية 2000 مللي أمبير في الساعة تعمل لمدة 6 أيام.

الخطوة الثانية: تقليل ساعة وحدة المعالجة المركزية

إذا كنت لا تستخدم اتصال USB أو الرياضيات الثقيلة أو الاقتراع السريع في برنامجك ، فقم بتقليل سرعة الساعة. على سبيل المثال مكتبة استقبال الأشعة تحت الحمراء الثقيلة IRMP تعمل بشكل جيد عند 8 ميجا هرتز.

عند 1 ميجاهرتز ، تستقطب Digispark 6 مللي أمبير. ببطارية 2000 مللي أمبير في الساعة تعمل لمدة 14 يومًا.

الخطوة 3: قم بإزالة مؤشر الطاقة الموجود على اللوحة ومنظم الطاقة

قم بتعطيل مؤشر LED للطاقة عن طريق كسر السلك النحاسي الذي يربط مؤشر الطاقة LED بالصمام الثنائي بسكين أو إزالة / تعطيل المقاوم 102.

نظرًا لأنك تستخدم بطارية LiPo الآن ، يمكنك أيضًا إزالة IC منظم الطاقة الموجود على اللوحة. قم أولاً برفع المسامير الخارجية بمساعدة مكواة لحام ودبوس. ثم قم بتوصيل الموصل الكبير وإزالة المنظم. بالنسبة للمنظمات الصغيرة ، استخدم الكثير من اللحام وقم بتسخين جميع المسامير الثلاثة معًا ، ثم قم بإزالتها.

عند 1 ميجاهرتز و 3.8 فولت ، تسحب Digispark الآن 4.3 مللي أمبير. ببطارية 2000 مللي أمبير في الساعة تعمل لمدة 19 يومًا.

الخطوة 4: فصل USB D- Pullup Resistor (الذي يحمل علامة 152) من 5 فولت (VCC) وتوصيله بـ USB V +

فصل USB D- Pullup Resistor (تم وضع علامة 152) من 5 فولت (VCC) وتوصيله بـ USB V +
فصل USB D- Pullup Resistor (تم وضع علامة 152) من 5 فولت (VCC) وتوصيله بـ USB V +

هذا التعديل متوافق مع إصدارات all1.x من أداة تحميل إقلاع النواة الصغيرة. إذا كان لديك بالفعل محمل إقلاع 2.x جديد على اللوحة الخاصة بك ، فيجب عليك الترقية إلى أحد الإصدارات 2.5 مع "activePullup" في اسمه. أسهل طريقة للقيام بذلك ، هي تثبيت حزمة لوحة digispark الجديدة وحرق أداة تحميل التشغيل بالإصدار الموصى به (!!! ليس الإصدار الافتراضي أو العدواني !!!).

قم بكسر السلك النحاسي الموجود على جانب المقاوم الذي يشير إلى ATtiny ، مما يؤدي إلى تعطيل واجهة USB وبالتالي إمكانية برمجة لوحة Digispark عبر USB. لتمكينه مرة أخرى ، مع الحفاظ على الطاقة ، قم بتوصيل المقاوم (الذي يحمل علامة 152) مباشرة بـ USB V + الذي يتوفر بسهولة في الجانب الخارجي من الصمام الثنائي shottky. يمكن العثور على الصمام الثنائي وجوانبه الصحيحة باستخدام اختبار الاستمرارية. يتم توصيل جانب واحد من هذا الصمام الثنائي بالدبوس 8 من ATtiny (VCC) و Digispark 5V. الجانب الآخر متصل بـ USB V +. يتم الآن تنشيط المقاوم سحب USB فقط إذا كانت لوحة Digispark متصلة بـ USB على سبيل المثال أثناء البرمجة.

تم توثيق الخطوتين الأخيرتين هنا أيضًا.

عند 1 ميجاهرتز و 3.8 فولت ، تسحب Digispark الآن 3 مللي أمبير. ببطارية 2000 مللي أمبير في الساعة تعمل لمدة 28 يومًا.

الخطوة 5: استخدم النوم بدلاً من التأخير ()

استخدم النوم بدلاً من التأخير ()
استخدم النوم بدلاً من التأخير ()

بدلاً من التأخيرات الطويلة ، يمكنك استخدام سكون وحدة المعالجة المركزية الموفر للطاقة. يمكن أن يستمر النوم من 15 مللي ثانية إلى 8 ثوانٍ في خطوات من 15 و 30 و 60 و 120 و 250 و 500 مللي ثانية و 1 و 2 و 4 و 8 ثوانٍ.

نظرًا لأن وقت بدء التشغيل من وضع السكون يبلغ 65 مللي ثانية مع إعدادات فتيل المصنع الرقمي ، يمكن فقط استبدال التأخيرات التي تزيد عن 80 مللي ثانية بالنوم.

أثناء النوم ، رسم Digispark الخاص بك 27 µA. بخلية زر 200 مللي أمبير في الساعة 2032 ستظل سكون لمدة 10 أشهر.

لكي تكون صحيحًا ، يجب أن يستيقظ Digispark كل 8 ثوانٍ على الأقل ، ويعمل لمدة 65 مللي ثانية على الأقل ويسحب حوالي 2 مللي أمبير من التيار. هذا يؤدي إلى تيار متوسط 42 µA و 6 أشهر. في هذا السيناريو ، لا يحدث أي فرق تقريبًا إذا كان برنامجك يعمل لمدة 10 مللي ثانية (كل 8 ثوانٍ).

رمز استخدام النوم هو:

# تضمين # تضمين uint16_t sNumberOfSleeps = 0 ؛ مللي ثانية طويلة غير موقعة خارجية متقلبة ؛ إعداد باطل () {sleep_enable () ؛ set_sleep_mode (SLEEP_MODE_PWR_DOWN) ، // وضع السكون الأعمق …} حلقة فارغة () {… sleepWithWatchdog (WDTO_250MS ، صحيح) ؛ // sleep لمدة 250 مللي ثانية … sleepWithWatchdog (WDTO_2S ، صحيح) ؛ // sleep لمدة ثانيتين…} / * * aWatchdogPrescaler يمكن أن يكون من 0 (15 مللي ثانية) إلى 3 (120 مللي ثانية) ، 4 (250 مللي ثانية) حتى 9 (8000 مللي ثانية) * / uint16_t computeSleepMillis (uint8_t aWatchdogPrescaler) {uint16_t tResultMillis = 8000 ؛ لـ (uint8_t i = 0 ؛ أحفظ 200 uA // استخدم wdt_enable () نظرًا لأنه يتعامل مع أن بت WDP3 في بت 5 من سجل WDTCR wdt_enable (aWatchdogPrescaler) ؛ WDTCR | = _BV (WDIE) | _BV (WDIF) ؛ // تمكين مقاطعة Watchdog + إعادة تعيين إشارة المقاطعة -> يحتاج ISR (WDT_vect) sei () ؛ // تمكين المقاطعات sleep_cpu () ؛ // ستوقظنا مقاطعة المراقبة من وضع السكون wdt_disable () ؛ // لأن المقاطعة التالية ستؤدي إلى خلاف ذلك يؤدي إلى إعادة التعيين ، نظرًا لأن wdt_enable () يحدد WDE / Watchdog System Reset Enable ADCSRA | = ADEN ؛ / * * نظرًا لأنه قد يتم تعطيل ساعة المؤقت ، قم بضبط المللي فقط إذا لم يتم النوم في وضع IDLE (SM2 … 0 بت هي 000) * / إذا (aAdjustMillis && (MCUCR & ((_BV (SM1) | _BV (SM0)))))! = 0) {millis_timer_millis + = computeSleepMillis (aWatchdogPrescaler) ؛}} / * هذه المقاطعة تستيقظ وحدة المعالجة المركزية من وضع السكون * / ISR (WDT_vect) {sNumberOfSleeps ++ ؛}

الخطوة 6: تعديل الصمامات

يتم رسم 22 مللي أمبير من 27 مللي أمبير بواسطة BOD (اكتشاف BrownOutDetection / انخفاض الجهد). لا يمكن تعطيل BOD إلا عن طريق إعادة برمجة الصمامات ، والتي لا يمكن القيام بها إلا باستخدام مبرمج ISP. باستخدام هذا البرنامج النصي ، يمكنك تقليل التيار إلى 5.5 µA وتقليل وقت بدء التشغيل من وضع السكون إلى 4 مللي ثانية.

يتم رسم 5 من 5.5 A المتبقية بواسطة عداد المراقبة النشط. إذا كان بإمكانك استخدام عمليات إعادة التعيين الخارجية للاستيقاظ ، فيمكن أن ينخفض الاستهلاك الحالي إلى 0.3 A كما هو مذكور في ورقة البيانات.

إذا لم تكن قادرًا على الوصول إلى هذه القيمة ، فقد يكون السبب هو أن التيار العكسي للديود شوتكي بين VCC وسحب السحب مرتفع جدًا. ضع في اعتبارك أن المقاوم 12 Mohm يسحب أيضًا 0.3 A عند 3.7 فولت.

ينتج عن هذا متوسط استهلاك حالي يبلغ 9 A (2.5 سنة بخلية زر 200 مللي أمبير في الساعة 2032) إذا كنت على سبيل المثال معالجة البيانات كل 8 ثوانٍ لمدة 3 مللي ثانية كما هو الحال هنا.

الخطوة 7: مزيد من المعلومات

الرسم الحالي للوحة Digispark.

المشروع باستخدام هذه التعليمات.

موصى به: