Stepping motor controlling apparatus

Similar documents
Upgrading from Stepper to Servo

combine regular DC-motors with a gear-box and an encoder/potentiometer to form a position control loop can only assume a limited range of angular

Ch 5 Hardware Components for Automation

Step vs. Servo Selecting the Best

AN Industrial Stepper Motor Driver. Application Note Abstract. Introduction. Stepper Motor Control Method

Detect stepper motor stall with back EMF technique (Part 1)

Feedback Devices. By John Mazurkiewicz. Baldor Electric

Speed and Torque Control of Stepper Motor using Voltage and Current Control

AN457 APPLICATION NOTE

ServoStep technology

DC motor control using arduino

AC Drive Technology. An Overview for the Converting Industry. Siemens Industry, Inc All rights reserved.

Design of stepper motor position control system based on DSP. Guan Fang Liu a, Hua Wei Li b

MSK4310 Demonstration

MICROCONTROLLERS Stepper motor control with Sequential Logic Circuits

Lock Cracker S. Lust, E. Skjel, R. LeBlanc, C. Kim

Active Vibration Isolation of an Unbalanced Machine Tool Spindle

Lab Exercise 9: Stepper and Servo Motors

Sensors and Sensing Motors, Encoders and Motor Control

Single-phase or three phase AC220V (-15% ~ +10%) 50 ~ 60Hz

L E C T U R E R, E L E C T R I C A L A N D M I C R O E L E C T R O N I C E N G I N E E R I N G

30-80V, 8.2A Peak, No Tuning, Nulls loss of Synchronization

Sensors and Sensing Motors, Encoders and Motor Control

Page ENSC387 - Introduction to Electro-Mechanical Sensors and Actuators: Simon Fraser University Engineering Science

Shenzhen Alpha Inverter Co., Ltd. AS100 AC Servo Drive

Computer Numeric Control

Motor control using FPGA

Analog Devices: High Efficiency, Low Cost, Sensorless Motor Control.

Design of double loop-locked system for brush-less DC motor based on DSP

PART 2 - ACTUATORS. 6.0 Stepper Motors. 6.1 Principle of Operation

CIS009-2, Mechatronics Signals & Motors

Assembly Language. Topic 14 Motion Control. Stepper and Servo Motors

Modeling Position Tracking System with Stepper Motor

2.017 DESIGN OF ELECTROMECHANICAL ROBOTIC SYSTEMS Fall 2009 Lab 4: Motor Control. October 5, 2009 Dr. Harrison H. Chin

No Gain Tuning. Hunting. Closed Loop System

CL86T. 24~80VDC, 8.2A Peak, Closed-loop, No Tuning. Descriptions. Closed-loop. Stepper. Applications. Datasheet of the Closed-loop Stepper CL86T

Software Operational Manual

Electronic Systems - B1 23/04/ /04/ SisElnB DDC. Chapter 2

ELECTRONIC SYSTEMS. Introduction. B1 - Sensors and actuators. Introduction

Size 23 Double Stack External Linear Size 23 Double Stack. 57M4 n n n n n n. 57L4 n n n n n n. E57M4 n n n n n n. Bipolar 5 VDC 12 VDC 2.

A COMPARISON STUDY OF THE COMMUTATION METHODS FOR THE THREE-PHASE PERMANENT MAGNET BRUSHLESS DC MOTOR

Job Sheet 2 Servo Control

(Refer Slide Time: 00:50)

AutoBench 1.1. software benchmark data book.

Design of Joint Controller Circuit for PA10 Robot Arm

Tech Note #3: Setting up a Servo Axis For Closed Loop Position Control Application note by Tim McIntosh September 10, 2001

FRIDAY, 18 MAY 1.00 PM 4.00 PM. Where appropriate, you may use sketches to illustrate your answer.

Data Sheet. AEDT-9340 Series High Temperature 115 C 1250/2500 CPR 6-Channel Commutation Encoder. Description. Features.

87000 Series Size 34 Hybrid Linear Actuators

Command Set For EZController Model EZCTRL. Document Revision: A08 12/05/10

All Servos are NOT Created Equal

HBS Series Hybrid Servos

Ametek, Inc. Rotron Technical Products Division. 100 East Erie St., Suite 200 Kent, Ohio User's Guide. Number Revision F

Actuator Precision Characterization

Where: (J LM ) is the load inertia referred to the motor shaft. 8.0 CONSIDERATIONS FOR THE CONTROL OF DC MICROMOTORS. 8.

