Use of digital current ramping to reduce audible noise in stepper motor
First Claim
1. A stepper motor controller for controlling a motion of a stepper motor having a plurality of windings, by selectively energizing said plurality of windings so as to control a current level in the selectively energized windings based on a predetermined motor phase sequence and a predetermined current profile, comprising:
- (a) a master logic device that produces control signals corresponding to the predetermined motor phase sequence and the predetermined current profile;
(b) a slaved logic device that receives a portion of the control signals from the master logic device and in response generates ramp command signals based upon the predetermined current profile;
(c) a digital potentiometer connected to the slaved logic device to receive the ramp command signals, said digital potentiometer producing a current command signal having a voltage level ranging between a low reference voltage and a high reference voltage, as a function of the ramp command signals, said current command signal corresponding to the predetermined current profile; and
(d) a stepper motor drive circuit, connected to the master logic device to receive the control signals and to the digital potentiometer to receive the current command signal, said stepper motor drive circuit controlling the current levels in the stepper motor windings in response to the control signal and the current command signal, and in accord with the predetermined motor phase sequence.
3 Assignments
0 Petitions
Accused Products
Abstract
A stepper motor controller and method for controlling the motion of a stepper motor by selectively energizing the motor'"'"'s windings so that the current level in the windings match a desired current profile. The motor controller comprises a master logic device, preferably a microprocessor or microcontroller, which is programmed with logic for issuing control signals corresponding to the sequence with which the windings of the stepper motor are energized and the desired current profile. A portion of the control signals are received by a slaved logic device, which is programmed with logic for generating ramp command signals corresponding to the desired current profile. The slaved logic device produces a ramp command signal that is received by a digital potentiometer, which preferably includes an up/down counter. The output signal produced by the digital potentiometer corresponds to a current count value of the up/down counter, and it is controlled by the ramp command signals. By controlling the digital potentiometer with the ramp command signals, a current command signal is produced corresponding to the desired current profile and having a range between low and high reference voltages. This current command signal is provided to a stepper motor drive circuit, which controls the current levels in the stepper motor windings so that they correspond to the desired current profile and are phased according to required sequence.
222 Citations
31 Claims
-
1. A stepper motor controller for controlling a motion of a stepper motor having a plurality of windings, by selectively energizing said plurality of windings so as to control a current level in the selectively energized windings based on a predetermined motor phase sequence and a predetermined current profile, comprising:
-
(a) a master logic device that produces control signals corresponding to the predetermined motor phase sequence and the predetermined current profile;
(b) a slaved logic device that receives a portion of the control signals from the master logic device and in response generates ramp command signals based upon the predetermined current profile;
(c) a digital potentiometer connected to the slaved logic device to receive the ramp command signals, said digital potentiometer producing a current command signal having a voltage level ranging between a low reference voltage and a high reference voltage, as a function of the ramp command signals, said current command signal corresponding to the predetermined current profile; and
(d) a stepper motor drive circuit, connected to the master logic device to receive the control signals and to the digital potentiometer to receive the current command signal, said stepper motor drive circuit controlling the current levels in the stepper motor windings in response to the control signal and the current command signal, and in accord with the predetermined motor phase sequence. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A stepper motor controller for controlling a motion of a two-phase stepper motor comprising a plurality of windings by selectively energizing said plurality of windings so as to control a current level in each of said plurality of windings based on a predetermined motor phase sequence and a predetermined current profile for the windings, comprising:
-
(a) a processor programmed with logic for issuing control signals that generate the predetermined current profile, said control signals including motor phase command signals corresponding to the predetermined motor phase sequence;
(b) a logic device, coupled to the processor for receiving a portion of the control signals and programmed with logic for generating ramp command signals for obtaining the predetermined current profile for each motor phase;
(c) a pair of digital potentiometers connected to the logic device to receive the ramp command signals, each digital potentiometer being associated with a different motor phase and producing an output voltage ranging between a low reference voltage and a high reference voltage as a function of the ramp command signals, such that each digital potentiometer produces current command signals corresponding to the predetermined current profile for its associated motor phase; and
(d) a stepper motor drive circuit, coupled to the processor to receive the control signals and to the pair of digital potentiometers to receive the current command signals, said stepper motor drive circuit controlling current levels in the stepper motor windings based on the current command signals and the motor phase command signals. - View Dependent Claims (17, 18, 19)
-
-
20. A method for driving a stepper motor comprising a plurality of windings corresponding to respective motor phases that are selectively energized in a predetermined motor phase sequence to rotate the stepper motor, the method comprising the steps of:
-
(a) generating motor phase command signals corresponding to the predetermined motor phase sequence, and ramp command signals corresponding to a predetermined trapezoidal winding current waveform that includes an upwardly sloped portion, a plateau portion, and a downwardly-sloped portion connected in a sequence;
(b) generating a trapezoidal current command signal corresponding to the predetermined trapezoidal winding current waveform by controlling a digital potentiometer with the ramp command signals; and
(c) selectively energizing windings among said plurality of windings based on the motor phase signals and the trapezoidal current command signal so as to control a current level in said selectively energized windings that corresponds to the trapezoidal current command signal. - View Dependent Claims (21, 22, 23, 24, 25, 26)
(a) continuously comparing the trapezoidal current command signal with the current-sense feedback signal;
(b) energizing the selectively energized windings by connecting a drive voltage to said selectively energized windings as long as the trapezoidal current command signal exceeds the current-sense feedback signal; and
(c) disconnecting said selectively energized windings from the drive voltage for a predetermined time interval whenever the current-sense feedback signal exceeds the trapezoidal current command signal.
-
-
25. The method of claim 20, wherein the predetermined trapezoidal winding current waveform comprises a positive portion and a negative portion separated by a substantially zero current crossover point, and wherein a timing relationship between the predetermined motor phase sequence and the zero current crossover point for current through a selected winding is controlled so that the current in the selected winding is substantially zero immediately after the selected winding is switched between an energized state and a de-energized state.
-
26. The method of claim 20, wherein the predetermined trapezoidal winding current waveform comprises rise and fall times corresponding to a stepping rate of the motor.
-
27. A method for driving a stepper motor comprising a plurality of windings corresponding to respective motor phases that are selectively energized in a predetermined motor phase sequence to rotate the stepper motor, the method comprising the steps of:
-
(a) generating motor phase command signals corresponding to the predetermined motor phase sequence;
(b) generating control signals to produce a current command signal having zero current portions, first step portions with a current level greater than the zero current portions, and a maximum current portion, wherein an upwardly-ramped portion connects a zero current portion to a first step portion, and a downwardly-ramped portion connects another first step portion to another zero current portion; and
(c) selectively energizing windings among said plurality of windings based on the motor phase signals and the current command signal so as to control a current level in said selectively energized windings that corresponds to the current command signal. - View Dependent Claims (28, 29, 30, 31)
-
Specification