Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

STM32F407 + BQ76920 FreeRTOS BMS

面向 5 串锂电池组的嵌入式电池管理系统(BMS)。项目基于 STM32F407VET6、TI BQ76920 和 FreeRTOS,实现电芯监控、保护、SOC 估算、均衡与双串口通信。

仓库主页:katrinagui/BMS

功能概览

  • 5 节串联电芯电压、温度和电流采集。
  • BQ76920 硬件过压、欠压、短路与过流保护。
  • MCU 软件过压、欠压、过温与低温保护。
  • CHG/DSG MOS 控制和 5 路被动均衡。
  • OCV 初始化与库仑积分 SOC;集成 Edge AI SOC 估算。
  • USART1 调试接口与 USART2 蓝牙接口,均为 115200, 8N1
  • 串口 RX 循环 DMA、TX 普通 DMA、IWDG 看门狗和任务栈监控。

硬件平台

模块 方案
主控 STM32F407VET6,Cortex-M4F,168 MHz
电池 AFE TI BQ76920,软件 I²C + CRC-8
电芯数量 5 串锂电池
温度 BQ76920 TS1 外接热敏电阻
调试串口 USART1:PA9 / PA10,115200 bps
蓝牙串口 USART2:PA2 / PA3,115200 bps
MOS 与均衡 CHG/DSG MOS、5 路被动均衡

软件架构

FreeRTOS 使用静态任务和静态队列,安全关键的采集、保护与 MOS 控制由最高优先级任务统一处理。

任务 优先级 职责
BmsControl 5 BQ 通信、采样、保护、MOS 与均衡
Soc 4 CC 样本积分与 SOC 更新
Comm 3 串口接收、命令解析、遥测与 DMA 发送
Health 2 控制/通信心跳、IWDG 与栈水位检查
AI 1 Edge AI SOC 推理

串口 DMA 映射如下。RX 使用循环模式,IDLE、半传输和全传输事件只唤醒通信任务;TX 使用普通模式,完成后由通信任务发送队列中的下一帧。中断中不解析协议,也不格式化日志。

串口 RX TX
USART1 DMA2 Stream2 / Channel 4,Circular DMA2 Stream7 / Channel 4,Normal
USART2 DMA1 Stream5 / Channel 4,Circular DMA1 Stream6 / Channel 4,Normal

两个 RX DMA 缓冲区均为 512 字节;软件记录覆盖计数,供压力测试诊断。

工作模式

模式 行为
AUTO 根据保护状态自动仲裁 CHG/DSG MOS
MANUAL 通过串口控制 CHG/DSG;数据无效或保护有效时,安全关断仍可覆盖人工命令
FAULT_LOCKOUT 关键采样或 BQ 通信连续失败后关闭 FET、停止均衡,并拒绝重新开启 MOS

串口命令

命令 功能
1 输出 BMS 状态
2 / 3 打开 / 关闭 DSG MOS
4 / 5 打开 / 关闭 CHG MOS
6 切换至 AUTO 模式
7 输出 AI SOC

目录说明

CORE/              CMSIS 与启动文件
FreeRTOS-Kernel/   FreeRTOS 内核与 ARM_CM4F 端口
FWLIB/             STM32F4 标准外设库
HARDWARE/          BQ76920、I²C、串口、DMA、LED 与保护逻辑
RGA/               Edge AI 网络与运行时资源
SYSTEM/            FreeRTOS 感知的 DWT 延时组件
USER/              应用入口、FreeRTOSConfig 与 Keil 工程
doc/               FreeRTOS 移植设计文档

更多任务划分和设计说明见 FreeRTOS 移植文档

当前硬件假设与上板验证

  • 电流换算暂按 5 mΩ 采样电阻;更换 PCB 或采样电阻后必须同步修改并重新标定。
  • OV/UV/OT/UT、均衡压差、2 Ah 标称容量和 AI +0.23 修正均属于产品参数,不应在没有电芯规格和测试数据时随意调整。
  • 编译通过只能证明接口和链接一致。首次烧录前应依次验证:上电 FET 保持关闭、首轮有效采样后再由 AUTO 仲裁开启、I²C 时序/上拉、两路 RX DMA 压力、TX 队列拥塞、每类故障注入、看门狗复位以及各任务栈最低余量。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages