Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 40 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
40
Dung lượng
8,44 MB
Nội dung
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Ỹ TḤ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 Tp Hồ Chí Minh, tháng năm 2021 MỤC LỤC DANH MỤC HÌNH ẢNH DANH MỤC BẢNG Chương Tổng Quan 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 cịn 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ư: quân 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 Chương Tổng Quan 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] Chương Tổng Quan 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] Chương Tổng Quan Thiết kế hệ thống tự động theo dõi cân vận chuyển hàng hóa treo [8] - khơng 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 • Thiết kế giao diện hiển thị liệu Chương Tổng Quan 1.3 Giới hạn đề tài Trong đề tài tham số PID lựa chọn để hệ thống có tiêu chất lượng miền thời gian thỏa yêu cầu.Tuy nhiên việc lựa chọn tham số PID để tiêu đạt cực tiểu kỹ thuật điều khiển khác nằm phạm vi đề tài 1.4 Nội dung đề tài Phần lại đề tài có nội dung sau: Chương 2: Cơ sở lý thuyết: Nội dung chương trình bày vấn đề liên quan đến quy trình cơng nghệ hệ thống Chương 3: Thiết kế phần cứng: Dựa sở trình bày chương sinh viên chọn lựa cấu hình, thiết bị phù hợp với yêu cầu Chương 4: Thiết kế phần mềm: Chương trình bày thiết kế phần mềm dựa quy trình cơng nghệ đề xuất nêu chương Chương 5: Trình bày kết đạt phần cứng, phần mềm Chương 6: Trình bày vấn đề giải hướng phát triển, cải tiến hệ thống Chương Cơ Sở Lý Thuyết Chương Cơ Sở Lý Thuyết 2.1 Tổng quan điều khiển động không chổi than Động chiều không chổi than (BLDC) loại động có nhiều ưu điểm nên gần ý nghiên cứu đưa vào sử dụng rộng rãi hệ thống tự động có yêu cầu cao độ tin cậy điều kiện làm việc đặc biệt: môi trường chân không, nhiệt độ thay đổi, va đập mạnh, dễ cháy nổ,… 2.1.1 Giới thiệu động không chổi than Động DC khơng chổi than, hay cịn gọi động BLDC (Brushless DC motor), động điện chuyển mạch điện tử với nam châm điện dịng DC di chuyển rotor xung quanh stator Thay cổ góp chổi than động chổi than động DC khơng chổi than sử dụng điều khiển động bước để tạo chuyển đổi lượng điện thành lượng học Động không chổi than áp dụng nhiều lĩnh vực kỹ thuật khác như: - Ứng dụng xe điện, xe hybrid phương tiện giao thông cá nhân Các sản phầm robotic Hệ thống sưởi ấm, thơng gió, điều hịa khơng khí, điện lạnh… Sử dụng cho hệ thống điều khiển chuyển động, định vị truyền động Sự lựa chọn phổ biến cho loại máy bay mơ hình phương tiện bay khơng người lái Trong báo cáo, thực điều khiển động không chổi than áp dụng làm quadcopter, với điều khiển PID để điều chế PWM Ưu điểm: - Tốc độ cao, hiệu suất cao - Có thể tăng tốc giảm tốc thời gian ngắn - Tiết kiệm chi phí thay chổi than Nhược điểm: - Giá thành cao - u cầu có trình độ sử dụng 10 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 Hình 5.2 Phần cứng thiết kế Altium 26 Chương Kết Quả - 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 Hình 5.3 Kết thi cơng phần cứng Hình 5.4 Mơ hình hồn chỉnh 27 Chương Kết Quả 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à viết mua control 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) 28 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 29 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, … 30 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? AspxAutoDetectCookieSupport=1 [13] https://create.arduino.cc/projecthub/robocircuits/arduino-quadcopter-860741 [14] https://www.renesas.com/us/en/support/engineer-school/brushless-dc-motor-01overview 31 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///////////////// 32 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); 33 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; 38 } 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; } 39 ... từ 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 đồ Hình 4. 1: Lưu đồ giải thuật điều khiển 23 Chương Thiết Kế Phầ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ỹ. .. khung Cả cánh phải sinh lực đẩy Quadrocopter cất cánh hạ cánh (throttle up/down) Góc xoay (roll) điều khiển cách thay đổi tốc độ cánh bên phải bên trái cho giữ nguyên tổng lực đẩy sinh cặp cánh Tương