SERVO MOTOR CONTROLLER USING POSITION INTERPOLATION

Abstract: A motor control system employing a single Hall sensor (2) providing a position feedback signal to a control circuit (10) is disclosed. The control circuit includes a tach counter circuit (12), a ramp mode circuit (14), an interpolation circuit (16), and a commutation logic circuit (18). Drive signals are output to the motor windings by the commutation logic circuit (18). The control state defining the drive signals is advanced on the basis of the estimated rotor position. The estimate of the rotor position is determined by linearly interpolating between Hall signal transitions.

Description: SERVO MOTOR CONTROLLER USING POSITION INTERPOLATION FIELD OF THE INVENTION The present invention relates generally to the field of motor controllers and more particularly to a motor control method and apparatus requiring only one position sensor. BACKGROUND OF THE INVENTION A typical motor control scheme employs three Hall sensors 2 to provide position feedback to motor control circuitry, as illustrated in Figure l. This scheme is employed, e.g., in the TAPE250 tape drive available from Iomega Corporation, the assignee of the invention disclosed herein. Motor control signals, produced by control circuitry 4, are produced in one of six states, denoted A, B, C, D, E, and F, depending on the respective Hall sensor signals H.,, H 2 , H 3 . Each control signal state defines a particular combination of drive signals, denoted "PHASE A", "PHASE B", and "PHASE C" in Figure 1. These drive signals drive windings on the stator 8. Each control signal state (or combination of drive signals) attracts the rotor magnets 6 to a specific stable physical position corresponding to that state. For example, if control state A were asserted and the rotor position permitted to stabilize, the rotor would reach a corresponding position "A". The motor states are separated by a prescribed amount of angular rotation (e.g., 10 degrees). The three Hall sensor signals "H.,," "H j ," "H 3 " provide information (feedback) about the rotor position. The Hall sensors 2 are aligned so that the sensor signals change state at the stable rotor positions A through F. As the motor control signals cycle through control states A through F, the three Hall signals "H,," "H 2 ," "H 3 " cycle through six position states, denoted 1 through 6, as follows (note that, although only six position states are used in this example, there are actually eight position states available with three sensors) : Motor Control State — ! A j B j C j D j E j F j A | B j C j D j E j F j — - l | 2 j 3 | 4 ! 5 ! 6 | l ! 2 ! 3 | 4 | 5 ! 6 i l - Hall State In the above diagram, the Hall state changes precisely at the static stable rotor position. Therefore, the midpoint of each Hall state is halfway between two static stable points and each static stable point is at the transition between two Hall states. In the TAPE250 tape drive, the control logic operates as follows: If the Hall sensors are in state 1, control state B is asserted to advance the rotor towards state 2. Alternatively, to rotate the rotor in the opposite direction, control state E is asserted to move the rotor toward state 6. The Hall state indicates the rotor's position to within a range (e.g., 10 degrees). A control state is asserted corresponding to a static position leading 15 degrees from the approximate rotor position indicated by the Hall sensors. The following table indicates the control state asserted for each Hall state and the desired direction of rotation (note that, in this example, right is clockwise and left is counter-clockwise) . Control for Desired Direction of Motion Hall State + ( right) - deft 1 B E 2 C F 3 D A 4 E B 5 F C 6 A D In the highly competitive computer industry, the use of multiple sensors to provide positional feedback adds to the production cost of tape and disk drive units. While Hall sensors are relatively inexpensive on a per-unit basis, the requirement of multiple position sensors for each tape or disk drive can add hundreds of thousands or even millions of dollars to the manufacturer's total production costs, depending on the number of units produced. Thus, the need for multiple position feedback sensors is a disadvantage to manufacturers of tape drives, disk drives, and other devices requiring motor control. SUMMARY OF THE INVENTION The present invention provides methods and apparatus for controlling a motor using position feedback from only one sensor. In the exemplary embodiments disclosed herein, the one sensor comprises a Hall sensor positioned to sense the passage of rotating magnets associated with a rotor. According to one presently preferred embodiment of the invention, a motor control method or system comprises the steps of or means for effecting rotation of a rotatable member toward a first rotational state (e.g., a state denoted 1) ; sensing, at a first instant of time, passage of the rotatable member through the first rotational state; effecting rotation of the rotatable member from the first rotational state (1) toward a second rotational state (2) by asserting a first control signal (B) ; determining, by interpolation, the time at which the rotatable member passes through the second rotational state (2) ; and effecting rotation of the rotatable member from the second rotational state (2) toward a third rotational state (3) by asserting a second control signal (C) . In a preferred embodiment, the second control signal (C) leads the second rotational state (2) by a prescribed amount of angular rotation (e.g. , 15 degrees) . Preferred embodiments also include the step of asserting a third control signal lagging the third rotational state (3) by a prescribed amount of angular rotation. This provides controlled braking. Furthermore, preferred embodiments comprise the steps of sensing, at a second instant of time, passage of the rotatable member through a fourth rotational state (4) ; and asserting a third control signal (E) . In addition, in preferred embodiments, the sensing of the passage of the rotatable member through the first rotational state is performed by sensing a transition of a sensor output from a first state to a second state. For example, in such embodiments the rotatable member comprises a plurality of magnets and the sensor output is provided by a Hall sensor positioned to sense the passage of the rotating magnets. According to another embodiment of the invention, a method or system for controlling the movement of one or more movable members of a motor comprises the steps of, or means for detecting, with a sensor at a first instant of time, the presence of a moving member at a prescribed position; and estimating the position of the moving member at a time subsequent to the first instant, the estimating performed on the basis of an output signal of the sensor. In presently preferred embodiments, the estimating of the position of the moving member comprises interpolating estimates of the position of the moving member on the basis of the sensor output taken at at least two instants of time. Other features of the present invention are described below. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 schematically depicts a prior art motor control scheme employing three Hall position sensors. Figure 2 schematically depicts a motor control scheme employing a single position feedback device in accordance with the present invention. Figure 3 is a block diagram of a control circuit 10 in accordance with the present invention. Figure 4 depicts further details of the tach counter circuit 12. Figure 5 depicts further details of the interpolation circuit 16. Figure 6 depicts further details of the ramp mode circuit 14. Figures 7A, 7B, and 7C depict details of the commutation logic 18. Figure 7A depicts combinational logic for providing active braking; Figure 7B depicts circuitry preventing overlap between sourcing and sinking of a motor winding; and Figure 7C depicts circuitry providing source and sink current to and from motor winding. Figures 8A and 8B are two spectrum plots from a motor tester showing relative levels of instantaneous speed variation (ISV) . Figure 8A is a plot for a three-hall sensor motor drive circuit connected to a randomly chosen drive motor. Figure 8B is a plot for the same motor under identical test conditions driven by a single hall sensor circuit in accordance with the present invention. DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS In the single feedback sensor motor control scheme of the present invention, there is incomplete rotor position information, as indicated by the following diagram, where states 1-3 and 4-6 have become indistinguishable from each other. Thus, states 1-3 are denoted state "1" and states 4-6 are denoted state "4". Control State ~ | A ! B } C ! D | E | F | A | B | C | D | E | F | — - l ! l | l | 4 | 4 i 4 | l | l j l j 4 | 4 | 4 j l - Hall State According to the present invention, the control state is advanced on the basis of the estimated rotor position. The estimate of the rotor position may be determined by linearly interpolating between Hall signal transitions. The control state is advanced to maintain a prescribed lead (e.g., 15 degrees) ahead of the rotor position, as described above in connection with the three Hall sensor motor control scheme. For example, if the rotor is travelling to the right, or rotating clockwise, and the Hall state changes from 1 to 4, the rotor will be at the position corresponding to control state C (i.e., the stable position corresponding to control state C) . Control state E would then be asserted, leading the rotor position by 15 degrees. Thereafter, assuming the rotor is rotating at a constant speed, the controller would wait for the rotor to advance one state and then assert control state F. After an identical delay, control state A would be asserted. The next change of control state from A to B would be effected when the Hall state changes from state 4 to state 1. Using this scheme, each Hall state transition causes the control state to "snap-to" a specific state, based upon the new Hall state and the desired direction of rotation. This is illustrated by the following table. Snap-To State Table Desired Direction of Motion +(right) -(left) Hall State I B A 4 E D Initialization. Jump-To and Ramp If an arbitrary motor control state is asserted, the motor may jump as far as 30 degrees in either direction. If the motor is by chance exactly midway between the two nearest stable points for the control state asserted (e.g. , if control state A is asserted when the rotor is at D) , the motor may stay at this metastable point for an indefinite period of time, until thermal noise or system vibration causes it to move, or "jump," in the wrong direction, achieving maximum velocity (in the wrong direction) at exactly the time the controller begins to ramp the motor up to speed. This initial motor jump can cause Hall sensor transitions that are quite similar to those produced by normal forward motion. As a consequence of these sensor transitions, the control signals may cycle too fast for the motor to follow, causing the motor to stop and vibrate, producing no sensor transitions or producing transitions at an implausible rate. Stable failure modes involving reverse motion would require that the motor travel at least five times the specified forward speed for a constant control sequence rate. Such a failure mode is unlikely or impossible due to the high acceleration and speeds required, and is detectable by observing the frequency of Hall signal transitions. If the initial motor control is set based upon the Hall position state, the jump can be limited to 10 degrees backwards or 20 degrees forwards. Settling time can also be limited and Hall effect transitions during this initial "Jump-To" can be prevented or reduced. The following "Jump-To" table illustrates a way to set the initial motor control state to limit travel. This is the same table as the above Snap-To state table. Thus, by choosing this Jump-To table, the same hardware can be used to perform both the Snap-To and Jump-To functions. Jump-To State Table Desired Direction of Motion +(right) -(left) Hall State I B A 4 E D An alternative to the above table is the below alternative Jump-To state table, which allows up to 30 degrees of jump in the forward direction but completely eliminates the initial jump in the reverse direction (except for a jump caused by motor or sensor misalignment) . Alternative Jump-To State Table Desired Direction of Motion +(right) -(left) Hall State 1 C F 4 F C After the initial jump and stabilization, it is possible to operate the motor in an open loop manner, like a stepper motor. Stepping through all states at a low speed will produce a high detent torque, even if the motor is "frozen" in a poor position relative to the Jump-To state. Once the motor has reached a sufficient speed, the Hall effect sensor will provide phase information. By interpolating between Hall signal transitions, the Control Sate can be changed with as much precision as when using three Hall sensors. A reliable technique for ramping the motor to a certain speed is as follows: Ramping is performed automatically, with an initial start speed of 7 msec/commutation. Ramp problems are detected (e.g., by sensor transition timer overflow, or by firmware noticing transitions at an unreasonably high frequency and writing a "RESTART" strobe) and cause restart at an initial start speed (e.g., 7 msec/commutation). The motor control logic remains at this initial speed until two consecutive sensor transitions are received without a counter overflow, at which point control is assumed by the interpolation circuit. The measured interval between the consecutive transitions is then used by the interpolation circuit to change the motor control state. Coast and Brake The motor may be allowed to coast to a stop but this may take longer than desired. To provide stronger braking action, all motor windings can be shorted to ground, thereby using the back-e f generated by the motor as a source of braking force. Another way to provide powered braking action is to modify the Snap-To logic so that the motor control state lags the rotor position instead of leading the rotor position. With the motor control system described herein, this phase shift may be realized by inverting the Hall sensor input to the Snap-To logic. Torque Ripple In the ten degrees of angular rotation wherein a control state is asserted, one can expect the motor torque to change with the changing angle between the rotor and the center position of the control state. If a single control state were permanently asserted, and the rotor were rotated by hand, one would see force rise and fall like a sine wave. The period of this sine wave would be 60 degrees of angular revolution. A plot of the torque produced by the six control states versus rotor position would yield six overlapping sine waves. If the sensor were perfectly aligned, the controller would advance to the next state at that angle where the next state begins to deliver more torque than the current state. At this point, torque would be reduced to cosine(30 deg) = 87% of the maximum torque achieved at the centerpoint for the control state. A sophisticated interpolating control system with perfect sensor alignment could interpolate between sensor transitions to calculate nearly exact rotor position, and adjust or modulate motor current to provide more uniform torque. Referring now to Figure 2, one example of a motor control system in accordance with the present invention comprises a single Hall sensor 2 providing a feedback signal "H 0 ," also referred to herein as a "TACH EVENT" signal, to a control circuit 10. The control circuit 10 outputs drive signals to the stator windings, A, B, C. The control circuit 10 will now be described in greater detail with reference to Figures 3 through 7C. Figure 3 is a block diagram of a preferred embodiment of the control logic block 10. As shown, the control circuit includes a tach counter circuit 12, a ramp mode circuit 14, an interpolation circuit 16, and a commutation logic circuit 18. Drive signals are output to the motor windings by the commutation logic circuit 18. In addition, there are a variety of signals passed between the respective blocks of the control circuit 10. The functions of these signals are summarized in the following table: "TACH EVENT" indicates Hall sensor transition "TACH OVERFLOW" indicates overflow of tach counter "RESTART" initiates automatic restart "JUMPTO" causes control state to jump to a specified state "SAVED TACH COUNT" indicates time between last two tach events "RAMP" instructs system to go into ramp mode "COAST" causes rotor to coast to stop "ACTIVE BRAKE" provides forced braking "EMF-BRAKE" instruct system to use back EMF for braking "DIRECTION" clockwise or counterclockwise rotation "CURRENT LIMIT" causes motor to stop if stuck, resulting in over current condition "INHIBIT" Prevents overlap between sourcing and sinking a motor winding when a control state is changing. "PWM" Motor force controlled by PWM signal's duty cycle "S01", "Sll" drive signals for phase A "S02", "S12" drive signals for phase B "S03", "S13" drive signals for phase C The tach counter circuit 12, ramp mode circuit 14, interpolation circuit 16, and commutation logic circuit 18 will now be described in greater detail with reference to Figures 4, 5, 6, and 7A-7C, respectively. Referring to Figure 4, one presently preferred embodiment of the tach counter circuit 12 includes an adder 12-1 and first, second and third latches 12-2, 12-3, 12-4. Latch 12-4 receives the "TACH EVENT" signal from the Hall sensor 2 (Fig. 2) and also receives the "RAMP" signal from the ramp mode circuit 14. This latch outputs the saved tach count to the interpolation circuit 16. The adder 12-1 outputs a tach overflow, denoted "TACHOVF," to the ramp mode circuit 14. Thus, the tach counter circuit 12 saves a 16-bit number representing the time interval between the last two tach events, i.e., the last two transitions of the signal output by the Hall sensor. This value indicates how fast the rotor is spinning. As the rotor speed increases, a smaller interval elapses between Hall effect feedback transitions. Further, as the motor slows, the saved value will increase. If the motor were to stop or stall, the interval between feedback transitions would become so large that the 16-bit counter would overflow. Such an overflow is used by the ramp mode circuit 14 as one indication of a stall condition. Referring to Figure 5, one presently preferred embodiment of the interpolation circuit 16 includes an OR gate 16-1; a multiplexor (or "mux") 16-2; first and second latches 16-3, 16-4; a second OR gate 16-5; an incrementor 16-6 (with an increment amount of minus three (-3)); flip- flops 16-7 and 16-8; another OR gate 16-9; flip-flops 16- 10, 16-11, and 16-12; and another OR gate 16-13. The OR gates 16-9 and 16-13 in combination with flip-flops 16-10, 16-11, 16-12 operate to prevent the interpolation circuit from "guessing" when an accurate tach event (Hall transition) is due, except in ramp mode. (That is, there is an accurate synchronization edge every third Hall transition. The OR gates 16-9, 16-13 and flip-flops 16-10, 16-11, 16-12 prevent the interpolation circuit from interpolating a transition when an accurate transition is available. In ramp mode, the control state is advanced by loading a constant value into latch 12-4 (Fig. 4).) The multiplexer 16-2 receives the saved tach count from the tach counter circuit 12. The interpolation circuit 16 uses linear interpolation to advance the commutator twice for each tach event. A frequency divider circuit produces the signal to advance the commutation state. The frequency divider includes the counter 16-6 initialized to the value saved by the tach counter circuit. The counter decrements by 3 each system clock. When the counter counts down to 0, the commutation state is advanced. This is an incremental divide-by-3 technique using repeated subtraction. An additional circuit limits the commutation state to advance twice for each tach event. This prevents the interpolator from "guessing" when in fact a more accurate tach event is due. When the system is in ramp mode, the interpolation circuit advances the commutation state at a constant frequency corresponding to a very slow tape speed. Tach events and the value saved by the tach counter are disregarded by the circuits 12 and 16. Referring to Figure 6, one presently preferred embodiment of the ramp mode circuit 14 includes an OR gate 14-1 and first and second flip-flops 14-2, 14-3. The OR gate 14-1 receives a "JUMP-TO" signal, a "RESTART" strobe, a "TACHOVF" (tach overflow) signal, and a "RESET" signal. Both of the flip-flops are gated by the "TACH EVENT" signal. The second flip-flop outputs the "RAMP" signal to the interpolation circuit 16. The ramp mode circuit 14 puts the system in ramp mode under the following conditions: on system reset; when the tach counter overflows, indicating a stall condition; when the motor is activated; or when an abnormally short tach count is detected, which also indicates a stall condition. Ramp mode is deactivated after two tach events without a tach overflow or one of the other conditions listed above. The commutation logic circuit 18 is a combinational logic circuit that determines the current to the motor coils, based upon the internally guessed rotor position, the desired direction of motion, the desired speed, the current limit input, and whether the system is in "GO," "COAST," "EMF-BRAKE," or "ACTIVE-BRAKE" mode. In "GO" mode, the coils are magnetized in such a manner as to attract the rotor to a steady-state position that is, on average, physically 15 degrees ahead of the estimated rotor position. The expression "steady-state position" refers to the position at which the rotor would come to rest if the coil magnetization state were never changed. When the rotor advances to a point where the control circuit estimates that it is only 10 degrees behind the steady- state attraction position, the interpolation circuit 16 signals the commutation logic circuit 18 to advance the internal position estimate, causing the coil magnetization to change so that the new steady-state position is 20 degrees ahead of the estimated position. Because of the continuing advance of the control position, the control position will lead the rotor position by an average of 15 degrees. In ACTIVE-BRAKE mode the steady-state position lags the estimated position by 15 degrees, thereby providing force in the direction opposite to the direction of motor rotation. One presently preferred embodiment of the commutation logic circuit 18 comprises the circuitry depicted in Figures 7A, 7B, and 7C. The operation of this circuitry will be apparent to those skilled in the art after reading the foregoing specification. However, each of the circuits depicted in Figures 7A through 7C are briefly described below. The three D-flip flop devices in Figure 7A hold the current commutation state. Each time they are clocked the commutation state advances or reverses as selected by the direction control (using the three multiplexers) . The "SETST/" control signal is asserted to implement either SNAP-TO (at sensor transitions) or choosing the snap-to and jump-to tables described earlier, both operations can be implemented using the same control logic. Asserting "SETST/" causes the control state D-flip flops to be preset or cleared to the values indicated by these tables. Additional inputs required by this control logic are the sensor state and the direction and active brake controls which determine whether the forced state leads or lags the state indicated by the sensor value. In Figure 7B, the three-input AND gate detects the situation where the motor is being started and produces the "JUMPTO" control signal going to the logic described above. The OR gate asserts the "SETST/" control whenever the control state is to be forced as described above. If the sensor were to change state out of sequence (e.g., due to some unexpected motor acceleration, or mechanical oscillation during ramp) , this could cause a control state change where the current in a coil immediately reverses direction. During the switching interval, both the source and sink transistors to this coil would be active, resulting in a short circuit from power to ground through these two transistors. The two flip flops in Fig. 7B assert "INHIB/" control briefly each time the control state is forced by the "SETST/" control. The "INHIB/" signal then interrupts the current to the coils. This is used as a safety control to prevent this momentary short circuit. The combinational logic in Figure 7C translates the motor control state into forward or reverse current through one of the three motor coils. The outputs of this circuit are signals "SOI", "S02", "S03", "Sll/", "S12/", "S13/", which respectively source and sink current to motor windings 1, 2 and 3. Other controls are implemented as follows by this logic. The "EMF-BRAKE" control causes all coils to be grounded. Either the "CLIM/" or "PWM" controls will activate "MODU/", modulating current to the motor by deactivating the sink current drivers. The "COAST" signal is not shown under that name. To obtain COAST mode, the GO signal is deactivated, which in turn deactivates all current to the motor. The present invention has demonstrated unexpectedly good results, as evidenced by a comparison of Figures 8A and 8B. As mentioned above, Figure 8A is a plot of the instantaneous speed variation (ISV) of a motor driven by a three-hall sensor drive circuit of the prior art. Figure 8B is a plot of the ISV of the same motor driven by a single hall sensor control circuit in accordance with the present invention. As depicted by these plots, the three ISV peaks, A, B, C show a reduction of 8, 6, and 9 dBV, respectively. Those skilled in the art recognize that ISV is a very important criteria in many applications. For example, ISV is very important for a tape drive motor because excessive ISV may prevent successful recovery of recorded data. Finally, although presently preferred embodiments of the invention are described in detail herein, it should be noted that the true scope of the invention is not limited to the disclosed embodiments. For example, the inventive motor control method may be employed in connection with electrical motors which are not three-phase motors. Accordingly, except as they may be expressly so limited, the scope of protection of the following claims is not intended to be restricted to the details of the disclosed embodiments.

