Do modern Android devices regulate AC mains power similar to a laptop?


Question

There have been a lot of discussions about lithium-ion battery life across the internet. However, within these discussions I have found contradictory details about the way power is regulated between battery needs and device needs when a mobile/Android device is fully charged. It's clear that the charging process itself is a "smart" process (multiple stages with different current, overcharge protection, etc.), but what happens when the charging stops and the device is still in use? My understanding is that in these situations most laptops have regulators that divvy AC power between directly powering the device and "topping-off" the battery as it looses charge to ambient factors. Do modern Android devices (and iPhones for that matter) do the same thing?



Consider the following hypothetical situation:




  • Device is plugged-in to AC mains with 1 Amp supply

  • Battery is charged 100%

  • Current ongoing device use draws < 1 Amp

  • Battery naturally looses 5% charge in 3 hours when not in use (I have not idea what an actual real word value would be here, but the point is that there is a slow loss even when no power is drawn from the battery)



In this case is the battery bypassed completely as long as the active needs of the device do not exceed 1 Amp, or does the battery remain an active power source regardless of charge state and cable connection status? If the battery is in-fact bypassed, does the device wait for some charge-level threshold (say 95% charge) before touching the battery to minimize accumulating (micro)charge cycles?



It's possible that this is more of an electrical engineering question, and though it has certainly come up in that context (such as here), the related discussion seems either too broad or too specific to laptops.



Update



I've been learning a bit more on the correct terminology (thanks to @beeshyams). I see that the concept of "parasitic load" plays a very important, and detrimental, role in charging efficiency. However, I am led to believe that it is not necessarily a key variable in the fully-charged state described above. Anyway, without getting too deep into semantics, it seems like the key variable would instead be "self-discharge" (the natural 5% loss in my example).



My original thought was that this self-discharge effect would be so small, and lead to extremely infrequent topping-off (micro)charge cycles, that it would have a negligible effect on the cumulative charge cycles of the battery. Therefore, by isolating the active load of the device to AC mains (keeping it plugged in most of the time), instead of drawing from the battery, one could potentially prolong battery life. Even though everyone says "don't do that" they never really say why, and that's really what led to this question.



