基于RK3588/RK3576+MCU STM32+AI的储能电站电池簇管理系统设计与实现
伴随近年来新型储能技术的高质量规模化发展,储能电站作为新能源领域的重要载体, 旨在配合逐步迈进智能电网时代,满足电力系统能源结构与分布的创新升级,给予相应规模 电池管理系统的设计与实现以新的挑战。同时,电子系统的端云协同设计概念已经十分成熟, 面对储能电站高度安全稳定的长期运行需求,边缘端与云端的功能架构划分需进一步完善, 于边缘端实现高性能运算成为储能电站电池管理系统(Battery Management System, BMS)设计 的创新性嵌入式解决方案。
本文针对储能电站BMS中电池簇管理单元(Battery Cluster Management Unit, BCMU)展 开研究,详细描述了设计并实现BCMU系统的研发工作内容,重点介绍了边缘计算系统中硬 件、软件与算法的交互适配关系,通过理论研究与实物测试结合的方式证明了系统的实用性 能优势。
(1)通过总结电池管理系统研究发展现状,分析储能电站总体需求与BMS主要功能, 提出了储能电站管理系统结构方案,聚焦于以AI芯片模组为核心设计BCMU系统及其智能 管理应用,着重探讨了系统硬件电路设计、软件开发方案、基于神经网络实现深度学习预测 荷电状态(State of Charge, SOC)三个方面的研发工作。
(2)针对BCMU边缘计算管理系统设计,提出基于AI芯片模组设计硬件系统,并划分 为AI核心系统与安全监测系统,配合Linux操作环境与逻辑软件设计开发,实现了电池簇电 压、母线电流与绝缘电阻参数的采样功能,多种类高速数据通信功能,以及深度学习SOC参 数预测功能。重要地,本文创新性提出应用稀疏Transformer-LSTM嵌入神经网络模型,部署 于AI芯片模组集成神经网络处理单元(Neural-Network Processing Unit, NPU)以轻量化加速神 经网络运算,降低大数据驱动融合网络运算资源消耗,提升嵌入式系统边缘计算效率。
(3)面向系统设计实现功能进行实验测试,针对安全监测系统参数采样功能,实验证实 在千伏储能电站电池簇实际应用中电压电流采样误差约为1% F.S,在本文设定绝缘电阻告警 阈值附近相对采样误差约为1.5%,在故障阈值附近约为0.5%;针对AI核心系统边缘端深度 学习预测SOC参数,设计实验分别从神经网络模型方案与嵌入式边缘计算方案两个角度重点 分析了BCMU基于融合神经网络嵌入式系统运算的精度、误差与资源消耗,每个时间戳小于 等于9ms的平均运算时间与较低的MAE与RMSE指标在一定程度上体现了系统性能优势, 实现了数据驱动深度学习SOC预测向边缘计算转移,推动人工智能电池管理技术的大数据化 发展,符合储能电站管理技术优化趋势。
系统总体方案设计
针对储能电站庞大且复杂的电池系统构架,需设计电站总体管理系统结构并按层次推进, 明确各层次系统需求与功能,保障电站安全稳定运行,着重攻克边缘端AI应用设计难点。 本章作为后续章节中储能电站总体管理系统内部电池簇管理单元即BCMU完整设计的前期 准备工作,从功能需求与方案可行性出发,首先提出了储能电站总体管理系统结构方案,针 对电池簇边缘端智能管理目标,聚焦于以AI芯片模组为核心的系统整体在BCMU边缘端的 AI应用,以及基于神经网络实现深度学习SOC参数估计的工作重心,着重探讨了硬件、软 件和算法于边缘计算系统中的交互适配,提出了设计方案与简要设计过程。
2.1 总体需求分析
在电池管理系统领域中,储能电站由于相比于动力电池组等其他小型储能系统,具备较 高的安全稳定需求,较长的待机运行时间,特殊的高峰低谷用电策略以及电网端辅助建设等 特性,涉及电站总体管理系统需求较为复杂,需要根据不同种类需求完成相应的系统功能分 析,故本文总结储能电站需求、电站总体管理系统需求与相应功能描述,如表2.1所示。
2.3 基于AI芯片模组的系统设计
本文目的在于探索储能电站总体管理系统结构方案中BCMU边缘端AI应用,具体来讲, 需要以AI芯片模组为核心设计系统,实现对于储能电站电池簇的安全检测监控,并且基于 神经网络完成深度学习算法部署。智能管理系统需要充分发挥硬件系统低功耗高性能特性, 为复杂软件算法提供强大的并行计算和神经网络加速能力;实现高度系统集成化,整合多核 处理器、多种类接口与通信模块外设,简化硬件结构连接和系统构架;需具备可扩展性,支 持多种通信协议和接口,便于与其他系统交互通信,发挥其灵活性和可操作性。
本节将首先介绍AI芯片模组选型,随后描述了BCMU系统的硬件与软件方案设计内容, 以说明以AI芯片模组为核心的BCMU系统融合了上文中提到的针对储能电站的智能管理技 术优势,最终实现搭建总体系统结构方案中BCMU边缘计算智能管理系统。 2.3.1 AI芯片模组介绍与选型
AI芯片模组在边缘计算场景中涵盖了实时监测控制、故障诊断与维护、数据分析与决策 支持等功能,能够将计算、存储与数据处理等功能集成于靠近数据源的边缘设备上进行,以 实现更加快速精准地处理与响应,降低系统运行的工作延迟,提高整体性能和效率。在储能 电站BCMU应用中,AI芯片模组将会成为深度学习计算平台,部署神经网络模型,以实现 实时精准预测电池SOC参数。AI芯片模组RK3588封装实物如图2.2所示。
AI芯片模组RK3588内部集成ARM架构八核64位中央处理器(Central Processing Unit, CPU),大小核结构分别为四核Cortex-A76与四核Cortex-A55以及单独扩展结构NEON协处 理器。重要地,芯片内部集成嵌入神经网络处理单元(Neural-Network Processing Unit, NPU), 针对神经网络模型包含矩阵乘法、卷积操作与激活函数等运算,及其大规模并行计算需求, NPU拥有性能高度优化的精简指令集以及定制化的集成电路硬件加速运算设计,支持int16、 FP16与TF32等数据类型的混合运算。NPU单核架构如图2.3所示。
2.3.2 系统硬件电路设计
针对储能电站总体管理系统结构方案中BCMU边缘端AI应用,根据上文中系统的需求 分析以及详细功能描述,BCMU硬件系统需要AI芯片模组适配硬件系统以实现处理器运算 存储操作,配置外部接口电路以实现数据通信交互,并且需要负责实时监测高压电池簇端总 电压、充放电母线电流以及绝缘电阻数据,设置数据收发系统实现上下层管理系统交互通信。 故设计BCMU硬件系统主要分为两个组成部分,分别为以AI芯片模组为核心的硬件系统与 安全监测硬件系统,整体BCMU硬件系统框图如图2.4所示。
AI芯片模组核心硬件系统,于BCMU硬件系统组成中负责边缘端AI应用参数预测估计 与高速数据通信交互。其以AI芯片模组RK3588为主处理器芯片,集成多核CPU管理运算、 通信与显示等多种类任务进程,集成NPU执行加速神经网络模型运算以深度学习实现SOC 参数预测估计。电源管理模块用于设置多核处理器与外设上下电时序与电压标准,通过电源 管理芯片PMIC保持输入电压电流稳定,控制硬件系统功耗。外部存储应用DDR存储颗粒 与eMMC快闪存储器保存程序代码与启动管理。外部接口启动USB与以太网等通信方式, 用于数据传输的接口电路模块需要在系统进行SOC参数预测时不断更新原始数据,并且将估 计结果传输至储能电站管理系统各层次。HDMI显示模块连接显示屏幕用于系统操作与编程 显示功能实现。
安全监测系统,于BCMU硬件系统组成中负责保障电池簇安全稳定运行。以意法半导体 STMicroelectronics公司MCU型号STM32G473作为主处理器芯片。应用其内部集成FDCAN 控制器,支持数据段通信可变速率传输,以实现电站管理系统不同层次间的快速数据通信, 应用集成串行接口UART协议供给系统调试通信应用,应用GPIO输出高低电平,场效应管 实现电平转换以控制接触器通断,系统需要与通信模块交互配合实现运行状态下的通信接收充放电信息并且稳定控制接触器,以及紧急状况下强制断开接触器等操作。系统硬件外设模 块包含FDCAN通信模块,电压电流传感器模块与绝缘电阻检测模块,FDCAN协议通信需 要通过收发器将控制器传输的总线物理层信号与总线差分电平进行转换,以配置电平逻辑; 传感器模块通过电压与电流霍尔传感器,配合MCU集成ADC完成电池簇总电压与充放电母 线电流数据采集;绝缘电阻检测模块需得到电池簇总电压数据,设计添加电阻支路分压得到 电池簇正负极对于零电位外壳的相对电阻值,过低时易造成短路需要及时告警。 2.3.3 系统软件方案设计
针对储能电站总体管理系统结构方案中BCMU边缘端AI应用,根据上文中描述的硬件 系统为基础进行系统软件方案设计,包含AI芯片模组核心系统的控制、通信与运算,以及 安全监测与告警逻辑等软件程序,系统软件方案框图如图2.5所示。
AI芯片模组核心系统,设计使用Linux操作系统以实现配置嵌入式系统管理(Embedded System Management, ESM),通过调用设备驱动程序中实现IO通道管理的IOCTL函数,映射 自定义内核驱动程序,创建接口以访问ESM。软件环境开发需根据原厂系统镜像完成相应功 能的节点裁剪,得到符合系统模块的设备树,本文设计保留DDR与eMMC存储节点、HDMI 显示节点、USB与以太网传输节点等。重要地,以AI芯片模组内嵌NPU加速神经网络深度 运算为基础,需要不断调整超参数以完成神经网络训练步骤,得到符合储能电站电池特性的 网络模型,利用模型转换软件于BCMU边缘端部署模型,在系统暂存电压、电流、温度与内 阻等电池单体参数后传输至NPU,通过其部署模型深度学习预测SOC参数。
安全监测系统,设计配置独立看门狗IWDG,根据低速时钟源频率设置计数器溢出时间, 通过配置相关寄存器完成系统死机重启处理器复位,避免系统因为程序卡死而停止数据采集 与紧急危险控制操作,因而失去安全保护功能。充放电通断控制需要系统接收通信模块下发 充放电开始或结束指令,通过配置GPIO输出高低电平控制接触器通断,同时系统写入软件逻辑,当接收错误或危险告警与系统判断参数异常危险时,强制执行断开充放电母线接触器。 传感器模块以及绝缘电阻检测模块需要芯片内置ADC与DMA控制器参与,配置ADC特定 通道,确定精度、分辨率与不同采样模式,应用DMA控制直接读取处理器内存,达到实时 参数采集的目的。通信模块应用芯片串口UART与FDCAN协议,串口通信用于上位机烧录 程序与调试功能等,FDCAN协议中的不同数据类型需要手动编码,完成BCMU与储能电站 管理系统不同层次系统间的数据传输与命令收发。
相关文章:

