⚠️
Hi there.. thanks for coming to the forums. Exciting news! we’re now in the process of moving to our new forum platform that will offer better functionality and is contained within the main Dialog website. All posts and accounts have been migrated. We’re now accepting traffic on the new forum only - please POST any new threads at//www.xmece.com/support. We’ll be fixing bugs / optimising the searching and tagging over the coming days.
12 posts / 0 new
Last post
DLO.
Offline
Last seen:2 weeks 2 days ago
加入:2017-05-26 16:21
电池性能分析

我研究了UM-B-075以及如何使用SmartSnippet工具配置电池。但是,在没有那些设备的情况下,我无法运行提供的软件来生成LUT。

我有一个DL3021A负载表,带有电池分析功能,我以前用于收集数据。

在我的情况下,我正在使用110mah lithiom离子电池。我在假设使用这些原则生成LUT时,我是否正确?

100% = 0mAh discharged from battery

90% = 11mAh discharged from battery

80% = 22mAh discharged from battery

70% = 33mAh discharged from battery

60%= 44mAh从电池排出

50%= 55mAh从电池排出

从电池排出40%= 66mAh

30%= 77mAh从电池排出

20% = 88mAh discharged from battery

10% = 99mAh discharged from battery

0%= 110mAh从电池排出

If so, I've generated the LUTs using 110mA load and 2mA load (1mA load was not achieved due to equipment accuracy).

static const int16_t vol_dis_low_0 [vol2soc_lut_size] = {
3450,3510,3561,3591,3634,3681,3743,3833,3934,4053,4170
};
static const int16_t vol_dis_high_0 [vol2soc_lut_size] = {
2900,3193,3291,3346,3392,3443,3509,3595,3694,3802,4021

Testing these tables, the reporting % seems to be off. I'm using a Joulescope current meter to verify against the reported values via BLE battery service as well as looking at the DEBUG_SOC UART output statesments.

例如,例如,单位(定制板)将USB插入到USB上,充分充电(90mAh充电率),在充电后右侧,UART调试语句报告875的SOC和4190的电压。不应该结束充电SOC设置为1000或接近1000?

The voltage reporting seems to be accurately tracking the battery, but the Soc is fairly off.

Can you please confirm this is the correct way to create LUTs and if it is, why is the Soc reporting wrong values?

Thank you,

设备:
DLO.
Offline
Last seen:2 weeks 2 days ago
加入:2017-05-26 16:21
/ **
/ ****************************************************************************************** * * @file custom_socf_battery_profile.h * * @brief a battery profile data for State Of Charge * * Copyright (C) 2016 Dialog Semiconductor. * This computer program includes Confidential, Proprietary Information * of Dialog Semiconductor. All Rights Reserved. * **************************************************************************************** */ #ifndef CUSTOM_SOCF_BATTERY_PROFILE_H_ #define CUSTOM_SOCF_BATTERY_PROFILE_H_ #define VOL2SOC_LUT_SIZE 11 /* Battery profile data for 110mA battery */ #define SOCF_BATT_LOW_CURRENT 2000 //2mA load #define SOCF_BATT_HIGH_CURRENT 110000 //110mA load #define SOCF_BATTERY_CAPACITANCE 110 //Battery capacity (110mAh) #define SOCF_CHARGING_CURRENT 90 static const int16_t vol_dis_low_0[VOL2SOC_LUT_SIZE] = { 3450, 3510, 3561, 3591, 3634, 3681, 3743, 3833, 3934, 4053, 4170 }; static const int16_t vol_dis_high_0[VOL2SOC_LUT_SIZE] = { 2900, 3193, 3291, 3346, 3392, 3443, 3509, 3595, 3694, 3802, 4021 }; static const int16_t vol_chg_0_0 = 3447; //90mA charging #endif /* CUSTOM_SOCF_BATTERY_PROFILE_H_ */

DLO.
Offline
Last seen:2 weeks 2 days ago
加入:2017-05-26 16:21
我向SoCF_Get_Avg添加了调用

我添加了对SoCF_Get_avg_current(Active_count,Active_Period)的调用,似乎报告了正确的值。如果我从socf_get_avg_current()中占据返回值并将其划分为0.277,我应该在UA中获得结果,这是正确的吗?

DLO.
Offline
Last seen:2 weeks 2 days ago
加入:2017-05-26 16:21
I am using the PXP_Reporter

我正在使用pxp_reporter演示并使用以下修改:
_ 32MHz水晶而不是16MHz

_ updated the custom_socf_battery_profile.h with the code attached above.

DLO.
Offline
Last seen:2 weeks 2 days ago
加入:2017-05-26 16:21
I figured out that this

I figured out that this
#define socf_batt_capacitance_adj(1)

在检测到充电结束后将将容量设置为1000。

报告的SOCF_SOC似乎仍然消失了很多。在使用44mAh(60%)后的特定情况下,SOCF_SOC仍然报告了90%的电池电量。

PM_Dialog
Offline
Last seen:2 days 7 hours ago
工作人员
加入:2018-02-08 11:03
Hi dlo,

Hi dlo,

请让我检查一下,我会回复你。

Thanks, PM_Dialog

DLO.
Offline
Last seen:2 weeks 2 days ago
加入:2017-05-26 16:21
1) Reverted the custom_socf

