Sun tracking control method for satellite solar panel

By selecting one-dimensional solar panel control, segmented control, and uniform rotation modes based on the orbital solar angle in the satellite solar panel control method, the impact of large-area rotation on the satellite's attitude accuracy and stability is resolved, achieving a balance between energy efficiency and attitude control, and reducing the overall satellite attitude instability.

CN121134047APending Publication Date: 2025-12-16SHANGHAI LANJIAN HONGQING TECH CO LTD +2
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202511316107.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-15
Publication Date
2025-12-16

AI Technical Summary

Technical Problem

Existing satellite solar panel control strategies have failed to effectively address the impact of large-area rotation on satellite attitude accuracy and stability, especially in low-Earth orbit internet satellite constellations, where large changes in the angle between the sun and the orbital plane under orbital conditions make it difficult to meet energy demands.

Method used

A satellite solar panel tracking control method is adopted. By determining the orbital solar angle range, one-dimensional panel control mode, segmented control mode and uniform rotation mode are selected. The rotation rate and angle of the A-axis and B-axis are controlled by using solar vector information to ensure a balance between energy efficiency and attitude control.

Benefits of technology

It reduces the impact of frequent acceleration and deceleration of the solar array on the satellite's attitude, improves energy harvesting efficiency, and reduces the overall satellite attitude instability, especially under conditions of large changes in orbital angle, ensuring the stability of the three-axis Earth attitude.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121134047A_ABST
    Figure CN121134047A_ABST
Patent Text Reader

Abstract

The invention relates to a sun tracking control method for a satellite solar panel, and the method comprises the steps: determining whether an orbit solar angle is between a first critical angle and a negative first critical angle or not, if yes, entering a one-dimensional panel control mode for sun tracking, returning a B axis to a zero position, and only controlling an A axis to rotate for sun tracking; if the orbital solar angle is out of the range from the first critical angle to a negative first critical angle, determining whether the orbital solar angle is greater than a second critical angle or less than a negative second critical angle, if so, entering a subsection control mode, and controlling the A axis and the B axis to rotate at a non-uniform speed for sun tracking; otherwise, entering a constant-speed rotation mode, and simultaneously controlling the A shaft and the B shaft to rotate at a constant speed for sun tracking, the second critical angle being greater than the first critical angle, and the first critical angle being greater than 0. According to the sun tracking control method, the sun vector information is used for calculation, the design strategy gives consideration to energy efficiency and attitude control, and the influence of frequent acceleration and deceleration of the solar wing on the satellite attitude is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of satellite technology, and in particular to a method for tracking and controlling the sun using a satellite solar panel. Background Technology

[0002] The vast majority of satellites obtain solar energy through solar arrays to power their systems. The solar array drive assembly (SADA) consists of a solar array drive mechanism, drive circuitry, and other components. It controls the rotation of the satellite's solar arrays to ensure they always face the sun, maximizing solar energy collection to meet the satellite's energy needs.

[0003] Based on the number of rotation axes driven by SADA (Solar Aspect-Adaptive Control), SADA can be divided into one-dimensional SADA (one rotation axis) and two-dimensional SADA (two rotation axes). Depending on satellite requirements, rotation axes are categorized as 360° continuous rotation axes and finite-angle rotation axes. Many low-Earth orbit (LEO) internet satellite constellations use inclined orbits, where the angle between the sun and the orbital plane varies significantly. To maintain a three-axis Earth-aligned attitude, two-dimensional SADA is typically used for solar panel tracking to meet energy demands. However, existing solar panel control strategies neglect the significant impact of large-area solar panel rotation on satellite attitude accuracy and stability. Summary of the Invention

[0004] To address at least some of the problems mentioned above in the prior art, the present invention provides a method for solar tracking control of a satellite solar panel, characterized by comprising:

[0005] Determine whether the orbital solar angle is between the first critical angle and the negative first critical angle. If so, enter the one-dimensional solar panel control mode for solar tracking. The B-axis is reset to zero, and only the A-axis is controlled to rotate for solar tracking. The B-axis of the two-dimensional solar panel drive mechanism is fixed to the satellite body and can rotate around the Zb axis of the satellite body coordinate system. The axis fixed to the B-axis and rotating around the axis perpendicular to the B-axis is the A-axis of the two-dimensional solar panel drive mechanism.

[0006] If the orbital solar angle is outside the range of the first critical angle to the negative first critical angle, then determine whether the orbital solar angle is greater than the second critical angle or less than the negative second critical angle. If so, enter the segmented control mode and control the A-axis and B-axis to rotate at a non-uniform speed for solar tracking; otherwise, enter the uniform rotation mode and control the A-axis and B-axis to rotate at a uniform speed for solar tracking. The first critical angle is 20° and the second critical angle is 60°.

