基于STM32的多节锂电池管理系统的设计
- 格式:docx
- 大小:91.12 KB
- 文档页数:6
Vol. 38 No. 6Nov. 2020第38卷第6期2020 年11月佳木斯大学学报(自然科学版) Journal of Jiamusi University (Natural Science Edition )文章编号:1008 -1402(2020)06 -0017 -05基于STM32F103RCT6的电池管理系统设计①张洪涛,夏耀威(湖北工业大学电气与电子工程学院,湖北武汉430068)摘 要: 为精确估算锂电池的荷电状态(state of charge ,SOC ),设计了一种基于STM32F103RCT6电池管理系统,进行了主控芯片,电流、电压、温度采集传感器以及CAN ( con troller area network ,CAN )总线通信芯片的选型及相应的电路设计。
在处理器STM32F103RCT6的基础上设计了电流、电压、温度采集程序和CAN 总线通信程序设计,并对测量系统进行了性能测试,测试结果显示,设计的估算系统对电流、电压和温度的采集数据的相对误差均控制在2%以内,采集效果较好,SOC 的估算精度明显提高。
关键词:荷电状态;STM32F103RCT6 ;电池管理系统;数据采集中图分类号:TM912 文献标识码:A0引言国外对电池管理系统(BMS)研究较早,美国、日本、德国等发达国家已经投入的大量的人力财力对电池管理系统的理论和应用进行深入研究,目前设计出的系统应用较广。
TESLA 是美国一家新能源公司,它的电池管理技术领先全球,其中一款最新的电池管理系统可以安全管理7000块锂电池,将其应用到Model S 型汽车上,续航里程高达500公里;日本丰田公司旗下的油电混动汽车具有动力强、油耗低的特点,能够达到这种节能减排的 效果,归功于它的电池管理系统⑵。
国内对电池管理系统的研究起步较晚,技术上不如发达国家。
但随着国家对绿色、低碳发展的重 视,新能源、电动汽车等行业快速发展,国内也开始了对电池管理系统的研究。
基于STM32的电池管理系统设计阮超鹏 敖银辉 黄志鹏广东工业大学 机电工程学院 广东省广州市 510006摘 要: 电动汽车电池系统由动力电池组和电池管理系统组成。
为了更好指导整车电池系统的开发,现以一组动力电池为控制对象,基于STM32芯片设计设计一个电池管理系统。
设计过程中根据电池特性和供电需求确定电池管理系统的拓扑结构,通过划分功能模块进行硬件模块电路设计和软件开发,制作一个电池管理系统。
实验证明设计的电池管理系统能够对电池组进行信息采集和处理,通过显示屏反馈数据,并对电池组进行保护,对整车的电池管理系统设计起指导作用。
关键词:电池管理系统 硬件电路设计 功能模块 STM321 引言在当今时代,汽车作为重要的交通工具为人们的出行提供了极大的便利,日益凸显了其重要的作用[1],然而人们在使用传统燃油汽车的过程中会不可避免的产生大量的有害废气。
为了应对环境污染与能源危机带来的问题,选择开发新能源汽车是一条可行的道路。
随着人们社会水平的不断提升,人们越来越重视自然环境的保护。
只有不断的推广新能源汽车,才能够在根本上节能环保[2]。
电动汽车已成为目前汽车市场发展的主流趋势,电动汽车与传统燃油汽车最大的区别是用动力电池作为动力驱动,而作为衔接电池组、整车系统和电机的重要纽带,电池管理系统BMS的重要性不言而喻。
电动汽车与传统燃油汽车最大的区别是用动力电池作为动力驱动。
作为动力储存系统,动力电池因其能高效地储存和输送能量,在动力储存系统领域发挥着重要地作用[3]。
电动汽车动力电池包是电动汽车的核心部件之一,为整车提供驱动电能,目前电动汽车常用的动力电池主要有铅酸电池、氢镍电池和锂离子电池。
BMS与动力电池密切相关,不论车辆是在充电还是在正常运行使用,BMS 都需要准确可靠的完成对各单体电池的电流、电压、温度等状态进行实时检测和诊断。
电池管理系统的基本功能主要包括电池状态数据的采集、电池状态检测、各电池组电量的均衡管理、热管理、安全保护等,总体来说可分为检测、管理和保护三大部分[4]。
基于STM32F103ZET6的动力电池管理系统设计共3篇基于STM32F103ZET6的动力电池管理系统设计1STM32F103ZET6动力电池管理系统设计概述动力电池管理系统是电力系统中不可或缺的一部分,一般用于监测、控制、保护和管理电池组,确保其安全性、可靠性和长寿命。
基于STM32F103ZET6设计的动力电池管理系统主要是通过芯片上内置的ADC (模数转换器)获取电池的电流、电压等指标,以及实时监测电池的状态并进行控制。
硬件设计STM32F103ZET6有多个通道的ADC可以直接测量模拟信号。
为了获得更高的准确性,可以考虑使用多路放大器和滤波器以及保护电路。
并且使用STM32F103ZET6的DMA(直接内存访问)和TIM(定时器)模块,以获得更高的效率和更精确的数据获取。
在电池充电过程中,需要控制电流大小和方向。
为了实现此目的,可以集成硬件加速器以控制FET(场效应管)开关以及其他相关元件。
同时,Gamma检测电路可以防止充电器充电电流超过电池的最大充电电流。
软件设计主要功能包括:1. 实时监测电池的状态并控制充电电流。
2. 获取电池的电流、电压、温度等参数,并通过UART发送到PC机中。
3. 根据电池状态来生成并更新电池状态机,并根据状态机判断充电器和负载策略。
4. 具有充电器满电自动控制和负载过载保护功能,以及防逆流充电等保护措施,防止电池损坏和电池内部短路等现象。
最后,应该在软件设计方面注意功耗问题。
可以通过将STM32F103ZET6进入深度睡眠模式以减少功耗,实现动力电池管理系统的长寿命。
总结STM32F103ZET6是一个通用的ARM Cortex-M3微控制器,它适用于动力电池管理系统的设计。
考虑到硬件的安全性和软件的稳定性,电池保护电路的设计应该尽可能完备和细致。
在设计、制造和测试过程中,应进行严格的质量控制,确保系统的安全和可靠性。
基于STM32F103ZET6的动力电池管理系统设计2动力电池管理系统是一个相对复杂的系统,需要考虑很多方面的因素。
基于STM32芯片的锂电池智能管理模块设计申磊;吴建国;刘国庆;冯汉春;尹博;戴翔【摘要】为解决锂离子电池成组后难以管理的问题,设计锂电池智能管理模块.该智能模块基于STM32芯片设计并架构嵌入式操作系统uC/OS-Ⅱ.由嵌入式操作系统实时高效地监控管理锂电池充电、放电过程,并提供上位机和触摸屏动态显示锂电池组的工作状况.设计信号调理电路和软件滤波采集模块电压、电流、温度等模拟量来减小采集误差,为锂电池管理模块提供精确的原始数据.经实际验证,该智能管理模块解决了锂电池成组后易发生过充电、过放电、过流、电池提早老化、爆炸等问题,提供了更长寿命、更低维护、更可靠的锂电池组.【期刊名称】《南通大学学报(自然科学版)》【年(卷),期】2014(013)001【总页数】5页(P30-34)【关键词】STM32芯片;锂电池;智能管理模块;实时监控【作者】申磊;吴建国;刘国庆;冯汉春;尹博;戴翔【作者单位】南通大学电气工程学院,江苏南通 226019;南通大学电气工程学院,江苏南通 226019;南通大学电气工程学院,江苏南通 226019;恩力能源科技(南通)有限公司,江苏南通 226000;恩力能源科技(南通)有限公司,江苏南通 226000;恩力能源科技(南通)有限公司,江苏南通 226000【正文语种】中文【中图分类】TM912.6通信技术设备越来越趋向于小型化和轻型化,对设备的体积和重量都提出了更苛刻的要求;电力电网资源相对贫乏的市场,对通信设备的能源和备用电源的使用和循环寿命提出了更高的要求;这些因素对目前以铅酸电池为主的通信设备中的能源及备用电源解决方案提出了巨大的挑战.铅酸电池电压较低,常用储蓄电池仅有2.0 V;比能量低,充电一次续航时间较短;质量和体积较大;有害物质、废弃物难处理[1].相比于铅酸电池的缺陷,具有优良性能的锂电池将在未来的动力电池、储备电池中占有主导地位.锂电池的比能量较高,相比于同容量的铅酸电池,锂电池体积只有其1/2,甚至1/3不到;电压高,平均电压为3.6 V,最高可达4.2 V;无记忆效应,不用理会残余电量,也无需定期放电,增加其使用寿命;自放电率低,每月放电大概2%~5%;循环寿命长[2].单体锂电池电芯充电电压达到4.2 V后,会产生副作用,电压越高危险系数越大,甚至可能产生爆炸;单体锂电池电芯放电低于2.4 V后亦会对电池本身产生致命危害[3];当负载短路或电流过大时,由于电池的高内阻特性,功率损耗增加,温度上升导致电池损坏或者提前报废;充电电流过大,锂电池压力与热量大量增加,容易自燃甚至爆炸[4];单体锂电池必须成组方能满足用户的需求,但电池成组后均衡困难、使用寿命缩短和安全性下降亦成为制约锂电池发展的主要因素[5].目前锂电池研究趋势除了检测电池工作状态参数之外还研究精确估算电荷状态(SOC)、电池健康状态(SOH)、通讯、电池故障等[6].随着电动车的发展,我国对其动力蓄电池的发展极为重视[7].电池成组的均衡技术、管理系统软硬件的优化等问题仍是亟待解决的技术难题和研究热点.研究适应动力锂电池特点的综合管理系统,是锂电池产业发展的重要课题.当前管理系统的研究重点多集中在提高采样精度和电荷状态估计技术,几乎忽略了充放电管理功能[8].鉴于锂电池以上缺陷与难点,本文作者和恩力能源科技(南通)有限公司合作研发新型智能锂电池管理模块(Battery Management System,BMS).1 BMS硬件设计1.1 BMS硬件架构系统硬件基本结构图如图1所示.1)监控管理模块采集各单体锂电池的单体电压,这些数据通过IIC总线传递给BMS,并由BMS下达均衡控制命令给监控管理模块执行均衡措施;2)模块电压、温度、电流检测模块用以检测锂电池模块的模块电压、温度、电流,作为模块过压、过流、过温监控保护的依据;3)2路PWM波控制充放电控制模块中的开关器件工作实现对锂电池模块的充电、放电控制;4)上位机VC界面通过UART1监控整个锂电池模块,实时显示当前采集数据,抽取当前控制曲线,读取或写入BMS参数,读取统计数据,当前SOC余量等;5)UART2为BMS研发阶段以及将来检测、维修提供调试信息;6)CAN1和CAN2作为外部通信口供锂电池模块之间级联通信使用;7)外部Flash存储BMS历史数据以及曲线控制数据;8)IO控制LED显示当前SOC余量;图1 系统基本构成示意图9)当发生保护事件时报警模块输出报警提示;10)GUI图形监控界面作为现场显示端口.1.2 BMS模块电压、电流检测与信号调理采集的准确度和精度直接决定了控制策略和剩余电量的估算[9].为满足系统对模块电压、充放电电流的高精度测量要求,对模块电压、电流采样采用精度较高的霍尔传感器进行采样.分别选用深圳兴瑞达公司精度等级≤0.2%.F.S的 LF-DV12-32D31-0.2/0~100 V单路直流电压变送器和LFDI12-12B25-1.0/0~100A霍尔电流传感器,采用12(1±10%)V电压供电,输出信号为0~5 V.传感器输出信号需经过信号调理方可被系统采集,信号调理电路如图2所示.图2 采样信号调理电路图由于STM32F107只能测量0~3.3 V范围内模拟信号,而传感器输出信号为0~5 V,故应将采样输出的模拟信号线性等比例转换为采集范围内.考虑到采集的精度要求,分压电阻R28、R30不可选用普通电阻,应选用精度为0.1%的精密电阻.为防止模拟信号突然变化,采用高输入阻抗、低输出阻抗的电压跟随器隔离前后级,具有缓冲的作用.图2中R27为限流电阻.在靠近ADC输入侧并联小电容C10和钳位二极管D1对模拟信号滤波、限压(当模拟电压高于3.3 V时,D1导通).1.3 BMS温度检测温度采集模块选用12 bit数字温度采集器TMP112(采集范围为-40~125℃),采集值通过IIC总线输出,可获得较高精度的采集值.由于STM32F107自身所带的IIC总线设计不合理,BMS模块中采用软件模拟IIC总线.过温报警IO口PD2应配置为外部中断输入模式,而非软件延时查询.此种配置可以减少STM32F107运行负担.温度采集电路如图3所示.图3 温度采集电路图1.4 PWM控制BMS充电、放电PWM控制电路如图4所示,Q1为充电控制开关管,Q2为放电控制开关管,PWM1和PWM2为STM32F107的PWM波输出IO.PWM输出信号,经光耦TLP521-2隔离、放大后驱动开关管工作.充电时,控制PWM2的占空比在最大限定范围内,该范围由初期充电交流决定.随着锂电池组正负极电压逐渐升高,占空比逐渐减小,直至锂电池充满[10].控制PWM1占空比从而控制锂电池组放电电流. 图4 PWM控制电路图2 BMS均衡措施BMS模块中涉及的基本程序模块有采集系统电压、模块电压、模块电流,采集模块单体电池电压和温度,采集环境温度和电池模块温度,充电曲线控制,应急供电控制,锂电池组均衡控制,实时电量计算,剩余电量计算,剩余寿命计算,曲线跟随充电控制,13种保护事件,事件存储,外部Mod-Bus通信等.锂电池成组后由于单体电池特性的不一致,必须对电池组做均衡处理.处理措施不当将会造成电池寿命急剧减短,导致锂电池组提前报废[11].BMS中监控管理模块完成锂电池组均衡处理、过压处理、低压处理、过流处理.该监控模块采用2个BQ77PL900通过级联的方式监控20节单体锂电池,并将数据经由IIC总线传递给主控制器.在本模块中采用耗能(电阻)均衡方式实现锂电池组成组后的均衡.由监控管理模块采集所有单体锂电池端电压并将数据经数字滤波后传递给主控制器.主控制器计算数据的平均值,得到实时的平均电压,并以此为依据判断某节或某几节单体锂电池超出平均电压的浮动范围.此刻主控制器下达均衡命令控制BQ77PL900将需要均衡处理的单体锂电池并入耗能电阻.另外BMS中的监控管理模块设置电池保护动作的门槛电压和门槛电流,并设置保护动作开始时间(时间可编程),以此实现电池过压、低压、过流、短路保护,保障锂电池工作时更安全、寿命更长.3 BMS嵌入式系统架构锂电池的智能管理系统是一个复杂的系统.其一,任务具有多样性的特点,拥有当前数据采集、充电控制、放电控制、保护事件、SOC计算、SOH计算、同外部Modbus通信等;其二,任务具有多级嵌套,包括每个任务之间的嵌套以及任务内部的嵌套(13种保护事件的多级嵌套);其三,一部分任务实时性较高,如由于锂电池本身的特性,当充电电压过高、放电电压过低、充电过流等都会对锂电池本身寿命造成极大的危害[12],系统必须实时地响应这些紧急事件任务.因此锂电池急需性能良好的实时嵌入式系统对其进行高效的管理.从内存管理、内存开销、任务调度、任务通讯、文件系统管理、设备管理等方面满足锂电池的复杂管理特性. 随着微电子技术的发展,嵌入式微处理器的运行速度越来越快,为实时操作系统提供了全面的运行支持.采用高性能的微处理器和实时操作系统构建嵌入式工业控制系统平台已成为一种发展趋势[13].通过嵌入式实时操作系统调用一切资源完成控制任务的实时性要求,其中最主要的是靠系统本身任务调度来保障在规定的时间内对重要的紧急事件作出正确的响应[14].本电池智能管理模块基于uCOS-II实时操作系统设计完成.uCOS-II是一个实时内核,提供完善的任务调度、任务通信等任务管理功能.其公开源代码、可移植性高、裁剪方便、抢占式实时内核、最高可有64个优先级任务(其中有8个任务作为系统保留)、系统评估服务、255层中断管理、高稳定性、高可靠性.嵌入式结构一般可分为用户应用层、OS层、硬件驱动层[15].本BMS的系统架构如图5所示. 图5 系统架构示意图4 应用实例本文设计的锂电池智能管理模块已成功应用于恩力能源科技(南通)有限公司的智炫系列锂电池模块LBM-101P.LBM-101P采用19英寸机柜安装;支持48 V直流大功率放电;持续放电功率大于4 kW(最大功率可达5 kW);支持热置换;可快速充电,4 h内可达90%SOC;100%SOC循环寿命2000次以上;绿色能源,无铝或其他重金属污染.电池模块工作示意图如图6所示.5 结论本文针对锂电池成组管理复杂的缺陷,提出基于实时嵌入式操作系统uCOS-Ⅱ的锂电池智能管理模块BMS.该模块基于STM32F107VC设计,电池模块采用135节单体锂电池成组,充电上限电压为60 V,放电下限电压为48 V,最大持续放电电流/功率为80 A/4 kW,容量为20 Ah;在25℃的环境温度下100%深度放电,循环寿命大于2000次;充电时工作温度为0~45℃,放电时工作温度为-20~60℃.实践证明:该BMS能够很好地解决锂电池成组难以管理的问题,为通信设备提供体积小、重量轻、充放电循环次数高、小模块大功率的通信电源.该BMS小型电信设备(无线基站、宽带交换设备等)是实现通信和电源设备一体化的理想选择,也可为绿色能源驱动的通信基站(如太阳能、风能混合式储能系统)提供更长寿命、更低维护、更可靠的备用电源.图6 电池模块工作示意图参考文献:[1]高海洋,孔长春.浅析如何延长电动助力车铅酸蓄电池使用寿命[J].电动自行车, 2013(2):26-29.[2]卢杰祥.锂离子电池特性建模与SOC估算研究[D].广州:华南理工大学电子与信息学院,2012.[3]高飞,杨凯,惠东,等.储能用磷酸铁锂电池循环寿命的能量分析[J].中国电机工程学报, 2013, 33(5):41-45.[4]陈渊睿,伍堂顺,毛建一.动力锂电池组充放电智能管理系统[J].电源技术,2009, 33(8):666-670.[5]刘彦忠.车用动力电池充放电特性与智能管理技术[D].北京:北京交通大学电气工程学院,2012.[6]李拓.基于智能芯片的电池管理系统的实现[D].南京:南京邮电大学电子科学与工程学院,2013.[7]张海燕,李建伟.电动汽车充放电对电网的影响分析[J].电气传动自动化,2013, 35(2):11-14.[8]钱良国,郝永超,肖亚玲.锂离子等新型动力蓄电池成组应用技术和设备研究最新进展[J].机械工程学报,2009,45(2):1-11.[9]郭顺.混合动力摩托车锂电池组管理系统的研究[D].重庆:西南大学工程技术学院,2012.[10]张好明,孙玉坤,黄永红.60V/3kW锂电源及其基于DSP 的充电电路研究[J].电子技术应用, 2007, 33(11):143-145.[11]刘淼,王田苗,魏洪兴,等.基于uCOS-II的嵌入式数控系统实时性分析[J].计算机工程, 2006, 32(22):222-226.[12]严贺彪.锂电池组均压控制系统研究与设计[D].重庆:重庆大学自动化学院,2012.[13]马爱华,张晓冬,张伟.基于AVR的锂电池智能充电器的设计与实现[J].微计算机信息, 2009, 25(5):71-73.[14]曹宝健,谢先宇,魏学哲.电动汽车锂电池管理系统故障诊断研究[J].上海汽车, 2012(12):8-12.[15]李正荣.基于ARM和UCOS_II的嵌入式CAN-以太网网关的研究与实现[D].合肥:合肥工业大学计算机与信息学院,2007.。
基于STM32的电动汽车锂电池管理系统设计作者:贾华黄熠来源:《计算机与网络》2018年第09期摘要:针对新能源电动汽车提出了一套完整的电池管理系统方案,采用STM32芯片作为主控芯片并架构嵌入式操作系统FreeRTOS,由嵌入式操作系统实时监控充电、放电的过程,并且在LCD显示屏上实时显示锂电池组的工作状态。
设计信号采集电路采集主控板上的总电压、电流和子模块上的单体电压、温度等参数,为锂电池管理系统提供最原始的数据。
该智能模块兼有报警和散热装置,提高了系统的安全性。
关键词:STM32芯片;锂电池;智能控制模块;实时监控中图分类号:TP391.4文献标志码:A文章编号:1008-1739(2018)09-58-3Design on Lithium Battery Management System of Electric Vehicle Based on STM32JIA Hua, HUANG Yi(Inner Mongolia University of Science and Technology, Baotou Inner Mongolia 014010, China)0引言能源危机和环境污染日益加剧,燃油汽车的普及在推动工业进步和经济发展的同时也加剧了环境的恶化和能源的消耗。
电动汽车相比燃油汽车,具有无污染、噪声小及能源利用率高等特点,逐渐替代了原有的交通工具,成为未来汽车发展方向之一[1]。
动力电池是电动汽车的核心部分之一,为电动汽车提供能量的来源。
为了使电动汽车能够安全稳定地运行,应为其配备完善的电池管理系统。
国外在早些时候就已经开始了对电动汽车的研究,在电池管理和控制方面,已经形成了一套比较完善的理论体系;国内对电池管理系统的研究较晚,不过在目前也已经取得了重大的突破[2]。
1系统的总体架构考虑到锂电池的成本、寿命、体积和安全性等各个方面的因素,系统最终决定采用磷酸铁锂电池作为电动汽车的动力电池使用。
基于STM32的锂电池组SOC管理系统的研究与设计针对锂电池组单体多、电路复杂使SOC管理不到位的问题,设计出一种新的锂电池组SOC管理系统。
硬件上通过集成的电池管理芯片实现电池状态参数的采集,STM32控制器通过IIC总线实现数据接收及处理,算法上采用开路电压结合安时积分方法实现SOC实时估计。
该系统电路拓扑简单,稳定性和可靠性较高。
实验证明,该系统能实现锂电池组SOC的实时监测,准确度高。
标签:电池管理系统;STM32控制器;电池管理芯片;开路电压法;安时积分法引言锂电池作为未来电池发展的重要方向,离不开有效的能量管理系统(Battery management system,BMS )。
电池荷电状态(State of charge,SOC)作为BMS 的主要参数,实时监测SOC能够防止锂电池过充过放,从而延长电池寿命,保证电池组的续航里程[1-2]。
如果电池组单体较多,需要采集大量的数据,如果用传统的数据采集电路,接线复杂,对于嵌入式系统来说,这种方案并不可取[3]。
所以本文以磷酸铁锂电池为研究对象,以STM32F103V作为主控芯片,利用集成的电池管理芯片设计锂电池管理系统,实现对整组电池SOC的实时监测。
1 系统硬件设计为了实现对锂电池组的实时监测与管理,整个管理系统的功能主要包括电池组电压、电流和电池单体电压、温度等数据的采集,通过主控芯片STM32来估计电池SOC以及显示电池组基本信息,整个系统框图如图1所示。
1.1 电池组基本参数采集采用TI的集成电池管理芯片,避免了传统数据采集时复杂的接线,能准确的采集到电池组电压、电流、单体电压以及温度等信息,本系统采用BQ76930芯片,内部集成了14-bit ADC,能同时采集10个电池串联组成的电池组的数据,单体端电压测量范围为0-6.275V。
将电流检测电阻两端的电压通过芯片引脚SRP 和SRN,连接到芯片内部ADC和库仑计,计算累积电荷,从而达到检测电流的目的。
基于STM32的多节锂电池管理系统的设计
Time:2013-03-14 03:00:31 Author:田明明,徐磊 Source:安徽理工大学电气与信息工程学院
关键字:锂电池管理,LTC6802-1,电压均衡
引言
电池节能和污染正日益成为人们关注的问题。
在传统电池领域中,铅酸电池和镍氢电池在实际使用过程中存在一系列问题:如比容小,不适应快速充电和大电流发电或者是镍氢电池在串联电池组时管理问题比较多。
相反,锂电池不仅比容要好于铅酸电池和镍氢电池,而且还具有无记忆效应、使用寿命长和单节电芯电压高等优点。
在矿用产品中,锂电池逐步替代了铅酸电池和镍氢电池。
但锂电池在使用时也存在一个重要的问题,它在过充电或是在过放电时电池可能会发生爆炸,因此需要良好的保护电路来配合使用,这样可以杜绝电池爆炸的问题。
本文研究的就是利用STM32f103单片机和LTC6802-1芯片对锂电池组进行管理保护。
这样可以既可以发挥锂电池的优势,也可以杜绝使用锂电池产生的一些问题。
LTC6802介绍
在众多电池管理芯片中,LTC6802性能出众,其独特的内部设计使其能同时检测多达12节电池电压,而且其简单的外部电路配置能使我们方便的搭建系统,有利于降低成本和开发时间。
LTC6802内部有高精度的模数转换器,位数多达12位,单个LTC6802能同时检测12节串联单体电池电压,也可以测量电池组总电压,在电池管理系统中,我们可以将多个LTC6802芯片组成链式电路,方便我们监测多于12节或大于60V的电池组,采用这种可堆叠式架构使得我们测量或管理1000V电池系统成为可能,利用其双热敏电阻输入、板上温度传感器等多种渠道可以实时监测锂电池组温度。
LTC6802与微处理器之间的通信是由一个兼容式串行接口实现,在链式电路中,每个LTC6802都能通过简单的二极管隔离实现数据通信。
其SPI时序图如图1所示。
图1 SPI通信时序
LTC6802有多种工作模式,如待机模式、测量模式以及监视模式;每一种模式都有其独特的工作状态:
待机模式:系统上电时,LTC6802默认处于待机状态,此时,除串口和稳压器电路外,其他电路都处在关闭状态,这时LTC6802电流处在最小状态。
测量模式:通过命令对寄存器CDC位进行设置,可以使LTC6802处在测量模式中,此时,对单体电池的电压进行正常监视,通过寄存器能判断其是否过压或欠压。
监视模式:LTC6802只监视处于过压或欠压状态的单体电池,串口通信电路处于关闭状态;
它广泛应用于电动汽车和混合动力汽车、大功率可携带设备、备用电源、高压数据采集系统,本文中主要将其应用在备用电源中,取得良好效果。
硬件系统的设计
在图2中,LTC6802链式电路可以测量多节(12节或更多)锂电池电芯值,通过这些电压或温度值,可以判断电池是过充、过放还是过温。
STM32F103主控芯片通过自带动SPI总线模块从LTC6802中读取所需要的值,利用充放电控制单元对锂电池组进行保护,同时也可以在LCD人机界面上显示。
图2 硬件系统框图
STM32F103控制单元
该款单片机是基于Cortex-M3内核设计的ARM芯片,内部集成SPI总线模块、USB模块、16路ADC采样等等外设。
其时钟频率最大可以达到72MHz,这样的频率可以满足大部分场合的需要。
内置512KB的高速存储器以及64KB的SRAM,丰富的增强I/O端口和连接到APB总线的外设均使得STM32F103成为一款非常优秀的单片机。
这些丰富的外设资源,使得STM32F103系列单片机适合于多种场合:
①电机驱动和应用控制;
②医疗和手持设备;
③PC外设和GPS平台;
④工业应用:可编程控制器、变频器、打印机和扫描仪;
⑤警报系统、视频系统、备用电池系统等等。
在本系统中,STM32F103单片机主要应用在电池管理系统中,也就是备用电源。
STM32F103通过自身的SPI外设来设置LTC6802工作方式,通过LTC6802读取电池组电芯电压值、电芯温度值,以及设置电池过压、欠压和过温等报警标志,并利用这些获得的值对电池进行充放电管理,这样可以达到保护电池的作用。
在硬件系统框图中,我们可以看到系统模块有:单片机最小系统、LTC6802链式电路、电池均衡电路、电池测温单元电路、通信电路等。
在该电路中,STM32F103单片机主要负责对LTC6802信息的读写,控制均衡电路,也就是充放电控制单元,同时可以检测电池温度,将这些有用信息在人机界面上面显示。
电路如图3所示。
图3 STM32F103控制电路
LTC6802链式电路
LTC6802链式电路在多电池信息检测中有着重要的作用,我们知道一块LTC6802芯片只能管理12个单个电池,一般情况下也就是36V左右。
在某些时候,可能需要电池电压远远大于36V,这个时候我们就可以利用LTC6802链式电路来达到这个要求,如图4所示。
在图4中,SPI TOP和SPI BOTTOM就是连接顶端LTC6802和底端LTC6802。
这样就可以组成多级LTC6802链式电路。
图4 LTC6802链式电路
控制均衡电路
均衡电路在电池管理过程发挥着至关重要的作用,我们所做的一切,都是为了方便管理电池电压、电量的平衡,均衡电路的作用就在于保持电池电压的平衡,这样就保护了电池。
电路如图5所示,这里只给出了部分均衡电路。
图5 均衡电路
电池测温单元电路
每个芯片都有自己的工作温度范围,LTC6802的温度范围是<85℃,而且当其内部温度超过105℃时,LTC6802采样性能就会降低,更为严重的是,如果其温度达到150℃,LTC6802芯片极有可能被烧坏。
因此,为了保护LTC6802芯片,必须要用温度检测电路,其图如6所示。
图6 电池测温单元电路
这里VTEMP2处接NTC,我们通过NTC就可以获得实际温度值。
通信电路
STM32F103与LTC6802的通信电路比较简单,主要是SPI通信。
如图7所示。
图7 通信电路
软件设计
本电池管理系统采用模块化编程方式,利用高级语言编程,主要流程图如图8所示。
图8中给出的是单个LTC6802进行数据处理的软件编程,LTC6802芯片可以连接成链式电路,这时,通过STM32F103由高到低逐次向各级LTC6802发送读写指令,写指令时,数据由高到低传送,读数据则相反。
LTC6802有多个指令寄存器,如电压寄存器、温度寄存器、标志寄存器、命令寄存器。
每个寄存器都有其特殊的功能,如通过配置电压寄存器,我们可以设置过压大小、欠压大小等;配置命令寄存器,我们可以设置电池测量个数等。
表1列出了命令寄存器。
表1 命令寄存器
图8 程序流程图
图9 LTC6802的管理效果
系统中采用单片机作为主控制器,利用其本身自带的SPI外设与LTC6802进行数据交换。
这里给出一部分程序清单,如下:
void Ltc6802_Init(void)
{
GPIO_Configuration();
SPI_Configuration();
Ltc6802_Write();
}
测试结果
我们可以使用专门的软件来查看LTC6802的管理效果,从图9我们可以看出电池组中共有12节电池,也就是说这里只使用了一个我们可以使用专门的软件来查看LTC6802芯片来管理电池,电芯电压CELL1到
CELL12电压均在1.89V左右,从这个软件中我们也可以看到采样的温度电压:如2.487V,当然需要自己手动将其转换成温度值。
还有一个比较重要的是,可以利用这个软件来设定电池组中电芯的过欠压值。
通过这款软件,我们能实时监测锂电池组的运行状态,准确判断是否有单体电池处在过压或欠压状态。
结论
本文详细介绍了STM32F103单片机和LTC6802的联合使用情况,给出了一种锂电池的管理方法,
LTC6802是一款非常优秀的电池管理芯片,在电池管理过程中能准确获取电池组单体电池电压、电池温度,有效地对电池电压进行均衡,实现锂电池组的动态保护,它可以对长串锂电池组电池芯进行电压测量与监视,也可以通过对电池进行充放电来达到电池组电压均衡的目的。
可广泛用于电瓶车、备用电源等场所。
当然,在本文中,有关系统功耗和电流检测还有待改善。