OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5295|回复: 9

电池充/放电时,其AD采样的电压值变化导致电压测量不准确

[复制链接]

5

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
122
金钱
122
注册时间
2018-7-10
在线时间
30 小时
发表于 2021-2-5 15:27:53 | 显示全部楼层 |阅读模式
5金钱
充电电池电压采样的AD值升高,放电电池电压采样的AD值降低 都导致求电压不准确。有办法减小这个误差吗?

最佳答案

查看完整内容[请看2#楼]

你目前的算法,本身就不准确。因为AD值(电压)与电量本身就不成正比。所以一定会出现在某时间线上骤降。这个问题,就算你有电量累计芯片也解决不了。只能是相对准确。累计算法的加入是让电量不会突变比如,你插入充电器 电池从80 调到100 。累计只是一个近似的过程。就像你说的那样。我每次充放电都存在偏差,那么随着时间的累计,真实值与视值会越来越大。所以,就是我点2提的。你必须有个基准点,为什么零点做不了,因为很多 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

87

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
250
金钱
250
注册时间
2019-5-11
在线时间
39 小时
发表于 2021-2-5 15:27:54 | 显示全部楼层
本帖最后由 ma3264175 于 2021-2-5 17:03 编辑
桌懒 发表于 2021-2-5 16:51
我也这样想过,但是如何累计?假如可以累计,那么假如充电我累计到80%,然后拔了充电器,那么我们现在是 ...

你目前的算法,本身就不准确。因为AD值(电压)与电量本身就不成正比。所以一定会出现在某时间线上骤降。这个问题,就算你有电量累计芯片也解决不了。只能是相对准确。累计算法的加入是让电量不会突变比如,你插入充电器 电池从80 调到100 。累计只是一个近似的过程。就像你说的那样。我每次充放电都存在偏差,那么随着时间的累计,真实值与视值会越来越大。所以,就是我点2提的。你必须有个基准点,为什么零点做不了,因为很多充电芯片并不支持从0V开始充电,我们所谓的0电 只是程序设定的一个低值。所以只有充电芯片能输出的最大电压这个值是永远固定的。所以是满电为校准点,即便是你使用电荷芯片,也同样是在满电写入电池预估计。 我反复强调了,放电过程中你的AD不会被影响,你觉得不需要精细显示就可以用AD值,你觉得需要就脱离AD,在放电的过程中采用负累计就可以了,如果你的放电过程中,也存在电压的骤降。那么可以肯定是,你电池的放电电量与你负载不匹配。你应该更改电池的设计,来消除其他的安全隐患。
回复

使用道具 举报

4

主题

87

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
250
金钱
250
注册时间
2019-5-11
在线时间
39 小时
发表于 2021-2-5 15:49:43 | 显示全部楼层
解决办法如下:
1.采用带电量计算的IC作为电量判断依据,如; DS2762

2.用专业检测电量的IC,实时读取电量。在充电端加入检测。
逻辑如下:
1.没有充电时,电流是正常放电的情况,单位时间采集一次电流值。利用总值-消耗值=现在值
2.充电时,与上述情况相反。
3.充满时,一般判断电流小于30MA时,进入涓流充电,基本就算满了。此时强行校准程序到100%

3.不更改任何电路的情况下:利用MCU的固态存储设备,存储5-10组历史数据,配合电源插入检测。
在放电过程中使用相对准确的电压作为电量,在充电时,改为,标准充满时间与当前电压与满值得比,作为倒计时。进行充电

这里我研究过的方法比较多,网络上也有很多做产品电量显示的思路。不懂可以追问。麻烦好评
回复

使用道具 举报

12

主题

3394

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8663
金钱
8663
注册时间
2020-5-11
在线时间
4129 小时
发表于 2021-2-5 16:10:56 | 显示全部楼层
AD就是采电压的,怎会不准。
充电时AD值升高是因为本来电池电压就升高了,没毛病。
专治疑难杂症
回复

使用道具 举报

5

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
122
金钱
122
注册时间
2018-7-10
在线时间
30 小时
 楼主| 发表于 2021-2-5 16:31:01 | 显示全部楼层
LcwSwust 发表于 2021-2-5 16:10
AD就是采电压的,怎会不准。
充电时AD值升高是因为本来电池电压就升高了,没毛病。

我这边要做电量显示,所以充电时测得电池电压会偏高。拔了充电器又恢复成原来的了。
回复

使用道具 举报

5

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
122
金钱
122
注册时间
2018-7-10
在线时间
30 小时
 楼主| 发表于 2021-2-5 16:35:14 | 显示全部楼层
ma3264175 发表于 2021-2-5 15:49
解决办法如下:
1.采用带电量计算的IC作为电量判断依据,如; DS2762

这边硬件是已经固定了,目前条件只有充电电流和放电电流采样的AD值再加电池的AD值。现在电量显示存在的问题是:原本电池电量50%,插上充电器后就变成60%了,原本电池电量是100%,如果用这个电池放电那么电池电量立刻降低到90%(大概估计)。
回复

使用道具 举报

4

主题

87

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
250
金钱
250
注册时间
2019-5-11
在线时间
39 小时
发表于 2021-2-5 16:40:30 | 显示全部楼层
本帖最后由 ma3264175 于 2021-2-5 16:42 编辑
桌懒 发表于 2021-2-5 16:35
这边硬件是已经固定了,目前条件只有充电电流和放电电流采样的AD值再加电池的AD值。现在电量显示存在的问 ...

那就很简单,你套用我说的那两个算法就行了。
要点就是
1.必须能判断充电器是否介入,因为你这个抬高电压的问题在正常放电过程中不存在。
2.要能掉电存储最近的5-10组电压值,配合你上面的检测,你可以知道电池没插入电源前的真实电压,之后只是在这个基础上累计就可以了。
3.把充满作为自校准的基准点,因为用电压作为电池剩余只能是预估,而且电池本身也会损耗。
PS 完全没电关机后,上电开机。这个算法依然有效。因为你存储了上次关机时候的电压。

回复

使用道具 举报

5

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
122
金钱
122
注册时间
2018-7-10
在线时间
30 小时
 楼主| 发表于 2021-2-5 16:51:31 | 显示全部楼层
ma3264175 发表于 2021-2-5 16:40
那就很简单,你套用我说的那两个算法就行了。
要点就是
1.必须能判断充电器是否介入,因为你这个抬高电 ...

我也这样想过,但是如何累计?假如可以累计,那么假如充电我累计到80%,然后拔了充电器,那么我们现在是用采样的AD值做为电量还是继续用累计的值做为电量呢?如果用累计的值做为电量,那么这个电量就不够准确,而且每次反复累计会导致误差越来越大。如果用AD做为电量,那么累计的值到AD采样的值电量同样会突变。
回复

使用道具 举报

12

主题

3394

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8663
金钱
8663
注册时间
2020-5-11
在线时间
4129 小时
发表于 2021-2-5 18:02:21 | 显示全部楼层
桌懒 发表于 2021-2-5 16:31
我这边要做电量显示,所以充电时测得电池电压会偏高。拔了充电器又恢复成原来的了。

你这问题就不是电压不准,而是电池有内阻,在不同电流下输出电压会不一样,所以需检测电流,根据电流计算内阻上的电压损耗来推算内部电压,或采用专用电量显示(或库仑计)芯片。
专治疑难杂症
回复

使用道具 举报

22

主题

2251

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4480
金钱
4480
注册时间
2013-4-22
在线时间
337 小时
发表于 2021-2-5 20:04:31 | 显示全部楼层
根据精确的电池放电曲线才能进行精确计量,否则只能是个大概的值。要精确的话可以参考库仑计。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-6 23:15

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表