Abstract:
A method for controlling a first motor and a second motor to synchronize respective positions of the first motor and the second motor may comprise comparing the positions to determine a position difference, incrementally increasing a speed of one of the first motor and the second motor and incrementally decreasing a speed of the other of the first motor and the second motor according to the position difference, and repeating the incrementally increasing and incrementally decreasing until the respective positions are synchronized. Additionally, motor current limiting may be applied by reducing the target speed of the motor(s) with high applied torque(s), which may result in a position difference between the two motors subject to synchronization/correction. If current limiting is applied to one or both of the motors, speed synchronization may be applied in addition to position-based synchronization.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
       [0001]    This application is a national stage filing based upon International Application No. PCT/US2013/031720, with an international filing date of Mar. 14, 2013, the disclosure of which is incorporated herein by reference in its entirety. 
     
    
     BACKGROUND 
       [0002]    1. Technical Field 
         [0003]    The present disclosure relates generally to aircraft flap systems, including synchronization of flap actuators. 
         [0004]    2. Description of the Related Art 
         [0005]    In aircraft flap systems, multiple actuators may be involved in controlling the extension and retraction of one or more flap panels. For example, a single flap panel may be actuated by two actuators. The dynamic variations of the load torque applied to each of the two actuators may potentially result in “force fighting” that can affect motor position and adjusted target speed of each actuator, possibly resulting in a difference in the positions of the actuators. Such position differences can cause problems such as undesirable bending in the flap panel, i.e., flap skew. 
       SUMMARY 
       [0006]    To prevent or minimize flap skew, two linear actuators may be synchronized in linear position during flap extension and/or retraction. Furthermore, due to high applied torques on one or both of the actuators, motor current limiting may be desirable in order to limit output torque and prevent the motor current from increasing beyond a threshold beyond which damage to the motor windings and/or the power electronics drive may result. Motor current limiting can be achieved by reducing the target speed of the linear actuator(s) with high applied torque(s), which may result in a position difference between the two linear actuators subject to synchronization/correction. If current limiting is applied to one or both of the motors, speed synchronization may be applied in addition to the position-based synchronization noted above. 
         [0007]    In an embodiment, a method for controlling a speed of a first motor to synchronize a first actuator driven by said first motor with a second actuator driven by a second motor may comprise receiving respective positions of the first motor or the first actuator and of the second motor or the second actuator. The method may further comprise comparing the respective positions to each other to determine a position difference and to determine whether the first motor is leading or trailing the second motor. The method may further comprise incrementing the speed if the first motor is trailing and decrementing the speed if the first motor is leading, and repeating the receiving, the comparing respective positions, and the incrementing and decrementing until the position difference is less than a position difference threshold. In the same embodiment, the method may further comprise receiving a motor current of the first motor, receiving a motor current limiting speed adjustment of the second motor, and decrementing the motor speed as long as the motor current is over a certain motor current threshold and if a motor current limiting speed adjustment of the other motor is less than its own motor current limiting speed adjustment if any. 
         [0008]    Another embodiment of a method for controlling a first motor and a second motor to synchronize respective positions of the first motor and the second motor may comprise comparing the positions to determine a position difference, incrementally increasing a speed of one of the first motor and the second motor and incrementally decreasing a speed of the other of the first motor and the second motor according to the position difference, and repeating the incrementally increasing and incrementally decreasing until the respective positions are synchronized. In the same embodiment, the method may further comprise receiving motor currents of the first motor and second motors, and decrementing the motor speed of each of the first motor or second motor as long as its motor current is over a certain motor current threshold and apply the largest of the first motor and second motor current limit speed adjustments to the target speed of both the first motor and the second motor. 
         [0009]    An embodiment of a system for synchronizing two motors may comprise a first motor, a second motor, a first controller, and a second controller. The first controller may be configured to receive a position of the first motor and a position of the second motor, compare the positions of the first motor and the second motor to determine whether the first motor is a leading motor or a trailing motor, increment a speed of the first motor if it is the trailing motor, decrement the speed of the first motor if it is the leading motor, and repeat the receive, compare, increment, and decrement steps until the difference between the positions of the first motor and the second motor is less than a set or predetermined threshold. The first controller may also be configured to receive the first motor current and the second motor current limiting speed adjustment to decrement the first motor target speed as long as the first motor current is over a certain motor current threshold and apply the current limiting motor speed adjustment of the second motor if it is larger than the first motor current limiting sped adjustment. The second controller may be configured to receive the position of the first motor and the position of the second motor, compare the positions of the first motor and the second motor to determine whether the second motor is the leading motor or the trailing motor, increment a speed of the second motor if it is the trailing motor, decrement the speed of the second motor if it is the leading motor, and repeat the receive, compare, increment, and decrement steps until the difference between the positions of the first motor and the second motor is less than the set or predetermined threshold. The second controller may also be configured to receive the second motor current and the first motor current limiting speed adjustment to decrement the second motor target speed as long as the second motor current is over certain motor current threshold and apply the current limiting motor speed adjustment of the first motor if it is larger than the second motor current limiting speed adjustment. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0010]    Embodiments of the invention will now be described, by way of example, with reference to the accompanying drawings, wherein: 
           [0011]      FIG. 1  is a block diagram view of an embodiment of a flap actuator system. 
           [0012]      FIG. 2  is a block diagram view of an exemplary implementation of the system of  FIG. 1 . 
           [0013]      FIG. 3  illustrates an algorithm for controlling the speed of a motor driving a flap actuator. 
       
    
    
     DETAILED DESCRIPTION 
       [0014]    Reference will now be made in detail to embodiments of the present invention, examples of which are described herein and illustrated in the accompanying drawings. While the invention will be described in conjunction with embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. 
         [0015]      FIG. 1  is a block diagram view of an exemplary flap actuation system  10  including a flap  12  coupled to a first actuator  14   a  and a second actuator  14   b.  The first actuator  14   a  may be driven by a first electric motor  16   a,  and the second actuator  14   b  may be driven by a second electric motor  16   b.  Each electric motor  16   a,    16   b  may be coupled with respective motor drive power electronics  18   a,    18   b,  and each motor drive power electronics  18   a,    18   b  may be coupled with a respective motor control unit (MCU)  20   a,    20   b.  Each MCU  20   a,    20   b  may comprise a motor position and speed synchronization control circuit  22   a,    22   b  (which may simply be referred to herein as a synchronization circuit  22   a,    22   b ) and a motor speed and torque control circuit  24   a,    24   b.    
         [0016]    In an embodiment, a flight control system or a manual user input, such as a lever or switch (not shown), may be used to provide flap actuation commands to the MCUs  20 . The flap actuation commands may include a single direction and commanded target speed sent simultaneously to both electric motors  16  so as to smoothly move the flap  12 —i.e., such that, ideally, the portions of the flap  12  coupled to the two actuators  14   a,    14   b  are synchronized in position throughout extension or retraction of the flap  12 . The target speed and direction may be received by the MCUs  20  and translated into control signals for the motor drive power electronics  18  to operate the motors  16 . The linear actuators  14  may translate motion of the motors  16  (i.e., rotation) into linear movement of the flap  12 . 
         [0017]    As noted above, external forces on the flap  12  may cause the motors  16  to deviate from the target speed provided by the flight control system or manual input. Furthermore, external forces may cause the motors  16  to deviate from the target speed by amounts different from each other, leading to non-synchronized positions of the motors  16   a,    16   b  and of the actuators  14   a,    14   b.  Thus, each motor position and speed synchronization control circuit  22  may be configured to execute an algorithm to synchronize the positions of the motors  16  and/or actuators  14 . Each motor position and speed synchronization control circuit  22  may receive the target motor speed and direction, the position of the “on-side” electric motor  16  (i.e., the motor  16  to which the respective MCU  20  is coupled, where electric motor  16   a  is on-side with respect to MCU  20   a,  and electric motor  16   b  is on-side with respect to MCU  20   b ), and the position of the “cross-side” motor (i.e., the motor  16  to which the respective MCU  20  is not coupled, where electric motor  16   b  is cross-side with respect to MCU  20   a  and electric motor  16   a  is cross-side with respect to MCU  20   b ). Each motor position and speed synchronization control circuit  22  may output an adjusted target motor speed for its on-side motor  16  so as to synchronize its position with the position of the cross-side motor  16 . The synchronization algorithm performed by the motor position and speed synchronization control circuit  22  may include a multi-level incremental speed adjustment, as explained below. 
         [0018]    External forces on the flap  12  may also cause the electrical current of one or both of the motors  16   a,    16   b  to reach undesirable levels. Thus, each motor position and speed control circuit  22   a,    22   b  may be configured to execute a current limiting algorithm, to maintain the motor current of its on-side motor  16   a,    16   b  below a certain motor current threshold by decrementing the motor target speed so it can keep the motor current within an acceptable range below the certain motor current threshold. This motor position and speed synchronization control circuit  22  may include a current increase avoidance algorithm by preventing to the on-side motor  16  to increase its speed if motor position synchronization is needed and if the on-side motor current is over certain motor current threshold, thus letting the cross-side motor  16  only decrement its speed to synchronize to the on-side motor  16  position. Each motor position and speed synchronization control circuit  22  may receive, in addition to the data noted above, the current of its on-side motor  16  and the current limiting speed adjustment executed by the cross-side motor position and speed synchronization control circuit  22 . Each motor position and speed synchronization control circuit  22  may further adjust the adjusted target motor speed of its on-side motor  16  to synchronize with the cross-side motor if the cross-side motor current limiting speed adjustment is larger than the on-side motor current limiting speed adjustment if any. 
         [0019]    The algorithms described herein (i.e., motor position synchronization and current limiting) are not limited to a particular type of motor, application, or implementation. Accordingly, although the algorithms are illustrated and described with reference to a flap system, the algorithms are not limited to such use. Furthermore, the algorithms are not limited to implementation in particular hardware or to implementation in a particular level of a control hierarchy. For example, in an embodiment, the algorithms may be performed separately for each motor  16  by separate MCUs  20  respectively coupled to the motors  16 , as shown in  FIG. 1 . In other embodiments, the motor position and speed synchronization controls  22   a,    22   b  for two motors  16   a,    16   b  may be consolidated into a single device or apparatus. Such an apparatus may include other known MCU functionality (e.g., motor speed and torque control  24 ), or may be separate from one or more MCUs  20  used to control the motors  16 . Still further implementations are possible and contemplated and may not deviate from the spirit and scope of the appended claims. 
         [0020]    Although multiple mentions are made above and below to a “circuit,” such as the motor position and speed synchronization circuits  22   a,    22   b,  it should be understood that such nomenclature is for ease of reference only. A “circuit” may be implemented in any form known in the art, including hardware, software, FPGA, etc. Furthermore, “circuits” referenced herein may be implemented in one or more devices or apparatus in combination with each other and/or with other devices and functionality. Thus, “circuits” referenced herein are also not limited to a particular implementation. 
         [0021]    The algorithms described herein are also not limited to a particular type of position or current sensing. Position sensing may be performed on the motor  16 , actuator  14 , or otherwise, using known sensors, in an embodiment. Furthermore, the rotational position of the motor  16  and the linear position of the actuator  14  may be related by a fixed factor, so the “motor position” referenced herein may be obtained by motor rotational position sensing or actuator linear position sensing, in an embodiment. The algorithms will be described below with reference to sensing the position of each motor  16   a,    16   b  in terms of electrical revolutions, but the algorithm is not so limited. Similarly, current sensing may be performed on the motor  16  using known current sensors, in an embodiment, and the algorithms are not limited to those current sensors shown and described in this disclosure. 
         [0022]      FIG. 2  is a schematic view of an exemplary implementation of the system of  FIG. 1 , shown as a flap actuation system  30 . The flap actuation system  30  may include a flap  12  coupled to a first linear actuator  14   a  and a second linear actuator  14   b.  The first actuator  14   a  may be driven by a first brushless DC (BLDC) motor  32   a,  and the second actuator  14   b  may be driven by a second BLDC motor  32   b.  Each BLDC motor  32   a,    32   b  may be coupled with a respective motor controller and drive  34   a,    34   b.  Each motor controller and drive  34   a,    34   b  may include a motor position and speed synchronization control module  22   a,    22   b,  a motor speed and torque control module  24   a,    24   b,  a pulse-width modulation generator  36   a,    36   b,  a commutation circuit  38   a,    38   b,  and a filtering, Analog to Digital (A/D) conversion, and counting circuit  40   a,    40   b.    
         [0023]    Each of the BLDC motors  32   a,    32   b  may include or be coupled to one or more position sensors (illustrated as Hall-Effect Sensors A, B, C) that provide output to a respective commutation circuit  38   a,    38   b  and a filtering, A/D conversion, and counting circuit  40 . In an embodiment, Hall-effect sensors may be used to measure electrical rotations of the BLDC motors  32 . Based on the electrical rotation sensing of the BLDC motor  32 , the motor position and speed (e.g., in RPM) of the BLDC motors  32  may be determined as well as the motor position and speed of the actuators  14 . 
         [0024]    Each of the BLDC motors  32  may also include or be coupled to one or more current sensors (shown as Phase A Current Sensor, Phase B Current Sensor, and Phase C Current Sensor) that provide output to a respective filtering, A/D conversion, and counting circuit  40 . The current sensors may comprise, in an embodiment, various sensors known in the art. 
         [0025]    Each filtering, A/D conversion, and counting circuit  40  (which for brevity may be referred to simply as the “counting circuit”  40 ) may be configured to receive input from position and current sensors; convert that input from analog to digital format, if necessary; and filter that input, if necessary (i.e., using one or more filters including those known in the art). The counting circuit  40  may be further configured to convert input from the position sensors into an integer representing a position of the motor  32 . For example, the integer may represent a number of full electrical revolutions of the motor  32 . Thus, in an embodiment, the counting circuit  40  may be configured to count electrical revolutions of the BLDC motor  32 . In another embodiment, the counting circuit  40  may be configured to count fractions of electrical or mechanical revolutions of the BLDC motor  32 , where for example, one mechanical revolution may be equal to two electrical revolutions for a 4-pole BLDC motor. One electrical or mechanical revolution of a BLDC motor  32  may correspond to a known linear displacement of the actuator  14  to which it is coupled. This linear displacement depends on the design of the mechanical components, such as gears of the linear actuators. Each counting circuit  40   a,    40   b  may be further configured to provide an integer value representative of the on-side motor position (e.g., in electrical revolutions) and the on-side motor current to both the on-side and cross-side synchronization circuits  22   a,    22   b.  The integer value may be representative of total movement of the on-side motor BLDC  32  (e.g., wherein an initial rigged position (that may be the non-extended position of the actuator, the extended position of the actuator, or any other set position of the actuator) of the motor  32  is arbitrarily assigned a value of zero (0) or other value), or of movement of the BLDC motor  32  within a given time frame (in which case the synchronization circuits  22  may maintain a total position calculation). The synchronization circuits  22   a,    22   b  may use that information to synchronize the positions of the BLDC motors  32   a,    32   b  as will be described in greater detail below. 
         [0026]    Each commutation circuit  38   a,    38   b  may be configured to receive an output of position sensors, sample the output, and provide the sampled output to a PWM generator  36   a,    36   b  to control the timing and operation of a BLDC motor  32   a,    32   b,  as known in the art. Each PWM generator  36   a,    36   b  may also receive input from the motor speed control circuit  24  and provide an input signal to the BLDC motor  32   a,    32   b  to control its operation (i.e., speed and direction). The output of the motor speed and torque control circuit  24   a,    24   b  may be a duty cycle for the PWM generator  36   a,    36   b  based on the output of the synchronization circuit  22   a,    22   b.    
         [0027]    Each synchronization circuit 22 may be configured to receive a movement command (e.g., including a motor speed and direction), such as from a digital flight control system, a flap control lever, or other input mechanism including those known in the art. Each synchronization circuit  22  may also be configured to receive the positions of both BLDC motors  32   a,    32   b  (each represented as a signed integer, in an embodiment), the current of the on-side BLDC motor  32 , and speed adjustment and current limiting information regarding the cross-side BLDC motor  32 . The synchronization circuit  22  can use this input to incrementally increase and decrease the speed of the on-side motor to synchronize the positions of the motors  32   a,    32   b  according to a control algorithm, such as the control algorithm described below in conjunction with  FIG. 3 . In an embodiment, the synchronization circuits  22   a,    22   b  may execute independent control loops—i.e., although each position synchronization circuit  22  may receive input from both an on-side and cross-side motor  32   a,    32   b,  a single position synchronization circuit  22   a,    22   b  may control only its on-side motor  32 . 
         [0028]      FIG. 3  is a block diagram view of an exemplary control algorithm  50  that may be applied by a synchronization circuit (e.g., one or both of the synchronization circuits  22   a,    22   b ) to adjust the speed of an on-side motor. The control algorithm  50  may include a position synchronization algorithm  52  and a current limiting and speed synchronization algorithm  54 . In general, the position synchronization algorithm  52  may be applied or executed to adjust the speed of the motor in order to make the positions of the actuators equal or nearly equal. The current limiting and speed synchronization algorithm  54  may be applied or executed to adjust the output of the position synchronization algorithm  52  to maintain the motor current within a desired range for optimal functionality of the motor. 
         [0029]    The control loop for the position synchronization algorithm  52  may be conceptualized as a multi-level, small adjustment, incremental control algorithm that adjusts the on-side motor speed to bring and keep the difference between the two motor positions to zero or near zero. Execution of the position synchronization algorithm  52  for both motors may thus result in numerous incremental increases in the speed of the trailing-in-position motor and numerous incremental decreases in the speed of the leading-in-position motor. 
         [0030]    The position synchronization algorithm  52  may receive, as input, the positions of the on-side motor and the cross-side motor, the desired direction of flap movement, and the on-side motor current. At a first comparison block  56 , respective positions of the on-side motor and the cross-side motor may be compared to determine which actuator is more extended and which actuator is less extended. The positions, in an embodiment, may be integers representative of a number of electrical revolutions of the motors, as noted above. Also as noted above, in an embodiment, the position of each motor may be set at zero (0) for an initial, rigged position (which may be the non-extended position of a flap, for example) such that any position of a motor may be either zero (in the non-extended actuator state) or positive (in an extended actuator state). This initial value may be arbitrary, and may be any value. Furthermore, in an embodiment with an appropriate position sensor, the position of a motor may be a decimal or other value. 
         [0031]    At a multiplication block  58 , the desired direction of actuation (i.e., extension or retraction) is applied to the position difference to determine if the on-side motor and actuator are leading (i.e., farther in the desired direction of movement than the cross-side motor and actuator) or trailing (i.e., less far in the desired direction of movement compared to the cross-side motor and actuator). The direction signal by which the position difference is multiplied may be set to (+1) for forward displacement (i.e., deployment, or extension) and (−1) for backward displacement (i.e., retraction), in an embodiment. For example, if the direction is (+1), a positive difference between the on-side and cross-side electrical revolution counts may indicate that the on-side motor and actuator are leading and may need to decrease speed, while the cross-side motor and actuator may be trailing and may need to increase speed to synchronize the positions of the motors. In an embodiment, synchronization may be considered achieved when the position difference is less than a predetermined position difference threshold. In an embodiment, the threshold may be one (1)—i.e., synchronization is considered to be achieved when the motors have identical positions in terms of a number of electrical revolutions. Of course, the position difference threshold may be larger, in an embodiment. Furthermore, in an embodiment with an appropriate position sensor, the position difference threshold may be a decimal or other value. If the direction of movement is (−1), a positive difference between the on-side and cross-side electrical revolution counts may indicate that the on-side actuator is trailing and may need to increase its speed while the cross-side actuator may need to decrease its speed until synchronization is achieved. 
         [0032]    At a speed adjustment block  60 , an initial adjustment may be made to the speed of the on-side motor (e.g., in RPM). The initial adjustment may be incremental—i.e., a fixed increase or decrease of the current motor speed. In an embodiment, the initial adjustment may be selected from among five amounts, or levels: a large negative level (shown as −ΔPS adj2 ), a small negative level (shown as −ΔPS adj1 ), a neutral level (i.e., zero adjustment), a small positive level (shown as ΔPS adj1 ), and a large positive level (shown as ΔPS adj2 ). 
         [0033]    The initial speed adjustment may be determined according to the relative positions of the motors and the desired movement direction. If the on-side actuator is the leading actuator, and is leading by more than a first threshold (shown as C thresh1 , in the illustrated embodiment) but less than a second threshold (shown as C thresh2 ), the speed of the on-side actuator may be decremented by a relatively small amount (i.e., the speed may be adjusted by −ΔPS adj1 ). If the on-side actuator is the leading actuator, and is leading by more than the second threshold C thresh2 , the speed of the on-side actuator may be decremented by a relatively large amount (i.e., the speed may be adjusted by −ΔPS adj2 ). In an embodiment, the relatively small amount −ΔPS adj1  may be about a negative quarter (−0.25) of an RPM, and the relatively large amount −ΔPS adj2  may be about negative one (−1) RPM. 
         [0034]    If the on-side actuator is the trailing actuator, and is trailing by more than a first threshold (shown as −C thresh1 ) but less than a second threshold (shown as −C thresh2 ), the speed of the on-side actuator may be incremented by a relatively small amount (i.e., ΔPS adj1 ). If the on-side actuator is the trailing actuator, and is trailing by more than the second threshold, the speed of the on-side actuator may be incremented by a relatively large amount (i.e., ΔPS adj2 ). In an embodiment, the relatively small amount ΔPS adj1  may be about a quarter (0.25) of an RPM, and the relatively large amount ΔPS adj2  may be about one (1) RPM. 
         [0035]    It should be understood that the specific numbers and values of increments and thresholds described above are exemplary only, and not limiting. Thus, although the initial speed adjustment is described above with reference to a five-level scheme, more or fewer levels may be used, in an embodiment. Furthermore, although the negative and positive levels are described as equal, this need not be the case, in an embodiment. Similarly, although four thresholds are described with equal positive and negative thresholds, the present disclosure is not limited to the specific thresholds noted above, the specific number of thresholds noted above, or equal positive and negative thresholds. 
         [0036]    The output of the speed adjustment block  60  may be input to a current limiting block  62  (which is different from the current limiting algorithm described below). The current limiting block  62  may also receive a value representing the current of the on-side motor, I motor , as input. If the current of the on-side motor is greater than a first current threshold, I thresh1 , and the speed adjustment block instructs an increase (i.e., incrementing) of the speed of the on-side motor, the current limiting block  62  may output an incremental speed adjustment of zero (0). This is to safeguard against the motor current exceeding I thresh1 , which may damage the motor. Otherwise (i.e., if the motor current does not exceed I thresh1  or if the speed adjustment block  62  instructs a decrement in the speed or no change in the speed), the first current limiting block may output the incremental speed adjustment provided by the speed adjustment block  62 . 
         [0037]    A previous speed adjustment block  64  may receive the position difference between the motors, as well as the previous speed adjustment output by the position synchronization algorithm  52 . If the positions of the motors are equal, the previous speed adjustment block  64  may output a zero (0). If not, the previous speed adjustment block  64  may output the previous adjustment output by the position synchronization algorithm  52 . At a second comparison block  66 , the previous adjustment (output by the previous adjustment block  64 ) and current adjustment (output by the current limiting block  62 ) may be combined to calculate a synchronization-based differential change in the target motor speed. 
         [0038]    The above description of the position synchronization algorithm  52  may alternately be conceptualized by the following pseudo-code: 
         [0000]                                                                                                                                                                    If (diff_count ≧ C thresh2 )                adj = −ΔPS adj2                  else if (C thresh2  &gt; diff_count ≧ C thresh1 )                adj = −ΔPS adj1                  else if (diff_count ≦ −C thresh2 )                adj = ΔPS adj2                  else if (−C thresh2  &lt; diff_count ≦ −C thresh1 )                adj = ΔPS adj1                  else if (diff_count == 0)                adj = 0           prev_adj = 0                If (I motor  &gt; I thresh1 ) AND (adj &gt; 0)                adj=0                total_adj = prev_adj + adj           prev_adj = total_adj                        
