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.

[参考译文] BQ25700A:无法使用 PMIC 为电池充电

Guru**** 2575885 points
Other Parts Discussed in Thread: BQ25700A, BQ25703A

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1103121/bq25700a-not-able-to-use-pmic-to-charge-battery

器件型号:BQ25700A
主题中讨论的其他器件: BQ25703A

尊敬的 TI 团队:  

我在本文档中详细介绍了设置、问题以及对编程的响应

硬件:

通过大约9.66V 的电源将 Bq25700a 连接到 Raspberry Pi。



软件:

我正在使用具有 I2cset 和 I2cset 等 I2C 接口命令的 Linux 终端对 PMIC 进行编程。

下面是发出的命令和带有注释的响应

  1. ChargeOption0:使用0x020e 编程以启用充电





PI@raspberrypi:~$ i2cget -y 1 0x09 0x12 w

0xe20e

PI@raspberrypi:~$ i2cset -y -r 1 0x09 0x12 0x020e w

写入值0x020e、回读匹配



  1. 3.25mA 时的 IIN_HOST 值

PI@raspberrypi:~$ i2cget -y 1 0x09 0x3f w

0x4100

  1. 最小电压设置为3.25V

PI@raspberrypi:~$ i2cget -y 1 0x09 0x3e w

0x0e00

PI@raspberrypi:~$ i2cset -y -r 1 0x09 0x3E 0x0e00 w

写入值0x0e00、回读匹配

  1. 输入电压限制: 问题:无法将其设置为16.3V

PI@raspberrypi:~$ i2cget -y 1 0x09 0x3D w

0x0000

PI@raspberrypi:~$ i2cset -y -r 1 0x09 0x3D 0x3000 w

警告-数据不匹配-写入0x3000、读回0x0000

PI@raspberrypi:~$ i2cset -y -r 1 0x09 0x3D 0x2000 w

警告-数据不匹配-写入0x2000、读回0x0000

PI@raspberrypi:~$ i2cset -y -r 1 0x09 0x3D 0x1000 w

警告-数据不匹配-写入0x1000、读回0x0000

此处需要帮助(用于设置输入电压限制)

  1. DPM 电流被设定为3.25mA

PI@raspberrypi:~$ i2cget -y 1 0x09 0x22 w

0x4100

  1. ChargeOption3: 未使用

PI@raspberrypi:~$ i2cget -y 1 0x09 0x32 w

0x0000

  1. MaxCharge 电压:最初为0V、之后为1S 设置为4192mV

PI@raspberrypi:~$ i2cget -y 1 0x09 0x15 w

0x0000

PI@raspberrypi:~$ i2cset -y -r 1 0x09 0x15 0x1060 w

写入值0x1060、回读匹配




  1. ADCoption 寄存器被设置 为测量 Reg26/Reg24/Reg25

PI@raspberrypi:~$ i2cget -y 1 0x09 0x35 w

0x2000

PI@raspberrypi:~$ i2cset -y -r 1 0x09 0x35 0xE0F7 w

写入值0xe0f7、回读匹配




  1. MaxChargeCurrent:最初为0mA、后来设置为3.25mA

PI@raspberrypi:~$ i2cget -y 1 0x09 0x20 w

0xa000

PI@raspberrypi:~$ i2cget -y 1 0x09 0x21 w

0x0000

执行后:

VBUS 电压测量

PI@raspberrypi:~$ i2cget -y 1 0x09 0x23 w

0x8000 // VBUS 电压读作11.6V 而不是9.6V

PI@raspberrypi:~$ i2cget -y 1 0x09 0x23 w

0x8000

ChargeCurrent 测量

PI@raspberrypi:~$ i2cget -y 1 0x09 0x24 w

0x0000 //尽管电池已连接且充电电流已设置、充电电流仍被读取为0mA。 我还使用万用表手动测量电流、但没有结果。

  • 您能告诉我是否缺少任何编程步骤
  • 如果没有编程错误,为什么 PMIC 不为我的电池充电。

