MPPT control method based on PV input side control
Through the MPPT method based on PV input side control, the disturbance step length of the current or voltage command is dynamically adjusted, and the MPPT trapped in the local optimal problem caused by local shading is solved, which improves the photovoltaic power generation efficiency and dynamic performance, and reduces power fluctuations.
Patent Information
- Application Number
- CN202411410362.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-10
- Publication Date
- 2024-12-20
- Estimated Expiration
- 2044-10-10
AI Technical Summary
The existing MPPT technology based on PV current or voltage control is easily trapped in local optimum under local shading, resulting in low photovoltaic power generation efficiency and poor dynamic performance. The power fluctuations caused by light changes are large, making it difficult to quickly recover the best. Power point.
The MPPT method based on PV input side control is adopted, by calculating the change in PV output power and voltage, dynamically adjusting the disturbance step of the current or voltage command, judging the disturbance direction and restarting the MPPT, avoiding the system from falling into local optimal points and reducing power fluctuations.
It improves the response capability of MPPT under shaded conditions, reduces power loss, ensures that the system quickly restores the best power point after the shade disappears, and significantly improves the overall efficiency and dynamic performance of photovoltaic power generation.
Smart Images

Figure CN118963484B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of photovoltaic power generation, and in particular to an MPPT control method based on PV input side control. Background Art
[0002] The existing MPPT (maximum power point tracking technology) based on PV current or voltage control will have a local optimum under partial shading conditions, and large power fluctuations may occur during the shading process, resulting in low photovoltaic power generation efficiency and poor dynamic performance.
[0003] Therefore, under partial shading conditions, the existing MPPT technology based on PV current control needs to be further optimized to improve its response to partial shading and avoid the system falling into local optimum. At the same time, it is also necessary to reduce power fluctuations caused by changes in light to ensure that the system can quickly recover to the optimal power point after the shading conditions disappear, thereby improving the overall efficiency and dynamic performance of photovoltaic power generation. Summary of the invention
[0004] The present invention provides an MPPT control method based on PV input side control, which can reduce power loss caused by partial shading and improve MPPT efficiency.
[0005] In order to solve the above technical problems, this application provides the following technical solutions:
[0006] The MPPT control method based on PV input side control includes the following:
[0007] Initialize MPPT;
[0008] Call the following steps according to the preset cycle:
[0009] S1, calculate the difference DeltaP between the PV output power at the current moment and the PV output power at the previous moment, and the difference DeltaV between the PV voltage at the current moment and the PV voltage at the previous moment;
[0010] S2. Determine the step size of the current or voltage disturbance based on the absolute value of DeltaP;
[0011] S3, determine the disturbance direction according to the changes in DeltaP and DeltaV, and decide whether to restart the MPPT;
[0012] S4. Determine whether the output PV current command Iref or the output PV voltage command Vref exceeds the limit, and assign a value to Iref or Vref.
[0013] Further, in step S1, DeltaP=Pnow-Pprev, DeltaV=Vnow-Vprev;
[0014] Among them, Pnow is the PV output power at the current moment, Pprev is the PV output power at the previous moment; Vnow is the PV voltage at the current moment, and Vprev is the PV voltage at the previous moment.
[0015] Furthermore, when the MPPT is initialized and the PV current is controlled:
[0016] Set Pprev to 0, Vprev to 0, Iref to Imin, and Irefprev to Iref;
[0017] Among them, Iref is the PV current command at the current moment;
[0018] Irefprev is the PV current command at the previous moment;
[0019] Imin is the lower limit of the controlled PV current.
[0020] Furthermore, in step S2, when controlling the PV current, the step length of the current disturbance is determined according to the absolute value of DeltaP:
[0021] If abs(DeltaP)>PowerStep1, CurtStep takes CurtStep1;
[0022] If abs(DeltaP)≤PowerStep1, and abs(DeltaP)>PowerStep2, then CurtStep is CurtStep2;
[0023] If abs(DeltaP)≤PowerStep1, and abs(DeltaP)≤PowerStep2, CurtStep is CurtStep0;
[0024] Where abs(DeltaP) is the absolute value of the difference between the PV output power at the current moment and the PV output power at the previous moment;
[0025] PowerStep1 is the first power threshold, PowerStep2 is the second power threshold, PowerStep1 is greater than or equal to PowerStep2;
[0026] CurtStep is the current disturbance step size at the current moment, CurtStep1 is the first current disturbance step size, CurtStep2 is the second current disturbance step size, CurtStep0 is the default current disturbance step size, CurtStep1 is greater than or equal to CurtStep2, and CurtStep1 is greater than or equal to CurtStep0.
[0027] Further, in step S3, when controlling the PV current:
[0028] If DeltaP < -DropPower, then Iref = Irefprev × DropFactor, clear the local variables Pprev and Vprev, and Irefprev = Iref;
[0029] If DeltaP > -DropPower and (DeltaP × DeltaV) > 0, Iref = Irefprev - CurtStep; if DeltaP > -DropPower and (DeltaP × DeltaV) ≤ 0, Iref = Irefprev + CurtStep; update the local variables: Pprev = Pnow, Vprev = Vnow, Irefprev = Iref;
[0030] Among them, DropPower is the abnormal power drop;
[0031] DropFactor is the drop coefficient, and the value range is 0 < DropFactor < 1.
[0032] Further, in step S4, when controlling the PV current:
[0033] If Iref > Imax, then Iref = Imax;
[0034] If Iref ≤ Imax and Iref < Imin, Iref = Imin, otherwise directly output Iref;
[0035] Among them, Imax is the upper limit of the PV current for control.
[0036] Further, when initializing the MPPT and controlling the PV voltage:
[0037] Make Pprev take the value of 0, Vprev take the value of 0, Vref take the value of Vmax, and Vrefprev take the value of Vref;
[0038] Among them, Vref is the PV voltage command at the current moment;
[0039] Vrefprev is the PV voltage command at the previous moment;
[0040] Vmax is the upper limit of the PV voltage for control.
[0041] Further, in step S2, when controlling the PV voltage, judge the step size of voltage disturbance according to the absolute value of DeltaP:
[0042] If abs(DeltaP)>PowerStep1, then VoltStep takes VoltStep1;
[0043] If abs(DeltaP)≤PowerStep1, and abs(DeltaP)>PowerStep2, then VoltStep is VoltStep2;
[0044] If abs(DeltaP)≤PowerStep1, and abs(DeltaP)≤PowerStep2, then VoltStep is VoltStep0;
[0045] Among them, VoltStep is the voltage disturbance step size at the current moment, VoltStep1 is the first voltage disturbance step size, VoltStep2 is the second voltage disturbance step size, VoltStep0 is the default voltage disturbance step size, VoltStep1 is greater than or equal to VoltStep2, and VoltStep1 is greater than or equal to VoltStep0.
[0046] Furthermore, in step S3, when the PV voltage is controlled:
[0047] If DeltaP<-DropPower, then Vref=Vrefprev×RaiseFactor, clear local variables Pprev and Vprev, Vrefprev=Vref;
[0048] If DeltaP>-DropPower, and (DeltaP×DeltaV)>0, Vref = Vrefprev+VoltStep; if DeltaP>-DropPower, and (DeltaP×DeltaV)≤0, Vref = Vrefprev-VoltStep; update local variables: Pprev = Pnow, Vprev = Vnow, Vrefprev = Vref;
[0049] Among them, RaiseFactor is the rising coefficient, and the value range is RaiseFactor>1.
[0050] Furthermore, in step S4, when the PV voltage is controlled, it is determined whether the output PV voltage command Vref exceeds the limit:
[0051] If Vref>Vmax, then Vref=Vmax;
[0052] If Vref ≤ Vmax and Vref < Vmin, then Vref = Vmin; otherwise, directly output Vref.
[0053] Among them, Vmin is the lower limit of the PV voltage for control.
[0054] This solution combines the methods of PV current control and PV voltage control. For the power fluctuations under shading conditions, through the accurate analysis of the power and voltage change amounts, the disturbance step sizes of the current or voltage commands are dynamically adjusted, effectively preventing the system from falling into local optimal points.
[0055] Specifically, this solution uses the change amounts of the PV output power and voltage as inputs to judge the disturbance direction and amplitude, ensuring that when the system detects a significant power drop, it promptly adjusts the control command and clears the local variables to restart the MPPT. Whether in the current control or voltage control mode, this solution adopts a flexible disturbance step size adjustment mechanism. When shading effects occur, the current or voltage commands are dynamically adjusted through the set decrease coefficient or increase coefficient, enabling the system to smoothly respond to light changes, effectively reducing power fluctuations, and avoiding staying at local optimal points for a long time.
[0056] In summary, this solution not only improves the MPPT accuracy under shading conditions, ensures that the system can quickly recover from the influence of shading, reduces the power loss caused by shading, but also significantly enhances the overall efficiency of the photovoltaic power generation system, has good application effects in complex lighting environments, and can improve the MPPT efficiency and optimize the power generation performance. Description of the Drawings
[0057] Figure 1 It is the flowchart of the PV current control in the first embodiment of the MPPT control method based on PV input side control.
[0058] Figure 2 It is the flowchart of the PV voltage control in the second embodiment of the MPPT control method based on PV input side control. Detailed Implementation Manner
[0059] The following is a further detailed description through specific implementation manners: Embodiment
[0060] The MPPT control method based on PV input side control in this embodiment includes the following content:
[0061] Initialize the MPPT;
[0062] Call the following steps at a preset period:
[0063] S1. Calculate DeltaP and DeltaV;
[0064] S2. Determine the step size of the current or voltage disturbance based on the absolute value of DeltaP;
[0065] S3, determine the disturbance direction according to the changes in DeltaP and DeltaV, and decide whether to restart the MPPT;
[0066] S4. Determine whether the output PV current command Iref or the output PV voltage command Vref exceeds the limit, and assign a value to Iref or Vref.
[0067] This embodiment takes PV current control as an example for explanation:
[0068] Initialize MPPT:
[0069] Set Pprev to 0, Vprev to 0, Iref to Imin, and Irefprev to Iref;
[0070] like Figure 1 As shown, the following steps are called according to the preset cycle:
[0071] S1, calculate the difference DeltaP between the PV output power at the current moment and the PV output power at the previous moment, and the difference DeltaV between the PV voltage at the current moment and the PV voltage at the previous moment;
[0072] Specifically, DeltaP=Pnow-Pprev, DeltaV=Vnow-Vprev;
[0073] Among them, Pnow is the PV output power at the current moment, Pprev is the PV output power at the previous moment; the PV output power can be the power on the input side of the power electronic converter, or the power on the output side; Vnow is the PV voltage at the current moment, and Vprev is the PV voltage at the previous moment.
[0074] S2. Determine the step size of the current disturbance based on the absolute value of DeltaP:
[0075] If abs(DeltaP)>PowerStep1, CurtStep takes CurtStep1;
[0076] If abs(DeltaP)≤PowerStep1, and abs(DeltaP)>PowerStep2, then CurtStep is CurtStep2;
[0077] If abs(DeltaP)≤PowerStep1, and abs(DeltaP)≤PowerStep2, CurtStep is CurtStep0;
[0078] Wherein, abs(DeltaP) is the absolute value of the difference between the PV output power at the current moment and the PV output power at the previous moment;
[0079] PowerStep1 is the first-stage power threshold, PowerStep2 is the second-stage power threshold, and PowerStep1 is greater than or equal to PowerStep2;
[0080] CurtStep is the current moment's current perturbation step size, CurtStep1 is the first-stage current perturbation step size, CurtStep2 is the second-stage current perturbation step size, CurtStep0 is the default current perturbation step size, CurtStep1 is greater than or equal to CurtStep2, and CurtStep1 is greater than or equal to CurtStep0.
[0081] S3. Determine the perturbation direction and MPPT restart judgment based on the change amounts of DeltaP and DeltaV:
[0082] If DeltaP < -DropPower, then Iref = Irefprev × DropFactor, that is, the current command decreases. The way of decreasing the current command here is relatively flexible. It can subtract a quantity or directly take a smaller value. At the same time, clear the local variables Pprev and Vprev, and Irefprev = Iref.
[0083] If DeltaP > -DropPower and (DeltaP × DeltaV) > 0, Iref = Irefprev - CurtStep; if DeltaP > -DropPower and (DeltaP × DeltaV) ≤ 0, Iref = Irefprev + CurtStep; finally, update the local variables, Pprev = Pnow, Vprev = Vnow, and Irefprev = Iref.
[0084] Wherein, Iref is the PV current command at the current moment;
[0085] Irefprev is the PV current command at the previous moment;
[0086] DropPower is the abnormal power drop amount, which can be obtained through calibration or comprehensively judged from sampling data such as voltage and power;
[0087] DropFactor is the drop coefficient, and the value range is (0 < DropFactor < 1). This value can be obtained through calibration or comprehensively judged from sampling data such as voltage and power.
[0088] S4. Determine whether it exceeds the limit according to the output PV current command Iref:
[0089] If Iref > Imax, then Iref = Imax;
[0090] If Iref ≤ Imax and Iref < Imin, Iref = Imin, otherwise directly output Iref.
[0091] Among them, Imax is the upper limit of the PV current for control;
[0092] Imin is the lower limit of the PV current for control.
[0093] This embodiment is based on the local shading MPPT control scheme for PV current control, and uses the relatively stable PV voltage and PV output power as the input quantities of the algorithm, avoiding the inaccurate current sampling and the disturbance misjudgment caused by the current mutation under sudden light change or local shading, and improving the accuracy of MPPT perturbation. Compare the change amount of PV output power with the abnormal power drop amount. When the change amount of PV output power is less than the negative abnormal power drop amount, reduce the PV current command and clear the local variables of the algorithm, and judge whether to restart MPPT based on the current command lower than the previous moment, avoiding the local optimum after shading of MPPT and the large power fluctuation caused. Embodiment
[0094] The difference between this embodiment and Embodiment 1 is that this embodiment takes PV voltage control as an example for description:
[0095] Initialize MPPT:
[0096] Let Pprev take the value of 0, Vprev take the value of 0, Vref take the value of Vmax, and Vrefprev take the value of Vref;
[0097] As Figure 2 shown, call the following steps at a preset period:
[0098] S1. Calculate DeltaP and DeltaV
[0099] Specifically, DeltaP = Pnow - Pprev, DeltaV = Vnow - Vprev.
[0100] S2. Judge the step size of voltage perturbation according to the absolute value of DeltaP:
[0101] If abs(DeltaP) > PowerStep1, then VoltStep takes VoltStep1;
[0102] If abs(DeltaP)≤PowerStep1, and abs(DeltaP)>PowerStep2, then VoltStep is VoltStep2;
[0103] If abs(DeltaP)≤PowerStep1, and abs(DeltaP)≤PowerStep2, then VoltStep is VoltStep0;
[0104] Among them, VoltStep is the voltage disturbance step size at the current moment, VoltStep1 is the first voltage disturbance step size, VoltStep2 is the second voltage disturbance step size, VoltStep0 is the default voltage disturbance step size, VoltStep1 is greater than or equal to VoltStep2, and VoltStep1 is greater than or equal to VoltStep0.
[0105] S3, determine the disturbance direction and MPPT restart according to the changes of DeltaP and DeltaV;
[0106] If DeltaP<-DropPower, then Vref=Vrefprev×RaiseFactor, that is, the voltage command increases. The voltage command increase method here is more flexible. You can add an amount or directly take a larger value. At the same time, the local variables Pprev and Vprev are cleared, and Vrefprev=Vref.
[0107] If DeltaP>-DropPower, and (DeltaP×DeltaV)>0, Vref = Vrefprev+VoltStep; if DeltaP>-DropPower, and (DeltaP×DeltaV)≤0, Vref = Vrefprev-VoltStep; finally update the local variables, Pprev = Pnow, Vprev = Vnow, Vrefprev = Vref.
[0108] Wherein, Vref is the PV voltage command at the current moment;
[0109] Vrefprev is the PV voltage command at the previous moment;
[0110] RaiseFactor is the rise factor, and its value range is (RaiseFactor>1). This value can be obtained through calibration or through comprehensive judgment of sampling data such as voltage and power.
[0111] S4, judging whether the output PV voltage command Vref exceeds the limit;
[0112] If Vref > Vmax, then Vref = Vmax;
[0113] If Vref ≤ Vmax and Vref < Vmin, then Vref = Vmin; otherwise, directly output Vref.
[0114] Wherein, Vmax is the upper limit of the PV voltage for control;
[0115] Vmin is the lower limit of the PV voltage for control.
[0116] This embodiment is based on a local shading MPPT control scheme for PV voltage control. It uses relatively stable PV voltage and PV output power as the input variables of the algorithm, avoiding the inaccurate current sampling and the disturbance misjudgment caused by the current mutation under sudden light change or local shading, and improving the accuracy of MPPT perturbation. By comparing the change amount of PV output power with the abnormal power drop amount, when the change amount of PV output power is less than the negative abnormal power drop amount, the PV voltage command is increased, and the local variables of the algorithm are cleared. Then, it is judged whether to restart MPPT based on the voltage command higher than the previous moment, avoiding the local optimum after shading and the large power fluctuation caused thereby.
[0117] The above are only embodiments of the present invention. The present invention is not limited to the fields involved in this embodiment. Common general knowledge such as the specific structures and characteristics in the solution is not described in detail herein. Those of ordinary skill in the art know all the common general knowledge in the technical field to which the invention belongs before the filing date or the priority date, can know all the prior arts in this field, and have the ability to apply the conventional experimental means before this date. Those of ordinary skill in the art can, under the inspiration given by this application and combined with their own abilities, improve and implement this solution. Some typical well-known structures or well-known methods should not become obstacles for those of ordinary skill in the art to implement this application. It should be noted that for those skilled in the art, without departing from the structure of the present invention, several deformations and improvements can still be made, and these should also be regarded as the protection scope of the present invention, and these will not affect the implementation effect of the present invention and the practicality of the patent. The protection scope required by this application should be subject to the content of its claims, and the specific implementation manners described in the specification can be used to interpret the content of the claims.
Claims
1. The MPPT control method based on PV input side control is characterized by: It includes the following: Initialize MPPT; Call the following steps according to the preset cycle: S1, calculate the difference DeltaP between the PV output power at the current moment and the PV output power at the previous moment, and the difference DeltaV between the PV voltage at the current moment and the PV voltage at the previous moment; DeltaP=Pnow-Pprev, DeltaV=Vnow-Vprev; Wherein, Pnow is the PV output power at the current moment, Pprev is the PV output power at the previous moment; Vnow is the PV voltage at the current moment, Vprev is the PV voltage at the previous moment; S2. Determine the step size of the current or voltage disturbance based on the absolute value of DeltaP; When controlling PV current, the step size of current disturbance is determined according to the absolute value of DeltaP: If abs(DeltaP)>PowerStep1, CurtStep takes CurtStep1; If abs(DeltaP)≤PowerStep1, and abs(DeltaP)>PowerStep2, then CurtStep is CurtStep2; If abs(DeltaP)≤PowerStep1, and abs(DeltaP)≤PowerStep2, CurtStep is CurtStep0; Where abs(DeltaP) is the absolute value of the difference between the PV output power at the current moment and the PV output power at the previous moment; PowerStep1 is the first power threshold, PowerStep2 is the second power threshold, PowerStep1 is greater than or equal to PowerStep2; CurtStep is the current disturbance step size at the current moment, CurtStep1 is the first current disturbance step size, CurtStep2 is the second current disturbance step size, CurtStep0 is the default current disturbance step size, CurtStep1 is greater than or equal to CurtStep2, and CurtStep1 is greater than or equal to CurtStep0; When controlling the PV voltage, the step size of the voltage disturbance is determined based on the absolute value of DeltaP: If abs(DeltaP)>PowerStep1, then VoltStep takes VoltStep1; If abs(DeltaP)≤PowerStep1, and abs(DeltaP)>PowerStep2, then VoltStep is VoltStep2; If abs(DeltaP)≤PowerStep1, and abs(DeltaP)≤PowerStep2, then VoltStep is VoltStep0; Wherein, VoltStep is the voltage disturbance step at the current moment, VoltStep1 is the voltage disturbance step of the first stage, VoltStep2 is the voltage disturbance step of the second stage, VoltStep0 is the default voltage disturbance step, VoltStep1 is greater than or equal to VoltStep2, and VoltStep1 is greater than or equal to VoltStep0; S3. Determine the disturbance direction according to the change amounts of DeltaP and DeltaV, and judge whether to restart MPPT; S4. Determine whether it is out of limit according to the output PV current command Iref or the output PV voltage command Vref, and assign values to Iref or Vref.
2. The MPPT control method based on PV input side control according to claim 1, characterized in that: When initializing MPPT and controlling the PV current: Make Pprev take the value of 0, Vprev take the value of 0, Iref take the value of Imin, and Irefprev take the value of Iref; Wherein, Iref is the PV current command at the current moment; Irefprev is the PV current command at the previous moment; Imin is the lower limit of the PV current for control.
3. The MPPT control method based on PV input side control according to claim 2 is characterized in that: In the step S3, when controlling the PV current: If DeltaP < -DropPower, then Iref = Irefprev × DropFactor, clear the local variables Pprev and Vprev, and Irefprev = Iref; If DeltaP > -DropPower and (DeltaP × DeltaV) > 0, Iref = Irefprev - CurtStep; if DeltaP > -DropPower and (DeltaP × DeltaV) ≤ 0, Iref = Irefprev + CurtStep; Update the local variables: Pprev = Pnow, Vprev = Vnow, Irefprev = Iref; Wherein, DropPower is the abnormal power decrease amount; DropFactor is the decrease coefficient, and the value range is 0 < DropFactor < 1.
4. The MPPT control method based on PV input side control according to claim 3 is characterized in that: In the step S4, when controlling the PV current: If Iref > Imax, then Iref = Imax; If Iref ≤ Imax and Iref < Imin, Iref = Imin, otherwise directly output Iref; Wherein, Imax is the upper limit of the PV current for control.
5. The MPPT control method based on PV input side control according to claim 1, characterized in that: When initializing MPPT and controlling the PV voltage: Make Pprev take the value of 0, Vprev take the value of 0, Vref take the value of Vmax, and Vrefprev take the value of Vref; Wherein, Vref is the PV voltage command at the current moment; Vrefprev is the PV voltage command at the previous moment; Vmax is the upper limit of the PV voltage for control.
6. The MPPT control method based on PV input side control according to claim 5, characterized in that: In the step S3, when controlling the PV voltage: If DeltaP < -DropPower, then Vref = Vrefprev × RaiseFactor, clear the local variables Pprev and Vprev, and Vrefprev = Vref; If DeltaP > -DropPower and (DeltaP × DeltaV) > 0, Vref = Vrefprev + VoltStep; if DeltaP > -DropPower and (DeltaP × DeltaV) ≤ 0, Vref = Vrefprev - VoltStep; Update local variables: Pprev = Pnow, Vprev = Vnow, Vrefprev = Vref; Wherein, RaiseFactor is the rising coefficient, and the value range is RaiseFactor > 1.
7. The MPPT control method based on PV input side control according to claim 6, characterized in that: In step S4, when controlling the PV voltage, it is determined whether the limit is exceeded according to the output PV voltage command Vref: If Vref > Vmax, then Vref = Vmax; If Vref ≤ Vmax and Vref < Vmin, Vref = Vmin, otherwise directly output Vref; Wherein, Vmin is the lower limit of the PV voltage for control.