[0007] Furthermore, the orbital system solar vector S o =[S ox S oy S oz[ ] is the satellite-sun vector in the orbital coordinate system;

[0008] S b =[S bx S by S bz [This refers to the satellite-sun vector in the satellite's body coordinate system;]

[0009] Orbital solar angle β orb Calculation formula:

[0010] Convert the unit to °.

[0011] Furthermore, controlling the rotation of the A-axis in the one-dimensional windsurfing control mode includes:

[0012] When the satellite is in the sunlit area:

[0013] Calculate the target angle along axis A: α = arctan2(S) bx ,-S bz (), the unit is °;

[0014] Calculate the A-axis tracking angle: Δα zd = α - α0, where α0 is the current rotation angle of axis A;

[0015] The target angular velocity along axis A is: ω A0 =-ω o , where ω o For the satellite's orbital angular rate; and

[0016] Determining the angular rate of the A-axis during solar tracking based on the A-axis tracking angle includes:

[0017] Set a first threshold θ1 and a second threshold θ2, where θ1 > θ2;

[0018] When Δα zd When ≥θ1, the angular velocity ω along the A-axis A-zd =ω Amax , where ω Amax =0.15° / s is the absolute value limit of the A-axis angular rate;

[0019] When θ2≤Δα zd When θ<1, the angular velocity ω of axis A A-zd =ω A0 +0.005;

[0020] When |Δα zd |<θ2, angular velocity ω along axis A A-zd =ω A0 ;

[0021] When -θ1 < Δα zdWhen θ ≤ -θ², the angular velocity ω along the A-axis A-zd =ω A0 -0.005;

[0022] When Δα zd When ≤-θ1, the angular velocity ω of axis A A-zd =-ω Amax ;

[0023] When the current rotation angle of axis A is greater than or equal to the maximum rotation angle of axis A, the tracking angular rate ω of axis A... A-zd =0.

[0024] Furthermore, in the one-dimensional solar panel control mode, when the satellite is in the shadow area:

[0025] Calculate the incremental angle Δα pz ,Δα pz =|α0-85°|,ω A-zd =0.15, Δα pz ω A-zd Output incremental rotation to the A-axis and set the A-axis rotation flag ArunFlag in the control software to true. When ArunFlag is true, no more incremental rotation commands will be sent.

[0026] Furthermore, in the one-dimensional windsurf control mode, the control software sends a zeroing command to the B-axis to control the B-axis to rotate to the zero position. If the B-axis is currently at the zero position, the zeroing command will not be sent again.

[0027] Furthermore, in segmented control mode, when the satellite is in the sunlight area, the A-axis control steps are as follows:

[0028] The target angle along axis A is calculated as follows:

[0029] The unit is °;

[0030] The tracking angle of axis A is: Δα zd = α - α0, where α0 is the current rotation angle of axis A;

[0031] By default, the A-axis rotation flag ArunFlag in the control software is set to false. If ArunFlag is set to false:

[0032] When Δα zd When α > 5° and α0 ≤ 75°, the control software sends the A-axis at an angular rate ω. A-zd =0.1 and rotation angle Δα pz Send a rotation command of 10° increments to axis A, and simultaneously set ArunFlag = true;

[0033] When Δα zdWhen α > 5° and α0 > 79°, the control software sends the A-axis at an angular rate ω. A-zd =0.1 and rotation angle Δα pz Send an incremental rotation command of 85° - α0 to the A-axis, and simultaneously set ArunFlag = true;

[0034] When Δα zd When α < -5° and α0 ≥ -75°, the control software sends the A-axis at an angular rate ω. A-zd = -0.1 and rotation angle Δα pz Send a rotation command of 10° increments to axis A, and simultaneously set ArunFlag = true;

[0035] When Δα zd When α < -5° and α0 < -75°, the control software sends the A-axis at an angular rate ω. A-zd =0.1 and rotation angle Δα pz Send an incremental rotation command of 85° + α0 to the A-axis, and simultaneously set ArunFlag = true;

[0036] When the current rotation angle of axis A is greater than or equal to the maximum rotation angle of axis A and ω A-zd When ω > 0, send a stop and hold command; or when the current rotation angle of axis A is less than or equal to the negative maximum rotation angle of axis A and ω A-zd When <0, send a stop-and-hold command to axis A;

[0037] When ArunFlag=true, incremental rotation commands will no longer be sent;

[0038] In segmented control mode, when the satellite is in the shadow area, there is no operation on the A-axis.

[0039] Furthermore, in segmented control mode, when the satellite is in the sunlight area, the B-axis control steps are as follows:

[0040] Calculate the target angle along the B-axis:

[0041] β=arctan2(-S by ,S bx (), the unit is °;

[0042] The B-axis tracking angle is calculated as: Δβ zd =β - β0, where β0 is the current rotation angle of the B-axis;

[0043] By default, the B-axis rotation flag in the control software is set to false (BrunFlag = false). If BrunFlag = false:

[0044] When Δβ zd When β > 15° and β0 ≤ 130°, the control software sends the B-axis at an angular rate ω. B-zd=0.1 and rotation angle Δβ pz Send a 30° incremental rotation command to the B-axis, and simultaneously set BrunFlag to true;

[0045] When Δβ zd When β > 15° and β0 > 130°, the control software sends the B-axis to track the angular rate ω. A-zd =0.1 and rotation angle Δβ pz Send an incremental rotation command of 155° - β0 to the B-axis, and simultaneously set BrunFlag = true;

[0046] When Δβ zd When β < -15° and β0 ≥ 130°, the control software sends the B-axis at an angular rate ω. B-zd = -0.1 and rotation angle Δβ pz Send a 30° incremental rotation command to the B-axis, and simultaneously set BrunFlag to true;

[0047] When Δβ zd When β < -15° and β0 < -130°, the control software sends the B-axis with ω. A-zd = -0.1 and rotation angle Δβ pz Send an incremental rotation command of 155° + β0 to the B-axis, and simultaneously set BrunFlag = true;

[0048] When the current rotation angle β0 of the B-axis is greater than the maximum rotation angle of the B-axis and ω B-zd When ω > 0, send a stop-and-hold command, or when the current B-axis rotation angle β0 ≤ less than the negative maximum rotation angle of the B-axis and ω B-zd When <0, send a stop-and-hold command;

[0049] When BrunFlag = true, incremental rotation commands will no longer be sent;

[0050] When the satellite is in the shadow region, the B-axis rotates to a position where the angle between the B-axis and the zero position is the orbital solar angle, including:

[0051] Calculate the incremental angle Δβ pz =|β0-β orb |, if |Δβ pz If | < 15°, then axis B will not rotate;

[0052] If β orb >0 and ω B-zd = -0.1, or β orb <0 and ω B-zd =0.1, the rotation angle Δβ pz angular velocity ω B-zd The incremental rotation command is sent to the B-axis, and BrunFlag is set to true.

[0053] Furthermore, the angle between the projection of the orbital system-solar vector onto the XoZ plane of the orbital system and the Z-axis of the orbital system is Ω = arctan2(S). ox ,-S oz (Units are converted to °, and the range is -180 to 180°;)

[0054] When Ω is in the range of [180°~90°), it is recorded as the first state; when it is in the range of [90°~0), it is recorded as the second state; when it is in the range of [0~-90°), it is recorded as the third state; and when it is in the range of [-90°~-180°), it is recorded as the fourth state.

[0055] When transitioning from segmented control mode or one-dimensional windsurfing control mode to uniform rotation mode for the first time, the AB axis preset is executed first, including:

[0056] If the current rotation angle α0 of axis A is greater than 83°, then send an A-axis stop command and set the A-axis preset position flag; otherwise, send an A-axis rotation command at an angular rate ω0. A-zd =0.1 rotation command, controls the rotation of axis A;

[0057] Calculate the incremental angle Δβ along the B-axis pz =|β0-β orb |, if Δβ pz If the angle is less than 3°, then send a B-axis stop command and set the B-axis preset position flag; otherwise, if β0-β orb If <0, then the rotational angular rate ω around axis B B = -0.1 controls the rotation of the B-axis. If β0 - β orb If the angular velocity ω is greater than 0, then the rotational speed ω around the B-axis is... B =0.1 controls the rotation of the B-axis, where β0 is the current rotation angle of the B-axis.

[0058] Furthermore, after the A-axis and B-axis are preset in place, they enter the second state from the first state for the first time and rotate at a constant speed.

[0059] In the uniform rotation mode, the uniform rotation control method for the B-axis is as follows:

[0060] If the orbital solar angle β orb When the value is greater than 0 and the state transitions from the first state to the second state, calculate the first rotational angular velocity ω along the B-axis. B0 =2*((180-β) orb )-β0) / T orb Send the B-axis rotation angular rate ω B =ω B0 To the B axis, where T orb The orbital period; when transitioning from the second state to the third state, if the current rotation angle β0 of the B-axis is greater than 175° - β orb Then send the B-axis rotation angular rate ω B=0 to B-axis; when transitioning from the third state to the fourth state, calculate the second rotational angular velocity ω along the B-axis. B1 =2*(β) orb -β0) / T orb Send the B-axis rotation angular rate ω B =ω B1 To the B-axis; when transitioning from the fourth state to the first state, if β0 < β orb +3°, then send the B-axis rotation angular rate ω B =0 to B axis;

[0061] If the orbital solar angle β orb <0, when transitioning from the first state to the second state, calculate ω. B0 =2*((-180-β) orb )-β0) / T orb Send the B-axis rotation angular rate ω B =ω B0 To the B-axis; when transitioning from state two to state three, if the current rotation angle β0 of the B-axis is less than -175° - β orb Then send the B-axis rotation angular rate ω B =0 to B-axis; when transitioning from state three to state four, calculate the second rotational angular velocity ω along the B-axis. B1 =2*(β) orb -β0) / T orb Send the B-axis rotation angular rate ω B =ω B1 To the B-axis; when transitioning from the fourth state to the first state, if β0 > β orb -3°, send the B-axis rotational angular rate ω B0 =0 to B axis;