感谢你的帮助。






  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Dutt、

    首先、我要赞扬您努力使用 Raspberry Pi 控制 BQ25700A。 这将为对物联网应用充满热情的 DIYer 打开一个巨大的窗口。  

    然而、此 RPi 平台是一个未制表的区域、有许多错误和障碍。 我鼓励您继续探索。  

    关于输入电压寄存器设置、只允许将电压设置为低于输入9.66V 的电压电平、否则将触发 VINDPM 故障。 不确定为什么 VBUS、ICHG 测量不同。 建议您使用不同的 Vin 和 ICHG 进行更多测量。  

    请参阅 BQ25700A 用户指南。 确保禁用看门狗计时器、否则充电将每175秒超时一次。  

    www.ti.com/.../BQ25700AEVM-732

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    周您好、

    尽管 我将其设置为0x2000 (8.912V)、但我仍然无法设置对输入电压寄存器的写入(I2C 地址= 0B/0Ah)、该值小于9.62V 的输入电源  

    我现在正在测试 bq25703a 的 tindie 固件代码

    此处是产品的链接 :www.tindie.com/.../、供参考

    Python 脚本: github.com/.../BQ25703A_Python.git

    将充电电流设置为3.584mA 后、我仍然没有发现任何放电电流。

    下面是 I2C 分析器结果:

    写入0x6B ACK 数据:0x2E  

    读取0x6B ACK 数据:0x40

    写入0x6B ACK 数据:0x2F  

    读取0x6B ACK 数据:0x78

    写入0x6B ACK 数据:0x3A 0x57  

    写入0x6B ACK 数据:0x01 0x26  

    写入0x6B ACK 数据:0x00 0x0E  

    写入0x6B ACK 数据:0x20  

    读取0x6B ACK 数据:0x00

    写入0x6B ACK 数据:0x3B 0x60  

    写入0x6B ACK 数据:0x3B  

    读取0x6B ACK 数据:0x60

    写入0x6B ACK 数据:0x2C  

    读取0x6B ACK 数据:0x09

    写入0x6B ACK 数据:0x2D  

    读取0x6B ACK 数据:0x09

    写入0x6B ACK 数据:0x29  

    读取0x6B ACK 数据:0x00

    写入0x6B ACK 数据:0x2B  

    读取0x6B ACK 数据:0x00

    写入0x6B ACK 数据:0x27  

    读取0x6B ACK 数据:0x63

    写入0x6B ACK 数据:0x3B 0x60  

    写入0x6B ACK 数据:0x3B  

    读取0x6B ACK 数据:0x60

    写入0x6B ACK 数据:0x2C  

    读取0x6B ACK 数据:0x09

    写入0x6B ACK 数据:0x2D  

    读取0x6B ACK 数据:0x09

    写入0x6B ACK 数据:0x29  

    读取0x6B ACK 数据:0x00

    写入0x6B ACK 数据:0x2B  

    读取0x6B ACK 数据:0x00

    写入0x6B ACK 数据:0x27  

    读取0x6B ACK 数据:0x63

    写入0x6B ACK 数据:0x3B 0x60  

    写入0x6B ACK 数据:0x3B  

    读取0x6B ACK 数据:0x60

    写入0x6B ACK 数据:0x2C  

    读取0x6B ACK 数据:0x09

    写入0x6B ACK 数据:0x2D  

    读取0x6B ACK 数据:0x09

    写入0x6B ACK 数据:0x29  

    读取0x6B ACK 数据:0x00

    写入0x6B ACK 数据:0x2B  

    读取0x6B ACK 数据:0x00

    写入0x6B ACK 数据:0x27  

    读取0x6B ACK 数据:0x63

    写入0x6B ACK 数据:0x3B 0x60  

    写入0x6B ACK 数据:0x3B  

    读取0x6B ACK 数据:0x60

    写入0x6B ACK 数据:0x2C  

    读取0x6B ACK 数据:0x09

    写入0x6B ACK 数据:0x2D  

    读取0x6B ACK 数据:0x09

    写入0x6B ACK 数据:0x29  

    读取0x6B ACK 数据:0x00

    写入0x6B ACK 数据:0x2B  

    读取0x6B ACK 数据:0x00

    写入0x6B ACK 数据:0x27  

    读取0x6B ACK 数据:0x63

    写入0x6B ACK 数据:0x0D 0x04  

    写入0x6B ACK 数据:0x04 0x60 0x10  

    写入0x6B ACK 数据:0x02 0x80 0x00

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    无需设置输入电压寄存器即可启动充电器。 其次、充电电流和充电电压寄存器是所需的最小设置、 假设您有足够的电源和电池。  我们的充电电流最小步长为64mA。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    赵好、  

    根据您的建议、我已经执行了所需的基本设置、并将电压和电流设置为4.2V 和128mA。 但用于测量放电电流的寄存器28的读数仍为0mA。  

    我已附上此测试的分析器报告供您参考。

    写入0x6B ACK 数据:0x04
    读取0x6B ACK 数据:0x60 0x10 //最大电压为4.2V
    写入0x6B ACK 数据:0x02
    读取0x6B ACK 数据:0x80 0x00 //电流为128mA
    写入0x6B ACK 数据:0x3A 0xFF 0xE0
    写入0x6B ACK 数据:0x3A   //启动 ADC
    读取0x6B ACK 数据:0xFF 0xE0 //ADCoption 回读
    写入0x6B ACK 数据:0x28
    读取0x6B ACK 数据:0x00 0x00 // PMIC 的放电电流读作零表示无电池充电
    写入0x6B ACK 数据:0x26
    读取0x6B ACK 数据:0xFF 0x63 //显示的系统电压等于9.531V

    希望这可以解决我所面临的问题。  

    期待听到您的解决方案

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    目前正在度假,5月31日回来。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    周您好、

    我已经能够让 PMIC 为我的电池充电。 我通过将 ILIM_HiZ 驱动至4.01V 实现了这一点、PMIC 立即进入 FastCharge 模式。 我现在面临的新问题是 ADC 似乎没有反映 IDCHG 的变化。 即使在我通过写入0xeoff 初始化 ADCOption 之后,我也看不到 ADCIBAT 有任何变化,即使我在万用表上测试到正在进行放电,即在我将 ChargeCurrent 设置为128mA 后,万用表的电流读数为125mA。我仍然能够读取 ADCVBUS/PSSYS 和 ADCVBAT/VYS,但只是 ADCIBAT。 我是否遗漏了什么?

    您能帮我调试这个 ADC 问题吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Guru、

    很高兴看到先前的问题得到解决。 您能否在另一个主题中提交新问题?

    此致、

    老虎