Zalo: 0936641078 Hỗ trợ đồ án, báo cáo, tiểu luận… ĐATN - NGHIÊN CỨU VÀ THIẾT KẾ BỘ ĐIỀU KHIỂN PID ỔN ĐỊNH CÂN BẰNG CHO MÁY BAY KHÔNG NGƯỜI LÁI-QUADCOPTE FULL BÁO CÁO, CODE, MÔ PHỎNG.?
Trang 2PHIẾU GIAO ĐỀ TÀI
Trang 3LỜI NÓI ĐẦU
Cùng với sự phát triển của thế giới và xu hướng hội nhập kinh tế quốc tế, đấtnước ta đang đổi mới và bước vào thời kì công nghiệp hóa, hiện đại hóa, vừa xây dựng
cơ sở vật chất kỹ thuật, vừa phát triển nền kinh tế đất nước Điều đó đòi hỏi phảinghiên cứu và áp dụng những dây chuyền, máy móc và thiết bị tiên tiến hiện đại, cókhả năng tự động hóa cao để đưa công nghệ vào mọi lĩnh vực của cuộc sống Trong đó
ngành Điều khiển và tự dộng hóa đóng một vai trò rất quan trọng trong quá trình phát
triển của đất nước Để đáp ứng nhu cầu to lớn của việc phát triển ngành Cơ điện tử nóichung, đòi hỏi phải có đội ngũ cán bộ, nhân viên kỹ thuật có khả năng, đủ năng lực vàtrình độ chuyên môn để kịp thời giải quyết mọi vấn đề liên quan đến kỹ thuật cơ khí,điện-điện tử và kỹ thuật phần mềm
Từ những thực tế trên, là sinh viên của ngành “Công nghệ kỹ thuật điều khiển
và tự động hoá”, từ những kiến thức đã được học, nhóm em đã lựa chọn và thực hiện
đồ án tốt nghiệp với đề tài: “Nghiên cứu và thiết kế bộ điều khiển PID ổn định cân bằng máy bay không người lái Quadcopter ” Việc tạo ra một hệ thống như vậy để
thay thế con người trong công việc là vấn đề hết sức cần thiết
Trong thời gian thực hiện đề tài, nhóm em đã nhận được sự giúp đỡ của quýthầy cô và các bạn, đặc biệt là sự hướng dẫn tận tình của cô giáo Th.s Nguyễn Phương
Thảo, thầy giáo Th.s Nguyễn Văn Đạt để nhóm có thể hoàn thành đề tài này một cách
tốt nhất Nhóm em xin chân thành cảm ơn! Việc hoàn thành đề tài này sẽ không tránhđược những sai lầm thiếu sót Nhóm rất mong được sự phê bình, đánh giá của các thầy
cô để nhóm có thể rút ra được kinh nghiệm cũng như phát triển thêm đề tài
Trang 4LỜI CẢM ƠN
Chúng em xin chân thành cảm ơn Ban Giám hiệu Trường Đại học Sư Phạm Kỹ
Thuật Hưng Yên Khoa Điện – Điện Tử cùng toàn thể quý thầy cô bộ môn “Công nghệ
kỹ thuật điều khiển và tự động hoá” đã tạo điều kiện học tập, cung cấp kiến thức nềntảng và hỗ trợ em trong suốt quá trình thực hiện đồ án tốt nghiệp
Đặc biệt, em xin gửi lời cảm ơn sâu sắc đến cô Th.s Nguyễn Phương Thảo, thầy
Th.s Nguyễn Văn Đạt người đã tận tình hướng dẫn, hỗ trợ chuyên môn và định hướng
em trong suốt quá trình thực hiện đề tài “Nghiên cứu và thiết kế bộ điều khiển PID ổnđịnh cân bằng máy bay không người lái Quadcopter” Những đóng góp quý báu từthầy/cô đã giúp em hoàn thiện tốt nội dung và sản phẩm của đồ án
Em cũng xin cảm ơn gia đình, bạn bè và các anh/chị khóa trên đã luôn đồng
hành, động viên, chia sẻ kiến thức và giúp đỡ em trong quá trình học tập và nghiêncứu
Mặc dù đã cố gắng hoàn thành tốt nhất trong khả năng, nhưng đồ án vẫn khôngtránh khỏi những thiếu sót Em rất mong nhận được sự góp ý của quý thầy cô để em cóthể học hỏi và hoàn thiện hơn trong tương lai
Em xin chân thành cảm ơn!
Trang 5MỤC LỤC
PHIẾU GIAO ĐỀ TÀI 2
LỜI NÓI ĐẦU 3
LỜI CẢM ƠN 4
DANH MỤC HÌNH ẢNH 8
DANH MỤC BẢNG BIỂU 10
MỞ ĐẦU 11
1 Giới thiệu chung 11
2 Lý do chọn đề tài 11
3 Mục tiêu 12
4 Phạm vi nghiên cứu 12
5 Phương pháp nghiên cứu 13
6 Cấu trúc đồ án 14
Chương 1 15
CƠ SỞ LÝ THUYẾT VÀ TỔNG QUAN UAV 15
1.1 Tổng quan về Quadcopter 15
1.1.1 Giới thiệu về Quadcopter 15
1.1.2 Nguyên lý cân bằng 16
1.1.3 Nguyên lý di chuyển của quadcopter 17
1.1.4 Nguyên lý điều khiển động cơ không chổi than 18
1.1.5 Ứng dụng trong đề tài 18
1.1.6 Mô hình toán học 19
1.1.7 Bộ điều khiển PID 19
1.2 Giới thiệu phần cứng 20
1.2.1 Tay cầm điều khiển RF 20
Trang 61.2.2 Phần thân quadcopter 29
Chương 2 40
THIẾT KẾ MẠCH VÀ CHẾ TẠO MÔ HÌNH UAV 40
2.1 Thiết kế hệ thống 40
2.1.1 Thiết kế sơ đồ khối hệ thống 40
2.1.2 Tính toán và thiết kế mạch 43
2.1.3 Thiết kế bo mạch 46
2.2 Đóng gói và lắp ráp mô hình 50
2.2.1 Đóng gói bộ điều khiển 50
2.2.2 Lắp ráp mô hình 51
2.3 Lập trình hệ thống 53
2.3.1 Lưu đồ giải thuật 53
2.3.2 Lưu đồ giải thuật xử lý tay cầm transmitter (TX) 55
2.3.3 Lưu đồ giải thuật xử lý ngắn RX 57
2.3.4 Tính toán góc của MPU-6050 57
Chương 3 60
CÀI ĐẶT, THỬ NGHIỆM VÀ ĐÁNH GIÁ 60
3.1 Kết quả hoàn thiện 60
3.2 Mô phỏng mô hình Quadcopter trên phần mềm Matlab simulink 60
3.2.1 Chương trình mô phỏng 60
3.2.2 Các thí nghiệm mô phỏng 65
3.3 Khảo sát mô hình 68
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 69
1 Kết luận 69
2 Hướng phát triển 69
Trang 7TÀI LIỆU THAM KHẢO 70 PHỤ LỤC 71
Trang 8DANH MỤC HÌNH ẢNH
Hình 1.1 Quadcopter 4 cánh 16
Hình 1.2 Cấu hình quadcopter 17
Hình 1.3 Nguyên lý di chuyển 18
Hình 1.4: Cấu hình bộ điều khiển PID 20
Hình 1.5 Sơ đồ khối của arduino Nano 21
Hình 1.6 Cấu hình chân của Arduino Nano 22
Hình 1.7 Joystick 24
Hình 1.8 Màn hình LCD 16x2 tích hợp module I2C 25
Hình 1.9 Module I2C 26
Hình 1.10 Mạch thu phát sóng RF nRF24L01 và ăng-ten 28
Hình 1.11 Board mạch Arduino Uno R3 29
Hình 1.12 Cảm biến gia tốc góc MPU-6050 33
Hình 1.13 Bộ điều tốc ESC 30A 33
Hình 1.14 Động cơ 3 pha không chổi than dji 2212/920KV 36
Hình 1.15 Cánh drone 10x4.5CW 37
Hình 1.16 Kit drone F450 37
Hình 1.17 Module giảm áp LM2596 38
Hình 2.1 Sơ đồ khối hệ thống Quadcopter 40
Hình 2.2 Mô hình ứng dụng Quadcopter của nhóm 42
Hình 2.3 Sơ đồ nguyên lý mạch Phát (TX) 43
Hình 2.4 Sơ đồ nguyên lý mạch TX (2D) 44
Hình 2.5 Sơ đồ nguyên lí mạch Thu (RX) và Sơ đồ nguyên lý mạch RX (2D) 44
Hình 2.6 Sơ đồ nguyên lý mạch xử lý trung tâm 45
Hình 2.7 Sơ đồ nguyên lý mạch xử lí trung tâm (2D) 46
Trang 9Hình 2.8 Sơ đồ mạch in PCB 1 lớp mạch thu (RX) phát (TX) 47
Hình 2.9 Sơ đồ mạch in PCB 2 lớp mạch xử lí trung tâm 47
Hình 2.10 Mạch phát TX 48
Hình 2.11 Mạch thu RX 49
Hình 2.12 Mô hình hoàn chỉnh bộ điều khiển 50
Hình 2.13 Mô hình hoàn chỉnh và bộ điều khiển đã được lắp ráp hoàn chỉnh 51
Hình 2.14 Vị trí các linh kiện 52
Hình 2.15 Cố định Arduino Uno R3 52
Hình 2.16 Lưu đồ giải thuật điều khiển drone 53
Hình 2.17 Lưu đồ giải thuật xử lý tay cầm TX 55
Hình 2.18 Lưu đồ xử lý ngắt RX 57
Hình 3.1 Các thành phần của chương trình mô phỏng trên Matlab Simulink 61
Hình 3.2 Bộ điều khiển PID phân tầng trong Matlab Simulink 62
Hình 3.3 Mô hình toán học của Quadcopter 64
Hình 3.4 Đáp ứng hệ thống ở thí nghiệm 1 66
Hình 3.5 Quỹ đạo bay của Quadcopter trên mặt phẳng Oxy ở thí nghiệm 1 66
Hình 3.6 Đáp ứng hệ thống ở thí nghiệm 2 67
Hình 3.7 Quỹ đạo bay của Quadcopter trên mặt phẳng Oxy ở thí nghiệm 2 67
Hình 3.8 Ảnh Quadcopter hoạt động trên khung thực nghiệm 68
Trang 10DANH MỤC BẢNG BIỂU
Bảng 1.1 Chức năng các chân Analog 22
Bảng 1.2 Chức năng các chân Digital 23
Bảng 1.3 Thông số kỹ thuật của Joystick 24
Bảng 1.4 Cấu hình và chức năng các chân của LCD 25
Bảng 1.5 Các thông số chính của bo mạch Arduino Uno 30
Bảng 1.6 Bảng chức năng các chân MPU 6050 32
Bảng 1.7 Cách kết nối ESC với động cơ không chổi than 35
Bảng 2.1 Sơ đồ nối dây 4 ESC với 4 động cơ 46
Bảng 2.2 Danh sách các linh kiện 47
Bảng 3.1 Các thông số mô phỏng mô hình Quadcopter 65
Trang 11MỞ ĐẦU
1 Giới thiệu chung
Máy bay không người lái (UAV - Unmanned Aerial Vehicle) hiện đang trởthành công cụ quan trọng trong nhiều lĩnh vực như nông nghiệp, giám sát môi trường,
an ninh, cứu hộ, và khảo sát địa hình Trong số các loại UAV, quadcopter với thiết kế 4cánh quạt được đánh giá cao nhờ cấu trúc đơn giản, khả năng bay linh hoạt, dễ điềukhiển và chi phí tương đối thấp
Việc thiết kế và chế tạo một chiếc quadcopter không người lái nhằm mục đíchphục vụ các nhiệm vụ quan trắc, giám sát hoặc thu thập dữ liệu môi trường là hướngnghiên cứu được nhiều nhóm sinh viên và nhà nghiên cứu quan tâm Đề tài này tậptrung vào xây dựng một hệ thống quadcopter có khả năng bay ổn định, tích hợp cáccảm biến môi trường và camera để thu thập dữ liệu, đồng thời sử dụng sóng RF đểtruyền thông tin về trạm điều khiển mặt đất
Khác với các hệ thống phức tạp sử dụng máy tính nhúng như Raspberry Pihoặc các mô hình trí tuệ nhân tạo, đề tài lựa chọn phương án thiết kế đơn giản, tiếtkiệm chi phí nhưng vẫn đảm bảo hiệu quả trong việc thu thập và truyền tải dữ liệutrong thời gian thực Qua đó, đề tài không chỉ cung cấp nền tảng kỹ thuật cho việc pháttriển UAV ứng dụng trong thực tiễn mà còn góp phần mở rộng kiến thức về các hệthống điều khiển bay và truyền thông không dây
2 Lý do chọn đề tài
Trong những năm gần đây, sự phát triển mạnh mẽ của khoa học công nghệ, đặcbiệt là trong lĩnh vực tự động hóa và điều khiển nhúng, đã thúc đẩy nhiều ứng dụngmang tính đột phá trong thực tiễn Một trong số đó là thiết bị bay không người lái –UAV (Unmanned Aerial Vehicle), trong đó quadcopter là một mô hình nổi bật nhờ cấutrúc đơn giản, khả năng cơ động cao và dễ điều khiển Quadcopter đang dần khẳngđịnh vai trò quan trọng trong nhiều lĩnh vực như: giám sát nông nghiệp, cứu hộ, anninh – quốc phòng, truyền thông, đo đạc bản đồ và giao hàng tự động
Từ góc độ kỹ thuật, quadcopter là hệ thống tích hợp nhiều công nghệ hiện đạinhư: cảm biến quán tính, điều khiển PID, hệ truyền động động cơ không chổi than, lập
Trang 12trình vi điều khiển và truyền thông không dây Việc nghiên cứu, thiết kế và chế tạomột mô hình quadcopter giúp sinh viên tiếp cận thực tế với các thành phần này, đồngthời củng cố và mở rộng kiến thức đã học trong nhà trường.
Bên cạnh đó, đề tài mang tính khả thi cao khi triển khai ở cấp độ sinh viên, dolinh kiện phổ biến, chi phí phù hợp và tài liệu hỗ trợ đa dạng Việc thực hiện đề tài còngiúp người học rèn luyện kỹ năng làm việc nhóm, tư duy hệ thống, khả năng giải quyếtvấn đề và triển khai một sản phẩm hoàn chỉnh từ mô hình lý thuyết đến thử nghiệmthực tế
Chính vì những lý do trên, nhóm thực hiện quyết định chọn đề tài “Nghiên cứuthiết kế máy bay không người lái quadcopter” làm hướng nghiên cứu cho đồ án tốtnghiệp, với mong muốn góp phần ứng dụng công nghệ UAV vào các bài toán thực tiễntrong tương lai
3 Mục tiêu
- Chế tạo được tây cầm điều khiển TX sử dụng sóng RF (Radio Frequency),mạch thu phát RX
- Xây dựng được mô hình drone
- Điều khiển được drone bay ổn định
4 Phạm vi nghiên cứu
Nội dung 1: Tìm hiểu và thiết kế mạch pcb của tx và rx.
Nội dung 2: Chế tạo tay cầm điều khiển.
Nội dung 3: Kiểm tra giao tiếp giữa tx và rx.
Nội dung 4: Làm mô hình drone.
Nội dung 5: Kết nối mạch rx với arduino uno, esc, động cơ không chổi than và
cảm biến góc mpu-6050
Nội dung 6: Thiết lập các thông số của bộ điều khiển để phù hợp với drone Nội dung 7: Điều chỉnh cảm biến góc về vị trí cân bằng và thông số pid cho
động cơ không chổi than
Nội dung 8: Đánh giá kết quả thực hiện.
Trang 135 Phương pháp nghiên cứu
Trong quá trình thực hiện đề tài, nhóm thực hiện áp dụng các phương phápnghiên cứu sau:
Phương pháp nghiên cứu tài liệu (lý thuyết)
Tìm hiểu, thu thập và phân tích các tài liệu, giáo trình, bài báo khoa học liênquan đến UAV và hệ thống điều khiển quadcopter
Nghiên cứu nguyên lý hoạt động của các thành phần phần cứng: vi điềukhiển Arduino, cảm biến MPU6050, ESC, động cơ không chổi than
Tìm hiểu các mô hình điều khiển cân bằng như PID và ứng dụng của chúngtrong hệ thống bay
Phương pháp mô hình hóa và thiết kế hệ thống
Thiết kế sơ đồ khối hệ thống điều khiển của quadcopter
Lựa chọn và tích hợp các linh kiện phần cứng phù hợp với mục tiêu của đề tài.Thiết kế mô hình khung quadcopter đảm bảo tính ổn định cơ học và nhẹ
Phương pháp thực nghiệm
Lắp ráp phần cứng, cài đặt cảm biến và vi điều khiển
Viết chương trình điều khiển trên Arduino, bao gồm đọc dữ liệu cảm biến vàtính toán điều khiển PID
Thực hiện các bài kiểm tra bay thực tế để đánh giá hiệu quả hoạt động và khảnăng giữ cân bằng
Phương pháp phân tích – đánh giá
Phân tích kết quả thử nghiệm thực tế, từ đó điều chỉnh lại thông số PID để đạthiệu suất ổn định
So sánh giữa lý thuyết và kết quả thực nghiệm để rút ra nhận xét, đánh giá và đềxuất cải tiến
Trang 146 Cấu trúc đồ án
Chương 1: Cơ sở lý thuyết và tổng quan UAV
Chương 2: Thiết kế mạch và chế tạo mô hình UAV
Chương 3: Cài đặt, thử nghiệm và đánh giá
Kết Luận và Hướng phát triển
Phụ Lục
Trang 15Chương 1
CƠ SỞ LÝ THUYẾT VÀ TỔNG QUAN UAV
1.1 Tổng quan về Quadcopter
1.1.1 Giới thiệu về Quadcopter
Quadcopter, còn được gọi là quadrotor hay máy bay bốn cánh quạt, là một loại
phương tiện bay không người lái (Unmanned Aerial Vehicle - UAV) có cấu hình bay
đặc trưng với bốn động cơ gắn cố định cùng bốn cánh quạt nằm trên một mặt phẳng,thường được bố trí đối xứng theo hình chữ “X” hoặc dấu “+” Quadcopter vận hành
dựa trên nguyên lý khí động học kết hợp với điều khiển tốc độ quay độc lập của từng
động cơ để tạo lực nâng, kiểm soát hướng bay, và duy trì trạng thái ổn định trongkhông gian ba chiều
Không giống với trực thăng truyền thống chỉ sử dụng một rotor chính lớn vàmột rotor đuôi để cân bằng mô-men xoắn, quadcopter không có các bề mặt điều khiểnkhí động học như cánh lái hay rotor đuôi Thay vào đó, quadcopter dựa vào sự thay đổi
vi sai trong tốc độ quay của bốn cánh quạt để điều khiển các chuyển động theo ba trục
chính: cuộn (roll), nghiêng (pitch), và xoay (yaw) Cụ thể, hai cánh quạt quay theo
chiều kim đồng hồ (CW) và hai cánh còn lại quay ngược chiều kim đồng hồ (CCW) đểcân bằng lực xoắn (torque) và giữ cho hệ thống không bị quay tròn ngoài ý muốn
Các quadcopter hiện đại được trang bị hệ thống điều khiển bay tự động (flightcontroller) sử dụng dữ liệu từ nhiều loại cảm biến như con quay hồi chuyển
(gyroscope), gia tốc kế (accelerometer), từ kế (magnetometer), và đôi khi là GPS, cảm
biến siêu âm, barometer, lidar hoặc camera để nâng cao khả năng định vị, ổn định, vàđiều hướng
Nhờ vào cấu trúc đơn giản, chi phí chế tạo thấp, khả năng cơ động cao, và dễdàng mở rộng tính năng, quadcopter đã trở thành một nền tảng lý tưởng không chỉ chomục đích nghiên cứu trong lĩnh vực điều khiển tự động, robot học, và trí tuệ nhân tạo,
mà còn được ứng dụng rộng rãi trong thực tiễn như: quay phim, giám sát, giao hàng,
khảo sát địa hình, nông nghiệp chính xác, cứu hộ, và nhiều lĩnh vực khác.
Trang 16Sự phát triển mạnh mẽ của công nghệ cảm biến, vi điều khiển, hệ thống truyềnthông không dây và trí tuệ nhân tạo đã góp phần đưa quadcopter trở thành một trongnhững thiết bị bay không người lái thông minh, linh hoạt và có ảnh hưởng nhất trong
kỷ nguyên công nghệ hiện đại
Hình 1.1 Quadcopter 4 cánh
1.1.2 Nguyên lý cân bằng
Để quadcopter cân bằng thì cần rất nhiều yếu tố như là các yếu tố về động lựchọc, cân bằng moment, cân bằng góc và thông số PID (Proportional IntegralDerivative) Các yếu tố này sẽ ảnh hưởng đến cân bằng của drone như thế nào:
- Nguyên lý về động lực học:
Đối với quadcopter, nguyên tắc động lực học là cần phải tạo ra lực nâng bằngcách tạo ra một lưu lượng không khí xuống từ các cánh Bằng cách tăng tốc độ quaycủa cánh, drone có thể tạo ra một lực nâng đủ để nâng mình lên và duy trì ổn địnhtrong không trung
- Cân bằng moment:
Để duy trì cân bằng, drone cần tạo ra moment nâng bằng cách điều chỉnh tốc độquay của từng cặp cánh quay theo một cách cân đối Nếu một bên của drone nặng hơn,cần tăng tốc độ quay của cánh quay ở bên nhẹ hơn để tạo ra một moment nâng cânbằng
Trang 17- Cân bằng góc:
Quadcopter có thể điều chỉnh góc nghiêng của phần thân để thay đổi hướng dichuyển Cảm biến MPU-6050 được sử dụng để đo góc nghiêng của drone Bằng cáchđiều chỉnh tốc độ quay của các cánh quay, drone có thể duy trì hoặc thay đổi gócnghiêng của mình
- Điều chỉnh PID (Proportional Integral Derivative):
Hệ thống điều khiển PID được sử dụng để duy trì cân bằng và ổn định drone PID sửdụng thông tin từ cảm biến và điều chỉnh tốc độ quay của các cánh quay để duy trì cân bằng và theo dõi các góc nghiêng mong muốn
Hình 1.2 Cấu hình quadcopter.
1.1.3 Nguyên lý di chuyển của quadcopter
Để điều khiển mô hình bay quadcopter, có hai phương pháp đó là điều khiểntheo kiểu chữ X và điều khiển theo kiểu chữ thập hay còn gọi là điều khiển theo kiểudấu cộng Phương pháp điều khiển theo dạng chữ X được sử dụng trong đề điều khiểnhướng bay của mô hình, bởi vì việc thay đổi hướng được thực hiện bởi hai động cơ, vìvậy khả năng đáp ứng và tính linh hoạt cao hơn so với việc thay đổi tốc độ bằng mộtđộng cơ theo kiểu dấu cộng Việc thay đổi tốc độ quay của các động cơ vừa làm cho
mô hình cân bằng, vừa dùng để điều khiển mô hình di chuyển Hướng di chuyển đượcminh họa ở Hình 1.3 Hướng của máy bay khi di chuyển được điều khiển bởi hai động
cơ, tùy theo hướng di chuyển mà các động cơ này thay đổi tốc độ để tạo ra gócnghiêng so với trục cân bằng Như hình 1.3, hướng di chuyển của máy bay được thểhiện qua sự thay đổi tốc độ của các động cơ
Trang 18Hình 1.3 Nguyên lý di chuyển.
Ví dụ: Để máy bay di chuyển hướng tới thì động cơ 1, 4 sẽ giữ nguyên hoặcgiảm tốc độ còn cặp động cơ 2, 3 sẽ quay nhanh hơn Tương tự với các hướng dichuyển khác thì việc thay đổi tốc độ quay tương ứng sẽ giúp máy bay di chuyển cũngnhư xoay tròn hoặc thay đổi độ cao
1.1.4 Nguyên lý điều khiển động cơ không chổi than
Mỗi một động cơ ba pha không chổi than được điều khiển thông qua một bộESC (Electronic Speed Control) riêng biệt ESC thay đổi tốc độ quay của động cơ dựavào độ rộng xung của tín hiệu PWM (Pulse-width modulation) từ mạch điều khiểnchính Độ rộng xung điều khiển tốc độ động cơ giới hạn trong khoảng 1-2 ms và tần sốđiều khiển là 50Hz
Trang 191.1.6 Mô hình toán học
Mô hình toán học của Quadcopter có thể được tham khảo từ các nghiên cứu [1]:
Trong đó U i =1,2 ,3 , 4 : là các giá trị đầu vào bộ điều khiển cho hệ thốngQuadcopter
K t: là ma trận tịnh tiến khí động học
1.1.7 Bộ điều khiển PID
Bộ điều khiển PID là một trong những loại bộ điều khiển phản hồi phổ biến
nhất trong điều khiển tự động PID là viết tắt của ba thành phần: Proportional (P) – tỉ l
ệ, Integral (I) – tích phân, và Derivative (D) – vi phân Bộ điều khiển PID tính toán
đầu ra điều khiển dựa trên sai số giữa giá trị mong muốn (đặt trước – setpoint) và giátrị thực tế (feedback – đo được)
Trang 20Hình 1.4: Cấu hình bộ điều khiển PID
Trong đó:
- u(t) là tín hiệu điều khiển cuối cùng được đưa vào hệ thống
- Kp, Ki và Kd là các hệ số điều chỉnh, được sử dụng để điều chỉnh đáp ứng của
hệ thống PID
- e (t) là sự chênh lệch giữa giá trị hiện tại của biến điều khiển và giá trị mụctiêu
1.2 Giới thiệu phần cứng
1.2.1 Tay cầm điều khiển RF
a) Board mạch Arduino Nano
Arduino Nano là một bo mạch phát triển thông minh thuộc họ sản phẩmArduino, được thiết kế đặc biệt để xây dựng các nguyên mẫu và dự án điện tử mộtcách nhanh chóng và hiệu quả Với kích thước nhỏ gọn, Arduino Nano là một lựa chọnphổ biến cho các ứng dụng yêu cầu không gian hạn chế, như trong các dự án đòi hỏitính di động hoặc yêu cầu tích hợp vào các môi trường có kích thước nhỏ
Đặc điểm
Vi điều khiển ATmega328 Bộ xử lý 8-bit hiệu suất cao, tiết kiệm năng lượng,tần số hoạt động lên đến 16 MHz, bộ nhớ 32 KB, trong đó có 2 kB được sử dụng chobootloader 2 kB SRAM nội bộ, 1 KB EEPROM và tổng cộng 32 thanh ghi 8bits.Đồng hồ thời gian thực với bộ tạo xung riêng biệt, có sáu kênh PWM (Pulse WidthModulation) Giao diện truyền thông USART có thể lập trình Giao diện SPI (SerialPeripheral Interface) Master/Slave"
Nguồn cấp:
Mini-B USB: 5V
VIN: 5V - 12V
Sơ đồ khối:
Trang 21Hình 1.5 Sơ đồ khối của arduino Nano
Trang 22Cấu hình chân:
Hình 1.6 Cấu hình chân của Arduino Nano
Bảng 1.1 Chức năng các chân Analog.
A0 Analog Input (ADC) Chân đầu vào analog để đo tín hiệu từ
cảm biến hoặc tín hiệu điện áp.A1 Analog Input (ADC) Tương tự như A0, đo tín hiệu analog
khác
A4 Analog Input (ADC) / I2C SDA Đầu vào analog hoặc chân giao tiếp I2C
(Dữ liệu) Có thể sử dụng cho giao tiếp
với các thiết bị I2C
A5 Analog Input (ADC) / I2C SCL Đầu vào analog hoặc chân giao tiếp I2C
(Clock) Dùng cho giao tiếp I2C.A6 Analog Input (ADC) Đo tín hiệu analog thứ sáu (nếu có).A7 Analog Input (ADC) Đo tín hiệu analog thứ bảy (nếu có)
Trang 23phải là chân analog, nhưng thường được
sử dụng để cấp nguồn cho cảm biến)
hoàn tất mạch điện
Bảng 1.2 Chức năng các chân Digital.
D0 Digital I/O (RX) Chân RX (Receive) trong giao tiếp UART
(Serial Communication) Nhận tín hiệu từ thiết
bị bên ngoàD1 Digital I/O (TX) Chân TX (Transmit) trong giao tiếp UART
(Serial Communication) Truyền tín hiệu ra
ngoài
D2 Digital I/O (Interrupt) Chân digital có thể dùng làm interrupt (NGắt).
Được sử dụng trong các tác vụ cần xử lý ngay
lập tức khi có sự kiện xảy ra
D3 Digital I/O / PWM Output Chân digital hỗ trợ PWM output Có thể điều
chỉnh độ rộng xung PWM bằng lệnh
analogWrite().
D4 Digital I/O Chân digital I/O Có thể dùng làm đầu vào
hoặc đầu ra số
D5 Digital I/O / PWM Output Chân digital hỗ trợ PWM output Dùng để
điều khiển các thiết bị như motor, LED, v.v.D6 Digital I/O / PWM Output Chân digital hỗ trợ PWM output.
D7 Digital I/O Chân digital I/O Có thể dùng làm đầu vào
hoặc đầu ra số
D8 Digital I/O Chân digital I/O Có thể dùng làm đầu vào
hoặc đầu ra số
D9 Digital I/O / PWM Output Chân digital hỗ trợ PWM output Thường
dùng để điều khiển động cơ, LED hoặc cácthiết bị có yêu cầu xung PWM
D10 Digital I/O / PWM Output Chân digital hỗ trợ PWM output Thường
dùng cho điều khiển các thiết bị động cơ hoặc
Trang 24D12 Digital I/O / SPI MISO Chân digital là chân MISO (Master In Slave
Out) trong giao tiếp SP
D13 Digital I/O / SPI SCK /
Built-in LED
Chân digital có thể sử dụng cho SPI Clock (SCK) và là chân có LED tích hợp trên
Arduino Nano
AREF Analog Reference (Input) Chân AREF (Analog Reference) để cung cấp
điện áp tham chiếu cho ADC
(Analog-to-Digital Converter)
b) Joystick đa hướng x2
Bảng 1.3 Thông số kỹ thuật của Joystick
Hình 1.7 Joystick
Thông sốKích thước 4.0cm x 2.6cm x 3.2cmĐiện áp hoạt động 5V DC
Giá trị điện trở 10kΩ
Trang 25Chân đất, kết nối với GND của Arduino.
VDD Power (+5V) Chân nguồn cấp điện áp 5V từ Arduino
Control(Điều chỉnh
độ tươngphản)
Chân này điều khiển độ tương phản của màn hình
LCD, thường dùng POT (biến trở) để điều chỉnh.
Select (Chọnthanh ghi)
Xác định chế độ làm việc của màn hình: RS = 0 cho chế
E Enable (Kích Chân này được kích hoạt để gửi lệnh hoặc dữ liệu từ vi
Trang 26hoạt) điều khiển tới màn hình LCD.
D0-D7 Data Lines
(Dữ liệu)
Các chân này dùng để truyền tải dữ liệu (dạngparallel) từ vi điều khiển tới LCD D0-D3 (4-bit) hoặcD0-D7 (8-bit)
A
(Anode)
LED Anode(Nguồn đènnền)
Chân cấp điện cho đèn nền LCD (thường là +5V)
K
(Cathode)
LEDCathode (Đấtđèn nền)
Chân đất của đèn nền LCD, thường nối với GND
Thông số kỹ thuật của module I2C:
Hình 1.9 Module I2C.
- Khái niệm về I2C:
I2C (Inter – Integrated Circuit) là 1 giao thức giao tiếp nối tiếp đồng bộ đượcphát triển bởi Philips Semiconductors, sử dụng để truyền nhận dữ liệu giữa các IC vớinhau chỉ sử dụng hai đường truyền tín hiệu Các bit dữ liệu sẽ được truyền từng bitmột theo các khoảng thời gian đều đặn được thiết lập bởi 1 tín hiệu đồng hồ Bus I2C
Trang 27thường được sử dụng để giao tiếp ngoại vi cho rất nhiều loại IC khác nhau như các loại
vi điều khiển, cảm biến, EEPROM, …
- Giao tiếp I2C hoạt động như thế nào?
I2C sử dụng 2 đường truyền tín hiệu:
+ SCL - Serial Clock Line: Tạo xung nhịp đồng hồ do Master phát đi
+ SDA - Serial Data Line: Đường truyền nhận dữ liệu
Giao tiếp I2C bao gồm quá trình truyền nhận dữ liệu giữa các thiết bị chủ tớ,hay Master - Slave
+ Thiết bị Master là 1 vi điều khiển, nó có nhiệm vụ điều khiển đường tín hiệuSCL và gửi nhận dữ liệu hay lệnh thông qua đường SDA đến các thiết bị khác
+ Các thiết bị nhận các dữ liệu lệnh và tín hiệu từ thiết bị Master được gọi là cácthiết bị Slave Các thiết bị Slave thường là các IC, hoặc thậm chí là vi điều khiển.Master và Slave được kết nối với nhau như hình trên Hai đường bus SCL và SDA đềuhoạt động ở chế độ Open Drain, nghĩa là bất cứ thiết bị nào kết nối với mạng I2C nàycũng chỉ có thể kéo 2 đường bus này xuống mức thấp (LOW), nhưng lại không thể kéođược lên mức cao (HIGH) Vì để tránh trường hợp bus vừa bị 1 thiết bị kéo lên mứccao vừa bị 1 thiết bị khác kéo xuống mức thấp gây hiện tượng ngắn mạch Do đó cần
có 1 điện trờ (từ 1 – 4,7 kΩ) để giữ mặc định ở mức cao
Trang 28d) Module thu phát sóng RF nRF24L01 + PA (power amplifier) + LNA (Low NoiseAmplifier) 2.4GHz.
Công suất thu phát: 20dBm
Tốc độ truyền nhận tối đa: 2Mbit/s
Chuẩn chân 2x8 tương tự các mạch NRF24L01 không có khuếch đại
Trang 291.2.2 Phần thân quadcopter
a) Board mạch Arduino Uno R3
Hình 1.11 Board mạch Arduino Uno R3.
Thiết bị ngoại vi:
2x Bộ định thời/Đếm 8-bit với một thanh ghi chu kỳ và các kênh so sánh riêngbiệt
1x Bộ định thời/Đếm 16-bit với một thanh ghi chu kỳ, chức năng bắt và so sánhđầu vào
1x USART với bộ tạo tốc độ baud phân đoạn và chức năng phát hiện khung bắtđầu
Trang 301x Bộ điều khiển/giao tiếp chuỗi nối tiếp giao thức SPI (Serial PeripheralInterface)
1x Bộ điều khiển/giao tiếp chuỗi nối tiếp giao thức I2C kép
1x Bộ so sánh tương tự (Analog Comparator) với đầu vào tham chiếu có thểđiều chỉnh
Bộ hẹn giờ bảo vệ với bộ dao động riêng trên vi điều khiển
Sáu kênh PWM
Ngắt và “wake-up” khi có thay đổi trạng thái chân (pin change)
Bảng 1.5 Các thông số chính của bo mạch Arduino Uno
Trang 31b) Cảm biến gia tốc góc MPU-6050
MPU-6050 là một cảm biến gia tốc góc (gyroscope and accelerometer) 6 trục
do InvenSense sản xuất Đây là một trong những cảm biến phổ biến trong các ứngdụng điện tử, đặc biệt là trong các hệ thống điều khiển ổn định (như máy bay khôngngười lái - drone), robot, và các thiết bị đeo tay thông minh
Thông số kỹ thuật chính của MPU-6050:
Gia tốc kế (Accelerometer):
Phạm vi đo: ±2g, ±4g, ±8g, ±16g (g là gia tốc trọng trường, khoảng 9.8 m/s²)
Độ phân giải: 16 bit
Tốc độ lấy mẫu (Sampling rate): Tối đa 1 kHz
Con quay hồi chuyển (Gyroscope):
Phạm vi đo: ±250°/s, ±500°/s, ±1000°/s, ±2000°/s
Độ phân giải: 16 bit
Tốc độ lấy mẫu (Sampling rate): Tối đa 1 kHz
Giao tiếp:
Giao tiếp với vi điều khiển qua I2C (địa chỉ mặc định là 0x68, có thể thay đổi
bằng cách nối chân AD0 với VCC hoặc GND)
Nguồn điện (Power Supply):
Nguồn cấp: 3.3V hoặc 5V (tùy vào mô-đun)
Tiêu thụ dòng điện: Khoảng 3.9 mA (khi không có tải và trong chế độ hoạtđộng bình thường)
Bộ lọc kỹ thuật số (Digital Motion Processor - DMP):
MPU-6050 tích hợp bộ xử lý chuyển động kỹ thuật số, giúp xử lý các tín hiệu
từ cảm biến gia tốc và con quay hồi chuyển mà không cần phải tính toán trên vi điềukhiển, làm giảm tải cho vi xử lý
Tích hợp cảm biến nhiệt độ: MPU-6050 còn có một cảm biến nhiệt độ tích
hợp giúp đo nhiệt độ môi trường
Trang 32Cấu trúc của MPU-6050:
Gia tốc kế (Accelerometer): Đo gia tốc tuyến tính của các trục X, Y, Z
Con quay hồi chuyển (Gyroscope): Đo vận tốc góc (tốc độ quay) của các trục
Con quay hồi chuyển đo tốc độ quay (rotation speed) quanh các trục X, Y, Z.Dựa trên sự thay đổi của góc quay, cảm biến cung cấp thông tin về độ thay đổi góc củađối tượng
Bảng 1.6 Bảng chức năng các chân MPU 6050
Chân MPU-6050 Chức năng
VCC của MPU-6050 -> 5V (hoặc 3.3V nếu module hỗ trợ).
GND của MPU-6050 -> GND trên Arduino.
SDA của MPU-6050 -> SDA trên Arduino (A4 đối với Arduino Uno).
Trang 33SCL của MPU-6050 -> SCL trên Arduino (A5 đối với Arduino Uno).
Hình 1.12 Cảm biến gia tốc góc MPU-6050.
c) ESC (Electric Speed Controller) – Bộ điều khiển tốc độ
Hình 1.13 Bộ điều tốc ESC 30A.
Đây là một bộ điều khiển tốc độ động cơ không chổi than (BLDC) có thể hoạtđộng với dòng liên tục 30A và có một BEC (Battery Eliminator Circuit) 5V, 3A Bộđiều khiển này có khả năng điều khiển động cơ với dòng liên tục là 30A Nó được tạothành với 2 PCB (Printed Circuit Board - Bảng Mạch In) riêng biệt cho Bộ điều khiển
và MOSFETs (Metal-Oxide-Semiconductor Field-Effect Transistor) công suất củaESC (Electronic Speed Controller)
Thông số kỹ thuật:
- Ngõ ra: dòng liên tục là 30A; 40Amps trong vòng 10 giây
Trang 34- Điện áp đầu vào là: 2-4 cell Lithium / Lithium Ion battery or 5-12 cells NiMH/ NiCd (khoảng 7.4 đến 14.8V)
- BEC (Battery Eliminator Circuit) 5V, 3Amp cho các mạch thu và các servosbên ngoài
- Tốc độ tối đa: 2 cực: 210,000 vòng/phút; 6 cực: 70,000 vòng/phút; 12 cực:35,000 vòng/phút
Các đặc điểm:
- MOSFET chất lượng cao cho bộ điều khiển động cơ khôngchổi than
- Bộ vi điều khiển hiệu suất cao để tương thích tốt nhất với tất
cả các loại động cơ với hiệu suất cao hơn
- Có thể lập trình hoàn toàn với bất kỳ điều khiển từ xa RC tiêu chuẩn nào
- Tản nhiệt với màng truyền nhiệt hiệu suất cao giúp tản nhiệt tốt hơn
- Có 3 chế độ khởi động: Normal/Soft/Super-Soft, tương thích với các loại máybay
- Phản hồi ga mượt mà, tuyến tính và chính xác
- Bảo vệ cắt điện áp thấp
- Bảo vệ quá nhiệt
- IC điều chỉnh điện áp riêng cho vi điều khiển để chống nhiễu
- Tốc độ động cơ được hỗ trợ (Tối đa): 210000RPM (2 cực), 70000RPM (6cực), Màu đỏ 35000RPM (12 cực)
Kết nối với động cơ không chổi than:
ESC có ba dây màu xanh lam đi ra từ một đầu sẽ được kết nối với động cơBLDC Ở đầu bên kia, nó có dây màu đỏ và đen để kết nối với pin Nó cũng có mộtđầu nối servo 3 chân được sử dụng để nhận lệnh ga và cung cấp nguồn điện 5V, 3Ampđược điều chỉnh cho bộ thu từ xa và bộ điều khiển động cơ servo
Trang 35Bảng 1.7 Cách kết nối ESC với động cơ không chổi than
ESC (Bộ điều khiển động
Vi điều khiển (Arduino) PWM Pin (D3) -> Signal
Pin của ESC
Cung cấp tín hiệu PWM từ
vi điều khiển (Arduino) đếnESC để điều khiển tốc độ
động cơ
Nguồn điện (Pin LiPo) + và - -> ESC và Arduino Cung cấp nguồn điện cho
ESC và vi điều khiển từ pinLiPo hoặc nguồn điện
ngoài
Điều khiển tín hiệu cho ESC:
30A BLDC ESC yêu cầu tín hiệu PWM là từ 50-60Hz từ cần điều khiển Tacũng có thể tạo tín hiệu đầu vào tương tự từ vi điều khiển Tốc độ của đông cơ phụthuộc vào độ rộng xung PWM từ cần ga Tốc độ của động cơ phụ thuộc vào nhu cầu sửdụng và mục tiêu đề tài yêu cầu Tuy nhiên vị trí cần ga phải ở mức 0 ứng với độ rộngxung là 1ms và mức tối đa là 2ms Tuy nhiên độ rộng xung cso thể là ở mức 0.5ms đến2.5ms và nằm trong khoảng tần số cho phép là 50Hz – 60Hz Ta có thể điều chỉnh tínhiệu tương tự cho các cần điều khiển để phù hợp với mục tiêu đề tài
Trang 36d) Động cơ 3 pha không chổi than dji 2212/920KV
Hình 1.14 Động cơ 3 pha không chổi than dji 2212/920KV
Trong lĩnh vực máy bay mô hình thường được sử dụng động cơ không chổithan (Brushless DC motor) để truyền động cho cánh quạt Ngoài ra, động cơ này cònđược ứng dụng rộng rãi trong nhiều lĩnh vực của cuộc sống như trong ổ đĩa của máytính, máy nghe nhạc, các bộ phận máy móc trong công nghiệp cần tốc độ quay cao, xeđạp điện, xe máy điện Loại động cơ này có nhiều ưu điểm: tốc độ quay cao, momentlớn, bền bỉ và không phóng tiên lửa điện gây tổn hao năng lượng như động cơ điệnkhác
Động cơ một chiều không chổi than (gọi tắt là BLDC) có tên gọi như vậynhưng thật chất nó thuộc nhóm động cơ đồng bộ nam châm vĩnh cửu là nhóm động cơxoay chiều đồng bộ, rotor quay cùng tốc độ với từ trường quay, có phần cảm là namchâm vĩnh cửu
Việc điều khiển tốc độ động cơ BLDC dựa vào nguyên tắc cấp xung tuần tựcho các cuộn dây để tạo ra từ trường quay Để thực hiện công việc này ta phải dùngmột bộ điều tốc có tên gọi là ESC (Electronic Speed Controller), có chức năng nhưmột bộ biến tần biến đổi điện áp 1 chiều thành điện áp xoay chiều 3 pha có thể thay đổiđược cung cấp cho động cơ Để đảo chiều động cơ ta chỉ cần thay đổi vị trí 2 trong 3dây pha
Trang 37Loại cánh được sử dụng trong mô hình là loại có kích thước là 10x4.5CW.
Trang 38- Tối ưu hóa thiết kế khung: tích hợp mạch hàn PDB trên khung nhằm tiết kiệmdiện tích khung
- Màu sắc khác nhau Khung Arms: Đỏ và trắng hoặc đen giúp bạn dễ dàngphân biệt đầu đuôi
Thông số kỹ thuật chính của LM2596:
Điện áp đầu vào (Vin): 4V đến 40V
Điện áp đầu ra (Vout): Có thể điều chỉnh từ 1.23V đến 37V (tùy vào cấu hình
và tải)
Dòng đầu ra (Iout): Tối đa 2A (tùy thuộc vào tải và điều kiện hoạt động)
Trang 39Hiệu suất: Lên đến 90%, tuỳ vào điều kiện và tải.
Tần số hoạt động: Khoảng 150 kHz
Cấu tạo và nguyên lý hoạt động:
LM2596 là một bộ điều chỉnh điện áp buck, nghĩa là nó chuyển đổi điện áp caoxuống điện áp thấp hơn bằng cách sử dụng một công nghệ chuyển mạch (switching)
Nó sử dụng một diode Schottky và một cuộn cảm (inductor) để giảm điện áptrong khi duy trì hiệu suất cao
LM2596 có một chân điều chỉnh (Adj) cho phép người dùng điều chỉnh điện ápđầu ra thông qua một mạch phân áp ngoài (thường là một bộ chia điện trở)
Ứng dụng:
Cung cấp điện áp cho các vi mạch, cảm biến, và mô-đun điều khiển trong các
hệ thống điện tử tiêu dùng, ví dụ như Arduino, Raspberry Pi,…
Chuyển nguồn cung cấp điện cho các thiết bị sử dụng điện áp thấp, ví dụ: điệnthoại di động, máy tính bảng, và các thiết bị có yêu cầu điện áp ổn định
Sơ đồ kết nối cơ bản:
Chân của LM2596:
Chân Vin (Input): Nguồn cấp đầu vào (ví dụ 12V hoặc 24V)
Chân GND (Ground): Chân nối đất
Chân Vout (Output): Điện áp đầu ra (điều chỉnh qua bộ phân áp ngoài).Chân Adj (Adjustment): Chân điều chỉnh điện áp đầu ra
- Xem điện áp ngõ ra hoặc vào bằng nút phải
- Tần số: 150Khz
- Bảo vệ ngắn mạch
Trang 40Chương 2
THIẾT KẾ MẠCH VÀ CHẾ TẠO MÔ HÌNH UAV
2.1 Thiết kế hệ thống
2.1.1 Thiết kế sơ đồ khối hệ thống
Hình 2.1 Sơ đồ khối hệ thống Quadcopter
Khối xử lý trung tâm Arduino Uno: Là trung tâm điều khiển đa nhiệm Đảmnhận nhiều nhiệm vụ quan trọng điều khiển chuyển động, thu thập dữ liệu từ cảm biếnMPU6050, giao tiếp với người điều khiển qua tín hiệu RF2.4GHZ , lập trình chế độbay linh hoạt, quản lý nguồn điện để duy trì hiệu suất ổn định Ngoài ra khối xử lýtrung tâm còn đảm bảo việc điều khiển các chức năng phụ trợ như đèn LED
Khối nhận tín hiệu (RX) trong hệ thống drone:sử dụng module NRF24L01 vàArduino Nano có nhiệm vụ nhận và chuyển đổi tín hiệu điều khiển từ bộ phát TX,đồng thời truyền thông tin đến khối xử lý trung tâm Arduino uno Chức năng chínhbao gồm nhận tín hiệu, chuyển đổi thành dữ liệu điều khiển, kiểm soát độ trễ, xác địnhtình trạng liên lạc và đảm bảo an toàn trong quá trình điều khiển quadcopter