1)将Custom_socf_battery_profile.h恢复为默认SDK

2)#define debug_soc

3) pm_set_sleep_mode(pm_mode_active)

in pxp_reporter and build debug option. Flashed the custom board and watched the terminal output.

The first read of the battery seems to report approximately correct SOC and the voltage reporting is accurate. However, as time go by, with a ~1.5mA constant drain on the battery (from running pxp_reporter, no additional load placed onto device), the SOC level goes up as voltage goes down. Log below:

[ 1 sec] DLG_SWFG SOC= 904 VOL=4104 ... [ 1000 sec] DLG_SWFG SOC= 908 VOL=4075

PM_Dialog
Offline
Last seen:2 days 7 hours ago
工作人员
加入:2018-02-08 11:03
Hi dlo,

Hi dlo,

为延迟道歉。什么是使用的电池?请您分享电池规格吗?正确地表征电池并使用具有正确值的LUT非常重要。您是否使用SDK的PXP_Reporter示例来测试此问题?

Since it is a DA14683, the SS Studio v1.6.3 includes a Battery Profiler tools – you should need to use a source meter, voltage meter and shunt resistor with the tool. In section 6 Battery Profiler Tool, you will find all the available information you need for the battery profiling.

该工具安装在C:\ Program Files(X86)\ Dialogion Semicondyabo国际娱乐uctor for DA1468X Windows路径中的C:\ Program Files(X86)\ Dialogile Semiconductor。按照文档中描述的程序进行电池分析。

Thanks, PM_Dialog

DLO.
Offline
Last seen:2 weeks 2 days ago
加入:2017-05-26 16:21
The battery used is a 110mAh
DLO.
Offline
Last seen:2 weeks 2 days ago
加入:2017-05-26 16:21
这是一些发现

这是一些发现enabling #debug_soc:

调试计数平均值是SOCF_GET_SOC_ACTION(VOID)期间使用的报告active_count的平均值。

调试当前平均值是从socf_get_soc_active(void)中的Active_count中的1000个SOCF_GET_AVG_CURREND。

Joulescope是measuring instrument's average current during that time period.

三角洲是SoC和JoulesCope报告的价值的差异。

Notice the Delta is not linear, it increases as the current increases.

I believe it is obvious the Coulomb count is inaccurate.

Please setup a call with me to discuss this. It is urgent and it's affecting our development time. In particular I need to know where your formula are coming from and how we can fix these to get the correct results.

How is this number determined?

#define socf_max_coulomb_count_per_ma_sec 73584ll.

Why are these two scenario needed?

if (count > 0) { offset_current = 500 - (250 * avg_current) / 5000; } else { offset_current = SOCF_DEFAULT_OFFSET_CURRENT - (avg_current * 50) / 1500; }

PM_Dialog
Offline
Last seen:2 days 7 hours ago
工作人员
加入:2018-02-08 11:03
Hi dlo,

Hi dlo,

为延迟道歉 - 可能是我错过了你的最后一次评论。让我在内部升级这个,我很快就会回复你。

Thanks, PM_Dialog

PM_Dialog
Offline
Last seen:2 days 7 hours ago
工作人员
加入:2018-02-08 11:03
Hi dlo,

Hi dlo,

We have taken this offline from the forum and will reach out to you directly.

Thanks, PM_Dialog