Claims: We claim: 1. A motor control method for controlling the rotation of a rotatable member of a multi-phase motor, comprising the steps of: (a) effecting rotation of said rotatable member toward a first rotational position; (b) sensing, at a first instant of time, passage of the rotatable member through said first rotational position, wherein said sensing is performed on the basis of a single output signal of a position sensor; (c) effecting rotation of the rotatable member from said first rotational position toward a second rotational position by generating a first control signal; (d) determining, by interpolation, the time at which the rotatable member passes through said second rotational position; and (e) effecting rotation of the rotatable member from said second rotational position toward a third rotational position by generating a second control signal. 2. A motor control method as recited in claim 1, wherein said second control signal leads said second rotational position by a prescribed amount of angular rotation. 3. A motor control method as recited in claim 1, further comprising the step of generating a third control signal lagging said third rotational position by a prescribed amount of angular rotation, whereby braking is provided. 4. A motor control method as recited in claim 1, further comprising the steps of sensing, at a second instant of time, passage of the rotatable member through a fourth rotational position; and generating a third control signal. 5. A motor control method as recited in claim 1, wherein said sensing of the passage of the rotatable member through said first rotational position is performed by sensing a transition of said sensor output signal from a first state to a second state. 6. A motor control method as recited in claim 5, wherein said rotatable member comprises a plurality of magnets and said position sensor is a Hall sensor positioned to sense the passage of said rotating magnets. 7. A motor control method as recited in claim 1, wherein said time at which the rotatable member passes through said second rotational position is determined by linear interpolation. 8. A motor control method as recited in claim 1, wherein said rotatable member comprises a plurality of magnets and further comprising the steps of sensing, at a second instant of time, passage of the rotatable member through a fourth rotational position; and generating a third control signal; wherein said sensing of the passage of the rotatable member through said first and fourth rotational positions is performed by sensing transitions of a Hall sensor output, said Hall sensor being positioned to sense the passage of said rotating magnets. 9. A motor control method as recited in claim 8, wherein said time at which the rotatable member passes through said second rotational position is determined by linear interpolation. 10. A motor control method as recited in claim 1, further comprising ramping the motor speed to a specified level by performing the following steps: (1) setting an initial motor speed and operating said motor at said initial speed; (2) monitoring said motor for a stall condition by comparing the frequency of transitions of a sensor signal with a prescribed range, wherein a stall condition is indicated when the frequency is outside said prescribed range; and (3.1) if a stall condition is detected, restarting said motor at a prescribed speed; or (3.2) if a stall condition is not detected, increasing the motor speed. 11. A motor control system, comprising: (a) a single sensor positioned to sense the passage of a rotating member of a motor; and (b) a control circuit coupled to said sensor and providing control signals to windings of said motor, said control signals controlling the rotation of said movable member, said control circuit comprising means for effecting rotation of said rotatable member toward a first rotational position; means for determining, via a single output of said sensor at a first instant of time, passage of the rotatable member through said first rotational position; means for effecting rotation of the rotatable member from said first rotational position toward a second rotational position by generating a first control signal; means for determining, by interpolation, the time at which the rotatable member passes through said second rotational position; and means for effecting rotation of the rotatable member from said second rotational position toward a third rotational position by generating a second control signal. 12. A motor control system as recited in claim 11, wherein said second control signal leads said second rotational position by a prescribed amount of angular rotation. 13. A motor control system as recited in claim 11, further comprising means for generating a third control signal lagging said third rotational position by a prescribed amount of angular rotation, whereby braking is provided. 14. A motor control system as recited in claim 11, further comprising means for sensing, via an output of said sensor at a second instant of time, passage of the rotatable member through a fourth rotational position. 15. A motor control system as recited in claim 11, wherein said rotatable member comprises a plurality of magnets and said sensor is a Hall sensor positioned to sense the passage of said rotating magnets. 16. A motor control system as recited in claim 11, wherein said time at which the rotatable member passes through said second rotational position is determined by linear interpolation. 17. A method for controlling the movement of one or more movable members of a motor, comprising: (a) detecting, with a sensor at a first instant of time, the presence of a moving member at a prescribed position, wherein said sensor provides a single binary output signal; and (b) estimating the position of said moving member at a time subsequent to said first instant, said estimating performed on the basis of said output signal of said sensor. 18. A method as recited in claim 17, wherein said estimating of the position of said moving member comprises interpolating estimates of the position of said moving member on the basis of the sensor output taken at at least two instants of time. 19. A motor control system for controlling the movement of one or more movable members of a motor, comprising: (a) a sensor for detecting, at a first instant of time, the presence of a moving member at a prescribed position, wherein said sensor provides a single binary output signal; and (b) means for estimating the position of said moving member at a time subsequent to said first instant, said estimating performed on the basis of said output signal of said sensor. 20. A motor control system as recited in claim 19, wherein said means for estimating the position of said moving member comprises means for interpolating estimates of the position of said moving member on the basis of the sensor output taken at at least two instants of time. 21. A motor control method as recited in claim 1, further comprising ramping the motor speed to a specified level by performing the following steps: (1) setting an initial motor speed and operating said motor at said initial speed; (2) monitoring said motor for a stall condition by comparing the number of transitions of a sensor signal occurring within a prescribed time with a prescribed range, wherein a stall condition is indicated when the number of transitions is outside said prescribed range; and (3.1) if a stall condition is detected, restarting said motor at a prescribed speed; or (3.2) if a stall condition is not detected, increasing the motor speed. 22. A motor control method as recited in claim 1, further comprising ramping the motor speed to a specified level by performing the following steps: (1) setting an initial motor speed and operating said motor at said initial speed; (2) monitoring said motor for a stall condition by comparing the number of transitions of a sensor signal occurring within a prescribed time degree of rotation with a prescribed range, wherein a stall condition is indicated when the number of transitions is outside said prescribed range; and (3.1) if a stall condition is detected, restarting said motor at a prescribed speed; or (3.2) if a stall condition is not detected, increasing the motor speed.

Inventors: HANSON KIRK D, PERONA MARK W, RABIN STEVE, HANSON, KIRK, D., PERONA, MARK, W., RABIN, STEVE
Applicants: IOMEGA CORP, IOMEGA CORPORATION
Application year: 1995
Main classification: H02P6
IPC codes: H02P6