基于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与储能电站 管理系统不同层次系统间的数据传输与命令收发。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/894668.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

K8s 分布式存储后端(K8s Distributed Storage Backend)

K8s 分布式存储后端 在 K8s 中实现分布式存储后端对于管理跨集群的持久数据、确保高可用性、可扩展性和可靠性至关重要。在 K8s 环境中,应用程序通常被容器化并跨多个节点部署。虽然 K8s 可以有效处理无状态应用程序,但有状态应用程序需要持久存储来维护…

FFmpeg:多媒体处理的瑞士军刀

FFmpeg:多媒体处理的瑞士军刀 前言 FFmpeg 是一个功能强大且跨平台的开源多媒体框架,广泛应用于音视频处理领域。 它由多个库和工具组成,能够处理各种音视频格式,涵盖编码、解码、转码、流处理等多种操作。 无论是专业视频编辑…

unordered_map/set的哈希封装

【C笔记】unordered_map/set的哈希封装 🔥个人主页:大白的编程日记 🔥专栏:C笔记 文章目录 【C笔记】unordered_map/set的哈希封装前言一. 源码及框架分析二.迭代器三.operator[]四.使用哈希表封装unordered_map/set后言 前言 哈…

编程AI深度实战:大模型哪个好? Mistral vs Qwen vs Deepseek vs Llama

​​ 系列文章: 编程AI深度实战:私有模型deep seek r1,必会ollama-CSDN博客 编程AI深度实战:自己的AI,必会LangChain-CSDN博客 编程AI深度实战:给vim装上AI-CSDN博客 编程AI深度实战:火的编…

neo4j-community-5.26.0 install in window10

在住处电脑重新配置一下neo4j, 1.先至官方下载 Neo4j Desktop Download | Free Graph Database Download Neo4j Deployment Center - Graph Database & Analytics 2.配置java jdk jdk 21 官网下载 Java Downloads | Oracle 中国 path: 4.查看java -version 版本 5.n…

网络原理(5)—— 数据链路层详解

目录 一. 以太网 1.1 认识以太网 1.2 网卡与以太网 1.3 以太网帧格式 二. 认识MAC地址 三. MAC地址 与 IP地址 的区别 4.1 定义 4.2 分配方式 4.3 工作层次 4.4 地址格式 4.5 寻址方式 四. ARP协议 4.1 引入 4.2 ARP的概念 4.3 ARP工作原理 五. MTU 与 MSS …

【从零开始的LeetCode-算法】922. 按奇偶排序数组 II

给定一个非负整数数组 nums, nums 中一半整数是 奇数 ,一半整数是 偶数 。 对数组进行排序,以便当 nums[i] 为奇数时,i 也是 奇数 ;当 nums[i] 为偶数时, i 也是 偶数 。 你可以返回 任何满足上述条件的…

H264原始码流格式分析

1.H264码流结构组成 H.264裸码流(Raw Bitstream)数据主要由一系列的NALU(网络抽象层单元)组成。每个NALU包含一个NAL头和一个RBSP(原始字节序列载荷)。 1.1 H.264码流层次 H.264码流的结构可以分为两个层…

AI大模型(二)基于Deepseek搭建本地可视化交互UI

AI大模型(二)基于Deepseek搭建本地可视化交互UI DeepSeek开源大模型在榜单上以黑马之姿横扫多项评测,其社区热度指数暴涨、一跃成为近期内影响力最高的话题,这个来自中国团队的模型向世界证明:让每个普通人都能拥有媲…

图的基本术语——非八股文

我之前只看到了数据结构与算法的冰山一角,感觉这些术语只会让知识越来越难理解,现在来看,他们完美抽象一些概念和知识,非常重要。 本篇概念肯定总结不全,只有遇到的会写上,持续更新,之前文章已经…

oracle: 表分区>>范围分区,列表分区,散列分区/哈希分区,间隔分区,参考分区,组合分区,子分区/复合分区/组合分区

分区表 是将一个逻辑上的大表按照特定的规则划分为多个物理上的子表,这些子表称为分区。 分区可以基于不同的维度,如时间、数值范围、字符串值等,将数据分散存储在不同的分区 中,以提高数据管理的效率和查询性能,同时…

本地快速部署DeepSeek-R1模型——2025新年贺岁

一晃年初六了,春节长假余额马上归零了。今天下午在我的电脑上成功部署了DeepSeek-R1模型,抽个时间和大家简单分享一下过程: 概述 DeepSeek模型 是一家由中国知名量化私募巨头幻方量化创立的人工智能公司,致力于开发高效、高性能…

C++11详解(一) -- 列表初始化,右值引用和移动语义

文章目录 1.列表初始化1.1 C98传统的{}1.2 C11中的{}1.3 C11中的std::initializer_list 2.右值引用和移动语义2.1左值和右值2.2左值引用和右值引用2.3 引用延长生命周期2.4左值和右值的参数匹配问题2.5右值引用和移动语义的使用场景2.5.1左值引用主要使用场景2.5.2移动构造和移…

手写MVVM框架-构建虚拟dom树

MVVM的核心之一就是虚拟dom树,我们这一章节就先构建一个虚拟dom树 首先我们需要创建一个VNode的类 // 当前类的位置是src/vnode/index.js export default class VNode{constructor(tag, // 标签名称(英文大写)ele, // 对应真实节点children,…

【大数据技术】教程03:本机PyCharm远程连接虚拟机Python

本机PyCharm远程连接虚拟机Python 注意:本文需要使用PyCharm专业版。 pycharm-professional-2024.1.4VMware Workstation Pro 16CentOS-Stream-10-latest-x86_64-dvd1.iso写在前面 本文主要介绍如何使用本地PyCharm远程连接虚拟机,运行Python脚本,提高编程效率。 注意: …

pytorch实现门控循环单元 (GRU)

人工智能例子汇总:AI常见的算法和例子-CSDN博客 特性GRULSTM计算效率更快,参数更少相对较慢,参数更多结构复杂度只有两个门(更新门和重置门)三个门(输入门、遗忘门、输出门)处理长时依赖一般适…

PAT甲级1032、sharing

题目 To store English words, one method is to use linked lists and store a word letter by letter. To save some space, we may let the words share the same sublist if they share the same suffix. For example, loading and being are stored as showed in Figure …

最小生成树kruskal算法

文章目录 kruskal算法的思想模板 kruskal算法的思想 模板 #include <bits/stdc.h> #define lowbit(x) ((x)&(-x)) #define int long long #define endl \n #define PII pair<int,int> #define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); using na…

为何在Kubernetes容器中以root身份运行存在风险?

作者&#xff1a;马辛瓦西奥内克&#xff08;Marcin Wasiucionek&#xff09; 引言 在Kubernetes安全领域&#xff0c;一个常见的建议是让容器以非root用户身份运行。但是&#xff0c;在容器中以root身份运行&#xff0c;实际会带来哪些安全隐患呢&#xff1f;在Docker镜像和…

ConcurrentHashMap线程安全:分段锁 到 synchronized + CAS

专栏系列文章地址&#xff1a;https://blog.csdn.net/qq_26437925/article/details/145290162 本文目标&#xff1a; 理解ConcurrentHashMap为什么线程安全&#xff1b;ConcurrentHashMap的具体细节还需要进一步研究 目录 ConcurrentHashMap介绍JDK7的分段锁实现JDK8的synchr…