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.

[参考译文] BQ24725A:BQ24725A 充电静噪不起作用

Guru**** 2528010 points
Other Parts Discussed in Thread: BQ24725A

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1398596/bq24725a-bq24725a-charge-squance-is-not-working

器件型号:BQ24725A

工具与软件:

我已经使用 BQ24725A 有一段时间、但存在问题。

它工作不稳定,有时在一些未知情况下工作,有时不工作。

因此我需要检查软件配置是否正常、以及是否存在任何其他要求使其充电正常工作。

您能否检查以下配置是否合适、并告知我是否需要其他方案或其他情况?

(默认设置未设置的参数)

   bq24725a_init(&bq24725a, BQ24725A_ADDRESS);

    bq24725a_read_charge_option_register(&bq24725a);
    bq24725a_read_charge_voltage_register(&bq24725a);
    bq24725a_read_charge_current_register(&bq24725a);
    bq24725a_read_input_current_register(&bq24725a);

    bq24725a.registers.charge_current_register.bits.dachg0 = 0; //1024 -> 128 ma
    bq24725a.registers.charge_current_register.bits.dachg1 = 0;
    bq24725a.registers.charge_current_register.bits.dachg2 = 0;
    bq24725a.registers.charge_current_register.bits.dachg3 = 0; //default
    bq24725a.registers.charge_current_register.bits.dachg4 = 0;
    bq24725a.registers.charge_current_register.bits.dachg5 = 1; //2048mA
    bq24725a.registers.charge_current_register.bits.dachg6 = 0;

    bq24725a.registers.charge_voltage_register.bits.dacv_0 = 0;
    bq24725a.registers.charge_voltage_register.bits.dacv_1 = 0;
    bq24725a.registers.charge_voltage_register.bits.dacv_2 = 0;
    bq24725a.registers.charge_voltage_register.bits.dacv_3 = 0;
    bq24725a.registers.charge_voltage_register.bits.dacv_4 = 0;
    bq24725a.registers.charge_voltage_register.bits.dacv_5 = 0;
    bq24725a.registers.charge_voltage_register.bits.dacv_6 = 0;
    bq24725a.registers.charge_voltage_register.bits.dacv_7 = 0;
    bq24725a.registers.charge_voltage_register.bits.dacv_8 = 1; //4096mA
    bq24725a.registers.charge_voltage_register.bits.dacv_9 = 1; //8192mA
    bq24725a.registers.charge_voltage_register.bits.dacv_10 = 0;

    bq24725a.registers.input_current_register.bits.daciin_0 = 0;
    bq24725a.registers.input_current_register.bits.daciin_1 = 0;
    bq24725a.registers.input_current_register.bits.daciin_2 = 0; // 512 - default
    bq24725a.registers.input_current_register.bits.daciin_3 = 0;
    bq24725a.registers.input_current_register.bits.daciin_4 = 0;
    bq24725a.registers.input_current_register.bits.daciin_5 = 1; //4096mA

    bq24725a.registers.charge_options_register.bits.acoc_threshold_adjust = 0b10; // 1 -> 0
    bq24725a.registers.charge_options_register.bits.fault_hi_comparator_threshold_adjust = 0;
    bq24725a.registers.charge_options_register.bits.emi_sw_freq_adjust = 1; // 0-> 1
    bq24725a.registers.charge_options_register.bits.emi_sw_freq_enable = 1; // 0 -> 1
    bq24725a.registers.charge_options_register.bits.watchdog_timer_adjust = 0; // 1 -> 0
    bq24725a.registers.charge_options_register.bits.charge_inhibit = 0; // 1 -> 0

    bq24725a_write_charge_option_register(&bq24725a);
    bq24725a_write_charge_voltage_register(&bq24725a);
    bq24725a_write_charge_current_register(&bq24725a);
    bq24725a_write_input_current_register(&bq24725a);

Fatih YAZMAN

