Thermal Management Systems For Electric Vehicle

By E.Venkatesan and M.Dinesh

- Advertisement -
 
Comment errors or corrections found for this circuit, and get the chance to win big!

Introduction

Nowadays electric vehicles have increased over the past decade as consumers demand more eco-friendly solutions to combat climate change. Recently Some Electric bikes caught fire due to the failure of the battery Management system, and bad battery design. Due to the Absence of a Thermal Management system Notification Alert (Battery Temperature), some people has lost their life.

Unfortunately, this feature is not available in most of the existing Electric vehicles. So here the project is to Monitor the Battery Temperature & Smoke Detection to Alert the Electric Vehicle user’s via Smartphone Notification, Alarm the Buzzer and also to Auto Cut off the Electric Vehicle to Avoid Further Damages.

Working Principle

Lithium-ion Battery has a specified allowed operational Temperature of -20 ‘C to +60 C, it will provide the longest service life if temperatures are kept within approximately 10 C to 40 C at all times. This system is powered by 12V Portable Battery and it is regulated into 5V and P3V3 power sources. The temperature sensor (DS18B20), Smoke Sensor (MQ135), SPDT Switch & Potentiometer are inputs to ESP32 Controller. I2C 16×2 LCD Display, Buzzer, Relay & Arduino Blue Control Application are outputs of ESP32 Controller. An SPDT S1-switch is placed in the system for mode selection to display the current temperature or to configure the threshold temperature with the help of potentiometer. ESP32 monitoring the Temperature & Smoke Detection inputs for every millisecond, the same thing should be displayed in LCD Display and also in smart Phone via Bluetooth Arduino Blue Control Application. When Riding or charging Electric vehicle, If the battery temperature exit above threshold value of 40 °C or Detecting Smoke from the Battery unit means ESP32 Controller will alert the Electric vehicle user via Output Buzzer, Providing Alarm Notification to Smart Phone and also Cut-off the Electric Vehicle power from battery with the Help of Relay Module.

Block Diagram

- Advertisement -

Block-Diagram

Schematic Diagram:

Schematic-Diagram

BOM List

  • U1- ESP32 (Development Board)
  • U2- DS18B20 (Temperature Sensor)
  • U3- MQ135 (Smoke Sensor)
  • U4- RG1602A (I2C 16X2 LCD Display)
  • U5- LM7805 (Regulator)
  • R1-10K (POT)
  • R2 & R3 -1K (1/4 Watt)
  • D1 & D2- 1N4007 (Diode)
  • C1 & C2- 100nF (Capacitor)
  • SU1- 10V Buzzer
  • RL1- GU-SH112D (High Power Switching Relay)
  • Q1 & Q2- BC547 (Transistor)
  • S1- SPST Switch
  • BT1-12V Lithium-ion Battery
  • BT2-60V/40A/2.4KW Electric Vehicle Battery
  • Smart Mobile
  • Arduino Blue Control App
  • IDE Arduino Software

Program Coding’s

#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal_I2C.h>
#include “BluetoothSerial.h”

#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth is not enabled! Please run `make menuconfig` to and enable it
#endif

BluetoothSerial SerialBT;

String message = “”;
char incomingChar;
String temperatureString = “”;
String humidityString = “”;

#define ADC_VREF_mV    4755.0
#define ADC_RESOLUTION 4096.0
#define MQ135       39
#define TEMP_REF       34

const int oneWireBus = 4;    

LiquidCrystal_I2C lcd(0x27, 16, 2);
const int SW = 19;
const int BUZZAR = 17;
const int EV_ECU = 5;
const float threshold2=400.00;

OneWire oneWire(oneWireBus);

DallasTemperature sensors(&oneWire);

void setup() {
  lcd.init();        
  lcd.backlight();  

  Serial.begin(115200);
  SerialBT.begin(“ESP32”);
  Serial.println(“Start pairing!”);

  pinMode(SW, INPUT);  
  pinMode(BUZZAR, OUTPUT);
  pinMode(EV_ECU, OUTPUT);
  sensors.begin();
}

