Page 1 of 1

【已解决】ZTU/TLSR8258 zigbee 电量读取不准

Posted: 2022年 Nov 30日 15:59
by 梁修道

我们使用TLSR8258 SDK二次开发涂鸦模组,使用app/tmp_hum_lcd例程二次开发,发现电池测量不准确:直流电源改到2.5V,上电之后电量仍然是上报100%
这个问题怎么调试,有什么需要注意的?


Re: ZTU/TLSR8258 zigbee 电量读取不准

Posted: 2022年 Nov 30日 16:08
by iot_man

请提供一下SDK版本,电池采集配置参数代码


Re: ZTU/TLSR8258 zigbee 电量读取不准

Posted: 2022年 Nov 30日 19:21
by 梁修道

SDK1.0.2版本,电池是两节1.5v七号干电池

2.电池采集配置和相关代码如下

/* battery_param parameter config! /
#define BATTERY_REPORT_MINUTE 240
#define BATTERY_MAX_MILLIV 3000
#define BATTERY_MIN_MILLIV 2400
#define BATTERY_DEFAULT_TABLE \
{2400, 0}, /
minimum voltage, percentage/ \
{2600, 10},\
{2800, 20},\
{2825, 30},\
{2850, 40},\
{2875, 50},\
{2900, 60},\
{2925, 70},\
{2950, 80},\
{2975, 90},\
{3000, 100},/
maximum voltage, percentage*/ \

void power_sampler_init(void)
{
battery_cfg_t battery_cfg = {
.cap_first_delay_time = 5601000,
.cap_waitting_silence_time = 5000,
.cap_max_period_time = BATTERY_REPORT_MINUTE601000,
.cap_max_voltage = BATTERY_MAX_MILLIV,
.cap_min_voltage = BATTERY_MIN_MILLIV,
.adc.adc_type = ADC_TYPE_VDD,
.adc.pos_pin = NULL,
.adc.neg_pin = NULL
};

battery_table_t battery_table[] =
{
BATTERY_DEFAULT_TABLE
};
battery_report_policy_t bat_policy = {
.type = BATTERY_TYPE_DRY_BATTERY,
.level = DEV_BUSY_LEVEL_IDLE,
.report_no_limits_first = TRUE,
.limits = BATTERY_REPORT_DECREASE_LIMITS_20,
.ext_limits = 0
};


Code: Select all

hal_battery_config(&battery_cfg, battery_table, get_array_len(battery_table));
hal_battery_report_policy_config(&bat_policy);
dev_config_power_source_type(battery_source);

}


Re: 【求助】ZTU/TLSR8258 zigbee 电量读取不准

Posted: 2022年 Dec 5日 10:37
by iot_man

电池电量属性默认值是100%
系统会在合适的时机去采集电池电量。
.cap_first_delay_time = 5601000这个值太大了,可以设置成60
如果有特殊需求,可以手动调用函数强行采集一次。hal_battery_capture_manual(1000) 代表1s后采集