找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1523|回复: 12
打印 上一主题 下一主题
收起左侧

大神,测量锂电池电量的库仑计数法代码是什么,求代码

[复制链接]
跳转到指定楼层
楼主
ID:924574 发表于 2024-11-1 08:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求库仑计数法的代码,测量锂电池的电量
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:924574 发表于 2024-11-1 08:10 | 只看该作者
使用stm32f103系列的单片机
回复

使用道具 举报

板凳
ID:1110945 发表于 2024-11-3 09:01 | 只看该作者
方法很简单,按一定的时间间隔对充电和放电电流进行连续的测量,充电数据用累加,
放电数据用累减,但是有一定的误差,不是这个方法造成的误差,而是因为电池的初始
电量是没有办法确定的,而且不同电池的充电和放电的效率有很大的差异,这都要在程
序里根据实际的电池参数进行修正,所以是不可能有一个通用的程序给你抄的。
回复

使用道具 举报

地板
ID:924574 发表于 2024-11-3 17:45 | 只看该作者
明日之星8 发表于 2024-11-3 09:01
方法很简单,按一定的时间间隔对充电和放电电流进行连续的测量,充电数据用累加,
放电数据用累减,但是有 ...

大神,能否举一个代码例子,非常非常感谢
回复

使用道具 举报

5#
ID:401564 发表于 2024-11-3 23:23 | 只看该作者
struct
{
        u16 i_ch;//充电电流
        float mah;//容量
} xdata usb0, usb1, usb2, usb3, usb4, usb5;
每1秒读取一次电流,并进行一次以下的运算
最终的结果就是mAh了
usb0.mah += (float) usb0.i_ch / 4096 * VREF / 3600;       
回复

使用道具 举报

6#
ID:401564 发表于 2024-11-3 23:26 | 只看该作者
你去看一下电池容量的定义,就会知道要怎么做了
用一个0.01R的电阻取样,INA180放大,有一个高精度的万用表调整一下误差,并在软件中把误差去除
不需要库仑计芯片,一样能达到库仑计芯片的精度
回复

使用道具 举报

7#
ID:1034262 发表于 2024-11-4 10:04 | 只看该作者
测电流累加即可。
我用STC8H8K64U做过好多库仑计,准确,使用RTC定时,对于电流变化缓慢的场合(比如我多用于太阳能充放电管理),1秒醒来一次测量电流累加,然后睡眠。对于电流变化快速频繁的场合,MCU 不睡眠,用10KHz的速度读ADC并累加。
回复

使用道具 举报

8#
ID:924574 发表于 2024-11-4 16:07 | 只看该作者
coody_sz 发表于 2024-11-4 10:04
测电流累加即可。
我用STC8H8K64U做过好多库仑计,准确,使用RTC定时,对于电流变化缓慢的场合(比如我多 ...

大神,就是Q=电流✖时间吗?然后就是mAh,这个时间要乘以3600吗?
回复

使用道具 举报

9#
ID:21455 发表于 2024-11-5 08:38 | 只看该作者
coody_sz 发表于 2024-11-4 10:04
测电流累加即可。
我用STC8H8K64U做过好多库仑计,准确,使用RTC定时,对于电流变化缓慢的场合(比如我多 ...

请教:1、如何处理初始(即首次安装电池)电量?2、使用途中,如何判定和校正电量的累积误差(不准确性)。谢谢!
回复

使用道具 举报

10#
ID:427868 发表于 2024-11-6 19:09 | 只看该作者
csmjmcc 发表于 2024-11-5 08:38
请教:1、如何处理初始(即首次安装电池)电量?2、使用途中,如何判定和校正电量的累积误差(不准确性) ...

      初始电量是难以测算的,但可以当做累积误差予以处理,我采用的方法如下:
       电池充电时,电池充入后实际具有的安时数并不等于电源输出的安时数,即容量表充电容量要大于电池实际充进的容量,毕竟充电时电池起热要有损耗,在电池内阻较大时会更明显些,使用过程中表现为电池实际容量已为零但容量表还显示有少量容量,这个误差长期累积起来会有很大的影响。解决的办法可将容量表实际测试一段时间后,计算出误差比率,即实际容量除以表显容量,这个比值小于1,将这个比值作为校正系数,在代码中计算充电容量时再乘以这个系数即可,当然这个系数要设置成可调的变量,在使用中进行校正调整。
       上述校正方法可以最大限度的减少误差,很难完全100%的消除,长时间的累积误差会逐步变大,我解决的方式有以下三种,一是将充电系数选的比实际稍小些,在电池还没有完全放尽时容量表已为零,这样误差就不会再累积;二是在设置低压清零功能,在累积误差较大时将电池用放至清零电压以清零容量;三是设置容量清零按钮,在电池放尽时手动清零累积误差。上述方法我是同时使用的。
回复

使用道具 举报

11#
ID:21455 发表于 2024-11-7 09:14 | 只看该作者
刘佑红 发表于 2024-11-6 19:09
初始电量是难以测算的,但可以当做累积误差予以处理,我采用的方法如下:
       电池充电时,电 ...

十分感谢赐教!牛人!!
总结您的方法:
1、使用一个系数变量,用以矫正库仑计容量值。
     该系数拟定准则是:当电池实际容量为零时,查看统计的容量值,根据统计误差值,确定一修正系数值。
2、有意将统计容量值设置小些,当电池实际用尽时,同步0值容量。
3、手动或自动清零统计容量。清零条件为:电池电压低于清零电压。

能否再指教下:第1、2点的“电池用尽”的判定方法是啥?  十分感谢!
回复

使用道具 举报

12#
ID:427868 发表于 2024-11-7 15:50 | 只看该作者
发表于 2024-11-7 09:14
十分感谢赐教!牛人!!
总结您的方法:
1、使用一个系数变量,用以矫正库仑计容量值。

理论情况下,在电池额定放电电流情况下,电池电压低到放电截止电压时,即认为电池用尽了。电池在正常使用时,电压降至放电截止电压附近时即认为电池放尽了,当然电流较大时,这个电压会稍高些。电动车上的三元锂电池,在骑行时单节电池电压3V时即认为放尽了(没必要百分之百放尽),铅酸电池单节低至1.8V即认为放尽。
回复

使用道具 举报

13#
ID:21455 发表于 2024-11-8 08:39 | 只看该作者
刘佑红 发表于 2024-11-7 15:50
理论情况下,在电池额定放电电流情况下,电池电压低到放电截止电压时,即认为电池用尽了。电池在正常使用 ...

懂了,感谢您百忙中教导菜鸟,鸣谢!!
回复

使用道具 举报

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

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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