Photovoltaic Array Fault Detection by Automatic Reconfiguration

Photovoltaic (PV) system output electricity is related to PV cells’ conditions, with the PV faults decreasing the efficiency of the PV system and even causing a possible source of fire. In industrial production, PV fault detection is typically laborious manual work. In this paper, we present a method that can automatically detect PV faults. Based on the observation that different faults will have different impacts on a PV system, we propose a method that systematically and iteratively reconfigures the PV array until the faults are located based on the specific current-voltage (I-V) curve of the (sub-)array. Our method can detect several main types of faults including open-circuit faults, mismatch faults, short circuit faults, etc. We evaluate our methods by Matlab/Simulink-based simulation. The results show that the proposed methods can accurately detect and classify the different faults occurring in a PV system.


Introduction
Solar system installation has increased greatly in the past decades due to the dropping price of solar panels with technology advancement [1].A major challenge is photovoltaic (PV) system faults due to a broad range of causes [2], such as degradation of PV modules, extreme weather conditions, electrical wiring aging, insulation breakdown, Maximum power point tracking(MPPT) unbalance, etc.A critical consequence of PV faults is that the overall energy output is reduced; moreover, some faults may further lead to fire disasters that threaten personal and property safety.
Both industry and academia have been conducting work on fault detection and analysis to solve the problem.Many protection devices [3] have been developed to improve the reliability, availability, maintainability, and safety (RAMS) of PV systems.In industry, engineers typically conduct regular health checks of PV arrays using current-voltage (I-V) tracer detectors [4] to measure the quality of electricity.However, regular manual checks are time-consuming, costly and laborious in large-scale systems.Moreover, PV systems sometimes are deployed in areas that are hard to reach.Recently, with the development of the Internet of Things (IoT), new methods have emerged in industry.Some companies provide cloud-based monitoring and control of PV systems to optimize PV energy production and reduce cost [5].In academia, related research has been focused on fault analysis.One approach is to compare actual PV system running data with simulation data to identify faults [6][7][8], but such a method cannot classify and locate the fault in a PV array.Therefore, I-V curve analysis is proposed to classify the type of faults that already occur [9,10].Based on I-V curve data, some researchers proposed reconfiguration algorithms for PV arrays to maximize global power output [11].Moreover, PV reconfiguration can be used to balance the overall power output and the aging of PV modules [12,13].However, such methods cannot deal with cases where different types of faults occur simultaneously.To solve this problem, decision-making algorithms are proposed to detect and identify faults [14], but the accuracy of related methods depends on the amount of labeled data under different working conditions.To detect faults in PV systems that are difficult to reach, a remote monitoring and fault detection method was developed [15], in which satellite-driven irradiation data are used to simulate energy output of a PV system.
In this paper, we propose a dynamic PV array reconfiguration method to automatically detect, classify and locate faults.We rely on I-V curve analysis to classify faults, and use a systematic top-down approach to detect and locate faults that may occur simultaneously.A case study by simulation with randomly generated faults shows that the method can precisely identify and classify faults in a PV array.This paper is organized as follows: Section 2 gives an overview of related technology and the main concepts.In Section 3, the system model is introduced, and we present the proposed method in Section 4. Section 5 gives a case study that shows the effectiveness of the proposed method by simulation.Discussion are presented in Section 6, and finally Section 7 concludes the paper.

Fault Types and Corresponding I-V Curves
Generally, PV system faults can be classified into two types [14]: (1) irreversible error caused by mechanical or electrical problems, such as open circuit, short circuits, and PV cell aging; (2) temporary power loss faults that are caused by sheltering, such as cloud shadows.Figure 1 gives a brief description of those faults in a PV system.Different types of faults impact a PV system in different aspects (e.g., variation of voltage or current), and hence produce different I-V characterization curves [16].Figure 2 shows the curves for several typical types of faults.A short circuit fault will bring a reduced open circuit voltage (V OC ) compared with the normal curve.The mismatch fault and open circuit fault will present similar morphology with an inflection point (Mathematically, inflection points are the un-derivable points of an I-V curve and a more detailed description is shown in [17]), but the I-V curve parameters are different for the two types of faults.Hence, the I-V curves can be used in fault detection and verification in our algorithm.

Series and Parallel Connections of PV Arrays
In a PV array, PV modules are connected in series, in parallel or their combination to produce the desired current and voltage, shown in Figure 3.The series connection increases the output voltage.A problem is that the deliverable current is dominated by the weakest or fault module in the string, where each module can be viewed as a electricity current source.To reduce such influence, each module is connected in parallel to a diode that can bypass the weak/fault module.The output voltage is the sum of the voltages of the PV modules in the string.A parallel connection can augment the supplied current: the terminal current is the sum of the current of each PV string.

