Design of DC-DC Converter Bench Controlled by an Arduino Microcontroller

The main purpose of this paper is to design a DCDC converter bench controlled by an Arduino board. This DCDC converter bench is dedicated to the teaching of Power Electronics Labs. Several DC-DC converters topologies can be studied. Proteus simulations were carried out for the different structures. Keywords—DC-DC converters; Arduino; Proteus simulations


INTRODUCTION
A power converter circuit manages the flow of electrical energy between a source and a load. Until a few years ago, their primary use was in supplying motors in industrial applications and in electric traction systems. Nowadays, in addition to those fields, they are employed in very wide range of applications including domestic applications, renewable energy systems, FACTS (Flexible Alternating Current Transmission System), automotive… Innovations in the field of power converters are taking place on several axes: new generation of power semiconductors, more and more new configurations of power converters, the use of digital devices such as microcontrollers, FPGA (Field Programmable Gate Arrays) in control circuits.
Modern power converters offer a high grade of precision, flexibility, communication capability, reliability to the end user, with smaller sizes. This paper presents the design of DC-DC converter bench controlled by an Arduino card. Experiments and Proteus simulations are carried out for elementary structures of DC-DC converters such as buck, boost, buck-boost converters.
A block diagram of the experimental bench is shown in Fig.1. A DC power source, mostly battery is used to power the DC-DC converter. The pulse needed for switching the semiconductor is generated from the Arduino UNO. The code is written with the open-source Arduino Software (IDE). The measurement of the different currents and voltages can be done either by the Arduino card or by an oscilloscope.   Vin is the voltage delivered by the PIN7 of the Arduino. Vin is a square-wave voltage, the low level is 0V and the high level is 5V. In order to have a square-wave voltage with a frequency f=1kHz and a duty cycle D=0.6, the following code must be written with the Arduino Software (IDE). When Vin is at the high level (5V), the transistor T is ON (saturated), then vGS≈0V.  The result of the control circuit simulation is as follows. After simulation, the complete control circuit has been tested, the following result is obtained: The type and the values of the components used are as follows:

A. Buck converter
The buck converter is shown in Fig.7. It operates by periodically opening and closing an electronic switch (MOSFET). It is called a buck converter because the output voltage is less than the input. In practice, the following configuration (Fig.8) is preferred. Its main advantage is the common ground for both control and power circuits. The average of the output voltage u(t) is given by: D is the duty cycle.

B. Boost converter
The boost converter is shown in Fig.10. It is called a boost converter because the output voltage is larger than the input. In theory, the capacitor C is considered so large that the output voltage u is held constant at = .
The analysis proceeds by examining the inductor voltage (vL) and the switch voltage (vM) for the switch closed and again for the switch open.
Theoretical waveforms for boost converter are as follows: The average inductor voltage must be zero for periodic operation, then: Which gives: Since 0 ≤ ≤ 1, then ≥

C. Buck-boost converter
The buck-boost converter is shown in Fig.14. The output voltage of the buck-boost converter can be either higher or lower than the input voltage. In practice, the following configuration (Fig.15) is preferred. Its main advantage is the common ground for both control and power circuits. In theory, the capacitor C is considered so large that the output voltage u is held constant at = .
The analysis proceeds by examining the inductor voltage (vL) for the switch closed and again for the switch open.
Theoretical inductor voltage for buck-boost converter is as follows: The average inductor voltage must be zero for periodic operation, then: . + (1 − ) × (− ) = 0 (8) Which gives: If 0.5 < , > : the output voltage is larger than the input.
If < 0.5 , < : the output voltage is smaller than the input.

IV. SIMULATIONS AND RESULTS
In this section, Proteus simulations and real measurements are shown for the three configurations of DC-DC converters.

A. Buck converter
The complete buck converter circuit (control + power) is simulated using the Proteus software. Simulation is carried out for the practical values.

B. Boost converter
The complete boost converter circuit (control + power) is simulated using the Proteus software. Simulation is carried out for the practical values.  The yellow waveform represents the switch voltage and the red waveform represents the load voltage . Since the capacitor C has a finite value (C=54µF), the output voltage u is not constant (it has a ripple). Practical measurements confirm Proteus simulation as shown in Fig.24   The yellow waveform represents the inductor voltage and the red waveform represents the load voltage . Since the capacitor C has a finite value (C=54µF), the output voltage u is not constant (it has a ripple). Practical measurements confirm Proteus simulation as shown in Fig.27. In this project, a DC-DC converter bench is designed. This experimental bench is a multi-topology bench. It allows students to study the elementary DC-DC converters that are buck, boost and buck-boost converters. For this DC-DC converter, the pulse needed for switching semiconductor device is generated using the Arduino Uno.
Before performing experimental measurements, simulations with the Proteus software are carried out. The simulations results obtained are in accordance with measurements.
This project highlights that Arduino offers a simple and efficient way to control power converters. 1