Other Parts Discussed in Thread: BQ27427, BQSTUDIO, BQ25620, BQ27426
器件型号: BQ27427
“主题“中讨论的其他器件: BQSTUDIO、 BQ25620、 BQ27426
在充电期间、它在此寄存器 0x10 AVG 电流中变为负值
在放电期间、它将为正值
AVG 功率寄存器也与 0x18 相同
这种情况是否正确?
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.
我需要一个 CSV 文件。
以秒为单位的时间(不是 Day:hr:Min:sec 时间戳 — 它必须以相对于日志开始的秒为单位)、电流[mA]、电压[mV]、温度[deg.c]、SOC [%]、 未滤波 RM [mAh]、未滤波 FCC [mAh]、已滤波 RM [mAh]、已滤波 FCC [mAh]、控制状态【十六进制】、 标志【十六进制】、命令 0x66/ 0x67【小端字节序十进制】 、命令 0x68/0x69 【小端字节序十进制】、命令 0x6C/ 0x6D【小端字节序十进制】
您能告诉我一个问题吗
我的要求是充电电流仅为 1A、则需要电流调节、或者如果需要、不需要电流调节可以告诉我块失调电压、因为这个失调电压没有在数据表中提到任何位置
另外一件事关于设计容量我的电池设计容量是 10、000mA 为此目的我做设计能量调节这是正确的吗? 还有任何其他的事情是需要改变设置 10, 000mA 的我目前做 10, 000mA h/10 值设置在设计帽块和设计能量比例值,我们保持为 10 是足够了?
Design Energy Scale 仅针对功率和电能单位、如 CW/mW 和 CWH/MWh。 它不会影响以[A]或[Ah]为单位的参数。
如果要使用电流调节、则必须根据本文中的说明配置测量仪表: https://www.ti.com/lit/an/slua792/slua792.pdf
请注意、这是针对低电流编写的、但该概念也适用于高电流/高容量电芯。
请确保系统中的实际电流与流经 bq27427 内置检测电阻的最大电流兼容(文档中的电量计是 bq27426,这是一个不带内部检测电阻的电量计)。
您无法将其设置为 10000mA 它仅限于 8000mA
您可以将其设置为 1000mA、并将电流调整为 1/10 倍。
校准仪表、以便如果施加 1A 电流、则仅测量 100mA。 为此、您可以使用校准函数、然后记下电量计计算出的 CC 增益值。
请注意,您必须相应地调整所有其他电流和容量相关参数 — 我链接的应用手册中提供了详细信息。
另请注意、不得超过内部检测电阻的最大电流。

