# Online Identification of Photovoltaic Source Parameters by Using a Genetic Algorithm
## 4 Performance Evaluation of the Embedded GA-Based Method  
The platform chosen for the embedded implementation of the proposed GA-based parameter identification algorithm is the NUCLEO-F429 ZI board by STMicroelectronics. Despite being a very low-cost board (EUR 20.00), it encompasses an STM32F429 ZI microcontroller that is based on a high-performance Cortex-M4 32-bit RISC (Reduced Instruction Set Computing) core by ARM (Cambridge, United Kingdom), operating at up to 180 MHz and capable of up to 225 DMIPS. Such a microcontroller is equipped with 2 MB of Flash memory and 256 kB of SRAM. It features a rich variety of internal peripherals, among which three 12-bit, analog to digital converters (ADCs) and two expansion connectors that allow using a wide choice of specialized shields. Suitable signal conditioning circuits have been set up to extend the ADC voltage range; the obtained measurement system exhibits a 100-V voltage range and a 10-A current range. A virtual serial port over a USB connection has been used to print debug messages and statistics. The need to generate the 48-MHz clock for the USB port has imposed a maximum working frequency of 168 MHz for the microprocessor. Nonetheless, a frequency of 180 MHz can be used if the USB communication is not required. After the validation on a desktop PC described in Section 3, the functions written in C language to implement the GA and to calculate the guess solution have been integrated into a previously implemented digital controller for the switching converter of the PV panel. Figure 8 shows the functional scheme and the flowchart of the enhanced digital controller, which encompasses a voltage controller, a perturb and observe (P&O) MPPT algorithm and the proposed online parameter identification algorithm. With reference to Figure 8b, the white blocks represent the typical flowchart of the perturb and observe algorithm, whereas the gray blocks allow performing the I-V scan and activating the online parameter identification procedure. In Figure 8b, Tp is the period of the MPPT algorithm, thus it is in the order of magnitude of milliseconds. The on-line identification method can be managed by an interrupt service routine activated by an additional timer having a periodicity of hours or minutes, depending on the objective of the monitoring procedure. The whole C project has been compiled with no relevant modifications for the STM32 microprocessor and experimentally tested. When the parameter identification procedure is triggered, for example by a timer or on demand, the MPPT algorithm is temporary disabled, and the PV operating point is driven to the left of the MPP at \(V_{pp}\simeq V_{MPP}-\frac{M}{2}\Delta V\). Then, the I-V curve is scanned and the voltage and current values corresponding to the M operating points close to the MPP are stored in memory. Subsequently, the guess solution and the real bounds are calculated. Once the GA has been configured, it is launched, and the MPPT algorithm is reactivated. It is worth noting that the time spent calculating the best solution of the SDM parameters does not affect the control dynamics of the DC/DC converter since this task runs concurrently with the MPPT algorithm until a new request of the SDM parameter identification is triggered. Figure 7: Zoom of the P-V photovoltaic curves for Test #1. The experimental validation has been performed on the same Sunowe Solar PV panel of Section 3 in the other two operating conditions (Tests #2 and #3). The white curves of Figure 4 are the whole I-V curves measured offline, whereas the black points are the M test points acquired online by the embedded system. The guess solutions and the best solutions returned by the GA for the two experimental cases are shown in Table 7. Once again, these solutions have been used to reconstruct the I-V and P-V curves of the PV panel in the two considered operating conditions. Then, the reconstructed curves have been compared with the ones obtained using the guess solution and with the experimental data referred to each test case.