工具/软件:
我 将我的 BQ25622设计附在这里时、当我将 VBUS 连接到5V 电源 、然后 BQ25622 IC 将过热、帮助我解决这是一个正确的设计、或者如果是、我必须对其进行修改、然后提供建议
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.
工具/软件:
我 将我的 BQ25622设计附在这里时、当我将 VBUS 连接到5V 电源 、然后 BQ25622 IC 将过热、帮助我解决这是一个正确的设计、或者如果是、我必须对其进行修改、然后提供建议
尊敬的 Ravi:
我已经审核了您的原理图、并有以下注释。
-您可以帮助解释选择220欧姆电阻器作为 STAT 和 PG 引脚上拉的原因吗? 通常、TI 建议为这些引脚使用至少1k Ω 或更大的电阻器、因为它们无法灌入大量电流。
建议连接到 INT 引脚的上拉电阻为10k Ω。
-请注意,要启用充电,您需要能够拉低/CE 引脚。 您的原理图仅显示/CE 连接到3.3V 上拉电阻。
-请注意,如果您要使 TS 引脚保持未连接状态,您需要设置 TS_IGNORE = 1 (REG0x1A[7])才能为电池充电。
除了这些注释之外、原理图的其余部分看起来没有问题。
在此处、当我将 VBUS 连接到5V 电源时、 BQ25622 IC 将发热过多
您能否帮助量化这一表述? 当您观察到 PCB 升温时、VBUS 处的电流消耗是多少? IC 加热是多少? 如果您无法测量热量、可以使用 BQ25622的集成 ADC。 TDIE ADC 输出(REG0x36)将提供 IC 温度的接近估算值。
此致、
Garrett
尊敬的 Ravi:
在这里、当我移除 VBUS 时、我无法与 i2c 通信。
在这种情况下、您的电池电压是多少、您是否确认可以测量 BQ25622 IC 的 BAT 引脚上的电压? 只要电池电压大于2.5V、仅连接电池时、I2C 通信将正常工作。
确认电池电压后、我还建议检查 SCL 和 SDA 是否处于预期的上拉电压。
在另一个备注中、我看到了您对 Linux 示例驱动程序文件的请求、但当我尝试通过电子邮件发送时、由于服务器无法找到您列出的电子邮件地址、交付失败。 您能否提供一个备选电子邮件地址至(ravikunar.c@ciright.com)?
此致、
Garrett
您好@Garrett 感谢您的连续重播,现在我能够与没有 vbus,我 vbus=4.2v (max)的电池的 i2c 通信,
问题(1)如何在没有 VBUS 的情况下为电池充电、如果我连接 VBUS、则 IC 会升温。
(2)我在下面提供了我的代码 用于电池电量检测帮助我纠正它,如果你可以请。
(我使用的是 esp32s3)
代码:-
#include
#include "driver/i2c.h"
#include "freertos/freertos.h"
#include "freertos/task.h"
#define I2C_MASTER_NUM I2C_NUM_0
#define I2C_MASTER_SDA_IO 6.
#define I2C_MASTER_SCL_IO 5.
#define I2C_MASTER_FREQ_Hz 100000
#define BTS_ADDR 0x6B
#define REG_ADC_CTRL 0x26
#define REG_ADC_FUNC_DIS0 0x27
#define REG_VBAT_ADC 0x30
void i2c_master_init (){
I2C_CONFIG_t conf ={
.mode = I2C_MODE_MASTER、
.sda_io_num = I2C_MASTER_SDA_IO、
.sda_pullup_en = GPIO_PULLUP_ENABLE
.scl_IO_num = I2C_MASTER_SCL_IO、
.scl_pullup_en = GPIO_PULLUP_ENABLE
.master.clk_speed = I2C_MASTER_FREQ_Hz
};
I2C_PARAM_CONFIG (I2C_MASTER_NUM、&conf);
I2C_DRIVER_INSTALL (I2C_MASTER_NUM、conf.mode、0、0、0);
}
esp_err_t write_register (uint8_t reg、uint8_t data){
uint8_t buffer[2]={reg、data};
返回 i2c_master_write_to_device (I2C_MASTER_NUM、BQ25622 _ADDR、BUFFER、21000/ portTICK_PERIOD_MS);
}
esp_err_t read_register (uint8_t reg、uint8_t *data、size_t len){
返回 i2c_master_write_read_device (I2C_MASTER_NUM、BQ25622 _ADDR、®、1、data、 LEN、1000/ portTICK_PERIOD_MS);
}
void app_main (){
i2c_master_init ();
//启用所有 ADC (VBAT 启用=位4 = 0)
uint8_t ADC_func_dis = 0x00;// 0b00000000 =启用全部
WRITE_REGISTER (REG_ADC_FUNC_DIS0、ADC_FUNC_dis);
// ADC 控制寄存器(0x26):
// ADC_EN=1、ADC_RATE=0 (连续)、ADC_SAMPLE=00 (12位)、
// ADC_AVG=0 (单个)、ADC_AVG_INIT_=1 (启动)
uint8_t ADC_ctrl =(1 << 7)|(0 << 6)|(0 << 5)|(0 << 4)|(0 << 3)|(1 << 2);// 0x84
WRITE_REGISTER (REG_ADC_CTRL、ADC_Ctrl);
while (1){
uint8_t ADC_RAW[2];
READ_REGISTER (REG_VBAT_ADC、ADC_RAW、2);
Uint16_t RAW_ADC =((ADC_RAW[0]<< 8)| ADC_RAW[1])>> 1;//位12:1
// 仅打印原始 ADC 值
printf ("Raw ADC:%u\n"、RAW_ADC);
vTaskDelay (PDMs_to_ticks (2000));
}
}
尊敬的 Ravi:
感谢您的回复、并确认您可以在 IC 由电池供电时使用 I2C 通信。 请在下面查看我的评论。
1)正确、如果没有 VBUS 的输入电源、您将无法为电池充电。 我首先想要确认您的电池连接正常、IC 可以按预期使用电池供电。
关于 IC 过热、我怀疑这是布局或焊接问题、因为我在原理图中没有发现会导致电流消耗增加的关键问题。 为了能够进一步调试、您能否 测量 VBUS 上的电流消耗? 当观察到 IC 发热时、您在 VBUS 和 BAT 引脚上测量多大电压?
此致、
Garrett
嘿@Garrett 感谢与我们在一起,关于 IC 过热我清除了我的硬件设置首先我机会我的 IC 被新的一个.
2) VBUS 由5V 供电。
3)电池未连接。
4) VSYS 测量值3.7V。
5) VBAT 测量0V (未连接)
在这个 senario 如果我连接电池,它导致过热的 IC 并损坏它。
我在这里理解、我必须首先启用充电过程、以便在 VBAT 中获得一些电压、然后能够在 VBAT 处正确连接电池、然后您可以简要提供有关如何通过软件和硬件启用充电的帮助。
尊敬的 Ravi:
感谢您的回应、并了解您的项目的紧迫性。 请在下面查看我的评论。
[引述 userid="651629" url="~/support/power-management-group/power-management/f/power-management-forum/1505691/bq25622-ravikumar-c-ciright-com/5794442 #57944442"]2) VBUS 由5V 供电。
3)电池未连接。
4) VSYS 测量值3.7V。
5) VBAT 测量0V (未连接)
对于此硬件设置、当您最初报告 BAT 引脚=0V 时、您是否通过/CE 引脚拉至高电平或 EN_CHG 寄存器设置为0b 来禁用充电?
另请帮助回答我之前关于发生过热时 VBUS 电流消耗的问题? 需要消耗电流、以便了解充电器 IC 是在预期的充电电流下运行、还是可能存在导致通过 IC 的异常电流的短路或其他问题。
我的理解是、我必须首先启用充电过程、以便在 VBAT 中获得一些电压、然后我能够在 VBAT 处连接电池、这是正确的、然后您可以简单地提供有关如何通过软件和硬件启用充电的帮助。[/报价]BQ25622器件可以处理在启用充电的情况下连接电池。 您应该能够在充电启用或禁用的情况下连接电池。
鉴于只有在连接电池后才会出现过热问题以继续调试您的问题、我建议在连接电池并启用充电之前将 ICHG 设置为非常低的值、例如80mA MIN 设置、并查看这是否有所帮助。
此致、
Garrett
尊敬的 Ravi:
当/CE 引脚为高电平时、您应该能够连接电池、而不会观察到任何过热情况。 充电被禁用、因此没有电流流入电池、输入适配器连接到 VBUS 上、因此 SYS 负载应继续从输入而不是电池供电。
[报价 userid="651629" url="~/support/power-management-group/power-management/f/power-management-forum/1505691/bq25622-ravikumar-c-ciright-com/5796791 #5796791"](3) VBUS 消耗1A 恒定电流。当启用充电且未更改 IC 寄存器时、电池消耗预计为1A、因为默认 ICHG 设置为1.04A、但 VSYS 应保持电压调节高于电池电压。
您的结果似乎表明充电器输出侧存在某种类型的问题、与原理图无关、具体而言、在未连接电池时考虑 VSYS 调节为预期3.7V 的 BAT 路径。
您能否为我提供此 IC 的确切工作原理图、我们可以在不加载任何软件的情况下直接为电池充电
请参阅 EVM 用户指南中的 BQ25622EVM 原理图。 我已将以下文件链接起来、原理图位于第14页。 这是一个工作原理图、该器件无需任何 I2C 寄存器修改即可正常工作。
此致、
Garrett
您好@Garrett、我根据 EVM 原理图进行了更改后更新了原理图。 在这里,我给5V 的 VBUS 电池未连接获取 VSYS=3.7V 和 pg 引脚上的 LED 打开和 i2c 检测到,经过大约10min pg 引脚上的 LED 关闭测量的 VBUS=5V , VSYS=0 , i2c 无法检测.
在连接的同一 IC 电池上、VBAT =3.9v、VSYS=3.9v i2c vBus 不存在、检测到 i2c。
以上两种情况 CE 为高电平。
此处、我无法了解、我的 IC 已损坏或某些 IC 外设已损坏。 如果在这种情况下没有 损坏、那么为什么我在 VBUS=5V 时没有收到 VSYS。 如果 IC 损坏,那么为什么 IC 能够通过 i2c 通信时,电池.
仍然困惑,当 VBUS 和电池都存在时如何通过 i2c 与 IC 通信在这种情况下我的 IC 过热和损坏。
给我们适当的指南做这种工作的 IC proparly。
尊敬的 Ravi:
我在更新后的原理图中没有看到明显的问题。 关于损坏的问题、IC 的一部分可能会损坏、而其他方面仍能正常工作。 例如、我之前见过输入侧损坏会妨碍转换器正常运行、但器件的 I2C 块仍然正常运行。
您观察到的问题仍然指向布局或焊接问题、因为原理图没有问题、即使在启用充电的情况下、您也会出现过热/损坏。
在这里、我为未连接 VBUS 电池提供5V 电 压 。当 VSYS=3.7V 且 pg 引脚上的 LED 亮起并检测到 i2c 时、经过大约10分钟 pg 引脚上的 LED 关闭测量的 VBUS=5V、VSYS=0、i2c 无法检测到。[/报价]如果您能够复制此行为、我建议捕获 VBUS、SW、VSYS、VBAT 的波形、该波形会在 VSYS 下降时触发、以尝试准确调试导致 SYS 输出无法再正常调节的问题。
此致、
Garrett
你好@Garratt ,这里,你想看到下面提供的 vbus,sw,vse,vbat 的波形.
(1) CE 为高电平时的 VBUS 和 SW
(2) CE 为高电平时的 VBUS 和 VBAT
(3) CE 为高电平时的 VBUS 和 VSYS
(4) CE 为低电平时的 VBUS 和 SW
(5) CE 为低电平时的 VBUS 和 VBAT
(6) CE 为低电平时的 VBUS 和 VSYS
此处、通道2 (蓝色)是 VBUS、其他是替代方案。
我们替换了新的 IC、然后将 VBUS 连接到4.9v 在引脚上获取 VBAT=2.5V (不存在电池)、VSYS = 3.7V 与 LED 条带连接、pg 引脚上的 LED 开启并能够读取约2.5V 的 VBAT ADC 值 、地址 0x16上的电阻器(给定0x20)、这是当 CE 为高电平时的情况。
当 CE 为低电平、VBUS = 4.9v、当 VBAT = 2.5V 且 VSYS = 3.7V 且 pg 和 stat 引脚均导通时、地址 0x16上的电阻为0x20、VBAT ADC 值为0;
在最安全的情况下、我们连接电池、因为在我们用 VBUS 和 VBAT 损坏 IC 之前。
为什么我没有得到 vadc 的数据在上述情况下,当 CE 是低的。
@TI 希望找到合适的解决方案、因为我们将在产品中大规模使用此 IC。
尊敬的 Ravi:
在 CE 高电平或 CE 低电平的情况下、预计不会在无电池的情况下使用 VBAT = 2.5V。 当 CE 为高电平且 BAT 上未连接任何器件时、预期电压为0V。 当 CE 为低电平且不存在电池时、BQ25622预计会将 BAT 引脚输出电容器充电至4.2V。
观察到充电禁用情况下 BAT 引脚处的2.5V、这表明硬件设置中存在一些泄漏路径。
在包含 SW 预期值的波形中、SW 电压应在5V 和0V 之间转换、与 BQ25622数据表中图9-10所示的类似。 如果使用较小的时分、您是否能够看到预期的 SW 波形?
在最安全的情况下、我们连接电池、因为在我们使用 VBUS 和 VBAT 损坏 IC 之前。
如果您的电路板是根据您提供的原理图接线的、则电池应该能够在不损坏 IC 的情况下连接。 此 IC 已投放市场超过两年、我们的各种客户都在使用它、不会出现任何问题。
@TI 希望找到合适的解决方案、因为我们将在我们的产品中大规模使用该 IC。
如果您需要用于进一步原型设计的电路板、经验证能够按预期工作、您可以从 TI.com 购买 BQ25622EVM。 我已链接到下面的产品页面。
此致、
Garrett
尊敬的 Ravi:
请在下面查看我的评论。
1) BQ25622器件的电池监测 ADC 作为常规充电器之外的一项额外功能提供、仅供参考、因此没有 精度规格。 如果您的系统需要高精度的 ADC 测量、建议使用电池电量计器件。 考虑到这一点、观察到 ADC 输出和万用表测量之间的差异不会出现意外、约为0.025V。
当电池电压低于2.9V ADC 时停止读取数据
参考数据表的"集成12位 ADC 用于监控"部分(第8.3.7节)、在仅电池供电模式下、电池电压必须高于 Vbat_lowv 电压阈值才能运行 ADC。 当电池电压降至低于此阈值时、ADC 将关闭。 VBAT_LOWV 阈值的典型值为2.8V、最大规格为2.9V。 鉴于此、预计会停止 ADC。
Vref 的值是多少ADC
2)不幸的是,我不能分享这些细节,因为它是专有的。
第三、我们仍然无法获得正确的答案、为什么当我们将电池和 VBUS 连接在一起时、我们的 IC 会损坏。
3) BQ25622 IC 的预期操作是将输入连接到 VBUS 上、并将电池连接到 BAT 引脚。 该用例已由 TI 经过全面验证、在 BQ25622EVM 板上按预期工作、并已被各种客户使用、没有任何问题。
鉴于您的最新原理图没有出现问题、您观察到的损坏几乎可以肯定是由于电路板布局布线或测试硬件设置造成的。 您是否使用示波器在测试中的 IC 损坏时尝试捕获电源信号的波形? 您是否在引线框中看到 VBUS 或 BAT 上出现异常电流消耗、从而观察到损坏?
此致、
Garrett
尊敬的 Ravi:
2)为什么在不知道 vref 的情况下不能说出 vref、我们如何能够确定我们的值是否正确。
请允许我澄清一下。 VBAT ADC 测量的电压与 BQ25622的 BAT 引脚上观察到的电压相同。 ADC 的电池电压测量在 IC 内部的 Q4 BATFET 处进行。 请测量尽可能靠近 IC BAT 引脚的电压以作为基准、以便与 VBAT_ADC 输出进行比较。
3)为什么实际值(用万用表测得的 VBAT)与 ADC 值之间的差异会随着 VSYS 上的负载增加而变化。
如果使用万用表在电池端子处进行测量、则随着 BAT 引脚与实际电池端子之间迹线和电线上的压降导致负载增加、差值将会增加。 流经路径的电流越大、压降就越大。
此致、
Garrett
尊敬的 Ravi:
首先、很高兴听到您解决了有关 IC 加热的问题。
现在、为了解决您关于未充电的报告、您可以尝试以下实验吗? 请测试 BAT 引脚输出电压在启用充电且实际未连接电池的情况下是否会升至大约4.2V?
预期情况是 BQ25622将在 BAT 处将10uF 输出电容器充电至4.2V、然后充电将终止、电压将衰减一些电压、然后再次充电至4.2V、这与下面所示的波形捕获类似。
如果 BQ25622在该测试中按预期工作、则它确认所有 IC 配置都正常、并且存在与电池包阻止充电具体相关的内容。
此致、
Garrett