1 Introduction

Nowadays, DC–DC power converters are employed to increase or decrease output voltage in various applications of power electronic. Providing reliable voltage with acceptable regulation is one of the topics studied by researchers in recent years [1, 2]. One of the most widely used converters in this field is DC–DC boost converter that is used to regulate the output voltage of systems requiring higher voltage levels. Therefore, this converter is applied in renewable energy sources such as solar energy [3], fuel cell [4] and hybrid vehicles [5]. So, designing an appropriate control scheme that leads to enhance the voltage regulation quality is one of the most important problems in industry. Due to its switching action, the dynamic of this converter is nonlinear. Also, DC–DC boost converter inherits a right-half-plane zero which can give rise to transient response oddities [6, 7]. Moreover, there is a constraint on the control input bound of a DC–DC boost converter. These characteristics make this converter to challenging case for researchers.

Although, linear controllers such as PI and PID present desirable performance in selected operation point. However, when the operation point is changed, their voltage regulation quality will decrease [8, 9]. So, some papers have suggested linear controller with adaptive coefficients but the complicated structure of this controller made it unattractive [10]. Another group of controllers that do not need exact information of mathematical model of system are intelligent controllers such as neural network [11] or fuzzy controllers [12]. However, because the use of these types of controllers requires considerable memory and computational efforts, their application in power electronics industry has not been welcomed [1]. Therefore, different studies have tried to eliminate mentioned weakness applying nonlinear controllers. In this regard, various nonlinear controller such as sliding mode [13,14,15], passivity-based control [8, 16] and backstepping control [17] have been suggested. However, this kind of controller requires an exact information of system states to present control effort and this drawback is significant. Because, when the converter is applied in noisy circumstance, the sensor cannot transfer exact information [18, 19]. Also, if the parameters of the system change drastically, the sensor performance will drop [20]. In order to unravel this problem, researchers have suggested observer. Observers could estimate required state and parameters using minimum sensor and sensorless control scheme will realize. High reliability, low cost and high efficiency make sensorless control scheme an application of interest in academy and industry [21].

In this regard, different observers are presented for DC–DC boost converter. Estimation of inductor current has been considered in [22]. In this paper, an observer is designed to estimate inductor current using input voltage and output voltage. This purpose has been improved in [23]. In this article, inductor current and input voltage have been estimated using output voltage. In addition, Estimation of inductor current has been considered in [21]. In this study, a unified observer is designed for a class of DC–DC converters such as DC–DC boost converter.

In this paper, a new nonlinear observer based on Immersion and Invariance (I&I) manifold is designed for DC–DC boost converter [23, 24]. The implementation of I&I based observer is simple and does need high gain to suppress nonlinear terms [24]. In addition, the observer does not require output injection error term to estimate unavailable states and parameters. The proposed observer estimates input voltage and resistive load using output voltage and inductor current. The exponential stability of the proposed observer is provided by Lyapunov stability theorem. Also, the closed-loop control stability is realized considering control input constraint. In order to obtain the gains of the observer, an improved particle optimization algorithm is considered. Particle swarm optimization algorithm is well-known algorithm in optimization problems and many researchers employ this algorithm in controller design [25,26,27,28,29,30]. However, by applying some modifications to the movement of particles towards the optimal solution, the accuracy and convergence rate of the algorithm is improved in proposed algorithm. In order to confirm the advantages of I&I based observer, its performance is compared with conventional observer [14]. Furthermore, to validate the effectiveness of the propped control scheme, the practical test is implemented in this article. Therefore, hardware-in-loop structure is designed using Advantech card to realize experimental test. The rest of paper is organized as follows:

Section 2 presents general definition of DC–DC boost converter. In Sect. 3, the proposed observer is designed according to immersion and invariance method and the comparison with conventional observer is presented in Sect. 4. The definition of the improved optimization algorithm is rendered in Sect. 5. Sections 6 and 7 demonstrate simulation and experimental results respectively and the paper ends with conclusion section.

2 Problem statement

The dynamic of DC–DC boost converter is presented in this section. DC–DC boost circuit is demonstrated in Fig. 1.

Fig. 1
figure 1

DC–DC boost converter circuit

Where \(y\left( t \right) \in {\mathbb{R}}\) is the output (capacitor) voltage, \(x\left( t \right) \in {\mathbb{R}}\) is the input (inductor) current, \(u \in \left( {0,1} \right]\) is the continuous control signal (\(u = 1 - \mu\)), and \(C,L,G\) and \(E\) are positive constants representing the capacitance, inductance, load conductance and input voltage, respectively. Our aim is to regulate the output voltage to a desired value \(V_{d} \ge E\). The average model of this converter is defined as follows [22]

