第二章 系统架构设计:SCMS整体架构与功能模块划分

好,咱们进入正题。系统架构设计,说白了就是搭骨架。骨架搭歪了,后面填再好的肉也白搭。SCMS(超级电容管理系统)这东西,跟BMS(电池管理系统)看着像,但脾气完全不同。超级电容充放电快、寿命长、低温性能好,但电压窗口窄、能量密度低。所以它的管理系统,设计思路得跟着变。

我个人习惯,做架构设计前先画一张大图。把整个系统拆成几块,每块干什么、怎么通信、怎么协同,心里先有个谱。下面这张图,是我做项目时常用的SCMS功能架构,你可以参考一下。

SCMS 系统架构图 主控单元 (MCU) 前端采集模块 均衡管理模块 通信接口模块 超级电容模组 电压/电流/温度 均衡控制 CAN/RS485/以太网 数据交互 核心功能:数据采集 → 状态估算 → 均衡控制 → 通信上报 注:箭头方向表示数据流与控制流

2.1 前端采集模块:系统的眼睛和耳朵

前端采集,负责把超级电容的电压、电流、温度这些物理量,变成主控能读懂的数字信号。这活儿看着简单,其实坑不少。

我记得有一次做项目,采集回来的电压数据跳得像心电图。查了半天,发现是采样电阻的温漂太大。超级电容充放电时电流大,电阻发热,阻值一变,分压比就跑了。从那以后,我选采样电阻都盯着温漂系数,低于25ppm/°C的才敢用。

核心采集参数:

  • 单体电压:精度要求 ±5mV 以内,采样速率 ≥10Hz
  • 总电压:精度 ±0.1% FS,隔离采样
  • 电流:霍尔传感器或分流器,双向测量(充放电)
  • 温度:每4-6个单体布置一个NTC,精度 ±1°C

前端采集的架构,我一般推荐用专用AFE(模拟前端)芯片。像LTC6811、MAX17853这些,一颗能管12个通道,菊花链级联,隔离也方便。你想想看,要是用分立元件搭,光隔离就得费不少功夫。

小技巧:AFE芯片的SPI通信,建议加一级隔离(比如ADuM1401)。我曾经遇到过共模干扰把AFE烧了的情况,加了隔离后,再没出过问题。

2.2 主控单元:系统的大脑

主控单元,说白了就是整个SCMS的决策中心。它负责跑算法、做判断、发指令。选什么MCU,得看你的算法复杂度和接口需求。

我个人习惯,主控MCU至少要有这些资源:

  • 双CAN接口(一路对设备,一路对后台)
  • SPI接口(接AFE、存储、显示)
  • UART接口(调试、GPS、4G模块)
  • 足够的Flash和RAM(算法代码+数据缓存)

主控要干的事儿,我列了个清单:

功能 说明 实时性要求
数据采集与处理 读取AFE数据,滤波、校准、异常检测 ≤100ms
SOC估算 基于电压-容量曲线或库仑计数法 ≤1s
SOH估算 基于内阻变化或容量衰减 ≥10s(慢变参数)
均衡控制 判断均衡条件,控制均衡开关 ≤500ms
故障诊断 过压、欠压、过温、过流、通信异常 ≤200ms
通信管理 协议解析、数据打包、心跳维持 ≤50ms(CAN)

嗯,这里要注意。SOC估算对超级电容来说,跟电池不太一样。超级电容的电压-容量关系几乎是线性的,所以用开路电压法就能估得挺准。但库仑计数法受电流采样精度影响大,我建议两种方法结合着用。

2.3 均衡管理:让每个电容都"服气"

超级电容串联使用时,每个单体的容量和漏电流不可能完全一致。充放电次数多了,电压就会跑偏。有的电容电压高,有的低。高的那个容易过压,低的那个容量又用不满。均衡管理就是干这个的——把电压拉平。

均衡分两种:

  • 被动均衡:通过电阻把高电压单体的能量放掉。简单、便宜,但效率低,还发热。
  • 主动均衡:用电感或电容把能量从高电压单体搬到低电压单体。效率高,但电路复杂,成本高。

避坑指南:我曾经在一个项目中用了被动均衡,结果均衡电阻选小了,发热量巨大,把PCB都烤黄了。后来换成主动均衡,虽然成本多了几块钱,但系统稳定多了。超级电容内阻小,均衡电流可以做得比电池大,主动均衡的优势更明显。

均衡策略上,我一般这么定:

  1. 检测到单体电压差超过50mV,启动均衡
  2. 均衡电流控制在0.5A~2A(看电容容量和散热条件)
  3. 电压差小于10mV时,停止均衡
  4. 温度超过65°C时,强制停止均衡

2.4 通信接口:让数据跑起来

SCMS不是孤岛,它得跟充电机、负载、上位机、云平台打交道。通信接口就是它的嘴巴和耳朵。

常用的通信方式:

接口类型 速率 距离 典型用途
CAN 2.0B 250kbps~1Mbps ≤40m 与充电机、BMS、整车通信
RS485 115200bps ≤1200m 与上位机、PLC通信
以太网 10/100Mbps ≤100m 数据上传、远程监控
4G/5G 取决于网络 不限 云平台、手机APP

我个人习惯,CAN总线是必须有的。工业现场和车载环境,CAN的可靠性和实时性没得说。RS485作为备用,用于调试和本地监控。以太网和4G看需求,不是所有场景都需要。

经验之谈:CAN总线的终端电阻一定要加,120Ω,位置在总线两端。我见过有人偷懒没加,结果通信时好时坏,查了三天才找到原因。另外,CAN的共模扼流圈也建议加上,能有效抑制共模干扰。

2.5 功能模块划分:把复杂问题拆简单

做系统设计,我习惯把功能拆成独立的模块。每个模块职责清晰,接口明确。这样调试、维护、升级都方便。

SCMS的功能模块,我一般这么分:

  • 数据采集模块:负责AFE驱动、数据读取、滤波、校准
  • 状态估算模块:负责SOC、SOH、SOE(能量状态)估算
  • 均衡管理模块:负责均衡策略、均衡开关控制
  • 故障诊断模块:负责异常检测、故障记录、报警输出
  • 通信管理模块:负责协议解析、数据打包、心跳、重连
  • 存储管理模块:负责参数存储、历史数据记录、日志
  • 电源管理模块:负责系统供电、低功耗管理、看门狗

每个模块之间通过消息队列或共享数据结构通信。我建议用状态机来管理每个模块的工作流程,这样逻辑清晰,不容易出bug。

模块化设计的好处:

  • 单个模块出问题,不影响其他模块
  • 升级某个模块,不用动整个系统
  • 团队协作时,每人负责一个模块,效率高
  • 代码复用性好,下一个项目可以直接拿来用

好了,系统架构这块儿就聊到这儿。记住一句话:架构设计不是一蹴而就的,它是在不断踩坑、填坑中迭代出来的。你设计的第一个版本可能不完美,没关系,先跑起来,再优化。


专注资料整理