EMBEDDED SYSTEM BASED BATTERY MANAGEMENT SYSTEM DATA COMMUNICATION PERFORMANCE MODELING USING MACHINE LEARNING METHODS - Kusumah Nugraha, Yogie
Batteries have become a popular renewable energy storage alternative with a wide range of uses, from portable devices to power generation. Thus the condition of the battery must always be monitored so that battery performance remains optimal. A special dedicated system called Battery Management System (BMS) is used to monitor and control battery usage, The main function of the BMS is to keep the battery operating in a safe area, while providing a protection to the battery and its users. In its implementation, BMS devices usually use embedded system-based devices. The BMS devices contains several components with their respective functionalities, such as components for battery voltage, temperature and current measurement, components for overcharging and over-discharging protection, component battery cell balancing, components for estimating the State of Charge (SoC), State of Health (SoH), and Remaining Useful of Life (RUL), and data communication components to communicate with surrounding applications outside the BMS. One of the important requirements of an embedded system based BMS is that it must be power or energy efficient because just like in electric vehicles or portable equipment, the BMS is powered by the battery itself. The components contained in the BMS must be able to use the low power but still be able to carry out their respective functions, this include data communication components. Data communication will be related to the use of the CPU (Central Processing Unit) contained in the embedded system based BMS. Excessive CPU usage by data communication components in addition to consuming power can also reduce the overall BMS performance, because it can stop other BMS functionalities such as the SoC and SoH calculation, data storage function or even protection function. Thus the use of efficient data communication protocols will become very important. There are several data communication protocols that can be used for SMB based on embedded systems. The main focus of data communication protocols in this study are MQTT (Message Queuing Telemetry Transport) and OPC UA (Open Connectivity Unified Architecture). The MQTT protocol is the most popular data communication protocol today, while OPC UA is the only communication protocol recommended by RAMI 4.0 for applications that support industry 4.0. This study aims to obtain the most efficient data communication protocol and data communication performance model that can be used for embedded system-based SMB. The MQTT protocol is a communication protocol that uses a publisher-broker-subscriber architecture where the publisher is the sender or producer of data, the subscriber is the data receiver or consumer. In MQTT, publishers and subscribers do not interact directly, but through a mediator, namely a broker which responsible managing data transfer between the publishers and subscribers. The OPC-UA uses a client-server architecture, where generally the server functions as a data producer while the client functions as a data receiver. However, in this study, the OPC-UA server is a data receiver, while the OPC-UA client is data producer. To determine the performance of each protocol, in this study the MQTT Broker and OPC-UA Server were loaded by connecting several publishers for MQTT and clients for OPC-UA. Then the publishers and clients send data with various data frequencies. Publisher and OPC-UA client represents data communication component in BMS that are simulated using software. The publisher was created using the Python programming language and the Paho MQTT Client library, while the OPC-UA client was created using the C language and the open62541 library. MQTT broker uses Mosquitto MQTT Broker, while OPC-UA Server is made in C language using open62541 library. The hardware for MQTT Broker and OPC UA Server uses the embedded system Raspberry PI Model 3B+. Protocol performance is based on CPU utilization, RAM consumption, bandwidth consumption, power consumption on the server and the delay in data communication. The results showed that the MQTT protocol uses lower CPU utilization, RAM, bandwidth and power consumption than the OPC-UA protocol but there is a delay in the MQTT protocol when using fast data transmission frequencies. CPU utilization and power consumption will become a bottleneck because its utilization is affected by the number of clients connected and the frequency of data transmission. For this reason, CPU usage and power consumption by data communication components on SMB need to be regulated or planned properly. One of the efforts for this purpose is to create a data communication performance model using machine learning methods. In this study, an embedded system based BMS data communication performance model will be created using one of machine learning method, Supporting Vector Regression (SVR). This research is divided into several stages, namely: (1) study literature of the MQTT protocol, OPC-UA and the required testing parameters, (2) software development for simulating data transmission using the MQTT and OPC-UA protocols, (3) data delivery testing using MQTT and OPC-UA protocols, (4) analysis of the performance of each protocol, (5) modeling the hardware utilization of MQTT Broker and OPC-UA server using Supporting Vector Regression (SVR), (6) Model validation. The best CPU usage SVR model for the MQTT protocol is the model that with the RBF kernel, C=1000, Gamma=40, and epsilon=0.001, with MAE=0.9901, MSE=3.7640, and R2=0.9964. While the best CPU usage SVR model for the OPC-UA protocol is the model with RBF kernel, C=1000, Gamma=50, and epsilon=0.001 with MAE=1.1229, MSE=3.0224, and R2=0.9971. For the power consumption SVR model, the best model using the MQTT protocol is the model that uses the RBF kernel, C=100, Gamma=10, and epsilon=0.001, with MAE=0.0010, MSE=0.0286, and R2=0.9879 values. OPC-UA, the best model uses RBF kernel values C=50, Gamma=10, and epsilon=0.001 with MAE=0.0012, MSE=0.0308, dan R2=0.986. Keywords: BMS, MQTT, OPC-UA, Support Vector Regression.