-
Notifications
You must be signed in to change notification settings - Fork 988
Battery
Most of the Hoverboard mainboards use a 10S2P LIPO Batteries (36v Nominal - 42v Charged ).
If you want to use a battery with less or more cells in series, change BAT_CELLS parameter in config.h (10 by default).
Batteries up to 12S have been used safely in the community, but do it at your own risk.
You can charge the battery through the mainboard pcb or connect the battery directly to the charger through a custom xt60 adapter.
Default battery level are for safe use of LIPO batteries.
You can adjust the levels to your needs in config.h if you want to use a battery with a different chemistry.
Level | Single Cell Voltage | Sideboard Led | Alert | Enable Parameter |
Ajust Parameter |
---|---|---|---|---|---|
LVL5 | 3.9v | Green blink | BAT_LVL5 | ||
LVL4 | 3.8v | Yellow | BAT_LVL4 | ||
LVL3 | 3.7v | Yellow blink | BAT_LVL3 | ||
LVL2 | 3.6v | Red | Slow beeps | BAT_LVL2_ENABLE | BAT_LVL2 |
LVL1 | 3.5v | Red Blink | Fast beeps | BAT_LVL1_ENABLE | BAT_LVL1 |
DEAD | 3.37v | Power Off | BAT_DEAD_ENABLE |
BAT_LVL1_ENABLE and BAT_DEAD_ENABLE are enabled by default, you can disable it by making it 0 in the config.h file.
The board will automatically power off after approximatively 8 minutes of inactivity by default.
The counter is reset if commands or cruise target are below -30 or above 30.
Parameter INACTIVITY_TIMEOUT can be used to set up the number of minutes of inactivity before power off. It is not very precise.
Battery voltage has to be calibrated to have a more accurate reading, for this you need Debug Serial to be active
- Measure battery voltage with a multimeter and write the value * 100 to parameter BAT_CALIB_REAL_VOLTAGE in config.h
- Turn the board on and wait a minute for the Battery ADC to stabilize
- Read value BatAdc(5) from Debug Serial Output and write it to parameter BAT_CALIB_ADC in config.h
- Save, compile and flash the board
- Value BatV(6) in Debug Serial should match with the measured battery voltage now
If the board is beeping because of low battery level or turning off with the melody
- Make sure you have updated the number of cells in config.h if you use a battery with less cells in series
- Calibrate the battery voltage
- With a battery of low quality/bad health, pulling a lot of current will result in a big battery voltage drop and trigger battery low alerts. You can use a better battery or several similar batteries in parallel
- Reducing the battery low levels can help but going too low can be risky for your battery
- You can limit the current being drawn to reduce the voltage drop but you will also reduce the power
- Debug Serial can be used to monitor battery voltage
You can turn off the battery dead power off with BAT_DEAD_ENABLE parameter for debugging.
If the board turns off without the melody, the BMS is shutting the power off
- You are drawing too much current which triggers the over-discharge protection of your BMW. You can limit the current but you will reduce the power
- It can happen if your battery is fully charged and too much current is flowing back (regenerative braking), it can trigger overcharge protection of your BMS
- When using phase advance/field weakening and braking, a voltage higher than the battery voltage can flow back to the battery and trigger the over-voltage protection of your BMS
You will have to unplug the battery and plug it again