Original articles
SoC-based embedded real-time simulation of mismatched photovoltaic strings

https://doi.org/10.1016/j.matcom.2020.04.019Get rights and content

Abstract

The real time simulation is a key tool for the implementation of monitoring and diagnostic methods as well as of model-based control strategies in modern photovoltaic systems. Under the hypothesis that all the cells of the photovoltaic array operate in the same temperature and irradiance conditions and have the same degradation level, the values of the parameters appearing in the single diode equivalent circuit referred to one cell are scaled up to the whole array, so that the simulation is not computationally demanding at all. Unfortunately, when mismatching effects have to be taken into account, including partial shadowing phenomena and uneven degradation of the cells, the simulation is not as straightforward as in the previous case. A numerical method, which has been recently presented in literature, allows to simulate a large mismatched photovoltaic array with a low computational effort. It exploits a suitable formulation of the non linear system of equations leading to an inverse Jacobian matrix formulated explicitly. In this paper it is shown the process for engineering such a numerical method by using a low cost system-on-chip device available on the market. The analysis presented shows the critical aspects of the implementation, if the computing time has to be minimized for real-time simulation purposes. The advantages offered by the system-on-chip are explored in order to deploy in the best way the algorithm functions on the ARM processor and on the FPGA available therein. Implementation results show the performance of the proposed approach, especially in terms of computation time and use of resources.

Introduction

The emulation and the simulation of photovoltaic (PV) generators are the subject of a large number of papers in literature. Some of them are dedicated to the emulation of the current–voltage (I–V) behaviour of PV strings through the use of a switching converter. A control variable, which is usually the duty cycle, is settled by a digital controller that runs the PV model and ensures that the I-V relationship at the converter output terminals reproduces that one of the PV array. The embedded system usually accesses a lookup table [27] or runs a PV string model that reproduces a uniform behaviour of the string, thus assuming that the operating parameters, including the irradiance (G) and temperature (T), assume the same values for all the cells [8], [11]. The use of the lookup table or of a very simple PV string model [12] makes the computational effort of the embedded digital controller quite low.

Less frequent in literature is the simulation of PV arrays through embedded systems, e.g., for the purpose of having a digital twin of the PV plant. In case the PV generator works in homogeneous conditions, the simulation model used on a personal computer is exported straightforwardly to the embedded controller. Indeed, in this case, the computational burden required to run the model is so low that it is sustainable also for any embedded system.

Indeed, when the operating parameters of all the PV cells in the array, including G and T, assume the same value, the model used for one cell is merely scaled up [17]. For instance, if the Single Diode Model (SDM) is adopted, its five parameters, namely the photo induced and the saturation currents, the diode ideality factor, the series and the shunt resistances, are multiplied by suitable coefficients depending on the number of cells connected in series and by the number of strings in parallel that form the PV array to simulate [17]. This procedure is usually implemented in models that are embedded in widely used software platforms, e.g. in Matlab ® and PSIM ®, and it can even run on an embedded system, because of its low computational burden, which can be even reduced by using the Lambert-W function [17].

The compact, although non linear, model of the uniformly operating PV array allows a fast computation of the array current as a function of its voltage. The computation time can be so short even to be comparable with the switching period of a, e.g., dc–dc or dc–ac, converter. This allows a real-time computation of the whole system, including the PV source and the control electronics, by updating the computation of the electrical variables at the switching frequency.

The simulation through a low cost digital processor looks to be useful for performing energy yielding estimates in power management systems [10]. In control engineering, its application accelerates the test of innovative control laws [20]. In the field of diagnostics, the digital twin can be used to notice malfunctioning and faulty conditions [9].

When the PV array works in mismatched conditions, the model becomes more and more involved, although the SDM is used as well. Indeed, the PV module-to-module differences in terms of working parameters and the uneven distribution of the irradiance levels and of the working temperatures require the solution of a system of non-linear equations. As a consequence, especially for large arrays, the computational burden becomes too high for any low cost embedded system. This makes the real time simulation of the joint PV array and switching converter very challenging, if the electrical variables values have to be updated at the converter switching frequency. The rank of the non-linear system to solve depends on the granularity level at which the shadowing affecting the PV array is modelled. In [16] the PV string is modelled at cell level, this meaning that for each cell of the array a SDM is used with parameters values, including G and T, that are different from those ones of the other cells. This leads to a huge non linear system that is hardly managed by the hardware resources available on embedded systems.

In [15] the granularity level chosen is the PV module. As it is known, any commercial PV panel includes a number of modules, usually two or three, each one made of a number of series connected cells, e.g. sixty or seventytwo, and having an anti-parallel bypass diode [17]. Thus, in [15], it is assumed that the cells belonging to the same module work in the same conditions, thus they have the same parameters values and are described by one SDM: this is considered as a good compromise between the accuracy and the required computational burden, especially in view of the model implementation on an embedded system. Thus, for instance, each PV panel including three modules and the same number of bypass diodes, might work with up to three different irradiance levels. Then, it is modelled by three SDMs, each one with its own bypass diode, connected in series. The modelling and simulation approach presented in [15] is based on a suitable writing and manipulation of the modules I-V equations, which are derived from the SDM, and of the Kirchhoff laws, allowing to write a system having a Jacobian matrix that can be symbolically inverted. In this way, the Newton–Raphson (NR) iterative algorithm for solving the system of non linear equations reduces to a few mere algebraic operations among matrices and vectors, without any repeated numerical inversion of the Jacobian matrix. The method allows to calculate the PV string current I when the following values are provided by the user: the string voltage V, the irradiance G and the operating temperature T of each module, the values of the five SDM parameters in Standard Test Conditions (STC) [17]. In the next sections the main elements for understanding the numerical approach and for appreciating the computational improvements proposed in this paper are given, but the reader finds the whole details about the procedure in [15].

