0

我是一名嵌入式软件工程师,我有一个定制的电源板。它上面有一个英飞凌的xmc1400 mcu。在许多其他职责中,它会在必要时为电池充电。这些电池很智能。所以可以通过smbus进行通信。我通过使用 MCU 的 pwm 输出设置充电电流。其余的由板子处理,我没有足够的关于硬件结构的信息。还有连接到电池和充电器线路的 ADC 通道。所以我可以监控电池电压、施加的充电电流和实际消耗的电流。我的问题是关于停止充电条件。我用 2A 给它们充电,当汲取的电流降至 0.3A 以下时,我停止充电。我还从 smbus 读取充电率,它在充电电流下降前至少 10 15 分钟显示 %100。也许这是一个更准确的比率,因为它来自电池本身。因此,如您所见,有两种可能的方法可以了解何时停止充电。我得选一个。两者各有利弊,但我想知道其他人是如何做到的。顺便说一句,要知道,我阅读 smbus 仅用于诊断目的,我不信任它 %100,因为我看到有时我在没有理由的情况下无法阅读任何内容(仅发生了收费时间,但仍然......) . 这就是我使用第一种方式编写代码的原因。第一种方法的问题是这样的;如果电池出现问题,则汲取的电流永远不会低于限制。而且我从不停止充电。如果没有人知道电池有故障,这种方法可能会长期造成伤害。(这曾经发生过,所以我现在正在尝试采取预防措施)我想出了这个解决方案,也许我可以同时控制它们。我将保持一切不变,但增加一个控制。如果 smbus 读数已充电 %100,我将开始某个倒计时并停止充电,即使消耗的电流没有下降。因此,如果电池出现故障,也不会造成伤害。但是,如果 smbus 不起作用,这当然不包括这种情况..

无论如何,这些都是我的担忧。我想让这个系统变得更好,但我不想过度设计它。这就是为什么我想知道其他做法。

在此先感谢,伊佩克

4

0 回答 0