Microstepping motor controller circuit
OwnerL. Wayne Hunterinventor
Life of this patent
Estimating the term…
Abstract
A controller circuit for controlling the movement of a stepper motor or the like about one or more axes is disclosed. The circuit includes a microprocessor and associated circuitry for generating velocity and distance control signals according to a preferred method. According to the method, a constant acceleration number provided by the user is cumulatively added to itself to produce a velocity number. In addition, the velocity number is cumulatively added to itself to produce a pulse rate number. The pulse rate number is routed as a plural bit number to a counter wherein it is used to generate a train of stepper motor control pulses. The preferred method and circuitry allow the microprocessor to generate the stepper motor control pulses at a very high rate of speed without requiring peripheral adder circuitry.
Claims5
A method of generating a train of signal pulses for controlling movement of a stepper motor about at least one axis, comprising:
- providing an acceleration value;
- providing a maximum velocity and total distance value;
- calculating a velocity value by adding the acceleration value cumulatively to itself at a predetermined rate, each addition producing a velocity value;
- calculating a distance value by adding the velocity value cumulatively to itself at a predetermined rate, each addition producing a distance value;
- comparing, after each velocity calculation, the velocity value against the maximum value;
- terminating the acceleration addition once the maximum velocity value is reached;
- calculating the number of pulses n required to reach the maximum velocity;
- subtracting the number of pulses n from the remaining pulses to produce a number of pulses m for constant velocity;
- generating a constant velocity for m pulses;
- decelerating for n pulses, the 2n+m pulses equaling the total distance value;
- and
- generating a train of signal pulses in response to the distance value and repeating the above steps at the predetermined rate.
A controller circuit for generating a train of signal pulses to control the movement of a stepper motor about at least one axis, comprising:
- means for storing an acceleration value, a maximum velocity value, and a total distance value;
- means for adding the acceleration value to itself cumulatively to produce a velocity value;
- means for adding a velocity value to itself to produce a distance value;
- means for comparing, after each velocity calculation, the velocity against the maximum value;
- means for terminating the accelerating addition once the maximum velocity value is reached;
- means for calculating the number of pulses n required to reach the maximum velocity;
- means for subtracting the number of pulses n from the remaining pulses to produce a number of pulses m for constant velocity;
- means for generating a constant velocity for m pulses;
- means for decelerating for n pulses, the 2n+m pulses equaling the total distance value;
- and
- means for producing in response to the distance value a train of signal pulses for controlling the movement of the motor.
A controller circuit for generating a train of signal pulses to control the movement of a stepper motor about at least one axis, comprising:
- means for storing an acceleration value, a maximum velocity value, and a distance value;
- microprocessor means running at a first predetermined rate for adding the acceleration value to itself cumulatively to produce a velocity value and for adding the velocity to itself cumulatively to produce a distance value;
- and
- multiplier means for interrupting the microprocessor means at the first predetermined rate to receive the distance value produced and for multiplying the distance value at a second, faster predetermined rate to produce the pulse train at the faster predetermined rate.
Dependencies are inferred from the claim text.