电池测量问题

8 posts / 0新的
最后发表
Joacimwe
离线
最后看到:1年3个月前
大师
加入:2014-01-14 06:45
电池测量问题

你好,我有几个关于电池驱动/ ADC的问题

首先,我想问你能否解释一下你是如何想出测量电池电量的方法的,特别是这条线:
Batt_lvl = (adc_sample - 1137)*100/568;

我们不打算使用CR2032电池,所以对于不同尺寸的硬币电池,您有什么建议吗?

最后,你的建议是什么为电池测量采集adc样本?我的意思是,你会得到非常不同的结果这取决于你什么时候取样。例如,在LED灯亮着的时候取样,比在长时间睡眠后直接取样要低得多。那么,什么是获得最真实的电池水平的首选方法呢?

谢谢

Joacimwe
离线
最后看到:1年3个月前
大师
加入:2014-01-14 06:45
一个小澄清:

一个小澄清:

我知道1705-1137=568,所以前面提到的代码只是计算了1137和1705之间的百分比(线性)。但我的问题更多的是关于这些值是如何计算出来的。以及为什么样本被屏蔽使用:
adc_sample > > = 4;
adc_sample < < = 4;

JE_Dialog
离线
最后看到:12小时58分钟前
工作人员
加入:2013-12-05 14:02
你好Joacimwe,

你好Joacimwe,

我现在正在为你调查这个问题:等待设计团队关于这些价值是如何从一开始计算出来的反馈。道歉延迟,

BR JE_Dialog

Joacimwe
离线
最后看到:1年3个月前
大师
加入:2014-01-14 06:45
有什么消息吗?我所有的

有什么消息吗?我真正想知道的是下面的代码是否有逻辑,或者这是一个尝试和错误的问题:

/ / 1705 = 3.0 v, 1137 v = 2
如果(adc_sample > = 1137)
Batt_lvl = (adc_sample - 1137)*100/568;
其他的
batt_lvl = 0;

JE_Dialog
离线
最后看到:12小时58分钟前
工作人员
加入:2013-12-05 14:02
你好,Joacimwe,是的,我只是

你好,Joacimwe,是的,我昨天刚刚收到了数字背后的魔力(假期季节意味着异常的延迟)。

以下是原始数据的计算方法:

函数的作用是:将ADC模块中测量的值转换为CR2032电池剩余寿命的粗略估计。在函数的参数中,传递两个ADC样本(一个差分模式,一个单端模式)的和。这种方法以及最大/最小限制(1705=3.0V, 1137=2V)

其余的数字(1584和1360)分别为2.8 V和2.4 V的ADC样本和值,根据CR2032的放电模型计算电池剩余寿命的估算值。

BR JE_Dialog

Joacimwe
离线
最后看到:1年3个月前
大师
加入:2014-01-14 06:45
谢谢!

谢谢!

yterasaki
离线
最后看到:4年5个月前
加入:2015-05-08 09:28
亲爱的先生们,

亲爱的先生们,

我现在用的是D14580评估板,关于这个邮件链,我想知道“sum up two times ADC output”是什么意思。
我认为这个注释来自以下代码。你能告诉我用不同的adc_init(…)增加两次ADC输出的目的吗?

adc_init (GP_ADC_SE GP_ADC_SIGN);
if (bat_type == bat_aaa_single_碱基)
adc_enable_channel (ADC_CHANNEL_VBAT1V);
其他的
adc_enable_channel (ADC_CHANNEL_VBAT3V);
adc_sample = adc_get_sample ();

adc_init (GP_ADC_SE 0);
if (bat_type == bat_aaa_single_碱基)
adc_enable_channel (ADC_CHANNEL_VBAT1V);
其他的
adc_enable_channel (ADC_CHANNEL_VBAT3V);
adc_sample + = adc_get_sample ();

Yama_Dialog
离线
最后看到:4年9个月前
工作人员
加入:2014-10-27 08:47
你好yterasaki,

你好yterasaki,

得到两个采样值的目的与ADC校准有关。实际上,我们应该计算负和正校准设置,并将它们配置到校准硬件寄存器。
对于每一个校准设置,我们得到一个样本,然后这两个样本的平均值是最准确的。我希望这能回答你的问题

最好的问候,

Yama_Dialog