میتوانید مصرف انرژی دستگاه را برای دستگاههای Android که دارای نشانگر سوخت باتری هستند مثل Summit SMB347 یا Maxim MAX17050 (در بسیاری از دستگاههای Nexus دردسترس است) تعیین کنید. وقتی تجهیزات اندازهگیری خارجی دردسترس نیست یا اتصال آن به دستگاه دشوار است (مثلاً در استفاده از تلفن همراه)، از سنجه درونسیستمی استفاده کنید.
اندازهگیریها میتواند شامل جریان لحظهای، شارژ باقیمانده، ظرفیت باتری در شروع و پایان آزمایش، و موارد دیگر بسته به ویژگیهای پشتیبانیشده دستگاه (بهشرح زیر) باشد. برای بهترین نتیجه، اندازهگیریهای توان دستگاه را درطول آزمایشهای A/B طولانیمدت که از نوع دستگاه یکسان با سنجشگر سوخت یکسان و مقاومت حسگر جریان یکسان استفاده میکنند انجام دهید. مطمئن شوید که شارژ باتری اولیه برای هر دستگاه یکسان باشد تا از عملکرد متفاوت نشانگر سوخت در نقاط مختلف منحنی تخلیه باتری جلوگیری شود.
حتی با محیطهای آزمایشی یکسان، تضمینی برای دقت مطلق بالای اندازهگیریها وجود ندارد. بااینحال، بیشتر عدم دقتهای مربوط به سنجشگر سوخت و مقاومت حسگر بین اجراهای آزمایشی یکسان است، که مقایسه بین دستگاههای یکسان را مفید میکند. توصیه میکنیم چندین آزمایش را در پیکربندیهای مختلف اجرا کنید تا تفاوتهای قابلتوجه و مصرف برق نسبی بین پیکربندیها را شناسایی کنید.
خواندن مصرف برق
برای خواندن دادههای مصرف برق، فراخوانیهای API را در کد آزمایشیتان درج کنید.
import android.os.BatteryManager; import android.content.Context; BatteryManager mBatteryManager = (BatteryManager)Context.getSystemService(Context.BATTERY_SERVICE); Long energy = mBatteryManager.getLongProperty(BatteryManager.BATTERY_PROPERTY_ENERGY_COUNTER); Slog.i(TAG, "Remaining energy = " + energy + "nWh");
داراییهای دردسترس
Android از داراییهای زیر در آمپر سوخت باتری پشتیبانی میکند:
BATTERY_PROPERTY_CHARGE_COUNTER Remaining battery capacity in microampere-hours BATTERY_PROPERTY_CURRENT_NOW Instantaneous battery current in microamperes BATTERY_PROPERTY_CURRENT_AVERAGE Average battery current in microamperes BATTERY_PROPERTY_CAPACITY Remaining battery capacity as an integer percentage BATTERY_PROPERTY_ENERGY_COUNTER Remaining energy in nanowatt-hours
بیشتر ویژگیها از مشخصههای زیرسیستم power_supply هسته با نامهای مشابه خوانده میشوند. بااینحال، ویژگیهای دقیق، وضوح مقادیر ویژگی، و بسامد بهروزرسانی دردسترس برای یک دستگاه خاص به موارد زیر بستگی دارد:
- سختافزار سنجش سوخت، مانند Summit SMB347 یا Maxim MAX17050.
- اتصال سنجشگر سوخت به سیستم، مثل مقدار مقاومتهای حسگر جریان خارجی.
- پیکربندی نرمافزار تراشه نشانگر سوخت، مثل مقادیر انتخابشده برای محاسبه جریان متوسط فاصلهها در درایور هسته.
برای جزئیات، ویژگیهای دردسترس برای دستگاههای Nexus را ببینید.
نشانگر سوخت ماکزیمم
هنگام تعیین وضعیت شارژ باتری در یک دوره زمانی طولانی، آمپر سوخت Maxim (MAX17050، BC15) اندازهگیریهای انحراف شمارنده کولن را تصحیح میکند. برای اندازهگیریهایی که در یک دوره زمانی کوتاه انجام میشوند (مانند آزمایشهای سنجش مصرف برق)، نشانگر سوخت اصلاحاتی انجام نمیدهد، که باعث میشود وقتی اندازهگیریهای فعلی خیلی کوچک هستند، انحراف منبع اصلی خطا باشد (اگرچه هیچ مقدار زمانی نمیتواند خطای انحراف را بهطور کامل ازبین ببرد).
برای طراحی مقاومت حسگر ۱۰ میلیاهمی معمولی، جریان آفست باید بهتر از ۱٫۵ میلیآمپر باشد، یعنی هر اندازهگیری +/-۱٫۵ میلیآمپر است (چیدمان «برد مدار چاپی» نیز میتواند بر این تغییر تأثیر بگذارد). برای مثال، هنگام اندازهگیری جریان بزرگ (۲۰۰ میلیآمپر) میتوانید انتظار موارد زیر را داشته باشید:
- ۲ میلیآمپر (خطای بهره ۱٪ از ۲۰۰ میلیآمپر بهدلیل خطای بهره سنجشگر سوخت)
- +۲ میلیآمپر (خطای بهره ۱٪ از ۲۰۰ میلیآمپر بهدلیل خطای مقاومت حسگر)
- +۱٫۵ میلیآمپر (خطای انحراف حسگر جریان از نشانگر سوخت)
خطای کل ۵٫۵ میلیآمپر (۲٫۷۵٪) است. این را با جریان متوسط (۵۰ میلیآمپر) مقایسه کنید که در آن همان درصد خطاها خطای کل ۷٪ را میدهد یا با جریان کوچک (۱۵ میلیآمپر) که در آن +/-۱٫۵ میلیآمپر خطای کل ۱۰٪ را میدهد.
برای بهترین نتیجه، توصیه میکنیم بیشتر از ۲۰ میلیآمپر را اندازهگیری کنید. خطاهای اندازهگیری بهره سیستماتیک و تکرارپذیر هستند و به شما امکان میدهند دستگاه را در حالتهای مختلف آزمایش کنید و اندازهگیریهای نسبی تمیزی دریافت کنید (بهاستثنای انحراف ۱٫۵ میلیآمپر).
برای اندازهگیریهای نسبی +/-۱۰۰ میکروآمپر، زمان اندازهگیری لازم به موارد زیر بستگی دارد:
- نوفه نمونهبرداری ADC. MAX17050 با پیکربندی کارخانهای معمولیاش، بهدلیل نوفه، +/-۱٫۵ میلیآمپر تغییر نمونهبهنمونه ایجاد میکند و هر نمونه در ۱۷۵٫۸ میلیثانیه ارائه میشود. میتوانید انتظار حدود +/-۱۰۰ میکروآمپر برای پنجره آزمایشی ۱ دقیقهای و نوفه ۳ سیگما تمیز کمتر از ۱۰۰ میکروآمپر (یا نوفه ۱ سیگما در ۳۳ میکروآمپر) برای پنجره آزمایشی ۶ دقیقهای داشته باشید.
- نمونهبرداری بهدلیل تغییر بار. تنوع خطاها را بزرگ میکند، بنابراین برای نمونههایی که تنوع در بار کردن آنها ذاتی است، از بازه آزمایشی طولانیتری استفاده کنید.
دستگاههای Nexus پشتیبانیشده
Nexus 5
| مدل | Nexus 5 |
|---|---|
| نشانگر سوخت | سنجشگر سوخت Maxim MAX17048 (ModelGauge، بدون شمارنده کولن) |
| مشخصات | BATTERY_PROPERTY_CAPACITY |
| اندازهگیریها | آمپر سوخت از هیچ اندازهگیری دیگری بهجز وضعیت شارژ باتری با دقت %/۲۵۶ (یکدویستوپنجاهوششم درصد از ظرفیت کامل باتری) پشتیبانی نمیکند. |
Nexus 6
| مدل | Nexus 6 |
|---|---|
| نشانگر سوخت | سنجشگر سوخت Maxim MAX17050 (شمارنده کولن با تنظیمات Maxim ModelGauge)، و مقاومت حسگر جریان ۱۰ میلیاهم. |
| مشخصات | BATTERY_PROPERTY_CAPACITYBATTERY_PROPERTY_CURRENT_NOWBATTERY_PROPERTY_CURRENT_AVERAGEBATTERY_PROPERTY_CHARGE_COUNTERBATTERY_PROPERTY_ENERGY_COUNTER |
| اندازهگیریها | وضوح CURRENT_NOW ۱۵۶٫۲۵ میکروآمپر، دوره بهروزرسانی ۱۷۵٫۸ میلیثانیه است.CURRENT_AVERAGE وضوح ۱۵۶٫۲۵ میکروآمپر، دوره بهروزرسانی قابل پیکربندی
۰٫۷ ثانیه تا ۶٫۴ ساعت، پیشفرض ۱۱٫۲۵ ثانیه است.CHARGE_COUNTER وضوح (جریان انباشته، دقت غیرگسترده) ۵۰۰ میکروآمپر ساعت (مقدار خواندهشده شمارنده کولن خام، که توسط سنجشگر سوخت برای جبران انحراف شمارنده کولن تنظیم نشده است،
بهعلاوه ورودیهای الگوریتم ModelGauge m3 شامل جبران خالی بودن) است.CHARGE_COUNTER_EXT (دقت گسترده در هسته) وضوح ۸ nAh.ENERGY_COUNTER در ولتاژ اسمی ۳٫۷ ولت CHARGE_COUNTER_EXT است. |
Nexus 9
| مدل | Nexus 9 |
|---|---|
| نشانگر سوخت | سنجشگر سوخت Maxim MAX17050 (شمارنده کولن با تنظیمات Maxim ModelGauge)، و مقاومت حسگر جریان ۱۰ میلیاهم. |
| مشخصات | BATTERY_PROPERTY_CAPACITYBATTERY_PROPERTY_CURRENT_NOWBATTERY_PROPERTY_CURRENT_AVERAGEBATTERY_PROPERTY_CHARGE_COUNTERBATTERY_PROPERTY_ENERGY_COUNTER |
| اندازهگیریها | وضوح CURRENT_NOW ۱۵۶٫۲۵ میکروآمپر، دوره بهروزرسانی ۱۷۵٫۸ میلیثانیه.وضوح CURRENT_AVERAGE ۱۵۶٫۲۵ میکروآمپر، دوره بهروزرسانی قابلپیکربندی
۰٫۷ ثانیه تا ۶٫۴ ساعت، پیشفرض ۱۱٫۲۵ ثانیه.وضوح CHARGE_COUNTER (جریان انباشته، دقت غیرگسترده) ۵۰۰ میکروآمپر ساعت است.CHARGE_COUNTER_EXT (دقت گسترده در هسته) وضوح ۸ nAh.ENERGY_COUNTER CHARGE_COUNTER_EXT در ولتاژ اسمی ۳٫۷ ولت است.دوره بهروزرسانی جریان انباشته ۱۷۵٫۸ میلیثانیه است. ADC در کوانتیزاسیون ۱۷۵ میلیثانیه با دوره نمونه ۴ میلیثانیه نمونهبرداری شده است. میتواند چرخه کار را تنظیم کند. |
Nexus 10
| مدل | Nexus 10 |
|---|---|
| نشانگر سوخت | نشانگر سوخت Dallas Semiconductor DS2784 (شمارنده کولن)، با مقاومت حسگر جریان ۱۰ میلیاهم. |
| مشخصات | BATTERY_PROPERTY_CAPACITYBATTERY_PROPERTY_CURRENT_NOWBATTERY_PROPERTY_CURRENT_AVERAGEBATTERY_PROPERTY_CHARGE_COUNTERBATTERY_PROPERTY_ENERGY_COUNTER |
| اندازهگیریها | وضوح اندازهگیری فعلی (لحظهای و میانگین) ۱۵۶٫۳ میکروآمپر است. دوره بهروزرسانی جریان لحظهای CURRENT_NOW ۳٫۵ ثانیه است.دوره بهروزرسانی CURRENT_AVERAGE ۲۸ ثانیه است (قابل پیکربندی نیست).وضوح CHARGE_COUNTER (جریان انباشته، دقت غیرگسترده) برابر با
۶۲۵ میکروآمپرساعت است.وضوح CHARGE_COUNTER_EXT (دقت گسترشیافته در هسته) ۱۴۴ نانوآمپر ساعت است.ENERGY_COUNTER در ولتاژ اسمی ۳٫۷ ولت CHARGE_COUNTER_EXT است.دوره بهروزرسانی برای همه ۳٫۵ ثانیه است. |