谢谢你。

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

    您好、Fatih、

    我有几个问题:

    您是否正在使用 EVM 或您是否有自己的电路板?

    您能否进一步说明/充电器如何不稳定? 什么是不稳定?

    此致、

    Christian。

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

    您好、Christian:

    我用的是我们自己开发的一块特殊板、下面附上了 BMS 的原理图。

    我们有大约30块板,其中一些为电池充电良好,但其中一些不给电池充电,有时板工作不正常。

    另一个问题是、如果我们不将电池连接到电池板、系统将无法使用交流电源。 它始终选择电池作为电源。 但我们看到 BMS 在"AC 适配器指示灯"稳压器中检测到交流电源

    我们尝试使用学习模式、但在对电池放电后、它将无法充电。

    我们不知道问题在哪里、我们应该关注什么。

    我不知道我还能说什么、请随时提出任何问题。 我在此提供更多详细信息。

    此外 、我们使用3芯串联电池组。

    谢谢、此 致、

    Fatih。

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

    您好、Fatih、

    适配器电压是多少?适配器电压是否会发生变化?

    系统负载是多少?

    另一个问题是、如果我们没有将电池连接到面板、系统将无法使用交流电源。 它始终选择电池作为电源。 但我们看到 BMS 在"AC 适配器指示灯"稳压器中检测到交流电源[/报价]

    发生这种情况时、VCC 上的电压是多少?

    此致、

    Christian

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

    您好!

    我们将电路分为两类:一类是我们认为适合"电路类型3"、另一类是我们认为不适合"电路类型1"

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

    您好、Fatih、

    您能否确认充电器未在非工作电路板上处于以下情况之一:

    此致、

    Christian

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

    Christian、您好!

    对于延迟回复、我们深表歉意、我们检查了所有硬件要求、所有这些都已检查、没有错误。 好消息是、我们能够通过更改配置为电池充电。 这个问题可能是由输入电流和充电电流过大引起的。

    目前存在的问题如下:

    1. BMS 仅在连接交流适配器时才为系统供电。
    2.如果系统中没有交流适配器、则初始化不像我在第一次通电时所写的那样。 (我在写入后检查所有寄存器)为了解决这个问题、当"表示交流适配器"寄存器状态发生变化时、我使用以下代码将 BMS 重新初始化。

    bq24725a_read_charge_option_register(&bq24725a);
    
    if ((ac_adapter_in == 0) && (bq24725a.registers.charge_options_register.bits.ac_adapter_in == 1)) {
       bms_init();
    }
    
    
    
    __delay_ms(1000);
    
    ac_adapter_in = bq24725a.registers.charge_options_register.bits.ac_adapter_in;
            
            

    我的新配置如下

        bq24725a_init(&bq24725a, BQ24725A_ADDRESS);
    
        bq24725a_read_charge_option_register(&bq24725a);
        bq24725a_read_charge_voltage_register(&bq24725a);
        bq24725a_read_charge_current_register(&bq24725a);
        bq24725a_read_input_current_register(&bq24725a);
    
        bq24725a.registers.charge_current_register.bits.dachg0 = 0; //64 ma
        bq24725a.registers.charge_current_register.bits.dachg1 = 0; //128
        bq24725a.registers.charge_current_register.bits.dachg2 = 0; //256ma
        bq24725a.registers.charge_current_register.bits.dachg3 = 1; //512
        bq24725a.registers.charge_current_register.bits.dachg4 = 0; //1024
        bq24725a.registers.charge_current_register.bits.dachg5 = 0; //2048mA
        bq24725a.registers.charge_current_register.bits.dachg6 = 0;
    
        bq24725a.registers.charge_voltage_register.bits.dacv_0 = 0;
        bq24725a.registers.charge_voltage_register.bits.dacv_1 = 0;
        bq24725a.registers.charge_voltage_register.bits.dacv_2 = 0;
        bq24725a.registers.charge_voltage_register.bits.dacv_3 = 0;
        bq24725a.registers.charge_voltage_register.bits.dacv_4 = 0;
        bq24725a.registers.charge_voltage_register.bits.dacv_5 = 0;
        bq24725a.registers.charge_voltage_register.bits.dacv_6 = 0;
        bq24725a.registers.charge_voltage_register.bits.dacv_7 = 0;
        bq24725a.registers.charge_voltage_register.bits.dacv_8 = 1; //4096mA
        bq24725a.registers.charge_voltage_register.bits.dacv_9 = 1; //8192mA
        bq24725a.registers.charge_voltage_register.bits.dacv_10 = 0;
    
        bq24725a.registers.input_current_register.bits.daciin_0 = 0;
        bq24725a.registers.input_current_register.bits.daciin_1 = 0;
        bq24725a.registers.input_current_register.bits.daciin_2 = 0; // 512 - default
        bq24725a.registers.input_current_register.bits.daciin_3 = 1; //1024
        bq24725a.registers.input_current_register.bits.daciin_4 = 0;
        bq24725a.registers.input_current_register.bits.daciin_5 = 0; //4096mA
    
        bq24725a.registers.charge_options_register.bits.acoc_threshold_adjust = 0; // 1 -> 0
        bq24725a.registers.charge_options_register.bits.fault_hi_comparator_threshold_adjust = 0;
        bq24725a.registers.charge_options_register.bits.fault_low_comparator_threshold_adjust = 1;
        bq24725a.registers.charge_options_register.bits.emi_sw_freq_adjust = 0; // 0-> 1
        bq24725a.registers.charge_options_register.bits.emi_sw_freq_enable = 0; // 0 -> 1
        bq24725a.registers.charge_options_register.bits.watchdog_timer_adjust = 0; // 1 -> 0
        bq24725a.registers.charge_options_register.bits.charge_inhibit = 0; // 1 -> 0
        bq24725a.registers.charge_options_register.bits.learn_enable = 0;
    
        bq24725a_write_charge_option_register(&bq24725a);
        bq24725a_write_charge_voltage_register(&bq24725a);
        bq24725a_write_charge_current_register(&bq24725a);
        bq24725a_write_input_current_register(&bq24725a);


    您能帮助我们解决这个问题吗?

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

    您好、Fatih、

    我仍然感到困惑。 我还有几个问题:

    系统负载是多少?

    1. BMS 仅在连接交流适配器时才为系统供电。

    我对这意味着什么感到困惑。 交流适配器无法为系统供电? ACFETS 是否损坏?

    此致、

    Christian。

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

    您好、Fatih、

    您好、
    在一个新工程中、我使用了 BQ24725A IC。 在查看数据表时、我注意到了可编程电池耗尽阈值和电池学习功能(在"1. 功能"第5条)。 为了保护电池、我不希望它完全放电。 然而、在我的实验中、我无法保护电池。
    数据表通常是指充电选项寄存器[12:11]和 LEARN 函数。 但这两个位(耗尽比较器阈值调整)只能与 LEARN 函数一起工作。 仅当达到放电速率时、学习功能才会将学习使能位设置为0。 将 LEARN 位设置为0后、我无法创建任何阻止电池完全放电的场景。
    即使我使用数字 EN 信号来断开电池电源路径与 Vcc 的连接、电池也会继续放电。 因此、电池已完全耗尽、当 AC 适配器电压恢复时、电路不再为电池充电、因为电路中不再存在电池。 您是否知道通过使用 LEARN (学习)功能或通过其他方法防止电池完全放电的方法? 或者、如何在电池耗尽时通过交流电为电池充电

    您是否会将此问题作为新问题发布、以便我们可以毫无混淆地解决第一个问题。

    什么是系统负载?

    请回答此问题。 负载牵引的电压/电流是多少?

    此致、

    Christian

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

    您好、很抱歉这么晚才回答。  

    系统负载专为约为12V 的3节电池设计、具有最小40mA 和最大220mA。  

    此致  

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

    您好、Fatih、

    系统负载专为3节电池设计、该电池的电压约为12V、具有最小40mA 和最大220mA。  [报价]

    VIN= 18V

    V_BATT=3s 12V 电池。

    V_BMS =??、V_BMS 等于什么? 它试图拉取的电压/电流是多少?

    此致、

    Christian。

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

    Christian、您好!

    如图所示、我们已构建示例电路。 我们的 Vin 对应于您的 Vadapter、Vbms 对应于 Vsystem。

    我们的适配器电压是交流/直流稳压器的输出、初始电流瞬间后范围为17.80-18.30V。

    当电路中没有 Vadapter 时、VSYS 等于 Vbat。 因此、我们曾提到 VSYS 是3S 电池在您询问时的电压。

    向我们的电路施加适配器电压后、VSYS 变为16.3V。 我们消耗的电流会因电路运行而异、范围从40mA 的最小值到220mA 的最大值。

    您能具体说明一下"电压/电流"的含义吗? 您是指欧姆值还是其他参数?

    此致、

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

    Mehmet、您好!

    感谢您的澄清、

    我们的适配器电压是交流/直流稳压器的输出、初始输入电压范围为17.80-18.30V。

    我认为您的原理图没有明显的问题、会导致适配器在系统输出端从18V 降至1V。 您是否尝试过使用其他适配器(如电源)以确认适配器是否不存在问题?

    此致、

    Christian。