ISSN ONLINE(2278-8875) PRINT (2320-3765)

All submissions of the EM system will be redirected to Online Manuscript Submission System. Authors are requested to submit articles directly to Online Manuscript Submission System of respective journal.

High Precision Stepper Motor Controller Implementation on FPGA with GUI on LabVIEW

Arvind Kumar1 and Mrs. M. Valarmathi2
  1. M.Tech Scholar [VLSI Design], Dept. of ECE, SRM University, Chennai, India
  2. Assistant Professor, Dept. of ECE, SRM University, Chennai, India
Related article at Pubmed, Scholar Google

Visit for more related articles at International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering

Abstract

Wireless stepper motor controller designed using Very High Speed Integrated Circuit Hardware Description Language (VHDL) and is implemented on SPARATAN Field Programmable Gate Array (FPGA). The proposed motor controller is controlled by using Pulse Width Modulation Technique (PWM) thus giving the very high precision. Due to high torque of stepper motor it is capable of handling the big industrial automation system. In this system GUI will be designed using LABVIEW to give the control parameter to the wireless connected stepper motor. Same system can also be used in the mobile robot, functioning in the hazardous area and can be very well equipped with the nuclear reactor to control the movement of control rod. One of the best use is to track solar energy because the resolution of stepper motor will be highly increased i.e. 0.915˚.

Keywords

Field Programmable Gate Array (FPGA), Pulse Width Modulation Technique (PWM), High Precision, Wireless Motor Control, Graphical User Interface (GUI), Laboratory Virtual Instrumental Engineering Workbench (LABVIEW).

INTRODUCTION

Here we have used wireless stepper motor controller designed using Very High Speed Integrated Circuit Hardware Description Language (VHDL) and is implemented on XILINX SPARATAN Field Programmable Gate Array (FPGA). The proposed motor controller is controlled by using Pulse Width Modulation Technique (PWM) thus giving the very high precision to track solar energy because the resolution of stepper motor will be highly increased i.e. 0.915˚. Here no need of light sensor, because of high precision of motor it will be acting like a sensor giving more efficient and power optimized system than the earlier proposed system. The overall power collection efficiency increases from only 45% for a fixed panel to over 60% for the same panel on the tracking system. Due to high torque of stepper motor it is capable of handling the big solar panel. In this system Graphic User Interface will be used using LABVIEW to give the control parameter to the wireless connected stepper motor. Same system can also be used in the mobile robot, functioning in the hazardous area and can be very well equipped with the nuclear reactor to control the movement of control rod.

PREVIOUS WORK

A Stepper motor controllers implemented using integrated circuit presented in [12] uses microcontrollers, AT89C51. These models use three phase waveform generator to generate PWM signal. However they are customized for certain application only. An open-loop stepper motor driver based on FPGA implementation is presented at [11]. The paper proposes to adjust the duty cycle of the current and voltage inputted into each phase of the motor with an Analogue to Digital Converter (ADC) and sampling regularly for precise positioning purpose. This design involves a numbers of discrete components which are H-bridge circuit, amplifier, anti-aliasing filter and ADC. A Novel stepper motor controller based on FPGA hardware implementation is presented at [10]. The paper proposes to use velocity profile generator to calculate the index pulses through a time lagging sequence generation algorithm. The latest paper [4] is a cost effective wireless reconfigurable controller that uses PWM technique to generate desired signal to control the stepper motor. Here PWM is achieved by manipulating system clock that generates signals necessary to precisely position the motor. While in this paper PWM is generated by algorithm written for counter module in the FPGA kit and to precisely control the motor the PWM waveform is varied by increasing the bit count of the counter, thus increasing the bit count of the counter results in manipulation of duty cycle of the PWM waveform.
Pulse-width modulation (PWM) or pulse-duration modulation (PDM) is a modulation technique that conforms the width of the pulse, formally the pulse duration. , its main use is to allow the control of the power supplied to electrical devices, especially to inertial loads such as motors. The term duty cycle describes the proportion of 'on' time to the regular interval or 'period' of time; a low duty cycle corresponds to low power, because the power is off for most of the time. Duty cycle is expressed in percent, 100% being fully on.
image

