1. Introduction
An effective alternative for charging electric vehicles (EVs) is renewable energy sources [
1]. On the other hand, the majority of resources provide new issues, as they do not support modulated or straightforward forecasting of generation [
2]. A large utilization of renewable sources could lead to encroachments, power declines and hence a lack of efficiency and power system unpredictability. EV-specific intelligent control systems may be a crucial component in bridging the gap between meeting transportation needs and generating energy from renewable sources [
3]. The first essential component to take into account is intelligent charging. This word refers to all the control strategies that aim to recharge the vehicle’s battery whenever possible [
4]. The intelligent charging adoption may smooth the additional peaks and reduce the need for additional power [
5].
Moreover, it reduces the transportation sector’s costs and emissions by allowing for more effective use of generation sequencing technologies and leveraging cleaner technology where possible [
6]. It is important to integrate the information and communication system to regulate and manage the energy transfer between the EVs and the power grid [
7]. Implementation of communication technologies is carried out with detailed analyses of appropriate technologies and standards to support system frameworks [
8]. Most of the communication standards are in progress, as it is an evolving technology. The standards and techniques are categorized into three groups: (1) Systems essential for home charging devices and transfers of messages between EV and charging equipment; (2) Mobile EV communication systems; and (3) Communication inter-control center standards [
9].
Currently, the power grid restricts grid operators to install a greater number of EV charging stations. Thence, the power should be balanced among neighboring stations by using communications infrastructures [
10]. Furthermore, while pre-charging, charging, and post-charging, the coordination between the vehicle and the charging station is essential. The EV and the charging unit must be connected to start the charging cycle for identification and authorization purposes. Furthermore, other information including charging time, power flow direction, power availability, energy cost and EV status are required to share between EV and charging station during charging. The communication standards for vehicles and charging stations [
11,
12,
13,
14,
15,
16,
17,
18] have been governed by the Society of Automotive Engineers (SAE) and are shown in
Figure 1.
In addition, the International Electrotechnical Commission (IEC) is industrialized numerous guidelines for the DC rapid charging alternative under development. IEC 61851-23 sets out specifications for gird links and Fast Charging (FC) contact systems. IEC 61851-24 forms the concept of digital contact between EVs and charging stations. The SAE Subcommittee on vehicle control and communications has recognized a procedure for the proposal and usage of devices that communicate electronic indications and control data between EV components. The communication requirements between an EV and a charging facility at different locations are shown in
Figure 2.
SAE J1939 and its equivalent services soon became the approved manufacturing standard [
19]. J1939 is a higher-layer CAN-based protocol. It carries communication between electronic control units (ECUs) and sensory units. Data including vehicle speed, torque, engine transmission, power availability and temperature(s) will be exchanged between these systems. The specifications and features of SAE J1939 are presented in
Table 1.
However, CAN communication is not appropriate for network administration and communications with higher than eight bytes of data. Thence, the higher-layer protocols such as SAEJ1939 for vehicles were designed to provide an enhanced networking infrastructure that supports unlimited-length messages and enables network control, including the use of node IDs. The implementation of communication between the charger controller and the battery management system is the main goal of this research. According to SAE specifications and MODBUS protocols, the information is transmitted over CAN in an expanded 29-bit ID format. The battery management system (BMS) and charger controller are connected by the vehicles through CAN communication. The Modbus communication protocol is used by the charger power modules with AC to DC and DC to DC converters. The objective is to reduce the cost of the project. Therefore, using cost-effective ATMEL micro-controllers, this research integrates the CAN bus and Modbus communication protocols to enable communication between the charger and the electric vehicle’s BMS. The distance between the electric car and the charger is extended using the CAN bus module (MCP2515) and Modbus module (MAX485). The communication is then verified using the PCAN View software.
The overall paper structure is as;
Section 2 discusses the various elements and their function of electric vehicle energy management and charging communication system with a schematic.
Section 3 discusses various modes of charging and the different levels of voltages adapted for charging the electric vehicle. Furthermore, the electric vehicle charging sequence and control communications are briefly discussed. In addition to that, the two communication protocols CAN bus SAEJ1939 and MODBUS are explored. In
Section 4, the electric vehicle charging communication system is implemented using SAE J1939 CAN protocol and MODBUS protocol with Arduino microcontroller. Finally, the research work if concluded in
Section 5.
3. Charger and Vehicle Communication
The EV charger may be housed on-board or off-board. The onboard charger is designed for the specific electric vehicle battery model and size. The battery can be charged by connecting the charger’s power inlet to the dedicated socket. On the other hand, the off-board electric vehicle charger requires communication with the battery control system for charging the batteries [
30]. The communication protocol may be independent of the vehicle model. Hence, off-board chargers are designed to adapt to multiple technologies and standards of BMS. This off-board charge provides more benefits than on-board chargers including faster charging, lesser size and weight. This section interpreters the charging sequence and their control communications of electric vehicles and is followed by a brief discussion on the CAN SAEJ1939 protocol and MODBUS protocol.
3.1. Charging Sequence and Control Communication
The EV charger charges the battery using the CC or CV or CC-CV charging methods considering the vehicle control system as the master and the charger control system as a slave. The charging control process enables after initiating the charge button ON. Until receiving the charging permission from the vehicle communication system, the charger will not provide power to charge the vehicle [
34]. The output is provided according to the charging current request and transmitted by the vehicle to the charger through CAN communication. Once the order value of the vehicle is notified through CAN communication, within the cycle of 100 milliseconds the system changes its order value. The detailed charging sequence and control communication between the charger and the electric vehicle is shown in
Figure 5.
3.2. CAN Bus SAEJ1939 Protocol
Electric vehicle data including torque, speed of the transmission system, engine temperature, oil level, battery level, and other signals from various parts are shared through the CAN interface [
36]. CAN is a serial network system for the automotive sector [
37]. CAN delivers rapid communication between ECUs, real-time sensing and control systems. CAN is a two-wired, half duplex ultra-speed network, which is upright in terms of flexibility and reliability of traditional serial systems such as RS232. CAN reduce the costly and complicated dual port infrastructure [
38]. The charging sequence and control communications of the CAN bus are shown in
Figure 6.
CAN is not ideal for systems involving minimal network management, but also for signals higher than 8bytes of data. This result, higher layer protocols i.e., integrating additional software on the CAN physical layer to provide an advanced network system that can facilitate unlimited-length messages. Furthermore, it allows network management using node IDs. CAN bus communication is enhanced by the SAE J1939 standard, it is a higher-layer software-based protocol [
37]. In addition to the usual CAN bus capabilities, SAE J1939 endorses node addresses and can receive data blocks over 8 bytes (up to 1785 bytes).
The SAE J1939 is meant to simulate the J1708 and J1587 functionality along with the support for the control system [
19]. J1708 or J1587 requirements are typically used in automotive applications. SAE J1939 is an ingenious protocol that takes full advantage of the CAN 29-bit message descriptor, which is an essential feature. SAE J1939 is set up to deal with parameter tables, instead of depending on a multitude of protocol features, it holds the real protocol at a comprehensible level. SAE J1939 does not follow the existing master/slave or client/server architecture as opposed to other CAN-based protocols [
19]. The traditional multi-master theory, in which all other nodes are considered slaves and the master is the node that prevails in the bus mediation, also functions effectively. J1939 is a physical layer, used in commercial vehicle for communication. It supports both peer-to-peer and broadcast communication with a bit rate of 250 kbps. CAN transmit up to 1765 bytes of data using transport protocol (TP). There shall be a data circuit for CAN communication, which facilitates one-on-one communication between the vehicle and charger. Parameters for charge control (current order value, voltage/current measurement results, flags indicating charging/vehicle conditions, etc.) shall be exchanged via this communication circuit. From the programming point of view, it is essential to note the configuration parameter groups and their numbers. The message priority and the software node address reflect the 29-bit message as shown in
Figure 7.
Twelve bytes of data are mentioned here, as the above 12 bytes and other data are optional, it is not mentioned. The complete data are written in the program and hence the connection management method is used. The charger provides electricity when the BMS requests it. It can comprehend the supplied and necessary energy by analyzing the CAN messages. This process has a specific format by which the CAN messages are sent and received. The following should be included in the communication between the BMS and charger, per SAE J1939;
There are two types of multi-packet messages, broadcast announcement messages and connection management. In broadcast management, the entire network will receive these messages. Hence, the connection management protocol is employed in this work for security reasons.
3.3. Modbus Communication Protocol
The Modbus is the most popular automation open protocol. Modbus lets computers and appliances communicate with each other in a common language. It is a system used to transmit information between electronic devices over serial lines. Modbus enables devices in a grid to transmit data to an ECU for comparison between various parameters connected to the same network [
39]. The computer demanding the information is called the Modbus master in the Modbus scheme, and the devices receiving the information are Modbus slaves. There is one Master and up to 247 slaves in a typical Modbus network, each having a specific slave address from 1 to 247. Modbus messages are transmitted in plain form over the network on basic interfaces such as RS485 or RS232, and the network will be devoted to Modbus communication only [
40]. Network serial master–slave Modbus communication is enabled with two-wire for sending and receiving lines. The master is allowed to contact specific slaves or start a broadcast to all slaves. A slave is any external computer that collects messages and transmits its reply message to the master using Modbus, such as an I/O transducer, switch, network drive or other forms of measuring instruments. Slaves return an answer to all message requests that are personally sent to them but do not respond to transmitted messages. Slaves do not send messages of their own and only respond to the master’s message inquiries. The Modbus data model does have a simple structure represented in four basic types of data as shown in
Figure 8.
The message or Modbus Protocol Storage Unit (PSU) service request field consists of a feature code, as well as the number of data bytes demanded from the operator [
41]. A device’s Modbus memory registers are arranged in 4-basic data reference types. It is identified by a leading number that is used in the computer memory address.
0-based reference register to distinct outputs or coils in read or write code
1-based reference register reading separates inputs
3-based reference register reading input information and
4-based reference register is to read or write the data to output or store them
The function area code determines the set of data records; it reads or writes to and from the slave. The PSU fields are split down into bytes and formed by the name of the field. The feature code of 03, the beginning address HI and LO bytes of address 0000, and the count number of addresses to be read from the slave are all included in the request message. Register HI and LO bytes of count value 0002 specifies the beginning register and the number of registers to be read from the slave. From the driving relays, all the data types are named, for example, a single-bit physical output is called a coil, and a single-bit physical input is called a discrete input or communication.
The message’s function code field contains one byte that informs the slave to take appropriate action. Valid function codes range from 1 to 255, but not all codes will apply to a particular slave [
40].
Figure 8 illustrates a subset of regular functions of Modbus. The master request data field also gives the slave certain additional details it needs to carry out the operation specified in the master’s request by the function code. Typically, this information includes the address of the slave map register, the number of registers that should be requested, and any written data from the master. The usual response of the slave merely repeats the request’s original function code, but the error response of the slave returns a code equal to the original function code with the most important logic-set bit 1. Add a custom code that notifies the master computer of what kind of problem happened or why the error occurred to the answer message data field.