$$\begin{aligned} C\dot{y} & = ux - Gy \\ L\dot{x} & = E - uy \\ \end{aligned}$$
(1)

According to presented dynamic, observer will be designed in next section.

3 Observer design

In order to design observer according to immersion and invariance (I&I) method, off-the-manifold coordinate is defined as follows [22, 23]

$$\begin{aligned} z_{1} & = \lambda_{1} - G + \beta_{1} ({\text{y}},{\text{x}}) \\ z_{2} & = \lambda_{2} - E + \beta_{2} ({\text{y}},{\text{x}}) \\ \end{aligned}$$
(2)

It is worth noting that \(\lambda_{1} ,\lambda_{2}\) are observer state and \(\beta_{1} (y,x)\), \(\beta_{2} (y,x)\) are smooth mapping yet to be defined. It is evident if \(z = col(z_{1} ,z_{2} )\) converges to zero, the estimations of output resistance and input voltage are obtained as follows

$$\begin{aligned} \hat{G} & = \lambda_{1} + \beta_{1} ({\text{y}},{\text{x}}) \\ \hat{E} & = \lambda_{2} + \beta_{2} ({\text{y}},{\text{x}}) \\ \end{aligned}$$
(3)

The dynamic of \(z = col(z_{1} ,z_{2} )\) are achieved as follows

$$\begin{aligned} \dot{z}_{1} & = \dot{\lambda }_{1} + \frac{{\partial \beta_{1} }}{\partial y}\left( {\frac{u}{C}x - \frac{G}{C}y} \right) + \frac{{\partial \beta_{1} }}{\partial x}\left( {\frac{E}{L} - \frac{u}{L}y} \right) \\ \dot{z}_{2} & = \dot{\lambda }_{2} + \frac{{\partial \beta_{2} }}{\partial y}\left( {\frac{u}{C}x - \frac{G}{C}y} \right) + \frac{{\partial \beta_{2} }}{\partial x}\left( {\frac{E}{L} - \frac{u}{L}y} \right) \\ \end{aligned}$$
(4)

Substituting the (2) in (4), we have:

$$\begin{aligned} \dot{z}_{1} & = \dot{\lambda }_{1} + \frac{{\partial \beta_{1} }}{\partial y}\left( {\frac{u}{C}x - \frac{{(\lambda_{1} + \beta_{1} - z_{1} )}}{C}y} \right) + \frac{{\partial \beta_{1} }}{\partial x}\left( {\frac{{(\lambda_{2} + \beta_{2} - z_{2} )}}{L} - \frac{u}{L}y} \right) \\ \dot{z}_{2} & = \dot{\lambda }_{2} + \frac{{\partial \beta_{2} }}{\partial y}\left( {\frac{u}{C}x - \frac{{(\lambda_{1} + \beta_{1} - z_{1} )}}{C}y} \right) + \frac{{\partial \beta_{2} }}{\partial x}\left( {\frac{{(\lambda_{2} + \beta_{2} - z_{2} )}}{L} - \frac{u}{L}y} \right) \\ \end{aligned}$$
(5)

If the observer dynamic is defined

$$\begin{aligned} \dot{\lambda }_{1} & = - \frac{{\partial \beta_{1} }}{\partial y}\left( {\frac{u}{C}x - \frac{{(\lambda_{1} + \beta_{1} )}}{C}y} \right) - \frac{{\partial \beta_{1} }}{\partial x}\left( {\frac{{(\lambda_{2} + \beta_{2} )}}{L} - \frac{u}{L}y} \right) \\ \dot{\lambda }_{2} & = - \frac{{\partial \beta_{2} }}{\partial y}\left( {\frac{u}{C}x - \frac{{(\lambda_{1} + \beta_{1} )}}{C}y} \right) - \frac{{\partial \beta_{2} }}{\partial x}\left( {\frac{{(\lambda_{2} + \beta_{2} )}}{L} - \frac{u}{L}y} \right) \\ \end{aligned}$$
(6)

We have