[0062] When the current rotation angle β0 of the B-axis is greater than or equal to the maximum rotation angle of the B-axis and ω B When β0 > 0, send a stop-and-hold command to the B-axis; or when β0 is less than or equal to the maximum rotation angle of the B-axis and ω B When <0, send a stop-and-hold command to the B axis.

[0063] Furthermore, in the uniform rotation mode, the uniform rotation control method for axis A is as follows:

[0064] When transitioning from the fourth state to the first state, the A-axis does not operate; when transitioning from the first state to the second state, the first rotational angular rate ω of the A-axis is calculated. A0 =4*(|β) orb |-α0) / T orb Send the rotational angular rate ω of axis A. A =ω A0 To axis A; if the current rotation angle α0 of axis A is less than |β orbIf the angle is +2°, then the rotational angular rate ω of the A-axis will be sent. A =0 to A-axis; when transitioning from the second state to the third state, calculate the second rotational angular velocity ω of A-axis. A1 =4*(85-α0) / T orb Send ω A = ω1 to A-axis; if the current rotation angle α0 of A-axis is greater than 83°, then send the rotation angular rate ω of A-axis. A =0 to A-axis; when transitioning from the third state to the fourth state, A-axis is not operated;

[0065] When the current rotation angle α0 of axis A is greater than or equal to the maximum rotation angle of axis A and ω A When α0 > 0, send a stop-and-hold command to the A-axis; or when α0 is less than or equal to the negative maximum rotation angle of the A-axis and ω A When <0, send a stop-and-hold command to axis A.

[0066] The present invention has at least the following beneficial effects:

[0067] The satellite solar panel tracking control method of the present invention includes a one-dimensional solar panel control mode that tracks only the A-axis, a segmented control mode that tracks both the A-axis and the B-axis, and a uniform rotation mode. The corresponding control mode is selected according to the orbital solar angle. The solar tracking control method of the present invention uses solar vector information for calculation, and the design strategy takes into account both energy efficiency and attitude control, reducing the impact of frequent acceleration and deceleration of the solar panel on the satellite attitude.

[0068] Furthermore, the uniform rotation mode of the solar tracking control method of the present invention can reduce the impact on the overall satellite attitude when SADA starts and stops. Attached Figure Description

[0069] To further illustrate the above and other advantages and features of the various embodiments of the present invention, a more specific description of the embodiments of the invention will be presented with reference to the accompanying drawings. It is to be understood that these drawings depict only typical embodiments of the invention and are therefore not intended to limit its scope. In the drawings, identical or corresponding parts will be indicated by identical or similar reference numerals for clarity.

[0070] Figure 1 The diagram shows the relationship between the two-dimensional SADA zero position and rotation direction and the satellite body coordinate system.

[0071] Figure 2 A flowchart of a satellite solar panel tracking control method according to an embodiment of the present invention is shown. Detailed Implementation

[0072] It should be noted that the components in the accompanying drawings may be shown exaggerated for illustrative purposes and may not be to scale.

[0073] In this invention, the various embodiments are merely intended to illustrate the solutions of the invention and should not be construed as limiting.

[0074] In this invention, unless otherwise specified, the quantifiers “a” and “one” do not exclude scenarios involving multiple elements.

[0075] It should also be noted that, in the embodiments of the present invention, only a portion of the parts or components may be shown for clarity and simplicity. However, those skilled in the art will understand that, under the teachings of the present invention, the required parts or components can be added as needed for specific scenarios.

