⚡ TLE9018 Master BMS - Production-Grade Dual Scope Control
An advanced multi-node desktop monitoring, cell balancing, and telemetry control interface built in Python for the Infineon TLE9018DQK 18-channel Li-ion Battery Monitoring and Balancing IC.
The software connects to daisy-chained Cell Supervision Circuits (CSCs) via high-speed isoUART (2 MBaud) through a TLE9015DQU transceiver bridge. It features an interactive CLI setup stage for dynamic COM port selection and NTC thermistor profiling, real-time 18-cell PCVM voltage acquisition, individual cell balancing control, and live 5-channel temperature tracking using a PyQt5/PyQtGraph dashboard.
📸 Interface Preview & Key Features
- Dynamic COM Port Detection: Automatically scans available system serial ports during CLI startup, eliminating hardcoded port dependencies (
COM9, etc.). - Multi-Node Auto-Enumeration: Supports daisy-chained setups of 1 to 8 TLE9018 sensing ICs with automated
IF_CFG(0xC0) final-node (FN) assignment. - Dynamic NTC Hardware Footprint Configuration: Interactive terminal setup allowing on-the-fly bias current mapping (
INTC) for mixed 10 kΩ and 100 kΩ thermistor channels. - Synchronous 18-Cell PCVM Monitoring: 16-bit high-resolution cell voltage scanning using official partition masks (
PART_CFG_0/1). - Interactive Passive Balancing Engine: Instant bitmask translation for registers
BAL_CTRL_0(0xE6) andBAL_CTRL_1(0xE7) across individual board targets. - Hardware-Calculated NTC Telemetry: Direct decoding of
EXT_TEMP_0..4(0x5E–0x62) combining 10-bit ADC codes with 3-bit exponential current scaling indices (INTC). - Non-Blocking Multi-Threaded GUI: Asynchronous serial I/O running in an independent background worker thread using queues (
_PLOT_QUEUE,_COMMAND_QUEUE) to prevent PyQt UI freezes.
📐 System Hardware & Electrical Specifications
| Parameter | Value / Configuration |
|---|---|
| Sensing Transceiver | Infineon TLE9015DQU (UART to isoUART Bridge) |
| Sensing IC | Infineon TLE9018DQK |
| Communication Interface | Serial Port |
| Supported Daisy-Chain Nodes | 1 to 8 Stacked Boards |
| NTC Channel 0 | Fixed 100 kΩ NTC in 10 µA Bias Mode |
| NTC Channels 1–4 | User-selected: 10 kΩ or 100 kΩ |
Series Reference Resistor (R_{\text{TMP}}) |
100\ \Omega |
Full-Scale ADC Range (FSR_{\text{TMP}}) |
2.0\text{ V} |
📁 Project Structure
.
├── tle9018dqk/ # Official Infineon Driver Package
│ ├── control.py # Low-level UART frame builder & J1850 CRC calculation
│ └── registers.py # Complete TLE9018 register address mapping dictionary
├── monitoring_CMBs.py # Master Application (CLI Setup + Threaded PyQt5 GUI)
└── README.md # System Documentation
Description