Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
119 views94 pages

IoT-Enhanced EV Battery Management

The document describes a system for integrating electric vehicles with battery management using solar power. It proposes monitoring battery performance of electric vehicles using IoT techniques. The proposed IoT-based system consists of a monitoring device and user interface to detect degraded battery performance and notify the user.

Uploaded by

rithirithika2401
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
119 views94 pages

IoT-Enhanced EV Battery Management

The document describes a system for integrating electric vehicles with battery management using solar power. It proposes monitoring battery performance of electric vehicles using IoT techniques. The proposed IoT-based system consists of a monitoring device and user interface to detect degraded battery performance and notify the user.

Uploaded by

rithirithika2401
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 94

INTEGRATING ELECTRIC VEHICLES WITH

BATTERY MANAGEMENT SYSTEMS USING SOLAR


POWER

iii
ABSTARCT
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. To develop a sophisticated Battery Management
System (BMS) for a hybrid renewable energy-based Electric Vehicle (EV)
charging station. The primary goal is to efficiently integrate and manage
energy derived from multiple renewable sources, such as solar and wind, to
power EV charging infrastructure. The BMS is designed to optimize battery
performance, enhance lifespan, and ensure safety while managing the storage
and discharge of electrical energy. 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.

iii
TABLE OF CONTENTS

CHAPTER INDEX PAGE NO.


NO
ABSTRACT ii
LIST OF FIGURES v
LIST OF ABBREVIATIONS vi
1 INTRODUCTION 1
2 LITRATURE SURVEY 3
3 SYSTEM IMPLEMENTATION 6
3.1 OBJECTIVE 6
3.2 EXISTING SYSTEM 6
3.2.1 PROBLEM IDENTIFICATION 6
3.2.2 DISADVANTAGES 7
3.3 PROPOSED SYSTEM 7
3.3.1 PROPOSED BLOCK DIAGRAM 8
3.3.2 VEHICLE CHARGING STATION 8
3.8 ADVANTAGE 8
4 PROJECT DESCRIPTION 10
4.1 HARDWARE DESCRIPTION 10
4.1.1 ARDUINO UNO 10
4.1.2 SOLAR PANNEL 13
4.1.3 BATTERY 18
4.1.4 VOLTAGE SENSOR 20
4.1.5 IR MODULES 24

iii
4.1.10 LCD 34
4.1.11 ADC 38
4.2 SOFTWARE DESCRIPTION 39
4.2.1 ARDUINO IDE 39

4.2.2 EMBEDDED C 42
4.2.3 PROTEUS 45
4.3 TECHNOLOGY DESCRIPTION 47
4.3.1 IOT 47
5 RESULTS AND DISCUSSION 54
5.1 PROGRAM PART 54
5.2 CIRCUIT DESIGN 55
5.3 SIMULATION DESIGN 56
6 CONCLUSION AND FUTURE SCOPE 57
6.1 CONCLUSION 57
6.2 FUTURE SCOPE 57

REFERENCES 58

iv
LIST OF FIGURES

FIGURE NO. TITLE PAGE NO.

3.3. PROPOSED BLOCK DIAGRAM 8


1
4.1. ARDUINO 10
1
4.1.5.1 VOLTAGE SENSOR 21
4.1.5.2 CONNECTION DIAGRAM 22
4.1. CURRENT SENSOR CIRCUIT 23
6 DIAGRAM
4.1.7.1 LED 24
4.1.9.1 RFID PIN DESCRIPTION 32
4.1.9.2 RFID READER 33
4.1.10 LCD DISPLAY 36
4.1.11 ADC CHANNEL DIAGRAM 39
4.2. SKETCH DIAGRAM 42
1

v
LIST OF ABBREVIATIONS

ADC ANALOG TO DIGITAL CONVERTER


IDE INTEGRATED
DEVELOPMENTENVIRONMENT
COMM COMMUNICATION PORT
PORT
ROM READ ONLY MEMORY
IC INTEGRATED CIRCUIT
AC ALTERNATING CURRENT
DC DIRECT CURRENT
IOT INTERNET OF THINGS
MCU MICROCONTROLLER
EVS ELECTRIC VEHICLE CHARGE
STATION
LCD LIQUID CRYSTAL DISPLAY
PWM PULSE WIDTH MODULATION

vi
CHAPTER 1
INTRODUCTION
The vehicle population is increasing day by day and is expected to exceed
the human population in the upcoming years. This would also result in the
consumption of fossil fuels and the extinction of nonrenewable resources. Hybrid
and electric vehicles are gaining popularity, improving charging station
infrastructure a necessity. Superchargers and mega-chargers have set a benchmark
for fast charging of high-capacity vehicle batteries. their dispersion into the
vehicle market has not been up to the mark because of the reason that it is less
cost effective and these vehicles need to recharge once in 60 to 70 km drive. The
hybrid vehicles play a major role in the present market and it obtains their energy
from the combustion engine.
However, in order to alleviate the utilization of gasoline, the plug-in
electric vehicles (PHEVs) entered into the market and it takes the energy from the
grid for driving. To increase the life of storage system, cost reduction, and the
flexible grid connectivity, the PHEVs are still under research. Nowadays, the park
stations, roadside units, and the standard home outlets are used to charge the
battery packs of EVs. The storage system present in the EV takes a prolonged
period for recharging the battery packs and it will vary depending upon the
capacity Commercial charging stations are available but only at places with high
EV expectancy regions. India’s mobility mantra of “Shared, connected and
Electric” with 100% EV by 2030 seems to be quite ambitious, but with increased
awareness amongst the consumers and aiding government policies, this goal can
be achieved.
Ministry of power and Dept. of Heavy Industry Ministry has invited
proposals with a target of 1000 EVCS and Tata power has proposed to build
around 500 EVCS by 2021. In mega- cities, multi-level parking stations, malls,
multiplexes are available with a large parking capacity for vehicles.

1
The system voltage and current oscillations will also be monitored
continuously in real-time. Charging will be based on the amount paid. The power
of the battery will never be dry because we use two major energy sources that are
solar energy and wind energy.

2
CHAPTER 2
LITERATURE SURVEY
LITERATURE REVIEW 1

TITLE

Block chain-Based Intelligent Charging Station Management System Platform

YEAR

2022

DESCRIPTION

This paper integrates CSMS through smart contracts, providing EV users that
ability to conduct power transactions and perform optimal charging and
discharging control in real-time. The distributed ledger is in charge of recording all
the EV charging and discharging data to maintain fairness of power transactions,
protects data from being maliciously tampered, and enables the EV user to monitor
status of the EV participating in power transactions and dispatching. The intelligent
CSMS consists of an artificial intelligence (AI) module, centralized optimal
scheduling module, and decentralized optimal control module. The AI module is
responsible for forecasting renewable energy generation and load consumption.
There is a two-layer architecture consisting of centralized and decentralized
optimal control modules
DISADVANTAGE

It consumes more time, It is very expensive.

3
LITERATURE REVIEW 2
TITLE
System Design and Realization of a Solar-Powered Electric Vehicle Charging
Station

YEAR

2020

DESCRIPTION

The charging station is supplied from two sources used for recharging the vehicles
parked under a shed, viz., the conventional utility grid electricity and also solar
PV-based electricity. the charging station supplies the solar power to the vehicles
coming for charging by utilizing solar energy during the day time and the
conventional grid power in the night hours.
DISADVANTAGE
This system uses two energy to implement the vehicle charging station. Day time
for solar and night time for grid. In case of night time any shortages occur no steps
to protect that station.

4
LITERATURE REVIEW 3
TITLE
Multi objective Planning Strategy for the Placement of Electric-Vehicle Charging
Stations Using Hybrid Optimization Algorithm
YEAR

2022

DESCRIPTION

In this paper mathematical model comprising three objective functions,


maximization of coverage and minimization of loss and node voltage deviations
subjected to constraints is proposed for the simultaneous placement of EV
charging stations and shunt capacitors. The control variables for optimization are
the rating and location of charging stations and shunt capacitors. A hybrid
optimization algorithm (PSO-DS) combining particle swarm optimization
algorithm and direct search method is proposed for the solution of the
mathematical model. The performance of PSO- DS is justified by comparing it
with other state-of-the-art algorithms in solving the standard benchmark functions
DISADVANTAGE

It is complex algorithms that are difficult to implement efficiently

5
LITERATURE REVIEW 4
TITLE
ACN-Sim: An Open-Source Simulator for Data-Driven Electric Vehicle Charging
Research

YEAR

2021
DESCRIPTION
ACN-Sim provides a modular, extensible architecture, which models the
complexity of real charging systems, including battery charging behavior and
unbalanced three-phase infrastructure. It also integrates with a broader ecosystem
of research tools. These include ACN-Data, an open dataset of EV charging
sessions, which provides realistic simulation scenarios, and ACN-Live, a
framework for field-testing charging algorithms. It also integrates with grid
simulators like MATPOWER, Panda Power and Open DSS, and Open AI Gym
for training reinforcement learning agents.
DISADVANTAGE
Open source applications may be tricky to set up and use.

6
LITERATURE REVIEW 5
TITLE
On the Role of Renewable Energy Policies and Electric Vehicle Deployment
Incentives for a Greener Sector Coupling
YEAR

2022

DESCRIPTION