基于RK3588/RK3576+MCU STM32+AI的储能电站电池簇管理系统设计与实现
伴随近年来新型储能技术的高质量规模化发展,储能电站作为新能源领域的重要载体, 旨在配合逐步迈进智能电网时代,满足电力系统能源结构与分布的创新升级,给予相应规模 电池管理系统的设计与实现以新的挑战。同时,电子系…...

使用LightGlue进行图像配准并提取图像重叠区域
发表日期:2023年6月23日 项目地址:https://github.com/cvg/LightGlue https://github.com/cvg/glue-factory/ LightGlue是一个在精度上媲美Superglue,但在速度上比Superglue快一倍的模型。通过博主实测,LightGlue的配准效果比Su…...
DeepSeek-R1:开源机器人智能控制系统的革命性突破
目录 引言 一、DeepSeek-R1 的概述 1.1 什么是 DeepSeek-R1? 1.2 DeepSeek-R1 的定位 二、DeepSeek-R1 的核心特性 2.1 实时控制能力 2.2 多传感器融合 2.3 路径规划与导航 2.4 人工智能集成 2.5 开源与模块化设计 2.6 跨平台支持 三、DeepSeek-R1 的技术…...

第二十二章 MySQL锁之全局锁
目录 一、锁概述 二、全局锁概念 三、全局锁使用 四、全局锁特点 五、不加锁一致性数据备份 5.1. 实现方式 5.2. 优点和缺点 一、锁概述 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O&#x…...
pytorch实现简单的情感分析算法
人工智能例子汇总:AI常见的算法和例子-CSDN博客 在PyTorch中实现中文情感分析算法通常涉及以下几个步骤:数据预处理、模型定义、训练和评估。下面是一个简单的实现示例,使用LSTM模型进行中文情感分析。 1. 数据预处理 首先,我…...

