大家好、
我正在开发 BMS、其中使用 Arduino Mega 作为主机微控制器、并使用两块 BQ76PL455EVM 板监控26节电池。
我使用的是默认采样配置(第一个值的采样时间为60us、每个子方值的采样时间为12us、平均8个样本)、我请求 EVM 板在请求 EVM 向我发送存储的数据之前、对电压进行采样、采样时间刚好低于200ms。 这是 Arduino 与堆栈底部的板之间的一个 UART 通信周期(第一列是以 ms 为单位的时间)
1859 92 0 14 1D FF B0 C9
188392 1 14 7 FF BA 55
1907 F1 2 0 50 93
2095 81 0 2 20 28 84
2123 23 C6 DC C4 B7 BF C1 BE BF D0 70 C4 B7 C5 6 C4 D6 C4 EF C4 E1 C4 F1 C4 E9 C4 E9 C2 E7 86 6F 86 61 86 77 86 13 8E 79
2153 81 1 2 20 79 44
2177 17 C6 D1 C4 15 C4 C3 C4 C4 C4 C4 C4 C4 BC C4 CD C4 C0 C4 C4 C4 BA C4 C4 C4 C4 CB C2 B8 EE 8
现在、问题是、当我将 EVM 板连接到计算机并开始平衡随机电池时、值仅略有变化、但当我使用 Arduino 执行此操作时。 如下图所示、电池电压读数波动超过200mV、这使得电路板有点无用。
[img]i.imgur.com/.../img]
我已经检查了 TI 的 GUI 和 EVM 板之间的通信、以查看它们是否在采样前或任何情况下停止平衡、我发现没有什么值得注意的、除了它们在请求采样后仅等待大约20ms 以请求数据。
我还注意到、它们每500ms 更新一次数据、而我大约每330ms 更新一次(我认为这并不重要)。
89 00 00 14 01 13 1F
01 00 24 51 D8
F9 00 02 00 31 FC
03 FF 00 44 24
89 00 00 03 03 9D 2E
89 00 00 02 20 DD 67
1F 00 61 00 6F C4 E8 C4 F4 C5 6D C4 E9 C4 F2 C6 EF C2 C1 C5 12 C6 F3 C2 BB C5 20 C4 F5 AE 81
89 00 00 03 03 9D 2E
03 FF 00 44 24
89 00 00 51 00 E0 4F
00 80 01 A0
89 00 00 52 01 21 2F
01 08 80 57 A0
89 00 00 60 00 F5 DF
00 00 00 00 00
89 00 00 61 01 35 8F
01 80 00 30 00
89 00 00 5E 01 24 7F
01 00 00 51 C0
89 00 00 56 01 23 BF
01 00 00 51 C0
89 00 00 54 01 22 DF
01 00 00 51 C0
89 00 00 58 01 27 DF
01 00 00 51 C0
89 00 00 5C 01 25 1F
01 00 00 51 C0
89 00 00 5A 01 26 BF
01 C0 00 01 C0
89 00 63 00 F5 2F
00 00 00 00 00
89 00 00 14 01 13 1F
01 00 24 51 D8
F9 00 02 00 31 FC
89 00 00 03 03 9D 2E
03 FF 00 44 24
89 00 00 02 20 DD 67
1F <-下一个答案!
是的、有人能帮我吗?