REAL TIME ORIENTATION CONTROL AND ANALYSIS OF A REMOTELY OPERATED VEHICLE USING INTERFACE
OF MATLAB AND MICROCONTROLLER
TAN CHONG KAI
This report is submitted in partial fulfillment of the requirements for the award of Bachelor of Electronic Engineering (Computer Engineering) With Honours
Faculty of Electronic and Computer Engineering Universiti Teknikal Malaysia Melaka
ii
UNIVERSTI TEKNIKAL MALAYSIA MELAKA
FAKULTI KEJURUTERAAN ELEKTRONIK DAN KEJURUTERAAN KOMPUTER
BORANG PENGESAHAN STATUS LAPORAN
PROJEK SARJANA MUDA II
Tajuk Projek : Real Time Orientation and Analysis of a Remotely Operated Vehicle Using Interface of MATLAB and Microcontroller.
Sesi Pengajian : 2009/2010
Saya TAN CHONG KAI
mengaku membenarkan Laporan Projek Sarjana Muda ini disimpan di Perpustakaan dengan syarat-syarat kegunaan seperti berikut:
1. Laporan adalah hakmilik Universiti Teknikal Malaysia Melaka.
2. Perpustakaan dibenarkan membuat salinan untuk tujuan pengajian sahaja.
3. Perpustakaan dibenarkan membuat salinan laporan ini sebagai bahan pertukaran antara institusi pengajian tinggi.
4. Sila tandakan ( √ ) :
SULIT* (Mengandungi maklumat yang berdarjah keselamatan atau kepentingan Malaysia seperti yang termaktub di dalam AKTA
RAHSIA RASMI 1972)
TERHAD* (Mengandungi maklumat terhad yang telah ditentukan oleh organisasi/badan di mana penyelidikan dijalankan)
TIDAK TERHAD
Disahkan oleh:
__________________________ ___________________________________ (TANDATANGAN PENULIS) (COP DAN TANDATANGAN PENYELIA)
Alamat Tetap:
Tarikh: ……….. Tarikh: ………..
iii
I hereby declare that I have read this project report and in my opinion this project report is sufficient in terms of scope and quality for the award of the Bachelor
Degree Honour of Electronic & Computer Engineering.
Signature :
iv
I declare that this project report entitled “Real Time Orientation and Analysis of a Remotely Operated Vehicle Using Interface of MATLAB and Microcontroller” is the result of my own research except as cited in the references. The project report has
not been accepted for any degree and is not concurrently submitted in candidature of any other degree.
Signature :
Name : TAN CHONG KAI
v
Specially. To my beloved parents To my kind brothers and sisters And not forgetting to all friends
For their
vi
ACKNOWLEDGEMENTS
First at all, I would like to admire and express my thankfulness to our God because I can finish this 40 weeks or two semester long period final year project at Universiti Tecknikal Malaysia Malaka (UTeM) and the report is submitted exact on time. Base on that, I already fulfill the requirement of the BENU4583 and BENU4983.
Next, I would like to state my gratitude to all people that have assist and guide me in this final year project or Project Saujana Muda (PSM). My PSM supervisor, Madam Wong Yan Chiew does help me a lot to scheduling mile stone and increasing my spirit strange to accomplish the work. She is brilliant who color the PSM group under her guidance, which consists of 6 students in the same course.
Madam Wong had patiently guides me to the actual way to finish this project. She is the person who masters the knowledge of Genetic Algorithm, which brings and provides us a lot of extra knowledge. Moreover, I am also indebted to UTeM for their encouragement and facilities support during my research. Not forgetting to all fellow postgraduate students and friends for their moral support and helping me during this entire two semesters. Without their continued support and interest, this project would not have been realized.
vii
ABSTRACT
viii
ABSTRAK
ix
TABLE OF CONTENT
CHAPTER TITLE PAGE
PROJECT TITLE i
PROJECT STATUS FORM ii
DECLARATION iii
DEDICATION v
ACKNOWLEDGEMENTS vi
ABSTRACT vii
ABSTRAK viii
TABLE OF CONTENTS ix
LIST OF TABLES xiii
LIST OF FIGURES xiv
LIST OF ABBREVIATIONS LIST OF APPENDICES
xvi xvii
I INTRODUCTION
1.1 Introduction 1
1.2 Objective 2
1.3 Problem Statement 3
1.4 Scope of Work 3
1.5 Thesis Structure 4
II LITERATURE REVIEW
2.1 Introduction 6
x
2.2.1 Serial Communication, RS232 and MAX232 7
A. 2.2.2 USB-RS232 Converter Communication 9
B. 2.2.3 Parallel Communication 10
C. 2.2.4 Interfaces Cable 14
D. 2.2.5 Transmitted Voltage 15
2.3 Microcontroller PIC16F877A 16
2.4 Stability Orientation Control 17
2.4.1 Accelerometer 17
2.5 MATLAB 18
2.5.1 Test and Measurement Tool (TMTOOL) 19 2.5.2 MATLAB Graphical User Interface 19
2.6 Hyperterminal 20
2.7 Conclusion 22
III PROJECT METHODOLOGY
3.1 Introduction 23
3.2 Flow Chart 25
3.3 Methodology 26
3.4 Conclusion 28
IV GENETIC CIRCUIT OPTIMIZER DEVELOPMENT
4.1 Introduction 29
4.2 Initial Analysis of System 29
4.2.1 Serial Port 29
4.2.2 Parallel Port 30
4.2.3 USB-RS232 Converter 31
xi
4.3.1 Interrupt and Shake on USB-RS232 Converter using MATLAB Test and Measurement Tool (TMTOOL)
32
4.3.2 Fast Data Transfer using Hyperterminal Test 35 4.4 Test Result for AUV Interface Design Circuit 36
4.4.1 Motor Response Testing using Data Transfer from MATLAB to PIC
37
4.4.2 Accelerometer Response using Data Transfer from PIC to MATLAB
40
4.5 Result from MATLAB GUI 43
4.6 Conclusion 43
V VALIDATION OF INTERFACE COMMUNICATION
5.1 Introduction 45
5.2 Potential Problem 45
5.3 Data Validation 46
5.3.1 Zero Degree Position 46
5.3.2 90 Degree Position 50
5.3.3 180 Degree Position 54
5.3.4 270 Degree Position 58
5.4 Conclusion 62
VII CONCLUSION
6.1 Conclusion 63
6.2 Future work 64
REFERENCES 65
xii
APPENDICES B 68
APPENDICES C 69
APPENDICES D 70
APPENDICES E 73
APPENDICES F 81
APPENDICES G 97
xiii
LIST OF TABLES
TABLE NO. TITLE PAGES
2.1 Serial Communication Equipment RS232 Pin Definition 7 2.2 25 pins DB Male Parallel Port Connector 11
2.3 Price and Data Transfer of Interfaces 15
4.1 USB-RS232 Versus Other Interface 31
4.2 Three Cycles of Motion for Motor After PIC Receive Data from MATLAB
39
4.3 Percentage Error for Left Motor and Right Motor 39 4.4 Motion Test for Motor After PIC Receive Data from
MATLAB
42
5.1 100 Times of Data Received from Accelerometer in Zero Degree.
47
5.2 100 Times of Data Received from Accelerometer in 90 Degree.
51
5.3 100 Times of Data Received from Accelerometer in 180 Degree.
55
5.4 100 Times of Data Received from Accelerometer in 270 Degree.
xiv
LIST OF FIGURES
FIGURE NO. TITLE PAGES
2.1 RS232 DB9 Pinout 7
2.2 Pinout of IC MAX232 8
2.3 Connection between PC DB9, MAX232 and PIC 9 2.4 USB to RS232 Serial 9Pin Converter Model UC1052 10 2.5 8 Bit Data Transfer for Parallel Communication 11
2.6 Pinout of Parallel 25 Pin Connector 12
2.7 Pinout of parallel 36 Pin Connector 13
2.8 Connection between Microcontroller and Parallel Port 13
2.9 Noise for Different Cable Lengths 14
2.10 40 Pin PIC16F877A 16
2.11 Accelerometer ADXL330 with 3 Axes 18
2.12 TMTOOL in MATLAB 19
2.13 Example of GUI Design 20
2.14 Connection Description of Hyperterminal 21
3.1 Flow Chart 25
3.2 Block Diagram for Interface Communication 26 3.3 Basic Circuit Testing for Interface Communication 27 3.4 Connection for Accelerometer and Motors in Circuit 27 3.5 MATLAB GUI for Real Time Orientation of ROV 28
4.1 Instrument Control Toolbox in TMTOOL 32
4.2 Status to COM1 after Connected 33
4.3 Connection of TxD and RxD 33
4.4 Data Transmit and Receive using TMTOOL 34
xv
4.6 ASCII Setup 35
4.7 Hyperterminal Screen with Fast Typing 36
4.8 Overall Basic Circuit Design for Low Cost ROV Interface
37
4.9 Connection of Two Motors in the Circuit 38 4.10 MATLAB Datatrasmit.mat for Motor Response 38 4.11 Circuit and Connection of Accelerometer 40 4.12 The Rotation Axes of An Accelerometer, Roll, Pitch,
and Yaw
41
4.13 Result for Accelerometer Test at MATLAB Datareceive.mat File
42
4.14 The Real Time Result from MATLAB GUI 43
5.1 Zero Degree Position 46
5.2 Statistic Analysis for Zero Degree 50
5.3 90 Degree Position 50
5.4 Statistic Analysis for 90 Degree 54
5.5 180 Degree Position 54
5.6 Statistic Analysis for 180 Degree 58
5.7 270 Degree Position 58
xvi
LIST OF TABLES
TABLE NO. TITLE PAGES
2.1 Serial Communication Equipment RS232 Pin Definition 7 2.2 25 pins DB Male Parallel Port Connector 11
2.3 Price and Data Transfer of Interfaces 15
4.1 USB-RS232 Versus Other Interface 31
4.2 Three Cycles of Motion for Motor After PIC Receive Data from MATLAB
39
4.3 Percentage Error for Left Motor and Right Motor 39 4.4 Motion Test for Motor After PIC Receive Data from
MATLAB
42
5.1 100 Times of Data Received from Accelerometer in Zero Degree.
47
5.2 100 Times of Data Received from Accelerometer in 90 Degree.
51
5.3 100 Times of Data Received from Accelerometer in 180 Degree.
55
5.4 100 Times of Data Received from Accelerometer in 270 Degree.
xvii
LIST OF FIGURES
FIGURE NO. TITLE PAGES
2.1 RS232 DB9 Pinout 7
2.2 Pinout of IC MAX232 8
2.3 Connection between PC DB9, MAX232 and PIC 9 2.4 USB to RS232 Serial 9Pin Converter Model UC1052 10 2.5 8 Bit Data Transfer for Parallel Communication 11
2.6 Pinout of Parallel 25 Pin Connector 12
2.7 Pinout of parallel 36 Pin Connector 13
2.8 Connection between Microcontroller and Parallel Port 13
2.9 Noise for Different Cable Lengths 14
2.10 40 Pin PIC16F877A 16
2.11 Accelerometer ADXL330 with 3 Axes 18
2.12 TMTOOL in MATLAB 19
2.13 Example of GUI Design 20
2.14 Connection Description of Hyperterminal 21
3.1 Flow Chart 25
3.2 Block Diagram for Interface Communication 26 3.3 Basic Circuit Testing for Interface Communication 27 3.4 Connection for Accelerometer and Motors in Circuit 27 3.5 MATLAB GUI for Real Time Orientation of ROV 28
4.1 Instrument Control Toolbox in TMTOOL 32
4.2 Status to COM1 after Connected 33
4.3 Connection of TxD and RxD 33
4.4 Data Transmit and Receive using TMTOOL 34
xviii
4.6 ASCII Setup 35
4.7 Hyperterminal Screen with Fast Typing 36
4.8 Overall Basic Circuit Design for Low Cost ROV Interface
37
4.9 Connection of Two Motors in the Circuit 38 4.10 MATLAB Datatrasmit.mat for Motor Response 38 4.11 Circuit and Connection of Accelerometer 40 4.12 The Rotation Axes of An Accelerometer, Roll, Pitch,
and Yaw
41
4.13 Result for Accelerometer Test at MATLAB Datareceive.mat File
42
4.14 The Real Time Result from MATLAB GUI 43
5.1 Zero Degree Position 46
5.2 Statistic Analysis for Zero Degree 50
5.3 90 Degree Position 50
5.4 Statistic Analysis for 90 Degree 54
5.5 180 Degree Position 54
5.6 Statistic Analysis for 180 Degree 58
5.7 270 Degree Position 58
xix
LIST OF ABBREVIATIONS
3D ADC DCE DTE EMI GA - - - - - - Three Dimension
Analog Digital Converter circuit-terminating equipment data terminal equipment Electromagnetic Interference Genetic Algorithm GUI IMU - -
Graphic User Interface Inertial Measurement Unit MATLAB MAX232 - - Matrix Laboratory Maxim232
ROV - Remotely Operated Vehicle
PIC RXD
- -
Programmable Interface Controller Receive Data
SCI - serial communications interface TMS TMTOOL TXD - - -
Tether Management System Test and Measurement Tool Transmit Data
xx
LIST OF APPENDICES
APPENDIX TITLE PAGES
A Interface Schematic 67
B PCB Layout 68
C Hardware for Real Time Interface Communication circuit 69
D C Programming 70
E MATLAB GUI Programming 73
F Journal Under Review 1 81
G Journal Under Review 2 97
H Develop Interface Communication for Low Cost Autonomous Underwater Vehicle
CHAPTER I
INTRODUCTION
1.1 Introduction
Interface communication is used to communicate between Remotely Operated Vehicle (ROV) and matrix laboratory (MATLAB) computer for data transmitting and data receiving purpose. Data from ROV is transmitted to or received from MATLAB via interface communication during the operation. ROV and MATLAB response and take action after data is successful received through interface communication.
2
However, due to the high cost and multipurpose used of the interface above, those interfaces are not suitable for low cost interface design. Low cost interface only required transfer and receive data between ROV and MATLAB. Therefore, interface such as serial port connection, parallel port connection and Universal Serial Bus - Recommended Standard 232 (USB-RS232) converter cable are compared based on the cost, data transfer rate, size and quality of cable length. Low cost interface, faster data transfer rate, stable and less noise are suitable for low cost ROV design.
Several types of interface such as serial port connection, parallel port connection and USB-RS232 converter port are compared based on the cost, data transfer rate, size and quality of cable length. Low cost interface, faster data transfer rate, stable and less noise are suitable for low cost ROV design. The quality and performance of the USB-RS232 is tested using loopback method. Cable interruption and fast data transfer are tested and observed using Test and Measurement Tool (TMTOOL) and Hyperterminal methods. Voltage of cable is measured and compared before and after cable is disturbed and shakes, and overload data transfer during data transferring. At the initial stage, potentiometer is used to transmit data to MATLAB, which act as a sensor transmit data to MATLAB by adjusting the resistance from 0kΩ to 20kΩ via pin 25 of PIC16F877A. While receive data at pin 26 after MATLAB send data to PIC and light on the LEDs. Besides that, Graphical User Interface (GUI) provides a very convenient tool to control the ROV and to display data of an ROV. Various tasks that can be performed by the GUI include display condition of ROV such as speed of thruster, accelerometer and sonar sensor.
1.2 Objectives
The main purposed of this project are to design an interface for MATLAB and ROV System. Therefore, the objectives as below should be achieved.
i. To identify the suitable low cost interface communication between ROV and MATLAB.
3
1.3 Problem Statement
Generally, an autonomous underwater vehicle (ROV) is a robot which travels underwater with many types of sensors and propulsion system with unman control. ROV passed the information received from sensors and pass it on the computer to analyze this information. The communication between the ROV and computer is achieved via interface communication.
However, for existing ROV project, the cost for conventional interface communication such as interface card and communication devices are very expensive to perform underwater operations. Many small and medium type companies or researchers are not able to afford the high technology interface communication cost. Installation sensors for orientation control of ROV such as gyrosensor or inertial measurement unit (IMU) is very expensive and unsuitable for research and study purpose. Besides that, many research centers use low quality interface communication for researching and exploring, data transmission will be affected by environmental factor such as noise and obstacles influence their findings.
For this situation, USB-RS232 used as low cost interface communication between MATLAB and ROV, which able to transmit and receive data in real time orientation control. Accelerometer sensor used as stability sensor to perform the stability of ROV during real time orientation control. MATLAB GUI is designed to display and save the instant data from accelerometer to control the speed of motor.
1.4 Scope of Work
4
detect the balancing and stabilizing of orientation ROV. MATLAB GUI displays the current data of accelerometer and monitors speed of motors underwater.
1.5 Thesis Structure
It consists of six chapters. Following is a chapter-by-chapter description of information in this thesis.
Chapter 1 gives reader a basic introduction to how the idea of this project generated. The chapter contains introduction, objective of the project, problem statement, scopes of work, brief methodology, and report structure.
Chapter 2 is a literature review on theoretical concepts applied in this project. The chapter concludes the background study of serial, USB-RS232 converter and parallel cable. Besides that, this chapter also explains maximum cable lengths for interface, what is MATLAB, what is Test and Measurement Tool, what is Hyperterminal and application of others component such as PIC16F877A, Accelerometer and Gyrosensor. Then, why choose the specific interface, MATLAB, Hyperterminal and related components.
Chapter 3 introduces the methodology of the project. The chapter contains the flow chart which explains the overall method taken along the project carry out. Besides that, this chapter also introduces the construction of the project, which involves hardware development and software development. Basically, the hardware development for the project concludes with ROV accelerometer sensor, thruster, and block diagram design. Besides, the software development of project will discuss what graphical programming is, how to use the MATLAB and C programming, and how to implement it on this project.