Journal of Fuzzy Systems and Control, Vol. 2, No 3, 2024 |
Control of Bidirectional DC-DC Converter with Proportional Integral Derivative
Fadlilah Reza Septiawan 1, Adnan Rafi Al Tahtawi 2, Sofyan Muhammad Ilman 3,*
1,2,3 Department of Electrical Engineering, Polytechnic State of Bandung, Indonesia
Email: 1 fadlilah.reza.toi20@polban.ac.id, 2 adnan.raf@polban.ac.id, 3 sofyan.muhammad@polban.ac.id
*Corresponding Author
Abstract—In the bidirectional DC-DC converter (BDD converter), power flow is created in two directions. The topology of the converter has two modes: discharge mode and charge mode. In this discussion, control for both modes is done using an external switch. This study discusses points for planning a bidirectional DC-DC converter using the MATLAB / Simulink application and implementing equipment using PID control embedded in the Arduino UNO-type microcontroller device. The converter design in the MATLAB / Simulink application with two modes uses PID control, however, the PID method can only be done in discharge mode in the experimental stage. In obtaining PID parameters using Ziegler-Nichols tuning 1. The response results have been designed in the MATLAB / Simulink application for both modes, which have a rise time value of less than 0.2 seconds, a settlement time value of less than 1 second, and a steady-state error of less than 2%. The results of the hardware experiment in discharge mode have a rise time value of 1 second, a settlement time of 2 seconds, and a steady-state error of 0.8%. The hardware experiment response is slower than the simulation, and the steady state error is larger than the simulation. The charging method can be carried out with a current value of -0.1A.
Keywords—Bidirectional DC-DC Converter, PID, Discharging, Charging
Increasing dependence on fossil fuels for daily needs can cause an energy crisis in various sectors [1]. To overcome this, electric vehicles can be developed. In this way, they can minimize the use of fossil energy, which is decreasing daily. In the context of electric transportation, the role of the power converter currently meets the main needs and requirements. Various types of power converter technologies have been developed, including the bidirectional DC-DC converter (BDD converter), which has the advantage of two-way power distribution [2]-[3].
The converter also has the advantage of having two functions: the voltage reduction converter mode, commonly called buck, and the voltage increase converter, or boost mode [4]. DC-DC converter which functions as a prime mover on the starter motor [5], DC-DC converter control with digital control using fractional order PID-Type [6]. In the development of the BDD converter, it can be divided into two types, namely isolation and non-isolation types. Converters with isolation features, such as transformers or isolators, can electrically separate the input and output sections. The purpose of making isolation is to minimize the potential danger of short-circuiting current disturbances flowing from one side to the other, which can damage the components inside [7][8] and research [9] using a full-bridge bidirectional DC-DC converter. Then, for a non-isolation BDD converter, the input and output sections are connected directly without any isolation components, such as transformers, and the circuit tends to be more straightforward than an isolation BDD converter [10][11].
Research on [12] the novelty of the design and implementation of a bidirectional DC-DC converter with a new structure, namely the first mode, shows that the converter can operate as a boost converter. Depending on the duty cycle, it can operate as a buck or boost converter in the second mode.
The study [13] regenerative braking control in vehicles. The study [14] used a different PWM switching technique. Meanwhile, the study [15] examined the completion time of the ripple waveform on a BDD converter.
In the study [16][17], the aim was to test in the context of battery efficiency using a fuzzy logic controller based on a non-isolated BDD converter on a DC motor. The test results showed that the battery SOC could increase from 87.337% to 87.445%. Similar research was conducted using a fuzzy logic controller to find the error value on the fuzzy logic controller. The error value obtained was less than 4% for the charging and discharging processes [18].
The PI method can be applied to BDD converters, as in the study as its controller [19][20]. In this study, control was carried out with double-loop PI control [21]. A control strategy using fuzzy has proven effective in controlling motor speed. In the study [22], changes in setpoint with resistive loads using the PI method were examined. There were also those who used PID to control DC motor speed in the study [23].
In the study [24], the fuzzy and PI control methods were compared on a BDD converter. In the study [25], the BDD converter was compared with P, PI, and PID control. In different applications, PID can be embedded in submarine control [26].
This study aims to design and implement a BDD converter using PID control. The PID controller functions for rise and settling times and minimizes steady-state errors. Our main contribution is to design and simulate the topology of the bidirectional DC-DC converter in MATLAB/SIMULINK software using a PID controller and conduct hardware experiments referring to the simulation. The discharge and charge modes are controlled using external switches. In the hardware experiment section, the discharge mode uses PID control, while the charge mode does not use PID control.
The bidirectional DC-DC Converter (BDD Converter) setup includes 4 components: the battery, BDD converter, PID controller, and DC motor, which are illustrated in the link provided in Fig. 1.
In this study, the DC motor has a vital role to play. It serves as a motor when in discharge mode and as a generator when in charge mode. A switch is used to control both of these modes. When the switch is switched off, the discharge mode is activated, and the 9V battery supplies the input voltage. The BDD converter boosts the motor's output voltage to 20V. When the switch is turned on, the charge mode is initiated, and the DC motor acts as a generator to recharge the battery. The PID is tasked with stabilizing the motor voltage during discharge and the current during charge conditions.
In Fig. 2, the discharge mode operates as a boost converter. When S2 is ON, S1 will be OFF, and D1 and D2 will be in reverse bias. In this state (red line), the inductor will charge energy from the input voltage. When S1 and S2 are OFF, D1 becomes forward bias, and D2 is still in reverse bias. The current stored in the inductor will flow to D1 and C2 (blue line).
In Fig. 3 Charge mode operates as a buck converter. When S1 is ON then S2 will be OFF. And D1 and D2 will be in reverse bias. In this state, the difference between the generator and battery voltages will be the same as the inductor voltage (blue line). When S2 and S1 are OFF. D1 is still in reverse bias and D2 is forward bias. The generator voltage will be lowered, and the inductor will store energy and then flow to the battery and C1.
In Fig. 4 The model in MATLAB/Simulink uses a li-ion battery input, a BDD converter, and a paralleled DC motor output and uses a switch to set the discharge mode and charge mode.
The PID (Proportional-Integral-Derivative) controller is utilized in automatic control systems to achieve optimal stability and response by employing three corrective actions. In Fig. 5, a PID control system is depicted, comprising three primary components: proportional (), integral (
), and derivative (
). The error signal, which represents the variance between the setpoint value (
) and the actual output (
), is processed through these components. The proportional component reacts directly to the size of the error, the integral component adds up the error over time to remove any offset, and the derivative component reacts to how quickly the error changes. When these three signals are added together, they produce a control signal that modifies the plant or controlled system to move closer to the desired setpoint.
Fig. 5 is a block diagram of the PID controller used in the BDD converter system. The PID output value equation can be formulated as follows (1).
(1) |
The above equation describes the combination of the three main components of PID: proportional, integral, and derivative. Correctly setting the values of ,
, and
is an integral part of the PID tuning process, such as the Ziegler-Nichols I tuning process, to achieve optimal control performance in a given system. Ziegler-Nichols 1 has two parameters: the L value (dead time) and the T value (time constant). The L value represents the delay time from when a disturbance or input change is applied until the system begins to respond. The T value is the time required for the system to reach approximately 63% of the final response after it starts to respond. The Ziegler Nichols 1 PID formula to obtain
,
, and
is as follows. Fig. 6 is an S curve in an open loop system. Ziegler Nichols 1 equation (2) to equation (4) for
,
, and
is as follows:
(2) | |
(3) | |
(4) |
In equation (2) to equation (4), it is Ziggel Nichols 1, which will be used in the simulation and experiment stages. Fig. 7 is a block diagram of PID control in discharge and charge modes. When the switch is OFF, the voltage setpoint is at 20 with feedback on the motor voltage. When the switch is ON, the battery current setpoint is at -0.5 with feedback on the battery current.
Based on the results of PID tuning using Ziegler-Nichols 1 in discharge mode, the values obtained are L= 0.025 and T= 0.2. The parameters ,
, and
are shown in Table 1.
Table 1 shows the PID constant parameters for discharge mode. Based on the results of PID tuning using Ziegler-Nichols 1 in charge mode, the values L = 0.1 and T = 0.5 will be obtained. The parameters ,
, and
are listed in Table 2. Table 2 shows the PID constant parameters for charge mode, in which the controller in the converter charges the battery.
Type of Controller | Motor Voltage | ||
PID | 9.6 | 0.04 | 0.01 |
Type of Controller | Battery Current | ||
PID | 6.2 | 0.2 | 0.05 |
This examination uses several schemes, including simulation testing in MATLAB/Simulink and experimentally. Simulation testing includes testing the set point in discharge mode (reference voltage) and charge mode (reference current). Experimental testing includes testing the voltage with PID in discharge and open loop charge modes.
The parameters shown in this study are used by the bidirectional DC-DC converter system Table 3. With specifications in Table 3. inserted into each component, the BDD converter system can be simulated in MATLAB/Simulink. Table 3 shows the overall parameters of the BDD converter system, from the basic components supporting the converter to the load data used in the form of a DC motor.
Parameters | Values | Unit |
Battery Voltage (Vbat) | 9 | V |
Inductor (L) | 6.34 | mH |
Capacitor (C1) | 7.88 | uF |
Capacitor (C2) | 172.34 | uF |
Motor resistance (Rm) | 2.581 | Ohm |
Motor inductor (Lm) | 0.028 | mH |
Torque constant (kt) | 1 | - |
Back EMF constant (kc) | 0.05 | - |
Friction coefficient (b) | 0.002953 | N.m.s |
Moment of Inertia | 0.02215 | Kg.m2 |
In MATLAB simulation, there are two testing modes, namely setpoint testing in discharge mode with the PID method and setpoint testing in charge mode with the PID method. When the discharge switch mode is OFF, the battery input voltage is 9V, and the output voltage is 20V according to the setpoint.
In Fig. 8 the setpoint has been set to 20 V. The rise time in the figure above is 0.16 s, and the settling time is 1.1 s. Since the steady-state condition is at 19.93 V, the steady-state error is 0.35%. PID tuning optimization with trial and error is required to accelerate the settling time response.
Fig. 8 shows the PID control response in discharge mode with Zigler-Nichols tuning 1. Where the graph shows a rise time below 0.5 seconds. Table 4 shows a table of PID constants from the optimization of Zigler-Nichols 1 to obtain a more optimal response.
With the PID parameters from Table 4, we generated the graph shown in Fig. 9 the setpoint was configured to 20 V. Fig. 9 displays a quicker rise time of 0.15 s, a faster settling time of 0.7 s, and a reduced steady-state error of 0.15%. In comparison to Fig. 8, the response in Fig. 9 exhibits faster rise time and settling time, as well as a smaller steady-state error.
When the charge mode is ON, the motor acts as a battery generator. In Fig. 10, the setpoint has been set to -0.5A. The rise time in the figure above is 0.05 s, and the settling time is 0.0 s. Since the steady-state condition is at -0.7A, the steady-state error is 40%. To minimize the steady-state error, PID tuning optimization with trial and error is required.
Type of controller | Motor Voltage | ||
PID | 14 | 0.1 | 0.8 |
Fig. 10 shows the PID control response in charge mode with Zigler-Nichols tuning 1. Where the graph shows a rise time below 0.5 seconds. Table 5 shows a table of charge mode PID constants resulting from optimizing Zigler-Nichols 1 to obtain a more optimal response.
In Fig. 11, The current setpoint is configured to -0.5A. A rise time of 0.05 seconds and a settling time of 0.1 seconds have been specified. Under steady-state conditions, the battery current stabilizes at 0.5057A, leading to a steady-state error of 1.154%. A notable contrast exists in the steady-state error when comparing Ziegler-Nichols 1 tuning with PID parameter optimization.
Type of controller | Motor Voltage | ||
PID | 6.096 | 0.008 | 0.002 |
Fig. 12 illustrates the actual hardware implementation of the bidirectional DC-DC converter system. The battery links to the current sensor labeled as ACS 172 manufactured by DFRobot, which monitors the incoming current during charging. Subsequently, it connects to the BDD converter board equipped with a voltage sensor and an Arduino Uno microcontroller. The outputs from the voltage and current sensors are converted to a 10-bit ADC value to enable reading by the Arduino Uno. The digital pin of the Arduino Uno serves as the PWM source. The switch mode facilitates setting the charge and discharge modes, while the power supply acts as a source during generator mode. The PID generates a PWM signal distributed to each MOSFET.
Experimental testing is conducted to assess the actual control results and to determine whether the system functions as expected or whether there are differences with the simulation results. This difference is very likely because many external factors can affect the system. This is natural because the components used in practice are sometimes only sometimes ideal.
In Fig. 13 The motor voltage value after tuning with PID Ziegler-Nichols 1, the Kp, Ti, and Td values are the same as the simulation results in MATLAB. In the image above, the setpoint has been set to 20V. The rise time in the image above is 2.5s, and the settling time is 3s. The steady-state error is 0.89%. There is a difference in settling time in the simulation and experiment, the difference in rise time between the simulation and experiment is 2.34s, and the difference in settling time in the simulation and experiment is 1.9s. The steady-state error in the experiment is 0.54% greater than the simulation.
In Fig. 14 Motor voltage after tuning the PID with the parameters in Table 5. In the picture above, the setpoint is set at 20V. The rise time value is 1s, and the settling time is 2s. The steady-state error value is 0.8%. The difference in rise time between simulation and experimental hardware is 0.85s. Meanwhile, the difference in settling time is 1.3s. The difference in steady state error is 0.65%.
In Fig. 15 when the time is 0.5s to 17s the converter is in discharge mode and the switch is in OFF mode the current seems to fluctuate from 1.4A to 0.4A. When the switch is ON, the converter is in charge mode at 17s. The current immediately changes to -0.1A, indicating the battery is charging. When the switch is turned OFF at 28.5s, and the converter is in discharge mode, the current fluctuates from 0.7A to 0.3A. When the switch is turned ON again at 52.5s, and the converter is in charge mode, the current changes to -0.1A.
The design of a BDD converter using a DC motor in MATLAB/Simulink application with PID control when discharging mode and charging mode has a rise time value of 0.2s, a settling time value of less than 0.7s, and a steady-state error of less than 2%. The response hardware experiments are slower than the simulation, and the steady-state error is greater than the simulation. The charge method can be carried out with a current value of -0.1A. The results were obtained by optimizing the PID parameters and tuning the PID using the Ziegler-Nichols 1 as a reference value. The charge mode can be done with a current value of 0.1A. This research can be further developed by adding PID control in charge mode with hardware experiments. Additionally, the PID control can be modified into an adaptive fuzzy PID to make it more resistant to disturbances.
Thanks to Polytechnic State of Bandung and the Power Control and Electrical Machines Laboratory for facilitating the author in this research.
Fadlilah Reza Septiawan, Control of Bidirectional DC-DC Converter with Proportional Integral Derivative