-2

We are working on a project right now, where we're using coin cell batteries (3 x CR2032). The device is connected to the application via bluetooth and we're showing battery percentage on the app (Reading by turning ADC on during reading and turning ADC off after reading is taken. This saves battery life). My question is how do we display the percentage on the application throughout the life of the battery. Eg. 3.2 V - 100% 3.0 V - 80% 2.8 V - 60%

These values are exaggerated just to show why i'm trying to guess here. coin cell batteries discharge quickly from 3.2 to 2.9V and then they discharge very slowly. We want to show the readings, considering the nature of a coin cell battery. Eg. From 3.2V - 2.9V, we can show a reduction of 4-5% only and then do the rest of the calculations according to a slow rate.

Please suggest calculations which we can implement in our code.

We are currently following this but it doesn't make sense to me. https://devzone.nordicsemi.com/question/37130/battery-level-discharge-curve-how-can-i-read/

@2.9 V if we show less than half of the battery on the app, then the user would be confused as to why the battery drained quickly even when the user hardly used it.

  • 1
    Welcome to Stack Overflow, @Rohit Mehta. In what environment and language are you coding your project? Please edit your question to include more information including a MCVE. https://stackoverflow.com/help/mcveleaswe review: https://stackoverflow.com/help/mcve and https://stackoverflow.com/help/how-to-ask. If your question is purely about battery performance reading, there is likely a better Stack Exchange site to query. – Degan Aug 18 '17 at 19:17

1 Answers1

0

If the device consumes the same current all the time, you could build self discharge diagram (in your link the discharge diagram is build for a specific load - resistor 15k).

After that, you could use polynoms to get function which provides the dependence of battery capacity from time. Use the inverse funсtion to predict how much time is left to work.

Commonly, you could collect some information about battery life, If your device has remote server, you could send statistics on it and analyze received data in future.