[0076] It should also be noted that within the scope of this invention, the terms "same", "equal", and "equal to" do not mean that the two values ​​are absolutely equal, but allow for a certain reasonable error. In other words, the terms also cover "substantially the same", "substantially equal", and "substantially equal to".

[0077] It should also be noted that in the description of this invention, the terms "center," "longitudinal," "lateral," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," and "outer," etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are used only for the convenience of describing the invention and for simplifying the description, and do not explicitly or implicitly suggest that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on the invention. Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance.

[0078] Furthermore, the embodiments of the present invention describe the process steps in a specific order. However, this is only for the convenience of distinguishing each step, and is not a limitation on the order of each step. In different embodiments of the present invention, the order of each step can be adjusted according to the process.

[0079] Based on the characteristics of changes in satellite orbital illumination environment, the satellite adopts a two-dimensional SADA drive scheme to ensure onboard energy supply in three-axis Earth-attention mode.

[0080] Figure 1 The diagram shows the relationship between the two-dimensional SADA zero position and rotation direction and the satellite body coordinate system.

[0081] like Figure 1 As shown, the B-axis of the two-dimensional solar panel drive mechanism is fixed to the satellite body and can rotate around the Zb axis of the satellite body coordinate system. The A-axis of the two-dimensional solar panel drive mechanism is fixed to the B-axis and rotates around the axis perpendicular to the B-axis.

[0082] The zero position of the B-axis is defined as when the A-axis of the solar panel is parallel to the Yb-axis of the satellite's coordinate system; the zero position of the A-axis is defined as when the normal to the solar panel surface is in the negative direction of the Zb-axis. In the zero position state, according to the right-hand rule, the right thumb points in the negative direction of the Zb-axis, and the rotation direction of the other four fingers is the direction of increasing positive rotation angle of the B-axis; the right thumb points in the negative direction of the Yb-axis, and the rotation direction of the other four fingers is the direction of increasing positive rotation angle of the A-axis.

[0083] The satellite's body coordinate system is OcXbYbZb, with the origin Oc defined as the satellite's center of mass. OcXb, OcYb, and OcZb are parallel to the three axes of the satellite's mechanical coordinate system and point in the same direction.

[0084] The main characteristics of the 2D SADA solar array for tracking the sun include:

[0085] Based on the safety distance constraint between the solar array and the star, both axes of the two-dimensional SADA have limited rotation angles. The rotation angle of the SADA's A-axis is limited to the range of (-85° to 85°), and the rotation angle of the SADA's B-axis is limited to the range of (-160° to 160°).

[0086] Both the AB axes of the two-dimensional SADA system have functions such as uniform rotation, zero return, incremental angle rotation, stop and hold, and actual angle acquisition.

[0087] When entering the three-axis stable ground-flying mode, the two-dimensional SADA rotation enables the solar array to track the sun.

[0088] Considering the limitation of the B-axis rotation speed, when the orbital solar angle is between the first critical angle and the negative first critical angle (e.g., 20° to -20°, which can be modified according to conditions), the B-axis returns to zero and only the A-axis tracks. When the orbital solar angle is outside the range of the first critical angle to the negative first critical angle, both the A and B axes track simultaneously.

[0089] Figure 2 A flowchart of a satellite solar panel tracking control method according to an embodiment of the present invention is shown.

[0090] When the satellite is in a stable Earth-tracking flight mode, control the solar panels to track the sun; otherwise, reset the A-axis and B-axis to zero.

[0091] like Figure 2 As shown, a method for controlling the solar tracking of a satellite solar panel includes the following steps:

[0092] Determine if the orbital solar angle is between the first critical angle and the negative first critical angle. If so, enter the one-dimensional solar control mode (solar control mode 1) for solar tracking. The B-axis is reset to zero, and only the A-axis is controlled to rotate for solar tracking.

[0093] If the orbital solar angle is outside the range of the first critical angle to the negative first critical angle, determine whether the orbital solar angle is greater than the second critical angle or less than the negative second critical angle. If so, enter the segmented control mode (sunboard control mode 2), controlling the A-axis and B-axis to rotate at a non-uniform speed for sun tracking; otherwise, enter the uniform rotation mode (sunboard control mode 3), simultaneously controlling the A-axis and B-axis to rotate at a uniform speed for sun tracking. The second critical angle is greater than the first critical angle, and the first critical angle is greater than 0.

[0094] In one embodiment, the first critical angle is 20° and the second critical angle is 60°.

[0095] When the orbital sun angle is between 20° and -20°, the sail control mode 1 is executed; when the orbital sun angle is greater than 60° or less than -60°, the segmented control mode is selected; when the orbital sun angle is greater than 20° and less than or equal to 60° or less than -20° and greater than or equal to -60°, the uniform speed rotation mode is executed.