where diff_count is the difference between the positions of the actuators, C thresh2  and C thresh1  are the position difference thresholds, −ΔPS adj2 , −ΔPS adj1 , ΔPS adj1 , and ΔPS adj2  are the speed increment levels, adj is the incremental speed adjustment by the present iteration of the position synchronization algorithm  52 , prev_adj is the accumulated speed adjustment output by the previous iteration of the position synchronization algorithm  52 , and total_adj is the accumulated speed adjustment output by the present iteration of the position synchronization algorithm  52  (i.e., the speed adjustment that should be added to the commanded target speed).
 
         [0039]    The accumulated speed adjustment calculated according to the position synchronization algorithm  52  may, for example, be combined with a speed adjustment from the current limiting speed synchronization algorithm  54  at a third combination block  68 . The speed adjustment from the current limiting speed synchronization algorithm  54  may be calculated as described below, in an embodiment. 
         [0040]    The current limiting speed synchronization algorithm  54  may, for example, be conceptualized as a multi-level small adjustment incremental control with a dead-zone that may limit the current of the on-side motor by decreasing its target motor speed and then may communicate the resulting adjustment of the target motor speed (which may be negative or zero (0)) to the cross-side position synchronization circuit so the same or a similar adjustment may be applied to the target motor speed of the cross-side motor. The result may be that once one of the motors decreases its speed to limit its motor current, the other motor may apply the same adjustment in order to be synchronized to the adjusted speed of the other motor. An embodiment of such an algorithm is described in greater detail below. 
         [0041]    The current limiting algorithm  54  may receive, as input, the on-side motor current and the output of the cross-side current limiting speed synchronization algorithm (i.e., the current-limiting algorithm  54  applied by the cross-side synchronization circuit). A goal of the current limiting algorithm may be to maintain the current of the on-side motor between a lower threshold, I thresh2 , and an upper threshold, I thresh3  if the motor current exceeds the upper threshold, I thresh3 . 
         [0042]    The current limiting algorithm  54  may include an initial adjustment block  70  that receives the current of the on-side motor and compares that current to I thresh2  and I thresh3 . If the current level is below I thresh2 the initial adjustment block may output a positive incremental adjustment (shown as ΔIS adj ). If the current level is between I thresh2  and I thresh3 , the initial adjustment block  70  may output an incremental adjustment of zero (0) (i.e., the “dead zone” referred to above). If the current level is above I thresh3 , the initial adjustment block  70  may output an incremental adjustment of −ΔS adj . In an embodiment, the magnitude of the positive incremental adjustment and the negative incremental adjustment may be equal, as illustrated. In another embodiment, the magnitude of the positive incremental adjustment and the negative incremental adjustment may be unequal. The thresholds I thresh2  and I thresh3  may be selected or determined according to characteristics of the motors and/or the actuators and of the system in which the motors/actuators are placed. 
         [0043]    The current limiting algorithm  54  may further include a previous adjustment block  72 , which may receive, as input, the output of the initial adjustment block  70  as well as the output of the previous iteration of the current limiting algorithm  54 . If the output of the initial adjustment block  70  is positive, and the output of the previous current limiting algorithm  54  iteration is non-negative, the previous adjustment block  72  may output an adjustment of zero (0). Otherwise, the previous adjustment block  72  may output the output of the previous iteration of the current limiting algorithm  54 . 
         [0044]    The current limiting algorithm may also include a sign-check block  74  that receives the output of the previous adjustment block  72  and the initial adjustment block  70 . If the initial adjustment block  70  output is positive and the previous adjustment block  72  output is non-negative, the sign-check block outputs a zero (0). Otherwise, the sign check block  74  outputs the output of the initial adjustment block  70 . The sign-check block  74  ensures that the total speed adjustment due to current limiting will only be negative or zero (0) 
         [0045]    At a combination block  76 , the output of the sign check block  74  and the previous adjustment block  72  may be combined to calculate an on-side motor current limit speed adjustment. The on-side motor current limit speed adjustment may be input to a cross-side adjustment comparison block  78 , which may also receive as input the motor current limit adjustment from the cross-side synchronization circuit (i.e., the output of the adjustment comparison block  78  for the cross-side synchronization circuit). The on-side adjustment comparison block  78  may output the lower of the two (i.e., on-side and cross-side) current limiting speed adjustments. As noted above, this may be to ensure that the two actuators slow down equally (i.e., synchronized their adjusted target speed) due to current limiting applied to one or the two motors. 
         [0046]    The motor current limit adjustment algorithm described above (for the on-side actuator) may also be conceptualized according to the following pseudo-code: 
         [0000]                                                                                                                            if (I motor  ≧ I thresh3 )                adj= = −ΔIS adj                  else if (I motor  ≦ I thresh2 )                adj = ΔIS adj                  else if (I thresh2  &lt; I motor  &lt; I thresh3 )                adj = 0                if (total_adj ≧ 0) And (adj &gt; 0)                adj = 0                total_adj = prev_adj + adj           prev_adj = total_adj                        