$$\begin{aligned} \dot{z}_{1} & = \frac{{\partial \beta_{1} }}{\partial y}\frac{y}{C}z_{1} - \frac{{\partial \beta_{1} }}{\partial x}\frac{{z_{2} }}{L} \\ \dot{z}_{2} & = \frac{{\partial \beta_{2} }}{\partial y}\frac{y}{C}z_{1} - \frac{{\partial \beta_{2} }}{\partial x}\frac{{z_{2} }}{L} \\ \end{aligned}$$
(7)

Now, the Lyapunov function is defined as follows:

$$V(z) = \frac{1}{2}(z_{1}^{2} + z_{2}^{2} )$$
(8)

time derivative along (8) yields

$$\dot{V}(z) = z_{1} \dot{z}_{1} + z_{2} \dot{z}_{2} = \frac{{\partial \beta_{1} }}{\partial y}\frac{y}{C}z_{1}^{2} - \frac{{\partial \beta_{1} }}{\partial x}\frac{{z_{1} z_{2} }}{L} + \frac{{\partial \beta_{2} }}{\partial y}\frac{y}{C}z_{1} z_{2} - \frac{{\partial \beta_{2} }}{\partial x}\frac{{z_{2}^{2} }}{L}$$
(9)

If the mapping function \(\beta = col(\beta_{1} ,\beta_{2} )\) is defined appropriately, we can conclude the stability of the proposed scheme. Considering \(\beta_{1} = - \alpha_{1} y\) and \(\beta_{2} = \alpha_{2} x\) (\(\alpha_{1} ,\alpha_{2} > 0\)), we have

$$\dot{V}(z) = - \alpha_{1} \frac{y}{C}z_{1}^{2} - \alpha_{2} \frac{{z_{2}^{2} }}{L} \le - \alpha_{3} (z_{1}^{2} + z_{2}^{2} ) \le - \frac{{\alpha_{3} }}{2}(z_{1}^{2} + z_{2}^{2} ) \le - \alpha_{3} \,V(z)$$
(10)

where \(\alpha_{3} = \hbox{min} (\alpha_{1} \frac{y}{C},\frac{{\alpha_{2} }}{L})\). From (10), the exponential stability of the estimation error is proven. Therefore, the observer dynamic is achieved as follow

$$\begin{aligned} \dot{\lambda }_{1} & = \alpha_{1} \left( {\frac{u}{C}x - \frac{{(\lambda_{1} - \alpha_{1} y)}}{C}y} \right) \\ \dot{\lambda }_{2} & = - \alpha_{2} \left( {\frac{{(\lambda_{2} + \alpha_{2} x)}}{L} - \frac{u}{L}y} \right). \\ \end{aligned}$$
(11)

4 Comparison and discussion

In this section, the performance of the proposed observer is compared with conventional observer that has been presented in [14]

$$\begin{aligned} \dot{\hat{y}} & = \frac{{u\hat{x}}}{C} - \frac{{\hat{G}y}}{C} + k_{1} (y - \hat{y}) \\ \dot{\hat{x}} & = \frac{{\hat{E}}}{L} - \frac{{u\hat{y}}}{L} + k_{2} (x - \hat{x}) \\ \end{aligned}$$
(12)

where \(k_{1} ,k_{2} > 0\).The input voltage and resistive load are obtained from following adaption law

$$\begin{aligned} \dot{\hat{E}} & = \gamma_{1} (x - \hat{x}) \\ \dot{\hat{G}} & = - \gamma_{2} y(y - \hat{y}) \\ \end{aligned}$$
(13)

where \(\gamma_{1} ,\gamma_{2} > 0\). As can be seen, the conventional observer needs injection terms with high gain for acceptable performance while I&I technique does not need it. In addition, this observer needs 4 equations to estimate input voltage and load resistive while the proposed observer estimate unavailable parameters by 2 equations and the I&I observer order is less than conventional observer. Also, the practical implementation of the proposed observer is simpler in comparison with observer in [14].

In order to compare the performance of these observers, the closed-loop control scheme is implemented considering control input as

$$u = sat\left( {\frac{{\hat{E}}}{{V_{d} }}} \right)$$
(14)

If the voltage regulation errors are defined as \(\tilde{y} = y - y{}_{d}\) and \(\tilde{x} = x - x_{d}\) (\(y_{d} = V_{d} ,\,x_{d} = \frac{{V_{d}^{2} G}}{E}\)), we have

$$\begin{aligned} C\dot{\tilde{y}} & = sat\left( {\frac{{\hat{E}}}{{y_{d} }}} \right)(\tilde{x} + x_{d} ) - G(\tilde{y} + y_{d} ) \\ L\dot{\tilde{x}} & = E - sat\left( {\frac{{\hat{E}}}{{y_{d} }}} \right)(\tilde{y} + y_{d} ) \\ \end{aligned}$$
(15)