[0096] Orbital system solar vector S o =[S ox S oy S oz [S] is the satellite-sun vector in the orbital coordinate system. b =[S bx S by S bz ] is the satellite-sun vector in the satellite body coordinate system.

[0097] Orbital solar angle β orb Calculation formula:

[0098] Units converted to °. Orbital solar angle | β orb When |≤20°, use sail control mode 1, B-axis reset to zero, A-axis tracking only, orbital solar angle|β orb |<-20° or|β orb When | > 20°, A and B axes track simultaneously.

[0099] Unless otherwise specified, the unit of angular rate in this invention is ° / s.

[0100] The following sections detail the one-dimensional windsurfing control mode (windsurfing control mode 1), the segmented control mode (windsurfing control mode 2), and the uniform rotation mode (windsurfing control mode 3).

[0101] One-dimensional windsurfing control mode: A-axis tracking, B-axis zero-return mode. The control software sends a zero-return command to the B-axis to control the B-axis to rotate to the zero position. If the B-axis is currently at the zero position, no zero-return command will be sent.

[0102] The A-axis control process is as follows:

[0103] Current rotation angle α0 on axis A, current rotation angle β0 on axis B, satellite orbital angular rate ω o The absolute value of the A-axis angular velocity is limited to ω. Amax =0.15° / s, the absolute value limit of the B-axis angular velocity is ω Bmax = 0.1° / s.

[0104] When the satellite is in the sunlit area:

[0105] Calculate the target angle along axis A: α = arctan2(S) bx ,-S bz (), the unit is °;

[0106] The tracking angle of axis A is: Δα zd =α-α0;

[0107] The target angular velocity along axis A is: ω A0 =-ω o .

[0108] The angular rate (A-axis rotation rate) of the A-axis during solar tracking is determined based on the A-axis tracking angle, including:

[0109] Set a first threshold θ1 and a second threshold θ2, where θ1 > θ2; in one embodiment, the first threshold θ1 = 5 and the second threshold θ2 = 2, which can be modified on the ground.

[0110] When Δα zd When ≥θ1, the angular velocity ω along the A-axis A-zd =ω Amax ;

[0111] When θ2≤Δα zd When θ<1, the angular velocity ω of axis A A-zd =ω A0 +0.005;

[0112] When |Δα zd When | < θ2, the angular velocity ω along the A-axis A-zd =ω A0 ;

[0113] When -θ1 < Δα zd When θ ≤ -θ², the angular velocity ω along the A-axis A-zd =ω A0 -0.005;

[0114] When Δα zd When ≤-θ1, the angular velocity ω of axis A A-zd =-ω Amax .

[0115] When α0 ≥ 85° or ≤ -85°, the angular velocity ω of axis A. A-zd=0.

[0116] When the satellite is in the shadow area:

[0117] Calculate the incremental angle Δα pz ,Δα pz =|α0-85°|,ω A-zd =0.15, Δα pz ω A-zd The output is sent to the A-axis for incremental rotation. Once the A-axis rotates to 85°, the A-axis rotation flag (ArunFlag) in the control software is set to true. When ArunFlag is true, no further incremental rotation commands are sent. Here, 85° is the maximum rotation angle of the A-axis. Different SADA systems may have different maximum rotation angles for their A-axis; the specific angle value should be determined based on the actual situation.

[0118] Sailboard control mode 2: A and B axis segmented tracking.

[0119] The A-axis control process is as follows:

[0120] When the satellite is in the sunlit area:

[0121] The target angle along axis A is: (Unit: °);

[0122] The tracking angle of axis A is: Δα zd =α-α0;

[0123] By default, the A-axis rotation flag ArunFlag in the control software is set to false. If ArunFlag is set to false:

[0124] When Δα zd When α > 5° and α0 ≤ 75°, the control software sends the A-axis at an angular rate ω. A-zd =0.1 and rotation angle Δα pz =10° incremental rotation command to axis A, and ArunFlag = true at the same time; when Δα zd When α > 5° and α0 > 79°, the control software sends the A-axis at an angular rate ω. A-zd =0.1 and rotation angle Δα pz The incremental rotation command of 85° - α0 is sent to the A-axis, and ArunFlag is set to true. Here, 75°, 79°, and 175° can be modified to other values, which can be adjusted according to the actual situation.

[0125] When Δα zd When α < -5° and α0 ≥ -75°, the control software sends the A-axis at an angular rate ω. A-zd = -0.1 and rotation angle Δα pzSend a rotation command of 10° increments to axis A, and simultaneously set ArunFlag to true.

[0126] When Δα zd When α < -5° and α0 < -75°, the control software sends the A-axis at an angular rate ω. A-zd =0.1 and rotation angle Δα pz Send an incremental rotation command of 85° + α0 to the A-axis, and simultaneously set ArunFlag = true.

[0127] Once the A-axis rotation flag ArunFlag in the control software is set to true, incremental rotation commands will no longer be sent.

[0128] When α0≥85° and ω A-zd When α > 0, the control software sends a stop and hold command; or α0 ≤ -85° and ω A-zd When the value is less than 0, the control software sends a stop and hold command to the A-axis.

[0129] When the satellite is in the shadow area, there is no operation on the A-axis.

[0130] The B-axis control steps are as follows:

[0131] When the satellite is in the sunlit area:

[0132] Calculate the target angle along the B-axis: β = arctan2(-S) by ,S bx (Unit: °);

[0133] The B-axis tracking angle is: Δβ zd =β-β0;

[0134] By default, the B-axis rotation flag in the control software is set to false (BrunFlag = false). If BrunFlag = false:

[0135] Δβ zd When β > 15° and β0 ≤ 130°, the control software sends the B-axis at an angular rate ω. B-zd =0.1 and rotation angle Δβ pz Send a 30° incremental rotation command to the B-axis, and simultaneously set BrunFlag to true;

[0136] Δβ zd When β > 15° and β0 > 130°, the control software sends the B-axis at an angular rate ω. A-zd =0.1 and rotation angle Δβ pz Send an incremental rotation command of 155° - β0 to the B-axis, and simultaneously set BrunFlag = true.

[0137] Δβ zdWhen β < -15° and β0 ≥ 130°, the control software sends the B-axis at an angular rate ω. B-zd = -0.1 and rotation angle Δβ pz Send a 30° incremental rotation command to the B-axis, and simultaneously set BrunFlag to true;

[0138] Δβ zd When β < -15° and β0 < -130°, the control software sends the B-axis at an angular rate ω. A-zd = -0.1 and rotation angle Δβ pz The incremental rotation command of 155° + β0 is sent to the B-axis, and BrunFlag is set to true. Here, 130°, 155°, and 175° can be modified to other values, which can be adjusted according to the actual situation.

[0139] When BrunFlag=true, incremental rotation commands will no longer be sent.

[0140] When β0 > 160° and ω B-zd When β > 0, send a stop-and-hold command, or β0 ≤ -160° and ω B-zd When <0, a stop and hold command is sent; here, 160° is the maximum rotation angle of the B-axis. Different SADA systems may have different maximum rotation angles for the B-axis, and the specific angle value is determined according to the actual situation.

[0141] When the satellite is in the shadow area, the B-axis rotates at an angular rate of 0.1° / s to a position where the angle between the B-axis and the zero position is the orbital solar angle.

[0142] Calculate the incremental angle Δβ pz Δβ pz =|β0-β orb |, if |Δβ pz If β < 15°, the B-axis will not rotate. orb >0 and ω B-zd = -0.1, or β orb <0 and ω B-zd =0.1, the rotation angle Δβ pz angular velocity ω B-zd The incremental rotation command is sent to the B-axis, and BrunFlag is set to true. When BrunFlag is true, no more incremental rotation commands are sent. Here, the absolute value of the incremental angle is not limited to the range of 0-15° and can be adjusted according to the actual situation. Sailboat control mode 3: AB axis uniform speed rotation mode.

[0143] Orbital Sun Angle Units converted to °, T orb For orbital period.

[0144] The angle between the projection of the orbital system-solar vector onto the XoZ plane of the orbital system and the Z-axis of the orbital system is Ω = arctan2(S). ox ,-S oz (), the unit is converted to °, and the range is -180 to 180°.

[0145] When Ω is in the range of [180°~90°), it is recorded as the first state; when it is in the range of [90°~0), it is recorded as the second state; when it is in the range of [0~-90°), it is recorded as the third state; and when it is in the range of [-90°~-180°), it is recorded as the fourth state.

[0146] When entering constant speed rotation mode for the first time from other modes, the AB axis presets are executed first, including:

[0147] Based on the current angle of the A-axis, if α0 > 83°, send an A-axis stop command and set the A-axis preset position flag, indicating that the A-axis has been preset; otherwise, send an A-axis command at an angular rate ω. A-zd The command to rotate by 0.1 degrees controls the rotation of the A-axis. The angle value is not limited to 83 degrees and can be adjusted according to the actual situation.

[0148] Calculate the incremental angle Δβ along the B-axis pz Δβ pz =|β0-β orb |, if Δβ pz <3°, send a B-axis stop command and set the B-axis preset position flag, indicating that the B-axis has been preset; otherwise, if β0-β orb If <0, then the rotational angular rate ω around axis B B = -0.1 controls the rotation of the B-axis. If β0 - β orb If the angular velocity ω is greater than 0, then the rotational speed ω around the B-axis is... B =0.1 controls the rotation of the B-axis. Here, the angle value is not limited to 3° and can be adjusted according to the actual situation.

[0149] After the preset angles of axes A and B are reached, the system initially transitions from the first state to the second state, executing a uniform rotation strategy. The rotation strategy for axis B is as follows:

[0150] If β orb When the value is greater than 0 and the state transitions from the first state to the second state, calculate the first rotational angular velocity ω along the B-axis. B0 =2*((180-β) orb )-β0) / T orb Send the B-axis rotation angular rate ω B =ω B0 To the B-axis; when transitioning from the second state to the third state, if β0 > 175° - β orb Then send the B-axis rotation angular rate ω B =0 to B-axis; when transitioning from the third state to the fourth state, calculate the second rotational angular velocity ω along the B-axis. B1 =2*(β)orb -β0) / T orb Send the B-axis rotation angular rate ω B =ω B1 To the B-axis; when transitioning from the fourth state to the first state, if β0 < β orb +3°, then send the B-axis rotation angular rate ω B =0 to the B-axis. Here, 175° can be modified to other values, which can be adjusted according to the actual situation.

