
SOC算法软件实现.doc
3页通过在 BMS 中添加函数 OnSOCArith()以实现电池 SOC 的估算,函数中主要运用安时 积分法和 Kalman 滤波法函数运行需要调用的参数主要有电池电压、充电电流、K0 值、 K1 值、内阻值、倍率修正系数、温度修正系数、采点间隔时间、电池容量和估计协方差矩 阵等 充电时,首先采用安时积分法,待充电电流小于 1A 时使用斜率补偿法,直至充电结束 放电时,在电池的 SOC 范围(≤20%)采用 Kalman 滤波法,对于安时积分法得出的 SOC 值 进行校正,在中间段的 SOC 区间内采用安时积分的方法估算电池 SOC 值 SOC 估算函数只在电池充电或者放电状态下运行,出现告警或者充放电中断时都会停 止电池 SOC 的估算开启充电或者放电后,有 5 秒的缓冲时钟,以免不稳定的充电电流值 影响 SOC 值的估算 SOC 算法实现过程中所用到的参数都可以在程序设置界面中设置算法考虑了自放电 率,程序会自动记录上次运行时间,下次启动程序会按照设定的月自放电率来修正电池的 SOC 值在数据库中添加了 SOC 记录项,便于查询 SOC 值的历史记录开始串口初始化成功 Y退出N充/放电正常结束NYN循环运行模式YY搁置时间到?YNN充/放电模块搁置状态等待系统命令命令有返回?有充/放电命令?下发充/放电命令Y中断监控通信N搁置状态开始充电YN信息接收进程数据存储格式正确数据提取YN丢弃界面数据刷新数据库文件均衡控制电池过压过温通信中断YN停止充电Y充电时间到NY电池充满YNN信息接收进程有控制命令发送控制命令控制返回YNYNSOC运算告警充电电压调节中断监控通信开始放电YN信息接收进程数据存储格式正确数据提取YN 丢弃界面数据刷新数据库文件电池欠压过温通信中断YN停止放电Y放电时间到NY电池正常放完YNN信息接收进程有控制命令发送控制命令控制返回YNYNSOC运算告警中断监控通信。












