Skip to content

Releases: dalathegreat/Battery-Emulator

v6.0.0

02 Jun 18:43
1600cec
Compare
Choose a tag to compare

What's Changed ❔

This is a Major release, which requires user action to take into use. The main driver for this release is to get ESP32 v3.0.0 support. Safety has also been increased significantly, with the inclusion of a dedicated Safety code section (Safety.cpp), which performs safety checks every 5 seconds. A significant amount of new safeties and info events have been added to the emulator! 🥳

Taking 6.X.X into use ℹ️

When compiling this latest version, you need to update the ESP32 package by Espressif System, in the Arduino IDE, to the latest v3.0.0 , failure to do this will result in compilation errors. This is the spot:

bild

Batteries 🔋

  • Nissan LEAF: Fixed an issue causing automatic contactor closing to not always work, by @dalathegreat in #328
  • CHAdeMO support is staging towards stable and ready for testing. Excellent progress made by @smaresca :
    • Rework CHAdeMO support to more fully implement standard by @smaresca in #304
    • Add SimpleISA library for use in measuring current/voltage when using CHAdeMO by @smaresca in #303
    • Improvement - CHAdeMO: Add measured current and voltage via IVT Shunt by @smaresca in #311
  • Added skeleton for MG5 battery integration by @dalathegreat in #319
  • BMW i3: Remove obsolete codeblocks, by @smaresca in #294
  • Kia/Hundai, Make 12V default value reasonable by @dalathegreat in #331

Inverters ⚡

  • BYD Modbus: Added info event incase we don't see any Modbus activity. This helps new users troubleshoot wiring, by @dalathegreat in #305
  • All inverters: Added info event for when inverter exceeds battert limits, by @dalathegreat in #313
  • Tweaked fully charged event, so it does not continously trigger when battery is full, by @amarofarinha in #329

Connectivity 🛜

  • Wifi stability improved, by @dalathegreat in #314
  • Fixed an issue with CAN-FD getting stuck on startup , by @kukumagi in #317
  • MQTT:
    • Prevent MQTT to publish cell voltage values before they are populated by @amarofarinha in #321
    • Nissan LEAF : Only update cellvoltages after all cells have been sampled, by @amarofarinha in #324

Housekeeping 🧹

Hardware 💻

New Contributors

Full Changelog: v5.10.0...v6.0.RC

v6.0.RC

29 May 21:34
ccec28a
Compare
Choose a tag to compare
v6.0.RC Pre-release
Pre-release

What's Changed ❔

This is a Major release, which requires user action to take into use. The main driver for this release is to get ESP32 v3.0.0 support. Safety has also been increased significantly, with the inclusion of a dedicated Safety code section (Safety.cpp), which performs safety checks every 5 seconds. A significant amount of new safeties and info events have been added to the emulator! 🥳

Taking 6.X.X into use ℹ️

When compiling this latest version, you need to update the ESP32 package by Espressif System, in the Arduino IDE, to the latest v3.0.0 , failure to do this will result in compilation errors. This is the spot:

bild

Batteries 🔋

  • Nissan LEAF: Fixed an issue causing automatic contactor closing to not always work, by @dalathegreat in #328
  • CHAdeMO support is getting improved. Not marked as stable yet, but excellent progress made:
    • Rework CHAdeMO support to more fully implement standard by @smaresca in #304
    • Add SimpleISA library for use in measuring current/voltage when using CHAdeMO by @smaresca in #303
  • Added skeleton for MG5 battery integration by @dalathegreat in #319
  • BMW i3: Remove obsolete codeblocks, by @smaresca in #294

Inverters ⚡

  • BYD Modbus: Added info event incase we don't see any Modbus activity. This helps new users troubleshoot wiring, by @dalathegreat in #305
  • All inverters: Added info event for when inverter exceeds battert limits, by @dalathegreat in #313

Connectivity 🛜

  • Wifi stability improved, by @dalathegreat in #314
  • Fixed an issue with CAN-FD getting stuck on startup , by @kukumagi in #317
  • MQTT:
    • Prevent MQTT to publish cell voltage values before they are populated by @amarofarinha in #321
    • Nissan LEAF : Only update cellvoltages after all cells have been sampled, by @amarofarinha in #324

