This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

BQ25703A: 如何判断BQ25703A充电已满?

Part Number: BQ25703A

充电管理IC:降压升压一体 bq25703ARSNR,3.5-24V WQFN32 TI

BQ25703A如何判断充电已满。我看spec上有提到00h这个0bit可以去判断,但是充满电后这一位仍然为0不变。

串口助手,用i2c读取00h地址的值为14

  • 您好,The buck-boost charger controller BQ25703A is a host-controlled device. It doesn’t have a termination current setting and cannot terminate the charging by itself. After the charger enters CV (constant voltage) mode and charge current begins to tamper, the host (embedded controller) needs to monitor the battery conditions (voltage and charge current) and terminate by the host.

  • 那我要如何判断是否充满电?通过电压和电流来判断吗?

    并且有时连接上充电器并没有充电,没有充电电流(读电量计显示不是满电,连接充电器之后不充电),请帮助我解决此问题,谢谢

  • 您好,请将电路和寄存器参数发过来看一下。

  • 	/* charge option0 0001 0e02 */
    	put_string("wr+");
    	twi_write_buf[0] = 0x0e;
    	twi_write_buf[1] = 0x12;	
    	ret = twi_random_write(0x0, 2, twi_write_buf);
    
    	if (ret)
    		goto err;
    
    	/* charge option1 3031 1002 */
    	twi_write_buf[0] = 0x10;
    	twi_write_buf[1] = 0x2;	
    	ret = twi_random_write(0x30, 2, twi_write_buf);
    	if (ret)
    		goto err;
    
    	/* charge option2 3233 b702 */
    	twi_write_buf[0] = 0xb7;
    	twi_write_buf[1] = 0x02;	
    	ret = twi_random_write(0x32, 2, twi_write_buf);
    	if (ret)
    		goto err;
    
    	/* charge option3 3435 0000 */
    	twi_write_buf[0] = 0x00;
    	twi_write_buf[1] = 0x20;
    	ret = twi_random_write(0x34, 2, twi_write_buf);
    	if (ret)
    		goto err;
    
    
    	/* prochot option0 3637 544a */
    	twi_write_buf[0] = 0x54;
    	twi_write_buf[1] = 0x4a;	
    	ret = twi_random_write(0x36, 2, twi_write_buf);
    	if (ret)
    		goto err;	
    
    	/* prochot option1 3839 2081 */
    	twi_write_buf[0] = 0x20;
    	twi_write_buf[1] = 0x81;	
    	ret = twi_random_write(0x38, 2, twi_write_buf);
    	if (ret)
    		goto err;
    
    	/* max charge vol 0405 3031*/
    	ret = set_max_charge_voltage(12592);	
    	if (ret)
    		goto err;
    
    	/* charge current 0203 c007 */
    	ret = set_charge_current(2048);		//
    	if (ret)
    		goto err;
    
    	/* input current 0e0f 0042 */
    	twi_write_buf[0] = 0;
    	twi_write_buf[1] = 0x42;
    	ret = twi_random_write(0xE, 2, twi_write_buf);
    	if (ret)
    		goto err;
    
    	/* input vol 0a0b 801e (7808mv) */
    	twi_write_buf[0] = 0x80;
    	twi_write_buf[1] = 0x1e;	
    	ret = twi_random_write(0xa, 2, twi_write_buf);
    	if (ret)
    		goto err;
    
    	/* min sys vol 0c0d 0016 */
    	twi_write_buf[0] = 0x00;
    	twi_write_buf[1] = 0x16;
    	ret = twi_random_write(0xc, 2, twi_write_buf);
    	if (ret)
    		goto err;

    今天对寄存器重新初始化一下,又可以充电了,您帮我看一下上述寄存器配置是否可行?,右侧是电路图

  • 您好,可以将寄存器配置保存,下次出问题对比一下寄存器参数。您先充电验证是否正常,有问题再将问题发过来。