The estimation error is defined as \(\bar{E} = E - \hat{E}\). So

$$\begin{aligned} C\dot{\tilde{y}} & = sat\left( {\frac{{E - \bar{E}}}{{y_{d} }}} \right)(\tilde{x} + x_{d} ) - G(\tilde{y} + y_{d} ) \\ L\dot{\tilde{x}} & = E - sat\left( {\frac{{E - \bar{E}}}{{y_{d} }}} \right)(\tilde{y} + y_{d} ) \\ \end{aligned}$$
(16)

Due to exponential convergence of the estimation error, we have

$$\begin{aligned} C\dot{\tilde{y}} & = \frac{E}{{y_{d} }}\tilde{x} - G\tilde{y} \\ L\dot{\tilde{x}} & = - \frac{E}{{y_{d} }}\tilde{y} \\ \end{aligned}$$
(17)

Which the characteristic equation \(LCy_{d}^{2} \lambda^{2} + LGy_{d}^{2} \lambda + E^{2} = 0\) confirms the exponential of the voltage regulation error.

5 Improved particle swarm optimization algorithm (IPSO)

Particle swarm optimization is a social search algorithm modeled on the basis of the social behavior of bird flocks [24]. In the structure of this algorithm, each solution, which is called a particle, is equivalent to a bird. At the beginning of the algorithm, the particles flow in the search space. The particle movement in the search space is influenced by the experience and knowledge of themselves and their neighbors. Therefore, the position of the remainder of the particle swarm affects how a particle is searched. The result of the modeling of this social behavior is a search process in which particles tend toward successful regions. Particles learn from each other and go towards their best neighbors based on their knowledge. The particle optimization algorithm is based on the principle that at any given moment, each particle adjusts its place in the search space according to the best place ever reached to and the best place in its entire neighborhood. In the structure of this algorithm, a group of birds is randomly looking for food in the space. There is only one piece of food in the considered space. None of the birds knows where the food is. One of the best strategies can be to follow the bird that has the shortest distance to the food. This strategy is in fact the source of the algorithm. Each particle has a fitness value calculated trough a fitness function. The closer the particle to the target (food in the model of the movement of birds) in the search space is, the more it fitness is. Each particle also has a velocity that guides the particle’s motion. Each particle continues its motion by following the optimal particles in the current state. In this way, a group of particles is created randomly at the beginning of the algorithm and tries to optimize the solution by updating the generations. In each step, each particle is updated using the two best values. The first is the best position ever reached by the particle. This location is stored and maintained, which is named Pbest. The other best value is the best position ever reached by the particle population. This position is represented as gbest. After finding the best values, the velocity and position of each particle are updated using Eqs. (1) and (2) [26].

$$v = w \times v + c_{1} \times rand \times (pbest - position) + c_{2} \times rand \times (gbest - position)$$
(18)
$$position = position + v$$
(19)

In the improved particle swarm optimization algorithm, an elimination period has been added to its classical form. At the beginning of each period, a specific number of the worst solutions will be eliminated and replaced by new solutions in the new search space. Creating new initial populations makes the particles find new paths to reach the best solution (gbest). These changes in the algorithm reduces the possibility of reaching local minima and increases the speed of finding optimal solutions. The steps of implementing the improved particle swarm optimization algorithm are as follows.

  1. 1.

    Select an initial search space suitable for the parameters of each particle, the initial population, the maximum number of iterations, c1, c2, w, ep (Elimination period. This parameter has been added to the classical algorithm and is determined based on the number of iterations) and et (Elimination percentage. This parameter has been added to the classical algorithm and is determined based on the percentage of the initial population).

  2. 2.

    Create the initial population in the search space.

  3. 3.

    Calculate the fitness function for each particle.

  4. 4.

    Determine pbest of each particle and gbest.

  5. 5.

    If the number of iterations is a multiple of ep, then make the following changes (elimination step):

    1. 5.1

      If the value of the parameters of each particle is greater than a threshold, add a unit to the search space of that particle member. (The threshold is a percentage of the maximum or minimum of the search space, and the value is arbitrary).

    2. 5.2

      Determine et percent of the initial population that has the worst fitness function.

    3. 5.3

      Eliminate the selected et percent and create a new population in the new search space. The velocity (v) of the new particles is selected to be zero.

    4. 5.4

      Calculate the fitness function for the new particles.

    5. 5.5

      Determine pbest for each particle and gbest.

  6. 6.

    Update the position of all the particles using Eqs. (10) and (11).

  7. 7.

    Go to step 3 and repeat steps (3, 4, 5, 6, and 7) until satisfying the termination conditions.