AN453_1: Connection of power drivers to TMC453

Voltage mode stepper motor control. Smooth stepper motor driving

ISSN Vol.05,Issue.01, January-2017, Pages:

Servo Tuning Tutorial

Programmable Adaptive Microstep Table

A Comparison of Performance Characteristics of On and Off Axis High Resolution Hall Effect Encoder ICs

PMSM Control Using a Three-Phase, Six-Step 120 Modulation Inverter

Generator Operation with Speed and Voltage Regulation

43000 Series: Size 17 Linear Actuator. Haydon Series Size 17 hybrid linear actuators are our best selling compact hybrid motors.

*Corresponding author. Keywords: Sub-packaging Screw, Operating Characteristic, Stepping Motor, Pulse Frequency.

Lab 5: Inverted Pendulum PID Control

Data Sheet. AEDB-9340 Series 1250/2500 CPR Commutation Encoder Modules with Codewheel. Features. Description. Applications

Mechatronics Engineering and Automation Faculty of Engineering, Ain Shams University MCT-151, Spring 2015 Lab-4: Electric Actuators

Data Sheet. AEDS-9240 Series 360/720 CPR Commutation Encoder Module. Features. Description. Applications

Closed Loop Stepping System with Network based Motion Controller

Chapter 7: The motors of the robot

Analogue Interfacing. What is a signal? Continuous vs. Discrete Time. Continuous time signals

Exercise 2-2. Antenna Driving System EXERCISE OBJECTIVE DISCUSSION OUTLINE DISCUSSION

Datasheet of the MEZ Stepper Servo Drive MEZ 2D VDC, 8.2A Peak, Closed-loop, No Tuning. Version

United States Patent [19]

Manual. ihss57-xx. Integrate Stepper Servo Motor.

The Allen-Bradley Servo Interface Module (Cat. No SF1) when used with the Micro Controller (Cat. No UC1) can control single axis

Farid Alidoust Aghdam 1 and Siamak Saeidi Haghi Introduction. 2. Microstepping Driver Structure

Introduction to Servo Control & PID Tuning

High-Torque/High-Power Bipolar Stepper Motor Driver Using 8-bit PIC Microcontroller. Over Temperature Detection COG1 COG1C COG2

ES86 Series Closed-loop Stepper Drive + Motor System (ES-D808 Drive+ Motor/Encoder)

ES86 Series Closed-loop Stepper Drive + Motor System (Drive+ Motor/Encoder)

Robot Actuators. Motors and Control. Stepper Motor Basics. Increased Resolution. Stepper motors. DC motors AC motors. Physics review: Nature is lazy.

Speed Measurement Method for Digital Control System

ies-2309 Integrated Easy Servo

Application Note: Pulse and Direction for the Position and Velocity Commands

High-speed and High-precision Motion Controller

Ezi-STEP MINI Characteristics

Laboratory Seven Stepper Motor and Feedback Control

Advanced Digital Motion Control Using SERCOS-based Torque Drives

35H6 n n n n n n. 35F6 n n n n n n. E35H6 n n n n n n. Unipolar** 5 VDC 12 VDC 0.24 A 0.57 A. 30 mh. 6.5 mh 5.7 W gcm 2

ES86 Series Closed-loop Stepper Drive + Motor System (Drive+ Motor/Encoder)

Glossary. Glossary Engineering Reference. 35

BALDOR ELECTRIC COMPANY SERVO CONTROL FACTS A HANDBOOK EXPLAINING THE BASICS OF MOTION

Stepper Motors WE CREATE MOTION

Elements of Haptic Interfaces

Control System Design for Tricopter using Filters and PID controller

EEE3410 Microcontroller Applications Department of Electrical Engineering Lecture 11 Motor Control

Comparative analysis of speed decoding algorithms for rotary incremental encoders

Controlling Stepper Motors Using the Power I/O Wildcard

Transcription:

Stepping motor controlling apparatus Ngoc Quy, Le*, and Jae Wook, Jeon** School of Information and Computer Engineering, SungKyunKwan University, 300 Chunchundong, Jangangu, Suwon, Gyeonggi 440746, Korea * (Tel : 82312907233 ; Email: quy1001@yahoo.com) ** (Tel : 82312907129 ; Email: jwjeon@yurim.skku.ac.kr) Abstract: Stepping motor normally operates without feedback and may loss the synchronization. This problem can be prevented by using positional feedback. This paper introduces one method for closed loop control of stepping motor and a method for combining fullstep control and microstep control. This combination controlling apparatus can perform position control with high accuracy in a high speed, so that it will not suffer from vibration (or hunting) problem when stopping motor. Controlling apparatus contains a position counter block for detecting rotor position of stepping motor, a driving block for supplying current to windings of stepping motor, a control block for comparing output signal of position counter block with command position (desired position) and outputting current command signal based on deviation between current position and command position of rotor. To output current command signal, the control block refers to a sine wave data table. This table contains value of duty cycle of Pulse Width Modulation signal. As the second object of this paper, the process of building this data table is also presented. Keywords: Stepping motor, PWM 1. INTRODUCTION Stepping motors have been widely used in industries because they could be controlled with good positioning accuracy through simple open loop control and it can generate high torque at low speed [1]. The ability to move through fixed angular increments or steps mean that stepping motor can be used without feedback that interface to digital positioning system easily. Stepping motors are also robust and very reliable [2]. However, open loop control methods do not meet all control specifications of advanced positioning system [1]. It can cause the loss of synchronization or steps. For this reason, recent researches tried to apply closed loop control for stepping motor. This paper proposes a method for closed loop control which applies the combination of microstep and fullstep control. With this method, the rotation velocity of rotor can be improved and can obtain high precision positioning. On the other hand, former researches on microstep control method were usually performed by using Digital to Analog Conversion to control the current flow in windings of stepping motor. Although this method requires ADC modules in controlling apparatus, it is selected because of an easy control method. As the second aspect of this paper, the proposal of Pulse Width Modulation (PWM) method for controlling the current flow in winding of stepping motor is presented. 2. OBJECTS OF THIS RESEARCH Closed loop control method is the combination of microstep control and fullstep control for stepping motor. This allows the rotor of the motor to follow commanded positions without stepping out, to ensure highly reliable positioning, to operate in high speed and not to causes micro vibration (hunting) when the rotor is stopping. The second object of this research is to introduce a process to apply PWM method in Microstep controlling for stepping motor. This method will provide a compact, inexpensive and highly reliable control apparatus for stepping motor [3]. Referring to Fig.1, to achieve the first objects, a position control apparatus for controlling the position of the stepping motor comprises a position counter block (4) for detecting rotor position. A PWM driving block (3) is for outputting an electric current to the windings. Control block (5) compares an output value of the position counter block with the command position, then outputs a current control command signal corresponding to a desired electric current flowing in windings of the motor to driving block. This current command is based on deviation between the output value of position counter block and the command position value [3]. To combine the fullstep and microstep control, the control block (5) has following characteristics. Firstly, the control block outputs a sine wave data signal which correspond to the command position according to a sine wave data table (or a cosine data table) when the deviation lies within an electrical angle of 90 degrees (or 1 full step). Otherwise it outputs a sine wave data signal which excites the motor in a way that the motor comes to an excitation stable point ahead of the rotor position by an electrical angle of 90 degrees (or 1 full step) when the deviation exceeds an electrical angle of 90 degrees (or 1 full step) [3]. Secondly, in the control block (5), referring to Fig. 2, the control block receives command position from outside and rotor position information from position counter block (4). The control block (5) comprises a phase computing block (6) which outputs phase (or address) to the duty cycle table (7) based on the deviation between the two input values. The duty cycle table (7) which provides a sine wave data signal in form of PWM pulses duty cycle. When the deviation lies within an electrical angle of 90 degrees (or 1 full step), the phase computing block (6) outputs the duty cycle of PWM pulses, so that rotor is controlled in microstep manner. Fig. 1 Block diagram of control apparatus.

