1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án tốt nghiệp Quadcopter sử dụng Arduino và MPU 6050

83 29 2

Đ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

ĐỒ ÁN TỐT NGHIỆP Đề tài Nghiên cứu, thiết kế mô hình máy bay không người lái Quadcopter sử dụng Arduino và Cảm biến MPU 6050.Đồ án sử dụng bộ điều khiển PID.Đề tài Nghiên cứu, thiết kế mô hình máy bay không người lái Quadcopter sử dụng Arduino và Cảm biến MPU 6050.Đồ án sử dụng bộ điều khiển PIDĐề tài Nghiên cứu, thiết kế mô hình máy bay không người lái Quadcopter sử dụng Arduino và Cảm biến MPU 6050.Đồ án sử dụng bộ điều khiển PID

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CƠ KHÍ  - - ĐỒ ÁN TỐT NGHIỆP Đề tài: Nghiên cứu, thiết kế mơ hình máy bay không người lái Giáo viên hướng dẫn : TH.S Khuất Đức Dương Sinh viên thực : Giáp Ngọc Hải – 2018603751 Nguyễn Dương Phi – 2018603846 Nguyễn Văn Hải - 2018605186 Lớp: ĐH CƠ ĐIỆN TỬ – K13 Hà Nội: 2022 Hà Nội: 2020 Hà Nội: 2020 BỘ CƠNG THƯƠNG CỘNG HỒ XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI Độc lập - Tự - Hạnh phúc Hà Nội: 2020 PHIẾU GIAO ĐỀ TÀI ĐỒ ÁN TỐT NGHIỆP HàNGHỆ Nội: 2020 CHUYÊN NGÀNH CÔNG KỸ THUẬT CƠ ĐIỆN TỬ Họ tên sinh viên: Hà Nội: 2020 Giáp Ngọc Hải Mã SV: 2018603751 Lớp: CĐT 02 Khóa:13 Nguyễn Văn Hải Mã SV: 2018605186 Lớp: CĐT 02 Khóa:13 3.Nguyễn Dương Phi Hà Nội: 2020 Mã SV: 2018603846 Lớp: CĐT 02 Khóa:13 Tên đề tài: Nghiên cứu, thiết kế mơ hình máy bay không người lái Hà Nội: 2020 Mục tiêu đề tài: - Nghiên cứu xây dựng mơ hình máy bay không người lái - Điều khiển máy bay ổn định, di chuyển theo hướng mong muốn Hà Nội: 2020 kiểm soát tốc độ máy bay Kết dự kiến Hà Nội: 2020 - Xây dựng mơ hình máy bay khơng người lái - Xây dựng vẽ hệ thống khí hệ thống điều khiển; - Xây dựng phương pháp điều khiển cho máy bay không người lái Hà Nội: 2020 Thời gian thực hiện: từ 21/03/2022 đến 22/05/2022 Hà Nội: 2020 GIÁO VIÊN HƯỚNG DẪN PHỤ TRÁCH KHOA Hà Nội: 2020 Th.S Khuất Đức Dương Hà Nội: 2020 PGS.TS Hoàng Tiến Dũng Hà Nội: 2020 NỘI DUNG THỰC HIỆN Hà Nội: 2020 Hà Nội: 2020 Bố cục thuyết minh đề tài: Hà Nội: 2020 Nội dung nghiên cứu SV thực Chương 1: Tổng quan máy bay không người lái Hà Nội: 2020 1.1 Lịch sử hình thành Giáp Ngọc Hải 1.2 Mục tiêu đề tài Nguyễn Văn Hải Hà Nội: 2020 1.3 Phương pháp, phạm vi, giới hạn nghiên cứu Nguyễn Dương Phi Chương 2: Cơ sở lý thuyết hệ thống 2.1 Lý thuyết bay điều khiển máy Hà bayNội: không 2020người lái Giáp Ngọc Hải 2.2 Mơ hình động học máy bay khơng người lái Nguyễn Văn Hải 2.3 Mơ hình động lực học máy bay không người lái Nguyễn Dương Phi Hà Nội: 2020 Chương 3: Tính tốn thiết kế hệ thống 3.1 Tính tốn, thiết kế hệ thống khí Giáp Ngọc Hải Hà Nội: 2020 3.2 Tính tốn, thiết kế hệ thống điều khiển Nguyễn Văn Hải Chương 4: Kết luận định hướng phát triển 4.1 Kết đạt Nguyễn Dương Phi Hà Nội: 2020 4.2 Định hướng phát triển Hà Nội: 2020 Bản vẽ: TT Nguyễn Dương Phi Tên vẽ Khổ Số SV thực Hà Nội: 2020 lượng giấy Bản vẽ lắp hệ thống khí Bản vẽ hệ thống điều khiển Lưu đồ thuật toán điều khiển A0 Giáp Ngọc Hải A1 Nguyễn Văn Hải A1 Nguyễn Văn Hải Hà Nội: 2020 Mơ hình/ sản phẩm (nếu có) Hà Nội: Trình bày ngắn gọn thơng số kỹ thuật 2020 mơ hình/ sản phẩm Nội dung công việc SV thực Hàđộng Nội: 2020 - Chế tạo, lắp ráp hệ thống truyền - Lắp ráp mạch điều khiển - Lắp ráp mạch động lực Giáp Ngọc Hải Nguyễn Văn Hải Hà Nội: 2020 Hà Nội: 2020 Nguyễn Dương Phi Lời cảm ơn Trước tiên chúng em xin gửi lời cảm ơn chân thành đến thầy Khuất Đức Dương tạo điều kiện tận tình hướng dẫn, góp ý, động viên chúng em suốt trình nghiên cứu thực đồ án tốt nghiệp Chúng em chân thành cảm ơn thầy cô trường Đại Học Công Nghiệp Hà Nội trang bị cho chúng em nhiều kiến thức quan trọng, bổ ích để chúng em áp dụng, sáng tạo làm đồ án tốt nghiệp Trong toàn đồ án này, cố gắng nhiều không tránh nhiều thiếu sót Mong q thầy thơng cảm bảo chúng em để đề tài hoàn thiện Chúng em xin chân thành cảm ơn! Mục lục: CHƯƠNG 1: TỔNG QUAN 1.1 LỊCH SỬ HÌNH THÀNH 1.2 TÍNH CẤP THIẾT CỦA ĐỀ TÀI .2 1.3 MỤC TIÊU ĐỀ TÀI 1.4 PHƯƠNG PHÁP, PHẠM VI, GIỚI HẠN NGHIÊN CỨU CHƯƠNG 2: CƠ SỞ LÝ THUYẾT .5 2.1 LÝ THUYẾT BAY, ĐIỀU KHIỂN CỦA QUADCOPTER .5 2.2 ĐỘNG HỌC VÀ PHƯƠNG TRÌNH TỐN HỌC 2.2.1 Khái niệm bậc tự hệ quy chiếu 2.2.2 Các góc Euler .9 2.2.3 Mô tả chuyển động .12 2.3 LÝ THUYẾT BỘ ĐIỀU KHIỂN PID 23 2.3.1 Khâu tỉ lệ 24 2.3.2 Khâu tích phân 24 2.3.3 Khâu vi phân 25 2.3.4 Cách hoạt động xác lập thông số PID 25 2.3.5 Điều chỉnh thủ công 26 2.3.6 Phương pháp Ziegler-Nichols 26 2.3.7 Xây dựng thuật toán điều khiển 27 2.4 LƯU ĐỒ ĐIỀU KHIỂN CẤT CÁNH, HẠ CÁNH, TỚI LÙI, TRÁI PHẢI 28 2.4.1 Lưu đồ điều khiển cất cánh, hạ cánh 28 2.4.2 Lưu đồ điều khiển tiến lùi 29 2.4.3 Lưu đồ điều khiển trái phải 30 CHƯƠNG 3: TÍNH TỐN THIẾT KẾ HỆ THỐNG 31 3.1 LINH KIỆN 31 3.1.1 Khung quadcopter 31 3.1.2 Động DC không chổi than 31 3.1.3 Bộ điều tốc – ESC( Electronic speed controler) 34 3.1.4 Cảm biến MPU6050 35 3.1.5 Board điều khiển – Board Arduino Uno 37 3.1.6 Nguồn cấp (pin) 38 3.1.7 Cánh quạt 39 3.1.8 Bộ RX – TX tay cầm Flysky I6 40 3.2 SƠ ĐỒ NGUN LÍ TỒN MẠCH .41 3.3 THIẾT KẾ HỆ THỐNG 42 3.4 LƯU ĐỒ GIẢI THUẬT 43 3.4.1 Khối khởi động 43 3.4.2 Khối khởi tạo thông số MPU 6050 43 3.4.3 Khối kiểm tra Receiver 44 3.4.4 Chuẩn hóa tín hiệu từ receiver 1000us – 2000us 45 3.4.5 Khối lấy giá trị Gyro chuyển vào PID .45 3.4.6 Khối kiểm tra điều kiện khởi động 45 3.4.7 Khối tính toán PID .46 3.4.8 Khối cấp xung cho ESC .47 3.5 THIẾT KẾ MƠ HÌNH TRÊN SOLIDWORK 47 CHƯƠNG 4: KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN 48 4.1 MƠ HÌNH LẮP RÁP HỒN THIỆN 48 4.2 MÔ PHỎNG VÀ KẾT QUẢ TRÊN MATLAB SIMULINK 48 4.3 KẾT QUẢ ĐẠT ĐƯỢC 52 4.4 HƯỚNG PHÁT TRIỂN 54 KẾT LUẬN 56 DANH MỤC THAM KHẢO .57 PHỤ LỤC .1 Danh mục hình ản Hình Chiều quay động .6 Hình 2 Hệ quy chiếu qn tính Hình Hệ quy chiếu drone Hình chuyển động quay chuyển động tịnh tiến Hình Nhân ma trận 10 Hình phép quay 10 Hình Quy ước chiều hệ tọa độ Drone 16 Hình Chuỗi phép quay góc euler 21 Hình sơ đồ khối điều khiển PID .23 Hình 10 sơ đồ khối hệ điều khiển cân 27 Hình 11 Tín hiệu điều khiển hoàn chỉnh 27 Hình 12 Sơ đồ khối điều khiển cất cánh 28 Hình 13 Sơ đồ khối điều khiển tiến lùi 29 Hình 14 Sơ đồ điều khiển trái phải 30 Y Hình Khung quadcopter 31 Hình Động khơng chổi than DC .32 Hình 3 ESC .34 Hình Sơ đồ kết nối ESC- 30A với pin, động BLDC Arduino 35 Hình MPU6050 36 Hình Board Arduino Uno 37 Hình Cấu tạo Board Arduino Uno .37 Hình Pin lipo .39 Hình Cánh quạt 40 Hình 10 Bộ tay điều khiển kênh Fly Sky I6 40 Hình 11 Sơ đồ nguyên lý 41 Hình 12 Sơ đồ khối lý thuyết tay cầm điều khiển 42 Hình 13 Sơ đồ khối điều khiển trung tâm 42 Hình 14 Lưu đồ giải thuật 43 Hình 15 Giao thức I2C 44 Hình 16 Code kiểm tra Receiver 44 Hình 17 Code thực chuẩn hóa Receiver 45 Hình 18 Code đổi giá trị Gyro sang tốc độ góc 45 Hình 19 Code điều khiển để khởi động động 46 Hình 20 Code PID 46 Hình 21 Code cấp xung cho ESC 47 Hình 22 Mơ hình solidwork 47 Hình Mơ hình lắp ráp hoàn thiện 48 Hình Sơ đồ khối 49 Hình Khối biến đổi omega 49 Hình 4 Khối tính gia tốc góc 50 Hình Khối tính gia tốc tuyến tính .50 Hình Khối PID 51 Hình Đồ thị góc theta 51 Hình Một số hình ảnh bay 52 Hình Một số hình ảnh bay 52 Hình 10 Một số hình ảnh bay 53 Hình 11 Một số hình ảnh bay lỗi 53 Hình 12 Một số hình ảnh bay lỗi 54 Hình 13 Một số hình ảnh bay lỗi 54 Tóm Tắt Hiện thời đại cơng nghiệp hóa đại hóa đất nước, với bùng nổ phát triển nhanh chóng khoa học công nghệ làm cho kinh tế phát triển nhanh chóng đời sống người cải thiện Các thiết bị máy móc cơng nghiệp, cơng trình nghiên cứu khoa học tự động hóa ứng dụng rộng rãi nhằm tăng suất, hiệu lao động nhiều lĩnh vực như: giao thông, xây dựng, sản xuất công nghiệp, thiết bị y tế, quân sự, Ngoài ứng dụng nêu trên, không dừng lại với ứng dụng mặt đất mà người nghiên cứu ứng dụng không nhiều Cụ thể nghiên cứu thiết bị, vật thể bay nhằm mục đích chinh phục không trung vũ trụ Với việc chế tạo thiết bị bay có khả di chuyển vào địa hình nguy hiểm (như hang động, vực sâu) mà người đặt chân tới được; thu thập, giám sát gửi liệu từ camera máy tính Với mong muốn nghiên cứu mơ hình máy bay điều khiển giúp ích cho người phun thuốc trừ sâu hay vận chuyển đồ đạc cứu trợ đồng bào bị lũ lụt mà phương tiện đường khơng tới Mục đích đồ án nghiên cứu, thiết kế thi công mơ hình máy bay khơng người lái bao gồm vấn đề sau: • Chương Tổng Quan: Lịch sử hình thành, mục tiêu đề tài, phương pháp phạm vi giới hạn nghiên cứu • Chương Cơ Sở Lý Thuyết: Lý thuyết bay điều khiển máy bay khơng người lái, Mơ hình động học máy bay khơng người lái, Mơ hình động lực học máy bay khơng người lái • Chương Thiết Kế Tính Tốn: Tính tốn, thiết kế hệ thống khí, Tính tốn, thiết kế hệ thống điều khiển • Chương Kết luận định hướng phát triển: Kết đạt định hướng phát triển if(cal_int % 15 == 0)digitalWrite(12, !digitalRead(12)); đèn led để hiệu chuẩn gyro_signalen(); //Thay đổi trạng thái //Đọc đầu quay hồi chuyển gyro_axis_cal[1] += gyro_axis[1]; thành gyro_roll_cal //Giá trị cuộn quảng cáo gyro_axis_cal[2] += gyro_axis[2]; gyro_axis_cal[3] += gyro_axis[3]; // Cung cấp xung 1000us hiệu chỉnh quay hồi chuyển PORTD |= B11110000; high //Set digital poort 4, 5, and delayMicroseconds(1000); //Wait 1000us PORTD &= B00001111; low delay(3); loop //Set digital poort 4, 5, and //Wait milliseconds before the next } //Chia cho 2000 để có phần bù quay hồi chuyển trung bình gyro_axis_cal[1] /= 2000; //Chia tổng số cuộn cho 2000 gyro_axis_cal[2] /= 2000; gyro_axis_cal[3] /= 2000; PCICR |= (1 1508)pid_pitch_setpoint = receiver_input_channel_2 1508; else if(receiver_input_channel_2 < 1492)pid_pitch_setpoint = receiver_input_channel_2 1492; pid_pitch_setpoint -= pitch_level_adjust; pid_pitch_setpoint /= 3.0; //Điểm đặt PID tính độ giây xác định đầu vào thu yaw //Trong trường hợp chia cho 3, tốc độ ngáp tối đa khoảng 164 độ giây ((500-8) / = 164d / s) pid_yaw_setpoint = 0; //Chúng ta cần dải nhỏ 16us để có kết tốt if(receiver_input_channel_3 > 1050){ //Không ngáp tắt động if(receiver_input_channel_4 > 1508)pid_yaw_setpoint = (receiver_input_channel_4 1508)/3.0; else if(receiver_input_channel_4 < 1492)pid_yaw_setpoint = (receiver_input_channel_4 - 1492)/3.0; } calculate_pid(); tính tốn đầu pid //Đầu vào PID biết Vì vậy, //Điện áp pin cần thiết để bù //Một lọc bổ sung sử dụng để giảm tiếng ồn //0.09853 = 0.08 * 1.2317 battery_voltage = battery_voltage * 0.92 + (analogRead(0) + 65) * 0.09853; //Bật đèn LED điện áp pin thấp if(battery_voltage < 1000 && battery_voltage > 600)digitalWrite(12, HIGH); throttle = receiver_input_channel_3; tín hiệu //Chúng ta cần tín hiệu ga if (start == 2){ if (throttle > 1800) throttle = 1800; trống để giữ tồn quyền kiểm sốt mức tối đa //Chúng tơi cần số khoảng esc_1 = throttle - pid_output_pitch + pid_output_roll - pid_output_yaw; //Calculate the pulse for esc (front-right - CCW)//Tính tốn xung cho esc (phía trước bên phải - CCW) esc_2 = throttle + pid_output_pitch + pid_output_roll + pid_output_yaw; //Calculate the pulse for esc (rear-right - CW) esc_3 = throttle + pid_output_pitch - pid_output_roll - pid_output_yaw; //Calculate the pulse for esc (rear-left - CCW) esc_4 = throttle - pid_output_pitch - pid_output_roll + pid_output_yaw; //Calculate the pulse for esc (front-left - CW) if (battery_voltage < 1240 && battery_voltage > 800){ khơng? //Pin có kết nối esc_1 += esc_1 * ((1240 - battery_voltage)/(float)3500); sụt giảm điện áp //Bù xung esc-1 cho esc_2 += esc_2 * ((1240 - battery_voltage)/(float)3500); esc_3 += esc_3 * ((1240 - battery_voltage)/(float)3500); esc_4 += esc_4 * ((1240 - battery_voltage)/(float)3500); } if (esc_1 < 1100) esc_1 = 1100; if (esc_2 < 1100) esc_2 = 1100; if (esc_3 < 1100) esc_3 = 1100; if (esc_4 < 1100) esc_4 = 1100; if(esc_1 > 2000)esc_1 = 2000; 2000us //Giới hạn xung esc-1 đến if(esc_2 > 2000)esc_2 = 2000; if(esc_3 > 2000)esc_3 = 2000; if(esc_4 > 2000)esc_4 = 2000; } else{ esc_1 = 1000; giữ xung 1000us cho ess-1 //Nếu bắt đầu 2, esc_2 = 1000; esc_3 = 1000; esc_4 = 1000; } //////////////////////////////////////////////////////////////////////////////////////////////////// if(micros() - loop_timer > 4050)digitalWrite(12, HIGH); thời gian vòng lặp vượt 4050us //Bật đèn LED //tần số 250Hz Điều có nghĩa nhu cầu esc có xung sau 4ms while(micros() - loop_timer < 4000); 4000us thông qua loop_timer = micros(); lặp PORTD |= B11110000; high //Chúng chờ đợi //Đặt đếm thời gian cho vòng //Set digital outputs 4,5,6 and timer_channel_1 = esc_1 + loop_timer; timer_channel_2 = esc_2 + loop_timer; timer_channel_3 = esc_3 + loop_timer; timer_channel_4 = esc_4 + loop_timer; //Nhận liệu quay hồi chuyển rx chia tỷ lệ thành độ giây cho phép tính pid gyro_signalen(); while(PORTD >= 16){ đầu 4,5,6 mức thấp esc_loop_timer = micros(); //Ở vòng lặp //Đọc thời gian if(timer_channel_1

Ngày đăng: 15/06/2022, 09:18

Xem thêm:

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w