Housekeeping 🧹

Hardware 💻

New Contributors

Full Changelog: v5.10.0...v6.0.RC

v5.10.0

13 May 17:59
41c54c3
Compare
Choose a tag to compare

What's Changed

Batteries

  • Renault Kangoo: Rescale SOC, Current and Power values by @dalathegreat in #218
  • Kia/Hyundai E-GMP: Better cellvoltage handling by @JorgenSeemann in #282
  • BMW i3: Less likely to go into FAULT incase it hasn't had time to read cellvoltages by @odlg in #299
  • All batteries: Added CAN-FD USB printout for easier debugging by @kukumagi in #289

Inverters

New Contributors

Full Changelog: v5.9.0...v5.10.0

v5.9.0

01 May 18:59
14432dc
Compare
Choose a tag to compare

What's Changed

This release focuses on getting Double LilyGo setups working again. The last version that this feature worked in was 5.5.0. This release also fixes some small bugs and adds minor features.

Batteries

  • BMW i3: Added cellvoltage safeties and pack size autodetect by @dalathegreat in #279

Inverters

  • Feature: Add Event when automatic contactor opening happens by @dalathegreat in #271
  • Bugfix: Serial-link (Double LilyGo) now works again by @Cabooman in #283

Housekeeping

Full Changelog: v5.8.0...v5.9.0

v5.8.0

25 Apr 17:45
97d6a27
Compare
Choose a tag to compare

What's Changed

This version adds initial support for Pylon 🔋 batteries. It also contains many bugfixes and improvements for different battery types. This version also introduces a datalayer, to make future development easier! ⚡

Batteries

  • Support for new battery! Pylon 🔋 #265
  • Kia/Hyundai64: Battery max charge/discharge values are now read from CAN instead of estimated. This increases safety significantly when using these batteries, #259
  • Kia/Hyundai64: Improved startup reliability. We wait until battery is turned ON before starting to send CAN messages towards it, #264
  • Nissan LEAF: Three new events added (EVENT_BATTERY_CAUTION, EVENT_BATTERY_REQUESTS_HEAT and EVENT_BATTERY_WARMED_UP). This alerts users incase the battery does something out of the ordinary #257
  • BMW i3: Two new events added, we now alert the user incase high voltage interlock not seated / Capacitor missing on HV side. This simplifies troubleshooting #267
  • Fixed an issue causing E-GMP batteries not to compile #258

Inverters

  • Fixed an issue where if an inverter would switch to 250kbps instead of 500kbps, it would halt the emulator for 2seconds. The board now recovers in 20ms incase it encounters a baud rate switch #260

Housekeeping

  • Refactoring: Introduced datalayer and move events to background task by @Cabooman #254
  • Bugfix: Make faulted LED solid red again 🔴 #263
  • Cleanup: Removed unnecessary USB debug messages #255
  • Cleanup: Removed images from the code repository. All images are now hosted on Github Wiki to save space, makes the .zip file 14 MB smaller #256
  • Regression in SERIAL-LINK-RECEIVER #269
  • Improvement: SERIAL-LINK-RECEIVER added to workflow #270

Contributors

@Cabooman @smaresca @kukumagi @dalathegreat

Full Changelog: v5.7.1...v5.8.0

v5.7.1

14 Apr 19:07
dcd0ebd
Compare
Choose a tag to compare

What's Changed

This is a "minor" release, that focuses on performance improvements, bugfixes and some new functionality!

Batteries

New Features

  • The board can now output CAN messages via USB Serial, for easier debugging by @dalathegreat in #248
  • Improved LED handling - CLASSIC, FLOW and HEARTBEAT animations with lower frequency (50ms). These can be set via system_settings.h file, default is now FLOW
  • Implementation of micro seconds timing macros for debugging performance - displayed in the web UI if enabled via USER_SETTINGS.h file ( FUNCTION_TIME_MEASUREMENT )

bild

