International Journal of Advance Engineering and Research Development Volume 2,Issue 7, July -2015 @IJAERD-2015, All rights Reserved 126 Scientific Journal of Impact Factor(SJIF): 3.134 e-ISSN(O): 2348-4470 p-ISSN(P): 2348-6406 Control Robotic Module using LIFA Vatsal Shah1 1 Electronics & Communication Department, Indus University Abstract —For years, LabVIEW has enabled engineers and scientists to develop sophisticated autonomous systems. At its core, Lab VIEW is widely used for sensor and actuator connectivity and currently offers more than 8000 drivers for measurement devices. Furthermore, with new libraries for autonomy and an entirely new suite of robotics-specific sensor and actuator drivers, LabVIEW provides all of the necessary tools for robotics development. The DC Motor is an attractive piece of equipment in many industrial applications requiring variable speed and load characteristics due to its ease of controllability. Speed of a DC motor varies proportional to the input voltage. With a fixed supply voltage the speed of the motor can be changed. This paper focuses on controlling the speed and direction of a Robot using PWM technique (varying duty cycle of a square wave) and Arduino. The four different keys are assigned for the forward, backward, left and right movement and it is controlled by using LabVIEW interface Arduino (LIFA). Keywords- LabVIEW, Arduino, DC Motor, PWM Control, L239D Driver IC, LIFA I. INTRODUCTION The main control has been designed using LabVIEW. LabVIEW (stands for Laboratory Virtual Instrumentation Engineering Workbench) is a system design platform and development environment for a visual programming language from National Instruments, USA. Interfacing LabVIEW with Arduino is done through LabVIEW Interface Arduino (LIFA). LIFA allows user to control sensors and acquire data through Arduino MCU using the graphical programming environment of LabVIEW. By utilising the power of LabVIEW running on a computer with I/O and expanda bility of Arduino platform, user can create many application. [1] DC motors are used for certain applications where ac motors cannot fulfil the need. They are in general much more adaptable to adjustable speed drives than ac motors which are associated with a constant speed rotating fields. Indeed this susceptibility of dc motors to adjust their operating speed over wide ranges and by a variety of methods is one of the important reasons for strong competitive position in modern industrial drives. There are many different ways to control the speed of dc motors but one very simple and easy way is to use Pulse Width Modulation. The speed control can be made based on microcontroller. The LabVIEW Interface for Arduino (LIFA) control the speed and direction of a dc motor. Arduino microcontroller acts as an I/O engine that interfaces with LabVIEW VIs through a serial connection. This kind of system is flexible, chip and easy to modify. So the objective of this paper is to design and develop a LIFA based speed and direction control of robot. II. DESIGN OVERVIEW A number of software and hardware implementation techniques were used to design and develop the system. Fig. 1 shows the block diagram of our system. We used a 12v dc motor, L293D IC and Arduino to develop our system. Figure 1. Block Diagram of system A. PWM CONTROL One simple and easy way to control the speed of a motor is to regulate the amount of voltage across its terminals and this can be achieved using “Pulse Width Modulation” or PWM. It works by driving the motor with a series of “ON- OFF” pulses and varying the duty cycle, the fraction of time that the output voltage is “ON” compared to when it is “OFF”, of the pulses while keeping the frequency constant. The power applied to the motor can be controlled by varying the width of these applied pulses and thereby varying the average DC voltage applied to the motors terminals. By changing BATTERY Motor Driving Circuit (L239D) MOTOR PC LABVIEW ARDUINO
International Journal of Advance Engineering and Research Development (IJAERD) Volume 2,Issue 7, July -2015, e-ISSN: 2348 - 4470 , print-ISSN:2348-6406 @IJAERD-2015, All rights Reserved 127 or modulating the timing of these pulses the speed of the motor can be controlled, i.e. the longer the pulse is “ON”, the faster the motor will rotate and likewise, the shorter the pulse is “ON” the slower the motor will rotate. [2] Figure 2. Pulse width modulated waveform B. MOTOR DRIVE IC CONFIGURATION To drive dc motor need driving circuit. Use L293D chip which is very easy and safe. It is a 16-pin chip. The pin configuration of a L293D along with the behaviors of motor for different input conditions is given in fig. 3. The L293D is designed to provide bidirectional drive currents of up to 600-mA at voltages from 4.5 V to 36 V. Drivers are enabled in pairs, with drivers 1 and 2 enabled by 1,2EN and drivers 3 and 4 enabled by 3,4EN. When an enable input is high, the associated drivers are enabled. Also their outputs and inputs are active. When the enable input is low, those drivers are disabled, and their outputs are off. With the proper data inputs, each pair of drivers forms a full-H (or bridge). [3] [6] Figure 3. (A) Pin configuration of L293D and (B) Behaviors of motor for different input conditions C. L239D IC CONFIGURATION The dc motor and L293D IC has been connected according to the fig. 3. The circuit schematic as shown has been designed using Proteus 7. Figure 4. DC motor and L293D IC interfacing circuit III. APPLICATION SOFTWARE
International Journal of Advance Engineering and Research Development (IJAERD) Volume 2,Issue 7, July -2015, e-ISSN: 2348 - 4470 , print-ISSN:2348-6406 @IJAERD-2015, All rights Reserved 128 Laboratory Virtual Instrument Engineering Workbench, popularly known as LabVIEW, is a system design platform and development environment for a visual programming language from National Instrument (NI). LabVIEW programs are called virtual instruments or VIs. LabVIEW works on the principle of data flow. It is basically a graphical programming language in which the user can set up the program to manipulate and store data. There are three important components in LabVIEW programming: Front Panel, Block Diagram, and Icons and Connectors. [8] A. FRONT PANEL DESIGN Front Panel is used to simulate the process or virtual resting area. It serves as the user interface (UI). We can control the action or simulate the process by clicking Run or Tools bar. Controls are knobs, push buttons, dials, and other input devices. Indicators are graphs, LEDs, and other displays. These VI’s will be burnt in the Arduino microcontroller using LIFA_Base and interfaced with the dc motor. Set by the user will be fed into the Arduino PWM pins. Arduino will pass those PWM pulses to the motor along with supply voltage that moves the motor. The movement of the robot is controlled by assigning keys in the lab view front panel. In the lab view four different push buttons are assigned for the forward, backward, left and right movement of the robot. The front panel consists of a MASTER STOP button to stop the entire program if necessary. Duty cycle can be varied from 0 -100% by varying the user controlled interactive graphical dial on the front panel. Figure 5. The Front Panel of our system B. BLOCK DIAGRAM CONFIGURATION Block diagram is used to program the process for the purpose of getting required or desired output. It contains the graphical source code that defines the functionality of the VI. Here, the programming method is graphical, so it is easy to understand, programand is less time- consuming. [4] The following icons are used for configuring the Block Diagramof the above Front Panel:  VISA Resource Name Denotes the serial port to which LabVIEW session is being connected. The input to the VISA Resource Name is the serial port name to which the external device or interface is connected. [5]  Initialization of Arduino Figure 6. Init Initialises the serial port specified by VISA resource name to the specified settings. Wire data to the VISA resource name input to determine the polymorphic instance to use or manually select the instance.
International Journal of Advance Engineering and Research Development (IJAERD) Volume 2,Issue 7, July -2015, e-ISSN: 2348 - 4470 , print-ISSN:2348-6406 @IJAERD-2015, All rights Reserved 129  Set Digital Pin Mode Figure 7. Set Digital Pin Mode Configures the specified digital I/O pin (D0-D13) as either input or output.  Digital Write Pin Figure 8. Digital Write Pin Writes the specified value on the selected digital output pin (D0-D13). The pin must first be configured as output using the Arduino Set Digital Pin Mode VI.  Divide Figure 9. Divide Compute the quotient of the inputs.  While Loop Figure 10. While Loop Repeats the code within its sub diagramunit a specific condition occurs. A while loop always executes at least one time.  Boolean to (0,1) Figure 11. Boolean to (0, 1) Converts a Boolean FALSE or TRUE value to a 16- bit integer with a value of 0 or 1, respectively.  Close
International Journal of Advance Engineering and Research Development (IJAERD) Volume 2,Issue 7, July -2015, e-ISSN: 2348 - 4470 , print-ISSN:2348-6406 @IJAERD-2015, All rights Reserved 130 Figure 12. Close Close the active connection to an Arduino. Icons are used as variables or controllers. There play a vital role in programming. These icons have predefined functions. Wires in LabVIEW used to connect the input to the output. If wire is not connected with all required block diagramterminal VI will not run. C. ARDUINO This is an open source physical computing platform based on a simple microcontroller (MCU) board and a development environment for writing software for the board. ATmega328 is used in Arduino UNO board. It has 14 digital input, output (I/O) pins (of which six can be used as PWM outputs), sixanalogue inputs , power jack, reset button and USB connection. It contains everything that needed to support the MCU; simple connect it to a computer with a USB cable or power it with an AC-to-DC adaptor or battery to get started. [7] In this paper, PWM pins 6 is used to control the speed of the robot and pin 3,4 and 11,12 is used to interface dc motor. The block diagram is shown in Fig.13. Figure 13. Block Diagram of the system IV. RESULT AND ANALYSIS The aim of this paper is to design and develop a LIFA based speed and direction control of Robot. The following test was conducted to evaluate the success of the developed monitoring system. According to the PWM signal, the rotation of the motor has been tested. By increasing or decreasing the Dial (PWM) on the front panel it has been found that the system worked efficiently. Also by selecting four options as forward, reverse, left and right, it has been found that the motor responded very quickly and accurately as shown in TABLE I. TABLE I. Observation of the Motor According to DC MOTOR ITEMS RESPONSE Forward Fine Backward Fine Left Fine Right Fine Table. I shows the observation of Robot in each direction and motor is responded perfectly. I. CONCLUTION AND FUTURE WORK
International Journal of Advance Engineering and Research Development (IJAERD) Volume 2,Issue 7, July -2015, e-ISSN: 2348 - 4470 , print-ISSN:2348-6406 @IJAERD-2015, All rights Reserved 131 This research work illustrates the design and development of a LIFA based speed and direction control of robot. The application of virtual instruments makes data analyzing more accurate. The systemhas been tested for various input values and worked properly. So from the analysis with experimental results we can mention that the designed robot established with LIFA is able to control the speed and direction of the robot very effectively and efficiently. It is possible to develop wireless control for this application, so the user can control the application from anywhere in the room. ACKNOWLEDGMENT I would thankful to National Instrument for providing LabVIEW 2014 Student trial version. I would like to thank Asst. Prof. Bhavin Gajjar, ECE Department who had been guiding throughout the task to complete the work successfully & effectively. REFERENCES [1] National Instruments Corporation (2010) “LabVIEW communications VI reference manual and web services reference manual”. [online] Available: www.ni.com/pdf/manuals/321526b.pdf [2] Pratap Vikhe, Neelam Punjabi, Chandrakant Kadu, “Real Time DC Motor Speed Control using PID Controller in LabVIEW”, International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering (IJAREEIE)Volume 3 Issue 9, September 2014 [3] Md. Selim Reza, Md. Atiar Rahman, Md. Abdullah Al Mamun, Mohaimina Begum, “Design and Development of LabVIEW Based DC Motor Speed and Direction Control System” International Journal of Engineering Research & Technology (IJERT) Vol. 4 Issue 05, May-2015 [4] Dinu Mathew, “Multi Robot Exploration System for Industrial Environment Parameter Analysing Using Labview” International Journal of Engineering Research & Technology (IJERT) Vol. 2 Issue 4, April – 2013 [5] L293D datasheet. Website: www.ti.com [6] Arduino Website: www.arduino.cc [7] National Instruments Website: www.ni.com