[0151] If β orb <0, when transitioning from the first state to the second state, calculate ω. B0 =2*((-180-β) orb )-β0) / T orb Send the B-axis rotation angular rate ω B =ω B0 To the B-axis; when transitioning from state two to state three, if β0 < -175° - β orb Then send the B-axis rotation angular rate ω B =0 to B-axis; when transitioning from state three to state four, calculate the second rotational angular velocity ω along the B-axis. B1 =2*(β) orb -β0) / T orb Send the B-axis rotation angular rate ω B =ω B1 To the B-axis; when transitioning from the fourth state to the first state, if β0 > β orb -3°, send the B-axis rotational angular rate ω B0 =0 to the B-axis. Here, -175° and -3° can be modified to other values, adjusted according to the actual situation. When β0 ≥ 160° and ω B When β > 0, a stop-and-hold command is sent to the B-axis; or β0 ≤ -160° and ω B When the value is less than 0, a stop-and-hold command is sent to the B-axis. Here, 160° is the maximum rotation angle of the B-axis. Different SADA systems may have different maximum rotation angles for the B-axis, and the specific angle value should be determined based on the actual situation.

[0152] The rotation strategy for axis A is as follows:

[0153] When transitioning from the fourth state to the first state, the A-axis does not operate; when transitioning from the first state to the second state, the first rotational angular rate ω of the A-axis is calculated. A0 =4*(|β) orb |-α0) / T orb Send the rotational angular rate ω of axis A. A =ω A0 To axis A; if the current rotation angle α0 of axis A is less than |β orb If the angle is +2°, then the rotational angular rate ω of the A-axis will be sent. A=0 to A-axis; when transitioning from the second state to the third state, calculate the second rotational angular velocity ω of A-axis. A1 =4*(85-α0) / T orb Send ω A = ω1 to A-axis; if the current rotation angle α0 of A-axis is greater than 83°, then send the rotation angular rate ω of A-axis. A =0 to the A-axis; when transitioning from the third state to the fourth state, the A-axis is not operated. Here, 2° and 83° can be modified to other values, which can be adjusted according to the actual situation.

[0154] When the current rotation angle of axis A is α0 ≥ 85° and ω A When α > 0, send a stop-and-hold command to the A-axis; or α0 ≤ -85° and ω A When the value is less than 0, a stop-and-hold command is sent to the A-axis. Here, 85° is the maximum rotation angle of the A-axis. Different SADA systems may have different maximum rotation angles for the A-axis, and the specific angle value should be determined based on the actual situation.

[0155] While some embodiments of the present invention have been described in this application, those skilled in the art will understand that these embodiments are merely illustrative. Numerous variations, alternatives, and improvements will arise in those skilled in the art under the teachings of this invention without departing from its scope. The appended claims are intended to define the scope of the invention and thereby cover methods and structures within the scope of the claims themselves and their equivalents.

Claims

