
在电源管理实际设计中,充电管理是重要的一环,电池充电需要依据实际电芯的容量曲线,充电特性要求来匹配充电电压和充电电流,以及整个充电周期的充电算法以及温度管理.
前面已经介绍过一款纯硬件的充电控制器,现在这款充电控制器是带I2C接口,可以编程电压和电流的,以及读取必要数据.特点如下:
•可编程工作频率615kHz750kHz885kHzNMOS-NMOS同步降压转换器
•适用于锂离子或锂聚合物电池的独立充电器
•工作输入范围为5V至28VVCC,支持1节至6节电池(BQ24610)
•工作输入范围为5V至24VVCC,支持1节至5节电池(BQ24617)
•充电电流和适配器电流高达10A
•高精度电压和电流调节
–充电电压精度为±0.5%
–充电电流精度为±3%
–适配器电流精度为±3%
•集成–自动选择适配器或电池作为系统电源
–非电源路径可选,可降低总BOM成本
–内部环路补偿和软启动
–动态电源管理
•安全保护–输入过压保护
–电池热敏电阻可感应高温和低温充电暂停
–电池检测–FET提供反向输入保护
–可编程安全计时器
–充电过流保护
–电池短路保护
–电池过压保护
–热关断保护

特点介绍
典型电路1
典型电路2
继续看看启动波形
效率图
更多时候,我们应该多看看电路框图,了解整个IC里面的布局和端口对应逻辑
由于这款是可以用MCU来配置参数,所以我们也要多了解I2C协议和寄存器定义
具体设计的时候也应该多计算,并形成一个良好的有理论支撑的电路体系
实际LAYOUT的时候更是要了解电流路径和开尔文走线,以及开关电源的三圈两地的注意
必要的程序也是需要的,可以很多MCU来驱动,这里用MSP430G来示例:
defineBQ24725_ADDRESS0x6Bvoidsetup(){();//初始化I2C总线(9600);//初始化串口通信}voidloop(){floatvoltage,current,temperature;//读取电压voltage=readVoltage();("Voltage:");(voltage);("V");//读取电流current=readCurrent();("Current:");(current);("A");//读取温度temperature=readTemperature();("Temperature:");(temperature);("°C");delay(1000);//延迟1秒}floatreadVoltage(){(BQ24725_ADDRESS);(0x08);//电压寄存器地址(false);(BQ24725_ADDRESS,2);//读取2个字节的数据bytemsb=();bytelsb=();intrawValue=(msb8)|lsb;floatvoltage=rawValue*0.008;returnvoltage;}floatreadCurrent(){(BQ24725_ADDRESS);(0x0E);//电流寄存器地址(false);(BQ24725_ADDRESS,2);//读取2个字节的数据bytemsb=();bytelsb=();intrawValue=(msb8)|lsb;floatcurrent=rawValue*0.05;returncurrent;}floatreadTemperature(){(BQ24725_ADDRESS);(0x0C);//温度寄存器地址(false);(BQ24725_ADDRESS,2);//读取2个字节的数据bytemsb=();bytelsb=();intrawValue=(msb8)|lsb;floattemperature=rawValue*0.1;returntemperature;}最后来一段EXCEL参数计算的过程看看,基于计算的电源管理更加精确,细致,能快速优化电路
更多信息:「链接」
更多产品:「链接」