A MPPT control method based on Buck / Boost circuit duty cycle control
By calculating the change in PV output power and voltage and adjusting the duty cycle command of the Buck/Boost circuit, the problem of misjudgment and power fluctuation in local shading conditions is solved, and higher power generation efficiency and dynamic performance are achieved.
Patent Information
- Application Number
- CN202411405567.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-10
- Publication Date
- 2025-02-28
- Estimated Expiration
- 2044-10-10
AI Technical Summary
The existing MPPT technology based on duty cycle control of Buck/Boost circuit has misjudgment and power fluctuation problems under local shading conditions, which makes the system unable to quickly find the global maximum power point, affecting power generation efficiency and dynamic performance.
By calculating the change in PV output power and voltage, adjusting the duty cycle command of the Buck/Boost circuit, determining whether to restart the MPPT algorithm, and clearing the relevant local variables to avoid local optimality and power fluctuations.
It significantly improves the accuracy and stability of MPPT disturbances, avoids local optimality and large power fluctuations, and improves the power generation efficiency and dynamic tracking performance of photovoltaic systems.
Smart Images

Figure FT_1 
Figure FT_2
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of power supply, and in particular to an MPPT control method based on Buck / Boost circuit duty cycle control. Background Art
[0002] The existing maximum power point tracking (MPPT) technology based on Buck / Boost circuit duty cycle control has some significant problems in partial shading conditions, which affects the overall efficiency and dynamic performance of the photovoltaic power generation system:
[0003] When the photovoltaic system is working normally, the MPPT algorithm helps the system to continuously track the maximum power point (MPP) of the photovoltaic module under different lighting conditions by adjusting the duty cycle of the circuit to obtain the optimal power generation efficiency. However, when the photovoltaic module is partially shaded, multiple local maximum power points will appear in the current-voltage (IV) and power-voltage (PV) curves of the photovoltaic array. In this case, the traditional MPPT algorithm may misjudge and identify the local optimal point as the global optimal point, causing the system to be unable to find the true global maximum power point. This local optimal problem causes the system to operate in a suboptimal state, failing to fully utilize photovoltaic energy, which in turn affects power generation efficiency.
[0004] At the same time, under shading conditions, the output power of photovoltaic modules will fluctuate with the dynamic changes of shading area and light intensity. Traditional MPPT algorithms usually use perturbation observation method or incremental conductance method, which adjust the duty cycle according to the changes in voltage and power. However, these algorithms show large power fluctuations when dealing with shading, especially in the scenario of rapid shading changes, the system may experience large instantaneous power fluctuations. Such fluctuations will not only lead to reduced power generation efficiency, but may also affect the stable operation of subsequent power electronic equipment.
[0005] In addition, due to the existence of local optimum and power fluctuation problems, the existing MPPT algorithm fails to provide a fast enough dynamic response when the photovoltaic modules are shaded, and the system cannot adjust to the optimal working point in time. This poor dynamic performance makes the system's power tracking speed slow when shaded, further affecting the overall operating efficiency of the photovoltaic power generation system.
[0006] To address these issues, optimizing the MPPT algorithm based on Buck / Boost circuit duty cycle control to improve performance under partial shading conditions has become a key requirement. Summary of the invention
[0007] The present invention provides an MPPT control method based on Buck / Boost circuit duty cycle control, which can improve dynamic performance and optimize the operation effect of a photovoltaic system under partial shading conditions.
[0008] In order to solve the above technical problems, this application provides the following technical solutions:
[0009] An MPPT control method based on Buck / Boost circuit duty cycle control, comprising:
[0010] Initialize MPPT;
[0011] Call the following steps according to the preset cycle:
[0012] 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;
[0013] S2. Determine the step size of the duty cycle disturbance according to the absolute value of DeltaP;
[0014] S3, determine the disturbance direction according to the changes in DeltaP and DeltaV, and decide whether to restart the MPPT;
[0015] S4. Determine whether the duty cycle instruction of the Buck / Boost circuit output exceeds the limit and assign a value to the duty cycle instruction.
[0016] Further, in step S1, DeltaP=Pnow-Pprev, DeltaV=Vnow-Vprev;
[0017] 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.
[0018] Further, in step S2, if abs(DeltaP)>PowerStep1, DutyStep takes DutyStep1;
[0019] If abs(DeltaP)≤PowerStep1, and abs(DeltaP)>PowerStep2, then DutyStep is DutyStep2;
[0020] If abs(DeltaP)≤PowerStep1, and abs(DeltaP)≤PowerStep2, DutyStep is DutyStep0;
[0021] 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;
[0022] PowerStep1 is the first power threshold, PowerStep2 is the second power threshold, PowerStep1 is greater than or equal to PowerStep2;
[0023] DutyStep is the duty cycle disturbance step at the current moment, DutyStep1 is the first duty cycle disturbance step, DutyStep2 is the second duty cycle disturbance step, DutyStep0 is the default duty cycle disturbance step, DutyStep1 is greater than or equal to DutyStep2, and DutyStep1 is greater than or equal to DutyStep0.
[0024] Further, in the initialization MPPT, Boost circuit:
[0025] Set Pprev to 0, Vprev to 0, BoostDuty to Dmin, and BoostDutyprev to BoostDuty;
[0026] Among them, BoostDuty is the current Boost circuit duty cycle instruction;
[0027] BoostDutyprev is the duty cycle instruction of the Boost circuit at the previous moment;
[0028] Dmin is the lower limit of the duty cycle of the controlled Buck circuit and Boost circuit.
[0029] Further, in step S3, in the Boost circuit:
[0030] If DeltaP<-DropPower, then BoostDuty=BoostDutyprev×DropFactor; clear local variables Pprev and Vprev, BoostDutyprev = BoostDuty;
[0031] If DeltaP>-DropPower, and (DeltaP×DeltaV)>0, BoostDuty = BoostDutyprev-DutyStep; if DeltaP>-DropPower, and (DeltaP×DeltaV)≤0, BoostDuty =BoostDutyprev +DutyStep; update local variables: Pprev = Pnow, Vprev = Vnow,BoostDutyprev=BoostDuty;
[0032] Among them, DropPower is the abnormal power drop;
[0033] DropFactor is the drop coefficient, and its value range is 0 < DropFactor < 1.
[0034] Furthermore, in step S4 of the Boost circuit:
[0035] If BoostDuty > Dmax, then BoostDuty = Dmax;
[0036] If BoostDuty ≤ Dmax and BoostDuty < Dmin, then BoostDuty = Dmin; otherwise, directly output BoostDuty.
[0037] Among them, Dmax is the upper limit of the duty cycles of the controlled Buck circuit and Boost circuit.
[0038] Furthermore, in the initialization of MPPT for the Buck circuit:
[0039] Let Pprev take the value of 0, Vprev take the value of 0, BoostDuty take the value of Dmax, and BuckDutyprev take the value of BuckDuty.
[0040] Among them, BuckDuty is the duty cycle command of the Buck circuit at the current moment.
[0041] BuckDutyprev is the duty cycle command of the Buck circuit at the previous moment.
[0042] Furthermore, in step S3 of the Buck circuit:
[0043] If DeltaP < -DropPower, then BuckDuty = BuckDutyprev × RaiseFactor, clear the local variables Pprev and Vprev, and BuckDutyprev = BuckDuty.
[0044] If DeltaP > -DropPower and (DeltaP × DeltaV) > 0, then BuckDuty = BuckDutyprev + DutyStep; if DeltaP > -DropPower and (DeltaP × DeltaV) ≤ 0, then BuckDuty = BuckDutyprev - DutyStep; update the local variables: Pprev = Pnow, Vprev = Vnow, and BuckDutyprev = BuckDuty.
[0045] Among them, RaiseFactor is the raise coefficient, and its value range is RaiseFactor > 1.
[0046] Further, in step S4, in the Buck circuit:
[0047] If BuckDuty > Dmax, then BuckDuty = Dmax;
[0048] If BuckDuty ≤ Dmax and BuckDuty < Dmin, BuckDuty = Dmin, otherwise directly output BuckDuty.
[0049] This solution uses the photovoltaic voltage (PV voltage) and photovoltaic output power as input quantities, avoiding the errors of current sampling and the disturbance misjudgment that may be caused by the drastic change of current under sudden illumination change or partial shading, and significantly improving the accuracy and stability of MPPT perturbation.
[0050] In the control of the Boost circuit of this solution, by comparing the change amount of the photovoltaic output power and the preset abnormal power drop amount, when the change amount of the output power is less than the negative abnormal power drop amount, the system will automatically reduce the duty ratio command of the Boost circuit, and judge whether to restart the MPPT algorithm, and at the same time clear the relevant local variables. This mechanism effectively prevents the MPPT algorithm from falling into the local optimal point under partial shading conditions, thus ensuring that the system can quickly jump out of the sub-optimal state and continue to track the global maximum power point. In addition, this operation can also avoid the large power fluctuations caused by partial shading, thereby improving the power generation efficiency and stability of the photovoltaic system.
[0051] Similarly, the control based on the Buck circuit adopts the same logic. When the change amount of the PV output power is lower than the set abnormal power drop amount, the system automatically increases the duty ratio command of the Buck circuit, and judges whether to restart the MPPT with a duty ratio command higher than the previous moment. This can not only prevent the MPPT from falling into the local optimum after shading, but also reduce the dynamic performance problems caused by power fluctuations, enabling the system to respond faster to power changes and improving the overall dynamic tracking performance.
[0052] Through these adjustments, this solution effectively solves the problem of the traditional algorithm failure caused by partial shading by controlling the Boost circuit or the Buck circuit, ensuring high power generation efficiency and system stability under complex illumination conditions. Especially under partial shading conditions, the dynamic performance is significantly improved, large power fluctuations and sub-optimal tracking states are avoided, and the operation effect of the photovoltaic system is effectively optimized. Description of the Drawings
[0053] Figure 1 It is a flowchart of the Boost circuit in the first embodiment of an MPPT control method based on the duty ratio control of the Buck / Boost circuit;
[0054] Figure 2 The present invention is a flow chart of a Buck circuit in Embodiment 2 of an MPPT control method based on Buck / Boost circuit duty cycle control. DETAILED DESCRIPTION
[0055] The following is further described in detail through specific implementation methods: Example
[0056] An MPPT control method based on Buck / Boost circuit duty cycle control in this embodiment includes:
[0057] Initialize MPPT;
[0058] Call the following steps according to the preset cycle:
[0059] S1. Calculate DeltaP and DeltaV;
[0060] S2. Determine the step size of the duty cycle disturbance according to the absolute value of DeltaP;
[0061] S3, determine the disturbance direction according to the changes in DeltaP and DeltaV, and decide whether to restart the MPPT;
[0062] S4. Determine whether the duty cycle instruction of the Buck / Boost circuit output exceeds the limit and assign a value to the duty cycle instruction.
[0063] In this embodiment, the control method is described based on the Boost circuit:
[0064] Initialize MPPT so that Pprev is 0, Vprev is 0, BoostDuty is Dmin, and BoostDutyprev is BoostDuty;
[0065] like Figure 1 As shown, the following steps are called according to the preset cycle:
[0066] 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;
[0067] Specifically, DeltaP=Pnow-Pprev, DeltaV=Vnow-Vprev;
[0068] Wherein, Pnow is the PV output power at the current moment, and 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;
[0069] S2. Determine the step size of the duty cycle disturbance based on the absolute value of DeltaP:
[0070] If abs(DeltaP)>PowerStep1, DutyStep takes DutyStep1;
[0071] If abs(DeltaP)≤PowerStep1, and abs(DeltaP)>PowerStep2, then DutyStep is DutyStep2;
[0072] If abs(DeltaP)≤PowerStep1, and abs(DeltaP)≤PowerStep2, DutyStep is DutyStep0;
[0073] 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;
[0074] PowerStep1 is the first power threshold, PowerStep2 is the second power threshold, PowerStep1 is greater than or equal to PowerStep2;
[0075] DutyStep is the current duty cycle disturbance step length, DutyStep1 is the first duty cycle disturbance step length, DutyStep2 is the second duty cycle disturbance step length, DutyStep0 is the default duty cycle disturbance step length, DutyStep1 is greater than or equal to DutyStep2, and DutyStep1 is greater than or equal to DutyStep0;
[0076] S3. Determine the disturbance direction and MPPT restart according to the changes in DeltaP and DeltaV.
[0077] If DeltaP<-DropPower, then BoostDuty=BoostDutyprev×DropFactor, that is, the duty cycle instruction of the Boost circuit is reduced. The duty cycle instruction reduction method here is more flexible. You can subtract an amount or directly take a smaller value. At the same time, the local variables Pprev and Vprev are cleared, and BoostDutyprev =BoostDuty.
[0078] If DeltaP > -DropPower and (DeltaP × DeltaV) > 0, BoostDuty = BoostDutyprev - DutyStep; if DeltaP > -DropPower and (DeltaP × DeltaV) ≤ 0, BoostDuty = BoostDutyprev + DutyStep; finally update the local variables, Pprev = Pnow, Vprev = Vnow, BoostDutyprev = BoostDuty.
[0079] Among them, DropPower is the abnormal power drop amount, which can be obtained through calibration or comprehensively judged from sampling data such as voltage and power.
[0080] DropFactor is the drop coefficient, and its value range is (0 < DropFactor < 1), which can be obtained through calibration or comprehensively judged from sampling data such as voltage and power.
[0081] BoostDuty is the Boost circuit duty cycle command at the current moment.
[0082] BoostDutyprev is the Boost circuit duty cycle command at the previous moment.
[0083] S4. Determine whether it is out of limit according to the output Boost circuit duty cycle command BoostDuty.
[0084] If BoostDuty > Dmax, then BoostDuty = Dmax;
[0085] If BoostDuty ≤ Dmax and BoostDuty < Dmin, BoostDuty = Dmin, otherwise directly output BoostDuty.
[0086] Among them, Dmax is the upper limit of the duty cycle of the controlled Buck circuit and Boost circuit.
[0087] Dmin is the lower limit of the duty cycle of the controlled Buck circuit and Boost circuit.
[0088] This embodiment is based on the Boost circuit duty cycle control, and uses relatively stable PV voltage and PV output power as the input of the algorithm, avoiding the inaccuracy of current sampling and the misjudgment of disturbances caused by sudden changes in light or current under partial shading, and improving the accuracy of MPPT disturbances. The change in PV output power is compared with the abnormal power drop. When the change in PV output power is less than the negative abnormal power drop, the Boost circuit duty cycle instruction is reduced, and the algorithm local variables are cleared to determine whether to restart the MPPT with a duty cycle instruction lower than the previous moment, so as to avoid the MPPT falling into the local optimum after shading and the large power fluctuations caused. Example
[0089] The difference between this embodiment and the first embodiment is that this embodiment describes the control method based on the Buck circuit:
[0090] Initialize MPPT to set Pprev to 0, Vprev to 0, BoostDuty to Dmax, and BuckDutyprev to BuckDuty;
[0091] like Figure 2 As shown, the following steps are called according to the preset cycle:
[0092] S1. Calculate DeltaP and DeltaV
[0093] S2. Determine the step size of the duty cycle disturbance based on the absolute value of DeltaP:
[0094] If abs(DeltaP)>PowerStep1, DutyStep takes DutyStep1;
[0095] If abs(DeltaP)≤PowerStep1, and abs(DeltaP)>PowerStep2, then DutyStep is DutyStep2;
[0096] If abs(DeltaP)≤PowerStep1, and abs(DeltaP)≤PowerStep2, DutyStep is DutyStep0;
[0097] S3. Determine the disturbance direction and MPPT restart according to the changes in DeltaP and DeltaV.
[0098] If DeltaP < -DropPower, then BuckDuty = BuckDutyprev × RaiseFactor, that is, the duty cycle command of the Buck circuit increases. Here, the way to increase the duty cycle command is relatively flexible. It can add a quantity or directly take a larger value. At the same time, clear the local variables Pprev and Vprev, and BuckDutyprev = BuckDuty.
[0099] If DeltaP > -DropPower and (DeltaP × DeltaV) > 0, BuckDuty = BuckDutyprev + DutyStep; if DeltaP > -DropPower and (DeltaP × DeltaV) ≤ 0, BuckDuty = BuckDutyprev - DutyStep; finally, update the local variables, Pprev = Pnow, Vprev = Vnow, and BuckDutyprev = BuckDuty.
[0100] Among them, RaiseFactor is the rising coefficient, and its value range is (RaiseFactor > 1). This value can be obtained through calibration or comprehensively judged from sampling data such as voltage and power.
[0101] BuckDuty is the duty cycle command of the Buck circuit at the current moment.
[0102] BuckDutyprev is the duty cycle command of the Buck circuit at the previous moment.
[0103] S4. Determine whether it exceeds the limit according to the output duty cycle command BuckDuty of the Buck circuit.
[0104] If BuckDuty > Dmax, then BuckDuty = Dmax.
[0105] If BuckDuty ≤ Dmax and BuckDuty < Dmin, BuckDuty = Dmin, otherwise directly output BuckDuty.
[0106] This embodiment, based on Buck circuit duty cycle control, uses relatively stable PV voltage and PV output power as the input of the algorithm, avoiding the inaccuracy of current sampling and the misjudgment of disturbance caused by sudden changes in light or current under partial shading, and improving the accuracy of MPPT disturbance. The change in PV output power is compared with the abnormal power drop. When the change in PV output power is less than the negative abnormal power drop, the Buck circuit duty cycle instruction is increased, and the algorithm local variables are cleared to determine whether to restart the MPPT with a duty cycle instruction higher than the previous moment, so as to avoid the MPPT falling into the local optimum after shading and the large power fluctuations caused.
[0107] The above are only embodiments of the present invention. The invention is not limited to the fields involved in this implementation case. The common sense such as the known specific structures and characteristics in the scheme is not described in detail here. The ordinary technicians in the relevant field know all the common technical knowledge in the technical field to which the invention belongs before the application date or the priority date, can obtain all the existing technologies in the field, and have the ability to apply the conventional experimental means before that date. The ordinary technicians in the relevant field can improve and implement this scheme in combination with their own abilities under the enlightenment given by this application. Some typical known structures or known methods should not become obstacles for ordinary technicians in the relevant field to implement this application. It should be pointed out that for those skilled in the art, without departing from the structure of the present invention, several deformations and improvements can be made, which should also be regarded as the protection scope of the present invention, which will not affect the effect of the implementation of the present invention and the practicality of the patent. The protection scope required by this application shall be based on the content of its claims, and the specific implementation methods and other records in the specification can be used to explain the content of the claims.
Claims
1. An MPPT control method based on Buck / Boost circuit duty cycle control, characterized in that: include: Initialize MPPT: In the Boost circuit: set Pprev to 0, Vprev to 0, BoostDuty to Dmin, and BoostDutyprev to BoostDuty; where BoostDuty is the current Boost circuit duty cycle instruction; BoostDutyprev is the previous Boost circuit duty cycle instruction; Dmin is the lower limit of the controlled Buck circuit and Boost circuit duty cycle; 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 duty cycle disturbance according to the absolute value of DeltaP; If abs(DeltaP)>PowerStep1, DutyStep takes DutyStep1; If abs(DeltaP)≤PowerStep1, and abs(DeltaP)>PowerStep2, then DutyStep is DutyStep2; If abs(DeltaP)≤PowerStep1, and abs(DeltaP)≤PowerStep2, DutyStep is DutyStep0; 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; DutyStep is the current duty cycle disturbance step length, DutyStep1 is the first duty cycle disturbance step length, DutyStep2 is the second duty cycle disturbance step length, DutyStep0 is the default duty cycle disturbance step length, DutyStep1 is greater than or equal to DutyStep2, and DutyStep1 is greater than or equal to DutyStep0; S3, determine the disturbance direction according to the changes in DeltaP and DeltaV, and decide whether to restart the MPPT; In the Boost circuit: If DeltaP<-DropPower, then BoostDuty=BoostDutyprev×DropFactor; clear local variables Pprev and Vprev, BoostDutyprev = BoostDuty; If DeltaP > -DropPower and (DeltaP × DeltaV) > 0, BoostDuty = BoostDutyprev - DutyStep; if DeltaP > -DropPower and (DeltaP × DeltaV) ≤ 0, BoostDuty = BoostDutyprev + DutyStep; Update local variables: Pprev = Pnow, Vprev = Vnow, BoostDutyprev = BoostDuty; Where, DropPower is the abnormal power drop amount; DropFactor is the drop coefficient, and the value range is 0 < DropFactor < 1; S4. Determine whether the duty cycle command of the Buck / Boost circuit output exceeds the limit and assign a value to the duty cycle command.
2. The MPPT control method based on Buck / Boost circuit duty cycle control according to claim 1, characterized in that: In the Boost circuit of the step S4: If BoostDuty > Dmax, then BoostDuty = Dmax; If BoostDuty ≤ Dmax and BoostDuty < Dmin, BoostDuty = Dmin, otherwise directly output BoostDuty; Where, Dmax is the upper limit of the duty cycle of the controlled Buck circuit and Boost circuit.
3. The MPPT control method based on Buck / Boost circuit duty cycle control according to claim 2, characterized in that: In the initialization of MPPT, in the Buck circuit: Let Pprev take the value of 0, Vprev take the value of 0, BoostDuty take the value of Dmax, and BuckDutyprev take the value of BuckDuty; Where, BuckDuty is the duty cycle command of the Buck circuit at the current moment; BuckDutyprev is the duty cycle command of the Buck circuit at the previous moment.
4. The MPPT control method based on Buck / Boost circuit duty cycle control according to claim 3 is characterized in that: In the step S3, in the Buck circuit: If DeltaP < -DropPower, then BuckDuty = BuckDutyprev × RaiseFactor, clear the local variables Pprev and Vprev, and BuckDutyprev = BuckDuty; If DeltaP > -DropPower and (DeltaP × DeltaV) > 0, BuckDuty = BuckDutyprev + DutyStep; if DeltaP > -DropPower and (DeltaP × DeltaV) ≤ 0, BuckDuty = BuckDutyprev - DutyStep; Update local variables: Pprev = Pnow, Vprev = Vnow, BuckDutyprev = BuckDuty; Where, RaiseFactor is the raise coefficient, and the value range is RaiseFactor > 1.
5. The MPPT control method based on Buck / Boost circuit duty cycle control according to claim 4 is characterized in that: In the step S4, in the Buck circuit: If BuckDuty > Dmax, then BuckDuty = Dmax; If BuckDuty ≤ Dmax and BuckDuty < Dmin, then BuckDuty = Dmin; otherwise, directly output BuckDuty.
Citation Information
Patent Citations
Maximum power point tracking method, photovoltaic controller and photovoltaic system
CN114779871A