Control robotic module using LIFA

  • 1.
    International Journal ofAdvance Engineering and Research Development Volume 2,Issue 7, July -2015 @IJAERD-2015, All rights Reserved 126 Scientific Journal of Impact Factor(SJIF): 3.134 e-ISSN(O): 2348-4470 p-ISSN(P): 2348-6406 Control Robotic Module using LIFA Vatsal Shah1 1 Electronics & Communication Department, Indus University Abstract —For years, LabVIEW has enabled engineers and scientists to develop sophisticated autonomous systems. At its core, Lab VIEW is widely used for sensor and actuator connectivity and currently offers more than 8000 drivers for measurement devices. Furthermore, with new libraries for autonomy and an entirely new suite of robotics-specific sensor and actuator drivers, LabVIEW provides all of the necessary tools for robotics development. The DC Motor is an attractive piece of equipment in many industrial applications requiring variable speed and load characteristics due to its ease of controllability. Speed of a DC motor varies proportional to the input voltage. With a fixed supply voltage the speed of the motor can be changed. This paper focuses on controlling the speed and direction of a Robot using PWM technique (varying duty cycle of a square wave) and Arduino. The four different keys are assigned for the forward, backward, left and right movement and it is controlled by using LabVIEW interface Arduino (LIFA). Keywords- LabVIEW, Arduino, DC Motor, PWM Control, L239D Driver IC, LIFA I. INTRODUCTION The main control has been designed using LabVIEW. LabVIEW (stands for Laboratory Virtual Instrumentation Engineering Workbench) is a system design platform and development environment for a visual programming language from National Instruments, USA. Interfacing LabVIEW with Arduino is done through LabVIEW Interface Arduino (LIFA). LIFA allows user to control sensors and acquire data through Arduino MCU using the graphical programming environment of LabVIEW. By utilising the power of LabVIEW running on a computer with I/O and expanda bility of Arduino platform, user can create many application. [1] DC motors are used for certain applications where ac motors cannot fulfil the need. They are in general much more adaptable to adjustable speed drives than ac motors which are associated with a constant speed rotating fields. Indeed this susceptibility of dc motors to adjust their operating speed over wide ranges and by a variety of methods is one of the important reasons for strong competitive position in modern industrial drives. There are many different ways to control the speed of dc motors but one very simple and easy way is to use Pulse Width Modulation. The speed control can be made based on microcontroller. The LabVIEW Interface for Arduino (LIFA) control the speed and direction of a dc motor. Arduino microcontroller acts as an I/O engine that interfaces with LabVIEW VIs through a serial connection. This kind of system is flexible, chip and easy to modify. So the objective of this paper is to design and develop a LIFA based speed and direction control of robot. II. DESIGN OVERVIEW A number of software and hardware implementation techniques were used to design and develop the system. Fig. 1 shows the block diagram of our system. We used a 12v dc motor, L293D IC and Arduino to develop our system. Figure 1. Block Diagram of system A. PWM CONTROL One simple and easy way to control the speed of a motor is to regulate the amount of voltage across its terminals and this can be achieved using “Pulse Width Modulation” or PWM. It works by driving the motor with a series of “ON- OFF” pulses and varying the duty cycle, the fraction of time that the output voltage is “ON” compared to when it is “OFF”, of the pulses while keeping the frequency constant. The power applied to the motor can be controlled by varying the width of these applied pulses and thereby varying the average DC voltage applied to the motors terminals. By changing BATTERY Motor Driving Circuit (L239D) MOTOR PC LABVIEW ARDUINO
  • 2.
    International Journal ofAdvance Engineering and Research Development (IJAERD) Volume 2,Issue 7, July -2015, e-ISSN: 2348 - 4470 , print-ISSN:2348-6406 @IJAERD-2015, All rights Reserved 127 or modulating the timing of these pulses the speed of the motor can be controlled, i.e. the longer the pulse is “ON”, the faster the motor will rotate and likewise, the shorter the pulse is “ON” the slower the motor will rotate. [2] Figure 2. Pulse width modulated waveform B. MOTOR DRIVE IC CONFIGURATION To drive dc motor need driving circuit. Use L293D chip which is very easy and safe. It is a 16-pin chip. The pin configuration of a L293D along with the behaviors of motor for different input conditions is given in fig. 3. The L293D is designed to provide bidirectional drive currents of up to 600-mA at voltages from 4.5 V to 36 V. Drivers are enabled in pairs, with drivers 1 and 2 enabled by 1,2EN and drivers 3 and 4 enabled by 3,4EN. When an enable input is high, the associated drivers are enabled. Also their outputs and inputs are active. When the enable input is low, those drivers are disabled, and their outputs are off. With the proper data inputs, each pair of drivers forms a full-H (or bridge). [3] [6] Figure 3. (A) Pin configuration of L293D and (B) Behaviors of motor for different input conditions C. L239D IC CONFIGURATION The dc motor and L293D IC has been connected according to the fig. 3. The circuit schematic as shown has been designed using Proteus 7. Figure 4. DC motor and L293D IC interfacing circuit III. APPLICATION SOFTWARE
  • 3.
    International Journal ofAdvance Engineering and Research Development (IJAERD) Volume 2,Issue 7, July -2015, e-ISSN: 2348 - 4470 , print-ISSN:2348-6406 @IJAERD-2015, All rights Reserved 128 Laboratory Virtual Instrument Engineering Workbench, popularly known as LabVIEW, is a system design platform and development environment for a visual programming language from National Instrument (NI). LabVIEW programs are called virtual instruments or VIs. LabVIEW works on the principle of data flow. It is basically a graphical programming language in which the user can set up the program to manipulate and store data. There are three important components in LabVIEW programming: Front Panel, Block Diagram, and Icons and Connectors. [8] A. FRONT PANEL DESIGN Front Panel is used to simulate the process or virtual resting area. It serves as the user interface (UI). We can control the action or simulate the process by clicking Run or Tools bar. Controls are knobs, push buttons, dials, and other input devices. Indicators are graphs, LEDs, and other displays. These VI’s will be burnt in the Arduino microcontroller using LIFA_Base and interfaced with the dc motor. Set by the user will be fed into the Arduino PWM pins. Arduino will pass those PWM pulses to the motor along with supply voltage that moves the motor. The movement of the robot is controlled by assigning keys in the lab view front panel. In the lab view four different push buttons are assigned for the forward, backward, left and right movement of the robot. The front panel consists of a MASTER STOP button to stop the entire program if necessary. Duty cycle can be varied from 0 -100% by varying the user controlled interactive graphical dial on the front panel. Figure 5. The Front Panel of our system B. BLOCK DIAGRAM CONFIGURATION Block diagram is used to program the process for the purpose of getting required or desired output. It contains the graphical source code that defines the functionality of the VI. Here, the programming method is graphical, so it is easy to understand, programand is less time- consuming. [4] The following icons are used for configuring the Block Diagramof the above Front Panel:  VISA Resource Name Denotes the serial port to which LabVIEW session is being connected. The input to the VISA Resource Name is the serial port name to which the external device or interface is connected. [5]  Initialization of Arduino Figure 6. Init Initialises the serial port specified by VISA resource name to the specified settings. Wire data to the VISA resource name input to determine the polymorphic instance to use or manually select the instance.
  • 4.
    International Journal ofAdvance Engineering and Research Development (IJAERD) Volume 2,Issue 7, July -2015, e-ISSN: 2348 - 4470 , print-ISSN:2348-6406 @IJAERD-2015, All rights Reserved 129  Set Digital Pin Mode Figure 7. Set Digital Pin Mode Configures the specified digital I/O pin (D0-D13) as either input or output.  Digital Write Pin Figure 8. Digital Write Pin Writes the specified value on the selected digital output pin (D0-D13). The pin must first be configured as output using the Arduino Set Digital Pin Mode VI.  Divide Figure 9. Divide Compute the quotient of the inputs.  While Loop Figure 10. While Loop Repeats the code within its sub diagramunit a specific condition occurs. A while loop always executes at least one time.  Boolean to (0,1) Figure 11. Boolean to (0, 1) Converts a Boolean FALSE or TRUE value to a 16- bit integer with a value of 0 or 1, respectively.  Close
  • 5.
    International Journal ofAdvance Engineering and Research Development (IJAERD) Volume 2,Issue 7, July -2015, e-ISSN: 2348 - 4470 , print-ISSN:2348-6406 @IJAERD-2015, All rights Reserved 130 Figure 12. Close Close the active connection to an Arduino. Icons are used as variables or controllers. There play a vital role in programming. These icons have predefined functions. Wires in LabVIEW used to connect the input to the output. If wire is not connected with all required block diagramterminal VI will not run. C. ARDUINO This is an open source physical computing platform based on a simple microcontroller (MCU) board and a development environment for writing software for the board. ATmega328 is used in Arduino UNO board. It has 14 digital input, output (I/O) pins (of which six can be used as PWM outputs), sixanalogue inputs , power jack, reset button and USB connection. It contains everything that needed to support the MCU; simple connect it to a computer with a USB cable or power it with an AC-to-DC adaptor or battery to get started. [7] In this paper, PWM pins 6 is used to control the speed of the robot and pin 3,4 and 11,12 is used to interface dc motor. The block diagram is shown in Fig.13. Figure 13. Block Diagram of the system IV. RESULT AND ANALYSIS The aim of this paper is to design and develop a LIFA based speed and direction control of Robot. The following test was conducted to evaluate the success of the developed monitoring system. According to the PWM signal, the rotation of the motor has been tested. By increasing or decreasing the Dial (PWM) on the front panel it has been found that the system worked efficiently. Also by selecting four options as forward, reverse, left and right, it has been found that the motor responded very quickly and accurately as shown in TABLE I. TABLE I. Observation of the Motor According to DC MOTOR ITEMS RESPONSE Forward Fine Backward Fine Left Fine Right Fine Table. I shows the observation of Robot in each direction and motor is responded perfectly. I. CONCLUTION AND FUTURE WORK
  • 6.
    International Journal ofAdvance Engineering and Research Development (IJAERD) Volume 2,Issue 7, July -2015, e-ISSN: 2348 - 4470 , print-ISSN:2348-6406 @IJAERD-2015, All rights Reserved 131 This research work illustrates the design and development of a LIFA based speed and direction control of robot. The application of virtual instruments makes data analyzing more accurate. The systemhas been tested for various input values and worked properly. So from the analysis with experimental results we can mention that the designed robot established with LIFA is able to control the speed and direction of the robot very effectively and efficiently. It is possible to develop wireless control for this application, so the user can control the application from anywhere in the room. ACKNOWLEDGMENT I would thankful to National Instrument for providing LabVIEW 2014 Student trial version. I would like to thank Asst. Prof. Bhavin Gajjar, ECE Department who had been guiding throughout the task to complete the work successfully & effectively. REFERENCES [1] National Instruments Corporation (2010) “LabVIEW communications VI reference manual and web services reference manual”. [online] Available: www.ni.com/pdf/manuals/321526b.pdf [2] Pratap Vikhe, Neelam Punjabi, Chandrakant Kadu, “Real Time DC Motor Speed Control using PID Controller in LabVIEW”, International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering (IJAREEIE)Volume 3 Issue 9, September 2014 [3] Md. Selim Reza, Md. Atiar Rahman, Md. Abdullah Al Mamun, Mohaimina Begum, “Design and Development of LabVIEW Based DC Motor Speed and Direction Control System” International Journal of Engineering Research & Technology (IJERT) Vol. 4 Issue 05, May-2015 [4] Dinu Mathew, “Multi Robot Exploration System for Industrial Environment Parameter Analysing Using Labview” International Journal of Engineering Research & Technology (IJERT) Vol. 2 Issue 4, April – 2013 [5] L293D datasheet. Website: www.ti.com [6] Arduino Website: www.arduino.cc [7] National Instruments Website: www.ni.com