标题: 如何将STM32单片机检测电压数据转换成百分比电量? [打印本页]

作者: 山知我    时间: 2024-5-15 18:10
标题: 如何将STM32单片机检测电压数据转换成百分比电量?
俺用的是基于STM32F103C8T6通过INA219电压电流检测模块,读取锂电池块的电压电流,现在用的转换公式是Battery_percentage = ((V_bat - 3.0) / (4.2 - 3.0)) * 100,然后发现不怎么精准,看了论坛另一位的帖子,发现大神们说根据电池电量、电压的曲线表做查表会比较精准。请教各位大神这个查表怎么做

问店家要了一个同款电池的曲线表

51hei图片20240515180451.jpg (33.56 KB, 下载次数: 30)

51hei图片20240515180451.jpg

作者: T0m    时间: 2024-5-15 22:15
通过放电时间细分100份,查看那段时间的电压值,填到表中即可.

1.png (94.8 KB, 下载次数: 22)

1.png

作者: 山知我    时间: 2024-5-15 22:45
T0m 发表于 2024-5-15 22:15
通过放电时间细分100份,查看那段时间的电压值,填到表中即可.

请问kile5程序如何编写?
作者: 18689719961    时间: 2024-5-16 08:12
涉及到一个数组映射的问题,3-4.2 映射到0-100%,编写程序按数组映射公式。
作者: 疯城浪子    时间: 2024-5-16 08:56
思路可以参考一下工程车上的电量表的电量思路,有个满电100%的电压,有0%的电压,然后用电只有降没升,关机时保存当前电量,上电时判断是否大于满电电压,大于就100%,没有就是放电方向。

如果是按你上面查表方式来做,电压会随着放电电流大小经常波动的,所得的百分比也是波动的。
作者: wufa1986    时间: 2024-5-16 09:26
这种方法只适合小负载放电,你得根据你的设备,对大电流放电时刻改变策略,然后电量是一直下降的,所以应该用自减法,直到充电或者换电池才增加
作者: 玄烛@小以    时间: 2024-5-16 09:50
应该要涉及到一个数组映射的问题,3-4.2 映射到0-100%,编写程序按数组映射公式。
作者: Y_G_G    时间: 2024-5-16 17:05
商家给的表格一般是恒流放电的曲线,如果你的不是恒流放电,这曲线也没啥用
你只能自己用你现在所用的电池,自己去放电,每10分钟或者15分钟记录一次电池电压,一个完整的放电过程,你就会得到一个表,然后你再自己大概的估算一下
根据电池电压来计算电量,肯定是有误差的,而且,随着电池不断的老化,误差会越来越大
作者: 山知我    时间: 2024-5-16 19:00
疯城浪子 发表于 2024-5-16 08:56
思路可以参考一下工程车上的电量表的电量思路,有个满电100%的电压,有0%的电压,然后用电只有降没升,关机 ...

我这个是用来给锂电池充电的 没有放电 但是确实充电时有电流后 电压会跳 百分比也随着波动




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