STEPPER MOTOR MODEL

Stepper motor is a brushless, open-looped electromechanical device, which can rotate, in a small resolution of angle. It is highly effective in motion control application for high precision and high performance of torque control. Instead, it is low cost, simple and offers better torque performance over wider speed ranges [3]. Stepper motor are used in wide range of precise motion and measurement applications such as nuclear power plant, aeronautics, robotic, automotive, medical, manufacturing industry etc. An ideal example is the pick and place machines used in Surface Mount Technology (SMT) line. Besides, stepper motor is also applied remotely in hazardous and extreme environment such as volcanic region, atomic or chemical plant, narrow spaces such as in a collapsed building or underground, mountain region and robotic application such as flying robot. A stepper motor is an electrically powered motor that creates rotation from electrical current driven into the motor. Physically, stepper motors can be large but are often small enough to be driven by current on the order of milliampere. Fig 2 shows the difference between stepper and DC motor. Current pulses are applied to the motor, and this generates discrete rotation of the motor shaft. This is unlike a DC motor that exhibits continuous rotation. Although it is possible to drive a stepper motor in a manner where it has near continuous rotation, doing so requires more finesse of the input waveform that drives the stepper motor.
image
The number of input electrical pulses is directly proportional to the angular displacement. Where as the pulse width determines the angular speed of the stepper motor. Thus by controlling the pulse width and the number of the pulses it is possible to achieve the desired angle of rotation.
image

PROPOSED ARCHITECTURE

Proposed architecture shown in the figure 3 consists of Bluetooth adapter module and FPGA development kit. The GUI is designed using LABVIEW is used to control different-different parameter of the stepper motor [5]. The GUI is displayed on the system monitor, the integrated Bluetooth module of the system acts as transmitter that transmit the control signal to the Bluetooth receiver module, now the control signal received at the Bluetooth receiver module is transmitted to the FPGA kit via RS232 cable. Now according to the command signal sent by the operator the ASCII code of that particular command will be matched to the VHDL module dumped in the FPGA kit and that specific module will be executed to transmit the signal to final control element.
image

GUI FOR STEPPER MOTOR CONTROLLER

In order to control the stepper motor precisely the graphical user interface is designed in the laptop using NI LABVIEW Ver 8.6. So GUI will consist of „3‟ control namely for-
• Angle setup
• Direction setup (forward and reverse)
• And last one to setup speed at which motor shaft should rotate.
Now, this control signal will be transmitted to FPGA kit, from where the particular VHDL code will be triggered to get the desired output from stepper motor. This control signal will be transmitted to FPGA kit via portable USB Bluetooth transmitter will serialize the control signal coming from the laptop and will send it to receiver, where the signal will be received.
The receiver will consist of an encoder circuit that will encode the control signal, this control signal will be transmitted to the FPGA kit via DB9 cable. And from the FPGA kit, driver signal will be boosted using the driver circuit and then it will be given to stepper motor, so that it should be able to drive stepper motor.
image

VHDL MODEL FOR STEPPER MOTOR CONTROLLER

In stepper motor, the main parameter to be controlled is angular speed, direction and angular displacement. This information will be transmitted to the stepper motor controller wirelessly at the frequency of 115 KHz using Bluetooth controller. The information received at the controller is decoded using the Bluetooth module followed by RS232 controller designed in VHDL. And then the data is fed to the signal encoder that converts the data to an understandable format by the motor driver module. The RTL view of the stepper motor controller is shown in figure 4.
For the receiver module, information from the GUI is fed into RS-232 controller via the input Rxd at a designed baud rate of 115,000 bits per second. The information is then concatenated and shifted in a buffer register for eight times and is saved as an 8-bits data.
For the transmitter module, when send is triggered, the data is assigned into an eight bits register. Each bit in the register is sent to Txd output at the designed baud rate is 115,000 bits per second. After all the eight bits is transmitted, the module terminates the transmission until next send is observed.
image

RESULT