where I motor  is is the on-side motor current, adj is the incremental adjustment from the present iteration of the algorithm, prev_adj is the total acuumulated adjustment from the previous iteration of the algorithm, and total_adj is the total accumulated adjustment from the present iteration of the algorithm. It should be noted that the above pseudo-code does not account for the cross-side current limiting adjustment, as the algorithm described above otherwise does.
 
         [0047]    In an embodiment, the incremental current limit speed adjustment may be added to the incremental target motor speed adjustment from the position synchronization algorithm  52  at a combination block  68 , as noted above, to arrive at a total incremental speed adjustment. The total incremental speed adjustment may be combined with the commanded target motor speed received from the flight control computer or other apparatus at a comparison block  80  to calculate a total adjusted target motor speed. Referring to  FIGS. 1 ,  2 , and  3 , the total target motor speed may be input to motor speed control circuit  24  and used to control the on-side motor  16 ,  32 , as described above. 
         [0048]    The position synchronization algorithm  52  and the current limiting algorithm  54  may each be executed many times per second, in an embodiment. For example, both the position synchronization algorithm  32  and the current limiting algorithm  54  may be executed, for example only, at about 1 kHz—i.e., about one thousand times per second—or more. Of course, different rates may be used, in an embodiment, and the position synchronization algorithm  52  and the current limiting algorithm  54  may be executed at rates different from each other, in an embodiment. 
         [0049]    The various functions of the position synchronization algorithm  52  and the current limiting algorithm  54  may all be performed in a single processor, apparatus, or circuit, or may be divided into two or more separate processors, circuits, or apparatus. For example, in an embodiment, some or all position synchronization computations and functionality may be included in a position synchronization circuit, and some or all current limiting computations and functionality may be included in a current limiting speed synchronization circuit. In an embodiment, the position synchronization circuit and the current limiting speed synchronization circuit may comprise the same processor, circuit, or apparatus. 
         [0050]    The speed adjustments ΔPS adj  and ΔIS adj  for position and current limiting speed synchronization control may be determined from modeling and simulation and may be tuned to an actual system. The smaller ΔPS adj  and ΔIS adj  are, the longer the algorithm may take to synchronize the two motor/actuators, but the more stable and less oscillatory the response may be. The larger ΔPS adj  and ΔIS adj  are, the faster the algorithm may synchronize the two actuators, but the less stable and more oscillatory the response may be. Hence, the selections of the values of the speed adjustments ΔPS adj  and ΔIS adj  and how many levels of adjustments are needed may be design specific parameters that may be selected based on the desired performance requirements of the control algorithm  50 . 
         [0051]    It should be understood that the methods described above, including the position and speed synchronization control algorithm, are not limited to a specific type of linear actuator. The methods described above are also not specific to any particular sensing techniques utilized to obtain the motor linear or rotational position and the motor linear or rotational speed. 
         [0052]    The foregoing descriptions of specific embodiments of the present invention have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and various modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to explain the principles of the invention and its practical application, to thereby enable others skilled in the art to utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims and their equivalents.