Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 113 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
113
Dung lượng
6,61 MB
Nội dung
BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: NGHIÊN CỨU, THIẾT KẾ VÀ THI CÔNG BỘ ĐIỀU KHIỂN XE LĂN ĐIỆN SỬ DỤNG CẢM BIẾN GIA TỐC GVHD: ThS NGÔ BÁ VIỆT SVTH: VÕ NGỌC TIẾN 15141307 LÂM MINH CẢNH 15141105 Tp Hồ Chí Minh – 12/2019 BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: NGHIÊN CỨU, THIẾT KẾ VÀ THI CÔNG BỘ ĐIỀU KHIỂN XE LĂN ĐIỆN SỬ DỤNG CẢM BIẾN GIA TỐC GVHD: ThS NGÔ BÁ VIỆT SVTH: VÕ NGỌC TIẾN LÂM MINH CẢNH Tp Hồ Chí Minh – 12/2019 15141307 15141105 TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o Tp HCM, ngày 25 tháng 12 năm 2019 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Võ Ngọc Tiến MSSV: 15141307 Lâm Minh Cảnh MSSV: 15141105 Chuyên ngành: Kỹ thuật điện tử - truyền thông Mã ngành: 941 Hệ đào tạo: Đại học quy Mã hệ: Khóa: 2015 Lớp: 15941DT I TÊN ĐỀ TÀI: NGHIÊN CỨU, THIẾT KẾ VÀ THI CÔNG BỘ ĐIỀU KHIỂN XE LĂN ĐIỆN SỬ DỤNG CẢM BIẾN GIA TỐC II NHIỆM VỤ Các số liệu ban đầu: (ghi thông số, tập tài liệu tín hiệu, hình ảnh…) Nội dung thực hiện: (ghi nội dung cần thực phần tổng quan) III NGÀY GIAO NHIỆM VỤ: IV NGÀY HOÀN THÀNH NHIỆM VỤ: V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Ngô Bá Việt 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 25 tháng 12 năm 2019 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Võ Ngọc Tiến MSSV: 15141307 Lớp: 15941DT Họ tên sinh viên 2: Lâm Minh Cảnh MSSV: 15141105 Lớp: 15941DT Tên đề tài: NGHIÊN CỨU, THIẾT KẾ VÀ THI CÔNG BỘ ĐIỀU KHIỂN XE LĂN ĐIỆN SỬ DỤNG CẢM BIẾN GIA TỐC Tuần/ngày Nội dung Tuần (2/9 – 8/9) - Gặp giáo viên hướng dẫn - Chọn đề tài Tuần (9/9 – 15/9) - Báo cáo GVHD - Viết đề cương chi tiết cho đồ án Tuần (16/9 – 22/9) - Báo cáo GVHD - Trình bày phướng án thực đề tài Xác nhận GVHD - Phân chia công việc cho thành viên Tuần (23/9 – 29/9) - Báo cáo GVHD - Tìm hiểu cảm biến gia tốc MPU6050 Tuần (30/9 – 6/10) - Báo cáo GVHD - Tìm hiểu thuật tốn xử lý MPU6050 Tuần (7/10 – 13/10) - Lập danh sách, mua linh kiện cần thiết - Viết chương trình diều khiển cho MPU6050 ii Tuần (14/10 - 20/10) - Báo cáo GVHD - Thiết kế xử lý tín hiệu điều khiển động sử dụng vi điều khiển Arduino nano Tuần (21/10 – 27/10) - Báo cáo GVHD - Nộp báo cáo tiến độ Tuần (28/10 – 3/11) - Báo cáo GVHD - Tiến hành giao tiếp MPU6050 xử lý tín hiệu điều khiển động Tuần 10 (4/11 – 10/11) - Báo cáo GVHD - Chạy thử nghiệm cân chỉnh điều khiển MPU6050 Tuần 11 (11/11 – 17/11) - Báo cáo GVHD -Thiết kế viết chương trình cho cảm biến khoảng cách lazer VL53L0X trước sau xe Tuần 12 (18/11 – 24/11) - Báo cáo GVHD - Thi cơng xử lý tín hiệu điều khiển động Tuần 13 (15/11 – 1/12) - Báo cáo GVHD - Thi công điều khiển MPU6050 - Chạy thử nghiệm Tuần 14 (2/12 – 8/12) - Báo cáo GVHD - Cân chỉnh, tối ưu sản phẩm Tuần 15 (9/12 – 15/12) - Báo cáo GVHD - Chỉnh sửa hoàn thiện báo cáo Tuần 16 (16/12 – 22/12) - Báo cáo GVHD - Nộp đồ án tốt nghiệp Tuần 17 (23/12 – 29/12) - Bảo vệ ĐATN GV HƯỚNG DẪN (Ký ghi rõ họ tên) iii LỜI CAM ĐOAN Đề tài nhóm 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 Người thực đề tài Võ Ngọc Tiến Lâm Minh Cảnh iv LỜI CẢM ƠN Lời đầu tiên, nhóm thực đề tài xin gởi lời cảm ơn chân thành đến Thầy Ngô Bá Việt - giảng viên khoa Điện-Điện tử, Trường Đại học Sư phạm Kỹ thuật Tp HCM, theo sát hỗ trợ hướng dẫn nhóm cách chi tiết q trình thực đề tài Thầy ln hỗ trợ hết mình, giải đáp thắc mắc, sai sót gợi ý phương án thực cho khả thi dễ tiếp cận Nhóm xin gửi lời cảm ơn đến quý thầy (cô) khoa Điện-Điện tử, đặc biệt Thầy phòng lab C306 tận tình giúp đỡ, giải đáp thắc mắc, nguyện vọng trình thực đề tài nhóm Sự hỗ trợ q thầy (cơ) đóng góp phần khơng nhỏ vào thành cơng ngày hơm Nhóm đề tài xin cảm ơn bạn sinh viên khoa Điện-Điện tử nhiệt tình giúp đỡ, hỗ trợ nhóm Những đóng góp bạn ln nhóm tiếp nhận xem xét kĩ lưỡng Cuối cùng, nhóm xin cảm ơn chân thành sâu sắc đến Cha, Mẹ - người bên cạnh hỗ trợ tài tinh thần suốt năm tháng qua Thành công đề tài ngày phần đóng góp to lớn người Một lần nữa, nhóm xin gởi lời cảm ơn chân thành đến quý thầy cô, bạn bè quý phụ huynh hỗ trợ nhóm thực đề tài hồn chỉnh Xin chân thành cảm ơn! Người thực đề tài Võ Ngọc Tiến Lâm Minh Cảnh v MỤC LỤC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP ii 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 xi TÓM TẮT .xii CHƯƠNG 1: TỔNG QUAN .1 1.1 ĐẶT VẤN ĐỀ 1.2 MỤC TIÊU 1.3 NỘI DUNG NGHIÊN CỨU 1.4 GIỚI HẠN 1.5 BỐ CỤC CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 TỔNG QUAN VỀ HỆ THỐNG VI CƠ ĐIỆN TỬ ( MEMS ) 2.1.1 Tổng quan hệ thống vi điện tử ( MEMS ) 2.1.2 Ứng dụng MEMS .5 2.2 TỔNG QUAN VỀ ĐƠN VỊ ĐO LƯỜNG QUÁN TÍNH ( IMU ) 2.2.1 Tổng quan đơn vị đo lường quán tính ( IMU ) 2.2.2 Tổng quan gia tốc kế Accelerometers 2.2.3 Tổng quan quay hồi chuyển Gyroscopes 2.3 GIỚI THIỆU PHẦN CỨNG 2.3.1 Module cảm biến gia tốc MPU-6050 (Motion Processing Unit) 2.3.2 VI ĐIỀU KHIỂN 21 2.3.3 MODULE BLUETOOTH 24 2.3.4 Module điều khiển động BTS7960 27 2.3.5 Cảm biến khoảng cách VL53L0X 28 2.3.6 Servo SG90 .30 2.3.7 Mạch giảm áp DC LM2596 3A 31 2.4 CÁC CHUẨN TRUYỀN DỮ LIỆU 32 2.4.1 Chuẩn truyền thông nối tiếp bất đồng UART 32 2.4.2 Chuẩn truyền thông I²C 33 CHƯƠNG TÍNH TỐN VÀ THIẾT KẾ 35 vi 3.1 GIỚI THIỆU 35 3.2 TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG 35 3.2.1 Thiết kế sơ đồ khối hệ thống 35 3.2.2 Tính toán thiết kế mạch 37 a Thiết kế xử lý tín hiệu điều khiển - khối cảm biến gia tốc MPU – 6050 37 b Thiết kế xử lý tín hiệu điều khiển động .42 d Thiết kế khối cảm biến khoảng cách phát vật cản VL53L0X Servo 44 d Thiết kế khối nguồn Acquy 24VDC 45 3.2.3 Sơ đồ nguyên lý toàn mạch 48 CHƯƠNG THI CÔNG HỆ THỐNG 50 4.1 GIỚI THIỆU 50 4.2 THI CÔNG VÀ ĐÓNG GÓI HỆ THỐNG 50 4.2.1 Thi công kiểm tra khối nguồn 50 4.2.2 Thi cơng xử lý tín hiệu điều khiển MPU – 6050 51 4.2.3 Thi công điều khiển động 53 4.2.4 Thi công khối cảm biến khoảng cách phát vật cản VL53L0X 55 4.3 LẬP TRÌNH HỆ THỐNG 55 4.3.1 Lưu đồ giải thuật 55 a Lưu đồ xử lý tín hiệu cảm biến MPU-6050 56 b Lưu đồ xử lý điều khiển động 58 4.3.2 Phần mềm lập trình cho vi điều khiển Arduino IDE 63 4.4 LẬP TRÌNH MƠ PHỎNG 65 4.4.1 Lưu đồ 65 4.4.2 Xử lý tín hiệu .65 4.5 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC 71 4.5.1 Viết tài liệu hướng dẫn sử dụng 71 CHƯƠNG 5: KẾT QUẢ – NHẬN XÉT – ĐÁNH GIÁ 73 5.1 KẾT QUẢ 73 5.2 NHẬN XÉT, ĐÁNH GIÁ 81 CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 83 6.1 KẾT LUẬN 83 6.2 HƯỚNG PHÁT TRIỂN 83 TÀI LIỆU THAM KHẢO .84 vii DANH MỤC HÌNH Hình Module cảm biến gia tốc MPU -6050 10 Hình 2 Kit Vi điều khiển arduino pro mini 21 Hình Kit Vi điều khiển Arduino Nano V3.0 22 Hình Module Bluetooth HC-05 25 Hình Module Bluetooth HC – 06 26 Hình Module cầu H BTS7960 27 Hình Cảm biến khoảng cách VL53L0X 29 Hình Servo SG90 30 Hình Mạch giảm áp DC LM2596 3A 31 Hình 10 Chuẩn truyền thông UART 32 Hình 11 Ví dụ chuẩn truyền thông I²C 33 Hình Sơ đồ khối hệ thống 36 Hình Định hướng trục cảm biến MPU-6050 38 Hình 3 Hướng trục góc quay 39 Hình Sơ đồ tín hiệu cảm biến MPU-6050 40 Hình Sơ đồ nguyên lý xử lý tín hiệu MPU-6050 42 Hình Hình ảnh động xe lăn 43 Hình Sơ đồ nguyên lý mạch điều khiển động 44 Hình Sơ đồ nguyên lý khối cảm biến khoảng cách VL53L0X servo 45 Hình Hình ảnh Acquy xe lăn điện 46 Hình 10 Sơ đồ nguyên lý khối nguồn acquy 47 Hình 11 Sơ đồ nguyên lý khối xử lý tín hiệu cảm biến MPU-6050 48 Hình 12 Sơ đồ nguyên lý khối xử lý tín hiệu, điều khiển động 49 Hình Nguồn acquy công tắc 50 Hình hình ảnh tai nghe 51 Hình Vị trí lắp đặt cảm biến MPU-6050 52 viii ĐỒ ÁN TỐT NGHIỆP TÀI LIỆU THAM KHẢO [1] Việt Nam công bố kết Điều tra Quốc gia quy mô lớn người khuyết tật (2016) – www.unicef.org – 1/2019 [2] Gyro-Accelerometer based Control of an Intelligent Wheelchair Received 19 December 2017, Published online: June2018 [3] An Introduction to MEMS (Micro-electromechanical Systems) - Prime Faraday Technology Watch – 01/ 2002 [4] Ryan Goodrich – Accelerometer - What They Are and How They Work LiveScience Contributor – 01/10/2013 [5] Con quay hồi chuyển - www.wikipedia.org [6] A Guide to using IMU (Accelerometer and Gyroscope Devices) in Embedded Applications - www.starlino.com – 12/2009 [7] Gadget Gangster - Accelerometer & Gyro Tutorial - www.instructables.com [8] InverseSense Inc (2011), “MPU-6000 and MPU-6050 Product Specification Revision 3.1”, PS-MPU-6000A-00 Rev 3.1, 24/10/2011 [9] BTS 7960 high current PN half bridge datasheet – 12/2004 [10] Stmicroelectronics - VL53L0X datasheet – 4/2018 [11] Giới Thiệu Giao Diện Arduino IDE – www.hourofcode.vn [12] Introduction to Kalman Filter – www.kalmanfilter.net SÁCH THAM KHẢO [13] Nguyễn Đình Phú, “Giáo trình vi xử lý”, NXB Trường ĐH Sư Phạm Kỹ Thuật Tp.HCM,2016 [14] Phạm Quang Huy, “Arduino dành cho người tự học” , NXB Thanh Niên , 2019 [15] Hanoi Aptech , “Giáo trình lập trình C “ , NXB Hà Nội [16] Rafia Hassani, Mohamed Boumehraz, Maroua Hamzi, Zineb Habba – GyroAccelerometer based Control of an Intelligent Wheelchair – 06/2018 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 84 ĐỒ ÁN TỐT NGHIỆP PHỤ LỤC Chương trình xử lý tín hiệu cảm biến MPU-6050 #include //Thư viện giao tiếp I2C #include #include SoftwareSerial BTSerial(3, 4); // RX | TX const int MPU_addr=0x68; //Địa I2C MPU6050 int16_t AcX,AcY,AcZ,Tmp,GyX,GyY,GyZ; float accX,accY,accZ; float gyroX, gyroY, gyroZ; float angleAccX,angleAccY,angleAccZ; float gyroXoffset,gyroYoffset,gyroZoffset; float angleX,angleY,angleZ ; float angleGyroX,angleGyroY,angleGyroZ; float preInterval,interval; float gyroX_K,gyroY_K,gyroZ_K; float angleX_K,angleY_K,angleZ_K; boolean straight_sig,back_sig,right_sig,left_sig; boolean flat_straight,flat_back_1,flat_back_2,allow_straight,allow_back,enable; int a,b,c,d; int a1; //khai báo lọc SimpleKalmanFilter simpleKalmanFilter_angleX(1, 1, 0.01); SimpleKalmanFilter simpleKalmanFilter_angleY(1, 1, 0.001); SimpleKalmanFilter simpleKalmanFilter_angleZ(1, 1, 0.001); SimpleKalmanFilter simpleKalmanFilter_GyroX(1, 1, 0.01); SimpleKalmanFilter simpleKalmanFilter_GyroY(1, 1, 0.001); SimpleKalmanFilter simpleKalmanFilter_GyroZ(1, 1, 0.001); void calcGyroOffsets(){ float x=0,y=0,z=0; int16_t rx, ry, rz; for (int i = 0;i