This paper presents the design and implementation of an advanced battery management system (BMS). The basic concept is to divide each series battery array into sub-arrays where each battery is individually monitored and managed. The proposed BMS continuously monitors the voltage, current, and energy of each battery. Based on these measurements, the BMS can calculate individual state of charge (SoC) levels and C-rates. Furthermore, the system has the capability to isolate each individual battery to apply different charging profiles and advanced diagnostics to detect the correct problems. Pulsed charging is deployed using different duty cycles for SoC balancing. The isolated battery is bypassed to maintain uninterrupted supply to the load despite reduced series array voltage. An unidirectional dc-dc boost converter maintains a constant output voltage level to the load, regardless of the number of batteries connected, until the problem is corrected. A hardware implementation of the proposed BMS is explained in detail. The performance of the system is tested experimentally under different loading conditions, including heavy pulsed loads. |