Bachelor thesis · 2023
Battery Cell Simulator GUI
Custom Python GUI interface to interact with a propriatary battery cell simulator apparatus via CAN.
- Role
- Software development, measurements and lab work
- Year
- 2023
- Tools
- Python, MATLAB
Abstract
A crucial component for electrically powered vehicles is their energy storage, which consists of lithium-ion accumulators. With the increasing spread of electric vehicles, the demand for efficient and reliable battery management systems (BMS) is growing. Currently, a BMS chip is in the development phase at Infineon Technologies Austria AG, which is verified using a specially adapted validation and test setup that relies on battery cell simulation to emulate physical battery cells. This thesis deals with the integration of a new battery cell simulator (BCS) from a company called Comemso into the existing test environment.
This thesis investigates the performance of the 6-cell battery cell simulator in the current test setup and the new BCS consisting of 48 cells. Furthermore, a meticulous examination is conducted on the system to be integrated into the validation environment. A functional CAN communication is implemented via a USB to CAN adapter. The last chapter focuses on the implementation of a low-level Python software interface, which allows a non-real-time CAN communication between a Windows PC and the Comemso BCS in a user-friendly way. This software solution, implemented as a graphical user interface, allows the user to make any settings, such as changing cell output voltages or generating fault emulations, on the battery cell simulator.
Measurements
A significant part of this thesis was the performance determination of the two existing battery cell simulators. Using custom MATLAB scripts, stability and noise levels were investigated across different voltage levels by doing multi-hour measurements.
Little documenation of the hardware resulted in hands-on decoding of the proprietary CAN message using a DSO, while creating a cohesive documentation in the process.

The Prototype
The user should have the option to change each single setting of the BCS system. The challenge was to keep the interface uncluttered and intuitive, yet provide all the available settings. The interface was done using Python due to the simple integration into the existing codebase. The final prototype showed a simple 3-panel design, resembling an F-shape pattern and following the intended workflow of the system: initialization, voltage setting and feedback from the device.
Featuring UI customization options, user error mitigation and intuitive UI controls, the final prototype enables a reliable and fast option to interact with the Comemso BCS system.

