Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 77 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
77
Dung lượng
4,54 MB
Nội dung
BỘ CÔNG THƯƠNG 2022 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CƠ KHÍ - NGHIÊN CỨU, THIẾT KẾ MƠ HÌNH BAY QUADCOPTER ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH: CÔNG NGHỆ KỸ THUẬT CƠ ĐIỆN TỬ ĐỀ TÀI: NGHIÊN CỨU, THIẾT KẾ MƠ HÌNH BAY QUADCOPTER ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CÔNG NGHỆ KỸ THUẬT CƠ ĐIỆN TỬ CBHD: TS Trần Ngọc Tiến Sinh viên: Phạm Ngọc Hiểu 2018605673 Nguyễn Ngọc Đạt 2018605256 Chu Danh Hiếu HÀ NỘI - 2022 2018605641 LỜI NÓI ĐẦU Ngày này, khoa học kĩ thuật nước ta giới phát triển cực mạnh mẽ có bước đột phá mới, chất lượng đời sống ngày nâng cao Cùng với xu cơng nghiệp hóa, đại hóa nước ta nước giới, hệ thống tự động dần đưa vào áp dụng để thay cơng việc có tính chất nguy hiểm cao Tuy nhiên, hệ thống máy bay không người lái nước ta chưa áp dụng nhiều trường hợp, vận dụng người Với mục đích nghiên cứu có tính ứng dụng ý nghĩa thực tiễn nên nhóm chọn đề tài “Nghiên cứu thiết kế hệ thống bay không người lái Quadcopter” để giải vấn đề đảm bảo tính an tồn cho người nước ta Đồ án tốt nghiệp kết vận dụng kiến thức học vào thực tế để thiết kế lập trình cho hệ thống Cũng nhờ mà người thực hiểu rõ học mà chưa có hội để ứng dụng vào thực tiễn Đề tài “Nghiên cứu thiết kế mơ hình bay khơng người lái Quadcopter” sở để người thực thiết kế hệ thống tự động thực tế sau Trong trình thực đề tài này, thời gian có hạn nên chắn khơng tránh khỏi thiếu sót, mong nhận đóng góp ý kiến quý thầy giáo bạn đọc để nhóm thực bổ sung vào vốn kiến thức cịn thiếu Để hồn thành tốt đề tài nhóm nghiên cứu xin gửi lời cảm ơn đến thầy Trần Ngọc Tiến giáo viên hướng dẫn bảo hướng dẫn tận tình đề tài đồ án tốt nghiệp để chúng tơi hồn thành tốt đề tài “Nghiên cứu thiết kế mơ hình bay Quadcopter” Đồng thời nhóm xin cảm ơn Trường Đại Học Công Nghiệp Hà Nội, thầy Khoa Cơ Khí giúp đỡ, cung cấp cho kiến thức vô quý báu suốt năm học, làm sở cho chúng tơi hồn thành đồ án tốt nghiệp Em xin chân thành cảm ơn! MỤC LỤC LỜI NÓI ĐẦU MỤC LỤC DANH MỤC HÌNH ẢNH DANH MỤC BẢNG BIỂU CHƯƠNG TỔNG QUAN VỀ QUADCOPTER 1.1 Lịch sử nghiên cứu 1.2 Mục tiêu đề tài 1.3 Phương pháp thực đề tài 1.3.1 Phương pháp nghiên cứu lí thuyết 1.3.2 Phương pháp nghiên cứu thực nghiệm .9 CHƯƠNG MƠ HÌNH TỐN HỌC QUADCOPTER 10 2.1 Nguyên lí hoạt động máy bay 10 2.2 Mơ hình hóa hệ thống 11 2.2.1 Các hệ quy chiếu 11 2.2.2 Các góc Euler 13 2.2.3 Mô tả chuyển động 16 2.3 Mô hệ thống bay Quadcopter 26 2.3.1 Mô hệ thống điều khiển vòng hở 26 2.3.2 Mơ hệ thống điều khiển vịng kín 29 CHƯƠNG TÍNH TỐN, THIẾT KẾ MƠ HÌNH QUADCOPTER 32 3.1 Tính tốn, thiết kế hệ thống khí 32 3.1.1 Quy trình tính tốn thiết kế hệ thống khí 32 3.1.2 Thông số tổng thể 32 3.1.3 Tính tốn thơng số chế tạo 35 3.2 Tính tốn, thiết kế hệ thống điều khiển 37 3.2.1 Các thành phần hệ thống điều khiển 37 3.2.2 Mạch nguyên lý hệ thống điều khiển .51 3.2.3 Lưu đồ thuật toán điều khiển 52 3.3 Kết hướng phát triển 53 Tài liệu tham khảo .55 PHỤ LỤC 56 DANH MỤC HÌNH ẢNH Hình 2.1 Nguyên lý di chuyển quadcopter cộng .10 Hình 2.2 Nguyên lý di chuyển quadcopter nhân .11 Hình 2.3 Hệ quy chiếu quán tính 12 Hình 2.4 Hệ quy chiếu cố định với Drone 12 Hình 2.5 Mối quan hệ hệ quy chiếu quán tính vật 13 Hình 2.6 Mối quan hệ hệ quy chiếu có hướng 13 Hình 2.7 Các phép quay quanh trục tọa độ 14 Hình 2.8 Hướng quay theo thứ tự b1-b2-b3 15 Hình 2.9 Chuỗi phép quay góc Euler (Body 3-2-1) từ hệ quy chiếu quán tính (n) đến hệ quy chiếu cố định Drone (b) qua hệ quy chiếu trung gian b^'' b^' .17 Hình 2.10 Quy ước hướng quạt đại lượng kích thước 22 Hình 2.11 Mơ hình vịng hở điều khiển Quadcopter đầu vào lực cánh quạt đầu góc quay Euler 26 Hình 2.12 Mơ hình điều khiển vịng hở sử dụng thư viện Aerospace Blockset .27 Hình 2.13 Mơ hệ điều khiển vịng hở với F1=F2=F3=F4 27 Hình 2.14 Mơ hệ thống vòng hở với (F1, F2) > (F3, F4) 28 Hình 2.15 Mơ hệ thống vịng hở với (F1, F3) > (F2, F4) 28 Hình 2.16 Mơ hệ thống vịng hở (F1, F4) > (F2, F3) 29 Hình 2.17 Mơ hình hệ thống điều khiển vịng kín góc quay Quadcopter 29 Hình 2.18 Mơ hình điều khiển vịng kín sử dụng thư viện Aerospace Blockset 30 Hình 2.19 Kết mơ hệ điều khiển vịng kín với góc ban đầu (-1;0;0) 30 Hình 2.20 Kết mơ hệ điều khiển vịng kín với góc ban đầu (0;1.5;0) .31 Hình 2.21 Kết mơ hệ điều khiển vịng kín với góc ban đầu (1.5;0.1; -1)31 Hình 3.1 Thiết kế khung hợp kim nhơm 33 Hình 3.2 Ống carbon 33 Hình 3.3 Cánh tay máy bay .34 Hình 3.4 Khung kết nối .34 Hình 3.5 Thiết kế hoàn thiện khung máy bay 35 Hình 3.6 Động pha không chổi than 35 Hình 3.7 Hình Bộ điều tốc 30A 36 Hình 3.8 Pin lipo Shang Yi 2200mah .36 Hình 3.9 Bộ cánh thuận nghịch kích thước 254mm (10inch) 36 Hình 3.10 Sơ đồ hệ thống điều khiển 37 Hình 3.11 Modul NRF24L01 39 Hình 3.12 Mạch Arduino Nano 40 Hình 3.13 Giao diện Arduino IDE 44 Hình 3.14 MPU 6050 .44 Hình 3.15 Cấu tạo Động khơng chổi than có chổi than 47 Hình 3.16 Động khơng chổi than 2212 – 1000Kv 48 Hình 3.17 Kích thước động khơng chổi than .48 Hình 3.18 Bộ điều tốc ESC 30A 49 Hình 3.19 Mạch nguyên lý hệ thống điều khiển Quadcopter 51 Hình 3.20 Mạch nguyên lý hệ thống điều khiển từ xa .51 Hình 3.21 Lưu đồ thuật tốn cân Quadcopter 1/2 52 Hình 3.22 Lưu đồ thuật tốn cân Quadcopter 2/2 53 Hình 3.23 Mơ hình Quadcopter hoàn thiện 54 Hình 3.24 Tay cầm điều khiển 54 DANH MỤC BẢNG BIỂU Bảng 3.1 Thông số kỹ thuật NRF24L01 39 Bảng 3.2 Thông số kỹ thuật Arduino Nano 41 Bảng 3.3 Chức chân Arduino Nano 42 Bảng 3.4 Chức chân ICSP 43 Bảng 3.5 Chức chân MPU 6050 .46 Bảng 3.6 Thông số motor không chổi than 2212 – 1000Kv .47 float accCoef = 0.02f, gyroCoef = 0.98f; long loop_timer = 0; RF24 radio(7,8); const byte address[6] = "00002"; int data[4]; int throttle=1000,power1,power2,power3,power4; Servo motor1,motor2,motor3,motor4; float roll_setpoint = 0.35 ,pitch_setpoint = -2.00,yaw_setpoint, roll_error_now,pitch_error_now,yaw_error_now, roll_error_last = 0,pitch_error_last = 0,yaw_error_last = 0, roll_error_mem = 0,pitch_error_mem = 0,yaw_error_mem = 0, roll_PID = 0,pitch_PID = 0,yaw_PID = 0, roll_P = 1.3, roll_I = 0.01, roll_D = 55.5, pitch_P = 1.3, pitch_I = 0.01, pitch_D = 55.5, yaw_P = 3.0, yaw_I = 0.01, yaw_D = 0, roll_control,pitch_control,yaw_control; int startup = 0; void mpu_update(); void writeMPU6050(byte reg, byte data); void motorWrite(int power1,int power2,int power3,int power4); void calculate_PID(); void setup() { Serial.begin(9600); 59 motor1.attach(3); motor2.attach(5); motor3.attach(6); motor4.attach(9); motorWrite(1000,1000,1000,1000); radio.begin(); radio.openReadingPipe(0, address); radio.setPALevel(RF24_PA_MIN); radio.startListening(); pinMode(4,OUTPUT); digitalWrite(4,0); Wire.begin(); writeMPU6050(MPU6050_SMPLRT_DIV, 0x00); writeMPU6050(MPU6050_CONFIG, 0x00); writeMPU6050(MPU6050_GYRO_CONFIG, 0x08); writeMPU6050(MPU6050_ACCEL_CONFIG, 0x00); writeMPU6050(MPU6050_PWR_MGMT_1, 0x01); angleGyroX = 0; angleGyroY = 0; preInterval = millis(); float x = 0, y = 0, z = 0; int16_t rx, ry, rz; for(int i = 0; i < 3000; i++){ Wire.beginTransmission(MPU6050_ADDR); Wire.write(0x43); Wire.endTransmission(false); Wire.requestFrom((int)MPU6050_ADDR, 6); rx = Wire.read() 1000 ) startup = 1; else startup = 0; mpu_update(); if(startup) { digitalWrite(4,1); if(throttle < 1200) 62 { power1=throttle; power2=throttle; power3=throttle; power4=throttle; motorWrite(power1, power2, power3, power4);} else { calculate_PID(); power1 = throttle - yaw_PID - pitch_PID - roll_PID; power2 = throttle + yaw_PID - pitch_PID + roll_PID; power3 = throttle - yaw_PID + pitch_PID + roll_PID; power4 = throttle + yaw_PID + pitch_PID - roll_PID; if(power1>2000) power1=2000;if(power12000) power2=2000;if(power22000) power3=2000;if(power32000) power4=2000;if(power4