*2.3. Small Signal Dynamic Model of DC-DC Buck Converter*

The small signal DC-DC buck converter model is obtained by linearizing the averaged model around an operating point. Thus, the input control and the output signals' expressions are to be represented by the sum of their quiescent values and a small alternative current (AC) variation. So, we can write,

$$
\langle i\_l \rangle\_{T\_s} = I\_l + i\_l \tag{10}
$$

$$
\langle V\_{load} \rangle\_{T\_s} = \mathcal{U}\_{load} + \tilde{\mathcal{V}}\_{load} \tag{11}
$$

$$
\langle V\_{dc} \rangle\_{T\_s} = \mathcal{U}\_{dc} + \tilde{V}\_{dc} \tag{12}
$$

$$
\langle S\_{\mathfrak{c}} \rangle\_{T\_s} = \mathfrak{a}\_{\mathfrak{c}} + \tilde{\mathfrak{a}} \tag{13}
$$

where *Il*, *Uload*, *Udc* and *α<sup>e</sup>* are the inductor current, the load voltage, the input voltage, and the duty cycle at the operating point, respectively.

Replacing *ilTs* , *VdcTs* , *VloadTs* and *ScTs* with their expressions, Equation (5) begins

$$\begin{cases} \begin{array}{c} \frac{d\left(l\_l + \overline{i}\_l\right)}{dt} = \left(\alpha\_\varepsilon + \widetilde{\alpha}\right) \frac{\left(\iota\mathcal{U}\_{dc} + \mathcal{V}\_{dc}\right)}{L} - \frac{\left(\iota\mathcal{U}\_{load} + \mathcal{V}\_{load}\right)}{L} \\\\ \begin{array}{c} \frac{d\left(\iota\mathcal{U}\_{load} + \overline{\mathcal{V}}\_{load}\right)}{dt} = \frac{\left(\iota\mathcal{I}\_l + \overline{i}\_l\right)}{\mathcal{C}} - \frac{\left(\iota\mathcal{U}\_{load} + \overline{\mathcal{V}}\_{load}\right)}{\mathcal{RC}} \end{array} \end{cases} \tag{14}$$

By separating steady state terms and small-signal terms, we obtain

$$\begin{cases} \frac{d\overline{l}}{dt} + \frac{dl\_{l}}{dt} = \underbrace{\frac{a\_{c}U\_{dc}}{L} - \frac{LU\_{load}}{L}}\_{\text{DC term}} + \underbrace{\frac{a\overline{V}\_{dc}}{L} + \frac{\overline{a}U\_{dc}}{L} - \frac{\overline{V}\_{load}}{L}}\_{1^{st}\text{ order AC term}} + \underbrace{\frac{\overline{a}\overline{V}\_{dc}}{L}}\_{2^{nd}\text{ order AC term}} \\\\ \frac{d\overline{V}\_{load}}{dt} + \frac{dU\_{load}}{dt} = \underbrace{\frac{l\_{l}}{\mathbb{C}} - \frac{\underline{l}U\_{load}}{\underline{RC}}}\_{\text{DC term}} + \underbrace{\frac{\overline{l}\_{l}}{\mathbb{C}} - \frac{\overline{V}\_{load}}{\underline{RC}}}\_{1^{st}\text{ order AC term}} \end{cases} \tag{15}$$

In the system of Equation (15), the DC terms contain the DC terms only, the first-order AC term contains a product of a DC term with an AC term, and the second order AC term contains a product between two AC terms.

The second-order AC terms are much smaller in magnitude than the firs- order AC terms. Therefore, the second small AC quantity is neglected. Moreover, *Udc*, *Il* and *Uload* are constant DC terms. As a result, the sum of the DC term and its derivative are zero. Consequently, only the linear term remains, and the small signal dynamic DC-DC buck converter is defined with (16).

$$\begin{cases} \begin{array}{c} \frac{d\bar{i}\_l}{dt} = \frac{\bar{a}U\_{dc}}{L} - \frac{\bar{V}\_{load}}{L} \\\\ \frac{d\bar{V}\_{load}}{dt} = \frac{\bar{i}\_l}{C} - \frac{\bar{V}\_{load}}{RC} \end{array} \tag{16}$$