In this paper, the method above is used for the simulation of a mismatched string by using a low cost System On Chip (SoC) device. The peculiarities of the numerical method are used for exploiting the features offered by the hardware, that are the possibility of parallelizing the execution of the code both on the processor and on the Field Programmable Gate Array (FPGA).

The main novelty proposed in the paper is the preliminary analysis of the algorithm that leads to a step-by-step implementation of the algorithm, which optimizes the exploitation of the SoC hardware.

The optimized implementation proposed in this paper is aimed at reducing as much as possible the computation time of the string current for an assigned string voltage value. The value of this result becomes more and more important in view of the real-time simulation of a complete PV system that includes also the switching converter that processes the PV power and performs the Maximum Power Point Tracking (MPPT) function. This objective appears to be challenging if the simulation of the PV generator has to be performed within the converter switching period, so that the PV current has to be updated at the same rate. The shorter the computation time the more likely the modules operating irradiance and temperature variations can be neglected.

The paper is organized in the following way. The model of the mismatched PV string is briefly recalled in Section 2. In Section 3 the steps of the simulation algorithm are shortly listed in a way that puts into evidence the possibilities of parallelization. In Section 4, a first implementation of the plain technique has been taken as a reference and the results achieved by optimizing several parts of the algorithm and leading to a final HW/SW solution are described. The use of Vivado High Level Synthesis (HLS) for achieving the optimization results mentioned above and for analysing the resources utilization and the computation performance of the different HW/SW versions is also shown. Finally, in Section 5, the tradeoff between execution time and result accuracy is evaluated and the conclusions are drawn in Section 6.

Section snippets

The mismatched string model

In this section a brief recall of the model that was extensively discussed in [15] is given. It is assumed that the PV string results from the series connection of PV cells. These cells are divided into sub-strings; each sub-string is connected to a bypass diode, which might turn on when the corresponding sub-string is not able to deliver the same current level produced by some others. In the sequel, each basic element of the PV string, consisting of a subs-string of cells in parallel with the

Lambert-W function implementation

The Lambert-W encloses a collection of functions that are used to calculate the solution of Eq. (10). y=xexso that x=W(y). In particular, within the collection of functions named Lambert-W, the so-called Lambert-W0 branch is the one used in photovoltaics applications.

A number of possible implementations is available in literature. Some of them, e.g., the ones using the Halley’s iterative method [7], are accurate, but their iterative nature makes them unsuitable for an FPGA implementation.

The simulation algorithm

The availability of the explicit form of the inverse of the Jacobian matrix J1 (Eq. (9)) makes the solution of the non linear system (Eq. (4)) a simple matter of matrix/vector operations. Indeed, the Newton method would require the numerical inversion of J at each iteration, with a significant computational burden especially in case of long PV strings. Instead, the availability of the symbolic J1 allows to avoid the matrix inversion at every step, so that the Newton method still remains an

Architecture

The simulation steps described in 3.3 are enclosed in the software modules shown in Fig. 4. In the software architecture, the operations related to the modules operating conditions (green dashed box) are decoupled from the actual numerical simulation (red dashed box). In the latter, when a certain voltage is fixed on the terminals of the PV array, the guess solution is computed on the basis of the target voltage V and the corresponding current is calculated by means of the iterative procedure.

Execution time and accuracy tradeoff

The main computation sensitivity factors are the number of calls needed for the NR algorithm to converge (N) and the string length (M). The first is related to the accuracy of the result while the latter is dependent on the size of the system to be simulated. Thus, further tests have been conducted to assess the reachable tradeoff between accuracy and execution time as well as the scalability of the obtained results. The tradeoff between accuracy and execution time, aside from the use of the γ

Conclusions

In this work, the results of an implementation of SoC FPGA based embedded real-time simulator of mismatched photovoltaic arrays are presented. A 68% improvement of the execution time has been reached by employing the ARM A9 processor with respect to the reference result. The Lambert-W function hardware accelerator has allowed to gain a further 3% execution time reduction and the final execution time in the worst case is 3.69 ms. Also, some tests on strings made of different numbers of PV

Acknowledgements

This work has been supported by MIUR funds in the frame of “PRIN 2017-Holistic approach to EneRgy-efficient smart nanOGRIDS (HEROGRIDS)” project, Grant Number 2017WA5ZT3_003, and by FARB funds of the University of Salerno .

References (27)

  • BatzelisE.

    Non-iterative methods for the extraction of the single-diode model parameters of photovoltaic modules: A review and comparative assessment

    Energies

    (2019)
  • BatzelisE.

    Non-iterative methods for the extraction of the single-diode model parameters of photovoltaic modules: A review and comparative assessment

    Energies

    (2019)
  • BatzelisE.I. et al.

    An explicit PV string model based on the Lambert W function and simplified MPP expressions for operation under partial shading

    IEEE Trans. Sustain. Energy

    (2014)
  • Cited by (4)

    View full text