PV Module
Figure 3. PV modules connected in series and parallel.

System Model
In this section, we present the configuration of our system, which is essentially a switchable PV system with sensors to monitor system working conditions.The system mainly contains three parts: the PV system, the reconfiguration system and the control system.

Photovoltaic System
PV systems are generally classified by their functional and operational requirements, and the main classifications are grid-connected and stand-alone systems [18].PV systems can be designed to provide DC and/or AC power service [19].In our work, we augment existing photovoltaic systems structure with fault detection and analysis functionalities.We focus on such PV array faults: short circuit fault, open circuit fault, mismatch fault and power loss fault due to low irradiance.Several typical PV array configurations have been proposed in both industry and academia [20][21][22][23].These configurations have different tolerance for the adverse work environment [24].In our work, we use Total Cross-Tied (TCT) configuration in which PV modules are firstly connected in parallel into a "group" and groups are connected in series.The TCT configuration has better tolerance to the working environment.

Reconfiguration System
In our work, we use a switching matrix component to enable automatic PV system fault detection, shown in Figure 4.There are different reconfiguration models available [25].The six-switches model employs six switched for each PV module to enable a fully flexible configuration [26].The three-switches model allows system designers to define connection methods (in series or parallel) only for adjacent modules, which is less flexible yet cost effective compared to the six-switches model [27,28].In our work, we use the three-switches model that is stable, low-cost, easy to implement and satisfies the control requirements for reconfiguration of a TCT PV array.

Control System
The control system is a center part of the whole system.It reads in the I-V curves produced by the PV module sensors and conducts fault analysis by controlling the reconfiguration process.There is existing commercial equipment [29] to trace the I-V curves of a PV array/sub-array.
The control component is the most important part that controls the whole system signals to implement reconfiguration and analyze the I-V curves of PV arrays and classify the types of faults.The whole system model shown in Figure 4.The controller as the main coordination component connects with a PV array and sensor.By means of a sensor that is designed to be implemented in commercial equipment [29] and changing the topology of switches, we can acquire different parts of the I-V curve.

Diagnostic Methodology
PV systems are vulnerable to faults, which not only decrease the efficiency of PV systems but also lead to serious consequences (e.g., property loss and human life threat).In order to prevent a dangerous situation, it is critical to locate and classify the faults as soon as possible.In this work, we introduce a new method that applies I-V curve analysis and dynamic reconfiguration to detect and analyze different types of faults.We first present the overall fault detection process and then explain in detail how each type of fault is detected.

The Fault Detected Process
We aim at figuring out whether there exists a fault, the number and the type of faults.If power loss percentage exceeds a threshold, a diagnostic process is started.In a diagnostic process, the controller should acquire the I-V curve of the whole array, scan the curve to find if there is an inflection point, and compare the value of short current I SC and open voltage V OC with the ideal condition, in order to find out whether faults exist.Here, we denote the voltage of inflection point by V ip , and the corresponding current of this inflection point is I ip .Both parameters can be obtained by analyzing the tangent slope transformation.
If faults are found in the PV system, our reconfiguration system will perform corresponding actions to locate the faults.We adopt series-parallel M × N configurations in this paper.Based on this, we introduced a dichotomy-based method to locate faults.The proposed method will perform efficiently by pruning the branches during segmentation iterations, considering the fact that, in most cases, the number of faults is small or the faults are densely distributed.The method is shown in Algorithm 1.

Algorithm 1 Fault Detected
Input: the whole array as argument passed to function, M is the number of groups of this array Output: target array with only one type of fault return target 20: end function Firstly, the input of Algorithm 1 is the I-V curve for the whole array.The function DIV IDE aims to find a subarray with only one type of fault, and variable count is introduced to find the number of fault types.If the value of count at the end of the calculation is larger than 1, the whole array is divided into a two part process that is conducted for each part.The recursive function continues until, for each part, only one type of fault exists.For each target with a single type of fault, Algorithm 2 (explained later) is invoked to find out the exact fault.

I-V Curve Analysis Process
With the proposed I-V curve analysis, the location of fault and the identification of the fault type is achieved, the whole process of which is illustrated in Figure 5 and formally defined by Algorithm 2. Curve analysis is based on pattern recognition.The following sub-sections give the details on the recognition of different types of faults.

