1 软件总体架构软件采用“背景循环中断调度”实时架构主循环10ms状态机管理、全局扫描判断、BMS通信解析、SOC辅助计算、加热策略、故障诊断。PWM周期中断50μs20kHz电压电流采样、数字滤波、MPPT快速执行、电流/电压闭环计算、PWM更新。1ms定时中断功率平均、MPPT步进定时、电池充放电曲线切换判断。多任务保护硬件过流/过压触发TZ封锁软件阈值保护在中断中快速检测。2 光伏MPPT算法详细设计2.1 拓扑与参数每路光伏Boost规格额定功率25kW输入电压范围180V ~ 850V满载电压范围450V ~ 800V保证25kW输出直流母线电压额定值900V允许范围850V~950V开关频率20kHz输入侧电流采样LEM传感器量程±80A对应450V下满载电流55.6A输入电压采样电阻分压隔离运放控制周期50μs与PWM同频2.2 MPPT算法策略与切换基础MPPT算法采用增量电导法(IncCond)在光强、温度平稳时具有精度高、无震荡的优点当检测到环境剧烈变化或阴影遮挡时启动扰动观察法(PO)辅助判断并定期启动全局扫描寻多峰。切换逻辑条件选择算法默认稳态增量电导(IncCond)功率变化率 50W/ms 持续3次切换为PO暂稳并准备全局扫描全局扫描周期到默认10min强制执行全局扫描扫描后切换到IncCond检测到多峰功率-电压曲线非单调切换到PO dP限幅并上报告警2.3 增量电导法 (IncCond)原理利用 dP/dV I V*(dI/dV)在最大功率点 dP/dV0。离散实现每个控制周期计算ΔI I(k)-I(k-1)ΔV V(k)-V(k-1)。若 ΔV 0 且 ΔI 0 → 不调若 ΔV 0 且 ΔI 0 → 增大Vref若 ΔV 0 且 ΔI 0 → 减小Vref若 ΔV ≠ 0比较 I/V 与 -ΔI/ΔVI/V -ΔI/ΔV → Vref增加I/V -ΔI/ΔV → Vref减小相等 → 保持步长设计远离MPP时大步长2V接近MPP时小步长0.5V判断条件 |dP/dV| 5W/V最小步长限位0.2VVref限幅根据输入电压和Boost占空比限幅Vref_min 180VVref_max min(850V, Vbus*0.92) 防止过调制。防误判采样前做中值平均滤波(5次采样取平均剔除最值)ΔP P(k)-P(k-1)如果 ΔP 100W 而 ΔV 很小( 0.5V)可能是辐照变化等待3个周期稳定后再执行2.4 扰动观察法 (PO)作为快速跟踪及阴影下的辅助算法。扰动周期每 10ms 扰动一次与慢速任务同步避免与开关纹波混淆。扰动步长自适应步长基础步长1V。若连续两次同向扰动功率增加 → 步长×1.5最大3V若功率反向 → 步长回退至1V并改变方向功率判断加入滞环若功率变化 0.1% Pmax约25W保持电压。阴影下扰动侦测扰动过程中记录 V–P 点列若出现两个局部极大值则记录该峰谷信息提供给全局扫描定位准确峰。2.5 全局扫描与多峰处理2.5.1 启动条件或逻辑距离上次扫描 10min检测到功率突降 30%且持续2秒比如云遮IncCond在10分钟内功率波动 15%无法稳定在一个点每天早晨开机首次启动判断输入电压200V且稳定后2.5.2 扫描方法采用变步长扫描法从开路电压Voc的90%向光伏电压下限扫描。流程记录当前工作点暂时断开MPP闭环切为电压控制模式。先将Vref提升到0.9*VocVoc由Vpv在零电流瞬间估算或通过定期短暂开路测试获得。以步长ΔV_scan 5V向下扫描至180V每个电压点停留20ms记录平均功率。获得P-V曲线采用滑动窗口寻峰窗口宽度30V识别所有局部极大峰及其电压。比较各峰功率选取全局最大功率峰对应的电压Vgmp。将Vref设置到Vgmp恢复MPPT闭环IncCond接管。如果全局峰功率与当前局部峰功率差 2%为避免频繁切换保留在当前峰。扫描时间估算(850-180)/5 * 20ms ≈ 2.68秒。在扫描期间能量损失较小可接受。2.5.3 阴影下优化当识别到多峰且幅值差异 10% 时选择全局最优峰并锁定工作区。启用PO时限制电压扰动范围在工作峰附近±30V防止滑入次优峰。持续监测功率若又突降可能云层移动重新触发全局扫描。2.6 参数汇总表单路MPPT参数值最大输入电流(450V)55.6A输入电压保护上限880V硬件保护输入电压欠压保护170V开关频率20kHzMPPT扫描周期10minIncCond大步长2VIncCond小步长0.5VPO基础步长1V全局扫描步长5V扫描电压点数间隔20ms3 电池充放电管理详细设计3.1 拓扑与参数每路电池Buck-Boost规格额定功率50kW端口电压范围200V ~ 650V满载电压范围400V ~ 650V直流母线电压900V与光伏侧同母线双向Buck-Boost可四象限运行充电降压、放电升压。开关频率15kHz大功率降频电流采样LEM双向-150A ~ 150A电压采样高压侧端口与母线侧3.2 控制模式与闭环设计通过电压外环、电流内环级联控制根据充电状态切换模式恒流模式(CC)电流环直接给定Iref恒压模式(CV)电压外环PI输出限幅到电流内环参考浮充模式(Float)降低的目标电压小电流涓流均衡模式(Balance)根据BMS单体压差指令进行小电流恒流/恒压放电模式(Discharge)以恒定功率或恒定电流向母线释放电流内环PI设计15kHz带宽约1kHz比例系数Kp由电感值L(如200μH)和母线电压等设计初步KpL*ωc/(Vbus)积分系数Kiωc/5带输出限幅±最大电流±140A设计裕量125A电压外环PI运行在1ms响应较慢带宽约20Hz输出叠加Iref并受最大充放电电流限幅3.3 与BMS交互设计通信接口CAN 500kbps1ms周期接收BMS数据帧。接收关键数据电池组SOC 0~100%电池组SOH单体最高/最低电压最高/最低温度允许最大充电电流、放电电流动态充电请求电压上限充电目标电压故障/警告标志过温、单体过压、绝缘等加热请求标志发送给BMS当前充放电电流、功率接触器状态运行模式超时处理若500ms未收到有效报文触发通信故障充电电流强制降为0放电路径封锁保持安全状态。3.4 SOC估算辅助尽管BMS提供SOC本控软件进行冗余估计以检测BMS异常库伦计数安时积分用电流采样值积分每1ms累加 ΔSOC I × Δt / Cap_nom初始SOC从BMS获取或开路电压查表静置2h以上结合端电压校正在电流几乎为零时用OCV-SOC表修正累计误差。若误差 5% SOC且持续发出警告并使用本控SOC限功率。3.5 充电曲线实现充电策略符合锂电池特性由状态机自动切换开始 - CC (II_max) 当Vcell_max ≥ V_thr_cv - 切换CV (VV_target) 当I ≤ I_float_thr (0.05C) - 切换浮充 (VV_float) 若BMS要求均衡 - 均衡模式参数示例锂电48串铁锂根据实际电池调整充电目标电压 V_target 594V3.6V×165串举例浮充电压 V_float 550V3.35V/串恒流最大电流125A50kW/400V进入CV条件单体最高电压 ≥ 3.55V 或 总压≥V_target - 5VCV结束条件电流 ≤ 5A 持续10秒 → 进入浮充均衡模式BMS给出目标电流±2A ~ 5A和均衡时长恒流控制通过单体被动均衡配合充电柜。放电模式由能量调度EMS下发功率指令通过功率环转换为电流环给定I_dch P_ref / V_bat 以最大放电限幅105A留裕量。3.6 电池加热与低温保护策略3.6.1 低温保护温度分级动作温度取BMS最低温度0℃ 正常工作-10℃ ~ 0℃ 充电电流降额最大0.2C25A放电正常-20℃ ~ -10℃ 禁止充电允许放电最高功率50% -20℃ 禁止充放电除加热回路外切断接触器报低温告警3.6.2 电池加热策略若电池包配有PTC加热膜由本控制软件通过IO或通信控制加热接触器当最低温度 0℃ 且有充电需求或电量充足启动加热。加热功率闭环通过调节Bus-Buck模式从母线取电能供给加热器或通过电池放电加热内阻加热电流指令根据温度差值PI目标温度设为5℃最大加热电流20A电池端当温度升至 5℃ 且滞后2℃停止加热恢复正常充放电策略若电池SOC 20%禁止大功率加热仅允许小电流自发热限制低于0.05C防过放无外部加热时自加热利用电池内阻通过交变电流自发热频率约1Hz幅度限制在±0.5C模型控制温升速率能量来源于电池本身降低净能量。需谨慎控制SOC下限。3.7 状态转移图单路电池管理描述充放电管理主要状态IDLE接触器断开待机。接收EMS指令。PRECHARGE闭合预充继电器建立母线电压后闭合主接触。HEATING检测温度低进入加热控制输出加热PWM。CHARGE_CC恒流充电电流环控制。CHARGE_CV恒压充电电压外环电流内环。FLOAT浮充低恒压。DISCHARGE恒功率恒流放电。BALANCE均衡模式。FAULT任何故障进入断开接触器锁存报警。转移条件基于BMS数据、本地检测电压电流、EMS指令和定时器。3.8 保护参数保护阈值动作电池端口过压680V立即停止充电报故障电池端口欠压180V (放电时)停止放电告警充电过流130A 持续1s脉冲封锁切FAULT放电过流130A硬件TZ软件闭锁母线过压960V停止所有BUCK-BOOST通信丢失500ms放电停止、充电电流0总结软件设计全面覆盖了四路25kW光伏Boost的MPPT含扰动观察、增量电导和全局扫描的多模态切换及多峰优化以及两路50kW电池Buck-Boost的充放电管理、BMS交互闭环控制、SOC辅助估算、充电曲线和低温加热保护策略。通过详细的参数设定、实时任务划分和状态机确保系统在各种工况下安全、高效运行。具体PI参数和部分阈值需在实际硬件调试中微调。