Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 82 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
82
Dung lượng
2,95 MB
Nội dung
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 I TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CƠNG MƠ HÌNH XE THĂM DỊ MƠI TRƯỜNG II NHIỆM VỤ 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 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 Tuần Tuần/ngày Nội dung (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 Xác nhận GVHD Nhận đồ án, tìm hiểu đề tài, viết đề cương chi tiết cho đề tài 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 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 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 bên cạnh ủng hộ tinh thần Xin chân thành cảm ơn! Nhóm sinh viên thực đề tài Ngơ Minh Hiệp – Nguyễn Tiến Hòa 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 1.2 MỤC TIÊU 1.3 NỘi DUNG NGHIÊN CỨU 1.4 GIỚI HẠN .4 1.5 BỐ CỤC Chương CƠ SỞ LÝ THUYẾT 2.1 CÁC CHUẨN TRUYỀN THÔNG KHÔNG DÂY 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 2.2.1 Khái niệm web server .9 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.2.1 4.3 Thi công phần cứng 33 LẬP TRÌNH HỆ THỐNG 37 4.3.1 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 5.1 KẾT QUẢ 46 5.2 NHẬN XÉT VÀ ĐÁNH GIÁ 49 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 50 6.1 KẾT LUẬN 50 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 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 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 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 x PHỤ LỤC a.open("GET", "left.php"); a.onreadystatechange=function(){ if(a.readyState==4){ if(a.status == 200){ } else{ alert("Error") } } } a.send(); }); $('#clickL').mouseup(function(){ var a = new XMLHttpRequest(); a.open("GET", "stop.php"); 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 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") } } } a.send(); }); $('#clickR').mouseup(function(){ var a = new XMLHttpRequest(); a.open("GET", "stop.php"); 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") } } } a.send(); }); $('#clickB').mouseup(function(){ var a = new XMLHttpRequest(); a.open("GET", "stop.php"); 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 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") } } } a.send(); }); $('#clickS').mouseup(function(){ var a = new XMLHttpRequest(); a.open("GET", "stop.php"); 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 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") } } } a.send(); }); $('#clickds').mouseup(function(){ var a = new XMLHttpRequest(); a.open("GET", "dens.php"); 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 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") } } } a.send(); }); $('#clickdt').mouseup(function(){ var a = new XMLHttpRequest(); a.open("GET", "dent.php"); 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 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") } } } a.send(); }); $('#clickCL').mouseup(function(){ var a = new XMLHttpRequest(); a.open("GET", "cdung.php"); 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 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") } } } a.send(); }); $('#clickCX').mouseup(function(){ var a = new XMLHttpRequest(); a.open("GET", "cdung.php"); 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 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") } } } a.send(); }); $('#clickCT').mouseup(function(){ var a = new XMLHttpRequest(); a.open("GET", "cdung.php"); 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 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") } } } a.send(); }); $('#clickCP').mouseup(function(){ var a = new XMLHttpRequest(); a.open("GET", "cdung.php"); 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 66 PHỤ LỤC }); }); Code arduino #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); 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) { ***************** int duty = map(percent, 0, 100, 0, 255); switch(mode) { case 0: digitalWrite(ENB, LOW); break; case 1: digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW); analogWrite(ENB, duty); break; case 2: digitalWrite(IN3, LOW); 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 } 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++ ; if(goc1 == 181) { goc1 = 180; } servo1.write(goc1); delay(5); } //////////////////////////////// else if (rpi == 1) { goc1 ; if(goc1 == -1) { goc1 = 0; } servo1.write(goc1); delay(5); } else if (rpi == 5) { goc2++ ; 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); } 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); } } } } } } 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() BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 71 ... cần thi t cho thực tế, nhóm thực chọn đề tài Thi t kế thi công mơ hình xe thăm dò mơi trường 1.2 MỤC TIÊU Đề tài Thi t kế thi cơng mơ hình xe thăm dò mơi trường nhóm sinh viên thi t kế mơ hình. .. 18/01/2019 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Nguyễn Trường Duy 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... 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