Otherwise, if the deviation exceeds an electrical angle of 90 degrees (or 1 full step), the phase computing block (6) outputs the duty cycle of PWM pulses to control the rotor in fullstep manner. From above characteristics, the deviation between the command position and the rotor position as monitored, the following two modes are provided and changed from one to the other in according to the size of the deviation; the threshold value is 90 degrees of electric angle (or 1 full step). Referring to Fig. 3, when the size of absolute value of deviation is smaller than 90 degrees of electric angle (or 1 fullstep), the mode is set to Microstep mode. In microstep mode, the phase of the exciting current becomes an excitation stable point which leads to the rotor position to an electrical angle of 1 microstep value (Ex. 1.8/64 0.028 degree of spatial angle or 90/64 1.406 degree of electrical angle). Otherwise, the size of absolute value of deviation is larger than 90 degrees of electric angle (or 1 fullstep); the mode is set to fullstep mode. In fullstep mode, the phase of the exciting current becomes an excitation stable point which leads the rotor position to an electrical angle of 90 degrees. With the above reasons, this apparatus can allow the rotor of the motor to follow commanded positions without stepping out. It can ensure highly reliable positioning in high speed of operation and causes no micro vibration (hunting) when stopping rotor [3]. To achieve the second object, the control apparatus comprises of driving block (3), which drives the current flow in windings by using the PWM technique. The control block (5) comprises of duty cycle table (7) along with PWM generator block (8). With above configuration, it is possible to provide a compact, inexpensive and highly reliable control apparatus which neither employs complicated control nor faces a step out problem [3]. Fig. 2 Block diagram of control block. 3. EMBODIMENT OF CONTROL APPARATUS This section of paper describes the embodiment of control apparatus based on mentioned ideals. Referring to Fig. 1 is the block structural diagram depicts the control apparatus of this research. A 2phase unipolar type stepping motor (1) is has resolution of 1.8 degree for 1 fullstep. It will move 200 fullsteps per revolution. This motor is controlled by exciting the four terminals denoted as A, /A, B, and /B. An optical encoder (2) is attached to the rotor shaft of the motor (1) producing position signal of the rotor. Optical encoder (2) outputs motion information of rotor to position counter (4) through 3 terminals A, B and Z. Position counter (4) decodes information from phase A and B of encoder, then counts and feedbacks the information about current position of rotor to control block (5). The control block (5) receives the feedback information from position counter, then compares it with the input position command and outputs PWM signals to driving block (3). Driving block (3) contains power amplifier and supplies specific current to stepping motor. Referring to Fig.2, control block (5) comprises a phase computing block (6) to receive the feedback information from position counter (4). It compares the input position command and computes the corresponding phase (or address of data table) based on deviation between the command position and current position of rotor. Phase computing block (6) outputs the phase (or address) to duty cycle table (7) which is used to refer the duty cycle of PWM signal. This duty cycle corresponds to desired sine wave shape (or cosine wave shape) of current supplied to winding of motor. Duty cycle command is outputted to PWM generator block (8) which generates PWM signals to driving block (3). Then the driving block (3) controls the corresponding electric currents that should flow in windings of stepping motor. When the deviation between the feedback rotor position and input command position lies within a full step angle or 90 degrees of electric angle, the computed phase from computing block (6) is based on the command position. Phase computing block (6) monitors the deviation and rotates the rotor by changing the position of exciting current in windings toward desired position until the deviation is zero. This is the Microstep mode. When this deviation exceeds 90 degrees of electric angle (or 1 fullstep), the phase computing block (6) outputs a phase (or address) based on the current position of rotor. The current in windings are excited to make excited position at 90 degrees of electrical angle (or 1 full step) to the current position of rotor. After each time the position of exciting current is changed, the rotor is moved toward the desired position by 1 full step angle. This is full step mode. 4. IMPLEMENTATION AND RESULTS Fig. 3 Two modes of controlling This section of paper will explain about the problems when applying this research in practical. In one motor control system, the velocity profile of rotor is required to have the shape similar to trapezium. When obtaining this profile, the controlled motion become faster, smoother and will not suffer from high force when starting or stopping. For example, referring to Fig. 4, initial velocity is about 200 rpm, and the velocity is increased until it reaches the maximum velocity. This period is called the Start Mode.

