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.

[参考译文] BQ76PL536A-Q1:平衡:为什么不起作用?

Guru**** 667810 points
Other Parts Discussed in Thread: BQ76PL536A-Q1
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1162702/bq76pl536a-q1-balancing-why-does-it-not-work

器件型号:BQ76PL536A-Q1

我目前正在使用单个 bq76pl536A-Q1开发汽车 BMS (专有)(因此没有朝北或朝南的芯片)
我已确认平衡电阻器驱动器 FET 的栅极连接到 BQ 芯片的平衡输出
我已确认 BQ 芯片的平衡输出未短接至 GND、VCC 或彼此
我已确认、通过使用3V3通过几个千欧电阻器将任何电池的负电压(在我的情况下为方便起见、使用一组电源进行仿真)施加到 BQ 输出、FET 将打开平衡电阻器并产生电流
我可以确认连接到 BQ 芯片的 SPI 接口工作正常、因为我可以从 BQ 芯片检索电池电压、从而密切反映当前电池电压。
我还没有设法直接使用 BQ 输出来平衡任何电芯(实电芯或模拟电芯)。

起始条件:BQ 芯片被初始化并分配了一个地址。

以下是我在 SPI 上执行的操作(循环重复、每秒多次)

从低功耗模式唤醒 BQ 芯片并设置 TSX 引脚状态
开始转换电池电压和温度
读取电池电压和温度
将 CB_TIME 寄存器设置为48S (确保计时器始终运行且不会妨碍平衡)
读取 FAULT_STATUS 寄存器(检查 CRC 错误)
将 CB_CTRL 设置为0 (以确保在任何电池平衡时都存在从零到非零的转换、并且 CB_TIME 计时器将始终复位且永不过去...)
读取 FAULT_STATUS 寄存器(检查 CRC 错误)
将 CB_CTRL 设置为要平衡的电池
读取 FAULT_STATUS 寄存器(检查 CRC 错误)
读取 DEVICE_STATUS 寄存器(检查 CB_TIME 计时器是否实际运行)
读取 ALERT_STATUS 寄存器(检查是否存在可能干扰或不干扰平衡的警报)
将 BQ 芯片返回到低功耗模式

我可以确认所有命令实际上都是通过 SPI 发出的
我已经检查了它们是否都是正确的 BQ 通信帧。
我可以确认 FAULT_STATUS 寄存器被读取时任何时候都不存在 CRC 错误(即 CB_CTRL 写入命令被 BQ 芯片发送并理解)
我可以确认 CB_TIME 计时器实际上正在运行(设置 DEVICE_STATUS 中的 CBT 位)
我可以确认 ALERT_STATUS 寄存器中没有设置任何内容(除了睡眠模式下预期的睡眠位、但循环重置此位在我的测试中没有显示任何效果)

根据我的理解,在这些条件下,平衡绝不应起作用
我出了什么问题? 随附了 SPI 的捕捉(Saleae 逻辑捕捉文件、封装在一个 zip 文件中)。

e2e.ti.com/.../BQ-Balancing-Attempts.zip

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

    显然、Balancing 已激活、但仅持续几毫秒。 以时钟速度运行 MCU 意味着禁用必须处于使能的非常接近的周期...

    事实证明、如果您将 BQ 芯片返回到睡眠状态、它会禁用平衡输出。

    因此、BQ 芯片只应在没有任何平衡时设置为睡眠、而在其他情况下保留。