Calibrating stepper motor by driving fractional ranges

A stepper motor driving a driven member is calibrated by periodically driving the member from its current operational position to an end stop of the driven member's total travel range; however, the driven member approaches the end stop in a series of ever-shorter travel segments. The first travel segment is less than ⅓ the total travel range to compensate for a possible sudden speed reversal, which can be accidentally triggered by the driven member reaching and “bouncing off” the end stop. Limiting the commanded first travel segment to less than ⅓ the total travel range prevents the driven member from reaching an opposite travel limit should the driven member suddenly reverse direction at three times the normal forward speed, wherein such triple speed is characteristic of reverse-speed situations.

FIELD OF THE INVENTION

The subject invention generally pertains to stepper motors and more specifically to a calibration method that compensates for unexpected speed reversals.

BACKGROUND OF RELATED ART

A stepper motor uses discrete electrical pulses in a certain sequence to create rotating electrical fields that drive a magnetic rotor in controlled rotational steps. The frequency of the pulses directly affects the rotor's speed, the number of pulses directly affects the length of rotation, and the sequence of the pulses generally determines the rotational direction.

Occasionally, however, stepper motors unexpectedly run counter to the intended direction of rotation. When this occurs, the reverse rotation is about three times faster than the normal forward speed. This phenomenon is explained in a paper entitled, “Spontaneous Speed Reversals in Stepper Motors” by Marc Bodson, Jeffrey S. Sato and Stephen R. Silver. The paper was published by IEEE Transactions on Control Systems Technology, Vol. 14, No. 2, March 2006.

Spontaneous speed reversal can be particularly problematic when a stepper motor is calibrated by driving the motor to a known travel limit or end stop. Under normal calibration, the stepper motor is periodically driven to the end stop to re-establish a known datum. It has been found, however, that striking the end stop can trigger the rapid speed reversal. So, instead of stopping at the end stop, the stepper motor might “bounce off” and move rapidly away from it. In some cases, the stepper motor might even travel all the way over to an opposite travel limit, thus failing to ever find the datum.

Although mechanical or electrical damping, micro-stepping, and closed-loop control might reduce the likelihood of spontaneous speed reversal, such measures can be expensive and/or they can reduce the motor's speed and responsiveness. Consequently, a need exists for a better method of avoiding or compensating for sudden speed reversal in a stepper motor, particularly during calibration.

SUMMARY OF THE INVENTION

It is an object of the invention to avoid or compensate for a sudden, unexpected speed reversal of a stepper motor.

Another object of some embodiments is to calibrate a stepper motor by driving it toward a home travel limit but do so in ever shorter segments, wherein the first segment is less than one third of the motor's total travel range so that if the motor were to suddenly reverse direction at the home position and at three times the normal speed, the motor would not reach an opposite travel limit.

Another object of some embodiments is to calibrate a stepper motor by driving it toward a home travel limit but do so by periodically stopping or nearly stopping the motor before it reaches the travel limit.

Another object of some embodiments is to calibrate a stepper motor by driving it toward a home travel limit but do so by periodically decelerating and accelerating the motor before it reaches the travel limit, wherein the periods of acceleration and deceleration occur over multiple steps (multiple pulses) of the stepper motor.

Another object of some embodiments is to calibrate an electronic expansion valve of a refrigerant system while avoiding or compensating for sudden, unexpected speed reversal of a stepper motor.

One or more of these and/or other objects of the invention are provided by a stepper motor that is calibrated by driving the motor to a travel limit position, wherein the motor is driven over ever decreasing segments that are less than one third of the motor's total or remaining travel range.

The present invention provides a method for calibrating a stepper motor that drives a driven member over a travel range having a travel limit. The stepper motor can move the driven member to an operational point within the travel range. The method comprises commanding the stepper motor to move the driven member over a travel distance from the operational point to the travel limit; and as the stepper motor moves the driven member from the operational point to the travel limit, commanding the stepper motor to periodically slow down, thereby creating a plurality of periods of relatively fast movement each separated by a period of slower movement. The plurality of periods of relatively fast movement become shorter in distance as the driven member approaches the travel limit.

The present invention also provides a method for calibrating a stepper motor that drives a driven member over a travel range having a travel limit. The stepper motor can move the driven member to an operational point within the travel range. The method comprises commanding the stepper motor to move the driven member over a travel distance from the operational point to the travel limit and doing so through a plurality of periods of continuous movement, commanding the stepper motor to stop the driven member between the plurality of periods of continuous movement; and defining a reference point upon the driven member having reached the travel limit following the plurality of periods of continuous movement. The plurality of periods of continuous movement become shorter as the driven member approaches the travel limit.

The present invention further provides a method of calibrating a stepper motor wherein the motor has a characteristic number of positions before a motor position cycle is repeated and wherein the motor moves a device over a known range of steps. The method comprises the steps of: initializing a calibration interval to be greater than the known range of steps; setting a next step value equal to ((1/number of positions)*calibration interval); driving the motor a number of steps equal to the next step value; determining if the calibration interval is less than a stop value; if yes, commencing a stopping sequence; or if no, modifying the calibration interval to equal ((number of positions−1)/number of positions)*calibration interval, and returning to the setting step.

DESCRIPTION OF THE PREFERRED EMBODIMENT

