The technical field of this invention is stepper motor drive circuits and more to stepper motor stall detection.
Detection of the zero/home position of a stepper motor enables accurate position calibration. Detection of this zero/home position typically involves stepper motor stall detection.
The current method of stall detection measures the back-EMF voltage of a motor phase which is not active. The measurement of back-EMF voltage at low speed is difficult and not very accurate. Therefore there is need for a better manner of stepper motor stall detection.
The technique detects the variation of the active phase current slope to determine a stepper motor stall.
These and other aspects of this invention are illustrated in the drawings, in which:
This method measures the current slope of an active phase of the stepper motor. The difference in the slope of the phase current of an active phase from running and stalling provides an accurate and simpler but effective detection of a stall.
During the ON operation of the MOSFET switch, the phase current can be written as
I(t)=(V−Ea)(1−e−tR/l) (1)
where: I(t) is the current as a function of time; V is the drive voltage; Ea is the back electromotive force (EMF) voltage; R is the stepper motor winding resistance; and L is the stepper motor winding inductance.
When the stepper motor is rotating at a constant speed the slope of the currents will stay the same at every ON instant of the phase current. At the instant the motor hits a mechanical STOP, back-EMF 103 of the motor reduces to zero because the motor is stopped. The current build-up in the active phase of the motor is no longer influenced by back-EMF 103 and the phase current of the winding can be written by putting Ea=0 in equation (1) as
I(t)=V(1−e−tR/L) (2)
This changes the slope of the current from (V−Ea)/L to V/L.
In order to determine motor stall, the system controller calculates the current slope after every ON state. The motor current is typically measured by measuring the voltage across one of the power FETs. When ON the FET has a small but not zero resistance. Measuring the voltage across the FET when ON together with the known ON resistance permits calculation of the motor winding current.
or nearly 8%. This difference in current would generally be easy to detect. Generally the stepper motor drive circuit would deenergize the motor thereby ensuring an accurate home position for the motor.
I=V/R (5)
where: I is the winding current to be calculated; V is the measured voltage across the FET; and R is the ON resistance of the FET.
Test block 704 determines if the calculated current exceeds a predetermined threshold. If not (No at test block 704), the process 700 loops back to test block 701 to await another stepper pulse. If so (Yes at test block 704), then a stall condition is detected. Block 705 represents a stall response. This stall response could be ceasing further stepper pulses, triggering an alarm or another response. The 8% difference in running current versus stalled current permits using a fixed threshold. This fixed threshold is set greater than the expected running current and less than the expected stalled current. In the example of
This application claims priority under 35 U.S.C. 119(e)(1) to U.S. Provisional Application No. 60/648,797 filed Jan. 31, 2005.
Number | Name | Date | Kind |
---|---|---|---|
5378975 | Schweid et al. | Jan 1995 | A |
5821713 | Holling et al. | Oct 1998 | A |
6307726 | Marshall et al. | Oct 2001 | B1 |
6667595 | Wiseman | Dec 2003 | B2 |
6681817 | Hagano et al. | Jan 2004 | B2 |
6861817 | Pigott et al. | Mar 2005 | B2 |
20040032231 | Ellerthorpe et al. | Feb 2004 | A1 |
20040222779 | Cock et al. | Nov 2004 | A1 |
Number | Date | Country | |
---|---|---|---|
20060181237 A1 | Aug 2006 | US |
Number | Date | Country | |
---|---|---|---|
60648797 | Jan 2005 | US |