Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 43 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
43
Dung lượng
11,91 MB
Nội dung
tieuluanmoi123docz.net TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ o0o - ĐỒ ÁN KỸ THUẬT ROBOT THIẾT KẾ MƠ HÌNH VÀ BỘ ĐIỀU KHIỂN PID CHO MÁY BAY CÁNH GVHD: TS TRẦN ĐỨC THIỆN SVTH: PHẠM GIA NGHĨA-18151208 NGUYỄN ĐĂNG THĂNG-18151244 tieuluanmoi123docz.net Tp Hồ Chí Minh, tháng năm 2021 MỤC LỤC MỤC LỤC i DANH MỤC HÌNH ẢNH iii DANH MỤC BẢNG iv Chương Tổng Quan 1.1 Đặt vấn đề 1.2 Mục tiêu đề tài 1.3 Giới hạn đề tài 1.4 Nội dung đề tài Chương Cơ Sở Lý Thuyết 2.1 Tổng quan điều khiển động không chổi than 6 2.1.1 Giới thiệu động không chổi than 2.1.2 Nguyên lí làm việc quadcopter 2.2 Những phương pháp điều khiển động không chổi than: 2.2.1 Phương pháp sử dụng cảm biến vị trí: 2.2.2 Phương pháp không sử dụng cảm biến: 2.3 Điều khiển PID 2.4 Giao tiếp I2C Chương Thiết Kế Phần Cứng 10 11 3.1 Yêu cầu thiết kế 11 3.2 Sơ đồ khối hệ thống 11 3.3 Lựa chọn linh kiện 11 3.3.1 Lựa chọn module điều khiển trung tâm 11 3.3.2 Lựa chọn cảm biến 12 3.3.3 Lựa chọn mạch công suất ESC 13 3.3.4 Lựa chọn nguồn 14 3.3.5 Lựa chọn động 15 3.3.6 Lựa chọn mạch giảm áp 16 3.4 Sơ đồ nối dây tổng thể 18 3.5 Bảng danh mục thiết bị 18 Chương Thiết Kế Phần Mềm 19 4.1 Yêu cầu thiết kế: 19 4.2 Giải thuật điều khiển: 19 4.2.1 Lưu đồ 19 4.2.2 Đọc tín hiệu cảm biến 20 Chương Kết Quả 22 5.1 Phần cứng 22 5.2 Phần mềm 25 Chương Kết Luận Và Hướng Phát Triển 6.1 Kết luận 26 26 6.1.1 Công việc thực 26 6.1.2 Hạn chế đề tài 26 6.2 Hướng phát triển 26 Tài Liệu Tham Khảo 27 Phụ Lục 28 DANH MỤC HÌNH ẢNH Hình 2.1: Mơ tả chuyển động quadcopter Hình 3.1: Sơ đồ khối hệ thống 11 Hình 3.2: Sơ đồ chân MPU6050 12 Hình 3.3: Sơ đồ chân ESC 13 Hình 3.4: Pin Lipo 3s Turnigy 14 Hình 3.5: Động khơng chổi than 15 Hình 3.6: Sơ đồ chân LM2596 16 Hình 3.7: Sơ đồ chân Arduino Uno 17 Hình 3.8: Sơ đồ nối dây tổng thể 18 Hình 4.1: Lưu đồ giải thuật điều khiển 19 Hình 4.2: Lưu đồ giải thuật đọc tín hiệu từ MPU 21 Hình 5.1 Body Quadcopter 22 Hình 5.2 Phần cứng thiết kế Altium 22 Hình 5.3 Kết thi cơng phần cứng 23 Hình 5.4 Mơ hình hồn chỉnh 23 Hình 5.5 Kết trả từ cảm biến 25 DANH MỤC BẢNG Bảng 3.1 Thông số kỹ thuật MPU6050 12 Bảng 3.2 Thông số kỹ thuật ESC 13 Bảng 3.3 Thông số kỹ thuật pin 14 Bảng 3.4 Thông số kỹ thuật động 15 Bảng 3.5 Thông số kỹ thuật lm2596 16 Bảng 3.6 Thông số kỹ thuật Arduino Uno 17 Bảng 3.7 Danh mục thiết bị 18 Chương Tổng Quan 1.1 Đặt vấn đề Hiện nay, ngành kỹ thuật điều khiển tự động hóa phát triển Con người tạo loại máy móc thiết bị đại việc sản xuất từ tay chân người ngày chuyển sang tự động Máy móc đại tự động hóa giúp cho người có sản phẩm đạt độ xác cao, giúp tăng số lượng sản xuất tiết kiệm thời gian Trong số lĩnh vực dân dụng, quân hay khoa học vũ trụ người dần thay phương tiện bay có người lái thiết bị bay không người lái Quadcopter hay gọi Drone: thiết bị UAV (Unmaned Aerial Vihecle thiết bị khơng người lái) hoạt động tự động theo lập trình điều khiển từ xa, quadcopter sử dụng rộng rãi phổ biến nước phát triển mục đích như: qn sự, giao hàng hóa, rải phân, giám sát rừng, vườn thú hoang dã, quay phim, chụp ảnh từ cao, cứu hộ cứu nạn nơi hiểm trở, thu thập thơng tin khí tượng - Về lĩnh vực nghiên cứu điều khiển quadcopter, nước ta có số nghiên cứu ứng dụng chưa rộng rãi Một số nghiên cứu bật từ đơn giản Thiết kế Quadrotor để thu thập không ảnh [1], Ứng dụng điều khiển trượt thích nghi điều khiển chuyển động Quadcopter [2], Xây dựng mơ hình máy bay Drone [3], STT [1] Hình minh họa Mơ tả Thiết kế mơ hình máy bay trực thăng bốn cánh quạt (quadrotor) cỡ nhỏ có giá đỡ cho máy ảnh kỹ thuật số để thu thập khơng ảnh Sử dụng phương pháp trượt thích nghi xây dựng điều khiển mô matlab simulink [2] Giao diện xúc giác OBW cung cấp khả hiển thị tối đa cho người dùng để vận hành an toàn Sử dụng OBW để quan sát xe nâng giúp khắc phục điểm mù cấu hình cột xe nâng gây ra, hữu ích trường hợp thiếu sáng [3] - Về lĩnh vực thiết kế,điều khiển ứng dụng quadcopter, giới nghiên cứu từ lâu ứng dụng nhiều lĩnh vực, điển hình tránh va chạm vật thể [4], Tích hợp xử lý ảnh phát hư hại[5], Thay đổi hình dáng trình hoạt động [6], ứng dụng điều khiển thích nghi [7], vận chuyền tải dạng treo [8], … STT Hình minh họa Mơ tả Nhận dạng trường hợp xảy q trình vận hành để tránh va chạm [4] Quadcopter kết hợp xử lý ảnh phát vết nứt, hư hại bề mặt đường từ xa [5] Bốn cánh tay gập duỗi làm thay đổi hình dáng trình hoạt [6] động Ứng dụng điều khiển thích nghi thiết kế chế tạo mơ hình quadcopter [7] Thiết kế hệ thống tự động theo dõi cân vận chuyển hàng hóa treo khơng [8] - Các vấn đề cịn tồn tại: + Mơ hình động học đơn giản chưa xét đến yếu tố môi trường Thiết kế quadcopter sử dụng vi điều khiển Arduino điều khiển PID: - Ít tốn kém: Bảng mạch Arduino có giá thành tương đối rẻ so với tảng vi điều khiển khác - Đa tảng: Phần mềm Arduino IDE chạy hệ điều hành Windows, Macintosh OSX Linux - Mã nguồn mở phần mềm mở rộng: Phần mềm Arduino xuất dạng cơng cụ nguồn mở Ngơn ngữ mở rộng thông qua thư viện C++ - Nguồn mở phần cứng mở rộng: Phần cứng dễ dàng tìm thấy mạng nhà thiết kế mạch có kinh nghiệm dễ dàng tạo phiên riêng họ - Các điều khiển khác ON/OFF có độ xác khơng cao, điều khiển bị dao động quanh giá trị đặt không ổn định, điều khiển Fuzzy thường tạo đáp ứng vượt qua điểm đặt cao sai số xác lập lớn => Vì lựa chọn điều khiển PID có ưu điểm điều khiển với độ xác cao, tiết kiệm lượng tối đa đảm bảo ổn định hệ thống 1.2 Mục tiêu đề tài ● Thiết kế, thi cơng mơ hình quadcopter ● Thiết kế điều khiển PID ổn định Chương Kết Quả Chương Kết Quả 5.1 Phần cứng Hình 5.1 Body Quadcopter - Body quadcopter thiết kế phần mềm Autodesk Inventor in 3d với độ đặc 50% có chắn hạn chế rủi ro hư hỏng gặp cố va đập 27 Chương Kết Quả Hình 5.2 Phần cứng thiết kế Altium - Phần cứng thiết kế phần mềm Altium Designer - Phần cứng chia thành tầng: +Tầng 1: thiết bị công suất bố trí tầng để thuận tiện cho việc kết nối với động cánh tay địn Bên phải cơng tắc nguồn để người điều khiển dễ dàng đóng, ngắt nguồn Xung quanh jack để kết nối nguồn pin với chân nguồn driver điều khiển động Ở module LM2596 hạ áp từ nguồn pin để cấp nguồn Arduino +Tầng 2: Các thiết bị điều khiển bố trí tầng bao gồm Arduino Uno, MPU6050 jack ngõ cấp xung điều khiển động 28 Chương Kết Quả Hình 5.3 Kết thi cơng phần cứng Hình 5.4 Mơ hình hoàn chỉnh 5.2 Phần mềm Giao diện GUI lập trình C#-WPF -WPF, viết tắt Windows Presentation Foundation, hệ thống API hỗ trợ việc xây dựng giao diện đồ hoạ Windows -WPF xem hệ WinForms, WPF tăng cường khả lập trình giao diện lập trình viên cách cung cấp API cho phép tận dụng lợi đa phương tiện đại Ưu điểm WPF: ✔ Nó phù hợp với tiêu chuẩn ✔ Microsoft sử dụng cho nhiều ứng dụng mới, ví dụ: Visual Studio ✔ Nó linh hoạt hơn, làm nhiều việc mà khơng phải viết mua control 29 Chương Kết Quả ✔ XAML giúp dễ dàng tạo chỉnh sửa GUI bạn cho phép công việc phân chia nhà thiết kế (XAML) lập trình viên (C #, VB.NET, v.v.) ✔ Databinding, cho phép bạn có tách biệt data layout ✔ Sử dụng tăng tốc phần cứng để vẽ GUI, để có hiệu suất tốt ✔ Nó cho phép bạn tạo giao diện người dùng cho ứng dụng Windows ứng dụng web (Silverlight / XBAP) 30 Chương Kết Quả Hình 5.5.a Kết trả từ cảm biến hiển thị giao diện GUI Hình 5.5.b Kết trả từ cảm biến hiển thị giao diện GUI 31 Chương Kết Luận Và Hướng Phát Triển Chương Kết Luận Và Hướng Phát Triển 6.1 Kết luận 6.1.1 Công việc thực Trong trình thực đề tài sinh viên làm nội dung sau: - Tìm hiểu mơ hình quadcopter - Thiết kế phần cứng, thi cơng mạch - Lập trình điều khiển hệ thống 6.1.2 Hạn chế đề tài Bên cạnh nội dung đạt được, hệ thống hạn chế sau: - Bộ điều khiển PID chưa tối ưu - Cấu hình chọn phù hợp với điều kiện môi trường học tập, nghiên cứu 6.2 Hướng phát triển Các hướng phát triển thêm hệ thống: - Tích hợp cánh tay gắp vật, camera giám sát, nhận dạng - Kết hợp xử lý ảnh, AI - Cảm biến thời tiết, nhiệt độ, độ ẩm, … 32 Tài Liệu Tham Khảo [1] T Cao-hoang, N Tran, C Nguyen, and C Nguyen, “Thiết Kế Quadrotor Để Thu Thập Không Ảnh,” no August 2015, 2014 [2] V Van To, “Ứng Dụng Điều Khiển Trượt Thích Nghi Điều Khiển Chuyển Động Của Quadcopter,” 2015 [3] M Q Model, “Thiết kế chế tạo mơ hình máy bay-quadrocopter,” pp 2–8, 2012 [4] A Behjat, S Paul, and S Chowdhury, “Learning reciprocal actions for cooperative collision avoidance in quadrotor unmanned aerial vehicles,” Rob Auton Syst., vol 121, p 103270, 2019, doi: 10.1016/j.robot.2019.103270 [5] H Zakeri, F M Nejad, and A Fahimifar, “Rahbin: A quadcopter unmanned aerial vehicle based on a systematic image processing approach toward an automated asphalt pavement inspection,” Autom Constr., vol 72, pp 211–235, 2016, doi: 10.1016/j.autcon.2016.09.002 [6] T Tuna, S E Ovur, E Gokbel, and T Kumbasar, “FOLLY: A self foldable and self deployable autonomous quadcopter,” 2018 6th Int Conf Control Eng Inf Technol CEIT 2018, no October, pp 1–6, 2018, doi: 10.1109/CEIT.2018.8751883 [7] K M Thu and A I Gavrilov, “Designing and Modeling of Quadcopter Control System Using L1 Adaptive Control,” Procedia Comput Sci., vol 103, no October 2016, pp 528–535, 2017, doi: 10.1016/j.procs.2017.01.046 [8] A Faust, I Palunko, P Cruz, R Fierro, and L Tapia, “Automated aerial suspended cargo delivery through reinforcement learning,” Artif Intell., vol 1, pp 1–18, 2015, doi: 10.1016/j.artint.2014.11.009 [9] https://mechasolution.vn/Blog/bai-21-cam-bien-gia-toc-goc-nghieng-mpu6050 [10] https://vinlifetech.vn/tin-tuc/tong-quan-ve-camera-drone-flycam-p50.html [11] http://schneider.com.vn/tong-quan-ve-bo-dieu-khien-pid-1-2-248038.html [12]https://lhu.edu.vn/Data/News/370/files/07_Thai_Son_Nguyen_Phuc.pdf?AspxAutoD etectCookieSupport=1 [13] https://create.arduino.cc/projecthub/robocircuits/arduino-quadcopter-860741 [14] https://www.renesas.com/us/en/support/engineer-school/brushless-dc-motor-01-overview 33 Phụ Lục Phục Lục Code #include #include Servo esc1; Servo esc2; Servo esc3; Servo esc4; int16_t Acc_rawX, Acc_rawY, Acc_rawZ, Gyr_rawX, Gyr_rawY, Gyr_rawZ; float Acceleration_angle[2]; float Gyro_angle[2]; float Total_angle[2]; float elapsedTime, time, timePrev; int i; float rad_to_deg = 180 / 3.141592654; float PIDR, PIDP, PIDY, PIDT, pwmesc1, pwmesc2, pwmesc3, pwmesc4, eRoll, ePitch, previous_eRoll, previous_ePitch; float pid_pr = 0; float pid_ir = 0; float pid_dr = 0; float pid_pp = 0; float pid_ip = 0; float pid_dp = 0; /////////////////PID///////////////// 34 double kp = 4; //1:4 double ki = 0; //1:0 double kd = 0.5 ;//1:0.5 double a = 0; double throttle = 0; float desired_angleR = -2; float desired_angleP = -1.8; //volatile bool mpuInterrupt = false; //void dmpDataReady() { // mpuInterrupt = true; //} void setup() { esc1.attach(9,1000,2000);//phai truoc esc2.attach(10,1000,2000);//trai truoc esc3.attach(5,1000,2000);//trai sau esc4.attach(6,1000,2000);//phai sau esc1.writeMicroseconds(1000); esc2.writeMicroseconds(1000); esc3.writeMicroseconds(1000); esc4.writeMicroseconds(1000); delay(2000); pinMode(4,INPUT); Wire.begin(); Wire.beginTransmission(0x68); Wire.write(0x6B); Wire.write(0); Wire.endTransmission(true); Serial.begin(250000); 35 time = millis(); } void loop() { throttle = pulseIn(4,HIGH); //Serial.println(throttle); ////////////Read MPU timePrev = time; time = millis(); elapsedTime = (time - timePrev) / 1000; //attachInterrupt(digitalPinToInterrupt(2), dmpDataReady, RISING); //Read Acc Data Wire.beginTransmission(0x68); Wire.write(0x3B); Wire.endTransmission(false); Wire.requestFrom(0x68, 6, true); Acc_rawX = Wire.read() 1500) { pwmesc2 = 1500; } if (pwmesc3 < 1000) { pwmesc3 = 1000; } else if (pwmesc3 > 1500) { pwmesc3 = 1500; } if (pwmesc4 < 1000) { pwmesc4 = 1000; 40 } else if (pwmesc4 > 1500) { pwmesc4 = 1500; } //////////////////Xuất tín hiệu điều khiển////////////////////////// esc2.writeMicroseconds(pwmesc2); esc3.writeMicroseconds(pwmesc3); esc1.writeMicroseconds(pwmesc1); esc4.writeMicroseconds(pwmesc4); } //Serial.println(kd); //Serial.println(pwmesc1);//9//phai truoc //Serial.println(pwmesc2);//10//trai truoc //Serial.println(pwmesc3);//5//trai sau //Serial.println(pwmesc4);//6//phai sau //Serial.println( ); previous_eRoll = eRoll; previous_ePitch = ePitch; } 41 ... chổi than 15 Hình 3.6: Sơ đồ chân LM2596 16 Hình 3.7: Sơ đồ chân Arduino Uno 17 Hình 3.8: Sơ đồ nối dây tổng thể 18 Hình 4. 1: Lưu đồ giải thuật điều khiển 19 Hình 4. 2: Lưu đồ giải thuật đọc tín... tay điều khiển - Đọc tín hiệu cảm biến - Tính tốn góc nghiêng - Xuất tín hiệu xung PWM 4. 2 Giải thuật điều khiển: 4. 2.1 Lưu đồ 23 Chương Thiết Kế Phần Mềm Hình 4. 1: Lưu đồ giải thuật điều khiển. .. khiển chuyển động Quadcopter [2], Xây dựng mơ hình máy bay Drone [3], STT [1] Hình minh họa Mơ tả Thiết kế mơ hình máy bay trực thăng bốn cánh quạt (quadrotor) cỡ nhỏ có giá đỡ cho máy ảnh kỹ