发布时间:2024-09-18 01:24:14
作者:Franco Contadini,主管工程师 Alessandro Leonardi,现场销售客户经理 “电池快速充电指南——第1部分”介绍了有关快速充电电池系统设计的一些挑战。通过欢悦
欢腾电池包中实现电量计功能,原始设备制造商(OEM)可以设计智能快速充电器,从而提高系统灵活性,更大限度地降低功耗,确保安全充电/放电,并改善整体用户体验。血气方刚
未雨绸缪第2部分中,我们将详细探讨如何使用评估套件和树莓派板实现电池并联的快速充电系统。 评估简单充电系统并测试其功能,通常可以使用评估套件来完成。这些套件包括配置充电系统所需的所有硬件和软件应用,以及基于图形用户界面(GUI)的工具和API。 但相应地,包含多个单元的复杂系统的相关评估工作也更加繁琐。复杂系统中可能有多个器件需要进行表征。开发人员将需要编写一些软件代码来读取系统不同部分生成的信号,对其进行分析,并采取行动。MAX17330可帮助管理包含两节锂离子电池的并联电池快速充电系统。如数据手册所述,MAX17330可用于同时对两节锂离子电池进行充电和控制。该系统需要两个MAX17330 IC,每个IC管理一节锂离子电池,以及一个能够即时调整输出电压的降压转换器(如MAX20743)。 该系统还需要使用一个微控制器来配置和管理电池充电,以及处理两个IC之间的通信。本文选择的树莓派板是系统测试中普遍使用的平台,此外我们选用Python作为编程语言。树莓派通过I2C管理通信,并记录有助于评估和调试的重要系统参数,包括充电电流、电池电压和电池荷电状态(SOC)。这些数值均存储探听
密告Excel文件中,方便进行离线分析。 本节将介绍如何测试充电器和电量计(MAX17330)。本节还会说明并联充电可达到的实际性能。为了获得更大的灵活性和可控性,该器件由微控制器通过I2C进行编程。 图1显示了1S2P系统架构以及评估两节并联电池充电所需的连接。树莓派控制三个EVKIT:一个MAX20743EVKIT(降压转换器)和两个MAX17330EVKIT(充电器+电量计)。数据记录切口
肮脏Excel文件中。 图1.使用树莓派的1S2P充电系统评估架构 可从MAX17330产品页面的“工具和仿真”选项卡中下载并使用基于GUI的MAX17330评估套件软件。使用配置向导(从“器件”选项卡中选择)可为MAX17330生成初始化文件(.INI)。INI文件中包含寄存器地址/寄存器值格式的器件寄存器初始化信息。微控制器需使用该文件来逐个配置MAX17330中的寄存器。 MAX17330EVKIT数据手册详细说明了生成初始化文件所需的各个步骤。图2所示的配置用于启动并联充电。接下来可按图3中的配置启用步进充电。图4显示了基于图3配置步进充电后的预期步进充电曲线。 图2.配置MAX17330进行并联充电 图3.启用步进充电 MAX20734降压转换器可明了
清楚明明需要时提高两个MAX17330EVKIT上的电压。MAX20734降压转换器根据地址0x21处的内部寄存器值改变输出电压。降压转换器可以通过I2C控制;已编写一个Python类来执行此操作。 最后,如图5所示,MAX20743EVKIT输出分压器被修改,输出范围为3 V至4.6 V(使用的值为R6 = 4K7和R9 = 1K3)。 表1.MAX20743基于寄存器0x21的转换输出电压 0x21寄存器值 电压 0x014E 3 V 0x0150 3.05 V 0x0158 3.1 V 0x015C 3.15 V 0x0162 3.2 V 0x0166 3.25 V 0x016E 3.3 V 0x0172 3.35 V 0x0178 3.4 V 0x017C 3.45 V 0x0182 3.5 V 0x0188 3.55 V 0x018E 3.6 V 0x0192 3.65 V 0x019E 3.7 V 0x01A4 3.75 V 0x01A9 3.8 V 0x01AE 3.85 V 0x01B4 3.9 V 0x01BA 3.95 V 0x01BF 4 V 0x01C4 4.05 V 0x01CB 4.1 V 0x01D1 4.15 V 0x01D6 4.2 V 0x01DC 4.25 V 0x01E2 4.3 V 0x01E8 4.35 V 0x01ED 4.4 V 0x01F3 4.45 V 0x01F8 4.5 V 0x01FE 4.55 V 0x0204 4.6 V 从表1可以得出如下曲线: 其中,x为要除暴安良
革故鼎新输出端施加的电压。虽然这种方法会有轻微误差,但也是根据电压估算所需寄存器值的好方法。 当MAX17330首次连接电池时,默认寄存器值设置强制IC进入关断状态。要唤醒器件,请按PKWK按钮。这将使临时保护MOSFET短路,从而唤醒两个MAX17330EVKIT。 接下来,树莓派需要通过I2C与所有三个器件通信。小心地初始化I2C硬件,避免器件地址冲突。默认情况下,两个MAX17330EVKIT使用相同I2C地址。第一步是更改两个电量计之一的地址。 MAX17330兼有易失性和非易失性寄存器,非易失性寄存器以“n”前缀标识。这也导致产生一对节点地址:6Ch(易失性寄存器)和16h(NV寄存器)。 改变MAX17330器件节点地址的方法有两种: ►使用I2CSid字段设置nPackCfg NV寄存器。此更改可以利用配置向导设置。参见表3。 ►I2CCmd寄存器支持动态更改I2C总线。参见表4。 为了便于使用,我们采用第二种方法来改变地址,这样可以使用同一INI文件来初始化两个器件。生成两个器件的通用设置可以简化器件配置,并消除有关手动输入地址的用户错误。 图4.基于图3来配置步进充电的预期步进充电曲线 图5.输出分压器已被修改,输出范围为3 V至4.6 V(R6 = 4 K7且R9 = 1 K3)。 表2.MAX17330寄存器 寄存器页 锁 说明 2-Wire节点地址 2-Wire协议 2-Wire外部 地址范围 00 h Modelgauge M5 EZ数据块 6通道 I2C 00 h – 4 Fh 01 h – 04 h 锁2 05 h – 0Ah 保留 0 Bh 锁2 Modelgauge M5 EZ数据块(续) 6通道 I2C B0 h – BFh 0 Ch SHA SHA存储器 6通道 I2C C0h – CFh 0 Dh 锁2 Modelgauge M5 EZ数据块(续) 6通道 I2C D0h – DFh 0 Eh – 0 Fh 保留 10 h – 17 h SBS数据块 16通道 SBS 00 h – 7 Fh 18 h – 19 h 锁3 Modelgauge M5 EZ非易失性存储器模块 16通道 I2C 80 h – EFh 1 Ah – 1 Bh 锁1 寿命记录和配置非易失性存储器模块 1 Ch 锁4 配置非易失性存储器模块 表3. nPackCfg (1B5h)寄存器格式 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0 S_Hib THCfg THType 000 0 ParEn I2CSid 0001 表4.I2CCmd (12Bh)寄存器格式 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0 GoToSID 0 IncSID 由于两个MAX17330器件共用同一I2C总线,因此该程序要求将一个器件的ALRT信号设置为低电平,并将另一个设置为高电平。 表5.I2C ALRT设置 GoToSID 警报高 警报低 主要/次要地址 主要/次要地址 0b00 ECh/96h 6Ch/16h 0b01 64h/1Eh ECh/96h 0b10 E4h/9Eh 64h/1Eh 0b11 6Ch/16h E4h/9Eh 表4中的数据来自MAX17330数据手册,显示了I2CCmd寄存器如何根据ALERT GPIO引脚值动态更改器件地址。齐心协力
奇峰林立这种情况下,可使用GoToSID和INcSID字段更改I2C地址: ►Set ALRT_A logic low ►Set ALRT_B logic high ►Write I2CCmd = 0 × 0001 MAX17330_A address remains at 6Ch/16h MAX17330_B address set to ECh/96h 每个器件都分配有唯一的地址后,整个系统便可以由单个微控制器控制。 下面是微控制器完成I2C配置的脚本。这将是系统初始化的一部分。 ►Load .INI file ►Assert ALRT_A and ALRT_B to keep the path between SYSP and BATTP open ►Read VBATT_A and VBATT_B ►VMAX = max (VBATT_A, VBATT_B) ►Set VOUT = VMAX + 50 mV ►Release ALRT_A and ALRT_B ►Set nProtCfg.OvrdEn = 0 to use ALRT as Output 非易失性空间中的某些寄存器需要重启固件才能使更改生效。因此,需要执行以下步骤: ►置位Config2.POR_CMD以重启固件 参见表7。 接下来,我们需要启用充电器的中断: ►设置(Config.Aen和Config.Caen)= 1 参见表8。 现朋比为奸
通同作恶器件已初始化。 表6. nProtCfg (1D7h)寄存器格式 D15 D14 D13 D12 D11 D10 D9 D8 ChgWDTEn nChgAutoCtrl FullEn SCTest CmOvrdEn ChgTestEn PrequalEn D7 D6 D5 D4 D3 D2 D1 D0 保留 PFEn DeepShpEn OvrdEn UVRdy FetPFEn BlockDisCEn DeepShp2En 表7.Config2 (OABh)寄存器格式 D15 D14 D13 D12 D11 D10 D9 D8 POR_CMD 0 AtRtEn 0 0 0 0 0 D7 D6 D5 D4 D3 D2 D1 D0 dSOCen TAlrtEn 0 1 DRCfg CPMode BlockDis 表8.Config (O0Bh)寄存器格式 D15 D14 D13 D12 D11 D10 D9 D8 0 SS TS VS 0 PBen DisBlockRead ChgAutoCtrl D7 D6 D5 D4 D3 D2 D1 D0 SHIP COMMSH FastADCen ETHRM FTHRM Aen CAen PAen 我们需要能够读取寄存器以记录数据,并检查ALERT GPIO线上是否已生成中断。我们可以使用如下脚本: ►设置500 ms定时器 ►VMIN = min (VBATT_A, VBATT_B) ►Vsys_min = nVEmpty[15:7] ►CrossCharge = False ►If (VMIN<Vsys_min) CrossCharge = True 评估最小电池电压是否超过系统的最小工作电压 ►If FProtStat.IsDis = 0 检测到充电信号 ►Clear Status.AllowChgB 向所有电池表明充电器存安在
埋葬 ►If (VBATT > VMIN + 400 mV and !Cross Charge) 确定要阻止哪个电池以避免交叉充电 Config2.BlockDis = 1 else Config2.BlockDis = 0 如果低电量电池远低于高电量电池,则允许放电 参见表9、10和11。 当MAX17330置位ALRT信号时,主机将执行以下操作: Read Status register data If Status.CA is set Read ChgStat register If ChgStat.Dropout = 1 increase VOUT If (ChgStat.CP or ChgStat.CT) = 1 decrease VOUT Clear Status.CA 参见表12和13。 图6显示了从Excel文件的记录数据提取的并联充电曲线。请注意该曲线随步进充电曲线的变化情况。 表9.FProtStat (0DAh)寄存器格式 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 X IsDis X Hot Cold Warm 表10.Status (000h)寄存器格式 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 PA Smx Tmx Vmx CA Smn Tmn Vmn dSOCi Imx AllowChgB X Bst Imn POR X 表11.Config2 (0ABh)寄存器格式 D15 D14 D13 D12 D11 D10 D9 D8 POR_CMD 0 AtRtEn 0 0 0 0 0 D7 D6 D5 D4 D3 D2 D1 D0 dSOCen TAlrtEn 0 1 DRCfg CPMode BlockDis 表12.状态寄存器(000h)格式 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 PA Smx Tmx Vmx CA Smn Tmn Vmn dSOCi lmx AllowChgB X Bst Imn POR X 表13.ChgStat (0A3h)寄存器格式 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 Dropout X X X X X X X X X X CP CT CC CV 图6.并联充电曲线 另外,一旦器件从恒流(CC)阶段转为恒压(CV)阶段,降压转换器生成的电压可以降低如下: ►If VBATT = ChargingVoltage Read ChgStat Register If ChgStat.CV = 1 ecrease VOUT until VPCK = ChargingVoltage + 25 mV 以上就是管理1S2P充电配置所需的所有步骤。MAX17330-usercode.zip中包含了配置降压转换器(MAX20743)以及充电器和电量计(MAX17330)的Python代码。其中还包含了用于捕获重要充电参数和评估步进充电曲线的Excel数据日志。通过管理MAX17330产生的警报信号,微控制器可保持MAX17330的线性充电器接近压差,从而更大限度地降低功耗并支持高充电电流。使用MAX17330的电池包可存储已安装电池的参数,以便主机微控制器实现高效快速充电。这使得OEM可以用更简单、更便宜的降压转换器取代标准充电器IC器件,而不影响性能或可靠性。 设备充电时间是最重要的用户体验考量因素之一。MAX17330降压转换器采用小型IC封装,可以有效管理非常高的电流,从而缩短充电时间。通过采用两个MAX17330等的方式可支持以高电流并联充电,让开发人员能够以安全可靠的方式为多个电池充电,从而大幅节省充电时间。 Analog Devices, Inc. (NASDAQ: ADI)是全球领先的半导体公司,致力于心情
心境现实世界与数字世界之间架起桥梁,以实现智能边缘领域的突破性创新。ADI提供结合模拟、数字和软件技术的解决方案,推动数字化工厂、汽车和数字医疗等领域的持续发展,应对气候变化挑战,并建立人与世界万物的可靠互联。ADI公司2022财年收入超过120亿美元,全球员工2.4万余人。携手全球12.5万家客户,ADI助力创新者不断超越一切可能。更多信息,请访问www.analog.com/cn。