Thiết kế Drone 4 cánh sử dụng bộ điều khiển PID và điều khiển qua Blynk.Khảo sát đề tài đã có về thiết kế bộ điều khiển drone 4 cánh, đánh giá các phương pháp điều khiển.Tìm hiểu NODEMCU, Driver motor, sensor thăng bằng.Tìm hiểu flatform Blynk.io.Thiết kế mô hình Drone 4 cánh, bộ điều khiển drone 4 cánh.Viết giải thuật điều khiển.Thiết kế giao diện trên App điều khiển trên smartphone. Lắp đặt bộ điều khiển và vận hành thử nghiệm.
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM KHOA CƠNG NGHỆ ĐIỆN TỬ NGUYỄN HỒNG PHÚC LÊ ĐÌNH TUẤN KIỆT THIẾT KẾ DRONE CÁNH SỬ DỤNG GIẢI THUẬT PID VÀ ĐIỀU KHIỂN QUA BLYNK Chuyên ngành: Điện Tử - Viễn Thông Mã chuyên ngành: 7510301 TP.HCM, tháng năm 20 LỜI MỞ ĐẦU Drone dự đoán thiết bị sử dụng nhiều tương lai mang nhiều lợi ích nhiều mặt, cụ thể khoa học, nông nghiệp, quân sự, y tế trường hợp khẩn cấp nhu cầu giải trí…Kèm với phát triển mạng Wifi, 4G, 5G nhóm em kết hợp nhiều yếu tố để thiết kế Drone cánh điều khiển qua mạng thông qua điều khiển tảng Blynk sử dụng điều khiển cân PID Việc sử dụng nhiều phần cứng đơi lúc khiến ta cảm thấy phiền điều khiển thiết bị cách sử dụng Wifi, 4G thứ kết nối Internet thông qua điện thoại (Smart Phone) Việc sử dụng điện thoại để điều khiển Quadcopter không đơn giảm bớt phần cứng mà đem lại nhiều lợi ích mà ta có nhận Có thể kể đến dễ dàng giám sát thực công việc điều khiển từ xa Qua phát triển dự án đem lại lợi ích nhiều cho thực tiễn LỜI CẢM ƠN Lời đầu tiên, chúng em xin chân thành cảm ơn thầy cô trường Đại học Cơng nghiệp Tp Hồ Chí Minh Khoa Điện Tử truyền đạt kiến thức quý báu cho chúng em suốt năm tháng học tập trường Em xin chân thành cảm ơn thầy Bùi Thư Cao thầy Võ Xuân Ân tận tình hướng dẫn giúp đỡ em hoàn thành đồ án tốt nghiệp Mặc dù có nhiều cố gắng hồn thành đề tài khơng tránh khỏi thiếu sót định bước đầu làm quen với đề tài chọn, kiến thức thời gian có hạn Đó không sở cho việc nghiên cứu luận văn chúng em mà hành trang quý giá để bước vào đời cách vững vàng tự tin Nhóm em xin kính chúc thầy Bộ môn Điện tử lời chúc sức khỏe thành công để tiếp tục truyền lại kiến thức cho hệ sau tiến xa đường nghiệp Chúng em chân thành cảm ơn MỤC LỤC LỜI MỞ ĐẦU LỜI CẢM ƠN MỤC LỤC DANH MỤC HÌNH ẢNH DANH MỤC BẢNG 12 DANH MỤC TỪ VIẾT TẮT 13 Chương TỔNG QUAN ĐỀ TÀI 14 1.1 Đặt vấn đề 14 1.2 Mục tiêu đề tài 14 1.3 Đối tượng phạm vi nghiên cứu 14 1.4 Ý nghĩa thực tiễn đề tài 14 Chương 2.1 CƠ SỞ LÝ THUYẾT 15 Máy bay không người lái 15 2.1.1 Khái niệm 15 2.1.2 Phân loại 15 2.1.3 Nguyên lý bay Drone 18 2.1.3.1 Mơ hình động lực học Drone 18 2.1.3.2 Khí động lực học Drone 20 2.1.4 2.1.4.1 2.1.5 2.2 Nguyên lý điều khiển chuyển động Drone 21 Các trạng thái Drone 21 Các lưu ý bay Quadcopter 26 2.1.5.1 Những tác động ảnh hưởng tới Quadcopter 26 2.1.5.2 Các quy định 27 Bộ điều khiển PID 28 2.2.1 Khái niệm 28 2.2.2 Nguyên lý vòng điều khiển 29 2.2.3 Phương pháp hiệu chỉnh PID 30 2.3 Hệ thống IMU cảm biến MPU-6050 32 2.3.1 Khái niệm 32 2.3.2 Nguyên lý hoạt động 32 2.4 Nền tảng Blynk IoT 33 2.4.1 Khái niệm 33 2.4.2 Cấu trúc 33 2.4.3 Các bước cài đặt ứng dụng 34 2.4.3.1 Giao diện web 34 2.4.3.2 Ứng dụng Smartphone 35 Chương 3.1 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 36 Sơ đồ khối 36 3.1.1 Sơ đồ khối tổng quan 36 3.1.2 Sơ đồ chi tiết 37 3.2 3.1.2.1 Sơ đồ khối chi tiết phần cứng 37 3.1.2.2 Sơ đồ khối chi tiết phần mềm 38 Phần cứng 39 3.2.1 Động không chổi than (BLDC Motor) 39 3.2.1.1 Cấu tạo nguyên lý hoạt động 39 3.2.1.2 Các thông số kỹ thuật 41 3.2.2 Cánh quạt 42 3.2.2.1 Cấu tạo nguyên lý hoạt động 42 3.2.2.2 Thông số kỹ thuật 45 3.2.3 Bộ điều tốc động (ESC 30A) 46 3.2.3.1 Cấu tạo nguyên lý hoạt động 46 3.2.3.2 Thông số kỹ thuật 47 3.2.4 3.2.4.1 Bộ thu phát Wifi ESP-8266 48 3.2.4.2 Cảm biến GY-521 6DOF IMU MPU6050 50 3.2.4.3 Arduino Nano 52 3.2.5 Cấu tạo nguyên lý hoạt động 54 3.2.6.2 Thông số kỹ thuật 54 Khung 56 3.2.7.1 Cấu tạo nguyên lý hoạt động 56 3.2.7.2 Thông số kỹ thuật 56 Phần mềm 58 3.3.1 Arduino 58 3.3.1.1 Khái niệm 58 3.3.1.2 Các thư viện sử dụng 59 3.3.1.3 Các hàm sử dụng 59 3.3.2 3.1 Pin LiPo 54 3.2.6.1 3.2.6 3.3 Bộ điều khiển 48 Blynk 60 3.3.2.1 Giao diện điều khiển 60 3.3.2.2 Giao diện web 61 Lưu đồ giải thuật 62 3.3.3 Lưu đồ tổng quan 62 3.3.4 Lưu đồ theo trục 62 Chương THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ 65 4.1 Phần thực nghiệm 65 4.1.1 Test theo trục bay lên/hạ xuống xoay trái/xoay phải 65 4.1.2 Test theo trục nghiên tiến/lùi nghiêng trái/nghiên phải 66 4.2 Phần chạy thực tế 68 4.2.1 Chạy tổng trời 68 4.2.2 Nhận xét 69 Chương KẾT LUẬN 70 5.1 Kết 70 5.2 Hướng phát triển 70 TÀI LIỆU KHAM KHẢO 71 DANH MỤC HÌNH ẢNH Hình 2.1 Lịch sử hình thành Drone 15 Hình 2.2 Phân loại Drone 16 Hình 2.3 Dạng điều khiển Quadcopter 17 Hình 2.4 Chiều quay động 18 Hình 2.5 Các lực tác động lên Drone 19 Hình 2.6 Góc 20 Hình 2.7 Dịng khí chảy cánh quạt 20 Hình 2.8 Hệ quy chiếu với vật thể bay 23 Hình 2.9 Nghiêng trái phải Drone thực tế 24 Hình 2.10 Tiến tới lùi Drone thực tế 25 Hình 2.11 Bộ điều khiển PID 28 Hình 2.12 Hệ thống điều khiển PID 29 Hình 2.13 Tác động phương pháp thủ công 31 Hình 2.14 Phương pháp Ziegler-Nichols 31 Hình 2.15 Phần mềm nguồn mở 31 Hình 2.16 Gyroscope Accelerometer 32 Hình 2.17 Cấu trúc Blynk 34 Hình 2.18 Giao diện Web Blynk 35 Hình 2.19 Tải ứng dụng Blynk điện thoại 35 Hình 2.20 Giao diện đăng nhập ứng dụng Blynk 35 Hình 3.21 Sơ đồ khối tổng quan 36 Hình 3.22 Sơ đồ khối chi tiết phần cứng 37 Hình 3.23 Sơ đồ phần cứng thực tế 37 Hình 3.24 Sơ đồ chi tiết phần mềm 38 Hình 3.25 Sơ đồ giao diện App Blynk 39 Hình 3.26 Cấu tạo động không chổi than 40 Hình 3.27 Khác động thường động BLDC 40 Hình 3.28 Hai cách quấn cuộn 40 Hình 3.29 Nguyên lý quay động BLDC 41 Hình 3.30 Thông số kỹ thuật động BLDC 41 Hình 3.31 Hình dạng cánh quạt 43 Hình 3.32 Các dạng lưỡi cánh quạt 44 Hình 3.33 Chiều quay cánh quạt 44 Hình 3.34 Chiều quay dạng điều khiển 44 Hình 3.35 Góc cánh quạt 45 Hình 3.36 Thơng số cánh quạt 45 Hình 3.37 Nguyên lý ESC 46 Hình 3.38 Sáu chu trình quay 46 Hình 3.39 Thông số kỹ thuật ESC 30A 47 Hình 3.40 Sơ đồ chân ESP-8266 48 Hình 3.41 Giá trị cần ga Drone 49 Hình 3.42 Sơ đồ nối chân ESP-8266 49 Hình 3.43 Sơ đồ chân MPU-6050 50 Hình 3.44 Cách tính tốn góc 51 Hình 3.45 Sơ đồ nối chân MPU-6050 51 Hình 3.46 Nguyên lý giao tiếp I2C 52 Hình 3.47 Sơ đồ chân Arduino Nano 52 Hình 3.48 Sơ đồ nối chân Arduino Nano 53 Hình 3.49 Pin LiPo Sạc 55 Hình 3.50 Các loại khung có sẵn 56 Hình 3.51 Thơng số khung F450 57 Hình 3.52 Thơng số cánh tay F450 58 Hình 3.53 Những đề xuất theo khung Drone 58 Hình 3.54 Giao diện điều khiển App Blynk 60 Hình 3.55 Các giá trị điều khiển Blynk 60 Hình 3.56 Giao diện điều khiển Web Blynk 61 Hình 3.57 Lưu đồ tổng quan 62 Hình 3.58 Lưu đồ trục XY 62 Hình 3.59 Lưu đồ trục Z 63 Hình 3.60 Lưu đồ trục 63 Hình 3.61 Lưu đồ giải thuật PID 64 10 bay độ cao cao Ngồi cịn xây dựng balsa, nhôm… - Cánh tay (Cần): Khác với khung giữa, cánh tay thường làm ống nhựa cứng, nhơm phần hỏng nhiều va chạm độ mềm định giúp tránh tác động va chạm tới điều khiển dễ thay Thông số kỹ thuật: - Chiều rộng: 363mm - Chiều cao 363mm - Trọng lượng: 280g - Cấu hình đề xuất Động không chổi than A2208 A2212 800KV1400kv, ESC 15-25A sử dụng Pin LiPo 1800mAh-3600mAh cánh quạt 1045 8045 thuận & đảo ngược Hình 3.51 Thơng số khung F450 57 Hình 3.52 Thơng số cánh tay F450 Những đề xuất theo Frame Size: Hình 3.53 Những đề xuất theo khung Drone 3.3 Phần mềm 3.3.1 Arduino 3.3.1.1 Khái niệm Arduino IDE (Arduino Integrated Development Environment) phần mềm viết code giúp bạn nạp code, giao tiếp điều khiển từ phần mềm sang module Arduino Là phần mềm nguồn mở miễn phí làm việc tảng khác 58 3.3.1.2 Các thư viện sử dụng Các thư viện sử dụng để viết hàm có sẵn giúp việc code dễ dàng hơn: - Library.Blynk thư viện triển khai giao thức kết nối trực tuyến cho phép độ trễ thấp, giao tiếp hai chiều - BlynkEdgent.h thư viện để kết nối thiết bị với tảng - Wire.h thư viện sử dụng để chuẩn giao tiếp I2C MPU-6050 với Arduino Nano - ESP8266WiFi.h thư viện Wifi Manager hỗ trợ ESP mở Webserver Access Point (AP), để User kết nối vào cấu hình Password cho Wifi Khi khởi động, ESP thu sóng thử kết nối với Access Point (điểm phát sóng) lưu trước Nếu khơng thể kết nối, ESP chuyển qua chế độ AP tạo Webserver Có thể kết nối vào AP vừa tạo cấu hình wifi cho ESP - Servo.h thư viện giúp đọc giá trị điều khiển để tạo xung gửi đến ESC 3.3.1.3 Các hàm sử dụng Các hàm sử dụng thiết kế, tính tốn chương trình Arduino: - Hàm setup hàm chạy trước hàm loop giúp khai báo Port Output, khai báo chuẩn giao tiếp I2C, đọc giá trị từ cảm biến - Hàm set_gyro_registers hàm truyền liệu qua lại Master Slave - Hàm convert_receiver_channel dùng để chuẩn hóa, cập nhật giá trị từ điều khiển Blynk sang Arduino Nano - Hàm calculate_pid hàm dùng để tính tốn trị góc qua PID xuất động - Hàm gyro_signalen dùng để đọc giá trị MPU-6050 Các hàm sử dụng chương trình thu phát Wifi: - Blynk_Write dùng để khai báo chân ảo Blynk 59 - InitServo dùng để khai báo chân kết nối với Arduino Nano - Servo.writemicroSeconds dùng để xuất giá trị tính Micro giây chân servo 3.3.2 Blynk 3.3.2.1 Giao diện điều khiển Hình 3.54 Giao diện điều khiển App Blynk Giao diện thiết kế giống tay cầm điều khiển RC, joystick bên trái điều khiển giá trị trục Throttle trục Yaw (Throttle trục thẳng, Yaw trục ngang) joystick bên phải điều khiển giá trị trục Pitch trục Roll (Pitch trục thẳng, Roll trục ngang) Với giá trị điều khiển: Hình 3.55 Các giá trị điều khiển Blynk 60 Với điều khiển khơng có nút on/off mà thay vào bước để bật tắt Drone: Trạng Mô tả Thao tác thái Bật Khi giá trị Throttle Kéo joystick bên trái xuống 1000 giá trị Yaw kéo sang phải 1450 Tắt Khi giá trị Throttle Kéo joystick bên trái xuống 1000 giá trị Yaw kéo sang trái 1950 Bảng 3.8 Thao tác bật tắt Drone 3.3.2.2 Giao diện web Hình 3.56 Giao diện điều khiển Web Blynk Giao diện Dashboard vừa điều khiển thơng số Throttle, Pitch, Roll, Yaw để điều khiển cách ổn định ứng dụng giá trị bảng điều khiển chỉnh bước nhảy cho trục Các giá trị Web đồng với giá trị điều khiển App 61 3.1 Lưu đồ giải thuật 3.3.3 Lưu đồ tổng quan Hình 3.57 Lưu đồ tổng quan 3.3.4 Lưu đồ theo trục Trục XY Hình 3.58 Lưu đồ trục XY 62 Trục Z Hình 3.59 Lưu đồ trục Z Tổng trục XYZ Hình 3.60 Lưu đồ trục 63 3.3.5 Lưu đồ điều khiển cân Hình 3.61 Lưu đồ giải thuật PID Trong đó: - Throttle giá trị ga có xung cao từ 1ms tới 2ms - Góc Pitch đặt, góc Roll đặt, góc Yaw đặt giá trị góc nghiêng mong - muốn - Góc Pitch, góc Roll, góc Yaw giá trị góc đo từ MPU6050 - e(t) độ lệch góc đặt góc đo gồm độ lệch góc Pitch, độ - lệch góc Roll, độ lệch góc Yaw - Khối P trục = Hệ số Kp x độ lệch góc - Khối I trục = Hệ số Ki x độ lệch góc + đầu khối I - Khối D trục = Hệ số Kd x (độ lệch góc - độ lệch - góc vịng trước) - PID_Pitch, PID_Roll, PID_Yaw tổng giá trị khối P, I, D theo trục 64 Chương THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ 4.1 Phần thực nghiệm 4.1.1 Test theo trục bay lên/hạ xuống xoay trái/xoay phải Khung test với ngang 100 cm, dọc 80 cm cao 120 cm Hình 4.62 Khung test trục Throttle Yaw Hình 4.63 Test nóng cần ga (Throttle) 65 Hình 4.64 Test nóng xoay trái, xoay phải 4.1.2 Test theo trục nghiên tiến/lùi nghiêng trái/nghiên phải Hình 4.65 Khung test trục Pitch Roll 66 Hình 4.66 Cách test theo trục Đối với trục Roll để test nghiêng trái/phải, ta làm giống trục Pitch cần ta xoay Drone lại mũi tên chuyển động Roll Hình 4.67 Test nóng theo trục Pitch 67 4.2 Phần chạy thực tế 4.2.1 Chạy tổng trời Trước chạy tổng trời, ta làm khung để test tổng lại hết tất chức di chuyển, cân độ ổn định Quadcopter Hình 4.68 Chạy thực nghiệm ngồi trời 68 4.2.2 Nhận xét Chúng em hoàn thành Quadcopter với thông số sau: Thông số kỹ thuật Quadcopter Thời gian bay tối đa phút với động hoạt động với công suất 80% liên tục Độ cao đạt Đã đạt từ 3-4 mét Tổng lực nâng Lực nâng cánh 2.94 (N), tổng lực nâng 11.76 (N) Kích thước Quadcopter có khung size 350mmx350mm Khối lượng Khoảng 1.3kg Động cánh quạt Động tối đa 14000 vòng/phút size cánh 9inch Pin Pin 2200mAh Tham số Kp = 1.3, Kd = 0.04, Kd = 18 Bảng 4.9 Thông số Drone hoàn thành Nhận xét: - Đã điều khiển Drone ứng dụng (App) máy tính - Drone bay lên từ mét tới mét - Các chức nghiêng trái, nghiêng phải hoạt động với mục tiêu đề - Hệ thống cân chưa tối ưu nên q trình bay lên hạ cánh cịn lảo đảo 69 Chương 5.1 KẾT LUẬN Kết Sau đồ án tụi em học sở lý thuyết, nguyên lý hoạt động module nguyên lý Quadcopter Ngoài tụi em cịn hồn thành phần cứng Quadcopter F450, Quadcopter di chuyển lên xuống, nghiêng trái phải xoay trái phải Và thiết kế giao diện điều khiển ứng dụng Blynk Ưu điểm: - Áp dụng module lên Quadcopter - Hiểu nguyên lý hoạt động - Quadcopter di chuyển Nhược điểm: - Giải thuật cịn chưa tối ưu - Còn hạn chế việc giám sát góc bay - Các thơng số chưa tối ưu - Thời gian máy bay thấp - Quadcopter nghiêng cịn lắc khơng 5.2 Hướng phát triển Về phát triển, nhiều thuật tốn mang khác lại tính tối ưu sử dụng thêm vòng hồi tiếp giá trị cần ga, thêm dùng nhiều vòng hồi tiếp về… Trong tương lai tiếp xúc lại em áp dụng thuật toán để so sánh cho kết tối ưu Sau cải tiến hệ thống cách lắp đặt thêm module Camera, GPS… để sử dụng ứng dụng vào thực tiễn giúp giải hỗ trợ vấn đề sống 70 TÀI LIỆU KHAM KHẢO [1] L Q Tuyến, ""Tìm hiểu động không chổi than BLDC",người hướng dẫn GS TSKH Thân Ngọc Hồn, Đại Học dân lập Hải Phịng," 2015 [2] T L C T v K P Q Huy, Sách Arduino thiết bị bay, quý 3, 2020 [3] H t b IEEE, "Thiết kế máy bay không người lái," [Online] Available: https://tryengineering.org/vi/teacher/designing-drones/ [4] Đại học Bách Khoa TP.HCM, "Thiết kế điều khiển vận tốc vị trí cho Quadcopter" [5] J.Zhao, "Brushless DC Motor Fundamentals," 2011 [6] T Đ h S P K T HCM, "Cơng trình nghiên cứu khoa học "Thiết kế thi công mô hình máy bay khơng người lái tự động đáp cánh mục tiêu xác định"," 2018 [7] I G a R Nilsson, "Aarhus University, model-Based Development and Evaluation of Control for Com-plex Multi-Domain Systems: Attitude Control for a Quadrotor UAV," Aarhus University, 2016 [8] I J o E R & T (IJERT), "Design of Control System for Quadcopter using Complementary Filter and PID Controller," April - 2014 [9] S L N Tâm, "THIẾT KẾ VÀ CHẾ TẠO MƠ HÌNH MÁY BAYQUADROCOPTER, GVHD PGS.TS Trần Xuân Tùy," Trường Đại học Bách khoa, Đại học Đà Nẵng, 2012 [10] S Bouabdallah, "“Design and Control of Quadrotors with application to autonomous flying”," PhD thesis, EPFL, 2007 [11] W C R P E S a R A A Lucas M Argentim, "“PID, LQR and LQR-PID on a Quadcopter Platform,”," ,” in 2013 International Conference on Informatics, Electronics and Vision (ICIEV), Dhaka, Bangladesh, May 17-18, 2013 [12] T Bresciani, "Modelling, Identification and Control of a Quadrotor Helicopter," Department of Automatic Control Lund University, October 2008 71