Recently some electric bikes caught fire due to the failure of the battery management system because of poor battery design. Unfortunately, proper thermal management is not there in most electric vehicles at present. So, here is a project to monitor the battery temperature and smoke detection to alert the EV user and stop the EV well in time to avoid further damage. The authors’ prototype of the thermal management system is shown in Fig. 1 and its block diagram is shown in Fig. 2.

Lithium-ion battery has a specified operational temperature of -20°C to +60°C. It will provide the longest service life if its temperature is always kept within approximately 10°C to 40°C.

The proposed system, powered by a 12V battery, is built around ESP32 board (U1), temperature sensor DS18B20 (U2), smoke sensor MQ135 (U3), 16Ă—2 LCD display (U4), 5V regulator LM7805 (U5), and a few other components. The SPDT switch and potentiometer are connected to input of ESP32 controller while I2C, 16Ă—2 LCD display, buzzer, relay, and Arduino Blue Control application are connected to its output. SPDT switch S1 is for mode selection to display the current temperature or to configure the threshold.
Bill of Material | ||
Components | Quantity | Description |
ESP32 (U1) | 1 | ESP32 development doard |
DS18B20 (U2) | 1 | Temperature sensor |
MQ135 (U3) | 1 | Smoke detector |
RG1602A (U4) | 1 | I2C 16×2 LCD display |
LM7805 (U5) | 1 | 5V voltage regulator |
10k (R1) | 1 | Potmeter |
1k (R2, R3) | 2 | ÂĽ-watt resistor |
1N4009 (D1, D2) | 2 | Rectifier diode |
100nF (C1, C2) | 2 | Ceramic disk capacitor |
SU1 | 1 | Buzzer |
GU-SH112D (RL1) | 1 | High-power switching relay |
BC547A (Q1, Q2) | 2 | Transistor (npn type) |
On/off switch (S1) | 1 | SPDT switch |
12V battery (BT1) | 1 | Lithium-ion battery |
60V/40A/2.4kW (BT2) | 1 | Electric vehicle battery |
Smartphone | 1 | Android mobile phone |
Arduino Blue Control app | Need to download | |
IDE Arduino software | Need to download |
Software
The Arduio IDE is not ready to program ESP board by default, so go to Board Manager and install it. Install the latest Arduino IDE library for the software. Later install the libraries needed for interfacing the sensor. Here DallasTemperature and LiquidCrystal are used for interfacing the sensor and display, so open Library Manager and install these libraries.
Nice
Hi,
I have a 3.2v 25Ah lifepo4 battery, I need to charge it with a laptop charger.
How should I modify the circuit to get 3.6v 10A output using 19v 3.42A laptop charger?