The VHDL design of the controller is implemented on the Spartan 3E FPGA. The result shows that the desired angular displacement can be obtained by setting the number of pulses count that is internally calculated by the algorithm, whenever the user inputs the desired angular displacement value that he wants. And if the pulses are given in the coil in the specific sequence the stepper motor rotates in one direction, otherwise if the direction of sequence is reversed then it rotates in reverse of the previous direction. On testing, the controller is able to communicate wirelessly with the GUI system for a distance of 10m.
image
image
The table 1 shows the design utilization summary of the proposed system using Xilinx ISE 13.1, after design implementation, we can verify the device utilization by reviewing the “Design Summary” section. Some variation is expected between the utilization reported after Synthesis and the utilization reported after Map. For example, with Slice Logic Distribution, Synthesis estimates how the design will be packed and placed into the target architecture, and map provides details about the utilization after packing and placement have occurred. In addition, setting physical synthesis Map Properties, such as Global Optimization, Register Duplication, or Logic Optimization, may contribute to differences in device utilization.

CONCLUSION

This paper describes a stepper motor controller designed using VHDL and implemented in FPGA. The system is capable of controlling the stepper motor in terms of step angle at 0.915˚. In addition to this we can make it to rotate at different – different speeds, displacement clockwise and anticlockwise direction wirelessly. Here GUI is designed for inputting the user defined control parameter to faithfully control the system in industrial automation.
One of the major advantages of using LABVIEW is, it acts as a virtual instrument, thus reduces the cost of project by eliminating the necessity of making control panel. It is user-friendly reduces programming complexity and errors can be easily identified and rectified.

ACKNOWLEDGMENT

I sincerely acknowledge in all earnestness, the patronage provided by our Director Dr.C.Muthamizhchelvan, Engineering & Technology, to endeavour this project. I wish to express my deep sense of gratitude and sincere thanks to our Professor and Head of the Department Dr. S. Malarvizhi, for her encouragement, timely help and advice offered to me. My sincere thanks to our project coordinator Mr. AVM Manikandan, Assistant Professor, Electronics and Communication Department, for his encouragement and advice. I am very grateful to my guide Mrs. M. Valarmathi, who has guided with inspiring dedication, untiring efforts and tremendous enthusiasm in making this project successful and presentable.
I extend my gratitude and heart full thanks to all the staff and non-teaching staff of Electronics and Communication Department and to my parents and friends, who extended their kind co-operation by means of valuable suggestions and timely help during the course of this project work.

References

  1. E Weise, R Klockner, R Kniel, Ma Sheng Hong, Qin Jian Ping, “Remote Power Supply Using Wind and Solar energy – a Sino-German Technical Cooperation Project”, Beijing International Conference on Wind Energy,Beijing, 1995
  2. Damm, J. Issue #17, June/July 1990. An active solar tracking system, HomeBrew Magazine.
  3. Stepper Motor, http://en.wikipedia.org/wiki/Stepper_motor
  4. Nandha Kumar Thulasiraman., Haider A.F Mohamed & Yearp Soo Cheng "A Reconfigurable Wireless Stepper Motor Controller Based On FPGA Implementation”, IEEE symposium on industrial Electronic and Applications, pp.585-590, October 3-5, 2010
  5. LabVIEW based advanced Instrumentation System, Springer.
  6. abVIEW VISA Tutorial, www.ni.com/support/visa/vintro.pdf
  7. How Stepper motors work – Images SI, Inc, www.imagesco.com/picstepper/02.html
  8. Mazidi, Mazidi and McKinlay, The 8051 Microcontroller and Embedded Systems : Using Assembly and C.
  9. Xilinx ISE 10.1 Quick Start Tutorial, www.xilinx.com/itp/xilinx10/books/docs/qst/qst.pdf.
  10. Daniel Carrica, Marcos A. Funes and Sergio A. Gonzalez, “Novel Stepper Motor Controller Based on FPGA Implementation”, IEEE/ASME Transactions On Mechatronics, Vol 8, No.1, March 2003
  11. Ngoc Quy Le and Jai Wook Jeon, “An Open-loop Stepper Motor Driver Based on FPGA”, International Conference on Control, Automation and Systems, Oct. 17-20, 2007
  12. H.B. Ling, “The Design of Constant Torque Microstepper Driving Circuit for Stepping Motors Based on AT89C51”, Electronic Engineer, vol.11, no.14, pp.56-61, 2002