Đồ án tốt nghiệp kỹ thuật điện tử thiết kế và thi công mô hình xe thăm dò môi trường

82 0 0
Đồ án tốt nghiệp kỹ thuật điện tử thiết kế và thi công mô hình xe thăm dò môi trường

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

u iệ il Tà TE U CM H i TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC o0o -Tp HCM, ngày 05 tháng 01 năm 2019 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Chuyên ngành: Hệ đào tạo: Khóa: Nguyễn Tiến Hịa Ngơ Minh Hiệp Kỹ thuật Điện - Điện tử Đại học quy 2014 MSSV: 14141117 MSSV: 14141105 Mã ngành: 41 Mã hệ: Lớp: 14141DT2A II NHIỆM VỤ iệ il Tà I TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CƠNG MƠ HÌNH XE THĂM DỊ MÔI TRƯỜNG u Các số liệu ban đầu:  kit RASPBERRY PI  ARDUINO UNO R3  MODULE L298N  SERVO SG90  MODULE DHT11  MODULE MPU-6050  CAMERA LOGITECH Nội dung thực hiện:  Thiết kế giao diện web server điều khiển xe  Live camera webserver  Điều khiển camera  Gửi liệu cảm biến lên web III NGÀY GIAO NHIỆM VỤ: 07/10/2018 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 18/01/2019 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Nguyễn Trường Duy TE U CM H CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH ii TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC o0o -Tp HCM, ngày tháng 10 năm 2018 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Ngô Minh Hiệp Lớp:14141DT1B MSSV: 14141105 Họ tên sinh viên 2: Nguyễn Tiến Hòa Lớp: 14141DT1C MSSV: 14141117 Tên đề tài: THIẾT KẾ VÀ THI CƠNG MƠ HÌNH XE THĂM DỊ MƠI TRƯỜNG Tà Tuần Tuần/ngày Nội dung Xác nhận GVHD il Nhận đồ án, tìm hiểu đề tài, viết đề cương chi tiết cho đề tài (01-07/10/2018) (08-14/10/2018) (15-21/10/2018) (22/4 - 28/10/2018) 5, (29/10 -11/11/2018) 7,8,9 (12/11 -02/12/2018) 10 (03 -09/12/2018) Lắp đặt phần cứng xe 11,12 (10-23/12/2018) Kết nối hoàn thiện xe 13 (24/12 -30/12/2018) 14 01/01/2018 iệ u Tìm hiểu thơng tin thiết bị điều khiển lập trình, cấu chấp hành Kết nối viết code đẩy video lên web server CM H TE U Kết nối viết code đẩy liệu từ raspberry sang arduino uno Kết nối viết code đẩy liệu cảm biến DHT11, mpu6050 từ arduino qua raspberry Thiết kế giao diện web server Viết báo cáo, kiểm tra phần cứng GVHD kiểm duyệt lại đề tài GV HƯỚNG DẪN (Ký ghi rõ họ tên) iii LỜI CAM ĐOAN Đề tài tự thực dựa vào số tài liệu trước khơng chép từ tài liệu hay cơng trình có trước Nhóm sinh viên thực đề tài Ngô Minh Hiệp – Nguyễn Tiến Hòa u iệ il Tà TE U CM H iv LỜI CẢM ƠN Em xin gởi lời cảm ơn sâu sắc đến Thầy Nguyễn Trường Duy _ Giảng viên môn Điện tử công nghiệp – y sinh trực tiếp hướng dẫn tận tình giúp đỡ tạo điều kiện để hoàn thành tốt đề tài Em chân thành cảm ơn quý thầy cô, Giảng viên môn điện tử cơng nghiệp – y sinh góp ý chia sẻ nhiều kinh nghiệm quý báu cho em thực tốt đề tài Em xin gởi lời chân thành cảm ơn thầy cô Khoa Điện-Điện Tử tạo điều kiện tốt cho em hoàn thành đề tài Em gửi lời đồng cảm ơn đến bạn lớp 14141DT2A chia sẻ trao đổi kiến thức kinh nghiệm quý báu thời gian thực đề tài Cảm ơn đến gia đình ln bên cạnh ủng hộ tinh thần iệ il Tà Xin chân thành cảm ơn! Nhóm sinh viên thực đề tài u Ngô Minh Hiệp – Nguyễn Tiến Hòa TE U CM H v MỤC LỤC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP ii LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP iii LỜI CAM ĐOAN iv LỜI CẢM ƠN .v MỤC LỤC vi DANH MỤC HÌNH viii DANH MỤC BẢNG x TÓM TẮT xi Chương TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ .1 Tà 1.2 MỤC TIÊU 1.3 NỘi DUNG NGHIÊN CỨU il 1.4 GIỚI HẠN .4 iệ 1.5 BỐ CỤC u Chương CƠ SỞ LÝ THUYẾT H 2.1 CÁC CHUẨN TRUYỀN THÔNG KHÔNG DÂY CM 2.1.1 Một số công nghệ kết nối truyền thông không dây 2.1.3 Tìm hiểu chuẩn IEEE 208.16 2.2 GIỚI THIỆU VỀ WEB SERVER VÀ NGƠN NGỮ LẬP TRÌNH HTML .9 U 2.2.1 Khái niệm web server .9 TE 2.2.2 Nguyên lí hoạt động web server 2.2.3 Các giao thức sử dụng web server .10 2.2.4 Khái niệm ngơn ngữ lập trình HTML 11 2.2.5 Cấu trúc HTML .11 2.3 ROBOT THĂM DỊ MƠI TRƯỜNG .13 2.3.1 Phân loại robot 13 2.3.2 Một số dạng điều khiển robot 14 2.3.3 Các loại chuyển động robot .14 2.4 GIỚI THIỆU PHẦN CỨNG 17 2.4.1 RASPBERRY PI 17 2.4.2 ARDUINO UNO R3 18 2.4.3 MODULE L298N 19 2.4.4 CAMERA LOGITECH 20 vi 2.4.5 ĐỘNG CƠ SERVO SG90 .20 2.4.6 ĐỘNG CƠ GIẢM TỐC 21 2.4.7 MODULE CẢM BIẾN DHT11 .22 2.4.8 MODULE CẢM BIẾN MPU-6050 22 Chương TÍNH TỐN VÀ THIẾT KẾ 24 3.1 GIỚI THIỆU 24 3.2 TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG 24 3.2.1 Thiết kế sơ đồ khối hệ thống 24 3.2.2 Tính tốn thiết kế mạch 26 3.2.3 Sơ đồ nguyên lý toàn mạch 32 Chương THI CÔNG HỆ THỐNG 33 4.1 GIỚI THIỆU 33 4.2 THI CÔNG HỆ THỐNG .33 4.3 Thi công phần cứng 33 Tà 4.2.1 LẬP TRÌNH HỆ THỐNG 37 il Lưu đồ giải thuật 37 4.3.2 Phần mềm lập trình cho vi điều khiển 41 Chương KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ .44 u iệ 4.3.1 H 5.1 KẾT QUẢ 46 CM 5.2 NHẬN XÉT VÀ ĐÁNH GIÁ 49 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 50 U 6.1 KẾT LUẬN 50 TE 6.2 HƯỚNG PHÁT TRIỂN 50 TÀI LIỆU THAM KHẢO 51 CÁC TỪ VIẾT TẮT 52 PHỤ LỤC 53 vii DANH MỤC HÌNH u iệ il Tà Hình 1.1: iRobot 210 negotiator Hình 1.2: iRobot 710 Warrior Hình 3: iRobot 510 Packbot Hình 2.1: Robot hai chân BRAT 15 Hình 2.2: Robot MANOI AT01 MANOI PF01 15 Hình 2.3: Robot irobot chuyển động xích 16 Hình 2.4: Robot NASA chuyển động bánh xe 16 Hình 2.5 Raspberry pi 17 Hình 2.6: Arduino Uno R3 18 Hình 2.7: Module L298n 19 Hình 2.8: Camera Logitech C270 20 Hình 2.9: động servo sg90 21 Hình 2.10: động giảm tốc 21 Hình 2.11: Module cảm biến DHT11 22 Hình 2.12: module cảm biến mpu-6050 22 Hình 3.1: Sơ đồ khối toàn mạch 25 Hình 3.2: Sơ đồ kết nối raspberry với thiết bị 26 Hình 3.3: Sơ đồ kết nối Arduino 27 Hình 3.4: camera logitech 28 Hình 3.5: Servo sg90 28 Hình 3.6: sơ đồ kết nối servo camera 28 Hình 3.7: sơ đồ kết nối động giảm tốc 29 Hình 3.8: Sơ đồ kết nối cảm biến DHT11 MPU-6050 29 Hình 3.9: Mạch 3D khối đèn led 30 Hình 3.10: sơ đồ kết nối đèn 31 Hình 3.11: Sơ đồ nguyên lý toàn mạch 32 Hình 4.1 Mơ hình xe nhìn từ ……………………………………………… 34 Hình 4.2: Mơ hình xe nhìn từ trước 35 Hình 4.3: Pin dự phịng cấp cho tồn mạch .35 Hình 4.4: Nguồn pin cấp cho động .36 Hình 4.5: Kích thước thực tế xe 36 Hình 4.6: Lưu đồ 37 Hình 4.7: Lưu đồ chương trình xe chạy .38 Hình 4.8: Lưu đồ chương trình camera quay 39 Hình 4.9: Lưu đồ chương trinh bật tắt đèn 40 Hình 4.10: Giao diện web server 41 Hình 4.11: Remote Desktop Connection 42 Hình 4.12: hình đăng nhập raspi 42 Hình 4.13: Giao diện hệ điều hành raspi 43 Hình 4.14: Giao diên phần mềm python .43 Hình 4.15 : Giao diện phần mềm arduino 44 Hình 4.16: Giao diện phần mềm LogMeIn Hamachi .45 Hình 5.1 : Giao diện web………………………………………………………….46 Hình 5.2: Biểu đồ nhiệt độ độ ẩm .47 Hình 5.3: Nhiệt độ độ ẩm thực tế 47 TE U CM H viii Hình 5.4: Xe hoạt động trời tối có đèn .48 Hình 5.5: Xe chạy vật cản 3-5cm 48 u iệ il Tà TE U CM H ix DANH MỤC BẢNG Bảng 4.1: Danh sách linh kiện 33 Bảng 5.1: Thơng số kỹ thuật mơ hình xe robot thăm dò……………………… …49 u iệ il Tà TE U CM H x PHỤ LỤC a.open("GET", "left.php"); a.onreadystatechange=function(){ if(a.readyState==4){ if(a.status == 200){ } else{ alert("Error") } } } Tà a.send(); il }); iệ $('#clickL').mouseup(function(){ u var a = new XMLHttpRequest(); a.open("GET", "stop.php"); H a.onreadystatechange=function(){ else{ TE } U if(a.status == 200){ CM if(a.readyState==4){ alert("Error") } } } a.send(); }); }); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 57 PHỤ LỤC $(document).ready(function(){ $('#clickR').mousedown(function(){ var a = new XMLHttpRequest(); a.open("GET", "right.php"); a.onreadystatechange=function(){ if(a.readyState==4){ if(a.status == 200){ } else{ alert("Error") } Tà } a.send(); u iệ il } }); CM H $('#clickR').mouseup(function(){ var a = new XMLHttpRequest(); a.open("GET", "stop.php"); TE } U a.onreadystatechange=function(){ if(a.readyState==4){ if(a.status == 200){ else{ alert("Error") } } } a.send(); }); }); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 58 PHỤ LỤC $(document).ready(function(){ $('#clickB').mousedown(function(){ var a = new XMLHttpRequest(); a.open("GET", "back.php"); a.onreadystatechange=function(){ if(a.readyState==4){ if(a.status == 200){ } else{ alert("Error") Tà } } }); u a.send(); iệ il } H $('#clickB').mouseup(function(){ CM var a = new XMLHttpRequest(); TE a.onreadystatechange=function(){ if(a.readyState==4){ if(a.status == 200){ U a.open("GET", "stop.php"); } else{ alert("Error") } } } a.send(); }); }); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 59 PHỤ LỤC $(document).ready(function(){ $('#clickS').mousedown(function(){ var a = new XMLHttpRequest(); a.open("GET", "stop.php"); a.onreadystatechange=function(){ if(a.readyState==4){ if(a.status == 200){ } else{ alert("Error") } Tà } a.send(); u iệ il } }); $('#clickS').mouseup(function(){ H CM var a = new XMLHttpRequest(); a.open("GET", "stop.php"); a.onreadystatechange=function(){ } TE if(a.status == 200){ U if(a.readyState==4){ else{ alert("Error") } } } a.send(); }); }); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 60 PHỤ LỤC $(document).ready(function(){ $('#clickds').mousedown(function(){ var a = new XMLHttpRequest(); a.open("GET", "dens.php"); a.onreadystatechange=function(){ if(a.readyState==4){ if(a.status == 200){ } else{ alert("Error") } Tà } a.send(); u iệ il } }); $('#clickds').mouseup(function(){ H CM var a = new XMLHttpRequest(); a.open("GET", "dens.php"); a.onreadystatechange=function(){ } TE if(a.status == 200){ U if(a.readyState==4){ else{ alert("Error") } } } a.send(); }); }); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 61 PHỤ LỤC $(document).ready(function(){ $('#clickdt').mousedown(function(){ var a = new XMLHttpRequest(); a.open("GET", "dent.php"); a.onreadystatechange=function(){ if(a.readyState==4){ if(a.status == 200){ } else{ alert("Error") } Tà } a.send(); u iệ il } }); $('#clickdt').mouseup(function(){ H CM var a = new XMLHttpRequest(); a.open("GET", "dent.php"); a.onreadystatechange=function(){ } TE if(a.status == 200){ U if(a.readyState==4){ else{ alert("Error") } } } a.send(); }); }); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 62 PHỤ LỤC $(document).ready(function(){ $('#clickCL').mousedown(function(){ var a = new XMLHttpRequest(); a.open("GET", "clen.php"); a.onreadystatechange=function(){ if(a.readyState==4){ if(a.status == 200){ } else{ alert("Error") } Tà } a.send(); u iệ il } }); $('#clickCL').mouseup(function(){ H CM var a = new XMLHttpRequest(); a.open("GET", "cdung.php"); a.onreadystatechange=function(){ } TE if(a.status == 200){ U if(a.readyState==4){ else{ alert("Error") } } } a.send(); }); }); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 63 PHỤ LỤC $(document).ready(function(){ $('#clickCX').mousedown(function(){ var a = new XMLHttpRequest(); a.open("GET", "cxuong.php"); a.onreadystatechange=function(){ if(a.readyState==4){ if(a.status == 200){ } else{ alert("Error") } Tà } a.send(); u iệ il } }); CM H $('#clickCX').mouseup(function(){ var a = new XMLHttpRequest(); a.open("GET", "cdung.php"); } TE if(a.readyState==4){ if(a.status == 200){ U a.onreadystatechange=function(){ else{ alert("Error") } } } a.send(); }); }); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 64 PHỤ LỤC $(document).ready(function(){ $('#clickCT').mousedown(function(){ var a = new XMLHttpRequest(); a.open("GET", "ctrai.php"); a.onreadystatechange=function(){ if(a.readyState==4){ if(a.status == 200){ } else{ alert("Error") } }); u a.send(); iệ il } Tà } H $('#clickCT').mouseup(function(){ CM var a = new XMLHttpRequest(); a.open("GET", "cdung.php"); TE if(a.readyState==4){ if(a.status == 200){ U a.onreadystatechange=function(){ } else{ alert("Error") } } } a.send(); }); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 65 PHỤ LỤC }); $(document).ready(function(){ $('#clickCP').mousedown(function(){ var a = new XMLHttpRequest(); a.open("GET", "cphai.php"); a.onreadystatechange=function(){ if(a.readyState==4){ if(a.status == 200){ } else{ alert("Error") il Tà } } a.send(); u iệ } CM H }); $('#clickCP').mouseup(function(){ if(a.readyState==4){ TE a.onreadystatechange=function(){ U var a = new XMLHttpRequest(); a.open("GET", "cdung.php"); if(a.status == 200){ } else{ alert("Error") } } } a.send(); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 66 PHỤ LỤC }); });  Code arduino u iệ il Tà #include #define ENA #define ENB #define IN1 #define IN2 #define IN3 #define IN4 #define den Servo servo1; Servo servo2; int goc1= 0; int goc2= 0; int a=0; // Serial int rpi; void setup() { servo1.attach(9); servo2.attach(10); Serial.begin(9600); // L298n pinMode(ENA, OUTPUT); pinMode(ENB, OUTPUT); pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); pinMode(den, OUTPUT); } void motorA(int mode, int percent) { int duty = map(percent, 0, 100, 0, 255); TE U CM H switch(mode) { case 0: digitalWrite(ENA, LOW); break; case 1: digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); analogWrite(ENA, duty); break; case 2: BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 67 PHỤ LỤC digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH); analogWrite(ENA, duty); break; case 3: digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); analogWrite(ENA, duty); break; } } //**************** Motor B control void motorB(int mode, int percent) { ***************** Tà int duty = map(percent, 0, 100, 0, 255); il u iệ switch(mode) { case 0: digitalWrite(ENB, LOW); break; digitalWrite(IN4, LOW); case 2: digitalWrite(IN3, LOW); TE break; U analogWrite(ENB, duty); CM H case 1: digitalWrite(IN3, HIGH); digitalWrite(IN4, HIGH); analogWrite(ENB, duty); break; case 3: digitalWrite(IN3, LOW); digitalWrite(IN4, LOW); analogWrite(ENB, duty); break; } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 68 PHỤ LỤC u iệ il Tà } void loop() { // Move if (Serial.available()>0) { rpi = Serial.read(); rpi = rpi - 48; Serial.println(rpi); } if(rpi ==49) { a=1; if(a==1) { digitalWrite(den, HIGH); } } else if(rpi ==50) { a=0; if(a==0) { digitalWrite(den, LOW); } } else if (rpi == 3) { goc1++ ; TE } //////////////////////////////// else if (rpi == 1) { goc1 ; if(goc1 == -1) { goc1 = 0; } servo1.write(goc1); delay(5); } else if (rpi == 5) { goc2++ ; U CM H if(goc1 == 181) { goc1 = 180; } servo1.write(goc1); delay(5); if(goc2 == 181) { goc2 = 180; } servo2.write(goc2); delay(5); } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 69 PHỤ LỤC //////////////////////////////// else if (rpi == 7) { goc2 ; if(goc2 == -1) { goc2 = 0; } servo2.write(goc2); delay(5); } u iệ il Tà else if(rpi ==9) { goc1=goc1; goc2=goc2; } else if (rpi==2) { //Tiến motorA(2, 100); motorB(2, 100); } else { if (rpi==4) { //trái motorA(1, 100); motorB(2, 100); } else { if (rpi==6) { //Phải motorA(2, 100); motorB(1, 100); } else { if (rpi==8) { //Lùi motorA(1, 100); motorB(1, 100); } else { if (rpi==0) { //Dừng motorA(3, 100); motorB(3, 100); } } } } } TE U CM H }  Code cảm biến DHT11 import sys import RPi.GPIO as GPIO from time import sleep import Adafruit_DHT import urllib.request as urllib2 myAPI = "PH03HXEQQQVL8ZN2" def getSensorData(): T, RH = Adafruit_DHT.read_retry(Adafruit_DHT.DHT11, 17) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 70 PHỤ LỤC return (str(RH), str(T)) def main(): print ('starting ') baseURL = 'https://api.thingspeak.com/update?api_key=%s' % myAPI while True: try: T, RH = getSensorData() f = urllib2.urlopen(baseURL + "&field1=%s&field2=%s" % (T, RH)) print (f.read()) f.close() sleep(2) #uploads DHT22 sensor values every minutes except: print ('exiting.') break # call main if name == ' main ': main() u iệ il Tà TE U CM H BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 71

Ngày đăng: 11/10/2023, 14:24

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan