便携式设备由于使用需求而配备了锂电池,但使用过程中需要掌握电源的状态才能保证设备正常运行。而且在电池充放电的过程中,监控电池的充放电状态也是保证设备安全的需要。

1、硬件设计

电池SOC检测是一个难题,有很多的模型和检测电路。但对于我们这样一台很小的便携式一起来说,使用各类检测模型和电路无论成本还是周期都不允许,所以只能想别的办法。

我们使用一个采样电路采集电压信号,形成以个0-2.5V的差分信号,如下图所示:

再将差分信号引入到具有差分信号输入功能的ADC控制器,就可以采集电池的电压了。模拟量采集在前面已经试验过了:

在STM32L476RG开发板中,有SPI3口已经引到端子可以使用。各引脚分别为:

CN7-1 PC10 SPI3-SCK

CN7-2 PC11 SPI3-MISO

CN7-3 PC12 SPI3-MOSI

在开发板上的位置如下红框标识:

关于硬件配置这里就不再叙述了。

2、软件设计

前面说过了我们使用采集电池电压的方式来估算电池的SOC,那么首先我们来看一看电池SOC与电压的关系。一般的锂电池电压与SOC的关系可表示如下图:

根据上图我们可以知道在10%到100%的范围内电压的变化是比较平缓的,但在10%以下就会计数下降。在我们估算SOC是其实在小于10%的时候就应该认为电池已经不具备工作条件。

首先定义一个数组用于存储电池电压值,然后再检测到电压值后与存储的数据对比。获得相应的区间计算SOC值。

float voltages[2][13];
/*查找目标位置*/
static uint16_t FindTargetLocation(float voltage)
{uint16_t position=0;while(voltages [1][position]< voltage){if(position<12){position++;}else{position++;break;}}return position;
}static float LookupCalcSoc(float voltage)
{float temp;uint16_t index=14;index=FindTargetLocation(voltage);if(index<=0){temp= voltages [0][0];}else if(index>=13){temp= voltages [0][12];}else{float lowV= voltages [0][index-1];float lowS= voltages [1][index-1];float highS= voltages [1][index];temp=((resistance-lowS)*0.5)/(highS-lowS)+lowV;}return temp;
}

以上是我们对电池SOC的估算方式,当然不同的厂家电池也许充放电曲线会有些差异,但方法应该都是一致的。

3、测试结果

我们看一看在屏上显示出来的效果,有图标动态显示,也有数字指示,如下图所示:

在这一次我们采用了简单的做法,这种做法叫做电压估算法。

欢迎关注:

基于STM32L476的锂电池SOC检测相关推荐

  1. 基于Comsol的超声探测锂电池SOC状态仿真分析

    对于锂离子电池管理系统BMS非常重要的一个功能就是对电池的SoC状态进行预测. SoC既电池的荷电状态,state ofcharge的缩写,电池的SoC对于电池的管理十分重要,可以指导电池的充放电,防 ...

  2. 基于容积卡尔曼滤波算法(CKF)锂电池SOC估计

    基于容积卡尔曼滤波算法(CKF)锂电池SOC估计 ID:87128657501011288张徳帅123

  3. 基于自适应无迹卡尔曼滤波算法(AUKF)锂电池SOC估计,噪声系数自适应 Matlab程序

    基于自适应无迹卡尔曼滤波算法(AUKF)锂电池SOC估计,噪声系数自适应 Matlab程序 仿真模型建模数据mat Sci一篇参考文献 ID:77100657373800632张徳帅123

  4. 基于单片机太阳能锂电池充电电压电流检测系统设计(毕业设计资料)

    116[电路方案]基于单片机太阳能锂电池充电电压电流检测系统 摘要: 本设计由STC89C52单片机+LCD1602液晶显示电路+A/D转换芯片PCF8591电路+电压检测电路+电流检测电路ACS71 ...

  5. 不显示表头_技术干货 | 基于数模混合型SoC实现的两线制高精度无源表头方案

    摘要: 针对传统的两线制表头在高低温环境下测量精度差.温漂大的特点,现提出一种可满足高低温环境使用需求的两线制高精度数显表头设计方案,此方案在高低温环境下测量精度高.工作稳定.抗干扰能力强. 引言 随 ...

  6. 基于深度学习的表面缺陷检测方法综述-论文阅读笔记

    //2022.3.2日阅读笔记 原文链接:基于深度学习的表面缺陷检测方法综述 (aas.net.cn) 个人对本篇综述内容的大致概括 论文首先介绍了表面缺陷检测中不同场景下的成像方案,主要根据表面颜色 ...

  7. 【滤波估计】基于双卡尔曼滤波实现soc和soh联合估计附matlab代码

    1 内容介绍 对电动汽车电池管理系统进行电池状态估计非常重要准确充电,实现电池模型参数的在线更新.在本文中,开路电压的估计转换为开路电压拟合的估计参数,快速时变参数开路电压被转换成几个慢时变参数.提出 ...

  8. kingscada检测服务器状态,基于云服务器的状态检测平台

    技术领域 本发明涉及云服务器领域,尤其涉及一种基于云服务器的状态检测平台. 背景技术 云服务器(Elastic Compute Service,ECS)是一种简单高效.安全可靠.处理能力可弹性伸缩的计 ...

  9. 基于ARM Cortex-M的SoC存储体系结构和实战

    基于ARM Cortex-M的SoC存储体系结构和实战 System on Chip Architecture Tutorial Memory Architecture for ARM Cortex- ...

最新文章

  1. 8088微型计算机pdf,微型计算机原理与接口技术:第3章 8086-8088微处理器及其体系结构.pdf...
  2. 14.8类成员的属性
  3. php vsftpd文件上传类,php ftp文件上传函数(基础版)
  4. 关于IE8.0 Internet Explorer 已经为了帮助保护您的计算机而关闭此网页 解决方法
  5. linux——Firewalld与iptables的基本配置
  6. getter和setter
  7. 台式电脑怎么连接手机热点_电脑搜不到手机热点 为什么搜不到手机热点
  8. mysql的sql执行过程和explain语句
  9. Spring JPA 使用@CreatedDate、@CreatedBy、@LastModifiedDate、@LastModifiedBy 自动生成时间和修改者...
  10. JavaScript实现大数据(条形统计图表)
  11. 明尼苏达双城计算机科学硕士申请截止日期,明尼苏达大学双城分校
  12. 必要的系统组件未能正常运行,请修复Adobe Flash Player
  13. Vue基础学习之混入Mixin
  14. 【广州大学】数据结构课程设计:神秘国度的爱情故事
  15. xxljob从入门到精通-全网段最全解说
  16. 受用一生的高效 PyCharm 使用技巧(三)
  17. Playwright 中文文档
  18. MathType如何导入word
  19. windows九大权限的分析与利用
  20. 朱光领衔百度金融高管团队曝光,要憋大招的节奏?

热门文章

  1. JavaWeb笔记:CSS总结
  2. MyBatis中SQL语句相关内容
  3. 对汉诺塔递归算法的理解(图解,附完整代码实现)
  4. spoj839 Optimal Marks(最小割,dinic)
  5. (4)Python3笔记 之 流程控制
  6. jdbcTemplate小用总结
  7. BZOJ2150: 部落战争
  8. Java容器---Set: HashSet TreeSet LinkedHashSet
  9. 背景透明文字不透明的最佳方法兼容IE(以背景黑色透明度0.5为例)
  10. 【计算机网络复习】1.2.2 OSI参考模型