A method of charging or discharging a plurality of battery packs, each connectable in parallel to a bus by a respective contactor, the method comprising: a. identifying a battery pack having a lowest or highest voltage of the plurality of battery packs; b. closing the contactor of the lowest or highest voltage battery pack; c. measuring a voltage of a battery pack selected from the plurality of battery packs; d. determining a difference between the voltage of the lowest or highest voltage battery pack and the voltage of the selected battery pack; e. comparing the difference to a predetermined maximum acceptable voltage differential value; f. closing the contactor of the selected battery pack if the difference is less than or equal to the maximum acceptable voltage differential value; g. repeating steps c. through f. until each of the battery packs has been compared to the lowest or highest voltage battery pack; h. charging or discharging the battery packs with closed contactors by providing a charge or discharge current; i. selecting a battery pack with an open contactor from the plurality of battery packs; j. determining a difference between a voltage of the selected battery pack with an open contactor and a voltage of a battery pack that was charged or discharged in step h.; k. comparing the difference to the predetermined maximum acceptable voltage differential value; l. closing the contactor of the selected battery pack if the difference is less than or equal to the maximum acceptable voltage differential value; m. repeating steps i. through 1. until a voltage of each battery pack with an open contactor has been compared to the voltage of the battery pack that was charged or discharged in step h.; n. charging or discharging the battery packs with closed contactors by providing a charge or discharge current; and o. stopping charging or discharging once all battery packs in the plurality of battery packs are completely charged or discharged. a. identifying a battery pack having a lowest or highest voltage of the plurality of battery packs; b. closing the contactor of the lowest or highest voltage battery pack; c. measuring a voltage of a battery pack selected from the plurality of battery packs; d. determining a difference between the voltage of the lowest or highest voltage battery pack and the voltage of the selected battery pack; e. comparing the difference to a predetermined maximum acceptable voltage differential value; f. closing the contactor of the selected battery pack if the difference is less than or equal to the maximum acceptable voltage differential value; g. repeating steps c. through f. until each of the battery packs has been compared to the lowest or highest voltage battery pack; h. charging or discharging the battery packs with closed contactors by providing a charge or discharge current; i. selecting a battery pack with an open contactor from the plurality of battery packs; j. determining a difference between a voltage of the selected battery pack with an open contactor and a voltage of a battery pack that was charged or discharged in step h.; k. comparing the difference to the predetermined maximum acceptable voltage differential value; l. closing the contactor of the selected battery pack if the difference is less than or equal to the maximum acceptable voltage differential value; m. repeating steps i. through 1. until a voltage of each battery pack with an open contactor has been compared to the voltage of the battery pack that was charged or discharged in step h.; n. charging or discharging the battery packs with closed contactors by providing a charge or discharge current; and o. stopping charging or discharging once all battery packs in the plurality of battery packs are completely charged or discharged.