A stepper motor10, shown inFIGS. 1-7, is shown driving a driven member12over a travel range14. Stepper motor10is schematically illustrated to represent any electromechanical device that uses discrete electrical pulses in a certain sequence to create rotating electrical fields that drive a magnetic rotor in controlled rotational steps. The subject invention is particularly suited for permanent magnet stepper motors; however, the invention might also apply to other types of stepper motors as well. The structure and function of permanent magnet stepper motors and other types of stepper motors are well known to those of ordinary skill in the art.

For illustration, motor10rotates a lead screw16that moves member12to the right or left depending on the motor's direction of rotation. Although a lead screw is shown coupling motor10to driven member12, it should be appreciated by those of ordinary skill in the art that any suitable mechanism (rotational, linear, pivotal linkage, etc.) could be used to couple a stepper motor to a driven member. Driven member12is schematically illustrated to represent any structure moved in translation and/or rotation by a stepper motor.

An example of driven member12includes, but is not limited to, a valve plug or spool of an electronic expansion valve18used in a refrigerant system20, wherein system20comprises a refrigerant compressor22, a condenser24and an evaporator26. In response to an input signal28from a sensor30that senses an operating condition of system20, a microcomputer controller32provides an output signal34that commands stepper motor10to adjust the opening of valve18.

Regardless of what type of driven member12that motor10is driving, the stepper motor system might need to be calibrated periodically to establish a known datum when electrical power is restored to the controller or to correct for any slippage that may have occurred between the motor's rotor and its driving pulsating field. To do this, controller32commands motor10to drive driven member12from its current position to a predetermined travel limit36that defines a reference point. However, to compensate for a possible speed reversal during the calibration process, stepper motor10drives driven member12in ever-shorter segments toward travel limit36, wherein a first segment38is less than ⅓ of the total travel range14so that a 3-times speed reversal is unable to move driven member12all the way back to an opposite end stop40. The calibration, for example, might proceed as shown inFIGS. 1-4.

InFIG. 1, driven member12is shown at an operational point42that is a travel distance44away from travel limit36. Controller32first commands motor10to move driven member12from point42to travel limit36and do so over first period38that is, for example, 25% the length of range14or certainly less than ⅓ of range14. To plot the movement, a vertical axis46represents the speed of driven member12, and a horizontal axis48represents the driven member's position along range14. A positive slope50indicates that driven member12is accelerating, and a negative slope52represents deceleration. A series of dashes represents a plurality of steps54, wherein each step is the smallest discrete increment that member12can be driven controllably by stepper motor10. It should be noted that the acceleration and deceleration of driven member12occurs over multiple steps54. It should also be noted that the plotted speed/position profiles are not necessarily to scale.

FIG. 2shows driven member12having reached a position56at which point controller32commands motor10to reaccelerate driven member12to move member12over a second period58that is shorter than first period38. Second period58, for example, could be 75% the length of first period38. Although the brief period of deceleration/acceleration at position56might be adequate, it is preferable for controller32to command motor10to actually stop driven member12momentarily at position56so that member12periodically pauses between periods of movement. The pause, however, is relatively brief and preferably consumes less time than each period of acceleration or deceleration.

Next,FIG. 3shows driven member12having reached a position60at which point controller32once again commands motor10to reaccelerate driven member12to travel over a third period62toward travel limit36. Driven member12thus travels over a plurality of periods of relatively fast, continuous movement (e.g., periods38′,58′ and62′) each separated by a period of slower movement (e.g., periods64,66and68). Third period62is shorter than second period58; for example, period62could be 75% the length of second period58. The process of driving member12in ever-shorter segments toward travel limit36continues until member12reaches limit36or is just a few steps away, wherein motor10can drive member12those few remaining steps70(FIG. 4). If a sudden speed reversal were to occur within the last few steps70, the total reverse travel distance away from travel limit36would be negligible. Since the plotted speed/position profile is not necessarily to scale, the total number of periods (e.g., periods38,58,62, etc.) can be more or less than the number shown, and in some cases, the longer periods, such as periods38,58and62, will be sufficient to move member12all the way over to position36without member12ever having to move in discrete steps70at the very end of the approach.

FIG. 4shows driven member12having reached travel limit36at which point controller32can re-establish the location of the reference point defined by limit36.

FIGS. 5 and 6illustrate perhaps a worst-case scenario where a calibration process begins with driven member12being at an operational point72that is quite close to travel limit36, and a sudden 3-times speed reversal74occurs within a first period of the calibration. The speed reversal moves driven member12back to a position76that might be just short of opposite limit40. Nonetheless, controller32subsequently commands motor10to move driven member12toward travel limit36in a sequential step-like manner similar to that described with reference toFIGS. 1-4.

The invention can be characterized as a method of calibrating a stepper motor wherein the motor has a characteristic number of positions before a motor position cycle is repeated and wherein the motor moves a device over a known range of steps. The method comprises the steps of: initializing a calibration interval to be greater than the known range of steps; setting a next step value equal to ((1/number of positions)*calibration interval); driving the motor a number of steps equal to the next step value; determining if the calibration interval is less than a stop value; if yes, commencing a stopping sequence; or if no, modifying the calibration interval to equal (((number of positions−1)/number of positions)*calibration interval), and returning to the setting step.

Although the invention is described with respect to a preferred embodiment, modifications thereto will be apparent to those of ordinary skill in the art. The scope of the invention, therefore, is to be determined by reference to the following claims: