Battery Monitoring Basic

A basic battery monitor based on embedded board and analog reads

This is a very basic battery monitor using only the voltage to estimate SOC etc

Temporary location, water resistant, mounted using 2 screws from tank lid

What it does

  • Read, log and display voltage
  • Trips - keep voltage at start and end of each trip
  • Calculations
    • Display current voltage, averages
    • estimated SOC (based on past data)
  • SD Card
    • Log data - for reprocessing the SOC calculations etc
    • Start and end Voltage for each trip
  • WiFi
    • Automatic upload data on reconnect
    • Remote update (OTA programming)

Electronics

Basic embedded board with an OLED display - probably not readable in daylight, but a good start. Board I have in mind has USB-C input so we can run it directly off the 5V USB port on the bike.

The Voltage measurement is a basic resistor divider with protection for spikes. These are not great accuracy over temperature range etc. However since we are only measuring 60 to 84 volts - I strongly suspect I’ll be able to calibrate it to the nearest decivolt (10th of a volt, e.g. 72.7 volts)

Inputs

Fully automatic when you turn on the bike. Also allow a single button to reset too.

Second button to do with uplaods and WiFi connect.

Mounting and Battery Connect

Start simple. Mount directly on a USB cable plugin (boards are very light and easy to connect). Using the unused charge port on the bike, to easily access the battery voltage. Add a plug there that routes the wires up to the front.

Calculations and Display

  • Current - a floating average, maybe once a seconnd, or every 5 seconds
  • 30 Second average - the last 30 seconds, I have a feeling this is going to be very useful. The number might change, might be 10, or 60 seconds. We may even want to put up 2 or 3 averages - 10 second, 30 second, 60 second, 300 seconnd….
  • Start Voltage - really useful for logging - did we start fully charged
  • End Voltage
  • SOC: State of charge, and estimates minutes and km left depends of course on a recent average, e.g. last 30 seconds riding similar would give X amount. The actual calculations are going to be a little fuzzy to start with. Using the log I will do my own calculations offline based on where I think the bike ended at. This can be tweaked over time, and even self adjusted based on the steady state of the end voltage.

Now

It calculates the voltage, 30 second average, but no SOC etc. Adding some SOC and logging soon.

Future

See Range Monitor project for next version. Basically it adds a GPS and will capture the accelerometer data too and possibly some temperature sensors.