我使用2S-2P (5200mAh)电池、壁式充电器为10W (5V、2A)。 充电 IC BQ25703A 已使用8.4V 的 MaxChargeVoltage 和1536mA 的 ChargeCurrent (I2C 地址= 02h/03h)进行编程。 充电选项0具有0E02H 值。
当系统和电池处于电路中且电源来自10W 壁式充电器时、充电电流为430mA、系统电流为230mA、VSYS 为8.06V。
当系统与电路物理断开连接时、充电电流增加至560mA。
问题:
1) 1)为什么系统断开后充电电流不会增加。?
2) 2)我们要求电池必须在6-8小时内充电、以便如何增加充电电流?
3) 3)上述配置的预期效率必须是多少?
我已附上充电器 IC 和代码的原理图。
代码:
Int BatteryChargerInit (bool *pbIsLaptopConnected)
{
int iI2cFd =-1;
unsigned char ucRegisterValue=0;
unsigned char ucCurrentRegisterValue = 0;
int iRetVal =-1;
*pbIsLaptopConnected = false;
#if 0
//!打开 I2C 器件。
iI2cFd = I2COpen (I2C_DEV_4);
if (零> iI2cFd)
{
printf ("打开 I2C 设备失败\n");
//!关闭文件描述符。
I2CClose (iI2cFd);
返回-1;
}
//! 启用 OTG 复位
SetOutputStatusOfGpioEx (eGPIO_EXPANDER_ONE、een_OTG、Eoff);
//! 写入充电选项寄存器 LSB
ucRegisterValue = 0x0E;
if (zero =I2CWriteRegisterVal (iI2cFd、BQ25703A_CHARGE_OPT_0_REG、&ucRegisterValue、
1、BQ25703A_I2C_SLAVE_ADDRESS))
{
//! 写入充电选项寄存器 MSB
ucRegisterValue = 0x02;
1、BQ25703A_I2C_SLAVE_ADDRESS))
{
//! 写入最大电压寄存器 LSB
ucRegisterValue = 0xD0;
if (zero =I2CWriteRegisterVal (iI2cFd、BQ25703A_MAX_CHARGE_VTG、&ucRegisterValue、
1、BQ25703A_I2C_SLAVE_ADDRESS))
{
//! 写入最大电压寄存器 MSB
ucRegisterValue = 0x20;
if (零=I2CWriteRegisterVal (iI2cFd、0x05、&ucRegisterValue、
1、BQ25703A_I2C_SLAVE_ADDRESS))
{
// WriteGpio (0x20c81b0、19、Eoff);
// WriteGpio (0x20c81b0、20、Eoff);
//if (BatteryChargerSelectPin ())
//{
//BatteryChargerDetection (&ucCurrentRegisterValue、
// &ucRegisterValue);
qDebug ()< <"Charging through Charger";
ucRegisterValue = 00;
ucCurrentRegisterValue = 06;
// }
//else
//{
//qDebug()<<"Charging through Laptop";
//ucRegisterValue = 40;
//ucCurrentRegisterValue = 01;
//*pbIsLaptopConnected = true;
//}
//!Write to Charge current LSB
//ucRegisterValue = 0x00;
if(ZERO == I2CWriteRegisterVal( iI2cFd, 0x02, &ucRegisterValue,
1, BQ25703A_I2C_SLAVE_ADDRESS))
{
//!Write to Charge current MSB
//ucRegisterValue = 0x06;
if(ZERO == I2CWriteRegisterVal( iI2cFd, 0x03,&ucCurrentRegisterValue,
1, BQ25703A_I2C_SLAVE_ADDRESS))
{
qDebug() << "BatteryChargerInit Successful";
iRetVal = ZERO;
}
}
}
}
}
}
//!Close file descriptor.
I2CClose(iI2cFd);
请尽快答复。
谢谢:-)