Analysis of Open Circuit Faults
We assume that the k th group has some failures of the same fault type, for example, n modules with open circuit fault.For groups under normal operating conditions, the short-circuit current of each group is I SCgroupi = N • I SC , and the short-circuit current of the failure group is: If a module has an open circuit fault inside, the bypass diode will be activated, which reduces the overall current of the group to which the fault module belongs.The current decrease will suppress the current flowing into other serially connected groups.Hence, the I-V curve will show an inflection point.To distinguish open circuit faults from mismatched faults that have similar curve shapes, the corresponding current and voltage value of the inflection point should be precisely computed.The computation is given as follows: (3) In the above equations, n is the number of fault modules in a group, N is the number of modules in a group and M is the number of groups, β is the number of groups that have open circuit faults, and V d is the reverse bias voltage of the bypass diode.

Analysis of Mismatch Faults
Mismatch faults are caused by the interconnection of solar cells or modules which do not have identical properties or which experience different conditions from one another.We assume that, in the k th group, n modules have mismatch losses.For groups under normal operating conditions, the short-circuit current of each group is I SCgroupi = N • I SC , and the short-circuit current of the failure group is: To distinguish mismatch faults from open circuit faults, we find that the short-circuit current of the fault module is larger than 0 for the mismatch fault case (note that the value of the current depends on the load).Thus, we introduce a parameter α with a value range (0, 1) to model this difference.The computation of the inflection point for a mismatch fault is given below: In the above equations, n is the number of fault modules in a group, β is the number of groups with mismatch faults that cause the bypass diode to be turned on, and V d is the reverse bias voltage of the bypass diode.

Analysis of Short Circuit Faults
For TCT configuration, once a short circuit fault occurs inside a group, this group would be totally short circuited, the voltage would drop to zero, and the current will flow through the short circuit branch.Thus, a circuit fault has a significant impact on the open circuit voltage of the array but has little effect on current.We assume that m groups have failures in the array, the current of the array can be described as: I array = I groupi , and the open circuit voltage can be written as Equation ( 7): where I groupi is the operating current of i th group, V OCgroup is the open circuit voltage of group, and m is the number of fault groups in array.
Algorithm 2 gives the algorithm to detect faults by computing short circuit current I SC , open circuit voltage V OC , and the voltage of inflection point V ip in the I-V curve.Since the open-circuits and mismatch faults have similar patterns, we introduce a parameter γ to distinguish the two cases.γ is defined by Equation ( 8): where I ip is the current of inflection point, I SC−module is the short circuit current of one PV module, and I SC is the short circuit current acquired in the I-V curve.

Algorithm 2 IV Curve
Input: target from Algorithm 1 Output: type of fault under uniform but low illumination. 5: short circuit fault.

7:
else if inflection point then mismatch fault.open circuit point. 12: end if  open circuit fault.

20:
end if 21: end if Algorithm 2 applies the principles introduced in Sections 4.2.1-4.2.3 and finally gives the results of fault type in a sub-array.For each part with only one type of fault, in Algorithm 3, a dichotomy-based process is conducted until the fault is located in a sub-array that satisfies user requirements on analysis precision.end if 10: end while // while loop could locate the fault in a group 11: return target In a dichotomy-based process, if the I-V curve for one part of the divided array is normal, then fault locating will not be further conducted to this array, thus reducing analysis efforts.If needed, by dividing the array into two parts through the dichotomy algorithm continuously, we would be able to locate the group of fault finally.Based on this idea, the same copy to column faults can proceed, and our method is capable of locating a fault existing on a single PV module.

Simulation Platform
To validate the proposed method, we develop a system with a PV array, switch matrix circuit, controller and variable DC source with sensors using Matlab/Simulink (Matlab R2016b, MathWorks, Natick, MA, USA) (shown in Figure 6).To ensure accurate simulation of PV modules, we adopt the classical single diode model derived from physical principles [30].The specification of each PV module comes from the System Advisor Model (SAM) (which is developed by the National Renewable Energy Laboratory (NREL) with funds from the U.S. Department of Energy) libraries and Databases website [31].Temperature and irradiance values have been entered as input data into the module.The controller is implemented as a Matlab function block based on Algorithms 1-3.Programmable switches are used in the switch matrix circuit.This system allows us to conduct experiments on fault detection, classification and location.is

Simulation Results and Analysis
In order to demonstrate the effectiveness of the proposed method, we build a 5 × 5 PV array in the simulation.The PV module specifications are: V OC = 12.64 V, I SC = 8.62 A, V mp = 10.32 V, I mp = 8.07 A; temperature coefficient of V OC is −0.3397%/ • C and I SC is 0.0637%/ • C. Each PV module is connected with a bypass diode in parallel, and the configuration of the PV array is TCT configuration.
We randomly generated four different faults of three types located in different modules of the PV array.Partial shadow is used as an example in the case study to cause a mismatch fault.We use (i, j) to indicate the coordinate (row and column) of the fault location, as shown in Table 1.
Table 1.Simulated faults and coordinates.

