IOT BASED PROJECT
BASIC ELECTRIC VECHICLE (EV) MONITERING
AND TESTING OPERATING SYSTEM
Project Created By: H.F. Zayeed Arf , K.L. Dhanush , T.K. Naveen Prasath.
Project Created Date: 31/05/2024
Project code:
College Code:
Team Name:
EXECUTIVE SUMMERY
This paper describes the application of Internet-of-things (IOT) in
monitoring the performance of electric vehicle battery. It is clear that an electric
vehicle totally depends on the source of energy from a battery. However, the
amount of energy supplied to the vehicle is decreasing gradually that leads to
the performance degradation. This is a major concern for battery manufacture.
In this work, the idea of monitoring the performance of the vehicle using IoT
techniques is proposed, so that the monitoring can be done directly. The
proposed IOT-based battery monitoring system is consists of two major parts i)
monitoring device and ii) user interface. Based on experimental results, the
system is capable to detect degraded battery performance and sends notification
messages to the user for further action.
Table of Contents:
Contents
Executive Summary........................................................................................ 2
Table of Contents: ......................................................................................... 3
Project Objective:........................................................................................... 4
Scope: …......................................................................................................... 5
Methodology ................................................................................................. 5
Artifacts used................................................................................................. 6
Technical coverage: ....................................................................................... 8
Results........................................................................................................... 11
Challenges and Resolutions......................................................................... 13
Conclusion.................................................................................................... 14
References ................................................................................................... 14
PROJECT OBJECTIVE
Conventional vehicles are driven by internal combustion engine (ICE) and thus
they are also named internal combustion engine vehicles (ICEVs). The vehicle
is named the electric vehicle (EV) if an electric motor or a few electric motors
are used to drive wheels of a vehicle. In addition, the vehicle is named the
hybrid electric vehicle (HEV) if both an electric motor and an ICE impel wheels
of a vehicle. Electric vehicles are only discussed in this paper. A system
schematic of EVs is illustrated. In EVs, the battery is the original energy source
and provides electric power to electric motor drives and other equipments, such
as lighting devices. The typical control schematic of EVs is depicted in Fig. 2. It
can be observed that the typical control system of EVs includes five electric
control units (ECUs), which are the Main ECU, Motor ECU, Battery ECU,
Brake ECU, and Electric Equipment ECU. The main ECU controls the drive
torque of EV by computing the motor torque based on information such as the
accelerator opening and car speed command. The torque request value is sent to
the motor ECU. The electric equipment ECU controls the DC-DC converter to
generate a variety of DC voltage levels for lighting and other equipments. As
we know, there are various types of electric motors in industrial applications.
SCOPE
The Internet of things (IOT) is the network of physical devices, vehicles,
home appliances, and other items embedded with electronics, software, sensors,
actuators, and connectivity which enables these things to connect, collect and
exchange data.
IOT involves extending Internet connectivity beyond standard devices, such
as desktops, laptops, smart phones and tablets, to any range of traditionally
dumb or non-internet-enabled physical devices and everyday objects.
Embedded with technology, these devices can communicate and interact over
the Internet, and they can be remotely monitored and controlled. With the
arrival of driverless vehicles, a branch of IOT, i.e. the Internet of Vehicle starts
to gain more attention .
A Remote health monitoring system is an extension of a hospital medical
system where a patient’s vital body state can be monitored remotely.
Traditionally the detection systems were only found in hospitals and were
characterized by huge and complex circuitry which required high power
consumption.
METHODOLOGY
1.Requirements Analysis
Define the scope and objectives of the monitoring system.
2. System Design
Design the overall system architecture, including hardware, software, and
communication components.
3. Development
Assemble the hardware components based on the detailed design.
4. Testing and Validation
Test each subsystem individually to ensure it meets the specified requirements.
5. Deployment and Maintenance
Prepare deployment plans, including installation procedures and user training.
ARTIFACTS USED
WORKING PRINCIPLE
The main objective here is to comfort and safe guard the user of e-vehicle
using AI technology and to make the task of maintaining and monitoring his/her
e-vehicle easier. This system aims towards intuitive mechanism and will rely on
prevention before the worse things occurs. sensed controlled it is a technology
where all the gadgets and physical devices where operated and monitored using
internet. In this project we are implementing an easy way to monitor an
individual’s e-vehicle’s, health and parameters of battery using IOT
Technology. The most important thing is security provided.
MAJOR COMPONENTS
MICROCONTROLLER
LCD DISPLAY
TEMPERATURE SENSOR
BATTERY
CURRENT SENSOR
RELAY
DC MOTOR
IOT
MICROCONTROLLER
The microcontroller that has been used for this project is from PIC series.
PIC microcontroller is the first RISC based microcontroller fabricated in CMOS
that uses separate bus for instruction and data allowing simultaneous access of
program and data memory. The main advantage of CMOS and RISC
combination is low power consumption resulting in a very small chip size with
a small pin count. The main advantage of CMOS is that it has immunity to noise
than other fabrication techniques.
LCD DISPLAY
The LiquidCrystal library allows you to control LCD displays that are
compatible with the Hitachi HD44780 driver. There are many of them out
there, and you can usually tell them by the 16-pin interface.
TEMPERATURE SENSOR
Temperature sensor is a device which is designed specifically to measure
the hotness or coldness of an object. LM35 is a precision IC temperature sensor
with its output proportional to the temperature (in °C). With LM35, the
temperature can be measured more accurately than with a thermistor. It also
possesses low self-heating and does not cause more than 0.1 °C temperature rise
in still air. The operating temperature range is from -55°C to 150°C.The
LM35’s low output impedance, linear output, and precise inherent calibration
make interfacing to readout or control circuitry especially easy.
BATTERY
A battery works on the oxidation and reduction reaction of an electrolyte
with metals. When two dissimilar metallic substances, called electrode, are
placed in a diluted electrolyte, oxidation and reduction reaction take place in the
electrodes respectively depending upon the electron affinity of the metal of the
electrodes. As a result of the oxidation reaction, one electrode gets negatively
charged called cathode and due to the reduction reaction, another electrode gets
positively charged called anode.
CURRENT SENSOR
Sensing variable current flow is a major requirement in frequent
electronics systems and the strategies to do so are as an assortment of as the
applications themselves. A sensor is a unit that can determine a physical
phenomenon and compute the latter, in other words it gives a measurable
demonstration of the wonder on a particular scale or range. A current sensor is a
device that recognizes electrical current in a wire or a system whether it is high
or low and creates an indicator relative to it. It might be then used to
presentation the measured current in an ammeter or might be archived for
further classification in a data acquisition system or might be used for control
purpose.
SOURCE CODE
Sketch.ino
//LCD I2C library:
#include <LiquidCrystal_I2C.h>
//DHT22 sensor library:
#include <DHT.h>;
//LCD I2C address 0x27, 16 column and 2 rows!
LiquidCrystal_I2C lcd(0x27, 16, 2);
//Constants:
#define DHTPIN 2 //what pin we're connected to
#define DHTTYPE DHT22 //DHT 22 (AM2302)
DHT dht(DHTPIN, DHTTYPE); //Initialize DHT sensor for normal 16mhz
Arduino
//Variables:
float H; //Humidity value
float T; //Temperature value
int buzzer = 12;
//Initialize LCD, DHT22 sensor and buzzer:
void setup(){
lcd.init();
lcd.backlight();
dht.begin();
pinMode(buzzer, OUTPUT);
//Print some text in Serial Monitor
Serial.begin(9600);
Serial.println("DHT22 sensor with Arduino Uno R3!");
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
}
void loop(){
delay(2000);
//Read data and store it to variables hum and temp
H = dht.readHumidity();
T = dht.readTemperature();
//Print temp and humidity values to serial monitor
Serial.print("Humidity: ");
Serial.print(H);
Serial.println(" %; ");
Serial.print("Temperature: ");
Serial.print(T);
Serial.println(" Celsius.\n");
/*If humidity is higher than 70% &
temperature is higher than 30 degrees Celsius
then it will show on LCD „Too warm! Cool down!”*/
if(H >= 70.00 && T >= 30.00)
{
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
lcd.println(" Too warm! ");
lcd.setCursor(0, 1);
lcd.println(" Cool down! ");
lcd.setCursor(0, 0);
digitalWrite(buzzer, 1);
tone(buzzer, 900, 100);
delay(400);
digitalWrite(buzzer, 0);
tone(buzzer, 900, 100);
delay(400);
digitalWrite(buzzer, 1);
tone(buzzer, 900, 100);
delay(400);
digitalWrite(buzzer, 0);
tone(buzzer, 900, 100);
delay(400);
}
else
{
/*If humidity is lower than 70% &
temperature is lower than 30 degrees Celsius
then it will show on LCD „Temp. & hum. are in normal limits”*/
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
lcd.println("Temp. & hum. are");
lcd.setCursor(0, 1);
lcd.println("in normal limits");
lcd.setCursor(0, 0);
digitalWrite(buzzer, 0);
}
/*If either humidity is lower than 70%, but
temperature is higher than 30 degrees Celsius,
then it will show on LCD „Be ware! Temp. too high” or
humidity is higher than 70%, but
temperature is lower than 30 degrees Celsius, then
it will show on LCD „Be ware! Hum. too high”*/
if(H < 70.00 && T >= 30.00){
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
lcd.println("Be ware! ");
lcd.setCursor(0, 1);
lcd.println("Temp. too high! ");
lcd.setCursor(0, 0);
digitalWrite(buzzer, 1);
tone(buzzer, 400, 400);
delay(400);
digitalWrite(buzzer, 0);
tone(buzzer, 400, 400);
delay(400);
}
if(H >= 70.00 && T < 30.00){
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
lcd.println("Be ware! ");
lcd.setCursor(0, 1);
lcd.println("Hum. too high! ");
lcd.setCursor(0, 0);
digitalWrite(buzzer, 1);
tone(buzzer, 400, 400);
delay(400);
digitalWrite(buzzer, 0);
tone(buzzer, 400, 400);
delay(400);
}
}
Diagram.json
{
"version": 1,
"author": "Anonymous maker",
"editor": "wokwi",
"parts": [
{ "type": "wokwi-arduino-uno", "id": "uno", "top": 0.6, "left": -0.6, "attrs": {}
},
{
"type": "wokwi-lcd1602",
"id": "lcd1",
"top": 35.2,
"left": 428,
"attrs": { "pins": "i2c" }
},
{
"type": "wokwi-dht22",
"id": "dht1",
"top": -18.9,
"left": -149.4,
"attrs": { "temperature": "-40", "humidity": "100" }
},
{
"type": "wokwi-buzzer",
"id": "bz1",
"top": -132,
"left": 289.8,
"attrs": { "volume": "0.1" }
},
{
"type": "wokwi-led",
"id": "led2",
"top": -195.6,
"left": 109.4,
"attrs": { "color": "red" }
},
{
"type": "wokwi-led",
"id": "led1",
"top": -195.6,
"left": 32.6,
"attrs": { "color": "cyan" }
}
],
"connections": [
[ "lcd1:GND", "uno:GND.3", "black", [ "h-86.4", "v192", "h-167.2" ] ],
[ "lcd1:VCC", "uno:5V", "red", [ "h-48", "v172.9", "h-224.6" ] ],
[ "lcd1:SDA", "uno:A4", "green", [ "h-28.8", "v144.2", "h-157.8" ] ],
[ "lcd1:SCL", "uno:A5", "green", [ "h-124.8", "v115.5" ] ],
[ "dht1:GND", "uno:GND.2", "black", [ "v124.8", "h275.1" ] ],
[ "bz1:1", "uno:GND.1", "green", [ "v28.8", "h-201.3" ] ],
[ "dht1:VCC", "uno:VIN", "red", [ "v134.4", "h322.9" ] ],
[ "dht1:SDA", "uno:2", "green", [ "h0.1", "v115.2", "h422.4", "v-202.2" ] ],
[ "bz1:2", "uno:12", "green", [ "v38.4", "h-192.3" ] ],
[ "led2:C", "uno:GND.1", "green", [ "v76.8", "h0.4", "v48", "h-38.7" ] ],
[ "led1:C", "uno:GND.1", "green", [ "v144", "h48.4", "v0", "h18.9" ] ],
[ "uno:9", "led1:A", "green", [ "v-9.6", "h-104.8" ] ],
[ "uno:10", "led2:A", "green", [ "v-38.4", "h-18.5", "v-124.8" ] ]
],
"dependencies": {}
}
Libraries.txt
# Wokwi Library List
# See https://docs.wokwi.com/guides/libraries
# Automatically added based on includes:
LiquidCrystal I2C
DHT sensor library
TECHINICAL COVERAGE
Hardware Integration
Battery Management System (BMS)
Functions: Monitors battery status, manages charging/discharging cycles, protects against
overcharging and overheating.
Components: Voltage sensors, current sensors, temperature sensors, microcontroller.
Key Parameters: State of charge (SoC), state of health (SoH), voltage, current, temperature.
Motor Controller
Functions: Controls motor speed and torque, ensures efficient power delivery.
Components: Inverters, sensors (speed, temperature), microcontroller or DSP (Digital Signal
Processor).
Key Parameters: Motor speed, torque, power consumption, temperature.
Vehicle Control Unit (VCU)
Functions: Centralized control of vehicle functions, integrates data from BMS and motor
controller.
Components: Microcontroller or microprocessor, communication interfaces (CAN bus).
Key Parameters: Overall vehicle status, drive modes, diagnostics.
2. Software Development
Embedded Systems Programming
Languages: C/C++, Python (for prototyping).
Tools: Integrated Development Environments (IDEs) like Keil, MPLAB, Arduino IDE.
Tasks: Writing firmware for sensors, implementing control algorithms, real-time data
processing.
Data Processing and Analytics
Functions: Real-time data acquisition, filtering, and processing.
Tools: Libraries and frameworks such as NumPy, Pandas for data manipulation; MATLAB for
simulations.
Tasks: Data validation, anomaly detection, performance analysis.
3. Communication Protocols
CAN Bus
Purpose: Robust communication standard for interconnecting various subsystems within the
vehicle.
Components: CAN transceivers, controllers, bus lines.
Tools: CAN analyzers, software tools like CANoe or PCAN-View.
Tasks: Implementing communication between BMS, motor controller, and VCU.
Wireless Communication
Purpose: Enable remote monitoring and control, over-the-air updates.
Technologies: Wi-Fi, Bluetooth, LTE/5G.
Tools: Wireless modules (ESP8266, SIM800), network protocol stacks.
Tasks: Implementing secure data transmission, remote diagnostics, cloud integration.
4. User Interface Design
Dashboard Development
Frameworks: Qt (for C++), Tkinter (for Python), Electron (for web-based interfaces).
Components: Graphs, gauges, indicators, alerts.
Tasks: Designing intuitive UI layouts, implementing real-time data updates, handling user
interactions.
Mobile and Web Applications
Languages/Frameworks: React Native, Flutter (for mobile apps); React.js, Angular (for web
apps).
Components: Real-time data visualization, notifications, remote control features.
Tasks: Developing responsive interfaces, ensuring cross-platform compatibility, integrating
backend services.
5. Power Management
Low-Power Design
Components: Low-power microcontrollers (e.g., ARM Cortex-M), efficient power regulators.
Techniques: Sleep modes, power gating, dynamic frequency scaling.
Tasks: Optimizing firmware for low power consumption, designing efficient power circuits.
6. Security and Reliability
Data Security
Techniques: Encryption (AES, RSA), secure boot, SSL/TLS for communication.
Tools: Security libraries, hardware security modules (HSM).
Tasks: Implementing secure storage and transmission of data, conducting security audits.
CIRCUIT DIAGRAM
RESULT
1.Battery Management System (BMS)
o Functions: Monitor battery charge, health, temperature, and overall status.
o Data: Voltage, current, state of charge (SoC), state of health (SoH),
temperature.
2.Motor Controller
o Functions: Manage the power delivery to the motor, ensuring efficient
operation.
o Data: Motor speed, torque, temperature, power consumption.
3.Vehicle Control Unit (VCU)
o Functions: Centralized control unit that integrates data from various
subsystems.
o Data: Overall vehicle status, drive modes, diagnostics.
4.Telematics System
o Functions: Provide connectivity for remote monitoring and updates.
o Data: GPS location, remote diagnostics, over-the-air updates.
5.Real-time Monitoring
o Display current status of battery (charge level, temperature, voltage, current).
o Monitor motor performance (speed, torque, temperature).
6.Diagnostics
o Error code reporting for various subsystems.
o Predictive maintenance alerts based on data trends.
7.Data Logging
o Store historical data for performance analysis.
o Export data for further processing.
8.User Interface
o Dashboard for displaying real-time data.
o Alerts and notifications for critical issues.
o Settings and control interface for adjusting parameters.
9.Connectivity
o Enable communication with mobile apps or web interfaces.
o Support for remote diagnostics and software updates.
10.Hardware Interface
o Use microcontrollers (e.g., Arduino, Raspberry Pi) to interface with sensors
and actuators.
o Connect to CAN bus for vehicle-wide data access.
11.Software Development
o Develop firmware for microcontrollers to read sensor data and control
actuators.
o Create a central application (e.g., Python, C++) to aggregate and process data
from various subsystems.
12.User Interface
o Develop a GUI using frameworks like Qt, Electron, or a web-based interface
with HTML/CSS/JavaScript.
o Display real-time data, historical charts, and alerts.
13.Connectivity and Data Logging
o Implement data logging to local storage (e.g., SD card) or cloud storage (e.g.,
AWS, Azure).
o Provide connectivity options (e.g., Wi-Fi, Bluetooth) for remote monitoring.
Challenges and Resolutions
1. Data Accuracy and Reliability
o Challenge: Ensuring that the data collected from various sensors (e.g., battery
voltage, motor temperature) is accurate and reliable.
o Resolution:
Calibration: Regularly calibrate sensors to maintain accuracy.
Redundancy: Implement redundancy by using multiple sensors for
critical parameters.
Error Checking: Use algorithms to detect and correct anomalies in
sensor data.
2. Real-Time Data Processing
o Challenge: Processing and displaying data in real-time without delays.
o Resolution:
Efficient Algorithms: Optimize data processing algorithms for speed
and efficiency.
Multithreading: Use multithreading or parallel processing to handle
multiple tasks simultaneously.
High-Performance Hardware: Utilize high-performance
microcontrollers or processors to ensure timely data handling.
3. System Integration
o Challenge: Integrating various subsystems (e.g., battery management, motor
control) into a cohesive monitoring system.
o Resolution:
Standardized Protocols: Use standardized communication protocols
like CAN bus for inter-subsystem communication.
Modular Design: Design the system in a modular way, allowing for
easier integration and maintenance.
Testing and Validation: Thoroughly test each subsystem
independently before integration to ensure compatibility and stability.
4. User Interface (UI) Design
o Challenge: Creating an intuitive and user-friendly interface for displaying
vehicle data and alerts.
o Resolution:
User-Centered Design: Engage with users to understand their needs
and preferences, and design the UI accordingly.
Clear Visualization: Use clear and concise visualizations, such as
graphs and gauges, to display data.
Responsive Design: Ensure the UI is responsive and performs well on
various devices and screen sizes.
5. Connectivity and Data Security
o Challenge: Providing reliable connectivity for remote monitoring while
ensuring data security.
o Resolution:
Secure Communication: Implement secure communication protocols
(e.g., SSL/TLS) to protect data transmission.
Data Encryption: Use encryption for storing sensitive data.
Authentication: Implement strong authentication mechanisms to
prevent unauthorized access.
6. Power Management
o Challenge: Managing power consumption of the monitoring system to avoid
draining the EV’s battery.
o Resolution:
Low-Power Hardware: Use low-power microcontrollers and sensors.
Power-Efficient Algorithms: Optimize software to minimize power
usage, such as using sleep modes and efficient coding practices.
Power Management Strategies: Implement strategies to reduce
power consumption during idle times.
7. Scalability and Future Proofing
o Challenge: Designing a system that can scale and adapt to future requirements
and technologies.
o Resolution:
Modular Architecture: Use a modular architecture that allows easy
upgrades and additions.
Firmware Updates: Enable over-the-air (OTA) firmware updates to
keep the system up-to-date with the latest features and security
patches.
Future Compatibility: Design with future compatibility in mind,
considering upcoming technologies and standards
CONCLUSION
In this study, Monitoring the battery for EVs have been discussed. By this
solution we have provided a security to the e-vehicle owners by providing
location tracking, fuel level monitoring, Engine’s health etc. There are various
ideas are proposed similar with our idea but all the ideas are only for four
wheelers and trucks. The idea we proposed is for two wheelers. The cost will be
less when compared with other ideas. By this the location of the e-vehicle will
be seen in the mobile application and fuel level also indicated. This provides a
security and easy to access for the e-vehicle to produce hybrid power
architecture.
REFERENCE
The Internet of Things in healthcare: an overview.
A multiple communication standards compatible IoT system for medical
usage.
In: IEEE Faible Tension Faible Consommation (FTFC), Ubiquitous data
accessing method in IoT-based// information system for emergency medical
services.
Implementation of a medical support system considering P2P and IoT
technologies. In: Eighth International Conference on Complex, Intelligent and
Software Intensive Systems, Birmingham,