Win11关闭登录密码?
或者使用winR快捷键, 输入: netplwiz 进入页面后,按照提示按ctrlaltdel键更改密码。 在跳转页面点击更改密码。 输入原密码后,将新密码设置为空即可。 Win11的两个实用技巧系列之如何关闭登录密码?_win11关闭密码还是要输入-CSDN博客...

e2studio开发RA4M2(6)----GPIO外部中断(IRQ)配置
e2studio开发RA4M2.6--GPIO外部中断(IRQ)配置 概述视频教学样品申请硬件准备参考程序源码下载新建工程工程模板保存工程路径芯片配置工程模板选择时钟设置SWD调试口设置GPIO口配置按键中断配置中断回调函数主程序 概述 GPIO(通用输入/输出&a…...
DeepSeek 阐述 2025年前端发展趋势
预测2025年前端的发展趋势。首先,我需要考虑当前的前端 技术发展情况,以及近几年的变化趋势。比如,框架方面,React、Vue、Angular这些主流框架的更新方向和社区活跃度。可能用户想知道未来哪些技术会更流行,或者需要学…...
linux内核源代码中__init的作用?
在 Linux 内核源代码中,__init是一个特殊的宏,用于标记在内核初始化阶段使用的变量或函数。这个宏的作用是告诉内核编译器和链接器,被标记的变量或函数只在内核的初始化阶段使用,在系统启动完成后就不再需要了。因此,这…...

计算机从何而来?计算技术将向何处发展?
计算机的前生:机械计算工具的演进 算盘是计算机的起点,它其实是一台“机械式半自动化运算器”。打算盘的“口诀”其实就是它的编程语言,算盘珠就是它的存储器。 第二阶段是可以做四则运算的加法器、乘法器。1642年,法国数学家帕斯…...

浏览器的通信能力
浏览器的通信能力 用户代理 浏览器可以代替用户完成http请求,代替用户解析响应结果,所以我们称之为: 用户代理 user agent 在网络层面,对于前端开发者,必须要知道浏览器拥有的两大核心能力: 自动发出请…...
11. 9 构建生产级聊天对话记忆系统:从架构设计到性能优化的全链路指南
构建生产级聊天对话记忆系统:从架构设计到性能优化的全链路指南 关键词: 聊天对话记忆系统、多用户会话管理、LangChain生产部署、Redis记忆存储、高并发对话系统 一、服务级聊天记忆系统核心需求 多用户隔离:支持同时处理数千个独立对话持久化存储:对话历史不因服务重启丢…...
25.02.04 《CLR via C#》 笔记14
第二十一章 托管堆和垃圾回收 内存分配过程 CLR维护一个“下一次分配指针”(NextObjPtr),指向当前托管堆中第一个可用的内存地址 计算类型所需的字节数,加上对象开销(类型对象指针、同步块索引)所需字节数…...

半导体器件与物理篇5 mosfet及相关器件
认识mos二极管 MOS二极管是研究半导体表面特性最有用的器件之一。MOS二极管可作为存储电容器,并且是电荷耦合器件(CCD)的基本结构单元。 MOS二极管结构的重要参数包括:氧化层厚度d;施加于金属平板上的电压V(正偏压时V为正&#x…...

Hugging Face GGUF 模型可视化
Hugging Face GGUF 模型可视化 1. Finding GGUF files (检索 GGUF 模型)2. Viewer for metadata & tensors info (可视化 GGUF 模型)References 无知小儿,仙家雄霸天下,依附强者才是唯一的出路。否则天地虽大,也让你们无路可走࿰…...

PVE纵览-掌握 PVE USB 直通:让虚拟机与物理设备无缝连接
PVE纵览-掌握 PVE USB 直通:让虚拟机与物理设备无缝连接 文章目录 PVE纵览-掌握 PVE USB 直通:让虚拟机与物理设备无缝连接摘要前提条件步骤一:识别 USB 设备步骤二:编辑虚拟机配置步骤三:重启虚拟机注意事项其他配置选…...

关于系统重构实践的一些思考与总结
文章目录 一、前言二、系统重构的范式1.明确目标和背景2.兼容屏蔽对上层的影响3.设计灰度迁移方案3.1 灰度策略3.2 灰度过程设计3.2.1 case1 业务逻辑变更3.2.2 case2 底层数据变更(数据平滑迁移)3.2.3 case3 在途新旧流程兼容3.2.4 case4 接口变更3.2.5…...

DeepSeek:智能时代的AI利器及其应用前景
1.DeepSeek是什么? DeepSeek是一款基于人工智能技术的工具,旨在帮助用户高效处理和分析数据、生成内容、优化工作流程等。无论是数据分析、自然语言处理,还是自动化任务,DeepSeek都能提供强大的支持。其核心技术涵盖了机器学习、深…...
超详细UE4(虚幻4)第一人称射击(FPS)游戏制作教程
超详细UE4(虚幻4)第一人称射击(FPS)游戏制作教程 引言 在游戏开发领域,第一人称射击(FPS)游戏一直是最受欢迎的类型之一。从经典的《反恐精英》(CS)到现代的《使命召唤》(Call of Duty),FPS游戏凭借其紧张刺激的游戏体验和高度沉浸感,吸引了无数玩家。如果你是一…...

电商项目高级篇09-检索服务
电商项目高级篇09-检索服务 1、环境搭建1.1、前端静态文件准备1.2、search服务引入模版引擎1.3、index.html页面复制到templates文件夹下1.4、模仿product项目,引入名称空间1.5、动静分离,静态资源路径位置替换1.6、将1.1的静态资源放到nginx目录下1.7、…...

Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...

Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...

【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...

LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)
目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...