1. A method for controlling the solar tracking of a satellite solar panel, characterized in that, include: Determine whether the orbital solar angle is between the first critical angle and the negative first critical angle. If so, enter the one-dimensional solar panel control mode for solar tracking. The B-axis is reset to zero, and only the A-axis is controlled to rotate for solar tracking. The B-axis of the two-dimensional solar panel drive mechanism is fixed to the satellite body and can rotate around the Zb axis of the satellite body coordinate system. The A-axis of the two-dimensional solar panel drive mechanism is fixed to the B-axis and rotates around the axis perpendicular to the B-axis. If the orbital solar angle is outside the range of the first critical angle to the negative first critical angle, then determine whether the orbital solar angle is greater than the second critical angle or less than the negative second critical angle. If so, enter the segmented control mode and control the A-axis and B-axis to rotate at a non-uniform speed for solar tracking; otherwise, enter the uniform rotation mode and control the A-axis and B-axis to rotate at a uniform speed for solar tracking. The first critical angle is 20° and the second critical angle is 60°.

2. The method according to claim 1, characterized in that: Orbital system solar vector S o =[S ox S oy S oz [ ] is the satellite-sun vector in the orbital coordinate system; S b =[S bx S by S bz [This refers to the satellite-sun vector in the satellite's body coordinate system;] Orbital solar angle β orb Calculation formula: Convert the unit to °.

3. The method according to claim 2, characterized in that, In the one-dimensional windsurfing control mode, controlling the rotation of the A-axis includes: When the satellite is in the sunlit area: Calculate the target angle along axis A: α = arctan2(S) bx ,-S bz (), the unit is °; Calculate the A-axis tracking angle: Δα zd = α - α0, where α0 is the current rotation angle of axis A; The target angular velocity along axis A is: ω A0 =-ω o , where ω o For the satellite's orbital angular rate; and Determining the angular rate of the A-axis during solar tracking based on the A-axis tracking angle includes: Set a first threshold θ1 and a second threshold θ2, where θ1 > θ2; When Δα zd When ≥θ1, the angular velocity ω along the A-axis A-zd =ω Amax , where ω Amax =0.15° / s is the absolute value limit of the A-axis angular rate; When θ2≤Δα zd When θ<1, the angular velocity ω of axis A A-zd =ω A0 +0.005; When |Δα zd |<θ2, angular velocity ω along axis A A-zd =ω A0 ; When -θ1 < Δα zd When θ ≤ -θ², the angular velocity ω along the A-axis A-zd =ω A0 -0.005; When Δα zd When ≤-θ1, the angular velocity ω of axis A A-zd =-ω Amax ; When the current rotation angle of axis A is greater than or equal to the maximum rotation angle of axis A, the tracking angular rate ω of axis A... A-zd =0.

4. The method according to claim 3, characterized in that, In one-dimensional solar panel control mode, when the satellite is in the shadow area: Calculate the incremental angle Δα pz ,Δα pz =|α0-85°|,ω A-zd =0.15, Δα pz ω A-zd Output incremental rotation to the A-axis and set the A-axis rotation flag ArunFlag in the control software to true. When ArunFlag is true, no more incremental rotation commands will be sent.

5. The method according to claim 1, characterized in that, In the one-dimensional windsurf control mode, the control software sends a zeroing command to the B-axis to control the B-axis to rotate to the zero position. If the B-axis is currently at the zero position, the zeroing command will not be sent again.

6. The method according to claim 2, characterized in that, In segmented control mode, when the satellite is in the sunlight area, the A-axis control steps are as follows: The target angle along axis A is calculated as follows: The unit is °; The tracking angle of axis A is: Δα zd = α - α0, where α0 is the current rotation angle of axis A; By default, the A-axis rotation flag ArunFlag in the control software is set to false. If ArunFlag is set to false: When Δα zd When α > 5° and α0 ≤ 75°, the control software sends the A-axis at an angular rate ω. A-zd =0.1 and rotation angle Δα pz Send a rotation command of 10° increments to axis A, and simultaneously set ArunFlag = true; When Δα zd When α > 5° and α0 > 79°, the control software sends the A-axis at an angular rate ω. A-zd =0.1 and rotation angle Δα pz Send an incremental rotation command of 85° - α0 to the A-axis, and simultaneously set ArunFlag = true; When Δα zd When α < -5° and α0 ≥ -75°, the control software sends the A-axis at an angular rate ω. A-zd = -0.1 and rotation angle Δα pz Send a rotation command of 10° increments to axis A, and simultaneously set ArunFlag = true; When Δα zd When α < -5° and α0 < -75°, the control software sends the A-axis at an angular rate ω. A-zd =0.1 and rotation angle Δα pz Send an incremental rotation command of 85° + α0 to the A-axis, and simultaneously set ArunFlag = true; When the current rotation angle of axis A is greater than or equal to the maximum rotation angle of axis A and ω A-zd When ω > 0, send a stop and hold command; or when the current rotation angle of axis A is less than or equal to the negative maximum rotation angle of axis A and ω A-zd When <0, send a stop-and-hold command to axis A; When ArunFlag=true, incremental rotation commands will no longer be sent; In segmented control mode, when the satellite is in the shadow area, there is no operation on the A-axis.

7. The method according to claim 2, characterized in that, In segmented control mode, when the satellite is in the sunlight area, the B-axis control steps are as follows: Calculate the target angle along the B-axis: β=arctan2(-S by ,S bx (), the unit is °; The B-axis tracking angle is calculated as: Δβ zd =β - β0, where β0 is the current rotation angle of the B-axis; By default, the B-axis rotation flag in the control software is set to false (BrunFlag = false). If BrunFlag = false: When Δβ zd When β > 15° and β0 ≤ 130°, the control software sends the B-axis at an angular rate ω. B-zd =0.1 and rotation angle Δβ pz Send a 30° incremental rotation command to the B-axis, and simultaneously set BrunFlag to true; When Δβ zd When β > 15° and β0 > 130°, the control software sends the B-axis to track the angular rate ω. A-zd =0.1 and rotation angle Δβ pz Send an incremental rotation command of 155° - β0 to the B-axis, and simultaneously set BrunFlag = true; When Δβ zd When β < -15° and β0 ≥ 130°, the control software sends the B-axis at an angular rate ω. B-zd = -0.1 and rotation angle Δβ pz Send a 30° incremental rotation command to the B-axis, and simultaneously set BrunFlag to true; When Δβ zd When β < -15° and β0 < -130°, the control software sends the B-axis with ω. A-zd = -0.1 and rotation angle Δβ pz Send an incremental rotation command of 155° + β0 to the B-axis, and simultaneously set BrunFlag = true; When the current rotation angle β0 of the B-axis is greater than the maximum rotation angle of the B-axis and ω B-zd When ω > 0, send a stop-and-hold command, or when the current B-axis rotation angle β0 ≤ less than the negative maximum rotation angle of the B-axis and ω B-zd When <0, send a stop-and-hold command; When BrunFlag = true, incremental rotation commands will no longer be sent; When the satellite is in the shadow region, the B-axis rotates to a position where the angle between the B-axis and the zero position is the orbital solar angle, including: Calculate the incremental angle Δβ pz =|β0-β orb |, if |Δβ pz If | < 15°, then axis B will not rotate; If β orb >0 and ω B-zd = -0.1, or β orb <0 and ω B-zd =0.1, the rotation angle Δβ pz angular velocity ω B-zd The incremental rotation command is sent to the B-axis, and BrunFlag is set to true.

8. The method according to claim 2, characterized in that, The angle between the projection of the orbital system-solar vector onto the XoZ plane of the orbital system and the Z-axis of the orbital system is Ω = arctan2(S). ox ,-S oz (Units are converted to °, and the range is -180 to 180°;) When Ω is in the range of [180°~90°), it is recorded as the first state; when it is in the range of [90°~0), it is recorded as the second state; when it is in the range of [0~-90°), it is recorded as the third state; and when it is in the range of [-90°~-180°), it is recorded as the fourth state. When transitioning from segmented control mode or one-dimensional windsurfing control mode to uniform rotation mode for the first time, the AB axis preset is executed first, including: If the current rotation angle α0 of axis A is greater than 83°, then send an A-axis stop command and set the A-axis preset position flag; otherwise, send an A-axis rotation command at an angular rate ω0. A-zd =0.1 rotation command, controls the rotation of axis A; Calculate the incremental angle Δβ along the B-axis pz =|β0-β orb |, if Δβ pz If the angle is less than 3°, then send a B-axis stop command and set the B-axis preset position flag; otherwise, if β0-β orb If <0, then the rotational angular rate ω around axis B B = -0.1 controls the rotation of the B-axis. If β0 - β orb If the angular velocity ω is greater than 0, then the rotational speed ω around the B-axis is... B =0.1 controls the rotation of the B-axis, where β0 is the current rotation angle of the B-axis.

9. The method according to claim 8, characterized in that, After the A-axis and B-axis are preset in place, the first state is entered into the second state for uniform rotation. In the uniform rotation mode, the uniform rotation control method for the B-axis is as follows: If the orbital solar angle β orb When the value is greater than 0 and the state transitions from the first state to the second state, calculate the first rotational angular velocity ω along the B-axis. B0 =2*((180-β) orb )-β0) / T orb Send the B-axis rotation angular rate ω B =ω B0 To the B axis, where T orb The orbital period; when transitioning from the second state to the third state, if the current rotation angle β0 of the B-axis is greater than 175° - β orb Then send the B-axis rotation angular rate ω B =0 to B-axis; when transitioning from the third state to the fourth state, calculate the second rotational angular velocity ω along the B-axis. B1 =2*(β) orb -β0) / T orb Send the B-axis rotation angular rate ω B =ω B1 To the B-axis; when transitioning from the fourth state to the first state, if β0 < β orb +3°, then send the B-axis rotation angular rate ω B =0 to B axis; If the orbital solar angle β orb <0, when transitioning from the first state to the second state, calculate ω. B0 =2*((-180-β) orb )-β0) / T orb Send the B-axis rotation angular rate ω B =ω B0 To the B-axis; when transitioning from state two to state three, if the current rotation angle β0 of the B-axis is less than -175° - β orb Then send the B-axis rotation angular rate ω B =0 to B-axis; when transitioning from state three to state four, calculate the second rotational angular velocity ω along the B-axis. B1 =2*(β) orb -β0) / T orb Send the B-axis rotation angular rate ω B =ω B1 To the B-axis; when transitioning from the fourth state to the first state, if β0 > β orb -3°, send the B-axis rotational angular rate ω B0 =0 to B axis; When the current rotation angle β0 of the B-axis is greater than or equal to the maximum rotation angle of the B-axis and ω B When β0 > 0, send a stop-and-hold command to the B-axis; or when β0 is less than or equal to the maximum rotation angle of the B-axis and ω B When <0, send a stop-and-hold command to the B axis.