#### *2.4. Comparative Study*

To assess the performance of the used mathematical model of the DC-DC buck converter, the three developed models are implemented in Matlab/Simulink platform and compared to one that was established using the predefined electronic components in matlab/Simulink packages. The parameters of the used DC-DC buck converter are grouped in Table 1.

**Table 1.** DC-DC buck converter parameters.


In order to assess the validity of the established models, various operating points are considered. The most significant simulation results are displayed and commented on. Figure 2a shows the evolution of the duty cycle used as a control signal for the averaged and small-signal models. The switching signal obtained at the pulse width modulation bloc, as a control signal for the bilinear switching model and established using the predefined electronic components, is depicted in Figure 2b. Output voltage waveforms are given in Figure 2c. Both dynamic and steady-state working modes are considered. As shown in Figure 2c, output voltage ripples are omitted both for the small signal model and the averaged model, and appear for the switching model, as established using the predefined electronic components in the matlab/Simulink packages. The accuracy of the established model is proven as the modeling error is a few percentage points lower at high duty cycle values, and increases at low duty cycle values, according to the losses in the used power semi-conductors in the DC-DC buck (Figure 2d). Consequently, to cope with the nonlinearities and modeling error, a robust nonlinear control law is to be used. This allows us to use the sliding model approach for DC-DC buck converter control.

**Figure 2.** *Cont*.

**Figure 2.** Comparative study simulation results: (**a**) duty cycle, (**b**) control signal, (**c**) output voltages of DC-DC buck converter models and (**d**) model modeling error.

#### **3. Sliding Mode Control Approach for Buck Converter Voltage Control**

Control of nonlinear systems using a sliding mode approach was conceived in 1992 by Vadim Ulkin [54] in order to solve the conventional controller's problems. Typical slidingmode control operates in the form of these two modes. The first is named the "approaching mode". When this mode is reached, the convergence of the system state to a predefined manifold called the sliding mode surface in finite time is assumed. The second, designed with sliding mode, follows the sliding surface and returns to the origin. Many approaches to sliding mode control have been conceived. The equivalent control approach [54–59] is the most commonly used. Let us denote with *S* the sliding mode function. In this case, the output's voltage is controlled. A linear sliding mode surface is adopted. It is defined for the first sliding mode control as follows:

$$S = \mathbb{C}\_1 \mathfrak{e} + \dot{\mathfrak{e}} \tag{17}$$

Here *<sup>e</sup>* is the output voltage error and . *e* is its derivative value. The output voltage error is defined by (13).

$$e = V\_{loadref} - V\_{load} \tag{18}$$

$$\dot{\varepsilon} = -\frac{1}{\mathbb{C}} \begin{bmatrix} i\_l \ - \ \frac{V\_{load}}{R} \end{bmatrix} \tag{19}$$

Substituting *<sup>e</sup>* and . *e* with their expressions, the sliding mode surface becomes:

$$S = -\frac{1}{\overline{C}}i\_l + \left(\frac{1}{\overline{RC}} - \mathbb{C}\_1\right)V\_{load} + \mathbb{C}\_1V\_{loadref} \tag{20}$$

Its derivative is defined by (21).

$$\dot{S} = \left(\frac{1 - \mathcal{C}\_1 R \mathcal{C}}{R \mathcal{C}^2}\right) \dot{l}\_l - \left(\frac{L - R^2 \mathcal{C} - \mathcal{C}\_1 R \mathcal{C} L}{R^2 \mathcal{C}^2 L}\right) V\_{load} - \frac{\alpha V\_{dc}}{L \mathcal{C}} \tag{21}$$

The equivalent control *αeq* is deduced from the following equality.

$$S = 0\tag{22}$$

It is defined as:

$$\alpha\_{c\eta} = \left(\frac{L - C\_1 RCL}{RCV\_{dc}}\right) i\_l - \left(\frac{L - R^2 C - C\_1 RCL}{R^2 CV\_{dc}}\right) V\_{load} \tag{23}$$

Since the duty cycle must be in 0 1 , the real control signal is given by (24).