例如、您无法在 1C 下充电或放电、因为内部检测电阻器无法处理 10000mA。 使用此电量监测计、您基本上限于长期 RMS C/5 充电/放电率。
尊敬的 Dominik:
我想澄清一下您提到的校准过程:
校准电量监测计、确保如果施加 1A 电流、则只测量 100mA。 您可以通过校准函数执行此操作、然后记下电量计计算出的 CC 增益值。“
由于我没有 EVM、因此我正在使用块命令来执行校准来读取 CC 增益 和 CC Offset RTD 电阻值。
由于这些值采用浮点格式、我是否需要将 4 字节数据转换为浮点型、然后将其除以 10 才能实现正确缩放?
请您确认这是否正确?
该电量监测计使用专有浮点格式。 请使用此电子表格举例说明如何将这些数字从十六进制转换为浮点格式: e2e.ti.com/.../6708.Float.xlsm
这是我从子类 ID:105 获得的数据
其中包含 4 和 8 偏移处的 CC 增益和 CC 增量
在这种情况下、我应该把“7F 30 6C 4D“这个 CC 增益、并使用 memcpy 转换为 float、然后乘以 0.1 并得到浮点值和 CC_GAIN、我将其转换为十六进制值、然后再次写入同一个块并写入校验和并将其关闭、IAM 询问此过程是否正确
执行此操作后、没有寄存器响应、我得到了所有损坏的值。
--Reading CC Gain 配置块-----
00 00 0B CC 7F 30 6C 4D
93 C8 BA F0 00 00 00 00
00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00
尊敬的 Dominik:
请确认我这种方法是否正确?
我可以计算 ccgain = 100mA Applied Current/ 1040mA 对于我们从 Averagecurrent () reg 报告的电流,通过计算我们得到 100/1040 = 0.0961 在十六进制,我们需要做,并写入该偏移 na ?
因此、测量仪将采用电流 1040 并通过乘以 1040*0.0961 = 100mA 进行缩放、该方法是否正确?
如果需要、我们是否还需要编写 ccdelta、如何计算?
请告诉我这个吗?
/********************************************************************************************
在线 C 编译器。
在线编码、编译、运行和调试 C 程序。
在此编辑器中编写您的代码、然后按“运行“按钮进行编译和执行。
****************************************************************************************** /
#include
#include
#include
Float convertToFloat (uint8_t xemics[4]){
INT EXPONENT =(int) xemics[0]- 128;
整数符号=(xemics[1]& 0x80)? –1:1;
uint32_t MANTISSA =((xemics[1]和 0x7F)<< 16)|(xemics[2]<< 8)|(xemics[3])| 0x800000;
//尾数隐含第 24 位位置的前 1 位 (0x800000)
浮点值=符号* ldexpf ((float) MANTISSA、EXPONENT - 24);
//–24 表示在应用指数之前将尾数缩放到小数值
返回值;
}
void floatToXemics (float 值、uint8_t * xemics){
//提取符号
整型符号=(值< 0)? 1:0;
如果(签名){
value =-value;
}
//将值标准化为[0.5、1.0) 范围、用于尾数计算
INT 指数= 0;
如果(值!= 0.0f){
Float uneralized = frexpf (value、&EXPONENT);// Value = uneralized * 2^EXPONENT、0.5 <= uneralized < 1.0
指数+= 1;//由于尾数格式与位 23 处的隐式 1 匹配、因此将指数调整+1
标准化*= 2.0f;
//计算尾数 (23 位存储在低 23 位中+隐含前导 1)
uint32_t MANTISSA =(uint32_t)((归一化 — 1.0f)*(1 << 23));
//根据格式设置字节
xemics[0]=(uint8_t)(127);//有偏置的指数
xemics[1]=(uint8_t)((符号<< 7)|(MANTISSA >> 16));//符号位+尾数的高 7 位
xemics[2]=(uint8_t)(MANTISSA >> 8);//尾数的中间 8 位
xemics[3]=(uint8_t)(MANTISSA);//尾数的低 8 位
}其他{
//处理零
xemics[0]= 0;
xemics[1]= 0;
xemics[2]= 0;
xemics[3]= 0;
}
}
int main()
{
uint8_t var[4];
UINT8_t myBytes[4]={0x7F、0xB4、0x65、0x4E};
float fValue = convertToFloat (myBytes);
printf(“%f\n",“,fValue、fValue);
//floatToXemics (val、arr);
// arr 现在包含 4 字节编码表示
floatToXemics (fValue、var);
for (int i=0;i<4;i++)
printf(“%02x",“,var[i]、var[i]);
返回 0;
}
这是根据您的计算得到值的确切副本、检查、这是正确的吗?
现在,我已经完成了所有的事情都设置,现在它报告为 1000mA 作为 100mA 在 Averagecurrent() reg .
现在请澄清上述问题我做得好的当前校准?
没有 PCB 不会发热、这主要是由于我的锥度速率造成的
在进行电流校准时、我可以设置什么是收尾速率
目前、我将其设置为 100 作为锥度速率
该时间电荷正常发生在 96%,然后它跳到 99%但仍然 Averagecurrent() 显示在 45mA 周围,这是因子值 450mA 实数
放电期间从 99%到 18%的正确减少,但突然从 18%跳到 9%也发行?
那么、我的正确锥度速率是多少?
由于我调整后的容量为 1000mA、终止电压为 3000mV、因此总充电电压为 4200mV
如果您将 Taper Rate 设置为 100、则在充电电流降至 C/10 以下并持续 80 秒时、电量监测计将检测到充电终止(并将 SOC 设置为 100%并将 VatChgTerm 更新为测量的电压)。
仪表将在放电过程中消除任何跳跃。 不应从 18%跃升至 9%。 您是否有 bqStudio 中显示此行为的寄存器日志文件、或者 UC 生成的、与时间、电流、电压、温度、SOC 等数据格式相关的寄存器日志文件? 已过滤 RM、已过滤 FCC、未过滤 RM、未过滤 FCC?
目前我只拥有由 remcap 和 FCC 组成的日志文件,我需要捕获它。
您能回答一下这个问题吗
这一个问题请回答吗? 这是不是导致不达到 100%和轻微跳跃?
这种方法是否正确?
设计容量是电芯的标称容量。 SOC = 100%* RM/FCC。 Rm 是放电仿真和库仑计数的结果。 FCC 是负载降至终止电压以下时从有效充电终止到电芯电压的完全充电容量。 它们与设计容量不同(在高温,新电芯,低负载下可能更高,在低温,老化电芯和高负载下可能更低)。
如果电量监测计从未达到 100%、则电量监测计不会检测到有效充电终止(这是 Taper Rate 用于的地方 — 它是 0.1 HR 速率、这意味着必须将 C 率乘以 10。 例如、如果您使用 10000mA 单元格、并且对电流使用 10 倍缩放、则使用 Design Capacity = 1000mA 如果充电停止时的收尾电流是 1000mA 的实际电流和 100mA 的调节电流 、则 对于恒压速率、这相当于 C/10 (10000mA / 10h = 1000mA) 或 100。 但是、您应该将收尾电流的恒压速率设置为比充电停止时高 15%。 因此、对于 1000mA 收尾电流、请使用 1150mA、它转化为 115mA 缩放和恒压速率为 87。