10. The method according to claim 8, characterized in that, In the uniform rotation mode, the uniform rotation control method for axis A is as follows: When transitioning from the fourth state to the first state, the A-axis does not operate; when transitioning from the first state to the second state, the first rotational angular rate ω of the A-axis is calculated. A0 =4*(|β) orb |-α0) / T orb Send the rotational angular rate ω of axis A. A =ω A0 To axis A; if the current rotation angle α0 of axis A is less than |β orb If the angle is +2°, then the rotational angular rate ω of the A-axis will be sent. A =0 to A-axis; when transitioning from the second state to the third state, calculate the second rotational angular velocity ω of A-axis. A1 =4*(85-α0) / T orb Send ω A = ω1 to A-axis; if the current rotation angle α0 of A-axis is greater than 83°, then send the rotation angular rate ω of A-axis. A =0 to A-axis; when transitioning from the third state to the fourth state, A-axis is not operated; When the current rotation angle α0 of axis A is greater than or equal to the maximum rotation angle of axis A and ω A When α0 > 0, send a stop-and-hold command to the A-axis; or when α0 is less than or equal to the negative maximum rotation angle of the A-axis and ω A When <0, send a stop-and-hold command to axis A.

Citation Information

Cited By

  • Satellite solar panel sun pointing attitude regulation method and device and storage medium

    CN122402814A