Skip to content

Commit

Permalink
doc: move battery profiling guides
Browse files Browse the repository at this point in the history
Moved guides about battery profiling from NAN_045.
Added information about the Offline Mode.
NCD-943 and NCD-942.

Signed-off-by: Grzegorz Ferenc <[email protected]>
  • Loading branch information
greg-fer committed Jul 4, 2024
1 parent 9a9339b commit 0e0b6ca
Show file tree
Hide file tree
Showing 8 changed files with 86 additions and 7 deletions.
4 changes: 2 additions & 2 deletions doc/docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@ nPM PowerUP is installed and updated using [nRF Connect for Desktop](https://doc

nPM PowerUP supports the following Power Management IC devices from Nordic Semiconductor:

- nPM1300 EK - Read [Connect the nPM1300 EK with nPM PowerUP](https://docs.nordicsemi.com/bundle/ug_npm1300_ek/page/UG/nPM1300_EK/use_ek_power_up.html) for information about the hardware setup required to use the nPM1300 EK with nPM PowerUP.
- nPM1300 Fuel Gauge Board - Read [Connect the nPM1300 EK with the nPM Fuel Gauge Board](https://docs.nordicsemi.com/bundle/nan_045/page/APP/nan_045/battery_profiling.html) for information about the hardware setup required to use the nPM1300 Fuel Gauge Board together with nPM1300 EK and nPM PowerUP.
- [nPM1300 Evaluation Kit (EK)](https://docs.nordicsemi.com/bundle/ug_npm1300_ek/page/UG/nPM1300_EK/intro.html) - Read [Connect the nPM1300 EK with nPM PowerUP](https://docs.nordicsemi.com/bundle/ug_npm1300_ek/page/UG/nPM1300_EK/use_ek_power_up.html) for information about the hardware setup required to use the nPM1300 EK with nPM PowerUP.
- [nPM Fuel Gauge Board](https://docs.nordicsemi.com/bundle/ug_npm_fuel_gauge/page/UG/nPM_fuel_gauge/intro.html) - Read [Connect the nPM1300 EK with the nPM Fuel Gauge Board](https://docs.nordicsemi.com/bundle/nan_045/page/APP/nan_045/battery_profiling.html) for information about the hardware setup required to use the nPM1300 Fuel Gauge Board together with nPM1300 EK and nPM PowerUP.
14 changes: 9 additions & 5 deletions doc/docs/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ This side panel area contains the following buttons:

| Button | Description |
| ------------------------ | ----------- |
| **Export Configuration** | Export the PMIC configuration based on the nPM PowerUP application settings. You can save the configuration to an `.overlay` file for [use in the nRF Connect SDK](https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/device_guides/pmic/npm1300.html#importing_an_overlay_from_npm_powerup) or to a JSON file for later use in nPM PowerUP.</br></br>You can also set the configuration before you select a device and export it to a file ([offline mode](#offline-mode-actions)). |
| **Load Configuration** | Load the PMIC configuration from a JSON file and update all configurations accordingly.</br></br>You can also load a configuration before you select a device ([offline mode](#offline-mode-actions)). |
| **Export Configuration** | Export the PMIC configuration based on the nPM PowerUP application settings. You can save the configuration to an `.overlay` file for [use in the nRF Connect SDK](https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/device_guides/pmic/npm1300.html#importing_an_overlay_from_npm_powerup) or to a JSON file for later use in nPM PowerUP.</br></br>You can also set the configuration before you select a device and export it to a file ([Offline Mode](#offline-mode-actions)). |
| **Load Configuration** | Load the PMIC configuration from a JSON file and update all configurations accordingly.</br></br>You can also load a configuration before you select a device ([Offline Mode](#offline-mode-actions)). |
| **Open Serial Terminal** | Open the [nRF Connect Serial Terminal](https://docs.nordicsemi.com/bundle/nrf-connect-serial-terminal/page/index.html) application in a separate window. Make sure to first [install the application](). |
| **Reset Device** | Reset the PMIC device and the nPM Controller. The PMIC default device configuration is restored. |
| **Record Events** | Record all terminal [log](#log) events to CSV files in a selected directory. |
Expand All @@ -53,17 +53,19 @@ This side panel area lets you select the following options:
| Menu | Description |
| -------------------------------- | ----------- |
| **Active Battery Model** | Select the battery model you want to use for Fuel Gauge in nPM PowerUP. |
| **Add New Active Battery Model** | Select a battery from selected vendors that has been profiled by Nordic Semiconductor or your own custom battery model, added with the **Profile Battery** feature and saved in the [**Profiles** tab](#profiles-tab). |
| **Profile Battery** | Create your own, custom battery profile, and collect the data. These are then saved in the [**Profiles** tab](#profiles-tab) and added to the **Add New Active Battery Model** drop-down menu.</br></br>An additional board, nPM Fuel Gauge, is required to perform the battery profiling. |
| **Add New Active Battery Model** | Select a battery from selected vendors that has been profiled by Nordic Semiconductor or your own custom battery model, added with the **Profile Battery** feature and saved in the [**Profiles**](#profiles-tab) tab. |
| **Profile Battery** | Create your own, custom battery profile, and collect the data. These are then saved in the [**Profiles**](#profiles-tab) tab and added to the **Add New Active Battery Model** drop-down menu.</br></br>An additional board, nPM Fuel Gauge, is required to perform the battery profiling. See [Profiling a battery with nPM PowerUP](profiling_battery.md) for more information. |

### Settings

This side panel area lets you configure the reporting rate. This can affect the frequency of the data in the [**Graph** tab](#graph-tab) and on the **Battery Status** tile in the **Dashboard** and **Charger** tabs.
This side panel area lets you configure the reporting rate. This can affect the frequency of the data in the [**Graph**](#graph-tab) tab and on the **Battery Status** tile in the **Dashboard** and **Charger** tabs.

### Connection Status

You can check the connection status to the [device you selected](#select-device).

If no device is connected, the application works in the [Offline Mode](#offline-mode-actions).

![Example of Connection Status after selecting a device](./screenshots/npm_connection_status.PNG "Example of Connection Status after selecting a device")

## Dashboard tab
Expand Down Expand Up @@ -148,6 +150,8 @@ When saving, the battery model is saved in the selected directory either to a JS

Here you can monitor the state of the PMIC, including the current voltage temperature and State of Charge (SOC). For SOC, make sure the battery Fuel Gauge in the **Dashboard** tab or **Fuel Gauge** tab is enabled.

The monitoring can happen in real time after [generating a battery model](profiling_battery.md#generating-a-battery-model). You can use the **Live** toggle to enable or disable real time monitoring.

![nPM PowerUP graph example](./screenshots/npm_graph_example.png "nPM PowerUP graph example")

## Log
Expand Down
47 changes: 47 additions & 0 deletions doc/docs/profiling_battery.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Profiling a battery with nPM PowerUP

Use the nPM PowerUP together with the [nPM1300 Evaluation Kit (EK)](https://docs.nordicsemi.com/bundle/ug_npm1300_ek/page/UG/nPM1300_EK/intro.html) and the [nPM Fuel Gauge Board](https://docs.nordicsemi.com/bundle/ug_npm_fuel_gauge/page/UG/nPM_fuel_gauge/intro.html) to profile your battery and generate a battery model.

The EK and the nPM Fuel Gauge Board are used to profile and generate the model. Once the battery model is extracted, you only need nPM1300 and the SoC (or SiP) in your application to do fuel gauging.
For the complete overview of the whole process, read the [Using the nPM1300 Fuel Gauge](https://docs.nordicsemi.com/bundle/nan_045/page/APP/nan_045/intro.html) application note.

## Generating a battery model

Complete the following steps to profile a battery and use the generated battery model to initialize and run the nPM1300 fuel gauge in the nPM PowerUP app:

1. Connect the nPM Fuel Gauge Board to the nPM1300 Evaluation Kit (EK) at the edge connectors **P20** and **P21** (denoted as **EXT BOARD** on the EK).
1. Follow the instructions in [Connect nPM1300 EK to nPM PowerUP](https://docs.nordicsemi.com/bundle/ug_npm1300_ek/page/UG/nPM1300_EK/use_ek_power_up.html) to connect the nPM1300 EK and download the software.
1. Click the [**Profile Battery**](overview.md#actions) button in the side panel.
1. Enter the battery data and temperatures for the profiling test. Provide the generic information about the selected battery. Refer to the battery datasheet for information. For further information on profiling, see [Guidelines for battery profiling](./profiling_guidelines.md).

![Profile Battery test configuration](./screenshots/battery_profiling.PNG "Profile Battery test configuration")

1. Click **Select folder** to create a new project and store the battery model files.
1. Follow the instructions in the application to start battery profiling.</br>
The following text box is displayed during battery profiling.

![Battery profiling ongoing](./screenshots/battery_profiling_ongoing.PNG "Battery profiling ongoing")

The measurement data is automatically processed in the Nordic battery modeling software to make a single battery model file for each test temperature.

1. After the temperature profiling at a given temperature is complete, follow the instructions in the application to charge the battery at room temperature before profiling at the next test temperature. When all the individual temperature models have been completed, they will be merged to generate the final battery model file. The final battery model is automatically saved as a JSON file.
1. Select [**Add New Battery Model**](./overview.md#fuel-gauge) in the side panel.</br>
A drop-down menu appears.
1. Select **Custom Model** to load the generated JSON battery model file to the host System on Chip (SoC) of nPM1300 EK.

## Evaluating a battery model

To start fuel gauge evaluations using a battery model, complete the following steps:

1. Make sure the following conditions are met:

- You have a battery connected to the EK.
- You have an active battery model selected in the [**Fuel Gauge**](./overview.md#fuel-gauge) side panel, either using the **Active Battery Model** for a preloaded battery model or the **Add New Battery Model** > **Custom Model** for your own custom battery model from a JSON file.
- You have the **Fuel Gauge** setting enabled on the [**Dashboard**](./overview.md#dashboard-tab) tab.

1. Open the [**Graph**](./overview.md#graph-tab) tab.
1. Make sure the **Live** toggle is enabled.</br>
The graph will display the live State of Charge over time.

![nPM PowerUP graph during real time evaluation](./screenshots/battery_evaluation.png "nPM PowerUP graph during real time evaluation")

26 changes: 26 additions & 0 deletions doc/docs/profiling_guidelines.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Guidelines for battery profiling

The guidelines in this section optimize the use of the nPM PowerUP app for battery profiling.

- Before starting battery profiling, refer to the battery datasheet and ensure that the parameters are set correctly. This includes specification of the battery capacity, termination voltages, and any other relevant parameters provided in the datasheet.
- Due to the increased non-linearities of batteries operating at temperatures below zero degrees Celsius, it is recommended to conduct battery profiling exclusively above zero degrees. Avoid profiling at temperatures below freezing or in extreme heat conditions.

!!! note "Note"
Even if the battery is profiled at temperatures above zero Celsius, the nPM1300 fuel gauge can still perform reliably below zero within the standard discharge conditions of the battery.

- To account for temperature variations and improve the accuracy of state-of-charge estimations, profile the battery at three different test temperatures. For example, if the operating temperature of the device ranges from -15°C to 45°C, you can profile the battery at 5°C, 25°C, and 45°C. The final battery model will be created by combining the individual temperature profiles.
- The time to profile the battery takes approximately 48 hours per temperature. Do not modify the device configuration during the profiling process as this causes the profiling to abort.
- Ensure that your computer does not go into sleep mode or hibernate during the profiling process.
- To avoid issues with computer restarting due to system updates, the computer can be put in flight mode during profiling.
- If necessary, you can choose to profile the battery at a single operating temperature. However, this method will not account for temperature effects during fuel gauging, which may result in reduced accuracy.
- Ensure that the battery test temperature stays constant throughout the profiling period, as fluctuations in temperature can affect the accuracy of the battery model. Use a temperature chamber to improve performance.
- The use of a battery with a Negative Temperature Coefficient (NTC) thermistor is recommended. Specify test temperatures for the profiling process for both type of batteries (with or without NTC).

- If the battery NTC sensor is available, the battery temperature from the NTC measurement will be used for creating the battery model.
- If the NTC sensor is not available, the specified test temperatures will be used for creating the battery model.
- For NTC selection, refer to [Battery temperature monitoring](https://docs.nordicsemi.com/bundle/ps_npm1300/page/chapters/charger.html#ariaid-title6) in the [nPM1300 Product Specification](https://docs.nordicsemi.com/bundle/ps_npm1300/page/keyfeatures_html5.html).

- The battery must be fully charged before profiling at a new temperature. Follow the instructions in the application to charge the battery at room temperature to ensure consistent and reliable results during the profiling process.
- The [nPM1300 fuel gauge algorithm](https://docs.nordicsemi.com/bundle/nan_045/page/APP/nan_045/npm1300_fuel_gauge.html) incorporates internal adjustments to correct any initialization errors resulting from an unrested battery and unexpected reset conditions. These errors typically have a minor impact, and the predictions will converge to the accurate value within a few minutes of normal operation.

For more information, or if you have any technical questions before, during, or after your development, contact our Technical Support team at [DevZone](https://devzone.nordicsemi.com/).
Binary file added doc/docs/screenshots/battery_evaluation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/docs/screenshots/battery_profiling.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions doc/mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,3 +61,5 @@ nav:
- Home: index.md
- Installing nPM PowerUP app: installing.md
- Overview and user interface: overview.md
- Profiling a battery with nPM PowerUP: profiling_battery.md
- Guidelines for battery profiling: profiling_guidelines.md

0 comments on commit 0e0b6ca

Please sign in to comment.