.

$$a(t) = \begin{cases} 1 & \text{si } & \alpha(t) > 1 \\\\ \alpha\_{\epsilon\eta} + M \text{sign}(S) & 0 \le \alpha(t) \le 1 \\\\ 0 & \alpha(t) < 0 \end{cases} \tag{24}$$

#### **4. Internal Model Control Approach for Buck Converter Voltage Control**

The general block diagram of the internal model control (IMC) loop is given in Figure 3. *G*(*s*) is the real system's open loop transfer function, *Gi*(*s*) is the system model's open loop transfer function, and *Q*(*s*) is the IMC controller's transfer function [60].

**Figure 3.** The internal model control of the feedback scheme.

Referring to Figure 3, we can write

$$V\_{load} = G(\mathbf{s})[1 + Q(\mathbf{s})(G(\mathbf{s}) - G\_l(\mathbf{s}))]^{-1}Q(\mathbf{s})V\_{loadref} \tag{25}$$

When the modeling system is perfect, we can write

$$V\_{load} = G(s)Q(s)V\_{loadref} \tag{26}$$

The closed loop is stable if and only if *G*(*s*) and *Q*(*s*) are stable. However, if *G*(*s*) is in the non-minimum phase, *G*<sup>−</sup>1(*s*) is not stable. Besides this, if the *G*<sup>−</sup>1(*s*) numerator degree is higher than the denominator degree, then *G*−1(*s*) cannot be implemented. Referring to the H2 optimization leads to choosing *Q*(*s*) = *G*<sup>−</sup>1(*s*). To assume the feasibility condition, a low-pass filter is added. The final expression of the IMC controller is given in (27).

$$Q(s) = \frac{a}{s+a}G^{-1}(s) \tag{27}$$

where *a* is the filter parameter.

#### **5. Fuzzy Logic for Buck Converter Voltage Control**

Fuzzy logic is a computational approach based on degrees of truth. It was first discovered in the 1960s by Lotfi Zadeh [61]. Since the above approach does not require a mathematical model, and is based on human decision-making, this approach can present high efficiency. A mamdani-type fuzzy logic is used for the voltage control. In this fuzzy logic controller (FLC), the voltage error *ev*(*k*) and the change in voltage error *cev*(*k*) are the inputs of the fuzzy system, while the change in the duty cycle *cα*(*k*) is considered as the output of this system.

The equations for *ev*(*k*) and *cev*(*k*) are as follows:

$$e\_v(k) = V\_{load}(k) - V\_{loadref}(k)\tag{28}$$

When the modeling system is perfect, we can write

$$\alpha c\_v(k) = \frac{e\_v(k) - e\_v(k-1)}{T\_c} \tag{29}$$

where *Te* is the sample time.

According to Figure 4, three essential steps are to be followed in the mamdani system's conception. At the fuzification step, the crisp variables *ev*(*k*), *Cev*(*k*) and *Cα*(*k*) are converted to fuzzy sets using triangular membership functions, as can be seen in Figure 5a, b and c, respectively. The linguistic variables GN, PN, Z, PP and GP indicate negative big, negative small, zero, positive small and positive big. The number and the type of the membership function used for the system variables are determined through a trial and error test. The

obtained fuzzy output variables are then processed by an inference engine. A sum-prod inference algorithm is adopted in this work. Based on the input membership functions number, the number of rules is obtained. The if–then rules that map input to output are conceived as indicated in Table 2. At the defuzzification step, the inference engine output variable is converted into a crisp value. The centroid defuzzification algorithm is used in this paper. The control signal to be applied in the real system is obtained using a recurrent equation, as indicated in (30).

$$a(k) = a(k+1) + A C\_n(k) \tag{30}$$

**Figure 4.** Schematic of the fuzzy logic controller.

**Figure 5.** *Cont*.

**Figure 5.** Fuzzy logic controller membership functions: (**a**) error membership function, (**a**) change error membership function and (**b**) evolution of target, and (**c**) change duty cycle membership function.


**Table 2.** Rule-based table of the fuzzy logic controller.

A is adjustable positive gain.