Housekeeping

  • Add platformio serial logging by @kukumagi in #251
  • Refactoring: Scalability and performance by @Cabooman in #252
  • Introduction of a rudimentary hardware abstraction layer (HAL) to handle other boards
  • Untangling of settings - config.h and various other settings have moved to any of: system_settings.h hw_lilygo.h or related implementation files (e.g. WUP_PIN -> BMW i3, for now)
  • MQTT handling moved to its own task with slightly lower priority
  • Include handling improved, most files can now include "src/include.h" to get the central settings/definitions
  • An initial data layer is introduced in a moderate fashion, for Nissan Leaf power values and time measurements
  • Mapping functions supporting mapping of some value in one range to the corresponding value in a different range
  • Slightly improved compilation times by having preprocessor conditions on inverter code and charger code

Full Changelog: v5.7.0...v5.7.1

v5.7.0

08 Apr 18:38
9ec0882
Compare
Choose a tag to compare

What's Changed

This version of the emulator adds two large new features.

bild

Housekeeping

Batteries

New Contributors

Full Changelog: v5.6.0...v5.7.0

v5.6.0

30 Mar 21:42
21c42c4
Compare
Choose a tag to compare

What's Changed

Massive efforts have been made to reduce CPU load drastically in this version, to improve CAN sending reliability and timing. Some users noticed that BMW i3 batteries opened contactors when Modbus requests were coming in, causing 10ms periodic messages to get delayed to 200ms. This is unacceptable for an embedded realtime system. This new version not only lowers CPU usage, but also warns the user via Events incase the sending of CAN messages start to get delayed.

317531654-444c20b1-c2bf-45ff-8e0c-cc180169ddcc

Housekeeping

  • Bugfix: Update libraries used by the project
    • Updated eModbus to v1.7.1stable
    • Updated ArduinoJSON to v7.0.4
    • Updated ElegantOTA to v3.1.1
  • Autoupdate of the pre-commit configuration
  • CPU load improvements:
    • Event added for notifing users incase CAN message timing starts to be affected
    • Mainloop now runs as background task with same priority as modbus
    • Webserver loads 30% faster
    • Pressing "Event" button in webserver caused the sending of 10ms CAN messages to skyrocket to 185ms. This is now fixed

Inverters

  • Bugfix: Solax inverters no longer get stuck with open contactors at 0%SOC
    • Inverter contactor opening changed from Error -> Info event
    • CAN interface is now restarted incase Solax has timed out

Batteries

  • Triplet battery:
    • Cellvoltages now mapped to the global array, and can be viewed in webserver cellvoltage view
    • Temperature values scaled correctly
    • Revised safety limits for under/overvoltage
  • BMW i3 battery:
    • Current value now scaled correctly
    • Power value now calculated correctly
    • Fixed an issue where max allowed charge/discharge would overflow
    • Fixed an issue where CRC check would always complain about 2BD message being broken

New Contributors

  • @odlg made their first contribution in #236

Full Changelog: v5.5.0...v5.6.0

v5.5.0

16 Mar 19:34
c2f8d5d
Compare
Choose a tag to compare

What's Changed

This release adds support for BMW i3 batteries. Massive thanks to odlg over on the Discord server for testing and logging! by @dalathegreat in #224

Batteries

  • New batteries supported:
    • BMW i3 60AH (2014 - 2016) ✅
    • BMW i3 94AH (2017 - 2018) ✅
    • BMW i3 120AH (2019 - 2022) ✅
  • Tesla: The code autodetects incase you have an LFP battery, but the detection method can take up to 5minutes. Incase you want to speed this up for additional safety, it's now possible to define LFP_CHEMISTRY in the TESLA-MODEL-3-BATTERY.h file @dalathegreat in #216
  • Kona 40kWh batteries now have functional cellvoltageview @dalathegreat in #213
  • Kia/Hyundai: Current value now signed right way, webserver no longer shows discharging while charging, and vice versa. By @dalathegreat in #217

Inverters

  • BYD CAN: Swap discharge/charge limits in CAN mapping. This fixes Sungrow inverters limiting charge incorrectly, by @dalathegreat in #215

Connectivity

New Contributors

Full Changelog: v5.4.0...v5.5.0

v5.4.0

03 Mar 19:11
c6a98a9
Compare
Choose a tag to compare

What's Changed

This version adds support for Volvo SPA / Polestar batteries. Massive thanks to niclashedlund over on the Discord server for this amazing work 🙌

Batteries

Webserver

Full Changelog: v5.3.0...v5.4.0