Pseudo half-step motor drive method and apparatus
First Claim
1. A method for driving a stepper motor having a detent torque and defining a plurality of stepped positions, the stepper motor being operatively coupled to a load and comprising a rotor and a plurality of windings, said plurality of windings being selectively energized to rotate the rotor in a stepped motion from a current stepped position to an adjacent stepped position, the method comprising the steps of:
- (a) energizing selected windings among said plurality of windings for a predetermined step time and at predetermined current levels so as to produce a magnetic field vector that is not aligned with a stepped position, said predetermined step time and predetermined current levels having been determined to enable the rotor to achieve the adjacent stepped position without substantial overshoot and with substantially a zero velocity when the step time has expired; and
(b) de-energizing the windings that were energized in step (a) after the step time, the rotor being held in the adjacent stepped position by the stepper motor detent torque.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for driving a stepper motor such that when the motor is stepped, the velocity of the motor is substantially zero upon reaching a new stepped position, thereby eliminating overshoot and ringing, and the wasted energy associated with these effects. The method comprises energizing at least one of the stepper motor windings at a predetermined current level for a predetermined step time, wherein the current level is determined as a function of the step time and dynamic single-step response characteristics of the stepper motor and load so that the motor velocity is substantially zero when the adjacent stepped position is reached. At this point, the stepper motor windings that were energized to make the rotor of the motor move are de-energized, whereupon the rotor is held in place by the inherent detent torque of the stepper motor. Since the velocity of the motor is substantially zero when the adjacent stepped position is achieved, there is no overshoot, and thus ringing is eliminated.
137 Citations
19 Claims
-
1. A method for driving a stepper motor having a detent torque and defining a plurality of stepped positions, the stepper motor being operatively coupled to a load and comprising a rotor and a plurality of windings, said plurality of windings being selectively energized to rotate the rotor in a stepped motion from a current stepped position to an adjacent stepped position, the method comprising the steps of:
-
(a) energizing selected windings among said plurality of windings for a predetermined step time and at predetermined current levels so as to produce a magnetic field vector that is not aligned with a stepped position, said predetermined step time and predetermined current levels having been determined to enable the rotor to achieve the adjacent stepped position without substantial overshoot and with substantially a zero velocity when the step time has expired; and
(b) de-energizing the windings that were energized in step (a) after the step time, the rotor being held in the adjacent stepped position by the stepper motor detent torque. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
(a) stepping the rotor of the stepper motor to rotate through a single step by energizing a single winding at a current level that is sufficient to move the load, thereby producing a single-stepped position versus time response that comprises a first damped oscillation having a plurality of peaks;
(b) determining a step time by analyzing the first damped oscillation to determine a time at which a first peak of the damped oscillation occurs after the single winding was energized;
(c) stepping the stepper motor through a single step to an adjacent stepped position using a full-step drive mode by energizing a selected pair of windings at the current level that was used when energizing the single winding, thereby producing a single-stepped position vs. time response that comprises a second damped oscillation having an overshoot past the adjacent stepped position; and
(d) determining the pre determined winding current levels used to energize the two windings as a function of a peak amplitude of the overshoot in the second damped oscillation and the current level used when energizing the single winding.
-
-
5. The method of claim 4, wherein a single step defines a 90°
- electrical angle, and wherein the step of determining the predetermined winding current levels comprises the steps of;
(a) determining an electrical angle corresponding to the peak amplitude of the overshoot in the second damped oscillation;
(b) determining an overshoot ratio by dividing the electrical angle by 90°
;
(c) determining an electrical angle corresponding the magnetic field vector by dividing 90°
by the overshoot ratio; and
(d) determining respective predetermined current levels for energizing the two windings by multiplying the current level used in the full-step driving mode by the sine and cosine of the electrical angle.
- electrical angle, and wherein the step of determining the predetermined winding current levels comprises the steps of;
-
6. The method of claim 1, wherein current levels in the windings and the step time are controlled by a logic device.
-
7. The method of claim 6, where in the logic device controls the current levels in the windings by issuing command signals to at least one digital-to-analog converter, which produces a voltage output that is received as an input by a motor drive circuit, said motor drive circuit producing the current levels based on the digital-to-analog converter voltage output.
-
8. The method of claim 1, wherein the current level sufficient to move the load comprises a minimum current level required for the stepper motor to move the load through a full-range of motion.
-
9. A positioning device comprising:
-
(a) a stepper motor having a rotor and a plurality of windings, said plurality of windings being selectively energized to rotate the rotor in a stepped motion from a current stepped position to an adjacent stepped position, said stepper motor further having a characteristic detent torque that tends to maintain the rotor in a stepped position;
(b) a driver circuit coupled to the windings, said driver circuit producing current to drive selected windings among the plurality of windings in the stepper motor based on control signals that are input to the driver circuit; and
(c) a driver control device, which produces the control signals that cause the driver circuit to step the stepper motor through a single step by;
(i) energizing selected windings among said plurality of windings for a predetermined step time at current levels selected to produce a magnetic field vector that is not aligned with a stepped position such that the rotor completes the single step by rotating to the adjacent stepped position without an overshoot, and with substantially a zero velocity when the predetermined step time has expired; and
(ii) de-energizing the windings that were energized in step (i) after the predetermined step time has expired, the rotor being then held in the adjacent stepped position by the stepper motor detent torque. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A method for driving a stepper motor having a detent torque and defining a plurality of stepped positions, the stepper motor being operatively coupled to a load and comprising a magnetized rotor and a plurality of windings, said plurality of windings being selectively energized to rotate the rotor from a current stepped position to an adjacent stepped position, rotation of the rotor between the current stepped position and the adjacent stepped position corresponding to a fundamental electrical step angle, the method comprising the steps of:
-
(a) determining an attenuated electrical step-command angle corresponding to a magnetic field vector that produces a torque on the magnetized rotor such that the magnetized rotor is caused to rotate with a damped oscillation having a first angular peak equal to the fundamental electrical step angle, said first peak being reached after an elapsed time;
(b) energizing a pair of selected windings among said plurality of windings at different predetermined current levels based on the attenuated electrical step-command angle determined in step (a) for a step time equal to the elapsed time, thereby causing the magnetic rotor to rotate from the current stepped position to the adjacent stepped position such that the rotor has substantially a zero velocity upon reaching the adjacent stepped position; and
(c) de-energizing the windings that were selectively energized in step (b) after the step time, whereby the magnetic rotor is held in the adjacent stepped position by the stepper motor detent torque. - View Dependent Claims (17, 18, 19)
(a) stepping the stepper motor through a single step by energizing a single winding at a current level sufficient to move the load, thereby producing a single-stepped position versus time response that comprises a first damped oscillation having a plurality of peaks;
(b) stepping the stepper motor through a single step to an adjacent stepped position using a full-step drive mode by energizing a selected pair of the windings at the current level used in stepping the stepper motor through a single step, thereby producing a single-stepped position versus time response comprising a second damped oscillation having an overshoot past the adjacent stepped position;
(c) determining an overshoot ratio based on a peak amplitude of the overshoot and the fundamental step angle; and
(d) determining the attenuated electrical step-command angle by dividing the fundamental electrical step angle by the overshoot ratio.
-
-
18. The method of claim 16, wherein the stepper motor is a four-phase unipolar stepping motor.
-
19. The method of claim 16, wherein the different predetermined winding currents in the pair of selected windings are determined as a function of the sine and cosine of the attenuated electrical step-command angle, respectively.
Specification