The effect of policies implementation was interpreted in a mathematical


framework and the Net Present Value method was used for assessing the
investment in charging infrastructures. Simulation results of a case study in the
United States and sensitivity analysis illustrate that increasing the wind capacity
incentives accelerated the electrification of the transportation system and
increasing the incentives for electrification of transportation system influences
wind capacity positively.
DISADVATAGE

The Initial Cost of Renewable Energy Is High. And it is Not Available Round the
Clock

7
CHAPTER 3
SYSTEM IMPLEMENTATION
3.1 OBJECTIVE
 To design and engineer a BMS that optimally manages the charging and discharging
processes of the battery storage system. This includes ensuring the health and
longevity of batteries, efficient energy storage, and retrieval, as well as safety and
reliability in operations.
 To utilize advanced algorithms and control strategies to optimize the storage and
usage of harvested energy, ensuring that energy is available for EV charging as
needed, regardless of the variability in renewable energy generation.
 To improve the overall efficiency of the charging station and make the operation
cost-effective. This involves minimizing energy losses, reducing operational costs,
and optimizing resource allocation.
 To develop a BMS that can be scaled and adapted to different sizes and types of EV
charging stations and can be integrated with various types and capacities of
renewable energy systems and battery storage solutions.
3.1 EXISTING METHOD
 The system of or project is shown, First step towards the progress is to measure
the voltage level of a battery available in the car then the SIM module we are
using SIM808V 3.2 reads the current location of a vehicle then they are will be
a heat sensor which will continuously working on detecting heat of a battery.

 As the voltage sensor program with the arduino will display the current battery
charged percentage and we will set a certain limit beyond that if a battery
charge percentage go then it will notify a user and we will also a threshold heat
unit beyond that if battery temperature goes then both sensor which are
connected to arduino will send a signal to module which will eventually send
your the current location to a proper authority.

8
3.2.1 PROBLEM IDENTIFICATION
• The government will plan to introduce electric vehicles but our mindset will always

go to petrol or diesel vehicles.


• The problem behind this reason was there are not many electric recharging stations
present in our country, also we think it’s difficult to implement a huge number of
electric stations.
• For this reason, everyone is moving towards the usual methodology of fuel state.

Also, some fuel stations are not giving proper quantity and quality fuels.

9
3.2.2 DISADVANTAGES

 The system relies on Arduino and SIM808V modules, which may have limited
scalability.

 As the number of vehicles equipped with this system increases, managing and
maintaining them could become challenging.

 The system relies on SIM modules for communication, which means it's dependent
on cellular networks.

3.2 PROPOSED SYSTEM


 The system is focused on two significant parts one is monitoring the parameters and
the other is vehicle to home technology. For monitoring the voltage, current and
temperature sensors is used to monitor different parameters.

 It protects the battery pack from being over charge (cell voltages goes high) or over
discharge (cell voltages goes low) in this way the battery’s life. It does by
constantly monitoring every cell in the battery pack and calculating exactly how
much current is safely going in (charge) and come out (discharge) of the battery
pack without damaging it.

 It also calculates the state of charge by tracking how much energy goes in and out
by monitoring the cell voltage. It monitors the complete health of the battery pack
by continuously checking for loose connections, breakdowns in wire insulations and
defective cells that need to be replaced in the battery pack.

 These parameters gives notifications to the user for safe operations of the battery
pack.

10
3.3.1 PROPOSED BLOCK DIAGRAM

POWER SUPPLY UNIT

12V VOLTAGE
Buck boost REGULATOR 7805 IC 7812 IC
converter BATTERY

SOLAR
PANEL
Voltage sensor 1 Relay module

Voltage sensor 2 Coil Transmitter EV


ESP32
IR SENSOR MICROCONTROLLER

LCD DISPLAY

TEMPERATURE SENSOR
SPI

IOT

FIG 3.3.1 PROPOSED BLOCK DIAGRAM

3.3.2 VEHICLE CHARGING STATION

11
3.3.3 ADVANTAGE
 The system provides real-time monitoring of the battery's voltage level and
temperature.

 This enables timely detection of any abnormalities or issues with the battery,
allowing for proactive maintenance and preventing potential failures.

 Continuous monitoring of battery temperature helps in early detection of


overheating, which is crucial for preventing battery fires or other safety hazards.

 By promptly alerting users and authorities, the system helps mitigate safety risks
associated with battery operation.

CHAPTER 4
12
PROJECT DESCRIPTION
4.1 HARDWARE DESCRIPTION
4.1.1 ESP32 MICROCONTROLLER

ESP32 is a series of low-cost, low-power system on a chip microcontrollers with


integrated Wi-Fi and dual-mode Bluetooth. The ESP32 series employs
eithera Tensilica Xtensa LX6 microprocessor in both dual-core and single-core
variations, XtensaLX7 dual-core microprocessor or a single-core RISC-V
microprocessor and includes built-inantenna switches, RF balun, power amplifier,
low-noise receive amplifier, filters, and power-management modules. ESP32 is
created and developed by Espressif Systems, a Shanghai-based Chinese company,
and is manufactured by TSMC using their 40 nm process. It is asuccessorto
theESP8266microcontroller.

FIG 4.1.5 ESP32


PROCESSORS:
 CPU:Xtensadual-core(orsingle-core)32-
bitLX6microprocessor,operatingat160or240MHzand performing at up to
600DMIPS
 Ultra low power (ULP)co-processor
 Memory: 320 KiB RAM, 448 KiB ROM
 Wireless connectivity:
 Wi-Fi: 802.11 b/g/n
13
 Bluetooth: v4.2 BR/EDR and BLE (shares the radio with Wi-Fi)
 Peripheral interfaces:
 34 × programmable GPIOs
 12-bit SAR ADC up to 18 channels
 2 × 8-bit DACs
 10 × touch sensors (capacitive sensing GPIOs)
 4 × SPI
 2 × I²S interfaces
 2 × I²C interfaces
 3 × UART
 SD/SDIO/CE-ATA/MMC/eMMC host controller
 SDIO/SPI slave controller
 Ethernet MAC interface with dedicated DMA and planned IEEE 1588 Precision
