电量计(gas gauge /fuel gauge)是用来计量显示电池电量,通常包括mAh剩余容量(RM),满充容量(FCC),百分比容量(SOC),电压,电流,温度等,部分电量计还包含放空,充满时间。TI阻抗跟踪电量计还有2个重要参数,Qmax(最大化学容量,指以非常小的电流从充抱到彻底放空的容量)和阻抗表(重要的有25度下(部分很老型号为0度)的Ra table)。笔记本电量计(2-4串)还具备非常完善的保护功能。
常见问题: Q:采用电量计有什么好处,哪些应用需要使用电量计? 一般来说,可充放电池都是电量计的应用场合,取决于成本,用户体验等多方面考量。 好处:1.提高用户体验(能够精确知道电量,不会有大幅度不合理跳变,传统简单的电压法很容易有异常跳变,简单的库仑计会有累计误差以及需要经常更新校准) 2.尽可能多放出电池电量,延长使用时间(获得精确电量信息能够保证不突然死机前提下采用更低的关机电压) 3.成本效益,在2的前提下对于大容量电池能够多放出来的电量可能比一个电量计成本还要高,另外在体积受限场合能够避免使用高能量密度电池也能够带来成本上优化
Q:为什么电量计精度十分难提高 - 电池模型非常复杂,电芯类型繁多,有很多非线性参数,放电曲线受温度,负载等影响很大,电池内阻随着老化放电深度温度会有明显的变化。
- 不同系统负载情况比较复杂,有的系统电流变化很快,有电流尖峰,电流变化范围比较宽
Q:TI电量计高精度的原因 - 成熟的专业算法阻抗跟踪,能够很好得跟踪电池的参数变化,在低温和老化等情形都能够保持良好的精度,同时上电第一个周期也有不错的精度,并且只需要下载量产文件无需要每个电池都进行循环老化,算法基本内容查看详情
- 有大量的电芯研究经验和客户反馈,积累了丰富的电池知识,通过客户反馈的信息不断完善电量计特性
- 硬件上的优势,采用双高精度15-16位ADC和低功耗单片机
Q:TI电量支持哪种电池材料 目前TI阻抗跟踪算法电量主要是支持锂电池,包括钴理,锰锂,铁锂和三元等多种材料,其中对于固定电芯信息的BQ27425 BQ27421/441目前不支持铁锂并且需要针对材料选择不同后缀型号,其他型号电量计需要针对特定材料下载相应的电芯信息。 Q:TI单节电量计产品分类和如何选型 TI单节目前主推的型号有BQ27541 BQ27741 BQ27510 BQ27520 BQ27531/530 BQ27421/441 BQ27425 - 考虑封装BQ27741 BQ27520 BQ27425BQ27530/BQ27531均为CSP封装,对于许多应用工艺要求比较高,BQ27541 BQ27510 BQ27441/BQ27421(421为9球CSP 可以无须过孔layout) 封装有利于提高量产良品率和测试
- 精度和成本要求,BQ27541 BQ27741 BQ27510 BQ27520 BQ27531/530设计精度为1%,基于Flash,成本比较高,BQ27421/441 BQ27425设计精度为5%,BQ27425为中成本,BQ27421/441存储器件为ROM,成本低
- 系统端和电池端,BQ27541/BQ27741为电池端(packside)电量计,通常是放置在电池包里的,整个生产由电池厂家完成,精度也更高,系统用户只需要完成I2C读写容量信息命令即可,开发难度非常低,并且能够用于电池识别,缺点是整个方案成本会稍高。其余电量计为系统端电量计,放置在主板上,系统用户需要完成参数配置等调试过程,稍微会复杂
- 其他因素,BQ27741为带保护功能电量,能够设置更灵活的保护
BQ27530/531带charger控制功能,能够实现充电优化 BQ27425/BQ27421为集成电流采样电阻的电量计,最大长时间放电电流仅支持2A BQ27421/BQ27441为简单易用电量计,配置参数流程简单,适合用于单片机控制场合 BQ27620为只采电压的电量计,使用较为复杂,建议选型前联系FAE。 Q:开发电量计需要哪些工具 - 评估板EVM和下载器EV2400/EV2300
- 上位机软件,目前主要有EVSW,BqCONFIG 和Gauge studio,通常可以在官网具体料号下面的软件链接处下载获得,BqCONFIG主要是stepbystep配置电量计参数以生成量产文件使用,EVSW是用于记录调试数据,更新配置文件等,Gauge studio为EVSW升级版本,新的型号将逐渐采用这个软件取代EVSW和BqCONFIG
- 电芯或者电池包,电子负载,电源,精密万用表,如果有低温测试需求还需要温箱等
Q:能够不使用 EV2400/2300,仅使用单片机便完成整个开发过程吗? 不使用官网的评估套件就无法使用上位机进行相关配置,调试和生成量产文件,尤其对于BQ275XX、BQ27741这类需要烧写电芯特性参数(CHEM-ID)的电量来说,开发阶段仅通过单片机是无法实现的这些参数烧写,即使对于bq27421/441这些可以用单片机完成配置的电量计,缺乏很好的调试工具也会造成开发效率低下。 EV2300确实在部分电脑有无法使用现象,解决方法先尝试装驱动软件(有32位和64位版本的驱动),如果不行建议更换为 EV2400 Q:如何完成开发过程并得到量产文件? 开发步骤主要包括:1.配置参数 2.校准 3.电芯曲线CHEM-ID选择4.循环学习golden learning 5.导出量产文件 1.配置参数,可以通过bqCONFIG或者EVSW里的bqEASY进行配置,最通用的方式是通过EVSW或者Gauge studio对dataMemory里的参数进行修改。主要参数(部分电量计可能没有显示全部参数,可以不填写)有 判断满充条件参数 ->Charge Voltage 满充充电电压,charger恒压充电时电压 ->Taper Current 满充时电流,一般设置比charger停止充电时电流略大25mA左右(注意BQ27425,BQ27421/441填写方式略有不同,换算数值为Taper current(数值)=Design Capacity*10/Taper current(mA)) ->Taper Voltage 用于判断电池符合满充的条件,一般设置为100或者150mV,即比充电电压小100-150mV 电池容量信息 ->Design Capacity按电芯标称容量填写 ->Design Energy 按电芯标陈能量填写(4.2V钴锂为标称容量*3.7,4.35V满充电压的电池为标称容量*3.8) 系统信息(注意BQ27425,BQ27421/441填写方式略有不同,换算数值为Threshold(数值)=Design Capacity*10/Threshold(mA)) ->Terminate Voltage系统正常运行最低工作电压 ->Dsg Current Threshold放电阈值 ->Chg Current Threshold充电阈值 ->Quit Current 其他的信息,包括中断管脚功能,温度传感器选择等,根据需要填写 2.校准 先确保无负载和充电电流情况下校准CC offset 然后校准 board offset,然后加上1A放电电流通过万用表填写实际电流数值校准Pack current 电压和温度校准无先后顺序,需要确保电池或电源电压数值稳定时通过万用表读取实际数值进行校准 对于集成采样电阻的电量计无需要对pack current进行校准。 3.CHEM-ID选择 A电池先采用0.5C恒流,恒压taper电流小于0.01C充饱 B静置2小时 C连接EVM板,自动log DataRAM数据,间隔为4s一次 D开始用0.1C电流放电,一直放到2.8V E静置5小时 G 通过bqCONFIG/EVSW/Gauge studio相应界面下载CHEM_ID 注意板在做CHEM_ID前要先校准好,放电过程要连续,记录的数据包含放电完之后静置的那5小时,BQ27425/BA27421/441无需要这个步骤,只需要选择相应型号 4.循环学习和导出量产文件 A、确认已经设置好相关的参数以及进行校准和CHEM_ID选择才可以进行此步骤,发送命令0x41复位,导出DFI文件或者SENC文件备用 B、准备好一个放空的电芯(电压在3.0V-3.3V),静置5小时 C、连接板,发送0x0021命令使能IT算法,建议自动记录Data RAM数据(4s间隔)Data FLash数据(10分钟间隔) D、按照正常充电过程将电池充饱,然后静置2小时,再按照0.2C电流进行放电到截止电压,再静置5小时,确保update status的数值为0x06 E、导出DataFlash的gg文件,用记事本打开修改Update Status为0x02,Cycle Count为0 F、导入之前备份的DFI或者senc文件,然后再写入修改后的gg文件 G、生成DFI,dffs文件
注意:测试过程在常温进行,铁锂电池需要更长的静置时间,A,E,F仅针对pack side电量计BQ27541和BQ27741,对于bq27421/441不需要步骤G,只需要得到gg文件即可。BQ27425对应DFI文件叫做DMI文件。BQ27421/441和BQ27425无需要发送0x0021命令。对于BQ275XX和BQ27741实际量产时最后需要确认发送使能(0x0021)和seal命令(0x0020),BQ27421/441BQ27425需要发送seal命令(0x0020)
Q:为什么需要seal电量计?如何unseal电量计? Seal电量计以方面可以防止正常运行时错误写入电量计参数,另一方面可以保证电量计参数不被第三方读出 Unseal电量计方式,对寄存器00和01写入DataMemory里的2个参数:Sealed to Unsealed = 36720414 Unsealed to Full = FFFFFFFF,默认是36720414 和FFFFFFFF,如果修改过则按照修改后的参数(注意发送时要连续)先往00寄存器发0414中的14 再往01寄存器发0414中的04 再发3672(图略)同理发送FFFFFFFF。Q:电量计得到量产文件后如何进行量产?系统端电量计可以通过AP编写相关的配置程序下载dffs或者bqfs文件电池端电量计可以通过专业第三方量产设备或者使用多个 EV2300进行小批量生产 Q:如何编写I2C程序?TI 提供了一个基于MSP430的读写例程。MSP430™ Microcontroller Software for Handheld FuelGauges and Battery Authentication Products http://www.ti.com/litv/pdf/slva413a如果实际编写中发现还是通信不正常,可以使用示波器抓取相应波形对比一下。例如读电压波形,08寄存器连续读2个字节得到5E0E,那么电压值为0x0E5E=3678 Q:如何获得TI的技术支持除了联系TI和代理商的FAE以外,常见的方式就是通过deyisupport和E2E论坛发帖询问。Deyisupport中文论坛主要是由国内FAE进行支持, http://www.deyisupport.com/question_answer/analog/battery_management/f/35.aspxE2E英文论坛主要由产品线支持 http://e2e.ti.com/support/power_management/battery_management/f/180.aspxQ.如何log数据和导出gg文件,senc文件?通常在论坛提及电量计问题时,会经常遇到log数据,gg和senc文件。Senc文件包含了电量计所有参数,包括firmware,隐藏参数和公开参数。GG文件只包含公开参数。Log数据包含了一段时间内电量计寄存器的数值。一般调试过程中,尽量记录gg文件和log数据。EVSW里log数据和导出GG文件方法 Log 数据方式:Option-set logging Interval 设置记录数据间隔,一般记录时间不长的话采用默认的1000mS即可,然后点击start logging填写文件名点save就可以log数据了。 GG文件导出方式:点击DataFlash进入参数页面,选择File菜单下的Export填文件名点save就可以导出gg文件。同样位置Import就是导入GG文件。Options菜单里可以设置gg文件自动导出的间隔名称,最后选择AutoExport就能够自动记录GG文件。Gauge studio里log数据和导出gg文件方法 Gaugestudio 里点击Datalog(1)然后添加需要记录的数据(2),设置记录时间间隔(5),然后点击开始(3),数据记录完成后再点击3的位置,按4保存。 GG 文件导入和导出点击DataMemory,图中的2 和3就是导入导出GG文件 GG里参数的修改直接选择相应的参数,输入修改后数值回车就,修改完建议点Read All键确实是否写入成功。Q:为什么无法修改GG里的参数 - 电压低于Flash能够更新的电压值,默认数值电压为2.8V
- Ra table等部分参数不允许直接修改,需要修改的话必须通过导出gg文件用记事本等软件修改后再导入
- 电量计处于seal状态,需要unseal后才能操作
- 如果是BQ27425,BQ27421/441需要先发送0x0013命令进入配置模式后才能修改GG数值
- 如果是使用自己编程修改,需要写入正确的checksum
|