线性内插算法在电池容量计算中的应用研究
2014-11-10张涌萍
张涌萍
摘 要:该文介绍了线性内插算法计算电池放电容量的编程技术,并给出了具体的实现代码,利用该算法用户可以方便估算电池容量。
关键词:线性内插算法 电池容量 实现代码
中图分类号:TN86 文献标识码:A 文章编号:1674-098X(2014)03(b)-0008-02
已知某曲线函数的多个点,通过相邻两点求得线性函数,通过线性函数计算曲线的任意点,这个算法就是线性内插算法。
在电池管理中,需要通过对电池电流的积分运算来估算电池容量,但是不同的放电电流放出相同的电量时,电池实际容量的减少并不相同。一般情况下,设计人员会按不同的放电电流提供10个放电时间参数供用户设置。这时需要用线性内插算法将这10个离散的点连续化以便按不同的放电电流估算电池容量。
本算法适用于上述情况和其他需要线性内插算法的场合。
1 设计方案
放电电流和放电时间的关系如(图1)所示,在ACU监控模块中通过10个参数(BT_PUB_DISCH_TIME01,BT_PUB_DISCH_TIME02,BT_PUB_DISCH_TIME03,BT_PUB_DISCH_TIME04, BT_PUB_DISCH_TIME05,BT_PUB_DISCH_TIME06,BT_PUB_DISCH_TIME07,BT_PUB_DISCH_TIME08, BT_PUB_DISCH_TIME09,BT_PUB_DISCH_TIME10)表示,这10个参数分别代表电池以0.1/0.2/0.3/0.4/0.5/0.6/ 0.7/0.8/0.9/1.0 C10放电时的放电时间,其中单位是C10(10小时放电率),可理解为额定容量。
现在需要根据已知条件,通过实际的放电电流和额定容量,求得容量计算所需的系数。
容量计算的公式是:
1.1 放电曲线存入数组
1.2 使用线性内插算法取得容量系数
以上算法的目的在于获取计算电池放电容量所需的一个系数,当电池放电电流大于0.1C10小于1.0C10时,使用线性内插算法获取相应的值。
但值得注意的时,当电池放电电流小于0.1C10时,函数则返回0.1C10电流所对应的值,当电池放电电流大于1.0C10时,函数则返回1.0 C10电流所对应的值。
2 结语
该文将线性内插算法应用于电池放电容量的计算中,并给出了具体的实现代码,本文的算法不但可以估算电池容量,还适用于其他需要线性内插算法的场合。
参考文献
[1] 王敬华,林萍,张清国.C语言程序设计教程[M].北京:清华大学出版社,2009.
[2] 修志刚,张慧康,李海林,等.UPS电池容量计算方法[J].现代建筑电气,2013(11).
[3] 李练兵,崔志强,杜仲刚,等.锂电池组可用剩余容量计算方法的研究[J].电池工业,2010(5).endprint
摘 要:该文介绍了线性内插算法计算电池放电容量的编程技术,并给出了具体的实现代码,利用该算法用户可以方便估算电池容量。
关键词:线性内插算法 电池容量 实现代码
中图分类号:TN86 文献标识码:A 文章编号:1674-098X(2014)03(b)-0008-02
已知某曲线函数的多个点,通过相邻两点求得线性函数,通过线性函数计算曲线的任意点,这个算法就是线性内插算法。
在电池管理中,需要通过对电池电流的积分运算来估算电池容量,但是不同的放电电流放出相同的电量时,电池实际容量的减少并不相同。一般情况下,设计人员会按不同的放电电流提供10个放电时间参数供用户设置。这时需要用线性内插算法将这10个离散的点连续化以便按不同的放电电流估算电池容量。
本算法适用于上述情况和其他需要线性内插算法的场合。
1 设计方案
放电电流和放电时间的关系如(图1)所示,在ACU监控模块中通过10个参数(BT_PUB_DISCH_TIME01,BT_PUB_DISCH_TIME02,BT_PUB_DISCH_TIME03,BT_PUB_DISCH_TIME04, BT_PUB_DISCH_TIME05,BT_PUB_DISCH_TIME06,BT_PUB_DISCH_TIME07,BT_PUB_DISCH_TIME08, BT_PUB_DISCH_TIME09,BT_PUB_DISCH_TIME10)表示,这10个参数分别代表电池以0.1/0.2/0.3/0.4/0.5/0.6/ 0.7/0.8/0.9/1.0 C10放电时的放电时间,其中单位是C10(10小时放电率),可理解为额定容量。
现在需要根据已知条件,通过实际的放电电流和额定容量,求得容量计算所需的系数。
容量计算的公式是:
1.1 放电曲线存入数组
1.2 使用线性内插算法取得容量系数
以上算法的目的在于获取计算电池放电容量所需的一个系数,当电池放电电流大于0.1C10小于1.0C10时,使用线性内插算法获取相应的值。
但值得注意的时,当电池放电电流小于0.1C10时,函数则返回0.1C10电流所对应的值,当电池放电电流大于1.0C10时,函数则返回1.0 C10电流所对应的值。
2 结语
该文将线性内插算法应用于电池放电容量的计算中,并给出了具体的实现代码,本文的算法不但可以估算电池容量,还适用于其他需要线性内插算法的场合。
参考文献
[1] 王敬华,林萍,张清国.C语言程序设计教程[M].北京:清华大学出版社,2009.
[2] 修志刚,张慧康,李海林,等.UPS电池容量计算方法[J].现代建筑电气,2013(11).
[3] 李练兵,崔志强,杜仲刚,等.锂电池组可用剩余容量计算方法的研究[J].电池工业,2010(5).endprint
摘 要:该文介绍了线性内插算法计算电池放电容量的编程技术,并给出了具体的实现代码,利用该算法用户可以方便估算电池容量。
关键词:线性内插算法 电池容量 实现代码
中图分类号:TN86 文献标识码:A 文章编号:1674-098X(2014)03(b)-0008-02
已知某曲线函数的多个点,通过相邻两点求得线性函数,通过线性函数计算曲线的任意点,这个算法就是线性内插算法。
在电池管理中,需要通过对电池电流的积分运算来估算电池容量,但是不同的放电电流放出相同的电量时,电池实际容量的减少并不相同。一般情况下,设计人员会按不同的放电电流提供10个放电时间参数供用户设置。这时需要用线性内插算法将这10个离散的点连续化以便按不同的放电电流估算电池容量。
本算法适用于上述情况和其他需要线性内插算法的场合。
1 设计方案
放电电流和放电时间的关系如(图1)所示,在ACU监控模块中通过10个参数(BT_PUB_DISCH_TIME01,BT_PUB_DISCH_TIME02,BT_PUB_DISCH_TIME03,BT_PUB_DISCH_TIME04, BT_PUB_DISCH_TIME05,BT_PUB_DISCH_TIME06,BT_PUB_DISCH_TIME07,BT_PUB_DISCH_TIME08, BT_PUB_DISCH_TIME09,BT_PUB_DISCH_TIME10)表示,这10个参数分别代表电池以0.1/0.2/0.3/0.4/0.5/0.6/ 0.7/0.8/0.9/1.0 C10放电时的放电时间,其中单位是C10(10小时放电率),可理解为额定容量。
现在需要根据已知条件,通过实际的放电电流和额定容量,求得容量计算所需的系数。
容量计算的公式是:
1.1 放电曲线存入数组
1.2 使用线性内插算法取得容量系数
以上算法的目的在于获取计算电池放电容量所需的一个系数,当电池放电电流大于0.1C10小于1.0C10时,使用线性内插算法获取相应的值。
但值得注意的时,当电池放电电流小于0.1C10时,函数则返回0.1C10电流所对应的值,当电池放电电流大于1.0C10时,函数则返回1.0 C10电流所对应的值。
2 结语
该文将线性内插算法应用于电池放电容量的计算中,并给出了具体的实现代码,本文的算法不但可以估算电池容量,还适用于其他需要线性内插算法的场合。
参考文献
[1] 王敬华,林萍,张清国.C语言程序设计教程[M].北京:清华大学出版社,2009.
[2] 修志刚,张慧康,李海林,等.UPS电池容量计算方法[J].现代建筑电气,2013(11).
[3] 李练兵,崔志强,杜仲刚,等.锂电池组可用剩余容量计算方法的研究[J].电池工业,2010(5).endprint