IP Library Granted Patent US 7,863,851
Granted Patent B2
US 7,863,851 · App. 11/843,367 · Granted Jan 4, 2011

Closed loop stepper motor control

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,863,851
App. No.
11/843,367
Granted
Jan 4, 2011
Kind
B2
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.

Claims (46)

1. 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 error;

determining a position correction value based on the velocity profile;

generating a new position value to drive the stepper motor, wherein said generating is performed independent of the position error;

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.

2. The method of claim 1 , wherein said maintaining the velocity profile comprises determining a velocity modification value based on the position error.

3. The method of claim 2 , wherein the velocity modification value comprises a velocity override value.

4. The method of claim 3 , wherein said maintaining the velocity profile comprises using a position error limit, and wherein said modifying the velocity override parameter is performed using the following formula:

Velocity Override=(abs(Position Error)*100)/Position Error Limit.

5. The method of claim 1 , wherein said modifying the velocity override parameter comprises using a velocity override limit, and wherein the velocity override parameter does not exceed the velocity override limit.

6. The method of claim 1 , wherein said maintaining the velocity profile comprises using a position error limit.

7. The method of claim 1 , wherein said determining a position correction value comprises integrating the velocity profile.

8. The method of claim 1 , wherein said receiving, said determining, said maintaining, said determining, said generating, and said providing are performed a plurality of times in a periodic fashion.

9. The method of claim 1 , wherein said maintaining the velocity profile comprises:

determining if the direction of the position error has changed; and

reversing the sign of a new point in the velocity profile.

10. The method of claim 1 , wherein said generating a new position is performed by a primary controlling axis, and wherein said receiving the current position, said determining the position error, said maintaining the velocity profile based on the position, and said determining a position correction value is performed by a secondary monitoring axis.

11. 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 error;

determine a position correction value based on the velocity profile;

generate a new position value to drive the stepper motor, wherein said generating is performed independent of the position error; 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.

12. The memory medium of claim 11 , wherein said maintaining the velocity profile comprises determining a velocity modification value based on the position error.

13. The memory medium of claim 12 , wherein the velocity modification value comprises a velocity override value.

14. The memory medium of claim 13 , wherein said maintaining the velocity profile comprises using a position error limit, and wherein said modifying the velocity override parameter is performed using the following formula:

Velocity Override=(abs(Position Error)*100)/Position Error Limit.

15. The memory medium of claim 11 , wherein said modifying the velocity override parameter comprises using a velocity override limit, and wherein the velocity override parameter does not exceed the velocity override limit.

16. The memory medium of claim 11 , wherein said maintaining the velocity profile comprises using a position error limit.

17. The memory medium of claim 11 , wherein said determining a position correction value comprises integrating the velocity profile.

18. The memory medium of claim 11 , wherein said receiving, said determining, said maintaining, said determining, said generating, and said providing are performed a plurality of times in a periodic fashion.

19. The memory medium of claim 11 , wherein said maintaining the velocity profile comprises:

determining if the direction of the position error has changed; and

reversing the sign of a new point in the velocity profile.

20. A system comprising:

a first controller, wherein the first controller is configured to control a 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 configured to:

generate an output signal for driving the stepper motor, wherein the output signal corresponds to a first point in the position trajectory, wherein said generating is not based on position error of the stepper motor; and

a second controller, wherein the second controller is configured to:

determine a position error of the stepper motor using a current position of the stepper motor prior to the stepper motor receiving the output signal;

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 modifying the output signal to generate a modified output signal to drive the stepper motor, wherein the modified output signal corrects position error of the stepper motor;

wherein the modified output signal is provided to drive the stepper motor.

Assignments (6)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 057280/0028) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 065231/0466 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 052935/0001) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
Reel/Frame 065653/0463 →
SECURITY INTEREST Recorded Jun 18, 2021
From: NATIONAL INSTRUMENTS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 057280/0028 →
SECURITY INTEREST Recorded Jun 14, 2020
From: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 052935/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2007
From: LUDWIG INSTITUTE FOR CANCER RESEARCH; LICENTIA LTD.
To: VEGENICS LIMITED
Reel/Frame 020243/0259 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2007
From: CHANDHOKE, SUNDEEP
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 019732/0496 →