1. 项目思路与整体设计拆解1.1 两节串联电池为什么也需要均衡先说结论串联节数越少单节电压不一致造成的容量损失越容易被忽视但实际上非常致命。我接过不少备用电源相关的活儿很多是给安防设备、表计、小型储能柜做后备电池管理。这类系统最常见的是两节磷酸铁锂串联或者两节铅酸串联。很多人觉得两节而已电压差能有多大实际做过就知道由于电池出厂内阻差异、所处温度位置不同、充放电循环次数不一致经过几十个循环之后两节电池的电压差距可以轻松拉开到 100mV 以上。在充电阶段假设系统是 2S 磷酸铁锂充电截止电压按单节 3.65V 算总电压 7.3V。如果两节电池一个偏高一个偏低充电管理器按照总电压判断高的一节可能已经到 3.70V低的那节才 3.55V。这时候如果继续充电高的那节就会过充带来安全隐患如果停止充电低的那节永远充不满。放电阶段也一样总电压看着还有余量实际上其中一节已经接近欠压保护点直接触发系统断电。所以均衡不是多串电池组的专利。两节串联的系统同样需要而且因为电池数量少均衡控制的逻辑更简单但采样精度和判定策略反而更容易被低估。1.2 MP2642GR-Z 与 PIC18F45K50 的分工逻辑这个项目里两个核心芯片的分工非常清晰MP2642GR-Z 负责电源路径管理和充电控制PIC18F45K50 负责电压采样、均衡判定和执行控制。MP2642GR-Z 是前端的电源管理芯片完成输入电源到电池组之间的充电管理。它处理恒流恒压充电曲线、输入限流、系统负载优先这些事。我可以把它理解为“管家”只管电怎么流进电池、怎么流到系统负载它不管电池之间谁高谁低。PIC18F45K50 则是整个均衡系统的“大脑”。它通过 ADC 采样两节电池各自的电压计算差值判断当前是充电状态还是待机状态然后决定要不要打开均衡开关什么时候关掉以及遇到异常情况怎么保护。两个芯片之间不是简单的“主从关系”更像是一种配合关系。PIC 需要知道当前 MP2642GR-Z 的工作状态——是在充电、还是在浮充、还是已经保护——这样才能决定均衡是否允许介入。我在设计中用 MP2642GR-Z 的状态输出脚接一个 GPIO 到 PICPIC 通过电平判断当前充电阶段。如果系统处于恒压浮充阶段均衡介入效果最好如果是大电流恒流充电阶段均衡反而可能干扰充电管理器的判断。2. 系统架构与均衡方案选型2.1 电源路径管理MP2642GR-Z 在系统里的位置这套系统的供电拓扑是这样的外部直流电源输入经过 MP2642GR-Z 后分两路走一路给电池组充电另一路通过它内部集成的路径管理直接给系统负载供电。这个“路径管理”功能在实际产品里特别重要。什么叫路径管理简单说就是当输入电源能力不足时优先保证系统负载的供电剩余电流才用来给电池充电。比如输入适配器最大只能提供 2A 电流系统负载吃掉了 1.5A那电池充电就只能拿到 0.5A。如果没有路径管理传统方案里充电器和负载抢电流很容易把输入电源拉垮甚至导致系统电压跌落复位。在备用电源场景中这个功能更关键。平时市电正常系统用外部电源供电同时给电池浮充市电断开时MP2642GR-Z 的输入掉电系统自动切换到电池放电回路负载由电池直接供电。切换过程不能导致系统断电所以芯片内部需要有理想二极管或者 FET 开关做无缝切换。这一块 MP2642GR-Z 自己处理PIC 不需要干预但 PIC 要能感知当前是“外部供电模式”还是“电池放电模式”因为均衡只能在外部供电模式下进行。我在状态设计里把 MP2642GR-Z 的工作模式通过两个 GPIO 读进来一个表示输入电源是否在位一个表示是否处于充电状态。只有输入在位且充电状态有效时均衡模块才允许动作。这样能避免一个常见问题——系统在电池放电模式下误开均衡白白浪费电池能量。提示规划电源拓扑时一定要把均衡电路放在 MP2642GR-Z 的输出侧、电池组的两端并联位置不要放在输入端。否则均衡动作会影响输入电源的稳定。2.2 被动均衡 vs 主动均衡这个场景为什么选被动均衡从能量处理方式上分两大类被动均衡和主动均衡。被动均衡的做法是检测到某一节电池电压偏高时通过并联在这节电池两端的电阻把多余的能量以热量的形式消耗掉。优点是电路简单、成本低、控制逻辑直接缺点就是能量被浪费掉而且电阻发热。主动均衡的做法是用双向电源转换电路把高电压电池的能量搬到低电压电池里去。效率高热量小但是电路复杂一个双向升降压拓扑加上变压器或电感成本翻几倍控制算法也麻烦很多。在备用电源这个场景我最终选了被动均衡。理由主要有三个。第一个理由是均衡的必要性低。备用电源大多数时间处于浮充状态充放电循环次数少电池之间的分化速度比动力电池慢得多。只需要在浮充期间把电压差拉回到一个可接受范围就行不需要频繁进行大电流均衡被动均衡的时间足够。第二个理由是发热可以被接受。被动均衡的发热量由均衡电流决定。我把单节均衡电流限制在 100mA 到 200mA 之间对应的功率也就 0.4W 到 0.8W 左右用合适的 PCB 铜箔散热就完全能扛住。第三个理由是故障模式更安全。被动均衡的电路故障模式是“开关短路导致一直放电”和“开关开路导致不均衡”两种都能被电压检测发现。而主动均衡电路一旦控制时序出错可能直接引发电池间环流这种故障在备用电源这种长期无人值守的场景里非常危险。那两串电池能不能做主动均衡能而且很多 IC 方案就是这么干的用开关电容或者反激变换器在电池之间搬能量。但自主设计的话做两串主动均衡的性价比很低你还得额外处理 MP2642GR-Z 和均衡模块之间的电流交互复杂度会高不是一星半点。3. 均衡控制的核心逻辑与算法设计3.1 电压采样与校准决定均衡精度的第一道关卡被动均衡的控制依据是两节电池的电压差。这个差值测得准不准直接决定均衡的效果。两节串联电池的采样点有三个总正极、中间连接点、总负极。我必须分别测出“上电池电压”和“下电池电压”。注意MCU 的 ADC 参考地是系统 GND也就是电池总负极。所以我要采两个电压值一个是总正极电压一个是中间连接点电压然后下电池电压就是中间连接点电压本身上电池电压则是总正极电压减去中间连接点电压。这里有个容易踩坑的地方如果直接把电池正极接 MCU 的 ADC 脚两串电池的总电压可能超过 MCU 的供电电压会烧引脚。必须用分压电阻先把电压降到 ADC 量程以内。对于磷酸铁锂两串总电压最高大约 7.3VPIC18F45K50 如果 VDD 是 3.3V那分压比至少要大于 2.2。我用了两个电阻一个是精密电阻加固定电阻的串联分压分压比设计在 2.5 倍左右也就是 ADC 输入电压最高不超过 3V。中间连接点电压最高 3.65V也超过 3.3V同样需要分压。但分压电阻一加问题就来了电阻有误差。普通 1% 精度的电阻分压比误差会直接影响采样电压的绝对值。比如 100k 和 51k 的分压结构1% 误差可能导致几十 mV 的测量偏差。对于均衡控制来说这个偏差比电池本身的不均衡还大必须校准。我的做法是两点校准。每块板子在出厂前用一台精度 0.05% 的可调电源分别在两个电压点下做校准算出实际分压比的修正系数烧录进 EEPROM。ADC 采集的时候用这个修正系数做线性换算。这套校准流程看起来增加了一点生产步骤但换来的是电池电压采样精度达到 ±5mV 以内后期调试会非常舒服。注意校准数据必须存在 EEPROM不要存在 Flash 程序的常量区。不同板子的分压电阻实际阻值不一样常量区写死校准值的话每换一块板子都要重新编译固件项目后期维护会疯掉。3.2 均衡判定与滞回控制阈值怎么定更合理均衡判定的核心是什么时候打开均衡什么时候关闭均衡。我的实现思路不是简单的“差值大于阈值就开着小于阈值就关”而是采用滞回控制避免均衡开关反复抖动。具体参数我是这样设的以磷酸铁锂两串为例均衡开启条件是两节电池电压差值大于 30mV且此时系统处于充电或浮充状态。均衡关闭条件是差值小于 15mV或者系统退出充电状态或者任一电池出现过压保护。30mV 和 15mV 这个 15mV 的滞回带宽配合采样滤波之后可以保证开关不会在临界点来回抖动。如果开启阈值和关闭阈值设成同一个值比如都是 20mV那只要采样噪声有波动开关就会反复通断均衡 MOS 管在这种高频开关下发热非常明显而且会产生电磁干扰。还有一种情况要特别处理如果两节电池电压都偏高比如都超过 3.55V但差值只有 10mV这样不应该开均衡吗我的答案是不应该。因为这个差值在正常范围内说明电池是均衡的不需要动作。真正需要处理的场景是一节 3.58V、另一节 3.49V差值 90mV这种情况下即使两节都没到充满电压也必须开始均衡防止高的一节继续被充电推到过压。均衡使能还需要一个最低电压条件。我设成两节电池都高于 3.0V 时才允许均衡。低于这个电压电池处于深度放电状态此时的首要任务是充电补电而不是均衡先让电池恢复到安全电压区间再说。3.3 安全保护与故障切换均衡系统虽然简单但不能裸奔必须设计一套保护逻辑。我用软件实现了几类保护。过压保护任意一节电池电压超过 3.70VPIC 立即关闭均衡 MOS并拉低 MP2642GR-Z 的充电使能脚停止充电。这个动作要在 10ms 内完成防止电池被推到危险电压。如果软件跑飞或者 ADC 出问题硬件上还有一节单独的电压比较器做第二道防线可以直接拉断充电回路这个我在后面硬件部分细说。过流保护被动均衡的电流主要由泄放电阻阻值决定理论上不会过流。但 MOS 管如果被击穿短路均衡电流会持续流过。我在每个均衡支路串了一个 0.2A 的自恢复保险丝加上固件里判断“如果均衡开启超过 2 小时且电压差值没有下降”就上报故障并锁存需要人工复位。均衡超时保护如果均衡开启时间超过设定上限说明电池可能已经出现了不可恢复的分化这时继续均衡已经没有意义。我的做法是记录连续均衡时间超过 2 小时后关闭均衡并点亮告警灯提示维护人员检查电池状态。4. 硬件电路与关键参数详解4.1 电压采样电路设计采样电路我做成了三级结构分压、滤波、钳位保护。第一级分压上电池采样点总正极 V和中间节点Vmid各用一个分压电阻网络。V 采用 100kΩ 和 51kΩ 分压Vmid 采用 100kΩ 和 51kΩ 分压比例都是约 1.51:1。注意这里电阻一定要选低温度系数的普通贴片电阻温度系数可能达到 100ppm/℃在 -20℃ 到 60℃ 范围内会引入不小的漂移。我选的是 25ppm/℃ 的薄膜贴片电阻温度漂移基本可以忽略。第二级滤波分压后的信号串一个 1kΩ 电阻对地并一个 0.1μF 电容构成一阶低通滤波截止频率大约 1.6kHz。这个滤波很关键因为 MP2642GR-Z 是开关电源芯片开关噪声会通过 PCB 走线耦合到采样线上不加滤波的话 ADC 采出来的数据跳动非常大。第三级钳位保护ADC 引脚对地并联一个 3.3V 的 TVS 管防止电池反接或者带电插拔时过压损坏 MCU。采集顺序上有个细节PIC18F45K50 的 ADC 只有一个采样保持电容多通道切换时通道之间会互相串扰。所以我在固件里做通道切换后延时 10μs 再启动转换确保前一个通道的电荷已经泄放掉。4.2 均衡执行电路设计均衡支路结构是电池两端并联一个 MOS 管加一个泄放电阻。两串电池需要两个均衡支路。下电池Cell2连接在总负和中间节点之间的均衡支路MOS 管源极可以直接接地栅极由 PIC 的 GPIO 通过 10kΩ 限流电阻驱动控制逻辑最简单。上电池Cell1连接在中间节点和总正之间就麻烦了。上电池的均衡支路如果想用 N 沟道 MOS 管做低边开关MOS 管的源极会接在中间节点上这个节点电压是浮动的大约在 2.5V 到 3.7V 之间。PIC 的 GPIO 输出高电平是 3.3V栅源电压不够无法可靠导通 N 沟道 MOS 管。如果直接用 P 沟道 MOS 管做高边开关栅极驱动逻辑就要反一下而且 P 沟道 MOS 管的栅极耐压要仔细算。我最终选择了用 P 沟道 MOS 管搭高边开关的方案。P-MOS 的源极接中间节点漏极接泄放电阻到总正极栅极通过一个 100kΩ 电阻上拉到中间节点同时通过一个 2N7002 小信号 N-MOS 管下拉到地。PIC 的 GPIO 控制 2N7002 的栅极当 GPIO 输出高电平2N7002 导通把 P-MOS 栅极拉低P-MOS 导通均衡电流从上电池的正端流出经泄放电阻回到中间节点。这里 P-MOS 的栅源电压大约是 3V 到 3.6V已经足够导通但要注意选低阈值电压的 P-MOS比如阈值电压在 -1V 左右的型号。泄放电阻的阻值选择也很有讲究。均衡电流取 100mA 时对于磷酸铁锂单节 3.2V泄放电阻约 32Ω功率 0.32W。我选了 30Ω/1W 的电阻留足裕量。实际测试中持续均衡半小时电阻表面温度稳定在 70℃ 左右手摸上去有点烫但完全在安全范围内。如果想进一步降低温度可以把均衡电流降到 50mA电阻改 62Ω代价是均衡时间翻倍。实操心得泄放电阻务必用绕线电阻或者大封装厚膜电阻不要用 0603 贴片电阻。0603 封装在 0.3W 持续功耗下会非常烫长期工作容易出问题。我最后用的是 2512 封装温升控制好很多。4.3 MP2642GR-Z 与 PIC 的联动接线MP2642GR-Z 和 PIC 之间的联动我用了几根线充电状态输出、输入电源在位输出、充电使能输入。这三根线把两个芯片的职责边界划清楚后续固件逻辑就非常好写。充电状态输出接到 PIC 的一个 GPIO用中断加查询两种方式同时处理。中断用于在状态翻转的瞬间快速反应比如从充电状态切到保护状态时PIC 要立刻关闭均衡。查询用于主循环里的周期检查防止中断漏掉。输入电源在位输出接到另一个 GPIOPIC 据此判断当前系统是外部供电还是电池放电。这个信号也是均衡使能的必要条件。充电使能输入由 PIC 控制正常工作时保持高电平。一旦过压保护触发PIC 拉低这个脚MP2642GR-Z 停止充电。这里要注意的是这个脚不能直接由 PIC 的 GPIO 驱动而不加保护因为某些芯片的这个脚是开漏输出结构需要外加上拉。我这边的做法是PIC 的 GPIO 通过一个三极管反相器驱动既实现了电平转换又隔离了两边的地电位和噪声。5. 固件实现要点5.1 ADC 采集与滤波数据抖动的处理思路PIC18F45K50 的 ADC 是 12 位理论上分辨率已经足够但实际采样数据如果不做处理直接拿来做均衡判定你会看到差值在几十 mV 范围内疯狂跳动。根本原因有三个一是电池本身是化学源电压存在微小的动态波动二是 MP2642GR-Z 的开关噪声窜入了采样通道三是 ADC 的参考电压噪声。我用的滤波策略分三层。第一层是硬件滤波已经在采样电路里做了 RC 低通把高频噪声压下去。第二层是软件均值滤波。每个电压采样点连续采 8 次去掉最大和最小值剩下 6 次求平均。这样能滤掉偶发的尖峰也能压缩剩余的高斯噪声。第三层是滑动平均。把最近 5 轮的平均值再做一次加权滑动平均最新一轮权重 0.4前四轮权重各 0.15。这个处理之后电压值稳定度可以达到 ±3mV 以内均衡判定完全不会抖动。代码示意uint16_t read_adc_average(uint8_t channel) { uint16_t values[8]; uint16_t min, max; uint32_t sum 0; // 切换通道后等待模拟开关稳定 ADC_ChannelSelect(channel); __delay_us(10); for (uint8_t i 0; i 8; i) { ADC_StartConversion(); while (!ADC_IsConversionDone()); values[i] ADC_GetResult(); } min values[0]; max values[0]; for (uint8_t i 1; i 8; i) { if (values[i] min) min values[i]; if (values[i] max) max values[i]; } for (uint8_t i 0; i 8; i) { if (values[i] ! min values[i] ! max) { sum values[i]; } } return (uint16_t)(sum / 6); }这里有个小细节去掉最大最小值时如果有多个相同的最大值或最小值我的写法是只要不等于第一次找到的 min 和 max 就都保留。实际效果和预期一致因为异常值通常只有一个。5.2 均衡状态机结构清晰比炫技重要整个均衡控制逻辑我建议用状态机来实现不要用一堆 if else 堆逻辑。状态机的好处是状态转移清晰不容易漏判调试的时候只需要看状态编号就能定位问题。我定义了五个状态IDLE、CHARGING、BALANCING、FAULT、STANDBY。IDLE 是上电初始状态此时 PIC 正在做 ADC 自检和参数加载。自检完成后检查 MP2642GR-Z 的状态如果输入电源在位且电池电压大于欠压阈值进入 CHARGING。CHARGING 状态下PIC 周期采集两个电池电压计算差值。如果差值大于 30mV且充电状态有效切换到 BALANCING。如果差值一直小于 30mV则停留在 CHARGING相当于被动监控。BALANCING 状态下打开对应的均衡 MOS 管。如果均衡的是上电池置高上电池均衡控制脚如果是下电池则置高下电池均衡控制脚。然后继续周期采集电压当差值回落到 15mV 以下关闭均衡 MOS回到 CHARGING。如果均衡持续超过 2 小时进入 FAULT。FAULT 状态下PIC 关闭所有均衡动作拉低充电使能点亮告警灯。此时需要通过断电重启或者外部复位才能回到 IDLE。这是故意设计的锁存功能防止故障状态下系统自己恢复继续带病运行。STANDBY 是电池放电模式即 MP2642GR-Z 报告输入电源不在位。在这个状态下均衡逻辑完全禁用PIC 进入低功耗模式只保留一个周期唤醒定时器做电压巡检用于判断外部电源是否恢复。状态机的核心循环大约 100ms 跑一次电压采集占 20ms剩余时间做状态判断和 GPIO 刷新MCU 负载非常低。5.3 校准流程与参数存储均衡算法里有几个参数需要视实际硬件调整均衡开启阈值、关闭阈值、过压保护阈值、均衡超时时间。这些参数如果写在源码里每次调整都要重新编译烧录太麻烦。我把它们放在 EEPROM 中通过串口命令修改。具体做法是PIC18F45K50 的 UART 接收帧格式为“参数名数值”比如“BAL_ON30”解析后写入 EEPROM。生产调试时接一个 USB-串口板就能在线调参非常方便。EEPROM 写入有寿命限制所以我在固件里做了个技巧只有在参数值真正发生改变时才写 EEPROM并且每条记录后加一个 16 位 CRC。读取的时候先校验 CRC如果 CRC 错误说明 EEPROM 数据不可信就回退到 Flash 里的默认参数。校准流程在实际生产中是这样的先不接电池用高精度可调电源给“电池输入端”加一个已知电压比如 3.200V 和 3.500V 两个点通过串口把 ADC 原始值读出来计算修正系数写入 EEPROM。这个过程每人每天能做几百块板子熟练之后很快。6. 常见问题与排查实录6.1 均衡电流明显小于设计值这个现象我刚做第二版样机的时候遇到过。设计均衡电流 100mA实测只有 60mA 左右。排查思路先测均衡支路两端电压。把万用表串进泄放电阻回路发现电流确实只有 60mA但电池两端电压正常。这说明不是电池电压不够而是回路等效电阻比设计大。进一步测 MOS 管导通压降发现 P-MOS 管漏源电压有 0.5V 左右明显偏大。回头查数据手册发现那颗 P-MOS 用的是低阈值型号但导通电阻 RDS(on) 在 3.5V 栅源电压下高达 1Ω 以上。均衡电流 100mA 时MOS 管本身就吃掉 0.1V 电压加上 PCB 走线的电阻总压降比预期多不少。解决办法是换了一颗 VGS(th) 在 -0.7V 左右、RDS(on) 在 150mΩ 以下的 P-MOS再实测电流回到 95mA 左右。这个案例说明在低压均衡电路中MOS 管的导通电阻和阈值电压往往比耐压更关键选型时不能只看封装和电流等级。排查心得所有均衡回路中的电压降都要算清楚。电池 3.2VP-MOS 压降 0.2V泄放电阻 30Ω 压降 3.0V这样电流约 100mA。如果 MOS 压降占了 0.5V电流直接少了 10%。低压系统里0.1V 都是大事。6.2 电压采样值跳变导致均衡误触发有一版样机均衡控制器总是莫名其妙地频繁开启和关闭观察采样数据发现中间节点电压会有规律性地产生约 20mV 的尖峰持续时间很短但足够触发阈值判断。后来发现这个尖峰跟 MP2642GR-Z 的开关频率严格同步。我这边的采样电路虽然已经做了 RC 滤波但滤波截止频率还是偏高。MP2642GR-Z 的开关噪声辐射出来通过空间耦合进采样线。处理办法有两个方向。一是把 RC 滤波器的截止频率降下来比如把 0.1μF 改成 1μF截止频率降到 160Hz。但这个改动会拖慢电压响应的实时性。二是调整采样时序让 ADC 采样避开开关管的开通瞬间。我选择了后者通过 MP2642GR-Z 的同步信号引脚在开关管关断期间触发 ADC 采样效果非常明显采样值跳动从 ±20mV 降到了 ±3mV。这个问题的通用处理思路是如果采样值抖动有固定频率先判断这个频率是否和电源开关频率一致。如果是优先采用同步采样而不是一味加强滤波因为滤波太深会让电压值滞后在保护逻辑里引入不可控的延迟。6.3 均衡关闭后电池电压“反弹”超出滞回实际运行中我遇到过这样的场景两节电池差值 35mV均衡开启等差值降到 14mV 关闭均衡。结果关闭后过了几秒差值又回升到 25mV 以上然后又触发均衡。如此反复。这个问题的本质是电池内部的扩散极化。当均衡电流从电池抽出时高电压电池在负载瞬间电压会略有下降撤掉负载后电池内部的化学状态重新平衡电压会回升一部分。这个“回升”如果超过了滞回带的下沿就会造成反复开关。解决办法是把均衡关闭阈值再降一档。原来的关闭阈值是 15mV我改成 10mV均衡多开一会儿等电池极化的动态过程基本结束再关。同时我在关闭均衡后增加了一个 5 秒的锁定时间无论电压差值如何变化5 秒内不重新开启均衡。这两个措施叠加后反复开关的问题彻底消失均衡 MOS 管的开关次数大幅减少可靠性和寿命都提升了。这个经验也解释了为什么要做滞回而不是简单阈值比较——滞回带宽至少要比电池极化的回弹幅度大否则就会在这个问题上翻车。6.4 MP2642GR-Z 误保护触发均衡中断还有一类问题需要关注MP2642GR-Z 内置的保护功能比如输入过压、输出过流保护有可能在均衡开启的瞬间被误触发。这个现象在刚上电、电池电压比较低的时候容易出现。原因是均衡开启瞬间泄放电阻像一个额外负载突然挂到电池上相当于在 MP2642GR-Z 的输出端制造了一个负载突变输出电流瞬态增大触发了芯片的过流保护判断。解决办法是让均衡软启动。固件里不用 GPIO 直接满占空比驱动 MOS 管而是输出一个 PWM 信号占空比从 10% 逐步升到 100%相当于让均衡电流从 10mA 慢慢爬升到 100mA。整个过程大约 200msMP2642GR-Z 完全感知不到明显冲击。这个软启动逻辑同时也能减少 MOS 管开关瞬间的电压尖峰对 EMC 有好处。注意PWM 控制均衡电流时MOS 管开关频率建议选 1kHz 左右不要选太高。频率太高泄放电阻上会产生明显的纹波而且 MOS 管的开关损耗会上升。1kHz 足够平顺开关损耗几乎可以忽略。整个项目做完的一些体会做这个两串均衡项目前后的调试周期比我预想的长一些主要在采样精度和状态机边界条件上花了不少时间。要是当初直接把均衡判定逻辑写成简单阈值比较可能第一版就能调通一个大概但后续会被各种动态电压问题反复折腾。现在这版状态机清晰采样有校准有滤波均衡参数全部可调放到不同电池规格的设备上只改参数就行不需要重新写逻辑。建议手里有类似项目的人优先把采集校准和状态机做扎实均衡电路反而是最不费心思的部分。还有一个可以顺手扩展的方向这个系统目前只支持被动均衡如果后续需要支持更大容量电池组可以把均衡执行换成一个双向 DCDC 模块控制接口不变PIC 侧只要增加一个占空比控制输出就能对接整体思路完全复用。