Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/becem-gharbi/battery-energy-monitor
A device that records voltage and current of a battery over time
https://github.com/becem-gharbi/battery-energy-monitor
battery-monitor esp8266
Last synced: 27 days ago
JSON representation
A device that records voltage and current of a battery over time
- Host: GitHub
- URL: https://github.com/becem-gharbi/battery-energy-monitor
- Owner: becem-gharbi
- Created: 2023-05-01T10:09:50.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-01-05T06:31:10.000Z (10 months ago)
- Last Synced: 2024-01-05T07:32:47.895Z (10 months ago)
- Topics: battery-monitor, esp8266
- Language: Vue
- Homepage: https://ss-bem.vercel.app
- Size: 14.4 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# Battery Energy monitor
An embedded device that periodically reads a battery voltage and current through shunt resistor. Then saves the measurement to a Micro SD card. The output files can further be uploaded to a web app which displays the current, voltage and power graphs interactively.
## Hardware
- Microcontroller ESP8266 E12 module
- Analog multiplexing using CD4053
- Voltage sensing up to 84V
- Bidirectional current sensing up to 27A
- Analog filtering & buffering using LM348 opamp
- RTC using DS1302
- Designed with Proteus v8.12## Firmware
- Platform espressif8266
- Framework arduino
- IDE Platform IO## Web app
- Built with Nuxt 3
- Interactive charts via Highcharts library
- UI components based on NaiveUI library
- UI utilities via Tailwindcss## Settings
The device can be setup via `settings.json` file, which should be placed and read from SD card.
| Field | Value | Notes |
| ------------- | -------------------------------------------------- | -------------------------------------- |
| debug | Enable firmware debugging | Should be set to 0 on production |
| sampleRate | The rate of analog reading in ms | Should be larger than 300ms |
| savingRate | The rate of writing to SD card in ms | Should be larger than sampleRate |
| currentGain | The gain by which the analog reading is multiplied | Emperical or by calibration calculator |
| currentOffset | The offset by which the analog reading is biased | Emperical or by calibration calculator |
| voltageGain | The gain by which the analog reading is multiplied | Emperical or by calibration calculator |
| voltageOffset | The offset by which the analog reading is biased | Emperical or by calibration calculator |## Notes
- The design of analog circuits is based on TI notes located under `/documents`.
- For components dimensioning refer to `Calibration.xlsx` sheet.
- The functioning of the circuit is supposed to be linear. Saturation should be taken into consideration, e.g LM358 output is saturated around 3.6V on 5V supply voltage.
- ESP8266's ADC transfer function should be defined empirically for precise measurement.
- The folder `battery_energy_monitor` located under `Place content inside in SD` should be placed at the root directory of the SD card. Then should be uploaded to the web app.