A three-redundancy angle extraction method based on SADA photoelectric encoder
By introducing motor direction signal (DIR) into the SADA system, triple redundant angle and dual zero-position signals are extracted from the incremental photoelectric encoder, solving the system failure problem caused by single-point failure of the photoelectric encoder and realizing high-reliability angle measurement and fault tolerance.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- INST OF OPTICS & ELECTRONICS CHINESE ACAD OF SCI
- Filing Date
- 2026-01-20
- Publication Date
- 2026-05-12
AI Technical Summary
The photoelectric encoder in the existing SADA system has a single point of failure risk, which may cause the angle measurement system to fail and affect the continuity of satellite power supply.
By introducing a known motor direction control signal (DIR) and combining it with the coordinated processing of A, B, Z, and BQ signals, triple redundant angle, triple angular velocity, and dual zero-position signals are extracted from the incremental photoelectric encoder, achieving signal-level hot backup.
It significantly improves the reliability and fault tolerance of the SADA system, ensuring reliable operation even when some sensor signals are abnormal, and enhances the long-term survivability and reliability of the satellite energy system.
Smart Images

Figure CN121540193B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the interdisciplinary field of photoelectric measurement and high-reliability control systems, specifically relating to a triple-redundant angle extraction method based on a SADA photoelectric encoder. Background Technology
[0002] The solar array is the primary power generation device of a satellite, converting solar energy into electrical energy through the photoelectric effect to power the entire satellite's payload. As satellite functions become increasingly complex and payload power demands continue to rise, higher requirements are placed on the power generation efficiency of the solar array. The Solar Array Drive Assembly (SADA), as a key drive mechanism connecting the satellite body and the solar array, functions to drive the solar array to continuously align with the sun according to the satellite's attitude control commands, maximizing the photosensitive area and energy harvesting efficiency. Therefore, the angle positioning accuracy and reliability of the SADA directly affect the satellite's energy security and on-orbit lifespan.
[0003] Currently, incremental photoelectric encoders are commonly used as angle sensors in SADA systems. These encoders typically output two orthogonal signals, A and B, with a 90° phase difference, as well as a zero-position Z signal and a half-turn signal BQ (low level for -180° to 0°, high level for 0 to 180°) for each revolution. Traditional methods primarily obtain direction and counting pulses by orthogonally decoding the A and B signals, then calculate a single angle value (called the AB angle), and use the Z signal to establish an absolute zero-position reference. While this method is simple and easy to implement, it has a significant single-point failure risk: if either the A or B signal channel fails, or the Z signal fails, the entire angle measurement system fails, causing SADA to be unable to position normally and seriously threatening the continuity of satellite power supply.
[0004] To improve the reliability of SADA systems, it is necessary to redundancy-enhanced the design of their core sensors—photoelectric encoders. However, under the premise that the physical structure of the existing encoder (i.e., the number of code tracks) remains unchanged, how to tap the potential of existing signals, construct multiple independent angle and zero-position information channels, and achieve true signal-level hot backup has become a technical challenge. Summary of the Invention
[0005] To address the aforementioned technical problems, this invention provides a triple-redundant angle extraction method based on a SADA photoelectric encoder. Without altering the original hardware code track design of the incremental photoelectric encoder, it fully utilizes the known motor rotation direction information (DIR) of the SADA mechanism itself. Combined with the collaborative processing of A, B, Z, and BQ signals, it extracts triple-redundant angles, triple angular velocities, and dual zero-position signals from the same set of encoder signals. This significantly improves the reliability and fault tolerance of the SADA angle measurement system, meeting the stringent requirements of long-life, high-reliability aerospace missions for key components.
[0006] To achieve the above objectives, the present invention adopts the following technical solution:
[0007] A triple-redundant angle extraction method based on a SADA photoelectric encoder, the method comprising:
[0008] Step 1: Input the A signal, B signal, Z signal, BQ signal of the incremental photoelectric encoder and the DIR direction control signal of the stepper motor to the signal processing unit;
[0009] Step 2: The signal processing unit performs orthogonal decoding on signals A and B to obtain the angle AB;
[0010] Step 3: Latch the DIR signal state on the transition edge of the A signal, and increment or decrement the A angle counter according to the DIR signal to obtain the independent A angle;
[0011] Step 4: Latch the DIR signal state on the transition edge of the B signal, and increment or decrement the B angle counter according to the DIR signal to obtain the independent B angle; the AB angle, A angle and B angle constitute the triple hot backup angle;
[0012] Step 5: Differentiate the triple hot backup angle to obtain the triple hot backup angular velocity;
[0013] Step 6: Use the rising edge of the Z signal to clear the A angle, B angle and AB angle counters to establish the first absolute zero position; use the rising edge of the BQ signal to clear the A angle, B angle and AB angle counters to establish the second absolute zero position.
[0014] In a second aspect, the present invention provides an electronic device, comprising: one or more processors; and a memory for storing one or more programs; wherein, when the one or more programs are executed by the one or more processors, the one or more processors implement the aforementioned triple-redundant angle extraction method based on a SADA photoelectric encoder.
[0015] Thirdly, the present invention provides a computer-readable storage medium having executable instructions stored thereon, which, when executed by a processor, enable the processor to implement the aforementioned triple-redundant angle extraction method based on a SADA photoelectric encoder.
[0016] The beneficial effects of this invention are as follows:
[0017] A highly reliable multi-signal redundancy is achieved: without adding any hardware code tracks to the encoder, the A angle, B angle, and traditional AB angle are innovatively extracted independently from the original A and B quadrature signals by introducing a known motor direction control signal (DIR), forming triple hot-backup angle information. Simultaneously, absolute zero points can be established using the transition edges of both the Z and BQ signals, achieving dual hot backup of the zero-position signal. This multi-redundancy design for angles and zero positions fundamentally overcomes the single-point-of-failure problem in traditional methods, where a single signal channel failure leads to the failure of the entire system.
[0018] This significantly enhances the system's fault tolerance and continuous operation capability: when either the A or B signal channel fails, the system can automatically switch to the other channel or the AB angle for continuous and accurate angle measurement; when the Z zero-position signal fails, the BQ zero-position can serve as a backup to maintain the absolute coordinate reference. This robust fault tolerance ensures that SADA can still operate reliably even when some sensor signals are abnormal, greatly enhancing the survivability and reliability of the satellite energy system during long-term on-orbit operation.
[0019] The dimensions of condition monitoring have been expanded: Based on the obtained triple-redundant angle values, the triple-redundant angular velocity information can be further obtained through differential operations, providing richer and more reliable data support for the operation status monitoring, fault diagnosis and control optimization of SADA mechanisms. Attached Figure Description
[0020] Figure 1 This is a code track diagram for an incremental photoelectric encoder in the prior art;
[0021] Figure 2 The code track diagram of the incremental photoelectric encoder after introducing the DIR signal in this invention. Detailed Implementation
[0022] The present invention will be further described below with reference to the accompanying drawings and embodiments.
[0023] like Figure 1As shown, a common incremental encoder has four code tracks: A track, B track, Z track, and BQ track. Track A and track B have a 90° phase difference. Track Z occupies half the width of the AB cycle in a full revolution, and its phase is aligned with the rising edge of track A. Track BQ, also called the half-cycle track, has its transition edge in the middle of the zero-position high level. Quadrature decoding of AB yields the AB angle, and the high and low levels of BQ indicate the current position area, guiding the motor towards the zero position, thereby achieving rapid zero-finding and establishing absolute zero-position coordinates.
[0024] In a motor drive system, DIR is the stepper motor direction control signal. Assume that when DIR='1', SADA rotates clockwise; when DIR='0', SADA rotates counter-clockwise. This is a known quantity. For example... Figure 2 As shown, after introducing DIR, angles A and B can be obtained by combining it with A and B. Of course, angles AB are obtained independently of DIR. In addition to guiding the motor to quickly find zero, BQ also uses its transition edge to obtain the function of establishing absolute zero coordinates. In this way, the angle has redundancy and the zero position also has redundancy, which improves the reliability of the photoelectric encoder.
[0025] Based on the aforementioned theoretical foundation, this invention provides a triple-redundant angle extraction method based on a SADA photoelectric encoder. The core of this method lies in using the known motor direction signal (DIR) to perform redundancy analysis on the standard output signal (A, B, Z, BQ) of the incremental encoder, ultimately outputting triple-redundant angles, triple-redundant angular velocities, and dual-redundant zero positions. Specifically, it includes the following steps:
[0026] Step 1: Signal input and preprocessing;
[0027] The method described in this invention is implemented based on a signal processing unit, which can be a digital signal processor (DSP), a microcontroller (MCU), or a field-programmable gate array (FPGA). The A, B, Z, and BQ signals of the incremental photoelectric encoder and the direction control signal DIR of the stepper motor driver are respectively connected to the I / O pins of this processing unit.
[0028] The encoder's two quadrature square wave signals (A and B channels) are simultaneously connected to two sets of resources in the signal processor: one set is directly connected to a general-purpose I / O port for subsequent software counting; the other set is connected to a dedicated quadrature decoding module (such as the QEP module of the MCU). Simultaneously, the Z and BQ signals are connected to an interrupt pin with edge detection or a high-speed I / O port. The motor control system's direction signal DIR is connected to a general-purpose I / O port. To ensure signal quality, a digital filter (such as multiple sampling voting) can be configured in the software to eliminate potential glitches.
[0029] Step 2: Obtaining angle AB; This step provides two implementation paths:
[0030] Hardware decoding (preferred): If the processing unit has an orthogonal decoding module, then this module should be configured directly. This module can automatically identify the phase relationship between signals A and B, generate a direction signal internally, and add or subtract the pulses after a 4x frequency multiplication. The value of the counter is the high-precision "AB angle" value.
[0031] Software decoding: If no hardware module is available, the levels and transitions of signals A and B are captured through program polling or interrupts. The direction is determined by judging the level state of signal B when signal A transitions, and the "AB angle" is calculated by accumulating the data in software variables using a 4x frequency multiplication counting logic.
[0032] Step 3: Reading and synchronizing the DIR signal;
[0033] The DIR signal level is read in real time. To ensure that the angle count is strictly synchronized with the actual direction of motor movement, the current DIR signal value needs to be latched (sampled) at the transition edge of signal A or B, and this value is used as the direction basis for the current counting cycle.
[0034] Step 4: Independent extraction of angles A and B;
[0035] This is the core step in achieving redundancy. Each transition edge (rising edge and falling edge) of signal A and signal B is used as a counting pulse.
[0036] Angle A extraction: At each transition edge of the A signal, read the synchronous DIR signal value. If DIR is high (assuming it represents forward rotation), the A angle counter increments by 1; if DIR is low (reverse rotation), the counter decrements by 1.
[0037] B-angle extraction: At each transition edge of the B signal, the B-angle counter is incremented or decremented by 1 according to the synchronous DIR signal value.
[0038] Thus, "Angle A" and "Angle B" are independently obtained. They are physically derived from the same pair of code tracks as "Angle AB", but their counting logic is independent of each other, thus forming triple hot backup angle information.
[0039] Step 5: Derivation of triple angular velocity;
[0040] Differential calculations are performed on the three angle values (angle A, angle B, and angle AB) obtained in steps 2 and 4. In practice, the increments of the three angle values can be calculated within a fixed short time period (e.g., 1 ms), and then divided by the time interval to obtain three independent angular velocity values with a hot backup relationship. This provides redundant data for system status monitoring and fault diagnosis.
[0041] Step 6: Establishment and arbitration of the dual absolute zeros;
[0042] Z-signal zero-point establishment: The configuration processing unit generates an interrupt at a specific transition edge (such as a rising edge) of the Z-signal. In the interrupt service routine, the counters for angles A, B, and AB are simultaneously cleared to zero, and this position is defined as an absolute zero point of the system.
[0043] BQ signal zero-point establishment: Similarly, the configuration processing unit generates an interrupt on the transition edge of the BQ signal (which can be defined as a rising edge or a falling edge according to the circuit design). In this interrupt service routine, the three angle counters are also cleared, thereby establishing a second independent absolute zero point.
[0044] Zero-position arbitration strategy: The system can be set with priorities, such as prioritizing the Z signal as the primary zero position. When the system detects that the Z signal has been lost multiple times in a row, it can automatically switch to the zero position established by the trusted BQ signal and report the zero-position switching fault, thereby achieving fault tolerance for the zero-position signal.
[0045] The system can periodically compare the values of angles A, B, and AB. Under normal circumstances, the three should remain consistent or within the allowable range of small errors. If a certain angle value (such as angle A) deviates significantly and continuously from the other two, the A signal channel can be identified as faulty. The system can automatically isolate the faulty channel and continue to use the normal B and AB angles for control, thus realizing online reconfiguration and degraded operation of the system.
[0046] Example
[0047] The triple-redundant angle extraction method is implemented using an FPGA as the signal processing unit. The system hardware platform uses a Xilinx Artix-7 series FPGA, an Omron E6B2-CWZ6C incremental photoelectric encoder, and a stepper motor driver to provide the direction control signal DIR.
[0048] Step 1: Signal Input and Preprocessing; Connect the encoder's A, B, Z, and BQ signals to the four dedicated high-speed I / O pins of the FPGA, and the DIR signal to the general-purpose I / O pin. Design a digital filter inside the FPGA to perform quadruple frequency sampling on the A and B signals to eliminate jitter; set an edge detection interrupt for the Z and BQ signals.
[0049] Step 2, AB angle acquisition (hardware quadrature decoding): Use the FPGA's built-in QEP (quadrature encoded pulse) module, configured in 4x frequency multiplication mode, to automatically identify the phase relationship between A and B and output the AB angle count value.
[0050] Steps 3-4: Extract angles A and B independently;
[0051] Design two independent counter modules, responding to the rising and falling edges of signals A and B respectively. At each rising and falling edge, synchronously latch the state of the DIR signal.
[0052] If DIR=1, then the corresponding counter is incremented by 1;
[0053] If DIR=0, the corresponding counter is decremented by 1.
[0054] Output the count values for angles A and B.
[0055] Step 5: Calculate the triple angular velocity;
[0056] Set a 1ms timer in the FPGA to read the count values of angles A, B, and AB every 1ms, calculate the difference with the previous cycle, and divide by the time interval to obtain the three angular velocities.
[0057] Step 6: Dual Zero Position Establishment and Arbitration; Configure rising edge trigger interrupts for the Z and BQ signals. In the Z interrupt, clear the A, B, and AB counters to zero and set them as the primary zero position. In the BQ interrupt, perform the same clearing operation and set it as the backup zero position. If no Z signal transition is detected for three consecutive cycles, automatically switch to the BQ zero position and report a "Z signal failure" status.
[0058] The three angle values are compared every 10ms. If the deviation of one of the three angles (such as angle A) from the other two angles exceeds ±2 pulses for a continuous period of time, the A signal is determined to be faulty. The system automatically blocks angle A and only uses angle B and angle AB for output.
[0059] This embodiment was verified on an actual SADA test platform. It can still output accurate angle and angular velocity information stably when either the A or B signal channel fails or the Z signal fails, thus achieving highly reliable redundant fault-tolerant control.
[0060] In summary, this invention, through ingenious signal processing logic, fully taps the potential of standard incremental encoders, achieving highly reliable redundant measurement at a lower cost, and greatly improving the operational safety of critical mechanisms such as SADA.
[0061] In a second aspect, the present invention provides an electronic device, comprising: one or more processors; and a memory for storing one or more programs; wherein, when the one or more programs are executed by the one or more processors, the one or more processors implement the aforementioned triple-redundant angle extraction method based on a SADA photoelectric encoder.
[0062] Thirdly, the present invention provides a computer-readable storage medium having executable instructions stored thereon, which, when executed by a processor, enable the processor to implement the aforementioned triple-redundant angle extraction method based on a SADA photoelectric encoder.
[0063] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above descriptions are merely specific embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A method for extracting triple-redundant angles based on a SADA photoelectric encoder, characterized in that, The method includes: Step 1: Input the A, B, Z, and BQ signals from the incremental photoelectric encoder, as well as the DIR direction control signal from the stepper motor, to the signal processing unit; where, Signals A and B are orthogonal signals with a 90° phase difference, used to indicate angle changes and rotation direction; The Z signal is a zero-position pulse signal that occurs once per revolution, used to establish an absolute zero-position reference. The BQ signal is a half-circle signal, used to indicate the half-circle area where the current angle is located, and to help establish an absolute zero position; The DIR signal is the direction control signal for the stepper motor, used to indicate the direction of rotation of the motor; Step 2: The signal processing unit performs orthogonal decoding on signals A and B to obtain the angle AB; Step 3: Latch the DIR signal state on the transition edge of the A signal, and increment or decrement the A angle counter according to the DIR signal to obtain the independent A angle; Step 4: Latch the DIR signal state on the transition edge of the B signal, and increment or decrement the B angle counter according to the DIR signal to obtain the independent B angle; the AB angle, A angle and B angle constitute the triple hot backup angle; Step 5: Differentiate the triple hot backup angle to obtain the triple hot backup angular velocity; Step 6: Use the rising edge of the Z signal to clear the A angle, B angle and AB angle counters to establish the first absolute zero position; use the rising edge of the BQ signal to clear the A angle, B angle and AB angle counters to establish the second absolute zero position. When the Z signal fails, the system automatically switches to the second absolute zero position established by the BQ signal. In steps 3 and 4, the transition edge includes a rising edge and a falling edge.
2. The method for extracting triple-redundant angles based on a SADA photoelectric encoder according to claim 1, characterized in that, In step 1, the signal processing unit is a DSP, MCU, or FPGA.
3. The method for triple-redundant angle extraction based on a SADA photoelectric encoder according to claim 1, characterized in that, In step 2, orthogonal decoding is implemented through a hardware orthogonal decoding module or by simulating orthogonal decoding logic in software.
4. The method for extracting triple-redundant angles based on a SADA photoelectric encoder according to claim 1, characterized in that, In step 5, the angular velocity is obtained by calculating the angle increment within a fixed time interval.
5. The method for triple-redundant angle extraction based on a SADA photoelectric encoder according to claim 1, characterized in that, The method further includes periodically comparing the AB angle, A angle, and B angle; if the deviation of any angle value from the other angle values continues to exceed the tolerance range, the corresponding signal channel is determined to be faulty.
6. The method for triple-redundant angle extraction based on a SADA photoelectric encoder according to claim 5, characterized in that, If a fault is detected in the corresponding signal channel, the system will automatically switch to another normal angle channel for output.
7. An electronic device, characterized in that, include: One or more processors; Memory, used to store one or more programs; When one or more programs are executed by the one or more processors, the one or more processors implement the triple-redundant angle extraction method based on a SADA photoelectric encoder as described in any one of claims 1-6.
8. A computer-readable storage medium, characterized in that, It stores executable instructions that, when executed by a processor, enable the processor to implement the triple-redundant angle extraction method based on a SADA photoelectric encoder as described in any one of claims 1-6.