Time Protocol support[4
 CAN bus 2.0
 Infrared remote controller (TX/RX, up to 8 channels)
 Motor PWM
 LED PWM (up to 16 channels)
 Hall effect sensor
 Ultra low power analog pre-amplifier
SECURITY:
 IEEE 802.11 standard security features all supported, including WPA, WPA2,
WPA3 (depending on version)[5] and WLAN Authentication and Privacy
Infrastructure (WAPI)
 Secure boot
 Flash encryption
 1024-bit OTP, up to 768-bit for customers

14
 Cryptographic hardware acceleration: AES, SHA-2, RSA, elliptic
curve cryptography (ECC), random number generator (RNG)
 Power management:
 Internal low-dropout regulator

4.1.2 SOLAR PANEL


Solar panel refers either to a photovoltaic module, a solar hot water panel, or to a
set of solar photovoltaic (PV) modules electrically connected and mounted on a
supporting structure. A PV module is a packaged, connected assembly of solar cells.
Solar panels can be used as a component of a larger photovoltaic system to generate
and supply electricity in commercial and residential applications. Each module is rated
by its DC output power under standard test conditions (STC), and typically ranges
from 100 to 320 watts. The efficiency of a module determines the area of a module
given the same rated output - an 8% efficient 230 watt module will have twice the area
of a 16% efficient 230 watt module. There are a few solar panels available that are
exceeding 19% efficiency. A single solar module can produce only a limited amount of
power; most installations contain multiple modules. A photovoltaic system typically
includes a panel or an array of solar modules, an inverter, and sometimes a battery
and/or solar tracker and interconnection wiring.

THEORY AND CONSTRUCTION:

Solar modules use light energy (photons) from the sun to generate electricity
through the photovoltaic effect. The majority of modules use wafer-based crystalline
silicon cells or thin- film cells based on cadmium telluride or silicon. The structural
(load carrying) member of a module can either be the top layer or the back layer. Cells
must also be protected from mechanical damage and moisture. Most solar modules are
rigid, but semi-flexible ones are available, based on thin- film cells. These early solar
modules were first used in space in 1958.
Electrical connections are made in series to achieve a desired output voltage
15
and/or in parallel to provide a desired current capability. The conducting wires that
take the current off the modules may contain silver, copper or other non-magnetic
conductive transition metals. The cells must be connected electrically to one another
and to the rest of the system usage photovoltaic modules use MC3(older) or MC4
connectors to facilitate easy weatherproof connections to the rest of the system.
Bypass diodes may be incorporated or used externally, in case of partial module
shading, to maximize the output of module sections still illuminated.
Some recent solar module designs include concentrators in which light is focused by
lenses or mirrors onto an array of smaller cells. This enables the use of cells with a
high cost per unit area (such as gallium arsenide) in a cost-effective way.
Multiple solar cells in an integrated group, all oriented in one plane, constitute a solar
photovoltaic panel or solar photovoltaic module. Photovoltaic modules often have a
sheet of glass on the sun-facing side, allowing light to pass while protecting the
semiconductor wafers. Solar cells are usually connected in series in modules, creating
an additive voltage. Connecting cells in parallel yields a higher current; however,
problems such as shadow effects can shut down the weaker (less illuminated) parallel
string (a number of series connected cells) causing substantial power loss and possible
damage because of the reverse bias applied to the shadowed cells by their illuminated
partners. Strings of series cells are usually handled independently and not connected in
parallel, though individual power boxes are often supplied for each module, and are
connected in parallel. Although modules can be interconnected to create an array with
the desired peak DC voltage and loading current capacity, using independent MPPTs
(maximum power point trackers) is preferable. Otherwise, shunt diodes can reduce
shadowing power loss in arrays with series/parallel connected cells.

RIGID THIN-FILM MODULES:


In rigid thin film modules, the cell and the module are manufactured in the
same production line. The cell is created on a glass substrate or superstrate, and
the electrical connections are created in situ, a so-called "monolithic integration".

16
The substrate or superstrate is laminated with an encapsulant to a front or back
sheet, usually another sheet of glass. The main cell technologies in this category
are CdTe, or a-Si, or a-Si+uc-Si tandem, or CIGS (or variant). Amorphous
silicon has a sunlight conversion rate of 6-12%.

MODULE PERFORMANCE:
Module performance is generally rated under standard test conditions (STC):
irradiance of 1,000 W/m², solar spectrum of AM 1.5 and module temperature at 25
°C. Electrical characteristics include nominal power (PMAX, measured in W),
open circuit voltage (VOC), short circuit current (ISC, measured in amperes),
maximum power voltage(VMPP), maximum power current (IMPP), peak power,
Wp, and module efficiency (%).
Nominal voltage refers to the voltage of the battery that the module is best
suited to charge; this is a leftover term from the days when solar modules were
only used to charge batteries. The actual voltage output of the module changes as
lighting, temperature and load conditions change, so there is never one specific
voltage at which the module operates. Nominal voltage allows users, at a glance,
to make sure the module is compatible with a given system.
Open circuit voltage or VOC is the maximum voltage that the module can produce
when not connected to an electrical circuit or system. V OC can be measured with a
meter directly on an illuminated module's terminals or on its disconnected cable.
The peak power rating, Wp, is the maximum output under standard test
conditions (not the maximum possible output). Typical modules, which could measure
approximately 1x2 meters or 2x4 feet, will be rated from as low as 75 watts to as high
as 350 watts, depending on their efficiency. At the time of testing, the test modules are
binned according to their test results, and a typical manufacturer might rate their
modules in 5 watt increments, and either rate them at +/- 3%, +/-5%,

17
+3/-0% or +5/-0%.

4.1.3 IR SENSOR

Infrared sensors are the most often used sensor by amateur roboteers.
Understanding how they behave can help address many of your requirements
and would suffice to address most of the problem statements for various
robotics events in India. Be it a typical white/black line follower, a wall
follower, obstacle avoidance, micro mouse, an advanced flavor of line follower
like red line follower, etc, all of these problem statements can be easily
addressed and granular control can be exercised upon your robots performance
if you have a good operational understanding of Infrared sensors.

CONSTRUCTION OF IR MODULE

Infrared sensors are in the form of diodes with 2 terminals. You can buy a pair
of such diode (one transmitter and one receiver) at a very low cost of about 5 -
7 rupees only. Here onwards, we will use Tx to refer to a transmitter and Rx to
refer to a receiver diode.

THIS IS HOW A TYPICAL TX/RX LOOKS LIKE:

18
Upon careful observation, you will notice that amongst the two ‘legs’, one has
a much wider base within the diode. That is normally the cathode (negative)
whereas the leg having a smaller base would be the anode (positive terminal).

When the Tx is forward biased, it begins emitting infra red. Since it’s not in
visible spectrum, you will not be able to see it through naked eyes but you will
be able to view it through an ordinary cell phone camera.

A TYPICAL TRANSMITTER CIRCUIT

The resistance R1 in the above circuit can vary. It should not be a very high
value (~ 1Kohm) as then the current flowing through the diode would be very
less and hence the intensity of emitted IR would be lesser. By increasing the
current flowing in the circuit, you can increase the effective distance of your
IR sensor. However, there are drawbacks of reducing the resistance. Firstly, it
would increase the current consumption of your circuit and hence drain the
battery (one of the few ‘precious’ resources for any embedded system) faster.
Secondly, increasing the current might destroy the Tx. So, the final choice
should be a calculated tradeoff between these various factors.

You can also modulate the IR to achieve better distance and immunity.The
receiver diode has a very high resistance, typically of the order of mega Ohms
19
when IR is not incident upon it. However, when IR is incident upon it, the
resistance decreases sharply to the order of a few kilo Ohms or even lesser.
This feature forms the basis of using IR as a sensor. You will need to connect
a resistance of the order of a few mega Ohm in series with the Rx. Then tap
the output voltage at the point of connectivity of these two resistors. A
complete Tx-Rx circuit is given below.

A TX-RX PAIR CIRCUITRY.

4.1.4 BATTERY

In electricity, a battery is a device consisting of one or


more electrochemical cells that convert stored chemical energy into electrical
energy. Since the invention of the first battery (or "voltaic pile") in 1800
by Alessandro Volta and especially since the technically improved Daniell cell in
1836, batteries have become a common power source for many household and
industrial applications. According to a 2005 estimate, the worldwide battery
industry generates US$48 billion in sales each year, with 6% annual growth.

20
There are two types of batteries: primary batteries (disposable batteries),
which are designed to be used once and discarded, and secondary
batteries (rechargeable batteries), which are designed to be recharged and used
multiple times. Batteries come in many sizes from miniature cells used to
power hearing aids and wristwatches to battery banks the size of rooms that
provide standby power for telephone exchanges and computer data centers.

A battery is a device that converts chemical energy directly to electrical


energy. It consists of a number of voltaic cells; each voltaic cell consists of
two half-cells connected in series by a conductive electrolyte containing anions
and cations. One half-cell includes electrolyte and the electrode to
which anions (negatively charged ions) migrate, i.e., the anode or negative
electrode; the other half-cell includes electrolyte and the electrode to
which cations (positively charged ions) migrate, i.e., the cathode or positive
electrode. In the redox reaction that powers the battery, cations are reduced
(electrons are added) at the cathode, while anions are oxidized (electrons are
removed) at the anode. The electrodes do not touch each other but are electrically
connected by the electrolyte. Some cells use two half-cells with different
electrolytes. A separator between half-cells allows ions to flow, but prevents
mixing of the electrolytes.

Batteries are classified into two broad categories, each type with advantages and
disadvantages.

 Primary batteries irreversibly (within limits of practicality) transform


chemical energy to electrical energy. When the initial supply of reactants is
exhausted, energy cannot be readily restored to the battery by electrical
means.

21
 Secondary batteries can be recharged; that is, they can have their chemical
reactions reversed by supplying electrical energy to the cell, restoring their
original composition.

Some types of primary batteries used, for example, for telegraph circuits, were
restored to operation by replacing the components of the battery consumed by the
chemical reaction. Secondary batteries are not indefinitely rechargeable due to
dissipation of the active materials, loss of electrolyte and internal corrosion.

PRIMARY BATTERIES

Primary batteries can produce current immediately on assembly. Disposable


batteries are intended to be used once and discarded. These are most commonly
used in portable devices that have low current drain, are used only intermittently,
or are used well away from an alternative power source, such as in alarm and
communication circuits where other electric power is only intermittently
available. Disposable primary cells cannot be reliably recharged, since the
chemical reactions are not easily reversible and active materials may not return to
their original forms. Battery manufacturers recommend against attempting
recharging primary cells. Common types of disposable batteries include zinc–
carbon batteries and alkaline batteries. In general, these have higher energy
densities than rechargeable batteries, but disposable batteries do not fare well
under high-drain applications with loads under 75 ohms (75 Ω).

SECONDARY BATTERIES

Secondary batteries must be charged before use; they are usually


assembled with active materials in the discharged state. Rechargeable batteries
or secondary cells can be recharged by applying electric current, which reverses

22
the chemical reactions that occur during its use. Devices to supply the appropriate
current are called chargers or rechargers.

The oldest form of rechargeable battery is the lead–acid battery. This


battery is notable in that it contains a liquid in an unsealed container, requiring
that the battery be kept upright and the area be well ventilated to ensure safe
dispersal of the hydrogen gas produced by these batteries during overcharging.
The lead–acid battery is also very heavy for the amount of electrical energy it can
supply. Despite this, its low manufacturing cost and its high surge current levels
make its use common where a large capacity (over approximately 10 Ah) is
required or where the weight and ease of handling are not concerns.

4.1.5 VOLTAGE SENSOR


Ideal for situations where power quality is an issue, VoltageWatch sensors
facilitate monitoring of supply voltage levels. They identify undervoltage or
overvoltage concerns and help protect critical motors and electronics.
Because they have an industry-standard 4–20 mA output, they are easily
coupled to a data logger, panel meter or PLC for real-time monitoring and
reporting.

DESCRIPTION :
23
 This module is based on resistance points pressure principle, and it can
make the input voltage of red terminal reduce 5 times of original voltage.

 The max Arduino analog input voltage is 5 V, so the input voltage of this
module should be not more than 5 V x 5 = 25 V ( if for 3.3 V system, the
input voltage should be not more than 3.3 V x 5 = 16.5 V ).
 Because the Arduino AVR chip have 10 bit AD, so this module
simulation resolution is 0.00489 V (5 V / 1023), and the input voltage of
this module should be more than 0.00489 V x 5 = 0.02445 V.
SPECIAL PARAMETERS
 Voltage input range : DC0-25 V
 Voltage detection range : DC0.02445 V-25 V
 Voltage analog resolution : 0.00489 V
 DC input interface : red terminal positive with VCC, negative with GND
CONNECTING DIAGRAM

24
This sensor module come with 3 Pin Dual-female Jumper Wire length 300mm
as:

APPLICATION
 Connect this vlotage sensor module with Arduino sensor shield through 3
Pin sensor cable, not only can easily realize to detect and control the
voltage, but also can display the voltage through the IIC LCD1602 LCD
module and make voltage monitor.
 cable, not only can easily realize to detect and control the voltage, but also
can display the voltage through the IIC LCD1602 LCD module and make
voltage monitor.

4.1.6 LCD
INTRODUCTION:
Liquid crystal cell displays (LCDs) are used in similar applications where LEDs
are used. These applications are display of display of numeric and alphanumeric
characters in dot matrix and segmental displays.
LCDS ARE OF TWO TYPES:

25
I. Dynamic scattering type
II. Field effect type

THE CONSTRUCTION OF A DYNAMIC SCATTERING LIQUID


CRYSTAL CELL:
The liquid crystal material may be one of the several components, which
exhibit optical properties of a crystal though they remain in liquid form.
Liquid crystal is layered between glass sheets with transparent electrodes
deposited on the inside faces.
When a potential is applied across the cell, charge carriers flowing
through the liquid disrupt the molecular alignment and produce turbulence.
When the liquid is not activated, it is transparent. When the liquid is activated
the molecular turbulence causes light to be scattered in all directions and the
cell appear to be bright.
This phenomenon is called dynamic scattering.
The construction of a field effect liquid crystal display is similar to that
of the dynamic scattering type, with the exception that two thin polarizing
optical filters are placed at the inside of each glass sheet. The liquid crystal
material in the field effect cell is also of different type from employed in the
dynamic scattering cell. The material used is twisted numeric type and actually
twists the light passing through the cell when the latter is not energised.

A liquid crystal display (LCD) is an electronically-modulated optical


device shaped into a thin, flat panel made up of any number of color or
monochrome pixels filled with liquid crystals and arrayed in front of a light
source (backlight) or reflector. It is often utilized in battery-powered electronic
devices because it uses very small amounts of electric power. LCD has material,
which continues the properties of both liquids and crystals. Rather than having a

26
melting point, they have a temperature range within which the molecules are
almost as mobile as they would be in a liquid, but are grouped together in an
ordered from similar to a crystal.
LCD consists of two glass panels, with the liquid crystal materials
sandwiched in between them. The inner surface of the glass plates is coated with
transparent electrodes which define in between the electrodes and the crystal,
which makes the liquid crystal molecules to maintain a defined orientation angle.
When a potential is applied across the cell, charge carriers flowing through the
liquid will disrupt the molecular alignment and produce turbulence.
When the liquid is not activated, it is transparent. When the liquid is
activated the molecular turbulence causes light to be scattered in all directions
and the cell appears to be bright. Thus the required message is displayed. When
the LCD is in the off state, the two polarizer’s and the liquid crystal rotate the
light rays, such that they come out of the LCD without any orientation, and hence
the LCD appears transparent.

WORKING:

When sufficient voltage is applied to the electrodes the liquid crystal


molecules would be aligned in a specific direction. The light rays passing through
the LCD would be rotated by the polarizer, which would result in
activating/highlighting the desired characters. The power supply should be of
+5v, with maximum allowable transients of 10mv. To achieve a better/suitable
contrast for the display the voltage (VL) at pin 3 should be adjusted properly. A
module should not be removed from a live circuit.
The ground terminal of the power supply must be isolated properly so that
voltage is induced in it. The module should be isolated properly so that stray
voltages are not induced, which could cause a flicking display. LCD is
lightweight with only a few, millimeters thickness since the LCD consumes less
27
power, they are compatible with low power electronic circuits, and can be
powered for long durations. LCD does not generate light and so light is needed to
read the display. By using backlighting, reading is possible in the dark. LCDs
have long life and a wide operating temperature range. Before LCD is used for
displaying proper initialization should be done.
LCDs with a small number of segments, such as those used in digital
watches and pocket calculators, have individual electrical contacts for each
segment. An external dedicated circuit supplies an electric charge to control each
segment. This display structure is unwieldy for more than a few display elements.
Small monochrome displays such as those found in personal organizers, or older
laptop screens have a passive-matrix structure employing super-twisted nematic
(STN) or double-layer STN (DSTN) technology—the latter of which addresses a
color-shifting problem with the former—and color-STN (CSTN)— wherein color
is added by using an internal filter. Each row or column of the display has a
single electrical circuit.
The pixels are addressed one at a time by row and column addresses. This
type of display is called passive-matrix addressed because the pixel must retain its
state between refreshes without the benefit of a steady electrical charge. As the
number of pixels (and, correspondingly, columns and rows) increases, this type of
display becomes less feasible.
Very slow response times and poor contrast are typical of passive matrix
addressed LCDs. High-resolution color displays such as modern LCD computer
monitors and televisions use an active matrix structure. A matrix of thin-film
transistors (TFTs) is added to the polarizing and color filters. Each pixel has its
own dedicated transistor, allowing each column line to access one pixel. When a
row line is activated, all of the column lines are connected to a row of pixels and
the correct voltage is driven onto all of the column lines.
The row line is then deactivated and the next row line is activated. All of
the row lines are activated in sequence during a refresh operation. Active-matrix
28
addressed displays look "brighter" and "sharper" than passive-matrix addressed
displays of the same size, and generally have quicker response times, producing
much better images. A general purpose alphanumeric LCD, with two lines of 16
characters. So the type of LCD used in this project is16 characters * 2 lines with
5*7 dots with cursor, built in controller, +5v power supply, 1/16 duty cycle.

PIN DESCRIPTION FOR LCD:


PIN SYMBOL FUNCTION
NO
1 Vss Ground terminal of Module
2 Vdd Supply terminal of Module, +
5v
3 Vo Power supply for liquid crystal drive
4 RS Register select
RS=0…Instruction register
RS=1…Data register
5 R/W Read/Write
R/W=1…Read
R/W=0…Write

29
6 EN Enable

7- DB0-DB7 Bi-directional Data Bus.


14 Data Transfer is performed once ,thru
DB0-DB7,incase of interface data length
is 8-bits;and twice, thru DB4-DB7 in the
case of interface data length is 4-
bits.Upper four bits first then lower four
bits.

15 LAMP-(L-) LED or EL lamp power supply terminals

16 LAMP+(L+) Enable
(E2)

LCD PIN DESCRIPTIONS:

The function of each pins of LCD is described below VCC, VSS and VEE while
v and v provide +5v and ground, respectively, v is used for controlling LCD
contrast.

RS, register select


There are two very important registers inside the LCD. The RS pin is used
for their selection as follows. If RS=0, the instruction code register is selected,
allowing the user to send a command such as clear display, cursor at home,etc.if
RS=1 the data register is selected, allowing the user to send data to be displayed
on the LCD.

30
R/W, read/write
R/W input allows the user to write information to the LCD or read
information from it. R/W=1 when reading; R/W=0 when writing.

E, enable
The enable pin is used by the LCD to latch information presented on its
data pins. When data is supplied to data pins, a high to low pulse must be applied
to this pin in order for the LCD to latch in the data present at the data pins.

D0 - D7
The 8-bit data pins, D0 – D7, are used to send information to the LCD or
read contents of the LCD’S internal registers. There are also instruction codes
that can be sent to the LCD to clear the display or force the cursor to the home
position or blink the cursor. RS=0 is used to check the busy flag bit to see if the
LCD is ready to receive information. The busy flag is D7 and can be read when
R/W=1 and RS=0, as follows: if R/W=1, RS=0.when D7=1, the LCD is busy
taking care of internal operation and will not accept any new information, when
D7=0, the LCD is ready to receive new information.
LCD INTERFACING WITH MICROCONTROLLER:

31
ADVANTAGES:
1. Consume much lesser energy (i.e. low power) when compared to LEDs.
2. Utilizes the light available outside and no generation of light.
3. Since very thin layer of liquid crystal is used, more suitable to act as
display elements (in digital watches, pocket calculators, ect.)
4. Since reflectivity is highly sensitive to temperature, used as temperature
measuring sensor.
5. Very cheap.
DISADVANTAGES:

1. Angle of viewing is very limited.


2. External light is a must for display.
3. Since not generating its own light and makes use of external light for
display, contrast is poor.
4. Cannot be used under wide range of temperature.
4.1.7 ADC
The ADC0808, ADC0809 data acquisition component is a monolithic
CMOS device with an 8-bit analog-to-digital converter, 8-channel multiplexer
and microprocessor compatible control logic. The 8-bit A/D converter uses
successive approximation as the conversion technique. The converter features a
high impedance chopper stabilized comparator, a 256R voltage divider with
analog switch tree and a successive approximation register. The 8-channel
multiplexer can directly access any of 8-single-ended analog signals. The device
eliminates the need for external zero and full-scale adjustments. Easy interfacing
to microprocessors is provided by the latched and decoded multiplexer address
inputs and
latched TTL TRI-STATE outputs.

The design of the ADC0808, ADC0809 has been optimized by


incorporating the most desirable aspects of several A/D conversion techniques.
32
The ADC0808, ADC0809 offers high speed, high accuracy, minimal temperature
dependence, excellent long-term accuracy and repeatability, and consumes
minimal power. These features make this device ideally suited to applications
from process and machine control to consumer and automotive applications. For
16- channel multiplexer with common output (sample/hold port) see ADC0816
data sheet. (See AN- 247 for more information.)

FEATURES
■ Easy interface to all microprocessors

■ Operates ratiometrically or with 5 VDC or

analog span adjusted voltage reference


■ No zero or full-scale adjust required

■ 8-channel multiplexer with address logic

FIG 4.1.7 ADC CHANNEL DIAGRAM

ADC TYPES

These are the most common ways of implementing an electronic ADC:


 A direct-conversion ADC or flash ADC
 A successive-approximation ADC
 A ramp-compare ADC

33
 The Wilkinson ADC
 An integrating ADC (also dual-slope or multi-slope ADC)
 A delta-encoded ADC or counter-ramp

34
4.1.8 RELAY

 A relay is an electrically operated switch.


 Electric current through the coil of the relay creates a magnetic field which attracts a
lever and changes the switch contacts.
 The coil current can be on or off so relays have two switch positions and there are
double-throw (changeover) switches.
 It consists of a coil of wire surrounding a soft iron core, an iron yoke, which provides a
low reluctance path for magnetic flux, a movable iron armature, and a set, or sets, of
contacts.
 In this condition, one of the two sets of contacts in the relay pictured is closed, and the
other set is open.

4.1.9 BUCK BOOST CONVERTER

35
Buck – boost converter is “a DC to DC converter which either steps up or steps
down the input voltage level”. The step up or step down of input voltage level
depends on the duty ratio. Duty ratio or duty cycle is the ratio of output voltage to
the input voltage in the circuit. Buck – bust converter provides regulated DC
output.

Circuit of BUCK-BOOST CONVERTER

When it is in buck mode, the output voltage obtained is less than input applied
voltage. In this mode, the output current is more than input current. However, the
output power is equal to the input power.
When it is in boost mode, the output voltage obtained is more than the input
applied voltage. In this mode, the output current is less than input current.
However, the output power is equal to the input power.
To operate the buck – boost converter, the two switches will operate
simultaneously. When switches are closed, inductor stores energy in a magnetic
field. When switches are open, the inductors get discharged and give the supply
to the load. The inductors in the circuit do not allow sudden variations in the
current. The capacitor across the load provides a regulated DC output.
There are several formats that can be used for buck-boost converters:

+Vin, -Vout: This configuration of a buck-boost converter circuit uses the


same number of components as the simple buck or boost converters. However
this buck-boost regulator or DC-DC converter produces a negative output for a

36
positive input.
While this may be required or can be accommodated for a limited number of
applications, it is not normally the most convenient format.

FIGURE 6: SW 1 is Open

When the switch in closed, current builds up through the inductor. When the
switch is opened the inductor supplies current through the diode to the
load.

+Vin, +Vout: The second buck-boost converter circuit allows both input
and output to be the same polarity. However to achieve this, more
components are required. The circuit for this buck boost converter is shown
below.

37
FIGURE 7 :SW 1 &SW 2 both Open

In this circuit, both switches act together, i.e. both are closed or open. When the
switches are open, the inductor current builds. At a suitable point, the switches are
opened. The inductor then supplies current to the load through a path incorporating
both diodes, D1 and D2.

4.1.10 TEMPERATURE SENSOR


The first slave connected to a temperature sensor LM35. This senses the
temperature of an engine and provides the level of temperature.
GENERAL DESCRIPTION
The LM35 series are precision integrated-circuit temperature sensors, whose
output voltage is linearly proportional to the Celsius (Centigrade) temperature. The
LM35 thus has an advantage over linear temperature sensors calibrated in Kelvin, as
the user is not required to subtract a large constant voltage from its output to obtain
convenient Centigrade scaling.

Figure 4.4 Basic Centigrade Temperature Sensor (+2°C to +150°C)

The LM35 does not require any external calibration or trimming to provide
38
typical accuracies of ±1⁄4°C at room temperature and ±3⁄4°C over a full −55 to
+150°C temperature range. The LM35’s low output impedance, linear output, and
precise inherent calibration make interfacing to readout or control circuitry especially
easy. It can be used with single power supplies, or with plus and minus supplies. As it
draws only 60 μA from its supply, it has very low self-heating, less than 0.1°C in still
air. The LM35 is rated to operate over a −55° to +150°C temperature range, while the
LM35C is rated for a −40° to +110°C range (−10° with improved accuracy).

The LM35 series is available packaged in hermetic TO-46 transistor packages,


while the LM35C, LM35CA, and LM35D are also available in the plastic TO-92
transistor package. The LM35D is also available in an 8-lead surface mount small
outline package and a plastic TO-220 package.

FEATURES
1. Calibrated directly in ° Celsius (Centigrade)
2. Linear + 10.0 mV/°C scale factor
3. 0.5°C accuracy guaranteeable (at +25°C)
4. Rated for full −55° to +150°C range
5. Suitable for remote applications
6. Low cost due to wafer-level trimming
7. Operates from 4 to 30 volts
8. Less than 60 μA current drain
9. Low self-heating, 0.08°C in still air
10. Nonlinearity only ±1⁄4°C typical
11. Low impedance output, 0.1 W for 1 mA load

CAPACITIVE LOAD

39
Figure 4.6 LM35 With Decoupling From Capacitive Load

Like most micro power circuits, the LM35 has a limited ability to drive heavy
capacitive loads. The LM35 by itself is able to drive 50 pf without special
precautions. If heavier loads are anticipated, it is easy to isolate or decouple the load
with a resistor.

40
4.2 SOFTWARE DESCRIPTIONS
4.2.1 ARDUINO IDE
The Arduino Integrated Development Environment - or Arduino Software
(IDE) - contains a text editor for writing code, a message area, a text console, a
toolbar with buttons for common functions and a series of menus. It connects
to the Arduino and Genuino hardware to upload programs and communicate
with them.
WRITING SKETCHES
Programs written using Arduino Software (IDE) are called sketches.
These sketches are written in the text editor and are saved with the file
extension .ino. The editor has features for cutting/pasting and for
searching/replacing text. The message area gives feedback while saving and
exporting and also displays errors. The console displays text output by the
Arduino Software (IDE), including complete error messages and other
information. The bottom right hand corner of the window displays the
configured board and serial port. The toolbar buttons allow you to verify and
upload programs, create, open, and save sketches, and open the serial monitor.

SKETCHBOOK
The Arduino Software (IDE) uses the concept of a sketchbook: a
standard place to store your programs (or sketches). The sketches in your
sketchbook can be opened from the File > Sketchbook menu or from the Open
button on the toolbar. The first time you run the Arduino software, it will
automatically create a directory for your sketchbook. You can view or change
the location of the sketchbook location from with the Preferences dialog.
Beginning with version 1.0, files are saved with a .ino file extension.
Previous versions use the
.pde extension. You may still open .pde named files in version 1.0 and later,
the software will automatically rename the extension to .ino.
Tabs, Multiple Files, and Compilation
41
Allows you to manage sketches with more than one file (each of which appears
in its own tab). These can be normal Arduino code files (no visible extension),
C files (.c extension), C++ files (.cpp), or header files (.h)
UPLOADING
Before uploading your sketch, you need to select the correct items from
the Tools > Board and Tools > Port menus. Theboards are described below.
On the Mac, the serial port is probably something like /dev/tty.usbmodem241
(for an Uno or Mega2560or Leonardo) or/dev/tty.usbserial-
1B1(foraDuemilanoveorearlierUSBboard), or/dev/tty.USA19QW1b1P1.1 (for a
serial board connected with a Keyspan USB-to-Serial adapter). On
Windows, it's probably COM1 or COM2 (for a serial board) or COM4,
COM5, COM7, or higher (for a USB board) - to find out, you look for USB
serial device in the ports section of the Windows Device Manager. On Linux, it
should be /dev/ttyACMx ,/dev/ttyUSBx or similar. Once you've selected the
correct serial port and board, press the upload button in the toolbar or select the
Upload item from the File menu. Current Arduino boards will reset
automatically and begin the upload. With older boards (pre-Diecimila) that
lack auto-reset, you'll need to press the reset button on the board just before
starting the upload. On most boards, you'll see the RX and TX LEDs blink as
the sketch is uploaded. The Arduino Software (IDE) will display a message
when the upload is complete, or show an error.
When you upload a sketch, you're using the Arduino bootloader, a small
program that has been loaded on to the microcontroller on your board. It allows
you to upload code without using any additional hardware. The bootloader is
active for a few seconds when the board resets; then it starts whichever sketch
was most recently uploaded to the microcontroller. The bootloader will blink
the on-board (pin 13) LED when it starts (i.e. when the board resets).

42
LIBRARIES
Libraries provide extra functionality for use in sketches, e.g. working with
hardware or manipulating data. To use a library in a sketch, select it from the
Sketch > Import Library menu. This will insert one or more #include statements
at the top of the sketch and compile the library with your sketch. Because
libraries are uploaded to the board with your sketch, they increase the amount of
space it takes up. If a sketch no longer needs a library, simply
delete its #includestatements from the top of your code.
SERIAL MONITOR
Displays serial data being sent from the Arduino or Genuino board (USB or
serial board). To send data to the board, enter text and click on the "send" button or
press enter. Choose the baud rate from the drop-down that matches the rate passed
to Serial.begin in your sketch. Note that on Windows, Mac or Linux, the Arduino
or Genuino board will reset (rerun your sketch execution to the beginning) when
you connect with the serial monitor.
You can also talk to the board from Processing, Flash, MaxMSP, etc (see the
interfacing page for details).
LANGUAGE SUPPORT

FIG 4.2.1 SKETCH DIAGRAM

43
Since version 1.0.1 , the Arduino Software (IDE) has been translated into 30+
different languages. By default, the IDE loads in the language selected by your
operating system. (Note: on Windows and possibly Linux, this is determined by
the locale setting which controls currency and date formats, not by the language
the operating system is displayed in.)
If you would like to change the language manually, start the Arduino Software
(IDE) and open the Preferences window. Next to the Editor Language there is a
dropdown menu of currently supported languages. Select your preferred language
from the menu, and restart the software to use the selected language. If your
operating system language is not supported, the Arduino Software (IDE) will
default to English.

4.2.2 EMBEDDED C
Embedded C is a set of language extensions for the C Programming
language by the C Standards committee to address commonality issues that exist
between C extensions for different embedded systems. Historically, embedded
C programming requires nonstandard extensions to the C language in order to
support exotic features such as fixed-point arithmetic, multiple distinct memory
banks, and basic I/O operations.
In 2008, the C Standards Committee extended the C language to address these
issues by providing a common standard for all implementations to adhere to. It
includes a number of features not available in normal C, such as, fixed-point
arithmetic, named address spaces, and basic I/O hardware addressing.
Embedded C uses most of the syntax and semantics of standard C, e.g., main()
function, variable definition, datatype declaration, conditional statements (if,
switch, case), loops (while, for), functions, arrays and strings, structures and
union, bit operations, macros, etc.

44
NECESSITY
During infancy years of microprocessor-based systems, programs were
developed using assemblers and fused into the EPROMs. There used to be no
mechanism to find what the program was doing. LEDs, switches, etc. were used
to check for correct execution of the program. Some ‘very fortunate’ developers
had In-circuit Simulators (ICEs), but they were too costly and were not quite
reliable as well. As time progressed, use of microprocessor-specific assembly-
only as the programming language reduced and embedded systems moved onto C
as the embedded programming language of choice. C is the most widely used
programming language for embedded processors/controllers. Assembly is also
used but mainly to implement those portions of the code where very high timing
accuracy, code size efficiency, etc. are prime requirements.
As assembly language programs are specific to a processor, assembly language
didn’t offer portability across systems. To overcome this disadvantage, several
high level languages, including C, came up. Some other languages like PLM,
Modula-2, Pascal, etc. also came but couldn’t find wide acceptance. Amongst
those, C got wide acceptance for not only embedded systems, but also for desktop
applications. Even though C might have lost its sheen as mainstream language for
general purpose applications, it still is having a strong-hold in embedded
programming.
ADVANTAGES
 It is small and simpler to learn, understand, program and debug.

 Compared to assembly language, C code written is more reliable and


scalable, more portable between different platforms.
 C compilers are available for almost all embedded devices in use today,
and there is a large pool of experienced C programmers.
 Unlike assembly, C has advantage of processor-independence and is not
specific to any particular microprocessor/microcontroller or any system.
45
This makes it convenient a user to develop programs that can run PC.

46
EMBEDDED SYSTEMS PROGRAMMING
Embedded systems programming is different from developing applications
on a desktop computer. Key characteristics of an embedded system, when
compared to PCs, are as follows: Embedded devices have resource constraints
(limited ROM, limited RAM, limited stack space, less processing
power)Components used in embedded system and PCs are different; embedded
systems typically use smaller, less power consuming components. · Embedded
systems are more tied to the hardware.
Two salient features of Embedded Programming are code speed and code
size. Code speed is governed by the processing power, timing constraints,
whereas code size is governed by available program memory and use of
programming language. Goal of embedded system programming is to get
maximum features in minimum space and minimum time. Embedded systems are
programmed using different type of languages:
 Machine Code

 Low level language, i.e., assembly

 High level language like C, C++, Java, Ada, etc.

 Application level language like Visual Basic, scripts, Access, etc.

Assembly language maps mnemonic words with the binary machine codes that
the processor uses to code the instructions. Assembly language seems to be an
obvious choice for programming embedded devices. However, use of assembly
language is restricted to developing efficient codes in terms of size and speed.
Also, assembly codes lead to higher software development costs and code
portability is not there. Developing small codes are not much of a problem, but
large programs/projects become increasingly difficult to manage in assembly
language. Finding good assembly programmers has also become difficult
nowadays. Hence high level languages are preferred for embedded systems
programming.
47
DIFFERENCE BETWEEN C AND EMBEDDED C
 Though C and embedded C appear different and are used in different
contexts, they have more similarities than the differences. Most of the
constructs are same; the difference lies in their applications.

 C is used for desktop computers, while embedded C is for microcontroller


based applications. Accordingly, C has the luxury to use resources of a
desktop PC like memory, OS, etc. While programming on desktop systems,
we need not bother about memory. However, embedded C has to use with
the limited resources (RAM, ROM, I/Os) on an embedded processor. Thus,
program code must fit into the available program memory. If code exceeds
the limit, the system is likely to crash.

 Compilers for C (ANSI C) typically generate OS dependant


executables. Embedded C requires compilers to create files to be
downloaded to the microcontrollers/microprocessors where it needs to run.
Embedded compilers give access to all resources which is not provided in
compilers for desktop computer applications.

 Embedded systems often have the real-time constraints, which is usually


not there with desktop computer applications. Embedded systems often do
not have a console, which is available in case of desktop applications. So,
what basically is different while programming with embedded C is the
mindset; for embedded applications, we need to optimally use the
resources, make the program code efficient, and satisfy real time
constraints, if any. All this is done using the basic constructs, syntaxes, and
function libraries of ‘C’.

48
4.2.3 PROTEUS SOFTWARE
Proteus (Processor for Text Easy to Use) is a fully functional, procedural
programming language created in 1998 by Simone Zanella. Proteus incorporates
many functions derived from several other languages: C, BASIC, Assembly,
Clipper/dBase; it is especially versatile in dealing with strings, having hundreds of
dedicated functions; this makes it one of the richest languages for text
manipulation.
Proteus owes its name to a Greek god of the sea (Proteus), who took care of
Neptune's crowd and gave responses; he was renowned for being able to transform
himself, assuming different shapes. Transforming data from one form to another is
the main usage of this language.

INTRODUCTION
Proteus was initially created as a multiplatform (DOS, Windows, Unix)
system utility, to manipulate text and binary files and to create CGI scripts. The
language was later focused on Windows, by adding hundreds of specialized
functions for: network and serial communication, database interrogation,
system service creation, console applications, keyboard emulation, ISAPI
scripting (for IIS). Most of these additional functions are only available in the
Windows flavor of the interpreter, even though a Linux version is still available.
Proteus was designed to be practical (easy to use, efficient, complete), readable
and consistent.

 Its strongest points are:


 powerful string manipulation;
 comprehensibility of Proteus scripts;
 availability of advanced data structures: arrays, queues (single or
double), stacks, bit maps, sets, AVL trees.
 The language can be extended by adding user functions written
in Proteus or DLLs created in C/C++.
49
LANGUAGE FEATURES
At first sight, Proteus may appear similar to Basic because of its straight
syntax, but similarities are limited to the surface:
 Proteus has a fully functional, procedural approach;

 variables are untyped, do not need to be declared, can be local or


public and can be passed by value or by reference;
 all the typical control structures are available (if-then-else; for-next;
while-loop; repeat- until; switch-case);
 new functions can be defined and used as native functions.

SYNOPSIS AND LICENSING


The main features of this language are:

 fully functional, procedural language;

 multi-language support: Proteus is available in several languages


(keywords and messages);

 no data types: all variables can be used as integer numbers, floating point
numbers or strings; variables are interpreted according to the functions
being applied – Proteus keeps different representations of their values
between calls, to decrease execution time in case of frequent conversions
between one type and the other;
 no pre-allocated structures: all data used by Proteus are dynamically
allocated at execution time; there are no limits on: recursion, maximum
data size, number of variables, etc.;
 no operators: Proteus is a completely functional language – there are no
operators; thus, there is no ambiguity when evaluating expressions and
parenthesis are not needed;
 large library of predefined functions: Proteus is not a toy-language, it
comes with hundreds of library functions ready to be used for working
50
on strings, dates, numbers, for sorting, searching and so on;

 Advanced Data Access (DAO), Pipes, Windows Sockets, Serial Ports: In The
Windows Version, Proteus Includes Hundreds Of System Calls Which Are
Operating System-Specific;
 Clear And Comprehensible Syntax: The Names Of The Library Functions
Resamble Those Of Corresponding Functions In C, Clipper/Flagship And
Assembly; By Using Medium-Length Keywords, Proteus Programs Are Very
Easy To Understand;
 Native Support For High-Level Data Structures: Arrays, Queues (Single Or
Double), Stacks, Bit Maps, Sets, AVL Trees Are Already Available In
Proteus And Do Not Require Additional Code Or Libraries To Be Used;

EXAMPLE PROGRAMS
Hello World

The following example prints out "Hello world!". CONSOLELN "Hello


World!"
Extract two fields

The following example reads the standard input (CSV format, separator
";") and prints out the first two fields separated by "|":
CONSOLELN TOKEN(L, 1, ";") "|" TOKEN(L, 2, ";")

Proteus scripts by default work on an input file and write to an output file;
the predefined identifier L gets the value of every line in input. The
function TOKEN returns the requested item of the string; the third
parameter represents the delimiter. String concatenation is implicit.

51
4.2.4 BLYNK

Blynk is a platform with iOS and Android apps to control Arduino, Raspberry Pi
and the likes over the Internet. It's a digital dashboard where you can build a
graphic interface for your project by simply dragging and dropping widgets. It's
really simple to set everything up and you'll start tinkering in less than 5 mins.
Blynk is not tied to some specific board or shield. Instead, it's supporting hardware
of your choice. Whether your Arduino or Raspberry Pi is linked to the Internet over
Wi-Fi, Ethernet or this new ESP8266 chip, Blynk will get you online and ready for
the Internet Of Your Things.

Blynk was designed for the Internet of Things. It can control hardware remotely, it
can display sensor data, it can store data, visualize it and do many other cool things.
There are three major components in the platform:
Blynk App: – It allows you to create amazing interfaces for your projects using
various widgets which are provided.
Blynk Server: – It is responsible for all the communications between the
smartphone and hardware. You can use the Blynk Cloud or run your private Blynk
server locally. It’s open-source, could easily handle thousands of devices and can
even be launched on a Raspberry Pi.
Blynk Libraries: – It enables communication, for all the popular hardware
platforms, with the server and process all the incoming and outcoming commands.
Now imagine, every time you press a Button in the Blynk app, the message travels
52
to the Blynk Cloud, where it magically finds its way to your hardware. It works the
same in the opposite direction and everything happens in a blynk of an eye.

Characteristics of Blynk are:


 Similar API & UI for all supported hardware & devices
 Connection to the cloud can be done using Ethernet, Wi-Fi, Bluetooth, BLE and
USB (Serial)
 Set of easy-to-use Widgets
 Direct pin manipulation with no code writing
 Easy to integrate and add new functionality using virtual pins
 History data monitoring via History Graph widget
 Device-to-Device communication using Bridge Widget
 Sending emails, tweets, push notifications, etc.
C. Sensor Units
A myriad number of sensors are being used in this system to measure various
parameters of environment. The system decisions and operations are controlled by
the sensors readings. Ambient temperature and humidity is measured by DHT11
sensor, water-level in tank is incessantly measured by ultrasonic sensor, motion is
detected by IR sensor and path/ location of a remote vehicle is tracked by a GPS
sensor.

53
PROGRAM PART

#include<LiquidCrystal.h>

LiquidCrystal lcd(13, 12, 11, 10, 9, 8);

#define ir 2

#define relay 3

#define rfid 4

#define temp A2

float Vin = 0, Vout = 0;

float R1 = 10000; // R1 = 10K ohm

float R2 = 1000; // R2 = 1K ohm

int sensor1 = A0;


54
float Vin2 = 0, Vout2 = 0;

int sensor2 = A1;

int card = 1000;

void pay(int p)

while (1)

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Disconnected");

delay(1000);

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Consumption Unit");

lcd.setCursor(5, 1);

lcd.print(p);

delay(2500);

if (p == 0)

55
{

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Charging Charges");

lcd.setCursor(0, 1);

lcd.print(" Only Above 10%");

delay(2000);

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("So, You will Not ");

lcd.setCursor(0, 1);

lcd.print("pay the Charges");

delay(2000);

lcd.clear();

goto last;

if (p == 10)

56
lcd.clear();

lcd.setCursor(0, 0);

lcd.print(" Charging Total ");

lcd.setCursor(0, 1);

lcd.print("Charges is 10rs");

int cash = 10;

delay(2000);

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Show your card");

lcd.setCursor(0, 1);

lcd.print("For the Charges");

delay(2000);

while (1)

int k;

k = digitalRead(rfid);

if (k == 1)

57
{

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("card scanning....");

delay(2000);

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Debit 10");

delay(2000);

card = card - cash;

lcd.setCursor(0, 0);

lcd.print("balance amount");

lcd.setCursor(4, 1);

lcd.print(card);

delay(2000);

goto last;

if (p == 20)

58
lcd.clear();

lcd.setCursor(0, 0);

lcd.print(" Charging Total ");

lcd.setCursor(0, 1);

lcd.print("Charges is 20rs");

int cash = 20;

delay(2000);

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Show your card");

lcd.setCursor(0, 1);

lcd.print("For the Charges");

delay(2000);

while (1)

int k;

k = digitalRead(rfid);

if (k == 1)

59
lcd.clear();

lcd.setCursor(0, 0);

lcd.print("card scanning....");

delay(2000);

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Debit 20");

delay(2000);

card = card - cash;

lcd.setCursor(0, 0);

lcd.print("balance amount");

lcd.setCursor(4, 1);

lcd.print(card);

delay(2000);

goto last;

if (p == 30)

lcd.clear();

60
lcd.setCursor(0, 0);

lcd.print(" Charging Total ");

lcd.setCursor(0, 1);

lcd.print("Charges is 30rs");

int cash = 30;

delay(2000);

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Show your card");

lcd.setCursor(0, 1);

lcd.print("For the Charges");

delay(2000);

while (1)

int k;

k = digitalRead(rfid);

if (k == 1)

lcd.clear();

61
lcd.setCursor(0, 0);

lcd.print("card scanning....");

delay(2000);

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Debit 30");

delay(2000);

card = card - cash;

lcd.setCursor(0, 0);

lcd.print("balance amount");

lcd.setCursor(4, 1);

lcd.print(card);

delay(2000);

goto last;

if (p == 40)

lcd.clear();

lcd.setCursor(0, 0);

62
lcd.print(" Charging Total ");

lcd.setCursor(0, 1);

lcd.print("Charges is 40rs");

int cash = 40;

delay(2000);

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Show your card");

lcd.setCursor(0, 1);

lcd.print("For the Charges");

delay(2000);

while (1)

int k;

k = digitalRead(rfid);

if (k == 1)

lcd.clear();

lcd.setCursor(0, 0);

63
lcd.print("card scanning....");

delay(2000);

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Debit 40");

delay(2000);

card = card - cash;

lcd.setCursor(0, 0);

lcd.print("balance amount");

lcd.setCursor(4, 1);

lcd.print(card);

delay(2000);

goto last;

if (p == 20)

lcd.clear();

lcd.setCursor(0, 0);

lcd.print(" Charging Total ");

64
lcd.setCursor(0, 1);

lcd.print("Charges is 50rs");

int cash = 50;

delay(2000);

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Show your card");

lcd.setCursor(0, 1);

lcd.print("For the Charges");

delay(2000);

while (1)

int k;

k = digitalRead(rfid);

if (k == 1)

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("card scanning....");

65
delay(2000);

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Debit 50");

delay(2000);

card = card - cash;

lcd.setCursor(0, 0);

lcd.print("balance amount");

lcd.setCursor(4, 1);

lcd.print(card);

delay(2000);

goto last;

if (p == 60)

lcd.clear();

lcd.setCursor(0, 0);

lcd.print(" Charging Total ");

lcd.setCursor(0, 1);

66
lcd.print("Charges is 60rs");

int cash = 60;

delay(2000);

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Show your card");

lcd.setCursor(0, 1);

lcd.print("For the Charges");

delay(2000);

while (1)

int k;

k = digitalRead(rfid);

if (k == 1)

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("card scanning....");

delay(2000);

67
lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Debit 20");

delay(2000);

card = card - cash;

lcd.setCursor(0, 0);

lcd.print("balance amount");

lcd.setCursor(4, 1);

lcd.print(card);

delay(2000);

goto last;

if (p == 70)

lcd.clear();

lcd.setCursor(0, 0);

lcd.print(" Charging Total ");

lcd.setCursor(0, 1);

lcd.print("Charges is 70rs");

68
int cash = 70;

delay(2000);

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Show your card");

lcd.setCursor(0, 1);

lcd.print("For the Charges");

delay(2000);

while (1)

int k;

k = digitalRead(rfid);

if (k == 1)

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("card scanning....");

delay(2000);

lcd.clear();

69
lcd.setCursor(0, 0);

lcd.print("Debit 70");

delay(2000);

card = card - cash;

lcd.setCursor(0, 0);

lcd.print("balance amount");

lcd.setCursor(4, 1);

lcd.print(card);

delay(2000);

goto last;

if (p == 20)

lcd.clear();

lcd.setCursor(0, 0);

lcd.print(" Charging Total ");

lcd.setCursor(0, 1);

lcd.print("Charges is 80rs");

int cash = 80;

70
delay(2000);

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Show your card");

lcd.setCursor(0, 1);

lcd.print("For the Charges");

delay(2000);

while (1)

int k;

k = digitalRead(rfid);

if (k == 1)

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("card scanning....");

delay(2000);

lcd.clear();

lcd.setCursor(0, 0);

71
lcd.print("Debit 80");

delay(2000);

card = card - cash;

lcd.setCursor(0, 0);

lcd.print("balance amount");

lcd.setCursor(4, 1);

lcd.print(card);

delay(2000);

goto last;

if (p == 90)

lcd.clear();

lcd.setCursor(0, 0);

lcd.print(" Charging Total ");

lcd.setCursor(0, 1);

lcd.print("Charges is 90rs");

int cash = 90;

delay(2000);

72
lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Show your card");

lcd.setCursor(0, 1);

lcd.print("For the Charges");

delay(2000);

while (1)

int k;

k = digitalRead(rfid);

if (k == 1)

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("card scanning....");

delay(2000);

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Debit 90");

73
delay(2000);

card = card - cash;

lcd.setCursor(0, 0);

lcd.print("balance amount");

lcd.setCursor(4, 1);

lcd.print(card);

delay(2000);

goto last;

if (p == 20)

lcd.clear();

lcd.setCursor(0, 0);

lcd.print(" Charging Total ");

lcd.setCursor(0, 1);

lcd.print("Charges is 100rs");

int cash = 100;

delay(2000);

74
lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Show your card");

lcd.setCursor(0, 1);

lcd.print("For the Charges");

delay(2000);

while (1)

int k;

k = digitalRead(rfid);

if (k == 1)

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("card scanning....");

delay(2000);

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Debit 100");

delay(2000);

75
card = card - cash;

lcd.setCursor(0, 0);

lcd.print("balance amount");

lcd.setCursor(4, 1);

lcd.print(card);

delay(2000);

goto last;

last:

break;

void setup()

lcd.begin(16, 2);

Serial.begin(9600);

pinMode(ir, INPUT); // ir 1

pinMode(rfid, INPUT);

pinMode(relay, OUTPUT);

76
pinMode(sensor1, INPUT);

pinMode(sensor2, INPUT);

pinMode(temp, INPUT);

digitalWrite(relay, 0);

void loop()

start:

digitalWrite(2, 0);

digitalWrite(3, 0);

lcd.clear();

lcd.setCursor(4, 0);

lcd.print("welcome to ");

lcd.setCursor(0, 1);

lcd.print("charging station");

delay(3000);

int val;

while (1)

int IR = digitalRead(ir);

float B = analogRead(sensor1);

77
Vout = B * (1.15 / 1024.0);

Vin = Vout * ((R1 + R2) / R2);

float A = analogRead(sensor2);

Vout2 = A * (1.15 / 1024.0);

Vin2 = Vout2 * ((R1 + R2) / R2);

int T=analogRead(temp);

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("BV=");

lcd.setCursor(3, 0);

lcd.print(Vin);

lcd.setCursor(8, 0);

lcd.print("| Temp");

lcd.setCursor(0, 1);

lcd.print("SV=");

lcd.setCursor(3, 1);

lcd.print(Vin2);

lcd.setCursor(8, 1);

lcd.print("| ");

lcd.setCursor(11, 1);

78
lcd.print(T);

delay(5000);

while (1)

float B = analogRead(sensor1);

Vout = B * (1.15 / 1024.0);

Vin = Vout * ((R1 + R2) / R2);

float A = analogRead(sensor2);

Vout2 = A * (1.15 / 1024.0);

Vin2 = Vout2 * ((R1 + R2) / R2);

if (Vin <= 8)

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("BV=");

lcd.setCursor(3, 0);

lcd.print(Vin);

delay(3000);

79
lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Battery power");

lcd.setCursor(5, 1);

lcd.print("Is Low");

delay(2000);

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Charging station");

lcd.setCursor(4, 1);

lcd.print("CLOSED");

delay(3000);

int IR = digitalRead(ir);

if (Vin >= 8)

lcd.clear();

delay(10);

lcd.setCursor(0, 0);

lcd.print(" [P1] slot");

lcd.setCursor(0, 1);

lcd.print(" is available");

80
delay(1000);

if (IR == 0)

lcd.clear();

delay(10);

lcd.setCursor(0, 0);

lcd.print(" [P1] slot");

lcd.setCursor(0, 1);

lcd.print(" is Parked");

delay(1000);

for (int i = 0; i <= 100; i += 10)

int IR = digitalRead(ir);

digitalWrite(relay, 1);

if ((IR == 1) || (i >= 10) )

digitalWrite(relay, 0);

val = i;

pay(i);

81
goto start;

lcd.clear();

delay(10);

lcd.setCursor(0, 0);

lcd.print("Charging level= ");

lcd.setCursor(0, 1);

lcd.print(i);

delay(1000);

lcd.print("%");

delay(800);

lcd.print("%");

delay(800);

lcd.print("%");

delay(800);

lcd.print("%");

delay(800);

lcd.print("%");

delay(800);

lcd.print("%");

82
delay(800);

lcd.print("%");

delay(800);

lcd.print("%");

delay(800);

lcd.print("%");

delay(800);

lcd.print("%");

delay(800);

lcd.print("%");

delay(800);

lcd.print("%");

delay(800);

83
CHAPTER 6

CONCLUSION AND FUTURE SCOPE


6.1 CONCLUSION

The research paper comes to the conclusion that this method of paying for parking
is significantly more effective and efficient than the current system, which relies
on hand-to-hand exchanges and entry-point token verification. Additionally, this
approach enables users to pay only the precise amount necessary for the time they
utilized a certain service in the parking lot. Since the database may also store the
amount of power utilized by the car to charge itself for the amount of time it is
parked and calculates the amount required to be paid by the user, further
implementation for charging e-vehicles using this method is possible. In order to
save the user a significant amount of time when looking for a slot and charging
his car in the parking lot. The user is also informed by this method of the number
of parking spaces that are open in a parking lot. Instead of manually verifying the
availability of parking spaces in the closest parking lots, this enables the user to
rapidly select a parking place.

6.2 FUTURE SCOPE

Electric vehicles (EV) is the future not only of transport but of our planet.
These vehicles are plugged into a charging station at a low voltage. There are no
emissions released from these vehicles. But what if you have an electric vehicle
that gets charged up from home electricity or by solar energy. What if you can
use this charge to power your home and your garage. You will no longer need to
fear the impact of fuel exporters. This means that electric vehicle drivers will be
looking at long trips and camping. A home built electric vehicle will reduce the
carbon footprint of the family and it will also lower electricity bills. The future
potential of electric vehicles is enormous. The obvious starting point for these
vehicles is the charging station.

84
REFERENCES

• Ashok D, Tiwari A, Jirge V. Smart parking system using IoT technology.


In2020 International Conference on Emerging Trends in Information
Technology and Engineering (ic-ETITE) 2020 Feb 24 (pp. 1-7). IEEE
• Kanan R, Arbess H. An IoT-based intelligent system for real-time parking
monitoring and automatic billing. In2020 IEEE International Conference on
Informatics, IoT, and Enabling Technologies (ICIoT) 2020 Feb 2 (pp. 622-
626). IEEE
• GokulKrishna S, Harsheetha J, Akshaya S, Jeyabharathi D. An IoT based
smart outdoor parking system. In2021 7th International Conference on
Advanced Computing and Communication Systems (ICACCS) 2021 Mar 19
(Vol. 1, pp. 1502-1506). IEEE.
• Kaleeem KS, Raju AS, Giweli N, Dawoud A, Prasad PW, Kashef MA. IoT
Regression Techniques In Smart Parking Systems: Survey. In2021 6th
International Conference on Innovative Technology in Intelligent System
and Industrial Applications (CITISIA) 2021 Nov 24 (pp. 1-10). IEEE
• Tripathi VR. Smart vehicle parking system using IoT. In2020 International
Conference on Electrical and Electronics Engineering (ICE3) 2020 Feb 14
(pp. 285-290). IEEE.
• R. W. Belk, ‘‘Possessions and the extended self,’’ J. Consum. Res., vol.
15, no. 2, pp. 139–168, 1988.
• R. Botsman and R. Rogers, What’s Mine Is Yours: How Collaborative
Consumption is Changing the Way We Live. London, U.K.: Collins, 2011.
• A. Burinskiene, A. Lorenc, and T. Lerher, ‘‘A simulation study for the
sustainability and reduction of waste in warehouse logistics,’’ Int. J. Simul.
Model., vol. 17, no. 3, pp. 485–497, 2018.
• Y. Cao, T. Wang, O. Kaiwartya, G. Min, N. Ahmad, and A. H. Abdullah,
‘‘An EV charging management system concerning drivers’ trip duration and
mobility uncertainty,’’ IEEE Trans. Syst., Man, Cybern., Syst., vol. 48, no.
85
4, pp. 596–607, Apr. 2018.
• J. Cavadas, G. H. de Almeida Correia, and J. Gouveia, ‘‘A MIP model for
locating slow- charging stations for electric vehicles in urban areas
accounting for driver tours,’’ Transp. Res. E, L.

86

87
88

You might also like