How to make Windows not overcharge a laptop battery?

Page 2 of 3 FirstFirst 123 LastLast

  1. Posts : 15,491
    Windows10
       #11

    If you google battery life versus charging, you will get a full spectrum of opinions, but NOTHING rock solid.

    The conservative advice is to limit charging but with no real evidenced to support that.

    It is probably a good idea not to leave a charger plugged in 24/7 but again no real evidence to support that.

    The single biggest killer of any battery (not just pcs) is heat, so pushing pc to its performance limits (so it runs hot) is more likely to kill the battery if inadequate ventilation than worrying about charge cycles.

    In the end, batteries are a disposable item, although getting harder to remove/replace these days which is bullshit design for deliberate planned obsolescense and should be banned.

    In the end, it really comes down to how much you use laptop without a charger. I just let mine charge to 100%, and tend to use without lead SIMPLY = for convenience, but plug in when getting down to 20% ish as going into power saving mode is just annoying.

    If you read articles, many will tell you that you can charge beyond 100% but virtually all pcs do not allow this. So, what does 100% mean really - is it an abitrary limit set by each vendor to ensure battery does not overcharge?

    I suspect all the so called configurable 80% limits these days are "marketing" as even the blooming vendors do not really know!

    People will say "I extended the life by doing a, b, c" but that is really nonsense as they have no way of proving it.

    I have given up worrying about battery life - it will shorten over time but same happens on mobile phones, stand alone chargeable AA batteries. I just accept over time, I will not be able to run laptop in future for so long without battery, and worrying whether I get an extra years life or not, is really a futile exercise as I cannot prove setting limits at 80%, leaving it plugged in 100% etc is a benefit or not.
      My Computer


  2. Posts : 7,907
    Windows 11 Pro 64 bit
       #12

    cereberus said:
    If you google battery life versus charging, you will get a full spectrum of opinions, but NOTHING rock solid.

    The conservative advice is to limit charging but with no real evidenced to support that.

    It is probably a good idea not to leave a charger plugged in 24/7 but again no real evidence to support that.

    The single biggest killer of any battery (not just pcs) is heat, so pushing pc to its performance limits (so it runs hot) is more likely to kill the battery if inadequate ventilation than worrying about charge cycles.

    In the end, batteries are a disposable item, although getting harder to remove/replace these days which is bullshit design for deliberate planned obsolescense and should be banned.

    In the end, it really comes down to how much you use laptop without a charger. I just let mine charge to 100%, and tend to use without lead SIMPLY = for convenience, but plug in when getting down to 20% ish as going into power saving mode is just annoying.

    If you read articles, many will tell you that you can charge beyond 100% but virtually all pcs do not allow this. So, what does 100% mean really - is it an abitrary limit set by each vendor to ensure battery does not overcharge?

    I suspect all the so called configurable 80% limits these days are "marketing" as even the blooming vendors do not really know!

    People will say "I extended the life by doing a, b, c" but that is really nonsense as they have no way of proving it.

    I have given up worrying about battery life - it will shorten over time but same happens on mobile phones, stand alone chargeable AA batteries. I just accept over time, I will not be able to run laptop in future for so long without battery, and worrying whether I get an extra years life or not, is really a futile exercise as I cannot prove setting limits at 80%, leaving it plugged in 100% etc is a benefit or not.
    I noted manufacturers do not produce their OEM batteries very long e.g. I can't locate one for my 3 year old HP ProBook G6 450. I just bought a third party replacement battery for my other 7 year old Dell laptop for £25. So far so good since it works and charges to full capacity according to the battery report.
      My Computers


  3. Posts : 16,966
    Windows 10 Home x64 Version 22H2 Build 19045.4170
       #13

    TV2 said:
    So where would you point someone to find comprehensive technical data about batteries?
    I wouldn't.
    Try3 said:
    There is no publicly-available data to guide us.


    TV2 said:
    having a one-stop site that has tech data and testing data in one place I find very useful.
    No such publicly-available site exists.

    Since Dell & HP have issued recent versions of their Bioses & power utilities without those charging-limiting functions, perhaps they have access to data that we don't. Or perhaps they have merely recognised that they did not have any data to justify having that function in their previous versions.



    TV2 said:
    I admit that BU is ancient.
    But its author claims otherwise.
    I read several Amazon reviews of his book and many of them also refer to it being rather dated. The book has apparently been around since the turn of the century, when NiMH was overcoming NiCd. Perhaps the book's advice was valid at that stage and the problem is merely that the author has not realised that technological change has rendered it invalid.
    Or, perhaps, it never was valid and the lack of source-attribution is not an oversight at all.




    All the best,
    Denis
      My Computer


  4. TV2
    Posts : 2,221
    W10 Pro 22H2
       #14

    cereberus said:
    If you google battery life versus charging, you will get a full spectrum of opinions, but NOTHING rock solid.

    The conservative advice is to limit charging but with no real evidenced to support that.

    It is probably a good idea not to leave a charger plugged in 24/7 but again no real evidence to support that.

    The single biggest killer of any battery (not just pcs) is heat, so pushing pc to its performance limits (so it runs hot) is more likely to kill the battery if inadequate ventilation than worrying about charge cycles.

    In the end, batteries are a disposable item, although getting harder to remove/replace these days which is bullshit design for deliberate planned obsolescense and should be banned.

    In the end, it really comes down to how much you use laptop without a charger. I just let mine charge to 100%, and tend to use without lead SIMPLY = for convenience, but plug in when getting down to 20% ish as going into power saving mode is just annoying.

    If you read articles, many will tell you that you can charge beyond 100% but virtually all pcs do not allow this. So, what does 100% mean really - is it an abitrary limit set by each vendor to ensure battery does not overcharge?

    I suspect all the so called configurable 80% limits these days are "marketing" as even the blooming vendors do not really know!

    People will say "I extended the life by doing a, b, c" but that is really nonsense as they have no way of proving it.

    I have given up worrying about battery life - it will shorten over time but same happens on mobile phones, stand alone chargeable AA batteries. I just accept over time, I will not be able to run laptop in future for so long without battery, and worrying whether I get an extra years life or not, is really a futile exercise as I cannot prove setting limits at 80%, leaving it plugged in 100% etc is a benefit or not.
    Well said.
      My Computers


  5. TV2
    Posts : 2,221
    W10 Pro 22H2
       #15

    Try3 said:
    I wouldn't.





    No such publicly-available site exists.

    Since Dell & HP have issued recent versions of their Bioses & power utilities without those charging-limiting functions, perhaps they have access to data that we don't. Or perhaps they have merely recognised that they did not have any data to justify having that function in their previous versions.




    But its author claims otherwise.
    I read several Amazon reviews of his book and many of them also refer to it being rather dated. The book has apparently been around since the turn of the century, when NiMH was overcoming NiCd. Perhaps the book's advice was valid at that stage and the problem is merely that the author has not realised that technological change has rendered it invalid.
    Or, perhaps, it never was valid and the lack of source-attribution is not an oversight at all.




    All the best,
    Denis
    I wouldn't disagree with what you are saying. It is a good point.

    I would only say that in a case where there is no good comprehensive data to use, then you have to use the data you have. Otherwise it's just guess work. But as cereberus well said, that might not be a bad approach either.

    Also a note that BU is not focused on the devices that use batteries. It focuses on just the batteries - what they are, how they work. All batteries, even the lead-acid batteries in your car (ancient car!).

    It would be good if the was source-attribution in every article we read.
      My Computers


  6. Posts : 16,966
    Windows 10 Home x64 Version 22H2 Build 19045.4170
       #16

    The reasonableness & amount of agreement in this thread is heartwarming. Several of the other battery discussions I've seen have degenerated into insults.

    TV2 said:
    … where there is no good comprehensive data to use, then you have to use the data you have. Otherwise it's just guess work. But as cereberus well said, that might not be a bad approach either.
    I'm also in the guesswork camp. I think that's what we are actually all doing anyway.


    TV2 said:
    … BU is not focused on the devices that use batteries. It focuses on just the batteries ...
    I agree.
    Our batteries do not exist or operate in isolation. They form part of the undocumented Battery management systems in our computers. So even if we were able to find battery data, we'd still not be able to reach conclusions about how to treat them.


    TV2 said:
    … It would be good if the was source-attribution in every article we read.
    I agree.


    All the best,
    Denis
      My Computer


  7. TV2
    Posts : 2,221
    W10 Pro 22H2
       #17

    Well, as long as we don't bring up "How to spread thermal compound on a processor" it won't become yet another endless thread!
      My Computers


  8. Posts : 124
    Windows 10
    Thread Starter
       #18

    Megahertz said:
    Not all laptops has a limit charge control, specially the old ones.
    I had a Sony Vaio (2013) that had charge control (I use to set at 80%) and now I have a Asus (2014) that doesn't.
    The charge control limit may be set under windows but is done by BIOS so even with the laptop off, it still limits the charge. So, if your BIOS and hardware doesn't have charge control, there is nothing you can do.
    Normally the charge control options are 50, 80 or 100%, so the fact that yours was limiting charging at 28-32% suggest it wasn't normal.
    Where can I find that setting?

    Btw, the laptop in question is a Lenovo b51
      My Computer


  9. Posts : 18,034
    Win 10 Pro 64-bit v1909 - Build 18363 Custom ISO Install
       #19

    Hello @Alfred001,

    I don't know if this Battery information will interest you. It contains a LOT of useful information [ taken from one of my Scripts ] though that you might find useful.

    Copy & Paste the following into a CMD Prompt and press Enter . . .


    Battery Information::-
    Code:
    
    echo. & PowerShell Get-wmiObject Win32_Battery ^| Format-List ^
         @{L=' Name'                         ;E={;if([string]::IsNullOrWhiteSpace($_.Name))                        {'N/A'} else {$_.Name}}}, ^
         @{L=' Description'                  ;E={;if([string]::IsNullOrWhiteSpace($_.Description))                 {'N/A'} else {$_.Description}}}, ^
         @{L=' Creation Class Name'          ;E={;if([string]::IsNullOrWhiteSpace($_.CreationClassName))           {'N/A'} else {$_.CreationClassName}}}, ^
         @{L=' Device ID'                    ;E={;if([string]::IsNullOrWhiteSpace($_.DeviceID))                    {'N/A'} else {$_.DeviceID.Trim() -Replace '\s  ',' '}}}, ^
         @{L=' Path [Relative]'              ;E={;if([string]::IsNullOrWhiteSpace($_.__RELPATH))                   {'N/A'} else {$_.__RELPATH}}}, ^
         @{L=' Availability'                 ;E={;if([string]::IsNullOrWhiteSpace($_.Availability))                {'N/A'} else {$_.Availability}}}, ^
         @{L=' Battery Recharge Time'        ;E={;if([string]::IsNullOrWhiteSpace($_.BatteryRechargeTime))         {'N/A'} else {$_.BatteryRechargeTime}}}, ^
         @{L=' Battery Status'               ;E={;if([string]::IsNullOrWhiteSpace($_.BatteryStatus))               {'N/A'} else {$_.BatteryStatus}}}, ^
         @{L=' Chemistry'                    ;E={;if([string]::IsNullOrWhiteSpace($_.Chemistry))                   {'N/A'} else {$_.Chemistry}}}, ^
         @{L=' Config Manager User Config'   ;E={;if([string]::IsNullOrWhiteSpace($_.ConfigManagerUserConfig))     {'N/A'} else {$_.ConfigManagerUserConfig}}}, ^
         @{L=' Config Manager Error Code'    ;E={;if([string]::IsNullOrWhiteSpace($_.ConfigManagerErrorCode))      {'N/A'} else {$_.ConfigManagerErrorCode}}}, ^
         @{L=' Design Capacity'              ;E={;if([string]::IsNullOrWhiteSpace($_.DesignCapacity))              {'N/A'} else {[Math]::Round($_.DesignCapacity / 1, 0).ToString('0,00# mWh')}}}, ^
         @{L=' Design Voltage'               ;E={;if([string]::IsNullOrWhiteSpace($_.DesignVoltage))               {'N/A'} else {[Math]::Round($_.DesignVoltage / 1, 0).ToString('0,00# mVolts')}}}, ^
         @{L=' Last Error Code'              ;E={;if([string]::IsNullOrWhiteSpace($_.LastErrorCode))               {'N/A'} else {$_.LastErrorCode}}}, ^
         @{L=' Error Cleared'                ;E={;if([string]::IsNullOrWhiteSpace($_.ErrorCleared))                {'N/A'} else {$_.ErrorCleared}}}, ^
         @{L=' Error Description'            ;E={;if([string]::IsNullOrWhiteSpace($_.ErrorDescription))            {'N/A'} else {$_.ErrorDescription}}}, ^
         @{L=' Estimated Charge Remaining'   ;E={;if([string]::IsNullOrWhiteSpace($_.EstimatedChargeRemaining))    {'N/A'} else {[Math]::Round($_.EstimatedChargeRemaining / 100, 2).ToString('0.00 %%')}}}, ^
         @{L=' Estimated Run Time Left'      ;E={;if($_.EstimatedRunTime -eq '71582788')                           {'--^> [Running on AC Power]'} else {$_.EstimatedRunTime.ToString() + ' Minutes'}}}, ^
         @{L=' Expected Life'                ;E={;if([string]::IsNullOrWhiteSpace($_.ExpectedLife))                {'N/A'} else {$_.ExpectedLife}}}, ^
         @{L=' Expected Battery Life'        ;E={;if([string]::IsNullOrWhiteSpace($_.ExpectedBatteryLife))         {'N/A'} else {$_.ExpectedBatteryLife}}}, ^
         @{L=' Full Charge Capacity'         ;E={;if([string]::IsNullOrWhiteSpace($_.FullChargeCapacity))          {'N/A'} else {[Math]::Round($_.FullChargeCapacity / 1, 0).ToString('0,00# mWh')}}}, ^
         @{L=' Install Date'                 ;E={;if([string]::IsNullOrWhiteSpace($_.InstallDate))                 {'--^> [NO Date Present]'} else {$_.InstallDate}}}, ^
         @{L=' Max Recharge Time'            ;E={;if([string]::IsNullOrWhiteSpace($_.MaxRechargeTime))             {'N/A'} else {$_.MaxRechargeTime}}}, ^
         @{L=' Power Management Supported'   ;E={;if([string]::IsNullOrWhiteSpace($_.PowerManagementSupported))    {'N/A'} else {$_.PowerManagementSupported}}}, ^
         @{L=' Power Management Capabilities';E={;if([string]::IsNullOrWhiteSpace($_.PowerManagementCapabilities)) {'N/A'} else {$_.PowerManagementCapabilities}}}, ^
         @{L=' Smart Battery Version'        ;E={;if([string]::IsNullOrWhiteSpace($_.SmartBatteryVersion))         {'N/A'} else {$_.SmartBatteryVersion}}}, ^
         @{L=' System Creation Class Name'   ;E={;if([string]::IsNullOrWhiteSpace($_.SystemCreationClassName))     {'N/A'} else {$_.SystemCreationClassName}}}, ^
         @{L=' Time On Battery'              ;E={;if([string]::IsNullOrWhiteSpace($_.TimeOnBattery))               {'N/A'} else {$_.TimeOnBattery}}}, ^
         @{L=' Time To Full Charge'          ;E={;if([string]::IsNullOrWhiteSpace($_.TimeToFullCharge))            {'N/A'} else {$_.TimeToFullCharge}}}, ^
         @{L=' Scope'                        ;E={;if([string]::IsNullOrWhiteSpace($_.Scope))                       {'N/A'} else {$_.Scope}}}, ^
         @{L=' Path'                         ;E={;if([string]::IsNullOrWhiteSpace($_.Path))                        {'N/A'} else {$_.Path}}}, ^
         @{L=' Options'                      ;E={;if([string]::IsNullOrWhiteSpace($_.Options))                     {'N/A'} else {$_.Options}}}, ^
         @{L=' Class Path'                   ;E={;if([string]::IsNullOrWhiteSpace($_.ClassPath))                   {'N/A'} else {$_.ClassPath}}}, ^
         @{L=' Properties'                   ;E={;if([string]::IsNullOrWhiteSpace($_.Properties))                  {'N/A'} else {$_.Properties}}}, ^
         @{L=' System Properties'            ;E={;if([string]::IsNullOrWhiteSpace($_.SystemProperties))            {'N/A'} else {$_.SystemProperties}}}, ^
         @{L=' Qualifiers'                   ;E={;if([string]::IsNullOrWhiteSpace($_.Qualifiers))                  {'N/A'} else {$_.Qualifiers}}}, ^
         @{L=' Status'                       ;E={;if([string]::IsNullOrWhiteSpace($_.Status))                      {'N/A'} else {$_.Status}}}, ^
         @{L=' Status Info'                  ;E={;if([string]::IsNullOrWhiteSpace($_.StatusInfo))                  {'N/A'} else {$_.StatusInfo}}} ^| ^
    Out-String -Width 1000 -Stream ^| Where {$_.Trim().Length -gt 0} & echo.
    
    
    

    Battery Status::-
    Code:
    
    echo. & PowerShell Get-wmiObject -Class BatteryStatus -Namespace Root\wmi ^| Format-List ^
         @{L=' Description'       ;E={;if([string]::IsNullOrWhiteSpace($_.Description))        {'N/A'} else {$_.Description}}}, ^
         @{L=' Instance Name'     ;E={;if([string]::IsNullOrWhiteSpace($_.InstanceName))       {'N/A'} else {$_.InstanceName}}}, ^
         @{L=' Path [Relative]'   ;E={;if([string]::IsNullOrWhiteSpace($_.__RELPATH))          {'N/A'} else {$_.__RELPATH}}}, ^
         @{L=' Voltage'           ;E={;if([string]::IsNullOrWhiteSpace($_.Voltage))            {'N/A'} else {[Math]::Round($_.Voltage / 1, 0).ToString('0,00# mVolts')}}}, ^
         @{L=' Power Online'      ;E={;if([string]::IsNullOrWhiteSpace($_.PowerOnline))        {'N/A'} else {$_.PowerOnline}}}, ^
         @{L=' Active'            ;E={;if([string]::IsNullOrWhiteSpace($_.Active))             {'N/A'} else {$_.Active}}}, ^
         @{L=' Remaining Capacity';E={;if([string]::IsNullOrWhiteSpace($_.RemainingCapacity))  {'N/A'} else {[Math]::Round($_.RemainingCapacity / 1, 0).ToString('0,00# mWh [Milliwatt Hours]')}}}, ^
         @{L=' Critical'          ;E={;if([string]::IsNullOrWhiteSpace($_.Critical))           {'N/A'} else {$_.Critical}}}, ^
         @{L=' Charging'          ;E={;if([string]::IsNullOrWhiteSpace($_.Charging))           {'N/A'} else {$_.Charging}}}, ^
         @{L=' Charge Rate'       ;E={;if([string]::IsNullOrWhiteSpace($_.ChargeRate))         {'N/A'} else {$_.ChargeRate}}}, ^
         @{L=' Discharging'       ;E={;if([string]::IsNullOrWhiteSpace($_.Discharging))        {'N/A'} else {$_.Discharging}}}, ^
         @{L=' Discharge Rate'    ;E={;if([string]::IsNullOrWhiteSpace($_.DischargeRate))      {'N/A'} else {$_.DischargeRate}}}, ^
         @{L=' Tag'               ;E={;if([string]::IsNullOrWhiteSpace($_.Tag))                {'N/A'} else {$_.Tag}}}, ^
         @{L=' Timestamp_Object'  ;E={;if([string]::IsNullOrWhiteSpace($_.Timestamp_Object))   {'N/A'} else {$_.Timestamp_Object}}}, ^
         @{L=' Timestamp_PerfTime';E={;if([string]::IsNullOrWhiteSpace($_.Timestamp_PerfTime)) {'N/A'} else {$_.Timestamp_PerfTime}}}, ^
         @{L=' Timestamp_Sys100NS';E={;if([string]::IsNullOrWhiteSpace($_.Timestamp_Sys100NS)) {'N/A'} else {$_.Timestamp_Sys100NS}}}, ^
         @{L=' Scope'             ;E={;if([string]::IsNullOrWhiteSpace($_.Scope))              {'N/A'} else {$_.Scope}}}, ^
         @{L=' Path'              ;E={;if([string]::IsNullOrWhiteSpace($_.Path))               {'N/A'} else {$_.Path}}}, ^
         @{L=' Options'           ;E={;if([string]::IsNullOrWhiteSpace($_.Options))            {'N/A'} else {$_.Options}}}, ^
         @{L=' Class Path'        ;E={;if([string]::IsNullOrWhiteSpace($_.ClassPath))          {'N/A'} else {$_.ClassPath}}}, ^
         @{L=' Properties'        ;E={;if([string]::IsNullOrWhiteSpace($_.Properties))         {'N/A'} else {$_.Properties}}}, ^
         @{L=' System Properties' ;E={;if([string]::IsNullOrWhiteSpace($_.SystemProperties))   {'N/A'} else {$_.SystemProperties}}}, ^
         @{L=' Qualifiers'        ;E={;if([string]::IsNullOrWhiteSpace($_.Qualifiers))         {'N/A'} else {$_.Qualifiers}}} ^| ^
    Out-String -Width 1000 -Stream ^| Where {$_.Trim().Length -gt 0}
    
    
    

    I hope this helps.
    Last edited by Paul Black; 03 Aug 2022 at 13:50.
      My Computer


  10. Posts : 16,966
    Windows 10 Home x64 Version 22H2 Build 19045.4170
       #20

    Alfred001 said:
    Where can I find that setting?
    Alfred,

    You will only find that functionality in a utility supplied by Lenovo or in the Bios. It is not a Windows function.
    If Lenovo have not provided the functionality then there is no other means of getting it.


    All the best,
    Denis
      My Computer


 

  Related Discussions
Our Sites
Site Links
About Us
Windows 10 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 10" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 18:43.
Find Us




Windows 10 Forums