⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
12个帖子/ 0新
最后一篇
DLO.
离线
最后一次露面:1天19小时前
加入:2017-05-26 16:21
电池剖析

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

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

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

100%= 0mah从电池排出

90%= 11mah从电池排出

80%= 22mAh从电池排出

70%= 33mAh从电池排出

60%= 44mAh从电池排出

50%= 55mAh从电池排出

从电池排出40%= 66mAh

30%= 77mAh从电池排出

20%= 88mAh从电池排出

10%= 99mAh从电池排出

0%= 110mAh从电池排出

如果是这样,我已经使用110mA负载和2mA负载产生了LUT(由于设备精度而未实现1mA负载)。

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

测试这些表格,报告%似乎已关闭。我正在使用JoulesCope当前仪表通过BLE电池服务验证报告的值以及查看Debug_Soc UART输出质量。

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

电压报告似乎准确地跟踪电池,但SoC相当脱离。

请确认这是创建LUT的正确方法,如果是,为什么SOC报告错误的值?

谢谢,

设备:
DLO.
离线
最后一次露面:1天19小时前
加入: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.
离线
最后一次露面:1天19小时前
加入:2017-05-26 16:21
我向SoCF_Get_Avg添加了调用

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

DLO.
离线
最后一次露面:1天19小时前
加入:2017-05-26 16:21
我正在使用pxp_reporter

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

_使用上面附加的代码更新了custom_socf_battery_profile.h。

DLO.
离线
最后一次露面:1天19小时前
加入:2017-05-26 16:21
我弄明白了这一点

我弄明白了这一点
#define socf_batt_capacitance_adj(1)

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

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

PM_DIALOG.
离线
最后一次露面:4小时24分钟前
职员
加入:2018-02-08 11:03
嗨DLO,

嗨DLO,

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

谢谢,PM_DIALOG.

DLO.
离线
最后一次露面:1天19小时前
加入:2017-05-26 16:21
1)恢复了custom_socf

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

2)#define debug_soc

3)pm_set_sleep_mode(pm_mode_active)

在pxp_reporter和build debug选项中。闪过定制板并观看终端输出。

电池的第一次读取似乎报告了大致正确的SOC,电压报告准确。但是,随着时间的推移,电池上的A〜1.5mA恒定漏极(从运行PXP_Reporter,没有额外的负载放在设备上),SOC级别随着电压下降而上升。登录以下:

[1秒] DLG_SWFG SOC = 904 Vol = 4104 ... [1000秒] DLG_SWFG SOC = 908 Vol = 4075

PM_DIALOG.
离线
最后一次露面:4小时24分钟前
职员
加入:2018-02-08 11:03
嗨DLO,

嗨DLO,

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

由于它是DA14683,SS Studio v1.6.3包括电池分布器工具 - 您需要使用源仪,电压计和分流电阻器。在第6节电池配置文件工具中,您将找到电池分析所需的所有可用信息。

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

谢谢,PM_DIALOG.

DLO.
离线
最后一次露面:1天19小时前
加入:2017-05-26 16:21
使用的电池是110mAh

使用的电池是110mAh(https://www.digikey.com/en/亚博电竞菠菜products/detail/sparkfun-electronics/prt-1385 ...

是的,使用pxp_reporter进行测试。

DLO.
离线
最后一次露面:1天19小时前
加入:2017-05-26 16:21
这是一些发现

以下是启用#debug_soc的一些查找:

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

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

joulescope是测量仪器在该时间段内的平均电流。

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

请注意,当电流增加时,增量不是线性的。

我相信这很明显,库仑计数是不准确的。

请与我一起调用来讨论这一点。它是紧急的,它会影响我们的发展时间。特别是我需要知道你的公式来自哪里以及我们如何解决这些方法来获得正确的结果。

这个数字如何确定?

#define socf_max_coulomb_count_per_ma_sec 73584ll.

为什么需要这两种情况?

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

PM_DIALOG.
离线
最后一次露面:4小时24分钟前
职员
加入:2018-02-08 11:03
嗨DLO,

嗨DLO,

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

谢谢,PM_DIALOG.

PM_DIALOG.
离线
最后一次露面:4小时24分钟前
职员
加入:2018-02-08 11:03
嗨DLO,

嗨DLO,

我们从论坛上脱机,直接与您联系。

谢谢,PM_DIALOG.