Coordinate Position Type of Fault
(1,1) short circuit (2,3) open circuit (3,3) open circuit (5,4) partial shadow The detailed analysis procedure of the algorithm is shown in Figure 7.For each analyzed array/sub-array, the fault modules are illustrated with dark blocks in the array, and the corresponding I-V curve is also given.By the algorithm, the 5 × 5 array can be divided into two sub-arrays, and the corresponding I-V curve of each sub-array is portrayed below the sub-array structure.We can see that the two I-V curves are not normal, i.e., there exist some faults in both sub-arrays.By executing the algorithm iteratively, we can find all fault types and their corresponding locations.

Discussion
In this section, we discuss the analysis performance, analysis overhead, power consumption and cost of the proposed method.
Analysis performance.The analysis performance is decided by how deep the segmentation process goes.First, user requirements on detection precision affects the depth of the segmentation.Second, the distribution of faults is also a deciding factor.Taking a PV array with N panels, for example, the worst-case number of detection is 2N − 1.However, if the number of faults is small or the faults are densely distributed, the method will perform efficiently by pruning the branches (with no fault panels) during the segmentation iterations.
Analysis overhead.Fault detection time overhead is mainly related to the process of obtaining the I-V curve.The time for one test by an I-V tracer is very small, for example, the Solmetric PVA-600 tracer [32] can obtain an I-V curve within 240 ms.Taking a 5 * 5 panel array for example, the computation time is about 10 ms given that the algorithms run on a STM32F030F4P6 [33] micro-controller (STMicroelectronics, Geneva, Switzerland).The reconfiguration time is within 50 ns for a BUK7Y10-30B Metal-Oxide-Semiconductor Field-Effect Transistor(MOSFET)-based switch system (Nexperia, Nijmegen, The Netherlands) [34].Thus, the total analysis time is (240 ms + 10 ms + 50 ns) × 49 = 12.25 s, in the worst case.
Power consumption.Additional power consumption mainly comes from two aspects.The first is the switch matrix, and the 5 * 5 array needs 25 * 3 = 75 transistors.For each BUK7Y10-30B transistor, the power consumption is about 0.6512 W. In the worst-case, only 2/3 of the transistors are on.Then, the power consumption of the matrix is 75 * 0.6512 * 2/3 = 32.56W. The second aspect is the control system.A typical power consumption of an embedded control system is about 50 W.Using the PV modules in the case study, the power output (without faults) in standard working conditions (1000 W/m 2, 25 • C) is 2082 W. Therefore, the power overhead ration is 82.56/2082 = 3.97%.
Cost analysis.The 5 * 5 PV array costs RMB 25,000, and the cost of the automatic fault detection system is RMB 313.5, the details of which are given by Table 2. Therefore, the cost overhead is 313.5/25,000= 1.25%.The CPLD is the abbreviation for Complex Programmable Logic Device; The PCB is the abbreviation for Printed circuit board; RCL represents resistor(R), capacitor(C), and inductor(L).

Conclusions
Fault detection is indispensable for ensuring that PV systems run in a safe, reliable, and available status.Automatic fault detection and classification remains a major challenge.In this paper, a fault analysis method is proposed, which not only detects and locates PV faults but also classifies the faults based on their distinguishable patterns in I-V curves.The main contribution of this paper is automatic fault detection and location compared to traditional laborious manual methods.The method can be applied in both small-scale and large-scale PV systems.We have evaluated the proposed method by a Matlab simulation system.Experimental results demonstrate that the method can precisely locate PV faults and classify fault types.In the future, we plan to build a hardware prototype to evaluate the effectiveness of the method in real-life systems and further optimize the method.

Figure 1 .
Figure 1.Four types of faults in a photovoltaic (PV) system.

Figure 2 .
Figure 2. I-V curves of PV array for different faults.

Figure 5 .
Figure 5.The flowchart of the I-V curve diagnostic process.

Input: target from Algorithm 1 5 : 6 :
Output: target with only one group 1: M ← groups of target 2: while M > 1 do 3: part1 ← the first M/2 of target 4: part2 ← the rest M/2 of targrt if part1 has fault then // part2 without fault, part1 is the finally target subarray

Figure 6 .
Figure 6.Architecture of the simulation platform.

Figure 7 .
Figure 7. Analysis procedure of the implemented algorithm.

Table 2 .
Cost analysis of the proposed method.