What I'm now starting to see, and which someone will hopefully confirm, is that any charge cycles (even small and infrequent) are really really bad news when they happen near full charge:




  • They happen much faster than one would expect (the effects of self-discharge are increased near full charge).

  • They are really detrimental (it looks like a 5% cycle between 95%-100% can lead to several magnitudes more "wear" on the battery than a 5% cycle between, say, 45%-50%.

  • They exacerbate the negative effects of heat (heat at high change seems to be much worse for battery wear than the same heat at low charge).



So I suppose it's safe to say that these negative factors, even if only considering self-discharge as a catalyst for cycling, nearly always outweigh the benefit of diverting normal operational power away from the battery?


Answer

Good question and to give a definitive reply is not possible since OEMs use different battery charging algorithms both at hardware level and OS level. Details of these are deemed "proprietary" and not available on public domain.


By way of providing the background to understand:



  1. Battery Charging circuits have a dedicated "Power Management IC (PMIC) to take care of battery charging operations. See PMIC from Wikipedia. The complexity of these chips has increased with multi core processors. These ensure that Power required for charging is pulled rather than pushed- meaning to say that chargers draw what is required rather than what they can possibly draw from the outlet

  2. Battery Charging circuits "isolate" power required for charging the Battery and providing power required to use an application. For a detailed understanding of this,see my answer https://android.stackexchange.com/a/131169/131553. For purposes of this question, keeping the device on while charging constitutes a load, however small it may be

  3. Refer Battery University post on charging Li-Ion batteries, which clearly depicts at Fig 1, various stages of battery charging-Constant Current stage, Saturation stage, Ready no current stage and Standby mode


Coming to your question,



*In this case is the battery bypassed completely as long as the active needs of the device do not exceed 1 Amp, or does the battery remain an active power source regardless of charge state and cable connection status?




  • Battery remains as an active power source. That is what is depicted in standby mode of referred battery charging article which shows current flow to " top up" depletion of charge. As to what level this topping starts send to be dependent on OEM implementation. For my Huawei Honor 6 device, it starts at around 97% and for Samsung Note 2, it starts way below at around 91%. In both cases, cable is plugged in and charger is switched on



  • Cable connection status as asked in your question is answered partly above, but if the cable is disconnected, there is no point of discussing charging!!



    If the battery is in-fact bypassed, does the device wait for some charge-level threshold (say 95% charge) before touching the battery to minimize accumulating (micro)charge cycles?




  • As clarified above, it seems to be device and OEM dependent



  • Coming to micro cycles accumulating and resultant parasitic load (not asked specifically by you but micro cycles of charging and discharging cause parasitic load)- this aspect had been investigated by me and vetted by Battery University, in my answer is-power-consumed-from-battery-to-run-the-phone-when-Charging/. In this experiment, a load equivalent to mobile data download (by keeping screen on at 50% brightness" was loaded when charging was ongoing to study micro cycles and parasitic load and results submitted to Battery University for their views. Quoting Bruce Huang verbatim (emphasis mine)





I don't think the parasitic load is going to prevent the current drop forever. I guess the parasitic load only delay the current drop for a period of time. In this test, the parasitic load may be too small (turning on screen with 50% brightness is not huge load) to create a significant delay to the current drop.



tl:dr;



  • "Smart" management of battery charging is done by Power Management IC (PMIC) in Android phones. Key aspects relevant to question are:



    • Battery charger pulls power it needs



    • Battery charger isolates charging requirements from usage requirements and unless the latter is extremely high, will not affect adversely





  • At what level of battery will charging re-commence to top the battery seems to be OEM dependent



  • Micro cycles accumulation (and consequent parasitic load) are negligible in the situation described by you



  • Is it safe to keep the Battery plugged in after full charging? Short answer NO , due to heating effects which causes internal stress. Detailed explanation on this available at Battery University article linked above, which clearly shows the deleterious effects of heating on battery health (Related: See this is your battery gauge lying to you (and it's not such a bad thing)




Edit: In response to edit by OP


As you have rightly concluded but packaged it differently, I do agree with your line of thinking but haven't come across any study which confirms it. You could consider this portion as a separate question in SE Electrical, which may elicit a suitable reply. My approach (simplistic?) would be to factor the potential damage at high voltage to the battery cycle life and that should be of more importance from end user perspective


Topics


2D Engines   3D Engines   9-Patch   Action Bars   Activities   ADB   Advertisements   Analytics   Animations   ANR   AOP   API   APK   APT   Architecture   Audio   Autocomplete   Background Processing   Backward Compatibility   Badges   Bar Codes   Benchmarking   Bitmaps   Bluetooth   Blur Effects   Bread Crumbs   BRMS   Browser Extensions   Build Systems   Bundles   Buttons   Caching   Camera   Canvas   Cards   Carousels   Changelog   Checkboxes   Cloud Storages   Color Analysis   Color Pickers   Colors   Comet/Push   Compass Sensors   Conferences   Content Providers   Continuous Integration   Crash Reports   Credit Cards   Credits   CSV   Curl/Flip   Data Binding   Data Generators   Data Structures   Database   Database Browsers   Date &   Debugging   Decompilers   Deep Links   Dependency Injections   Design   Design Patterns   Dex   Dialogs   Distributed Computing   Distribution Platforms   Download Managers   Drawables   Emoji   Emulators   EPUB   Equalizers &   Event Buses   Exception Handling   Face Recognition   Feedback &   File System   File/Directory   Fingerprint   Floating Action   Fonts   Forms   Fragments   FRP   FSM   Functional Programming   Gamepads   Games   Geocaching   Gestures   GIF   Glow Pad   Gradle Plugins   Graphics   Grid Views   Highlighting   HTML   HTTP Mocking   Icons   IDE   IDE Plugins   Image Croppers   Image Loaders   Image Pickers   Image Processing   Image Views   Instrumentation   Intents   Job Schedulers   JSON   Keyboard   Kotlin   Layouts   Library Demos   List View   List Views   Localization   Location   Lock Patterns   Logcat   Logging   Mails   Maps   Markdown   Mathematics   Maven Plugins   MBaaS   Media   Menus   Messaging   MIME   Mobile Web   Native Image   Navigation   NDK   Networking   NFC   NoSQL   Number Pickers   OAuth   Object Mocking   OCR Engines   OpenGL   ORM   Other Pickers   Parallax List   Parcelables   Particle Systems   Password Inputs   PDF   Permissions   Physics Engines   Platforms   Plugin Frameworks   Preferences   Progress Indicators   ProGuard   Properties   Protocol Buffer   Pull To   Purchases   Push/Pull   QR Codes   Quick Return   Radio Buttons   Range Bars   Ratings   Recycler Views   Resources   REST   Ripple Effects   RSS   Screenshots   Scripting   Scroll Views   SDK   Search Inputs   Security   Sensors   Services   Showcase Views   Signatures   Sliding Panels   Snackbars   SOAP   Social Networks   Spannable   Spinners   Splash Screens   SSH   Static Analysis   Status Bars   Styling   SVG   System   Tags   Task Managers   TDD &   Template Engines   Testing   Testing Tools   Text Formatting   Text Views   Text Watchers   Text-to   Toasts   Toolkits For   Tools   Tooltips   Trainings   TV   Twitter   Updaters   USB   User Stories   Utils   Validation   Video   View Adapters   View Pagers   Views   Watch Face   Wearable Data   Wearables   Weather   Web Tools   Web Views   WebRTC   WebSockets   Wheel Widgets   Wi-Fi   Widgets   Windows   Wizards   XML   XMPP   YAML   ZIP Codes