您好,我对电池驱动程序/ ADC有一些问题
首先,我想问一下你是否可以解释你如何提出来测量电池电量的方法,特别是这一行:BATT_LVL =(ADC_SAMPLE - 1137)* 100/568;
我们不打算使用CR2032电池,因此您对不同尺寸的硬币细胞进行电池测量有任何建议吗?
最后,你的建议是什么什么时候采用ADC样品进行电池测量?我的意思是,这是根据您拍摄样本时会获得非常不同的结果。例如,在LED导通的同时取样将为您提供更低的样本,如果从长时间睡眠后醒来后直接完成。那么获得最逼真的电池水平的首选方法是什么?
谢谢
一个小澄清:
我知道,1705-1137 = 568所以前面提到的代码只是计算1137和1705之间的百分比(线性)。但是我关于如何首先计算这些价值的问题。而且还使用样本使用的原因:
ADC_SAMPLE >> = 4;
adc_sample << = 4;
你好joacimwe,
我目前正在为您进行检查:等待设计团队的反馈,以了解这些值如何从一开始就计算这些值。道歉延迟,
BR JE_DIALOG.
有关此问题的任何消息?我真正想知道的只是下面的代码是否有任何逻辑,或者如果这是一个试验和错误问题:
//1705=3.0V,1137 = 2V
if(adc_sample> = 1137)
BATT_LVL =(ADC_SAMPLE - 1137)* 100/568;
其他
batt_lvl = 0;
你好Joacimwe,是的,我刚刚收到了昨天数字背后的魔力(假期意味着异常延迟)。
以下是原始的计算方式:
BATT_CAL_CR2032()功能将在ADC模块中测量的值转换为CR2032电池剩余寿命的粗略估计。在功能的参数中,通过了两个ADC样本的总和(差分模式和一个单个结束模式)。该方法以及最大/最小限制(1705 = 3.0V,1137 = 2V)
数字的其余部分(1584&1360)分别是ADC样品总和的2.8和2.4V的值,并且用于根据CR2032的放电模型计算剩余电池寿命的估计。
BR JE_DIALOG.
谢谢!
敬启者,
我现在正在使用D14580评估板并与这款邮件链相关,我想知道“总结两次ADC输出”的含义。
我认为此评论来自以下代码。你能告诉我一个用不同的adc_init(...)添加两次ADC输出的目的吗?
adc_init(gp_adc_se,gp_adc_sign);
if(batt_type == batt_aaa_single_allaline)
ADC_ENABLE_CHANNEL(ADC_CHANNEL_VBAT1V);
其他
ADC_ENABLE_CHANNEL(ADC_CHANNEL_VBAT3V);
adc_sample = adc_get_sample();
adc_init(gp_adc_se,0);
if(batt_type == batt_aaa_single_allaline)
ADC_ENABLE_CHANNEL(ADC_CHANNEL_VBAT1V);
其他
ADC_ENABLE_CHANNEL(ADC_CHANNEL_VBAT3V);
adc_sample + = adc_get_sample();
你好yterasaki,
获得两个样本值的目的与ADC校准有关。实际上我们应该计算否定校准设置并将它们配置为校准HW寄存器。
对于每个校准设置,我们得到一个样本,那么这两个样本的平均值最准确。我希望这会回答你的问题
最好的祝福,
yama_dialog