Programmable controller for stepping motor control
First Claim
1. A stepping motor controller for controlling stepping motor rate and position to achieve a stepping motor move profile that includes an acceleration interval and a deceleration-to-zero interval, the controller comprising:
- a main processor which stores a plurality of move profile parameters which are input by the user in a move data block including(i) an acceleration interval for stepping motor acceleration,(ii) a steady state rate,(iii) a deceleration interval for stepping motor deceleration, and(iv) a final position,the main processor being operable to transmit the move data block to direct the movement of the stepping motor to achieve the move profile;
a master controller module coupled to said main processor for receiving said move data block transmitted by said main processor and for processing said move data block to yield a satellite move set data block containing data elements including(i) a stepping acceleration value to achieve stepping motor acceleration to said steady rate during the stepping motor acceleration interval,(ii) a stepping motor deceleration value to achieve stepping motor deceleration from said steady state rate to a zero rate during the deceleration interval,(iii) said steady state rate, and(iv) said final position; and
a satellite output module coupled to the master controller module for obtaining said satellite move set data block from said master module and coupled to said stepping motor for supplying pulses to said stepping motor responsive to said satellite move set data block to accelerate the stepping motor to said steady state rate at said acceleration value specified by said satellite move set data block and to decelerate the stepping motor from the steady state rate to a zero rate to reach the final position at said deceleration value specified by said satellite move set data block.
2 Assignments
0 Petitions
Accused Products
Abstract
An improved stepping motor controller is comprised of a programmable controller provided with a pair of input/output circuits for controlling the stepping motor in accordance with move data blocks from the programmable controller'"'"'s central processing unit (CPU) containing user-programmed stepping motor move profile parameters including a user-programmed stepping motor acceleration interval for stepping motor acceleration, user-programmed stepping motor deceleration interval for stepping motor deceleration and a user-programmed stepping motor final position. The pair of input/output circuits includes a master controller module and at least one and up to three satellite output modules. The master controller module is coupled to the programmable controller CPU to read and process the move data blocks to generate satellite move set data blocks for each satellite output module. Each satellite move set data block contains data elements specifying the stepping motor acceleration rate for accelerating the stepping motor to a steady state rate and a stepping motor deceleration rate to decelerate the stepping motor from the steady state rate to a rate to reach the user-programmed final position within the user programmed acceleration and deceleration interval within the user-programmed intervals. Each satellite output module is coupled to the master controller module to read the satellite move set data block therefrom and in response to process the satellite move set data block and generate the pulses which are coupled to the stepping motor to achieve stepping motor acceleration and deceleration over the user-programmed intervals to achieve the user-programmed final position.
69 Citations
19 Claims
-
1. A stepping motor controller for controlling stepping motor rate and position to achieve a stepping motor move profile that includes an acceleration interval and a deceleration-to-zero interval, the controller comprising:
-
a main processor which stores a plurality of move profile parameters which are input by the user in a move data block including (i) an acceleration interval for stepping motor acceleration, (ii) a steady state rate, (iii) a deceleration interval for stepping motor deceleration, and (iv) a final position, the main processor being operable to transmit the move data block to direct the movement of the stepping motor to achieve the move profile; a master controller module coupled to said main processor for receiving said move data block transmitted by said main processor and for processing said move data block to yield a satellite move set data block containing data elements including (i) a stepping acceleration value to achieve stepping motor acceleration to said steady rate during the stepping motor acceleration interval, (ii) a stepping motor deceleration value to achieve stepping motor deceleration from said steady state rate to a zero rate during the deceleration interval, (iii) said steady state rate, and (iv) said final position; and a satellite output module coupled to the master controller module for obtaining said satellite move set data block from said master module and coupled to said stepping motor for supplying pulses to said stepping motor responsive to said satellite move set data block to accelerate the stepping motor to said steady state rate at said acceleration value specified by said satellite move set data block and to decelerate the stepping motor from the steady state rate to a zero rate to reach the final position at said deceleration value specified by said satellite move set data block. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A programmable controller for controlling the rate and position of a stepping motor during a move profile that includes an acceleration interval and a deceleration-to-zero interval, the programmable controller comprising:
-
a central processor unit with memory means for storing a plurality of data elements which are input by the user including (i) an acceleration time interval for stepping motor acceleration; (ii) at least one steady-state rate; (iii) a deceleration time interval for stepping motor deceleration; and (iv) a final position to be reached at the end of the move profile; a communication channel with one end connected to the central processor unit and with another opposite end; wherein the central processor unit also includes means coupled to the memory means and coupled to the communication channel for transmitting the data elements through the communication channel; and a motor control interface coupled between the opposite end of the communication channel and the stepping motor and operable to receive the data elements, and to control the stepping motor accordingly, said motor control interface including master controller means responsive to the data elements for determining an acceleration value to accelerate the stepping motor to the steady state rate and for determining a deceleration value for deceleration from the steady state rate to a zero rate to reach the final position, said master controller means being operable to communicate the acceleration value and deceleration value; and satellite output means coupled to the stepping motor and coupled for communication with said master controller means for receiving said acceleration value and said deceleration value, and said satellite output means being responsive to said acceleration value and said deceleration value for supplying pulses which are coupled to the stepping motor to achieve stepping motor acceleration to the steady state rate and deceleration to a zero rate to reach the final position over the acceleration and deceleration time intervals respectively while minimizing any error between the time interval specified in the data elements and the time interval achieved in reaching the final position. - View Dependent Claims (7, 8, 9)
-
-
10. A method for controlling a stepping motor to accomplish a stepping motor move profile including an acceleration to a steady state rate and a deceleration from a steady state rate to a zero rate to reach a final position comprising the steps of:
-
(a) reading a move data block which stores a plurality of move parameters which are input by the user including (i) an acceleration interval (ii) a deceleration interval (iii) a final position (iv) a steady state rate (b) processing the move data block to yield move data elements including (i) a stepping motor acceleration value to achieve stepping motor acceleration to the steady state rate within the acceleration interval (ii) a stepping motor deceleration value to achieve stepping motor deceleration from the steady state rate to a zero rate to reach the final position within the deceleration interval (c) accelerating the stepping motor to a steady state rate by periodically (i) incrementing the stepping motor rate according to the acceleration value to yield a new stepping motor rate (ii) output the new rate (iii) checking whether the steady state stepping motor rate has been reached and repeating the steps of (i) incrementing the stepping motor rate, and (ii) outputting the new rate until the steady state stepping motor rate is reached; and (d) decelerating the stepping motor to a zero rate by periodically (i) decreasing the current stepping motor rate according to the deceleration value to yield a new stepping motor rate (ii) calculating the number of pulses required to be output during the current incremental period to achieve the new stepping motor rate (iii) outputting the calculated number of pulses to the stepping motor during the current incremental period (iv) repeating the steps of (i) decreasing the current stepping motor rate, (ii) calculating the number of pulses and (iii) outputting the calculated number of pulses to decelerate the motor to a zero rate to reach the final position. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A method for controlling a stepping motor to decelerate the stepping motor from a steady state rate to a zero rate to reach a final position within a deceleration interval comprising the steps of:
-
(a) calculating the stepping motor deceleration value required to decelerate the stepping motor to a zero rate within the deceleration interval; (b) determining the point of deceleration initiation based upon the final position, the steady state rate, and the deceleration interval; (c) commencing deceleration of the stepping motor when the stepping motor current position is at said point of deceleration initiation by periodically; (i) decreasing the current stepping motor rate according to the deceleration value to yield a new stepping motor rate, (ii) calculating the number of pulses required to be output during the current incremental period to achieve the new stepping motor rate, (iii) outputting the calculated number of pulses to the stepping motor during the current incremental period, and (iv) repeating the steps of (i) decrementing the current stepping motor rate, (ii) calculating the number of pulses, and (iii) outputting the calculated number of pulses to decelerate the motor until a zero rate is achieved to reach the final position. - View Dependent Claims (18, 19)
-
Specification