The effectiveness of the proposed optimization algorithm is proven in [25, 26]. The flowchart of the proposed algorithm is presented in Fig. 2.

Fig. 2
figure 2

The flowchart of IPSO

6 Simulation results

In this section, the performance of the proposed observer is compared with observer in [14]. In order to realize real conditions, voltage drop along DC–DC boost converter such as inductor resistance and non-ideal diode is considered. Also, Simulation results is implemented in Power Gui/Simulink/MATLAB. The block diagram of the proposed control scheme is depicted in Fig. 3.

Fig. 3
figure 3

The block diagram of the proposed control scheme

The parameters of the circuit are considered as follows:\(L = 3.5\,{\text{mH}},\,C = 330\,\upmu{\text{F}},\,R = 120\,\Omega\). In order to achieve optimal gains of observer, the input voltage and desired voltage are defined 10 V and 15 V respectively. The cost function is considered as follows

$$J = \int\limits_{0}^{t} {(\tilde{y}^{2} )} dt$$
(20)

The optimization result is depicted in Fig. 4.

Fig. 4
figure 4

The convergence trajectory of the cost function using IPSO in comparison with PSO and GA

According to optimization process, the observer gains are achieved as follows: \(a_{1} = 0.5447,\,a_{2} = 0.2348\). Also, the conventional observer gains are obtained as follows: \(k_{1} = 245.6348,k_{2} = 293.7209,\gamma_{1} = 101.5723,\gamma_{2} = 64.2811\). The simulation is implemented according to two conditions. At the first, the input voltage is defined 10 V and is changed to 7 V at t = 0.5 s. Also, the reference voltage is considered 15 V (Figs. 5, 6).

Fig. 5
figure 5

The performance of the proposed control scheme in the presence of input voltage variation

Fig. 6
figure 6

The performance of the proposed observer in the presence of input voltage variation

As can be seen, the performance of the proposed observer is better than observer in [14]. The proposed observer presents lower overshoot and faster convergence. Specially, the estimation of output load is significantly better in comparison with [14] due to its lower gains. It is worth noting that due to voltage drop along converter, the observer estimates input voltage lower than real value to compensate this weakness in control input. In second condition, the input voltage is assumed constant 10 V. However resistive load is changed to \(R = 60\,\Omega\). The results is depicted in Figs. 7 and 8.

Fig. 7
figure 7

The performance of the proposed control scheme in the presence of load variation

Fig. 8
figure 8

The performance of the proposed observer in the presence of load variation

Similar to previous condition, the response of the proposed control scheme is better than observer in [14].

7 Experimental test

In this section, the efficiency of the proposed scheme is validated via experimental implementation. The experimental testbed is depicted in Fig. 9.

Fig. 9
figure 9

Experiment set of prototype DC–DC boost converter with the proposed controller

In order to realize practical test, a data acquisition card called Advantech card 1710 HG is employed. Advantech 1710 HG is a multi-function data acquisition card with full capabilities to acquire data and, of course, for control purposes [31]. The proposed method is programmed in Simulink/MATLAB with Real Time Windows Target and the output of Advantech card is inserted into PWM (Pulse Width Modulation) with 20 k Hz switching frequency. The structure of the practical test is given in Fig. 10.

Fig. 10
figure 10

Overview of hardware-in-loop implementation

The practical scenario is similar to simulation results and the experimental results are depicted in Figs. 11 and 12.

Fig. 11
figure 11

Experimental results for a change in the input voltage from E = 10–7 V

Fig. 12
figure 12

Experimental results for a change in the load from R = 120 to 60 Ω

As can be seen, the practical results confirm the capability of the proposed method in real time application.

8 Conclusion

In this study, a new nonlinear observer is presented for DC–DC boost converter. This observer is designed based on Immersion and Invariance technique with exponential stability. The proposed observer can estimate the input voltage and resistive load using output voltage and inductor current. In order to tune the observer gains, an improved particle optimization algorithm is employed. The effectiveness of this method is compared with conventional observer and the simulation results endorse the advantages of the proposed nonlinear observer. Also, the experimental test is implemented to confirm the capability of the proposed method in real time application.