Skip to content

New firmware operation

David Pye edited this page Aug 19, 2023 · 16 revisions

Startup and sleep

When the pack wakes from sleep, it'll briefly light all the lights in sequence, and then turn them off again. After 60 seconds with no events (ie trigger, plugging in charger, the pack will replay the same light sequence, and return to sleep mode where it consumes a minimal standby current.

Operation

When in operation, the pack will display the battery segments indicating current pack voltage. These will tend to be less than full, reflecting how the voltage sags under load. Eventually, when coulomb charge counter use is implemented, battery capacity will be more accurate.

Voltages:

  • Low segment: on

  • Medium segment: on if battery pack voltage >27.65V

  • High segment: illuminated if pack voltage > 28.5V

The pack will stop discharging and go back to Standby state if trigger is released.

The pack will stop discharging and display an error code if it is no longer safe to discharge.

This will occur if any cell voltages hit 2.5V or less.

Charging

When the pack is charging, the segments will illuminate in sequence to indicate the pack voltage.

  • Low segment flashing: Pack voltage < 27.65V

  • Medium segment flashing: Pack voltage >27.65V, < 28.5V

  • High segment flashing: Pack voltage >28.5v

Once the highest cell in the pack hits 4.15V, the pack will pause charging for 30 seconds and then resume charging if the cell voltages have stabilised <4.15V. After 20 pauses in total, charging will be terminated. NB: Clearly, this means that if cells are significantly out of balance, pack capacity will be reduced.

If the charger is disconnected while charging is in progress, a series of brief red flashes will show if the pack is out of balance. If no red flashes show, the pack is well balanced, with highest and lowest cell voltage within 50mV of each other. Each red flash (if shown) indcates a 50mV difference between highest and lowest cell voltages.

Once charging is terminated, the pack will display the startup/shutdown LED sequence, and go to sleep mode. Charging will not restart again unless the charger is removed and reconnected.

Error codes

If there's an error while charging or discharging, an error code sequence will be displayed by the red LED. You can work out the error by the number of red flashes:

Number of red flashes and their meaning:

  1. BMS_ERR_PACK_OVERTEMP Pack thermistor reading exceeded MAX_PACK_TEMPERATURE - default 60'C
  2. BMS_ERR_PACK_UNDERTEMP Pack is below -40 if attempting discharge, or -0 if attempting charge.
  3. BMS_ERR_CELL_FAIL A cell voltage is below 2V, so the pack will not attempt to charge or discharge, until it is replaced (or manually charged with a LiIon charger/PSU)
  4. BMS_ERR_SHORTCIRCUIT BMS detected short circuit
  5. BMS_ERR_OVERCURRENT BMS detected overcurrent fault
  6. BMS_ERR_UNDERVOLTAGE BMS detected undervoltage state
  7. BMS_ERR_OVERVOLTAGE BMS detected overvoltage state
  8. BMS_ERR_I2C_FAIL Unable to talk to the BQ7693 IC - probably fatal hardware error.

Releasing the trigger, or unplugging the charger, will clear the error.

Clone this wiki locally