Control methods and devices for antenna servo systems
By employing high-frequency sampling technology in the antenna servo system to determine the number of zero-crossings of a single-turn absolute encoder, the problem of mismatched readings was solved, enabling precise rotation control and miniaturized design of the antenna.
Patent Information
- Application Number
- CN202211262443.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-14
- Publication Date
- 2025-12-02
- Estimated Expiration
- 2042-10-14
AI Technical Summary
The readings on a single-turn absolute encoder may not correspond to the actual rotation angle of the antenna, making it impossible to accurately determine the actual rotation angle of the antenna and affecting the antenna's accuracy and speed.
By collecting readings at a preset sampling frequency higher than the zero-crossing frequency of a single-turn absolute encoder during the process of the motor driving the antenna to rotate, the number of times the single-turn absolute encoder crosses zero is determined, and the current rotation angle of the antenna is calculated by combining the current reading and the rotation direction.
It enables accurate zero-crossing detection of a single-turn absolute encoder, ensuring the accuracy of the antenna rotation angle, thereby miniaturizing the antenna, reducing its cost, and improving ease of use.
Smart Images

Figure CN115441188B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a control method and apparatus for an antenna servo system. Background Technology
[0002] Currently, antennas mostly use two-axis stabilization and three-axis control methods. Based on the antenna's geographical location and the target satellite's longitude, the antenna's azimuth, elevation, and polarization angles are adjusted to achieve the theoretical values for the antenna surface attitude. This aligns the antenna's main beam center with the target satellite, establishing a communication path and completing satellite alignment. The adjustment of the antenna surface attitude, i.e., the antenna heading angle, is achieved through a servo system. Therefore, the quality of the motor and the servo control method directly affects the speed and accuracy of satellite alignment.
[0003] Currently, in antenna servo systems, traditional stepper motors and incremental photoelectric encoders are generally used. While these motors can meet the requirements for satellite speed and accuracy, they are large and heavy, increasing the size and weight of the antenna. Furthermore, incremental photoelectric encoders are expensive, raising the antenna's price. Therefore, considering the antenna's size, weight, and cost, a single-turn absolute encoder DC brushless motor can be used in antenna servo systems.
[0004] However, antennas have a certain weight. In antenna servo systems, in order for the motor to drive the antenna to rotate, a reduction mechanism or gear transmission structure is usually added to increase the motor torque. This causes the angles of the motor and the antenna surface to be out of sync. Furthermore, since single-turn absolute encoders use relative angle motion and have zero-crossing phenomena, the readings on the single-turn absolute encoder may not correspond to the actual rotation angle of the antenna. Therefore, the actual rotation angle of the antenna cannot be determined by the readings on the single-turn absolute encoder. Summary of the Invention
[0005] This application provides a control method and apparatus for an antenna servo system, which solves the problem that the reading on a single-turn absolute encoder may not correspond to the actual rotation angle of the antenna, resulting in the inability to determine the actual rotation angle of the antenna through the reading on the single-turn absolute encoder.
[0006] In a first aspect, embodiments of this application provide a control method for an antenna servo system, applied to an antenna servo system including a single-turn absolute encoder, the method comprising:
[0007] The first geographical location of the antenna and the second geographical location of the target satellite are obtained, and the target rotation direction and target rotation angle of the antenna are determined based on the first geographical location and the second geographical location.
[0008] Based on the target rotation direction and the target rotation angle, control the motor of the antenna servo system to rotate in the target rotation direction;
[0009] During the process of the motor driving the antenna to rotate, the reading of the single-turn absolute encoder is collected according to the first preset sampling frequency, wherein the first preset sampling frequency is greater than the zero-crossing frequency of the single-turn absolute encoder.
[0010] The number of times the single-turn absolute encoder crosses zero is determined based on multiple readings of the single-turn absolute encoder.
[0011] The current rotation angle of the antenna is obtained based on the number of zero crossings of the single-turn absolute encoder, the current reading of the single-turn absolute encoder, and the rotation direction of the target.
[0012] Based on the current rotation angle and the target rotation angle, the rotation of the motor is controlled again.
[0013] Optionally, before controlling the motor of the antenna servo system to rotate in the target rotation direction according to the target rotation direction and the target rotation angle, the method further includes:
[0014] When the motor is initially powered on, the motor is controlled to rotate so that the antenna is in its initial position, wherein the initial position of the antenna is the position where the antenna's heading angle is zero;
[0015] The step of controlling the motor of the antenna servo system to rotate in the target rotation direction according to the target rotation direction and the target rotation angle includes:
[0016] Taking the current position of the motor as the starting position of rotation, the motor is controlled to rotate in the target rotation direction according to the target rotation direction and the target rotation angle.
[0017] Optionally, controlling the motor to rotate when the motor is initially powered on, so that the antenna is in the initial position, includes:
[0018] The motor is controlled to rotate in the opposite direction to the target rotation direction, and the reading of the single-turn absolute encoder is obtained according to the second preset sampling frequency, wherein the second preset sampling frequency is greater than the zero-crossing frequency of the single-turn absolute encoder calculated based on the current rotation speed of the motor.
[0019] Obtain the difference between the readings of the single-turn absolute encoder acquired in every two consecutive acquisitions;
[0020] When the difference obtained after a preset number of consecutive tests is less than or equal to a second preset difference, the antenna is determined to be in the initial position.
[0021] Optionally, before acquiring the reading of the single-turn absolute encoder according to the first preset sampling frequency during the process of the motor driving the antenna to rotate, the method further includes:
[0022] Obtain the maximum speed of the motor;
[0023] The zero-crossing frequency of the single-turn absolute encoder is calculated based on the maximum speed of the motor.
[0024] Optionally, determining the number of zero crossings of the single-turn absolute encoder based on multiple readings of the single-turn absolute encoder includes:
[0025] If the difference between two consecutive readings of the single-turn absolute encoder is greater than a first preset difference, then the single-turn absolute encoder is determined to have crossed zero, and the number of times the single-turn absolute encoder has crossed zero is accumulated.
[0026] Optionally, controlling the rotation of the motor again based on the current rotation angle and the target rotation angle includes:
[0027] When the current rotation angle is equal to the target rotation angle, the motor is controlled to stop rotating.
[0028] Optionally, before controlling the motor to stop rotating when the current rotation angle is equal to the target rotation angle of the antenna, the method further includes:
[0029] When the difference between the current rotation angle and the target rotation angle is less than a third preset difference, the speed of the motor is controlled to decrease.
[0030] Secondly, embodiments of this application provide a control device for an antenna servo system, characterized in that it is applied to an antenna servo system including a single-turn absolute encoder, the device comprising:
[0031] The acquisition module is used to acquire the first geographical location of the antenna and the second geographical location of the target satellite, and to determine the target rotation direction and the target rotation angle of the antenna based on the first geographical location and the second geographical location.
[0032] The control module is used to control the motor of the antenna servo system to rotate in the direction of target rotation according to the target rotation direction and the target rotation angle;
[0033] The sampling module is used to collect the reading of the single-turn absolute encoder according to a first preset sampling frequency during the process of the motor driving the antenna to rotate, wherein the first preset sampling frequency is greater than the zero-crossing frequency of the single-turn absolute encoder.
[0034] The processing module is used to determine the number of times the single-turn absolute encoder crosses zero based on multiple readings of the single-turn absolute encoder, and to obtain the current rotation angle of the antenna based on the number of times the single-turn absolute encoder crosses zero, the current reading of the single-turn absolute encoder, and the target rotation direction.
[0035] The control module is also used to control the rotation of the motor again based on the current rotation angle and the target rotation angle.
[0036] Optionally, before the control module controls the motor of the antenna servo system to rotate in the target rotation direction according to the target rotation direction and the target rotation angle, it is further configured to:
[0037] When the motor is initially powered on, the motor is controlled to rotate so that the antenna is in its initial position, wherein the initial position of the antenna is the position where the antenna's heading angle is zero;
[0038] The control module controls the motor of the antenna servo system to rotate in the target rotation direction according to the target rotation direction and the target rotation angle, specifically for:
[0039] Taking the current position of the motor as the starting position of rotation, the motor is controlled to rotate in the target rotation direction according to the target rotation direction and the target rotation angle.
[0040] Optionally, the control module controls the motor to rotate when the motor is initially powered on, so that the antenna is in its initial position, specifically for:
[0041] The motor is controlled to rotate in the opposite direction to the target rotation direction, and the reading of the single-turn absolute encoder is obtained according to the second preset sampling frequency, wherein the second preset sampling frequency is greater than the zero-crossing frequency of the single-turn absolute encoder calculated based on the current rotation speed of the motor.
[0042] Obtain the difference between the readings of the single-turn absolute encoder acquired in every two consecutive acquisitions;
[0043] When the difference obtained after a preset number of consecutive tests is less than or equal to a second preset difference, the antenna is determined to be in the initial position.
[0044] Optionally, before the acquisition module acquires the reading of the single-turn absolute encoder according to the first preset sampling frequency during the process of the motor driving the antenna to rotate, the acquisition module is further configured to:
[0045] Obtain the maximum speed of the motor;
[0046] The zero-crossing frequency of the single-turn absolute encoder is calculated based on the maximum speed of the motor.
[0047] Optionally, the processing module determines the number of zero crossings of the single-turn absolute encoder based on multiple readings of the single-turn absolute encoder, specifically for:
[0048] If the difference between two consecutive readings of the single-turn absolute encoder is greater than a first preset difference, then the single-turn absolute encoder is determined to have crossed zero, and the number of times the single-turn absolute encoder has crossed zero is accumulated.
[0049] Optionally, the control module controls the rotation of the motor again based on the current rotation angle and the target rotation angle, specifically for:
[0050] When the current rotation angle is equal to the target rotation angle, the motor is controlled to stop rotating.
[0051] Optionally, before the control module controls the motor to stop rotating when the current rotation angle is equal to the target rotation angle of the antenna, it is further configured to:
[0052] When the difference between the current rotation angle and the target rotation angle is less than a third preset difference, the speed of the motor is controlled to decrease.
[0053] Thirdly, embodiments of this application provide an antenna servo system, which includes: a controller, an antenna motor unit, a motor drive unit, a motor encoder unit, and an antenna, wherein the motor encoder unit includes a single-turn absolute encoder;
[0054] The controller is connected to the antenna motor unit, the antenna motor unit is connected to the motor drive unit, the motor drive unit is connected to the antenna, the antenna is connected to the motor encoding unit, and the motor encoding unit is connected to the controller.
[0055] The controller is used to execute the control method of the antenna servo system as described in any of the first aspects.
[0056] Fourthly, embodiments of this application provide a readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the control method of the antenna servo system as described in any of the first aspects.
[0057] Fifthly, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the control method of the antenna servo system as described in any of the first aspects.
[0058] Sixthly, embodiments of this application provide an antenna servo system, the antenna servo system comprising: a processor and a memory;
[0059] The memory stores the instructions that the computer executes;
[0060] The processor executes computer execution instructions stored in memory, causing the processor to perform the control method of the antenna servo system as described in any of the first aspects.
[0061] In a seventh aspect, embodiments of this application provide a chip system, the chip system comprising: a processor and a memory;
[0062] The memory stores the instructions that the computer executes;
[0063] The processor executes computer execution instructions stored in memory, causing the processor to perform the control method of the antenna servo system as described in any of the first aspects.
[0064] Eighthly, embodiments of this application provide a communication device, the communication device including the antenna servo system as provided in the sixth aspect.
[0065] This application provides a control method and apparatus for an antenna servo system. For an antenna servo system including a single-turn absolute encoder, during the process of the motor driving the antenna to rotate, the readings of the single-turn absolute encoder are collected according to a first preset sampling frequency, wherein the first preset sampling frequency is greater than the zero-crossing frequency of the single-turn absolute encoder; the number of zero-crossings of the single-turn absolute encoder is determined based on multiple readings of the single-turn absolute encoder; the current rotation angle of the antenna is obtained based on the number of zero-crossings of the single-turn absolute encoder, the current reading of the single-turn absolute encoder, and the target rotation direction. This realizes the judgment of the zero-crossing of the single-turn absolute encoder, and can accurately obtain the number of zero-crossings of the single-turn absolute encoder. Thus, the actual rotation angle of the antenna can be obtained through the single-turn absolute encoder, so that the single-turn absolute encoder can be applied to the antenna, making the antenna miniaturized, low-cost, and improving the convenience of antenna use. Attached Figure Description
[0066] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0067] Figure 1 A simplified diagram of the antenna servo system provided in one embodiment of this application;
[0068] Figure 2A flowchart illustrating a control method for an antenna servo system provided in an embodiment of this application;
[0069] Figure 3 A schematic diagram of the structure of the control device for an antenna servo system provided in an embodiment of this application;
[0070] Figure 4 This is a schematic diagram of the structure of an antenna servo system provided in an embodiment of this application. Detailed Implementation
[0071] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0072] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a particular order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented, for example, in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0073] Figure 1 This is a simplified diagram of the antenna servo system provided in one embodiment of this application. Figure 1 As shown, the antenna servo system includes: a controller 10, an antenna motor unit 20, a motor drive unit 30, a motor encoder unit 40, and an antenna 50. The antenna motor unit 20 includes: an azimuth motor 21, an elevation motor 22, and a polarization motor 23. Correspondingly, the motor drive unit 30 includes: an azimuth driver 31, an elevation driver 32, and a polarization driver 33. The motor encoder unit 40 includes: an azimuth encoder 41, an elevation encoder 42, and a polarization encoder 43.
[0074] The controller 10 is connected to the azimuth driver 31, the pitch driver 32, and the polarization driver 33 to transmit control commands and status feedback. The azimuth driver 31, the pitch driver 32, and the polarization driver 33 drive the azimuth motor 21, the pitch motor 22, and the polarization motor 23 respectively, thereby controlling the movement of the antenna 50. The azimuth encoder 41, the pitch encoder 42, and the polarization encoder 43 are used to measure the heading angle of the antenna and are connected to the controller 10 to feed back the heading angle of the antenna to the controller 10.
[0075] In practice, because antennas have a certain weight, relying solely on a motor to drive their movement makes it difficult to guarantee the speed and accuracy of antenna alignment with satellites. Therefore, a reduction gear or gear transmission structure is usually added to increase the motor's torque. This results in the motor and antenna being out of sync; for example, the motor might rotate 90 degrees while the antenna rotates only 10 degrees. Therefore, it is necessary to obtain the antenna's heading angle through encoder readings.
[0076] Currently, the encoders in the motor encoder unit 40 typically use photoelectric encoders. Photoelectric encoders are expensive, bulky, and heavy. Furthermore, with increasing demands for portability and ease of use of antennas, miniaturization and low cost are becoming increasingly necessary while maintaining accuracy and speed. Single-turn absolute encoders offer advantages such as small size, light weight, and low cost; therefore, they can be used on antennas.
[0077] when Figure 1 When the encoder in the motor encoding unit 40 uses a single-turn absolute encoder, it exhibits zero-crossing behavior due to its zero-point. For example, when the single-turn absolute encoder crosses zero in the forward direction (CW), the output increases from 0 to 16384 (2^14) and then abruptly returns to 0. Conversely, when it crosses zero in the reverse direction (CCW), the output decreases from 16384 (2^14) to 0 and then abruptly returns to 16384. This causes the reading to start from the initial value again after the single-turn absolute encoder crosses zero during rotation. That is, when the single-turn absolute encoder crosses zero once and reaches a reading of 8, the user reads 8. Even after the single-turn absolute encoder crosses zero N times and reaches a reading of 8, the user still reads 8. Therefore, the reading on the single-turn absolute encoder may not correspond to the actual rotation angle of the antenna, making it impossible to determine the actual rotation angle of the antenna from the reading on the single-turn absolute encoder.
[0078] To address the problems existing in the prior art, this application provides a control method and device for an antenna servo system. Referring to the principle of relative angles, it solves the zero-crossing phenomenon of a single-turn absolute encoder. The principle of relative angles can be understood as follows: using the reading on the single-turn absolute encoder at a certain moment as a reference, during the rotation of the single-turn absolute encoder (without zero-crossing), the read value is compared with the reference; the difference is the relative angle of rotation of the single-turn absolute encoder relative to the reference. Specifically, as mentioned above, whether the single-turn absolute encoder rotates in the forward or reverse direction, the readings before and after zero-crossing differ significantly. Therefore, referring to the relative angle calculation method in the principle of relative angles, the difference in the readings of the single-turn absolute encoder before and after zero-crossing can be used to determine whether zero-crossing has occurred, thereby determining the number of zero-crossings. By using the number of zero-crossings and the readings of the single-turn absolute encoder, the actual rotation angle of the single-turn absolute encoder is obtained, thus obtaining the actual rotation angle of the antenna.
[0079] Figure 2 This is a flowchart of a control method for an antenna servo system provided in an embodiment of this application. The execution entity of the method provided in this embodiment is, for example, a... Figure 1 The controller 10 shown in the figure, in this embodiment, uses the Pulta Intelligent RMD-X series motor, whose encoder, driver, and motor body are integrated into a single design. The encoder is a single-turn absolute encoder, and the external interface of the single-turn absolute encoder is RS485. The controller 10 is connected to the motor driver 30 via RS485. Figure 2 As shown, the method provided in this embodiment includes:
[0080] S201. Obtain the first geographical location of the antenna and the second geographical location of the target satellite, and determine the target rotation direction and target rotation angle of the antenna based on the first geographical location and the second geographical location.
[0081] Specifically, a navigation and positioning system is installed on the antenna to obtain the geographical coordinates (latitude and longitude) of the antenna's location, i.e., the primary geographical location. The positioning system can be, for example, GPS, BeiDou navigation, or Galileo navigation and positioning system, and this application does not limit it in any way.
[0082] The antenna is also equipped with a modem module (i.e., a modem), which is used to obtain the longitude and other location information of the target satellite, i.e., a second geographical location.
[0083] Then, based on the geographical coordinates (latitude and longitude) of the antenna location and the celestial theory formula, the theoretical angles of the antenna's azimuth and elevation relative to the star are calculated. Based on the location information of the target satellite, such as longitude, the theoretical angle of polarization is calculated, that is, the target rotation direction and target rotation angle of the antenna are determined, that is, the rotation angle and rotation direction of the antenna in the azimuth, elevation and polarization directions respectively.
[0084] It should be noted that currently, some antennas only allow adjustment of azimuth and elevation angles, while others allow adjustment of azimuth, elevation, and polarization angles. Therefore, this application does not limit the antenna's rotation angle; that is, the antenna rotation angle in this application is a general term. When the antenna only adjusts the azimuth and elevation angles, the antenna rotation angle mentioned in this application includes the rotation angle in the azimuth direction and the rotation angle in the elevation direction. When the antenna adjusts the azimuth, elevation, and polarization angles, the antenna rotation angle in this application includes the rotation angles in each direction of the azimuth, elevation, and polarization angles. Correspondingly, the antenna rotation direction mentioned in this application is also a general term.
[0085] S202. Based on the target rotation direction and target rotation angle, control the motor of the antenna servo system to rotate in the target rotation direction.
[0086] Specifically, the controller 10 sends control commands to the azimuth driver 31, elevation driver 32, and polarization driver 33 via RS485, controlling the drivers to drive the motor to rotate from the starting position in the target rotation direction. When the motor is in the starting position, the antenna's heading angle is 0, meaning the azimuth, elevation, and polarization angles are all 0.
[0087] It should be noted that the control command here is a control command for any one of the azimuth driver 31, pitch driver 32, and polarization driver 33. That is, even if the control command only controls the azimuth driver 31, the control command will still be sent to the azimuth driver 31, pitch driver 32, and polarization driver 33. The control command carries the identifier of the driver controlled by the control command. The driver determines whether to specify the drive action according to the control command based on the identifier carried in the control command.
[0088] S203. During the process of the motor driving the antenna to rotate, the reading of the single-turn absolute encoder is collected according to the first preset sampling frequency.
[0089] The first preset sampling frequency is greater than the zero-crossing frequency of a single-turn absolute encoder.
[0090] Specifically, when the motor drives the antenna to rotate, the single-turn absolute encoder rotates to record the rotation angle of the antenna. The output of the single-turn absolute encoder is sampled at a sampling frequency greater than the zero-crossing frequency of the single-turn absolute encoder, which can ensure that it can be sampled once before and after the zero crossing.
[0091] For example, when setting the first preset sampling frequency, according to the Nyquist sampling theorem, the output of the single-turn absolute encoder is sampled using a sampling frequency twice that of the zero-crossing frequency of the single-turn absolute encoder, so that the number of zero-crossings can be recorded without repetition or omission.
[0092] Prior to S203, it also includes:
[0093] S301, Obtain the maximum speed of the motor.
[0094] S302. Calculate the zero-crossing frequency of the single-turn absolute encoder based on the maximum speed of the motor.
[0095] Specifically, since the zero-crossing frequency of a single-turn absolute encoder is positively correlated with the motor speed, that is, the faster the motor rotates, the more times the single-turn absolute encoder crosses zero in the same amount of time, this embodiment calculates the zero-crossing frequency of the single-turn absolute encoder by the maximum speed of the motor, thereby increasing the first preset sampling frequency, that is, increasing the sampling density, and further ensuring that the number of zero-crossings is recorded without repetition or omission.
[0096] The maximum speed of the motor can be the rated speed of the motor, or the maximum speed that the motor can reach when rotating, which can be obtained through user input.
[0097] S204. Determine the number of times the single-turn absolute encoder crosses zero based on the readings of multiple single-turn absolute encoders.
[0098] Specifically, one possible implementation of S204 is as follows: Since the reading of a single-turn absolute encoder starts from the initial value every time it crosses zero, taking the forward rotation as an example, in the first rotation, the single-turn absolute encoder rotates from 0 to 16384, and the sampled reading of the single-turn absolute encoder is within the range of 0-16384. After crossing zero, in the second rotation, it rotates from 0 to 16384 again, and the sampled reading of the single-turn absolute encoder is within the range of 0-16384. This cycle continues. When the sampled reading of the single-turn absolute encoder suddenly changes from a value close to 16384 to a value close to 0, it indicates that a zero point has been crossed. Therefore, by observing the changes in the multiple sampled readings of the single-turn absolute encoder, it is possible to determine if the single-turn absolute encoder has crossed zero. The number of zero crossings is determined by the number of cycles from 0 to 16384 included in the reading of the single-turn absolute encoder.
[0099] Another possible implementation of S204 is as follows: if the difference between two consecutive readings of the single-turn absolute encoder is greater than the first preset difference, then the single-turn absolute encoder is determined to have crossed zero, and the number of times the single-turn absolute encoder has crossed zero is accumulated.
[0100] As mentioned above, the difference between two consecutive samples obtained by a single-turn absolute encoder during one revolution is small, while the difference between the values before and after zero crossing is large. Therefore, the difference between two consecutive readings of the single-turn absolute encoder can be used to determine whether the single-turn absolute encoder has crossed zero. The first preset difference is generally set to a large value to avoid errors caused by a low sampling frequency.
[0101] The number of zero-crossings of a single-turn absolute encoder is accumulated using a counter.
[0102] S205. Based on the number of zero-crossings of the single-turn absolute encoder, the current reading of the single-turn absolute encoder, and the target rotation direction, obtain the current rotation angle of the antenna.
[0103] Specifically, the rotation direction of the single-turn absolute encoder varies depending on the direction of antenna rotation. Therefore, even if the number of zero crossings is the same as the current reading of the single-turn absolute encoder, the current rotation angle of the antenna will be different depending on the direction of antenna rotation. For example, when rotating in the positive direction, the number of zero crossings is 2, and the current reading of the single-turn absolute encoder is 2, where the reading 2 represents the rotation from 0 to 2. When rotating in the reverse direction, the number of zero crossings is 2, and the current reading of the single-turn absolute encoder is 2, where the reading 2 represents the rotation from 16384 to 2.
[0104] Therefore, by determining the rotation angle represented by the current reading of the single-turn absolute encoder through the target rotation direction, and then by combining the number of zero crossings of the single-turn absolute encoder, the current rotation angle of the antenna is obtained.
[0105] S206. Based on the current rotation angle and the target rotation angle, control the motor rotation again.
[0106] Specifically, based on the difference between the current rotation angle and the target rotation angle, the controller 10 adjusts the speed of the motor rotation in real time. For example, when the current rotation angle is equal to the target rotation angle or the difference is extremely small, it means that the antenna has rotated to the target rotation angle, and at this time, the motor is controlled to stop rotating.
[0107] When the difference between the current rotation angle and the target rotation angle is less than the third preset difference, it means that the current rotation angle is close to the target rotation angle. In this case, in order to improve accuracy, the motor speed needs to be reduced so that the antenna rotates slowly when it is close to the target rotation angle. This makes it easier to control the antenna rotation and can also handle unexpected situations, such as human error causing the antenna to rotate.
[0108] The value of the third preset difference needs to take into account the requirements of the rotation ratio between the motor and the antenna, the accuracy of the antenna rotation angle, etc. For example, the larger the rotation ratio between the motor and the antenna, the smaller the value of the third preset difference; the higher the accuracy of the antenna rotation angle, the larger the value of the third preset difference. The rotation ratio between the motor and the antenna is related to the reduction mechanism.
[0109] In this embodiment, for an antenna servo system including a single-turn absolute encoder, the readings of the single-turn absolute encoder are collected according to a first preset sampling frequency during the process of the motor driving the antenna to rotate. The first preset sampling frequency is greater than the zero-crossing frequency of the single-turn absolute encoder. The number of zero-crossings of the single-turn absolute encoder is determined based on multiple readings. The current rotation angle of the antenna is obtained based on the number of zero-crossings, the current reading of the single-turn absolute encoder, and the target rotation direction. This achieves the judgment of the zero-crossing of the single-turn absolute encoder, accurately obtaining the number of zero-crossings. Thus, the actual rotation angle of the antenna can be obtained through the single-turn absolute encoder, allowing the application of the single-turn absolute encoder in the antenna, enabling miniaturization, lower cost, and improved ease of use.
[0110] In step S201, when calculating the target rotation direction and target rotation angle of the antenna, the initial position of the antenna is calculated based on the position when the heading angle of the antenna is 0. Therefore, it is necessary to ensure that the antenna is in the initial position before rotation, and that the motor and the single-turn absolute encoder are also located at positions corresponding to the initial position of the antenna. Only in this way can it be ensured that the antenna can achieve satellite alignment when rotating according to the calculated target rotation direction and target rotation angle.
[0111] However, for example, if the antenna is located in an external environment, the antenna panel is easily bumped and rotated, causing the antenna to not start rotating from the initial position. This results in low satellite alignment accuracy when the antenna rotates according to the calculated target rotation direction and angle, requiring multiple adjustments and reducing satellite alignment efficiency.
[0112] Therefore, in one possible embodiment, S401 is included before S202: when the motor is initially powered on, the motor is controlled to rotate so that the antenna is in an initial position, wherein the initial position of the antenna is the position where the antenna heading angle is zero. Accordingly, S202 specifically involves: taking the current position of the motor as the starting position of rotation, and controlling the motor to rotate in the target rotation direction according to the target rotation direction and the target rotation angle.
[0113] Specifically, by installing sensors or inductive switches, the initial position of the motor upon power-up is obtained, thus determining the antenna's heading angle at that moment. Based on this heading angle, the motor is controlled to rotate, bringing the antenna to its initial position, even if the heading angle is zero. Then, based on the target's rotation direction and angle, the motor is controlled to rotate in the target's direction of rotation.
[0114] Installing an inductive switch within the antenna would increase its size and internal complexity, contradicting the trend towards miniaturization and convenience. Furthermore, since motors typically have limiting mechanisms, the antenna's heading angle is zero when the motor reaches its limit, and the single-turn absolute encoder is at zero. Therefore, the initial position of the antenna is determined using the limiting mechanism on the motor. Optionally, S401 includes:
[0115] S4011: Control the motor to rotate in the opposite direction to the target rotation direction, and obtain the reading of the single-turn absolute encoder according to the second preset sampling frequency.
[0116] The second preset sampling frequency is greater than the zero-crossing frequency of the single-turn absolute encoder calculated based on the current speed of the motor.
[0117] Specifically, to increase the speed at which the motor reaches its limit, the motor is controlled to rotate in the opposite direction to the target rotation direction, and the reading of the single-turn absolute encoder is obtained according to a second preset sampling frequency. The second preset sampling frequency is greater than the zero-crossing frequency of the single-turn absolute encoder calculated based on the motor's current speed. This reduces the difference between two consecutively acquired readings of the single-turn absolute encoder, improving the reliability of the difference and thus increasing the accuracy of the determined initial position of the antenna when using the difference to determine its location.
[0118] For example, if the second preset sampling frequency is low, the difference between the readings of the single-turn absolute encoder collected in two consecutive samples will be large, making it difficult to determine whether the zero point has been passed and when it has been passed. In this case, the reliability of the difference is low, and it is unclear whether the determined initial position of the antenna is the true initial position of the antenna.
[0119] S4012. Obtain the difference between two consecutive readings of the single-turn absolute encoder.
[0120] Specifically, the readings of a single-turn absolute encoder collected in two consecutive samples can be understood as the readings of any two adjacent single-turn absolute encoder samples. For example, if five readings are obtained through continuous sampling, the difference between the second and first, the difference between the third and second, the difference between the fourth and third, and the difference between the fifth and fourth are obtained to avoid missing zero-crossing points.
[0121] S4013. When the difference obtained after a preset number of consecutive steps is less than or equal to the second preset difference, the antenna is determined to be in the initial position.
[0122] Specifically, when the continuously obtained differences are all less than or equal to the second preset difference, it indicates that the motor has reached the limit and the antenna is in the initial position. The second preset difference can be selected according to actual needs.
[0123] In particular, by determining the motor limit through steps S4011-S4013, it is also possible to ensure that the motor operation remains within the safe travel range and avoid accidents.
[0124] Figure 3 This is a schematic diagram of the control device for an antenna servo system provided in one embodiment of this application. The control device for the antenna servo system provided in this embodiment is applied to an antenna servo system of a single-turn absolute encoder. Figure 3 As shown, the control device of the antenna servo system provided in this embodiment includes: an acquisition module 310, a control module 320, a sampling module 330, and a processing module 340.
[0125] The acquisition module 310 is used to acquire the first geographical location of the antenna and the second geographical location of the target satellite, and to determine the target rotation direction and target rotation angle of the antenna based on the first geographical location and the second geographical location.
[0126] The control module 320 is used to control the motor of the antenna servo system to rotate in the direction of target rotation according to the target rotation direction and the target rotation angle;
[0127] The sampling module 330 is used to collect the reading of a single-turn absolute encoder according to a first preset sampling frequency during the process of the motor driving the antenna to rotate, wherein the first preset sampling frequency is greater than the zero-crossing frequency of the single-turn absolute encoder.
[0128] The processing module 340 is used to determine the number of times the single-turn absolute encoder crosses zero based on the readings of multiple single-turn absolute encoders, and to obtain the current rotation angle of the antenna based on the number of times the single-turn absolute encoder crosses zero, the current reading of the single-turn absolute encoder, and the target rotation direction.
[0129] The control module 320 is also used to control the rotation of the motor again based on the current rotation angle and the target rotation angle.
[0130] Optionally, before the control module 320 controls the motor of the antenna servo system to rotate in the target rotation direction and the target rotation angle, it is also used for:
[0131] When the motor is initially powered on, the motor is controlled to rotate so that the antenna is in its initial position, where the antenna's heading angle is zero.
[0132] The control module 320 controls the motor of the antenna servo system to rotate in the target rotation direction according to the target rotation direction and the target rotation angle, specifically for:
[0133] The motor is controlled to rotate in the target direction based on its current position and the target rotation angle.
[0134] Optionally, the control module 320 controls the motor to rotate when the motor is initially powered on, so that the antenna is in the initial position, specifically for:
[0135] The motor is controlled to rotate in the opposite direction to the target rotation direction, and the reading of the single-turn absolute encoder is obtained according to the second preset sampling frequency, wherein the second preset sampling frequency is greater than the zero-crossing frequency of the single-turn absolute encoder calculated based on the current speed of the motor.
[0136] Obtain the difference between two consecutive readings of a single-turn absolute encoder;
[0137] When the difference obtained after a preset number of consecutive steps is less than or equal to the second preset difference, the antenna is determined to be in the initial position.
[0138] Optionally, before the acquisition module acquires the reading of the single-turn absolute encoder according to the first preset sampling frequency during the process of the acquisition module driving the antenna to rotate, the acquisition module 310 is further used for:
[0139] Get the motor's maximum speed;
[0140] Calculate the zero-crossing frequency of a single-turn absolute encoder based on the motor's maximum speed.
[0141] Optionally, the processing module 340 determines the number of zero crossings of the single-turn absolute encoder based on multiple readings, specifically for:
[0142] If the difference between two consecutive readings of the single-turn absolute encoder is greater than the first preset difference, then the single-turn absolute encoder is determined to have crossed zero, and the number of times the single-turn absolute encoder has crossed zero is accumulated.
[0143] Optionally, the control module 320 controls the motor rotation again based on the current rotation angle and the target rotation angle, specifically for:
[0144] When the current rotation angle is equal to the target rotation angle, the control motor stops rotating.
[0145] Optionally, before the control module 320 controls the motor to stop rotating when the current rotation angle is equal to the target rotation angle of the antenna, it is also used for:
[0146] When the difference between the current rotation angle and the target rotation angle is less than the third preset difference, the speed of the control motor is reduced.
[0147] The control device of the antenna servo system provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be described again here.
[0148] Figure 4 This is a schematic diagram of an antenna servo system provided in one embodiment of this application, wherein the antenna servo system includes a single-turn absolute encoder. Figure 4 As shown, the antenna servo system includes a processor 410 and a memory 420, wherein the processor 410 and the memory 420 are connected via a bus 430.
[0149] In the specific implementation process, the processor 410 executes the computer execution instructions stored in the memory 420, so that the processor 410 executes the control method of the antenna servo system as described above.
[0150] The specific implementation process of processor 410 can be found in the above method embodiments, and its implementation principle and technical effect are similar. It will not be repeated here.
[0151] In the above Figure 4 In the illustrated embodiments, it should be understood that the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this application can be directly manifested as being executed by a hardware processor, or executed by a combination of hardware and software modules within the processor.
[0152] The memory may include high-speed RAM, or it may also include non-volatile memory (NVM), such as disk storage.
[0153] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.
[0154] This application also provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the control method of the antenna servo system described above.
[0155] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the control method of the antenna servo system described above.
[0156] This application provides a chip system including a processor and a memory. The memory stores computer-executable instructions, and the processor executes the computer-executable instructions stored in the memory, causing the processor to execute the control method of the antenna servo system described above.
[0157] This application provides a communication device, which includes the antenna servo system mentioned in the above embodiments of this application. The antenna servo system includes a single-turn absolute encoder, and the controller in the servo system is used to execute the control method of the antenna servo system as described above.
[0158] The communication equipment may be, for example, a stationary satellite antenna, a mobile satellite antenna, a flat-panel satellite antenna, or an electronic device that includes the aforementioned antennas.
[0159] The aforementioned computer-readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. The readable storage medium can be any available medium accessible to a general-purpose or special-purpose computer.
[0160] An exemplary readable storage medium is coupled to a processor, enabling the processor to read information from and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can reside in an Application Specific Integrated Circuit (ASIC). Alternatively, the processor and the readable storage medium can exist as discrete components in the device.
[0161] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0162] Those skilled in the art will understand that all or part of the steps of the above-described method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the above-described method embodiments; and the aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.
[0163] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.
Claims
1. A control method for an antenna servo system, characterized in that, The method, applied to an antenna servo system including a single-turn absolute encoder, comprises: The first geographical location of the antenna and the second geographical location of the target satellite are obtained, and the target rotation direction and target rotation angle of the antenna are determined based on the first geographical location and the second geographical location. Based on the target rotation direction and the target rotation angle, control the motor of the antenna servo system to rotate in the target rotation direction; During the process of the motor driving the antenna to rotate, the reading of the single-turn absolute encoder is collected according to the first preset sampling frequency, wherein the first preset sampling frequency is greater than the zero-crossing frequency of the single-turn absolute encoder. The number of times the single-turn absolute encoder crosses zero is determined based on multiple readings of the single-turn absolute encoder. The current rotation angle of the antenna is obtained based on the number of zero crossings of the single-turn absolute encoder, the current reading of the single-turn absolute encoder, and the rotation direction of the target. Based on the current rotation angle and the target rotation angle, control the rotation of the motor again; Before controlling the motor of the antenna servo system to rotate in the target rotation direction according to the target rotation direction and the target rotation angle, the method further includes: When the motor is initially powered on, the motor is controlled to rotate so that the antenna is in its initial position, wherein the initial position of the antenna is the position where the antenna's heading angle is zero; The step of controlling the motor of the antenna servo system to rotate in the target rotation direction according to the target rotation direction and the target rotation angle includes: Taking the current position of the motor as the starting position of rotation, the motor is controlled to rotate in the target rotation direction according to the target rotation direction and the target rotation angle; The step of controlling the motor to rotate when the motor is initially powered on, so that the antenna is in its initial position, includes: The motor is controlled to rotate in the opposite direction to the target rotation direction, and the reading of the single-turn absolute encoder is obtained according to the second preset sampling frequency, wherein the second preset sampling frequency is greater than the zero-crossing frequency of the single-turn absolute encoder calculated based on the current rotation speed of the motor. Obtain the difference between the readings of the single-turn absolute encoder acquired in every two consecutive acquisitions; When the difference obtained after a preset number of consecutive tests is less than or equal to a second preset difference, the antenna is determined to be in the initial position.
2. The control method for the antenna servo system according to claim 1, characterized in that, Before acquiring the reading of the single-turn absolute encoder according to the first preset sampling frequency during the process of the motor driving the antenna to rotate, the method further includes: Obtain the maximum speed of the motor; The zero-crossing frequency of the single-turn absolute encoder is calculated based on the maximum speed of the motor.
3. The control method for the antenna servo system according to claim 1, characterized in that, Determining the number of zero crossings of the single-turn absolute encoder based on multiple readings includes: If the difference between two consecutive readings of the single-turn absolute encoder is greater than a first preset difference, then the single-turn absolute encoder is determined to have crossed zero, and the number of times the single-turn absolute encoder has crossed zero is accumulated.
4. The control method for the antenna servo system according to any one of claims 1-3, characterized in that, The step of controlling the rotation of the motor again based on the current rotation angle and the target rotation angle includes: When the current rotation angle is equal to the target rotation angle, the motor is controlled to stop rotating.
5. The control method for the antenna servo system according to claim 4, characterized in that, Before controlling the motor to stop rotating when the current rotation angle is equal to the target rotation angle of the antenna, the method further includes: When the difference between the current rotation angle and the target rotation angle is less than a third preset difference, the speed of the motor is controlled to decrease.
6. A control device for an antenna servo system, characterized in that, An antenna servo system incorporating a single-turn absolute encoder, the device comprising: The acquisition module is used to acquire the first geographical location of the antenna and the second geographical location of the target satellite, and to determine the target rotation direction and the target rotation angle of the antenna based on the first geographical location and the second geographical location. The control module is used to control the motor of the antenna servo system to rotate in the direction of target rotation according to the target rotation direction and the target rotation angle; The sampling module is used to collect the reading of the single-turn absolute encoder according to a first preset sampling frequency during the process of the motor driving the antenna to rotate, wherein the first preset sampling frequency is greater than the zero-crossing frequency of the single-turn absolute encoder. The processing module is used to determine the number of times the single-turn absolute encoder crosses zero based on multiple readings of the single-turn absolute encoder, and to obtain the current rotation angle of the antenna based on the number of times the single-turn absolute encoder crosses zero, the current reading of the single-turn absolute encoder, and the target rotation direction. The control module is also used to control the rotation of the motor again based on the current rotation angle and the target rotation angle; Before the control module controls the motor of the antenna servo system to rotate in the target rotation direction according to the target rotation direction and the target rotation angle, it is also used for: When the motor is initially powered on, the motor is controlled to rotate so that the antenna is in its initial position, wherein the initial position of the antenna is the position where the antenna's heading angle is zero; The control module controls the motor of the antenna servo system to rotate in the target rotation direction according to the target rotation direction and the target rotation angle, specifically for: Taking the current position of the motor as the starting position of rotation, the motor is controlled to rotate in the target rotation direction according to the target rotation direction and the target rotation angle; The control module controls the motor to rotate when the motor is initially powered on, so that the antenna is in its initial position, specifically for: The motor is controlled to rotate in the opposite direction to the target rotation direction, and the reading of the single-turn absolute encoder is obtained according to the second preset sampling frequency, wherein the second preset sampling frequency is greater than the zero-crossing frequency of the single-turn absolute encoder calculated based on the current rotation speed of the motor. Obtain the difference between the readings of the single-turn absolute encoder acquired in every two consecutive acquisitions; When the difference obtained after a preset number of consecutive tests is less than or equal to a second preset difference, the antenna is determined to be in the initial position.
7. An antenna servo system, characterized in that, The antenna servo system includes: a controller, an antenna motor unit, a motor drive unit, a motor encoder unit, and an antenna, wherein the motor encoder unit includes a single-turn absolute encoder; The controller is connected to the antenna motor unit, the antenna motor unit is connected to the motor drive unit, the motor drive unit is connected to the antenna, the antenna is connected to the motor encoding unit, and the motor encoding unit is connected to the controller. The controller is used to execute the control method of the antenna servo system as described in any one of claims 1 to 5.
8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by the processor, implement the control method of the antenna servo system as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Absolute encoder parameter calculation method, device and terminal equipment
CN109959400A