stuartpittaway / diyBMSv4ESP32

diyBMS v4 code for the ESP32 and new controller hardware
Other
181 stars 80 forks source link

Enhancement Proposal: Internal BMS Error Handling for Enhanced Safety #269

Open lorenzo6201 opened 8 months ago

lorenzo6201 commented 8 months ago

I also identified a critical aspect that requires immediate attention for the sake of system safety and reliability. The concern pertains to the handling of Internal BMS Errors, specifically when multiple controllers are employed in parallel.

Issue Description: Currently, when an Internal BMS Error is triggered, the master relay disconnects, and the controller is disabled until fault is cleared by itself . However, in scenarios where the fault is intermittent and self-resolves, the master relay is reconnected, potentially leading to adverse consequences.

Suggested Enhancement: To address this safety vulnerability, I propose the implementation of the following measure:

Emergency Rule Activation:

When the Internal BMS Error is triggered, the system should enter an emergency state, disabling the controller until user intervention. Activation of the emergency rule ensures that even if the fault clears itself, the controller remains disabled until the user actively addresses the situation. Rationale: The urgency of this enhancement stems from the potential risks associated with multiple controllers operating in parallel. Without this intervention, a scenario could unfold where one controller encounters an Internal BMS Error, resulting in a prolonged master relay disconnection. Subsequent reconnection could lead to significant voltage differences, causing high charge/discharge currents, overheating of cells, cables, contacts, and battery terminals.

Considering that not all users may have an emergency shutdown button installed, and relying solely on user intervention is impractical, the proposed Emergency Rule Activation serves as a crucial fail-safe mechanism to prevent catastrophic events.

Bingo2023 commented 8 months ago

has some similarity to what I proposed some time ago: https://github.com/stuartpittaway/diyBMSv4ESP32/issues/199