标题: 单片机AD采样锂电池电量,数据如何转化为百分比? [打印本页]

作者: adad2    时间: 2023-3-22 12:00
标题: 单片机AD采样锂电池电量,数据如何转化为百分比?
我用单片机AD采样电池电量,内部基准电压1.5V,AD是12位的,如何把AD采集的数据转化为百分比。电池充满4.2V为100%,标准是3.7V,低于3.3V是为0%。

望大佬解答下,指点思路。

作者: m182892    时间: 2023-3-22 14:49
3.3V-4.2V 映射到0%-100%
作者: a185980800    时间: 2023-3-22 14:53
可以使用以下公式将AD采集的数据转化为电池电压:

V_bat = ADC_value * 1.5 / 4096

其中,ADC_value是AD采集的原始数据,1.5V是内部基准电压,4096是12位AD的量程。

接下来,可以使用以下公式将电池电压转化为电池电量百分比:

Battery_percentage = ((V_bat - 3.3) / (4.2 - 3.3)) * 100

其中,3.3V是电池电压低于此值时的电量百分比,4.2V是电池充满时的电压。将计算结果乘以100即可得到电池电量百分比。

需要注意的是,由于电池电量与电压之间的关系是非线性的,因此上述计算结果只是估算值,可能会存在一定误差。为了提高精度,可以根据实际情况进行校准或使用一些电池管理芯片实现更精确的电量计算。

作者: m182892    时间: 2023-3-22 15:09
从数学角度来计算,A表示电池电压3.3-4.2V范围,B表示百分比0-100%,B=(100A-330)/0.9 ,可以验算结果,绝对正确。用单片机C语言把这个公式写出来,返回B结果就可以了。
作者: a185980800    时间: 2023-3-22 15:22
看起来很高级不过我个人做的话我估计直接做个查表算了
作者: adad2    时间: 2023-3-22 15:51
a185980800 发表于 2023-3-22 14:53
可以使用以下公式将AD采集的数据转化为电池电压:

V_bat = ADC_value * 1.5 / 4096

多谢大佬,我参考下。看能不能实现。
作者: adad2    时间: 2023-3-22 15:51
m182892 发表于 2023-3-22 15:09
从数学角度来计算,A表示电池电压3.3-4.2V范围,B表示百分比0-100%,B=(100A-330)/0.9 ,可以验算结果,绝对 ...

大佬,B=(100A-330)/0.9,0.9是怎么来的,这个是什么意思呢?

作者: a185980800    时间: 2023-3-22 16:06
adad2 发表于 2023-3-22 15:51
多谢大佬,我参考下。看能不能实现。

我真的真心建议你直接做查表算了,因为你电压直接转电量的百分比的话,可以说,完全没有精度可言,如果做拟合函数的话,太复杂了,虽然精度高点也不会特别高而且用电压转电量,他会受到电流的影响,做复杂了,其实没什么用,所以干脆简单的做查表,既有一点点精度又计算又不会很复杂。
作者: yzwzfyz    时间: 2023-3-22 16:08
数学基础不好人,不建议介入单片机行业。
作者: 405616736    时间: 2023-3-22 23:39
m182892 发表于 2023-3-22 15:09
从数学角度来计算,A表示电池电压3.3-4.2V范围,B表示百分比0-100%,B=(100A-330)/0.9 ,可以验算结果,绝对 ...

这个方法可行
作者: coody_sz    时间: 2023-3-23 10:03
三元锂电池的端电压与容量是非线性的,查表吧。
如果是磷酸铁锂电池,则最好用库仑计(就是要测电流,计算积分),因为磷酸铁锂的电压变化很小。
作者: lsh04    时间: 2023-4-9 21:23
用电压计算法不准,最好用电流计算,加电压校准
作者: coody_sz    时间: 2023-4-10 13:37
楼主,锂电池的端电压和容量有一条曲线的,根据曲线查出电量,用百分比表示就可以了。
三元锂电池还好,要是磷酸铁锂电池,电压变化不大,最好用库仑计的方式来判断电量,比较精确。
作者: Y_G_G    时间: 2023-4-10 23:29
100%一定不是4.20V,因为充电器一拔下,电压很快就下降到4.10V左右
3.3V也一定不是0%,至少是不低于5%的
想要相对准确的百分比,就只能做放电测试,然后生成一个放电曲线,再查表
作者: ucmic    时间: 2023-4-11 08:32
adad2 发表于 2023-3-22 15:51
大佬,B=(100A-330)/0.9,0.9是怎么来的,这个是什么意思呢?

列举几个数值,代进去试一下就明白了
作者: TTQ001    时间: 2023-4-12 09:14
这种关系不是线性的。 您可能需要使用查找表。
作者: wxhm2011    时间: 2023-4-13 15:57
用AD方式不是很准,建议用MAX17055电量专用芯片,直接读取内部电量参数!
作者: 青草麦田    时间: 2023-4-13 18:12
找电池电量,电压的曲线表,用AD采样转化成电压查曲线之后转化成电量百分比





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1