Fig. 4 Trapezium shape of velocity profile. After the Start Mode, the controller is switched to Run Mode. This mode maintains its speed at maximum speed. Finally, rotor slows down until it becomes to initial velocity when the current position of rotor is near to command position, and stops when rotor position is at command position. This period is called Stop Mode. Building a control apparatus which controls stepping motor in precision position with high reliability at high speed and without any fluctuation (hunting) when stopping motor is the first object of this research. The velocity profile in Fig.4 is obtained by the combining both fullstep moving and microstep moving. To control both fullstep methods and microstep methods, the control block is required to input the current position of rotor. Which is to compare the current position of rotor with the command (or desired) position, and make decision which rotation mode is appropriate. Referring to Fig. 4, the current position of rotor is far from command position and rotation velocity of rotor is slower than the maximum velocity. The Rotation Mode of motor is set to Start Mode. In this mode, the velocity of rotor will increase step by step until it reaches the maximum velocity. If the current position of rotor is still far from command position and rotation velocity of rotor is equal to the maximum velocity, the Rotation Mode of motor is set to Run Mode. In Run Mode, control apparatus maintains the maximum velocity of stepping motor. However, if the current position of rotor is near to command position, the Rotation Mode is set to Stop Mode, which the velocity of rotor is decreased step by step until it reaches the command position. In more detail about method to perform this combination of control, control block (5) comprises two main processes. One for positioning the rotor to command position, the other is for control the velocity profile of rotor. Fig. 5 shows the algorithm of positioning rotor process to desired position. At Step 1, control apparatus waits to reach zero of delay time variable. This process is executed only when the time delay variable reaches zero. At Step 2, control apparatus calculates the position deviation between current position and command position. At Step 3, control block (5) checks rather the position deviation is zero or not. If the position of deviation is zero, which means the rotor has completed the command position. Otherwise, if the position deviation is still not equal to zero, adjustment in position of exciting current must be performed at Step 4. The delay time variable is reset again and begins another waiting loop. In Step 4, control block executes in microstep mode and fullstep mode. Depending on size of position deviation, control block will operate at appropriate mode. When position deviation is smaller than 1 full step (or 90 degrees electric angle), control block is set to micro step mode. In micro step mode, one period of delay time value of the rotor is controlled to move only 1 microstep and the output phase is produced as the rotor move in each microstep toward the command position. For example, if the number of micro steps in 1 full step is 64, the current position of rotor is 10 and command position is 35. Then control block need 3510 = 20 cycles of delay time variable to move from current position to the command position. During that period, phase is changed from 10, 11, 34, and 35. In 1 cycle of delay time variable, rotor moves 1 angle which is 1.8/64 0.028 degree of spatial. Control block is set to fullstep mode when position deviation is large than 1 full step(or 90 degree of electric angle). In fullstep mode, one period of delay time value of the rotor is controlled to move by 1 full step from the current position of rotor. The position of exciting current is at leading or lagging in phase to the current position of rotor, it depends on the value of command position when comparing with current position of rotor. The exciting current is at leading in phase when rotor needs to move in clockwise direction for reaching the command position and contrary to the case of counter clockwise direction. Output phase is produced as rotor move one by one fullstep toward the command position. For example, if the current position of rotor is 10 and command position is 148, then position deviation = 14810 = 138>64, so to move rotor from 10 to 148, control block need 2 cycles of delay time variable work in full step mode and 13864*2 = 10 cycles of delay time variable work in microstep mode. Step 1 Step 2 Step 3 Step 4 MICROSTEP MODE EXCITE NEXT POSITION OF MICROSTEP Step 5 BEGIN POS DEV=TARGET POS CURRENT POS DELAY TIME = 0 POS DEV 0 POS DEV < 1 FULLSTEP DELAY TIME = DELAY VAR FULLSTEP MODE EXCITE NEXT POSITION OF FULLSTEP Fig. 5 Process for positioning rotor position.

