Stepper motor ramp generation
First Claim
1. A method for generating a stepper motor ramp for controlling the times between electrical pulses supplied to the motor for advancing the motor, said method comprising the steps of:
- a) determining the minimum available torque for the motor;
b) applying to the available torque a safety factor and then a safety margin to obtain the maximum usable torque wherein the safety factor is derived from motor information and the safety margin is derived from information on a system of which the motor is a part;
c) calculating the maximum acceleration from the friction and moment of inertia of the system of which the motor is a part and the maximum usable motor torque;
d) calculating the time duration of the next step for advancing the motor;
e) repeating steps a) through d) to determine all steps in the ramp; and
f) utilizing the generated stepper motor ramp in advancing the motor by providing a series of electrical pulses of suitable amplitude and pulse width to advance the stepper motor wherein the times between the pulses are controlled by the ramp.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for generating stepper motor ramps and analyzing the motor torque required compared with the motor torque available wherein the generated ramp accelerates the motor as fast as possible while maintaining a user settable torque safety factor and/or safety margin. The method uses the minimum available stepper motor torque at the current motor speed to ultimately compute the maximum useable acceleration, uses the maximum acceleration to generate the next motor step time and hence the next motor velocity, computes the next velocity from the desired acceleration and the previous velocity and utilizes friction during deceleration of the motor. In particular, the method comprises determining the minimum available torque using the current motor velocity and the torque-speed characteristic of the motor, applying to the available torque a safety factor and then a safety margin to determine maximum useable torque wherein the safety factor is derived from motor information and the safety margin is derived from system information, calculating the maximum acceleration using the friction and moment of inertia of the system and the maximum usable motor torque, calculating the time duration of the next step for advancing the motor, repeating the foregoing steps to determine all steps in the ramps, and utilizing the generated motor ramps in advancing the stepper motor. The generated ramp always exploits the full drive capability of the stepper motor, and it provides a relatively constant margin between available torque and required torque during both acceleration and deceleration of the motor.
-
Citations
7 Claims
-
1. A method for generating a stepper motor ramp for controlling the times between electrical pulses supplied to the motor for advancing the motor, said method comprising the steps of:
-
a) determining the minimum available torque for the motor; b) applying to the available torque a safety factor and then a safety margin to obtain the maximum usable torque wherein the safety factor is derived from motor information and the safety margin is derived from information on a system of which the motor is a part; c) calculating the maximum acceleration from the friction and moment of inertia of the system of which the motor is a part and the maximum usable motor torque; d) calculating the time duration of the next step for advancing the motor; e) repeating steps a) through d) to determine all steps in the ramp; and f) utilizing the generated stepper motor ramp in advancing the motor by providing a series of electrical pulses of suitable amplitude and pulse width to advance the stepper motor wherein the times between the pulses are controlled by the ramp. - View Dependent Claims (2)
-
-
3. A method for generating a stepper motor ramp for controlling the times between electrical pulses supplied to the motor for advancing the motor, said method comprising the steps of:
-
a) determining the minimum available torque using the current motor velocity and the torque-speed characteristic of the motor; b) calculating the maximum usable torque using the available torque determined in step a) and applying a safety factor and a safety margin to the available torque, the safety factor being derived from motor information and the safety margin being derived from information on a system of which the motor is a part; c) calculating the maximum possible acceleration for the next motor step using the system friction and moment of inertia and the maximum usable torque at the current speed calculated in step b); d) calculating the time duration of the next step for advancing the motor; e) repeating steps a) through d) to determine all steps in the ramp; and f) utilizing the generated motor ramp in advancing the motor by providing a series of electrical pulses of suitable amplitude and pulse width to advance the stepper motor wherein the times between the pulses are controlled by the ramp. - View Dependent Claims (4)
-
-
5. A method for generating a stepper motor ramp for controlling the times between electrical pulses supplied to the motor for advancing the motor, said method comprising the steps of:
-
a) determining the minimum available torque using the current motor velocity and the torque-speed characteristic of the motor; b) calculating the maximum usable torque using the minimum available torque determined in step a) and applying a safety factor and then a safety margin to the available torque according to the relationship;
Tusable=Tavailable (Safety Factor)-Safety Margin where 0<
Safety Factor<
2 and Safety Margin<
T available (Safety Factor) and where the safety factor is derived from motor information and the safety margin is derived from information on a system of which the motor is a part;c) calculating the maximum possible system acceleration for the next motor step from the system friction, system moment of inertia and the maximum usable motor torque at the current speed according to the relationship;
An =(Tusable-fr)/m where An is the maximum possible system acceleration, Tusable is the maximum usable motor torque, f is the system friction, r is the radius of the moment are of the system load and m is the system moment of inertia, and where the maximum system friction expected is used for up ramps and the minimum system friction expected is used for down ramps;d) calculating the time duration of the next step for advancing the motor using the relationship;
space="preserve" listing-type="equation">A.sub.n =Δ
V/t.sub.n
space="preserve" listing-type="equation">Δ
V=Vn-Vn-1
space="preserve" listing-type="equation">tn=1/Vn
space="preserve" listing-type="equation">A.sub.n =(Vn-Vn-1)/(1/Vn) ##EQU2## where n is the current step number being calculated, V is motor velocity and tn is the time per step;
e) repeating steps a) through d) to determine all the steps in the ramp; andf) utilizing the generated stepper motor ramp in advancing the motor by providing a series of electrical pulses of suitable amplitude and pulse width to advance the stepper motor wherein the times between the pulses are controlled by the ramp.
-
-
6. A method for controlling a stepper motor comprising:
-
a) supplying to the stepper motor a series of electrical pulses of suitable available and pulse width to advance the stepper motor; and b) controlling the times between said pulses according to a ramp generated by using the minimum available torque at the current speed to ultimately compute the maximum acceleration that can be used, by using the maximum acceleration to generate the next step time and hence the next velocity including computing the next velocity from the desired acceleration and the previous velocity and by taking advantage of system friction during deceleration.
-
-
7. In a stepper motor system including a stepper motor for driving a load and a microprocessor-driver combination associated with said stepper motor for supplying a series of electrical pulses of suitable amplitude and pulse width to advance the stepper motor:
a stepper motor ramp function stored in said microprocessor for controlling the times between said pulses, said ramp maintaining a relatively constant margin between available torque and required torque of said stepper motor during both acceleration and deceleration of said motor while utilizing the full drive capability of said motor during each step of the operation thereof, said ramp including an externally specified safety factor based on stepper motor information and safety margin based on system information.
Specification