void loop() {

  if (digitalRead(SW) == HIGH){  
  int adcVal2= analogRead(TEMP_REF);
  float milliVolt2 = adcVal2 * (ADC_VREF_mV / ADC_RESOLUTION);
  float temp_r = milliVolt2 / 8.5;
  lcd.clear();
  lcd.setCursor(0, 0);  
  lcd.print(“REF_TEMP:”);
  lcd.print(temp_r);  
  lcd.print(“C”);
  SerialBT.println(“Alarm_Temp_REF”);
  SerialBT.println(temp_r);
  delay(500);
  }

  else if (digitalRead(SW) == LOW)
 {
 
    int adcVal1= analogRead(MQ135);
    int adcVal3 = analogRead(TEMP_REF);
    float milliVolt3 = adcVal3 * (ADC_VREF_mV / ADC_RESOLUTION);
    float temp_rr = milliVolt3 / 8.5;
    float milliVolt1 = adcVal1 * (ADC_VREF_mV / ADC_RESOLUTION);
    float AIR_PPM = milliVolt1 / 1;  
    sensors.requestTemperatures();
    int temperatureD = sensors.getTempCByIndex(0);
    float temperatureC = sensors.getTempCByIndex(0);
    float temperatureF = sensors.getTempFByIndex(0);
    SerialBT.println(temperatureD);

if(temperatureC>temp_rr)
  {
    SerialBT.println(“Temperature_Alarm”);
    lcd.clear();
    lcd.setCursor(0, 0);  
    lcd.print(“Temperature_Alarm”);
    digitalWrite(BUZZAR, HIGH);
    digitalWrite(EV_ECU, HIGH);
    delay(60000);
           
      }

      else if(temperatureC<temp_rr)
      {
        SerialBT.println(temperatureD);
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print(“T:”);
        lcd.print(temperatureC);
        lcd.print(“C”);
        lcd.setCursor(0, 1);  
        lcd.print(“Air:”);
        lcd.print(AIR_PPM);
        lcd.print(“PPM”);
        digitalWrite(BUZZAR, LOW);
        digitalWrite(EV_ECU, LOW);

        }

      else if(AIR_PPM>threshold2)
  {
   
    SerialBT.println(“Smoke_Alarm”);
    lcd.setCursor(0, 0);  
    lcd.print(“Smoke_Alarm”);    
    digitalWrite(BUZZAR, HIGH);
    digitalWrite(EV_ECU, HIGH);
    delay(60000);
 
      }

}
}

Conclusion

Electric Vehicle unexpected Battery Fire Accident cause loss of human life, Damaging of Electric vehicles happens when Electric Vehicle user are not alerted immediately. When this problem is analysed and immediate alert will be sent to Electric Vehicle user’s this will help in avoiding loss of human life and Electric vehicle damages. The objectives and the points that we achieved due to the developed system are shown below

  • Monitoring the Battery Temperature and smoke to alerting users via buzzer and smartphone notification all the time.
  • Auto cut-off the battery power from the Electric Vehicle to avoid further damages.
ESP32-Based-Thermal-Management-System
ESP32-Based-Thermal-Management-System
Relay Module with Buzzer
Relay Module with Buzzer
Full-Setup-image
Full Setup image

Smart Phone Interface Setup

Step1: Launch Arduino blue control Application
Step1: Launch Arduino blue control Application
Step2: Connectivity setting of ESP32 Bluetooth
Step2: Connectivity setting of ESP32 Bluetooth
Step3: Alarm Setting
Step3: Alarm Setting
Step4: Temperature Display
Step4: Temperature Display

Both E.Venkatesan and M.Dinesh working as Product Application Team Lead in Qmax test Equipment’s Pvt Ltd Has been interested in the areas of IoT, BMS, wireless technologies & Embedded systems.

SHARE YOUR THOUGHTS & COMMENTS

 
 

What's New @ Electronicsforu.com

Most Popular DIYs

Electronics Components

Truly Innovative Tech