Closed Loop Stepper Motor Control
AssigneeNational Instruments Corporation
InventorSundeep Chandhoke
Life of this patent
Estimating the term…
Abstract
System and method for controlling a stepper motor. A current position of the stepper motor may be received. A position error of the stepper motor may be determined using the current position of the stepper motor. A velocity profile may be maintained based on the position error, such that it tracks the position error. A position correction value may be determined based on the velocity profile, e.g., by integrating a portion of the velocity profile. A new position value may be generated to drive the stepper motor. An output position value to the stepper motor may be provided to drive the stepper motor. The output position value may incorporate the new position value and the position correction value and may be operable to reduce position error of the stepper motor.
Claims20
A method for controlling a stepper motor, the method comprising:
- receiving a current position of the stepper motor;
- determining a position error of the stepper motor using the current position of the stepper motor;
- maintaining a velocity profile based on the position;
- determining a position correction value based on the velocity profile;
- generating a new position value to drive the stepper motor;
- providing an output position value to the stepper motor to drive the stepper motor, wherein the output position value incorporates the new position value and the position correction value, and wherein the output position value is operable to reduce position error of the stepper motor.
A memory medium for controlling a stepper motor, wherein the memory medium stores program instructions executable to:
- receive a current position of the stepper motor;
- determine a position error of the stepper motor using the current position of the stepper motor;
- maintain a velocity profile based on the position;
- determine a position correction value based on the velocity profile;
- generate a new position value to drive the stepper motor;
- and
- provide an output position value to the stepper motor to drive the stepper motor, wherein the output position value incorporates the new position value and the position correction value, and wherein the output position value is operable to reduce position error of the stepper motor.
A system comprising:
- a first controller, wherein the first controller is operable to control the stepper motor using open loop control, wherein the first controllers uses a position trajectory to control the stepper motor, and wherein the first controller is operable to:
- send a first signal to the stepper motor to drive the stepper motor, wherein the first signal corresponds to a first point in the position trajectory;
- and
- a second controller, wherein the second controller is operable to:
- determine a position error of the stepper motor using a current position of the stepper motor prior to the first controller sending the first signal to the stepper motor;
- determine a velocity override value to correct the position error;
- determine a delta position value using the velocity override value;
- and
- provide the delta position value for incorporation with the first signal to drive the stepper motor, wherein the first signal with the delta position value is operable to correct position error of the stepper motor.
Dependencies are inferred from the claim text.