As mentioned, rotor positioning process is executed when delaytime variable is count down to zero. In one cycle of delaytime variable, rotor is controlled to move 1 full step or 1 micro step depends on the size of position deviation. By adjusting the value of delay time variable, the velocity of rotor can be changed. The rotor positioning process only controls the position of rotor, not the velocity of rotor. The second process of control block is used for controlling the velocity of rotor by adjusting the value of delay time variable. In order to perform above process, control block uses Timer interrupt as shown in Fig. 9. At Step 6, control block calculates the current velocity of rotor and the position deviation between current position of rotor and command position. At Step 7, control block decides the value of rotation mode. If position deviation is smaller than threshold (rotor position is near to command position), rotation is set to Stop Mode. If position deviation is larger than threshold value and at that time, velocity of rotor will not reached the maximum velocity of rotor. If it happens, the mode is set to Start Mode. Otherwise, if the velocity of the rotor is equal to maximum speed, then the rotation mode is set to Run Mode. At Step 8, based on the selected rotation mode, control block adjusts the velocity of rotor by changing the delaytime variable. In Start Mode, the velocity will step by step increase every time, when the timer interrupts happen. Control block remains at Start Mode until rotation velocity of rotor reaches the maximum speed after that the rotation mode is set to Run Mode. At Run Mode, rotation velocity is constant at maximum speed until current position of rotor enough closed to the command position. Then control block sets the rotation mode to Stop Mode. In duration of Stop Mode, velocity of rotor will decrease to the initial velocity, until the position of rotor reaches the command position. This timer interrupt happens with periodic of 8ms. It means in every 8ms, the velocity will increase or decrease 1 time. As the second object of this research, the process for applying the PWM technique in control the current flowing into the winding is presented. To rotate the rotor of stepping motor in micro stepping manner, the value of current flowing though windings are controlled as one sine or cosine with correspond to micro step angle. In convention method, to control current, the Digital to Analog Conversion (DAC) method is usually used. By using DAC module, it is easy to interface and control the current by digital system. The control block (5) only stores binary value accordance to value of sine (or cosine) function into memory and extracts this value based on the phase of micro step angle. However, the system is required to consist of ADC module. Otherwise, when the method of PWM is selected, it may have the advantage in case of some Microprocessor having on chip PWM module feature. The basic Ideal of PWM technique is by adjusting the duty cycle of switching pulse which controls on/off the current flow through windings. First, measuring the maximum current flow through the winding when increasing Ontime (or duty cycle) of switching signal (is PWM pulses). Fig. 7 shows the relation between the maximum current versus the duty cycle of switching signal. This graph shows that the current flow in winding is not linearity proportions to the duty cycle of switching signal and other problem is the small value of duty cycle (smaller than 20%). When the duty cycle is small, it makes current is small also, so that it will not affect the torque of the rotor. To avoid these problems, the selected range needs to be on the linearity proportion portion as shown in Fig. 8. Fig. 6 Interrupt for changing velocity of rotor. Fig. 7 Relation between duty cycle and maximum current.

Fig. 8 Selected range is stored in array MeasuredCurrent[NumOfChangeStepDutyCycle]. In Fig. 8, the selected range is from about 15% to 90% value of maximum duty cycle. In order to control the value of current flowing in winding as sine (or cosine) which corresponds to micro step angle, the control block uses a lookup table for duty cycle (7). The lookup table for duty cycle of PWM pulses is built by using graph in Fig. 8 together with sine wave graph in Fig. 9. Fig. 9 is graph showing the sine wave which is divided into 64 steps. This will be used as referring value of sine in process of building the lookup table for micro stepping control. The two graphs are stored corresponding in two arrays. The algorithm for building, this lookup table is presented by following pseudo (Table 1). The result of this iteration is one array LookupTableOut[NumOfMicrostep], which contains the value of corresponding duty cycle corresponding to phase value in each micro step position. The value of duty cycle in this table specifies value of current flow in winding. Fig. 10 shows the content of the LookupTableOut[] array. By the above process, PWM technique can be used to perform Microstep controlling. This process can avoid the nonlinear problem of relation between duty cycles versus the current flow in windings. 5. CONCLUSION This paper has presented two aspects in controlling stepping motor. Firstly, this paper proposes one solution for increasing the rotation speed of stepping motor by combining both micro stepping and full stepping control method. This combination can avoid the fluctuation when motor stopping (hunting problem). Secondly, it shows how to implement the PWM technique in micro stepping control. ACKNOWLEDGEMENTS Fig. 9 Graph for referring current is stored in array DesiredCurrent[NumOfMicrostep] Fig. 10 Content of the LookupTableOut[] array. This work was supported by the Korea Science and Engineering Foundation (KOSEF), through the Automation Laboratory at SungKyunKwan University. REFERENCES [1] SangHoon Chu, InJoong Ha, SungJoon Lee and Joon Hyuk Kang, FeedbackLinearizing Control of Hybrid Step Motor IEEE, pp. 20392044, 1994. [2] J. B. Grimbleby Simple algorithm for closed loop control of stepping motor IEEE Proc.Electr. Power Appl. Vol. 142, No. 1, pp. 513 January 1995. [3] Akihiko Hoda and Kzuo Abe, Control apparatus for position control motor United States Patent, Pat. Num. 6121744, Sep. 19, 2000. [4] Noriaki Ito, Soichi Hiramatsu, Motor driving device United States Patent, Pat. Num. 5150030, Sep. 22, 1992. [5] Robert P. Callaway, Vancouver and Wash, Closed loop method and apparatus for controlling acceleration and velocity of a stepper motor United States Patent, Pat. Num. 5663624, Sep. 2, 1997. Table 1 Pseudo code of Lookup table building algorithm For (i = 0 to NumOfMicrostep) For (j = 0 to NumOfChangeStepDutyCycle) If (DesiredCurrent[i] MeasuredCurrent[j]) LookupTableOut[i]:=j