今年上半年由于疫情,在家闲着也没事,于是想到了把之前做电动车电池组剩下的20节32700发挥下余热,做一个户外移动电源。
20节32700磷酸铁锂电池,每节3.2V,5000mah,最后权衡利弊后把这20节铁锂电池组成了一个4串5并的电池组,当做个25Ah的12V户外电源,刚好也可以给车载设备户外用。
电池组组装过程我就不在这说了,很简单,后面某宝买了个4串30A放电保护板装上后也算是基本电池就组装完成了。
电池是能充放电了,但是我根本不知道电池实际使用时的使用情况,电池剩余多少电量,实时电压是多少等等。后面又去某宝参谋了很久感觉这样的表头就很好,又能显示电压,又能显示SOC(剩余容量与总容量百分比),价格也不贵,基本也能满足使用需要了。
然而电池组SOC估算远远没有我想象的那么简单,尤其是磷酸铁锂电池组,由于铁锂电池的放电特性,这种用电压估算SOC的表头根本不适用,铁锂电池在电压到3V左右时放电,电压基本会成直线下掉,所以用这类通过电压估算SOC的表头去给铁锂电池用,很可能上一秒还显示有50%电量,下一秒电池组保护板就触发过放保护了。所以我想只能通过库仑计,来进行实时充放电检测去估算铁锂电池组的准确SOC了,库仑计是通过电流和时间的积分来计算电量的,相对来说准确率是很高的。
但是搜索后才发现,一款库仑计表头的价格真是高的有些吓人,便宜的要一百多,贵的三四百的大有人在,这种表头价格已经完全超越了电池组电芯的价格了,完全不符合DIY精神。
既然是DIY,那么索性这个表头也就DIY算了,正好手里还有几片之前玩剩下的STC15F2K60S2单片机,有了单片机只是计划的开始,那么从单片机要怎么才能得到准确的电流和电量呢?
得到电流很简单,用电阻分压法,就可以简单的通过I=U/R,得到电流。但是电量呢?
查阅了很多资料后,总结了下,计算电量实际是通过I(电流)*T(通过电流的时间)计算得到,这种计算恒定电流还好,但是实际使用中电流每时每刻都是在变化的,我们要怎么去计算一个时时刻刻都在变化的电流所通过时间的电量呢?如果用安时积分法来计算电量,这样一来单片机的计算量大大提升,程序难度也大大提升,而且受限于单片机速率,采样计算的实际精度也不会太好(单片机不能完全处于实时电流采样状态,还要负责电压采样,信息显示等)。
后面又查阅了很多资料,发现美信有高精度电量计算的IC,那这样就方便了,把电量统计交给专用的IC去完成,单片机只用把数据从IC中读出来,就可以知道通过采样电阻的电量,然后再通过计算就可以很精确得到SOC(剩余容量与总容量百分比),单片机只用和库仑计IC通讯下,得到数据后发送到屏幕显示就OK。
有了初步模型,那么久开始实践把,通过美信的选型,最后选定DS2740这款IC作为库仑计IC,原因是这款IC功能简单,不需要繁琐设置,价格也相对较低。 显示屏选择了12864的OLED,这种屏幕只有0.96寸,显示效果也不错,I2C通讯,制作起来也简单,驱动有现成的,所以软件部分可以节约很多时间。(直接使用现成模块10块钱一个)
既然有了库仑计IC,有了单片机,后面就飞线+面包板简单组装下,进入程序调试环节。
程序部分是个耐活,需要不断测试,不断改进,不断完善,不断发现BUG,所以前前后后花费了差不多半个月时间。 调试了大半个月后程序基本稳定(这是杜邦线搭棚测试效果) 后面就是画PCB,然后打样,由于只是个表头,所以PCB设计的还算比较小巧,只有50*30(mm)。
组装到电池组中的样子
至此基于STC15版本的库仑计已经完成,期间经过多次优化,由于考虑使用在移动电源中,特别优化了功耗,实现12V电源供电时,正常工作电流≈2~3ma,待机电流<1ma。
我简单的做个总结
这款基于STC15设计的库仑计,显示信息直观明了,可以适用于16V一下电池组(铁锂,三元,铅酸),采用美信高精度库仑计IC,相比于普通的通过电压估算SOC的表头,测量精度更高,电量显示更准确。内置软件校准程序,电流,电压均为基准校准法校准,也就是采用12V基准电压供电,充电或放电1A电流时,一键校准,容量通过校准界面一键校准。电压精度±0.02V,电流精度±0.01A,电量精度±5mah,理论最大电流50A,理论最大电量统计200Ah。
1、MCU选用STC最新STC8系列(程序和硬件重新设计)
2、升级电压支持到100V,以便可以满足电动车电池组电量统计需求
3、进一步降低功耗,毕竟电池供电,能省点是点
4、丰富显示内容
5、进一步提高测量精度和最大测量电流
同时也欢迎交流讨论,根据回帖反馈情况,考虑是否建立个QQ群和推出低价DIY套件
小改进:https://www.mydigit.cn/forum.php?mod=viewthread&tid=195267
|