1. Trang chủ
  2. » Giáo Dục - Đào Tạo

xây dựng mô hình quadcopter thu thập không gian ảnh

97 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng Mô Hình Quadcopter Thu Thập Không Gian Ảnh
Tác giả Thái Văn Thanh Hoàng, Phạm Tuấn Kiệt
Người hướng dẫn Nguyễn Trần Minh Nguyệt
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công nghệ Kỹ thuật Điều khiển và Tự động hóa
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2024
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 97
Dung lượng 8,4 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN (19)
    • 1.1. Đặt vấn đề (19)
    • 1.2. Mục tiêu (20)
    • 1.3. Giới hạn đề tài (20)
    • 1.4. Bố cục nội dung (21)
  • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT (22)
    • 2.1. Tổng quan về Quadcopter (22)
    • 2.2. Mô hình toán học của Quadcopter (24)
      • 2.2.1. Khái niệm cơ bản (24)
      • 2.2.2. Mô hình động học của Quadcopter (25)
      • 2.2.3. Mô hình khí động học (32)
      • 2.2.4. Lý thuyết phần tử về cánh quạt (34)
      • 2.2.5. Hình dáng khí động học (37)
      • 2.3.2. Gia tốc kế - Accelerometer (39)
    • 2.4. Giao thức I2C (40)
    • 2.5. Bộ lọc bù - Complementary Filter (42)
    • 2.6. Lý thuyết về bộ điều khiển PID (44)
  • CHƯƠNG 3. TÍNH TOÁN, MÔ PHỎNG VÀ THIẾT KẾ HỆ THỐNG (50)
    • 3.1. Yêu cầu điều khiển (50)
    • 3.2. Tính toán hệ thống (51)
      • 3.2.1. Tính toán lựa chọn motor (51)
      • 3.2.2. Tính toán lựa chọn ESC (52)
      • 3.2.3. Tính toán lựa chọn nguồn cấp (54)
      • 3.2.4. Lựa chọn thông số PID (54)
    • 3.3. Mô phỏng hệ thống (55)
    • 3.4. Thiết kế hệ thống (63)
      • 3.4.1. Sơ đồ khối hệ thống (63)
      • 3.4.2. Linh kiện sử dụng (64)
      • 3.4.3. Sơ đồ nguyên lý trong hệ thống (77)
  • CHƯƠNG 4. THI CÔNG HỆ THỐNG (79)
    • 4.1. Thi công phần cứng (79)
    • 4.2. Thi công phần mềm (80)
      • 4.2.1 Sơ đồ khối bộ điều khiển (80)
      • 4.2.2. Lưu đồ điều khiển (81)
  • CHƯƠNG 5. KẾT QUẢ - ĐÁNH GIÁ – NHẬN XÉT (90)
    • 5.1. Kết quả (90)
    • 5.2. Đánh giá (93)
    • 5.3. Nhận xét (93)

Nội dung

Các kết quả nghiên cứu trong nước: ● Bộ điều khiển bám quỹ đạo phương tiện bay không người lái cho UAV quadcopter theo nguyên lý điều khiển trượt kết hợp bộ quan sát trạng thái High-Gai

TỔNG QUAN

Đặt vấn đề

Trong thời đại công nghiệp hóa và hiện đại hóa, sự bùng nổ của khoa học và công nghệ đã thúc đẩy nền kinh tế phát triển nhanh chóng và cải thiện đời sống con người Các thiết bị máy móc công nghiệp, công trình nghiên cứu khoa học và tự động hóa đã được ứng dụng rộng rãi nhằm tăng năng suất và hiệu quả lao động trong nhiều lĩnh vực như giao thông, xây dựng, sản xuất công nghiệp, thiết bị y tế, và quân sự

Ngoài các ứng dụng trên mặt đất, con người còn nghiên cứu các ứng dụng trong không gian Cụ thể, các thiết bị bay được chế tạo để di chuyển vào những địa hình nguy hiểm mà con người không thể tiếp cận, thu thập dữ liệu từ camera và gửi về trung tâm giám sát Đặc biệt, nhiều quốc gia đã áp dụng công nghệ này trong nông nghiệp để tăng năng suất và chất lượng sản phẩm Trong lĩnh vực quân sự, thiết bị bay được sử dụng cho mục đích do thám, giám sát mục tiêu, và vẽ bản đồ

Tất cả những điều trên đã khẳng định rằng, máy bay không người lái đã trở thành trung tâm trong các chức năng của doanh nghiệp và tổ chức chính phủ Chúng đem lại hiệu quả cao, năng suất làm việc tăng, khối lượng cũng như chi phí sản xuất phần nào được giảm bớt Việc áp dụng công nghệ máy bay không người lái đã chuyển từ giai đoạn mốt sang giai đoạn xu hướng lớn khá nhanh vì con người đã dần bắt đầu nhận ra được tiềm năng, phạm vi và quy mô của chúng trên phạm vi toàn cầu

Vì thế, mà đã có rất nhiều nghiên cứu đối với máy bay không người lái với các ứng dụng khác nhau được thực hiện cả trong và ngoài nước

Các kết quả nghiên cứu ngoài nước:

● Tài liệu [1] đề xuất một bộ điều khiển hồi tiếp mới trên quadcopter để điều khiển ổn định độ cao theo cấp số nhân khi quadcopter cất và hạ cánh Hay là thiết kế bộ điều khiển PID theo phương pháp LQR sử dụng mô hình tuyến tính UAV quadcopter [2]

● Thiết kế và điều khiển mô hình quadcopter cỡ lớn nhằm mang được các vật nặng [3] Thiết kế bộ điều khiển PID cho quadcopter nhưng không đưa ra phương pháp xác định thông số PID [4] [5]

● Năm 2011, Daniel Mellinger and Vijay Kumar đã phát triển một thuật toán cho phép tạo ra các quỹ đạo tối ưu theo thời gian thực thông qua chuỗi các vị trí 3 chiều, đồng thời đảm bảo việc đi qua an toàn các hành lang được chỉ định và thỏa mãn các ràng buộc về vận tốc, gia tốc và đầu vào [6]

● Ngoài ra, các nghiên cứu về động lực học, thiết kế và điều khiển đã đóng góp quan trọng vào việc định hình và tạo nền tảng cho các nghiên cứu tiếp theo về quadcopter trong nhiều lĩnh vực Tài liệu [7] đề cập đến việc sử dụng camera trên quadcopter để trích xuất và phân tích các đường viền trực quan của môi trường xung quanh, từ đó điều khiển quadcopter di chuyển trong môi trường này Bên cạnh đó, mạng thần kinh nhân tạo cũng được áp dụng để tinh chỉnh thông số cho bộ điều khiển PI, giúp cân bằng quadcopter [8]

Các kết quả nghiên cứu trong nước:

● Bộ điều khiển bám quỹ đạo phương tiện bay không người lái cho UAV quadcopter theo nguyên lý điều khiển trượt kết hợp bộ quan sát trạng thái High- Gain [9], thiết kế bộ điều khiển trượt kết hợp với PID để điều khiển độ cao và trạng thái của UAV quadcopter [10] Tuy nhiên, 2 bộ trên thu được kết quả khá phức tạp và việc triển khai cài đặt các bộ điều khiển này trên thiết bị phần cứng cũng gặp nhiều khó khăn

● Tài liệu [11] trình bày bộ điều khiển mờ lai tự chỉnh cho UAV với tải trọng ngoài, tham số bất định Các kết quả thực nghiệm điều khiển thời gian thực với thiết bị AR-drone 2.0 trên Matlab cho thấy bộ điều khiển đề xuất có cải thiện độ ổn định của hệ thống

Thông qua việc tìm hiểu các nghiên cứu trên, nhóm chúng em nhận thấy có rất nhiều vấn đề về việc thiết kế và điều khiển ổn định cho quadcopter Vì thế mà nhóm đã quyết định chọn đề tài “Xây dựng mô hình Quadcopter thu thập không gian ảnh”.

Mục tiêu

- Tìm hiểu nguyên lý cân bằng, nghiên cứu động học, động lực học của thiết bị bay dạng quadcopter

- Tìm hiểu về cảm biến IMU và bộ phận cấu thành Quadcopter

- Tính toán thiết kế mạch điều khiển

- Xây dựng thuật toán điều khiển và phương pháp cân bằng cho Quadcopter

- Xây dựng mô hình thực tế

- Thi công hoàn thiện và bay thực nghiệm mô hình.

Giới hạn đề tài

Bộ điều khiển cho Quadcopter chỉ có khả năng giữ cân bằng và điều khiển theo

3 góc roll, pitch, yaw Không có khả năng điều khiển theo độ cao và vị trí

Bộ điều khiển PID được thiết kế chỉ để ổn định quadcopter trong các điều kiện bay đơn giản và trong môi trường không có nhiều nhiễu động mạnh như gió lớn hoặc các yếu tố môi trường khác

Các thử nghiệm và kiểm tra chỉ được thực hiện trong một không gian hạn chế như phòng thí nghiệm hoặc khu vực ngoài trời có kiểm soát Đề tài không bao gồm các thử nghiệm trong các điều kiện môi trường khắc nghiệt

Camera được tích hợp để thu thập hình ảnh không gian xung quanh nhưng không được sử dụng để thực hiện các thuật toán xử lý ảnh phức tạp hay điều khiển quadcopter dựa trên nhận dạng hình ảnh Camera chỉ đóng vai trò như một công cụ bổ trợ cho việc quan sát và không ảnh hưởng trực tiếp đến quá trình điều khiển cân bằng.

Bố cục nội dung

Chương 1 Tổng quan: Chương này sẽ trình bày vấn đề dẫn nhập, lý do chọn đề tài, mục tiêu và nội dung nghiên cứu Ngoài ra, chương này cũng sẽ đề cập đến các giới hạn thông số và bố cục của đồ án

Chương 2 Cơ sở lý thuyết: Trình bày cơ sở lý thuyết về động lực học, bộ đo lường quán tính, giao thức truyền thông, bộ lọc bù và giải thuật điều khiển

Chương 3 Tính toán và thiết kế hệ thống: Trình bày về yêu cầu điều khiển, tính toán các thông số, mô phỏng và thiết kế hệ thống

Chương 4 Thi công hệ thống: Trình bày nội dung thi công phần cứng và phần mềm hệ thống

Chương 5 Kết quả - Đánh giá - Nhận xét

Chương 6 Kết luận và hướng phát triển

CƠ SỞ LÝ THUYẾT

Tổng quan về Quadcopter

Quadcopter là một mô hình bay hay thiết bị bay không người lái còn gọi là UAVs (Unmanned Aerial Vehicles) gồm 4 động cơ Bốn cánh quạt được gắn trên 4 động cơ giúp tạo lực nâng cho phép quadcopter bay lên khi cánh quạt quay Các cặp cánh quạt phía trước (Front) và phía sau (Back) quay ngược chiều kim đồng hồ, trong khi cặp cánh bên phải (Right) và bên trái (Left) quay thuận chiều kim đồng hồ để cân bằng moment xoắn được tạo ra bởi các cánh quạt trên khung Khi Quadcopter cất và hạ cánh (Throttle Up/Down), cả bốn cánh quạt phải tạo ra cùng một lực đẩy bằng nhau

Góc xoay (Roll) được điều khiển bằng cách thay đổi tốc độ giữa cánh bên phải và bên trái, sao cho tổng lực đẩy sinh ra bởi hai cánh này vẫn giữ nguyên Tương tự, góc nghiêng (Pitch) được điều khiển bằng cách thay đổi tốc độ của hai cánh phía trước và phía sau, mà vẫn duy trì tổng lực đẩy

Góc lệch (Yaw) được điều khiển bằng cách thay đổi tốc độ của cặp cánh phải - trái so với tốc độ của cặp cánh trước - sau, trong khi tổng lực đẩy của cả bốn cánh quạt vẫn không thay đổi để Quadcopter giữ được độ cao Dưới đây là mô tả tổng quan về các mô hình chuyển động của một Quadcopter cơ bản

Mô hình toán học của Quadcopter

Quadcopter là máy bay được tạo thành từ bốn động cơ, giữ bảng điện tử ở giữa và các động cơ ở 4 cực Trước khi mô tả mô hình toán học của quadcopter, chúng ta nên xem xét sơ qua tọa độ tham chiếu sử dụng Về cơ bản, quadcopter có thể sử dụng hai hệ quy chiếu:

● Hệ tọa độ cố định

● Hệ tọa độ không cố định (mobile) các vector của hệ tọa độ chỉ theo các hướng North (Bắc), East (Đông) và Down (chỉ vào trung tâm của Trái Đất)

Hình 2 5 Hệ thống tọa độ cố định 𝑂 𝑁𝐸𝐷

Vị trí và góc nghiêng của quadcopter được điều khiển đến các giá trị mong muốn bằng cách thay đổi tốc độ của bốn động cơ Các lực và moment tác động lên quadcopter có thể kể đến như lực đẩy do quay rotor, các moment quay quanh các trục gây ra bởi sự chênh lệch lực đẩy của bốn rotor, trọng lực

Bố trí 4 động cơ theo chiều ngược chiều kim đồng hồ bắt đầu từ Front Cách bố trí động cơ và mối quan hệ giữa khung quadcopter với hệ tọa độ được thể hiện trên hình

Hình 2 6 Khung tọa độ tham chiếu và Quadcopter

Chuyển động trong không gian của Quadcopter là chuyển động 6 bậc tự do Chúng bao gồm 3 thành phần chuyển động tịnh tiến và 3 thành phần chuyển động quay quanh các trục Việc điều khiển chuyển động sáu bậc tự do có thể được thực hiện bằng cách điều chỉnh tốc độ quay của các động cơ khác nhau Các thành phần chuyển động của Quadcopter được thể hiện trên hình 2.7

Hình 2 7 Các thành phần chuyển động của Quadcopter theo trục tọa độ

2.2.2 Mô hình động học của Quadcopter

▪ Phân tích động lực học

Nguyên lý hoạt động chính của mô hình này dựa trên sự chuyển động của các dòng khí do cánh quạt tạo ra Khi các dòng khí di chuyển xuống dưới, lực đẩy được tạo ra sẽ làm cho Quadcopter bay lên Sự điều chỉnh vận tốc của từng động cơ sẽ thay đổi hướng bay của Quadcopter Để mô tả các chuyển động của một khung 6 bậc tự do, cần

8 sử dụng hai hệ quy chiếu, các biến Φ, θ, Ψ (các góc roll - pitch – yaw là góc Euler giữa hệ quy chiếu vật thể và hệ quy chiếu mặt đất)

Hình 2 8 Các hệ quy chiếu của Quadcopter

- 𝑒 𝐴 là hệ quy chiếu khung Quadcopter

- 𝑒 𝐵 là hệ quy chiếu quán tính Trái Đất

Vectơ vị trí và vận tốc theo hệ quy chiếu Oxyz được mô tả như sau:

𝑥 = (𝑥, 𝑦, 𝑧) 𝑇 𝑎𝑛𝑑 𝑥 ′ = (𝑥 ′ , 𝑦 ′ , 𝑧 ′ ) 𝑇 (2.1) Tương tự với các vectơ của các góc roll, pitch, yaw theo hệ quy chiếu góc là:

Lực đẩy và moment tạo ra bởi cánh quạt có độ lớn tỉ lệ thuận với bình phương của tốc độ quay của cánh quạt Ta có hệ phương trình:

- 𝜔 1 , 𝜔 2 , 𝜔 3 , 𝜔 4 lần lượt là tốc độ quay của cánh quạt thứ 1 đến cánh quạt thứ 4 tương ứng với cánh quạt trước (front), cánh quạt trái (left), cánh quạt sau (back), cánh quạt phải (right)

- b và g tương ứng với hệ số nâng và hệ số moment của cánh quạt

- L là độ dài cánh tay đòn từ vị trí trọng tâm Qaudcopter đến mỗi động cơ

- 𝐹 1 , 𝐹 2 , 𝐹 3 , 𝐹 4 lần lượt là lực nâng tạo bởi 4 cánh quạt

- 𝑇 𝑥 là moment nằm trên trục xA gắn với Quadcopter, gây ra bởi góc nghiêng Roll 𝜙

- 𝑇 𝑦 là moment nằm trên trục yA gắn với Quadcopter, gây ra bởi góc ngóc Pitch 𝜃

- 𝑇 𝑧 là moment nằm trên trục zA gắn với Quadcopter, gây ra bởi góc hướng Yaw 𝜓 Để phân tích động lực học của Quadcopter, ta xem nó như một vật rắn cứng chuyển động tự do trong không gian Từ đó phân tích chuyển động của Quadcopter ra thành 2 phần là chuyển động tịnh tiến và chuyển động quạy Chuyển động tịnh tiến do các thành phần lực kéo và lực nâng gây ra, còn chuyển động quay quanh trục của nó do các moment gây ra

Với chuyển động tịnh tiến, áp dụng định luật biến thiên động lượng ta được:

- u là vận tốc tịnh tiến trên trục xA gắn với Quadcopter

- v là vận tốc tịnh tiến trên trục yA gắn với Quadcopter

- w là vận tốc tịnh tiến trên trục zA gắn với Quadcopter

- p là vecto tốc độ góc nghiêng nằm trên xA gắn với Quadcopter

- q là vecto tốc độ góc nghiêng nằm trên yA gắn với Quadcopter

- r là vecto tốc độ góc nghiêng nằm trên zA gắn với Quadcopter

- 𝜙̇ là vecto tốc độ góc nghiêng

- 𝜃̇ là vecto tốc độ góc ngóc

- 𝜓̇ là vecto tốc độ góc hướng

- x là tọa độ của Quadcopter trên trục xB của hệ trục quán tính gắn với mặt đất

- y là tọa độ của Quadcopter trên trục yB của hệ trục quán tính gắn với mặt đất

- z là tọa độ của Quadcopter trên trục zB của hệ trục quán tính gắn với mặt đất

] (2.7) Đối với chuyển động quay áp dụng định luật biến thiên moment động lượng ta được:

- T là vecto moment ngoại lực

- H là vecto moment động lượng của quadcopter

- 𝐽 Ω⃗⃗ × 𝜔⃗⃗ là thành phần tương ứng với hiệu ứng con quay

Nhờ vào cấu trúc đối xứng, với tốc độ quay của 2 cặp động cơ cánh quạt bằng nhau về độ lớn và ngược chiều nhau nên thành phần moment con quay sẽ được triệt tiêu

Do đó chỉ khảo sát ảnh hưởng của moment lực điều khiển T lên chuyển động góc của Quadcopter

Quadcopter có hình dạng đối xứng, nên sẽ có được tenxo moment quán tính có dạng như sau:

Mối quan hệ giữa J và T như sau:

(2.11) Để khảo sát cũng như điều khiển quadcopter ta cần chuyển nó về hệ tọa độ quán tính gắn với mặt đất Do đó cần thiết lập ma trận chuyển đổi giữa 2 hệ tọa độ trên

Ma trận chuyển đổi hay còn gọi là ma trận quay cho phép ta chuyển từ một hệ tọa độ này sang hệ tọa độ khác thông qua 3 góc Euler và 3 ma trận cosin hướng

Ta sẽ quay Quadcopter với thứ tự như sau: Đầu tiên quay hệ trục 𝑒 𝐴 quanh trục 𝑧 𝐴 một góc Yaw (𝜓) ta được hệ tọa độ trung gian 𝑒 𝐴1 Sau đó quay 𝑒 𝐴1 xung quanh trục

𝑦 𝐴1 một góc Pitch (𝜃) ta được hệ tọa độ trung gian thứ 2 là 𝑒 𝐴2 Cuối cùng là xoay 𝑒 𝐴2 quay quanh trục 𝑥 𝐴2 một góc Roll (𝜙) ta được hệ tọa độ gắn với quadcopter

Qua 3 phép quay ta có được 3 ma trận quay tương ứng dưới đây:

Nhân 3 ma trận trên lại với nhau, ta được sự định hướng Quadcopter được biểu thị bởi 3 góc Euler qua ma trận xoay dưới đây:

Ta có được tốc độ tịnh tiến 𝑉⃗ của quadcopter trong hệ tọa độ quán tính là:

Việc phân tích tốc độ góc 𝜔⃗⃗ của quadcopter trong tọa độ quán tính thì khác so với tốc độ tịnh tiến Vì vecto 𝜓̇ nằm bên trong trục 𝑧 𝐴1 thuộc hệ trục 𝑒 𝐴1 , vecto 𝜃̇ nằm trên trục 𝑦 𝐴2 thuộc hệ trục 𝑒 𝐴2 và vecto 𝜙̇ thuộc hệ trục 𝑒 𝐴 Do đó ta có hệ thức:

▪ Tính chất phi tuyến của động học Quadcopter

Xét ngoại lực 𝐹 tác dụng lên Quadcopter chỉ có 2 lực cơ bản:

- Lực đẩy của 4 cánh quạt động cơ, kí hiệu là 𝐹⃗⃗⃗ 𝐿 có phương trùng với trục

- Trọng lực 𝑚𝑔 luôn vuông góc với mặt phẳng ngang

Từ đó ta có thể tách 𝐹 thành 2 phần rồi sao đó chiếu lên hệ trục gắn Qaudcopter, ta được như sau:

Kết hợp tất cả các phương trình trên lại, ta thu được hệ phương trình động học phi tuyến toàn phần của Quadcopter:

2.2.3 Mô hình khí động học

Giao thức I2C

I2C hay IIC (Inter-Integrated Circuit) là một giao thức giao tiếp nối tiếp đồng bộ, được phát triển bởi Philips Semiconductors, được sử dụng để truyền nhận dữ liệu giữa các IC (Integrated Circuit) với nhau chỉ sử dụng hai đường truyền tín hiệu

Hình 2 15 Giao thức I2C giữa các thiết bị

Giống như giao tiếp UART, giao tiếp I2C cũng chỉ sử dụng hai dây để truyền dữ liệu giữa các thiết bị:

- SDA (Serial Data): Đây là đường truyền dùng để master và slave gửi và nhận dữ liệu

- SCL (Serial Clock): Đây là đường mang tín hiệu xung nhịp, quản lý tốc độ truyền dữ liệu

Các bit dữ liệu được truyền từng bit một dọc theo đường SDA, trong đó thời điểm truyền mỗi bit được điều chỉnh bởi xung nhịp trên đường SCL

Giao tiếp I2C là quá trình truyền nhận dữ liệu giữa các thiết bị trong mạng I2C, gồm có Master và Slave Thiết bị Master là một vi điều khiển chịu trách nhiệm điều khiển đường tín hiệu SCL và truyền/nhận dữ liệu qua đường SDA đến các thiết bị khác trong mạng Các thiết bị Slave là những thiết bị nhận dữ liệu và lệnh từ thiết bị Master Chúng có thể là các vi mạch tích hợp (IC) hoặc cũng có thể là các vi điều khiển khác

Hình 2 16 Tín hiệu của SCLvà SDA khi bắt đầu giao thức

- Bắt đầu truyền gửi (Start): Master bắt đầu quá trình gửi bằng cách kéo lần lượt các đường SDA và SCL từ mức cao xuống mức thấp

- Gửi địa chỉ và bit Read/Write: Master gửi đi 7 bit địa chỉ của Slave cùng với bit

Read/Write Slave so sánh địa chỉ này với địa chỉ của nó Nếu trùng khớp, Slave gửi lại một xác nhận (ACK) bằng cách kéo SDA xuống mức thấp và set bit ACK/NACK thành '0' Nếu không trùng khớp, Slave giữ SDA và bit ACK/NACK ở mức cao ('1')

- Truyền/nhận dữ liệu: Master tiếp tục gửi hoặc nhận khung dữ liệu Nếu Master gửi dữ liệu đến Slave, bit Read/Write sẽ ở mức thấp ('0') Ngược lại, nếu Master nhận dữ liệu từ Slave, bit này sẽ ở mức cao ('1')

- Xác nhận nhận dữ liệu: Sau khi mỗi byte dữ liệu được gửi đi thành công, Slave phản hồi bằng một bit ACK để cho biết đã nhận được dữ liệu ACK là mức '0'

- Kết thúc truyền gửi (Stop): Sau khi hoàn thành việc gửi/nhận dữ liệu, Master gửi một tín hiệu Stop bằng cách chuyển lần lượt SCL từ mức thấp lên mức cao, sau đó chuyển SDA từ mức thấp lên mức cao Tín hiệu Stop này thông báo cho các Slave biết rằng quá trình truyền gửi đã kết thúc Đây là các bước cơ bản trong quá trình giao tiếp I2C giữa Master và Slave.

Bộ lọc bù - Complementary Filter

Để áp dụng bộ lọc bù vào việc tính góc của bộ cảm biến IMU, chúng ta có thể sử dụng cảm biến gia tốc để giảm thiểu các hiệu ứng phân kỳ do trôi góc của con quay hồi chuyển Cảm biến gia tốc cung cấp thông tin về gia tốc góc của bộ cảm biến một cách ổn định và có tính hội tụ tốt hơn so với cảm biến từ trường và gia tốc

Khi sử dụng bộ lọc bù, bộ lọc thấp G(s) sẽ được áp dụng để lọc các thành phần nhiễu tần số cao của dữ liệu gia tốc (được biểu thị bởi tín hiệu y) Điều này giúp giảm nhiễu và cải thiện độ chính xác của dữ liệu gia tốc được sử dụng để tính toán góc

Bộ lọc thông cao [1 - G(s)] sẽ đảo ngược tác động của bộ lọc thấp và được áp dụng để loại bỏ các nhiễu tần số thấp ở dữ liệu từ cảm biến vận tốc góc (được biểu thị bởi tín hiệu x) Điều này giúp loại bỏ các hiệu ứng phân kỳ do trôi góc của con quay hồi chuyển và giữ cho độ chính xác của ước lượng góc được duy trì trong thời gian dài

Kết quả là, sử dụng bộ lọc bù sẽ cải thiện tính ổn định và độ chính xác của hệ thống ước lượng góc từ bộ cảm biến IMU, đặc biệt là trong việc xử lý các hiệu ứng nhiễu và phân kỳ có thể xảy ra do các yếu tố bên ngoài

Hình 2 17 Bộ lọc bù cơ bản

Sử dụng bộ lọc bù vào việc tính góc của bộ IMU với lý do:

Sự thay đổi nhanh của cảm biến vận tốc góc đáng tin cậy hơn giá trị từ cảm biến gia tốc và từ trường Để loại bỏ phân kỳ do trôi góc của con quay hồi chuyển, sự hội tụ ổn định của hệ thống cần sử dụng dữ liệu từ cảm biến gia tốc

Với 𝜙̂(𝑡) là góc tính toán, 𝜙 𝑔𝑦𝑟𝑜 (𝑡) là góc con quay hồi chuyển, 𝜙 𝑎𝑐𝑐 là góc từ cảm biến gia tốc, 𝛼 là hệ số lọc (0 < 𝛼 < 1)

Hình 2 18 So sánh góc quay roll theo trục x, giữa kết quả do cảm biến gia tốc (màu đỏ) và kết quả của bộ lọc bù (màu đen) Để cải thiện tính chính xác của giá trị góc quay được tính từ cảm biến IMU, bộ lọc bù (complementary filter) sử dụng mỗi vòng lặp để kiểm tra và xử lý các giá trị đo từ cảm biến gia tốc Nếu các giá trị này vượt quá một ngưỡng quy định (quá lớn hoặc

26 quá nhỏ), thì được xem là nhiễu và bộ lọc sẽ giảm ảnh hưởng của nhiễu này để tính toán góc quay một cách chính xác hơn

Ví dụ, với hệ số α=0.98, bộ lọc bù sẽ thực hiện việc cập nhật giá trị góc bằng cách tính trung bình có trọng số giữa giá trị góc hiện tại (được tính bằng con quay hồi chuyển) và giá trị góc mới tính bằng cảm biến gia tốc Cụ thể, bộ lọc sẽ lấy 98% giá trị hiện tại từ con quay hồi chuyển và thêm 2% giá trị góc tính từ cảm biến gia tốc Phương pháp này giúp đảm bảo rằng các giá trị góc được cập nhật liên tục và mượt mà, ngăn chặn hiện tượng dao động hay sai lệch lớn của giá trị góc trong ngắn hạn

Qua đó, bộ lọc bù không chỉ giảm thiểu các nhiễu mà còn duy trì tính chính xác của ước lượng góc quay từ cảm biến IMU, đặc biệt là trong các điều kiện biến động và nhiễu môi trường khác nhau.

Lý thuyết về bộ điều khiển PID

Một bộ điều khiển PID (Proportional Integral Derivative) là một cơ chế phản hồi vòng tổng quát được sử dụng rộng rãi trong các hệ thống điều khiển công nghiệp Được coi là phương pháp điều khiển phản hồi phổ biến nhất, PID tính toán sai số là sự khác biệt giữa giá trị đo của biến số điều khiển và giá trị đặt mong muốn Bộ điều khiển PID cố gắng giảm sai số này bằng cách điều chỉnh giá trị điều khiển đầu vào Đối với những người không có nền tảng toán học về hệ thống điều khiển, PID thường được xem là lựa chọn điều khiển tối ưu nhất Tuy nhiên, để đạt được hiệu quả tối đa, các thông số của PID cần được điều chỉnh dựa trên đặc tính cụ thể của hệ thống Mặc dù cùng là kiểu điều khiển PID, các thông số cần phải được điều chỉnh để phù hợp với từng đặc điểm riêng của hệ thống Điều này giúp bộ điều khiển PID hoạt động hiệu quả hơn và đảm bảo rằng các hệ thống điều khiển có thể duy trì và điều chỉnh các thông số điều khiển một cách hiệu quả trong quá trình vận hành

Hình 2 19 Sơ đồ khối bộ điều khiển PID

Giải thuật của bộ điều khiển PID bao gồm ba thông số riêng biệt, do đó nó còn được gọi là điều khiển ba khâu: tỷ lệ (P), tích phân (I) và đạo hàm (D) Giá trị tỷ lệ xác định mức độ ảnh hưởng của sai số hiện tại, giá trị tích phân xác định mức độ ảnh hưởng của tổng các sai số trong quá khứ, và giá trị đạo hàm xác định mức độ ảnh hưởng của tốc độ thay đổi của sai số

Bằng cách điều chỉnh ba hằng số này trong giải thuật của bộ điều khiển PID, nó có thể được sử dụng cho những thiết kế với các yêu cầu cụ thể Phản hồi của bộ điều khiển có thể được mô tả qua độ nhạy đối với sai số, mức độ mà bộ điều khiển vượt quá giá trị đặt, và sự dao động của hệ thống

Sơ đồ điều khiển PID được đặt tên dựa trên ba thành phần điều chỉnh của nó, mà tổng của chúng tạo thành biến điều khiển (MV) Công thức tổng quát của bộ điều khiển PID là:

Trong đó: 𝑃 𝑜𝑢𝑡 , 𝐼 𝑜𝑢𝑡 , 𝐷 𝑜𝑢𝑡 là các thành phần đầu ra từ 3 khâu của bộ điều khiển PID

Khâu tỷ lệ (còn gọi là độ lợi) điều chỉnh giá trị đầu ra tỷ lệ với giá trị sai số hiện tại Để điều chỉnh đáp ứng tỷ lệ, sai số này được nhân với một hằng số Kp, gọi là hệ số tỷ lệ Hệ số Kp xác định mức độ ảnh hưởng của sai số hiện tại đến giá trị đầu ra, giúp hệ thống phản ứng nhanh chóng với các sai lệch so với giá trị mong muốn

Khâu tỉ lệ được cho bởi:

Trong đó: 𝑃 𝑜𝑢𝑡 là thừa số tỉ lệ

𝐾 𝑝 là hệ số tỉ lệ e là sai số = SP - PV t là thời gian tức thời

Hình 2 20 Đồ thị đáp ứng của 𝐾 𝑝 theo thời gian

Phân phối của khâu tích phân (còn gọi là reset) tỉ lệ thuận với cả biên độ sai số và quãng thời gian xảy ra sai số Tổng của các sai số tức thời theo thời gian (tích phân sai số) cung cấp một tích lũy bù đã được điều chỉnh trước đó Tích lũy sai số này sau đó được nhân với độ lợi tích phân và cộng vào tín hiệu đầu ra của bộ điều khiển Biên độ phân phối của khâu tích phân trên tất cả các tác động điều chỉnh được xác định bởi độ lợi tích phân 𝐾 𝑖 Điều này giúp loại bỏ sai số dư (offset) trong hệ thống bằng cách điều chỉnh dựa trên tổng tích lũy của sai số

Thừa số tích phân được cho bởi:

Trong đó: 𝐼 𝑜𝑢𝑡 là thừa số tích phân đầu ra

𝐾 𝑖 là độ lợi tích phân, một thông số điều chỉnh e là sai số = SP - PV t là thời gian hoặc thời gian tức thời (hiện tại)

𝜏 là một biến tích phân trung gian

Hình 2 21 Đồ thị đáp ứng của 𝐾 𝑖 theo thời gian

Tốc độ thay đổi của sai số quá trình được tính toán bằng cách xác định độ dốc của sai số theo thời gian (đạo hàm bậc nhất theo thời gian) và nhân độ dốc này với độ lợi vi phân 𝐾 𝑑 Biên độ của phân phối khâu vi phân (còn gọi là tốc độ) trên tất cả các hành vi điều khiển được xác định bởi độ lợi vi phân 𝐾 𝑑 Điều này giúp dự đoán và phản ứng với những thay đổi nhanh chóng của sai số, cải thiện độ ổn định và hiệu suất của hệ thống điều khiển

Thừa số vi phân được cho bởi:

Trong đó: 𝐷 𝑜𝑢𝑡 là thừa số vi phân của đầu ra

𝐾 𝑑 là độ lợi vi phân, một thông số điều chỉnh e là sai số = SP - PV t là thời gian hoặc thời gian tức thời (hiện tại)

Hình 2 22 Đồ thị đáp ứng của 𝐾 𝑑 theo thời gian

Nếu không có nhiễu, điều khiển tỷ lệ thuần túy sẽ không đưa hệ thống về đúng giá trị mong muốn, mà sẽ duy trì một sai số ổn định trong trạng thái dừng (độ trượt) Sai số này là một hàm của độ lợi tỷ lệ và độ lợi quá trình Đặc biệt, nếu độ lợi quá trình trong thời gian dài bị giảm do thiếu điều khiển, chẳng hạn như làm mát một lò nung đến nhiệt độ phòng, ký hiệu là G, và giả sử sai số xấp xỉ là hằng số, thì độ trượt xảy ra khi độ lợi không đổi bằng với tỷ lệ đầu ra 𝑃 𝑜𝑢𝑡 so với sai số e,tức là 𝐺 = 𝐾 𝑝 𝑒, do đó 𝑒 = 𝐺

Khi tỷ lệ đầu ra cố gắng đẩy thông số về giá trị đặt, nó bị bù bởi độ lợi quá trình, dẫn đến việc kéo thông số ra khỏi giá trị đặt Nếu độ lợi quá trình giảm, chẳng hạn trong quá trình làm lạnh, thì trạng thái dừng sẽ nằm dưới điểm đặt, và hiện tượng này được gọi là "độ trượt" (droop)

2.3.5 Phương pháp tìm thông số

Có nhiều phương pháp khác nhau để điều chỉnh vòng lặp PID Những phương pháp hiệu quả nhất thường bao gồm việc triển khai các dạng mô hình xử lý khác nhau, sau đó chọn các thông số P, I, và D dựa trên các thông số của mô hình động học

Việc lựa chọn phương pháp thích hợp phụ thuộc phần lớn vào khả năng điều chỉnh vòng lặp "offline" và đáp ứng thời gian của hệ thống Nếu hệ thống có thể được điều chỉnh offline, phương pháp tốt nhất thường là thay đổi đầu vào của hệ thống theo từng bước, đo lường đầu ra như một hàm của thời gian, và sử dụng đáp ứng này để xác định các thông số điều khiển

Trong các hệ thống không thể điều chỉnh offline, có thể phải sử dụng phương pháp điều chỉnh thủ công, dựa vào quan sát và điều chỉnh các thông số PID theo kinh nghiệm để đạt được hiệu suất mong muốn

Bảng 2 1 Điều chỉnh thông số PID thủ công

Thông số Thời gian khởi động

Quá độ Thời gian xác lập

Sai số ổn định Độ ổn định

𝑲 𝒑 Giảm Tăng Thay đổi nhỏ Giảm Giảm cấp

𝑲 𝒊 Giảm Tăng Tăng Giảm đáng kể Giảm cấp

𝑲 𝒅 Giảm ít Giảm ít Giảm ít Về lý thuyết không tác động

TÍNH TOÁN, MÔ PHỎNG VÀ THIẾT KẾ HỆ THỐNG

Yêu cầu điều khiển

Trong quá trình thiết kế và điều khiển hệ thống quadcopter, việc xác định và hiểu rõ các yêu cầu điều khiển là rất quan trọng để đảm bảo rằng hệ thống hoạt động một cách hiệu quả và ổn định Các yêu cầu điều khiển chính cho hệ thống quadcopter bao gồm:

▪ Ổn định và kiểm soát vị trí:

Hệ thống cần phải duy trì sự ổn định trong không gian 3 chiều (x, y, z) Điều khiển quadcopter phải đảm bảo khả năng cân bằng hoặc di chuyển đến một vị trí mới theo yêu cầu

▪ Điều khiển độ nghiêng, độ lăn và độ xoay:

Cần phải điều khiển góc nghiêng (pitch), góc lăn (roll) và góc xoay (yaw) của quadcopter để thực hiện các chuyển động mượt mà và chính xác

Các cảm biến MPU 6050 sẽ cung cấp thông tin về gia tốc và vận tốc góc để điều chỉnh các góc này

▪ Phản hồi nhanh và hiệu quả:

Hệ thống điều khiển cần có khả năng phản hồi nhanh chóng và chính xác đến các tín hiệu từ tay điều khiển

Bộ điều khiển PID sẽ được sử dụng để điều chỉnh độ nhanh chậm của động cơ không chổi than thông qua ESC nhằm đạt được hiệu suất mong muốn

▪ Ổn định trong môi trường có nhiễu:

Hệ thống cần có khả năng hoạt động ổn định trong môi trường có nhiễu, bao gồm gió, rung động hoặc các yếu tố ngoại cảnh khác

Bộ điều khiển PID phải được tinh chỉnh để giảm thiểu ảnh hưởng của các yếu tố này

▪ Độ tin cậy và an toàn:

Hệ thống điều khiển phải đảm bảo độ tin cậy cao để giảm thiểu nguy cơ sự cố trong quá trình vận hành

Các biện pháp an toàn như thông báo khi sắp hết pin

Tóm lại, các yêu cầu điều khiển này sẽ là nền tảng để thiết kế và triển khai hệ thống điều khiển quadcopter sử dụng bộ điều khiển PID, đảm bảo rằng hệ thống có thể hoạt động ổn định, hiệu quả và an toàn trong các điều kiện khác nhau.

Tính toán hệ thống

3.2.1 Tính toán lựa chọn motor

▪ Xác định trọng lượng tổng (AUW - All Up Weight)

- Trọng lượng thiết bị điện tử: 100g

▪ Xác định lực đẩy cần thiết

Một quadcopter cần một tỷ lệ lực đẩy/trọng lượng tối thiểu là 2:1 để bay ổn định và có khả năng thực hiện các động tác bay Đối với trường hợp này, tổng lực đẩy cần thiết sẽ là:

Do quadcopter có 4 động cơ, mỗi động cơ cần cung cấp lực đẩy:

Thrust per Motor00g/4E0g Động cơ XXD A2212/13T – 1000KV có thể cung cấp lực đẩy tối đa khoảng 700-800g với cánh quạt 1045 khi sử dụng pin 3S (11.1V) Điều này là đủ để cung cấp lực đẩy cần thiết cho quadcopter Động cơ XXD A2212/13T – 1000KV có:

Vậy motor đòi hỏi dòng lớn nhất là 13.51 (A)

Thông số khi lựa chọn motor: KV: rpm/volt, số vòng quay của motor cho 1 volt (KV hay rpm/v chỉ tốc độ của motor ứng với điện áp)

Ví dụ: Motor ghi 4000 KV hoặc 4000 rpm/V nghĩa là: Nếu dùng 1V cho ESC thì nó quay 4000 vòng/phút Nếu dùng Li-po 11.1 V thì tốc độ là:

Motor 3200 KV nghĩa là nó sẽ quay 3200 × 10 = 32,000 𝑣ò𝑛𝑔 ở hiệu điện thế 10V Phải chọn giá trị KV sao cho khi phối hợp tỉ lệ bánh răng motor (pinion) với bánh răng chính (main gear), ta có được vòng quay cánh quạt chính ở tốc độ thích hợp (không quá nhanh, không quá chậm)

- Headspeed: vòng quay cánh quạt chính

- Volt: hiệu điện thế của pin (3 cell lipo là 11.1V)

- Pinion teeth: số răng của bánh răng motor

- Main gear teeth: số răng của bánh răng chính

- 0.85: hệ số hiệu suất motor

Theo quy tắc tam suất, chúng ta có thể tính ra công suất cần thiết cho heli của mình Công suất có thể được tính từ cường độ dòng điện theo công thức P = UI , với U là điện áp và I là cường độ dòng điện mà động cơ hoạt động hiệu quả nhất (thông số này thường được nhà sản xuất cung cấp)

3.2.2 Tính toán lựa chọn ESC

Chọn ESC thì (A) ESC = (A) Motor (1.5 hoặc 2) để ESC không bị nóng hoặc cháy => (A) ESC cần chọn = 15.59 2 = 31.18 (A)

▪ Về đặc tính kỹ thuật, cần chú ý các thông số sau:

- Dòng điện bình thường (constant current) và dòng tối đa (burst current), đo bằng Ampe: Đây là dòng chịu tải cho phép của ESC Nếu vi phạm quá dòng tối đa,

ESC sẽ bị cháy Cần chú ý thời gian chịu dòng tối đa Chọn loại ESC có khả năng chịu dòng lớn hơn sức tải của motor, nhưng không cần dư quá nhiều

Ví dụ: ESC hiệu Hobbywing Eagle 30A có dòng chịu tải bình thường là 30A, burst được 40A trong 10 giây, rất phù hợp với Motor emax BL2215/20 đã nêu

- Hiệu điện thế sử dụng (input voltage): Xác định loại pin nào có thể sử dụng, thường nhà sản xuất ghi rõ Lưu ý rằng pin với hiệu điện thế càng cao sẽ làm ESC nóng hơn

Ví dụ: ESC Hobbywing Eagle 30A dùng pin lipo từ 2s-3s, pin Niken từ 4-10 cell, tổng hiệu điện thế từ 5-12 volt

- BEC (battery eliminating circuit): Tạo ra một dòng điện duy trì ổn định về hiệu điện thế cho Receiver Nếu có BEC, không cần pin rời để nuôi Receiver Chú ý thông số dòng Ampe và hiệu điện thế của BEC Có BEC sẽ dẫn đến loại UBEC và Switch BEC

Ví dụ: ESC Hobbywing Eagle 30A có BEC 1A/5 volt

▪ Vài điều cần biết về việc chọn ESC:

- Chức năng khóa kênh ga (Safety Arming Feature): Ngăn tình trạng motor quay khi cấp nguồn mà vị trí kênh ga (throttle) lớn hơn 0 hoặc khi setup ngược kênh ga

- Bảo vệ quá nhiệt độ cho phép (Over-heat protect): Khi quá nóng, ESC sẽ giảm hoặc ngưng cấp điện cho motor, từ đó giảm nhiệt

- Chống mất tín hiệu Tx (Throttle signal loss protect): Khi mất tín hiệu từ 1-2 giây, nó sẽ tự động ngắt motor, dẫn đến rớt máy bay nhưng sẽ dừng xe hoặc tàu không cho chạy mất

- Ngắt khi hết pin (Low Voltage Protection Thresh): Khi pin tụt volt, ESC sẽ giảm hoặc ngưng vận hành, quan trọng khi dùng pin lipo Ngưỡng điện thế lúc ngắt có thể hiệu chỉnh tùy loại ESC, đa số sẽ giảm hoạt động motor khi tụt 3.3 volt/cell pin và ngưng hoàn toàn khi tụt dưới 3 volt/cell Không nên sử dụng quá mức này vì sẽ mau hỏng pin lipo

- Chức năng thắng (Brake Settings): Cho phép ngưng động cơ từ từ hoặc ngưng hẳn Một số ESC cho phép setup tiến lùi, do đó có thể dùng cho cả máy bay và xe điện

3.2.3 Tính toán lựa chọn nguồn cấp

Dòng của Pin lớn hơn dòng của ESC càng nhiều càng tốt, như thế dòng điện sẽ không bị sụt áp (vì ESC cần dòng bao nhiêu thì pin sẽ cấp bấy nhiêu, không phải lúc nào pin cũng xả dòng cực đại của mình)

Ví dụ: Pin Pin Lipo ShangYi 2200mAh 45C 3s

Công thức tính dòng xả tối đa của pin dựa trên C-Rating là:

𝐷ò𝑛𝑔 𝑥ả 𝑡ố𝑖 đ𝑎 = 𝐶(𝑟𝑎𝑡𝑖𝑛𝑔) ∗ 𝐷𝑢𝑛𝑔 𝑙ượ𝑛𝑔 𝑝𝑖𝑛 (3.2) Trong trường hợp của pin Pin Pin Lipo ShangYi 2200mAh 45C 3s :

- Dung lượng pin: 2200 mAh (hay 2.2 Ah)

- C-Rating: 45C Áp dụng công thức:

Dòng xả tối đa = 45×2.2 = 99A Công suất pin xả dòng 1C:

1000 = 24.42 (𝑊) Suy ra pin xả dòng 45C:

45C = 24.42 × 45𝐶 = 1098.9 (𝑊) Nếu pin xả dòng 2200 mA (2.2A, 1C, 24.42W) hết trong vòng 1h

Xả được 150W thì pin phải xả dòng là:

Tức là pin phải xả dòng gấp 6.14 lần khi xả 24.42W thì mới đáp ứng được cho Motor chạy hết công suất

Suy ra thời gian hết pin là:

3.2.4 Lựa chọn thông số PID

Cách lựa chọn thông số Kp, Ki, Kd: Đặt máy bay ở chế Hộ Mode Rate (chế độ cân bằng di chuyển) sau đó thực hiện bước điều chỉnh các thông số Kp, Ki, Kd:

Bước 1: Tăng 50% giá trị điều khiển tốc độ (AUX > 1500us)

Bước 2: Tăng Kp cho tới khi xuất hiện dao động Sau đó giảm 10% giá trị Kp vừa tìm được

Bước 3: Tăng Kd cho tới khi xuất hiện dao động Sau đó giảm 20% giá trị Kd vừa tìm được

Bước 4: Lặp lại bước 1 với những giá trị thay đổi nhỏ cho đến khi xuất hiện dao động

Bước 5: Tăng Ki cho đến khi máy bay ổn định

Bước 6: Tinh chỉnh các thông số để mô hình đáp ứng tốt khi có sự ảnh hưởng bởi các yếu tố bên ngoài như gió

Việc cân bằng trục Y được thực hiện tương tự như với trục X.

Mô phỏng hệ thống

Mô phỏng bộ điều khiển cho Quadcopter trên Matlab Simulink

▪ Mô hình hóa Quadcopter trên Matlab Simulink

• Khối motor của hệ thống: Đầu vào gồm 4 vận tốc góc của 4 động cơ trên Quadcopter Đầu ra sẽ là các lực và moment tác dụng lên nó bao gồm: lực đẩy hướng lên và 3 moment quanh các trục x, y, z

Hình 3 1 Khối motor của hệ thống trên Matlab

• Khối tính toán gia tốc góc Đầu vào là các moment và các góc hồi tiếp về, qua khối tính toán được gia tốc của 3 góc roll, pitch, yaw theo 3 trục x, y, z

Hình 3 2 Khối tính toán gia tốc góc trên Matlab

• Khối tính toán gia tốc tuyến tính

Hình 3 3 Khối tính toán gia tốc tuyến tính trên Matlab

• Khối chuyển đổi trung gian giữa gia tốc góc và gia tốc tuyến tính

Hình 3 4 Khối chuyển đổi trung gian giữa gia tốc góc và gia tốc tuyến tính trên

Kết hợp các khối chức năng trên, ta được mô hình hóa của toàn hệ thống Quadcopter trên Matlab Simulink như sau:

Hình 3 5 Mô hình hóa của toàn hệ thống Quadcopter trên Matlab

▪ Bộ điều khiển PID cho mô hình Để điều khiển Quadcopter, nhóm có thiết kế 3 bộ điều khiển PID cho hệ thống Gồm 3 bộ điều khiển các góc roll, pitch, yaw theo mong muốn

Hình 3 6 Bộ điều khiển PID trên Matlab

Hình 3 7 Đáp ứng của góc roll

Hình 3 8 Đáp ứng của góc pitch

Hình 3 9 Đáp ứng của góc yaw

Hình 3 10 Toàn bộ đáp ứng của hệ thống sau khi điều khiển PID

Thiết kế hệ thống

3.4.1 Sơ đồ khối hệ thống

Nguồn 3.7V – 6.3V Transmitter Các kênh điều khiển

Module phát sóng TX Nguồn 11.1V

Hình 3 11 Sơ đồ khối hệ thống

▪ Khối điều khiển (Arduino Uno): Đây là khối điều khiển trung tâm, nhận dữ liệu góc nghiêng và vận tốc góc từ khối IMU GY-86 qua giao tiếp I2C, và dùng ngắt ngoài để lấy tín hiệu điều khiển từ khối Receiver Nó thực hiện giải thuật PID tính toán và xuất tín hiệu điều khiển PWM ra 4 khối ESC

▪ Khối cảm biến (IMU GY-521): Khối này lấy dữ liệu về độ nghiêng trục (Angle)

X, Y, Z và góc (Rate) X, Y, Z rồi truyền về khối vi điều khiển theo chuẩn giao tiếp I2C

▪ ESC: Các khối driver này dùng để điều khiển động cơ 3 pha không chổi than

Chúng nhận tín hiệu PWM từ vi điều khiển để điều chỉnh hoạt động của động cơ

▪ Transmitter: Khối này truyền tín hiệu điều khiển liên quan đến cân bằng và di chuyển Tín hiệu được truyền dưới dạng sóng RF (Radio Frequency)

▪ Receiver: Khối này nhận tín hiệu điều khiển từ bộ giải mã và gửi tín hiệu về khối vi điều khiển để điều chỉnh hướng

▪ Động cơ DC không chổi than XXD A2212/13T – 1000KV

Hình 3 12 Động cơ DC không chổi than XXD A2212/13T – 1000KV

Bảng 3 1 Thông số kỹ thuật động cơ không chổi than

Lipo cell 2 – 4S Điện áp hoạt động 7.2V đến 12V (2 đến 3Li-poly hoặc 6to10 NiCad)

Hiệu suất tối đa dòng 4 - 10A (>75%)

Kích thước 28 mm x 28 mm Đường kính trục 3.2 mm

Hình 3 13 Sơ đồ chân động cơ không chổi than

Bảng 3 2 Sơ đồ chân động cơ không chổi than

R1 or L1 Kết nối với cuộn dây 1 hoặc pha1

Y or L2 Kết nối với cuộn dây 2 hoặc pha 2

B or L3 Kết nối với cuộn dây pha 3 hoặc pha 3

Hình 3 14 Cuộn dây của động cơ

▪ Bộ Điều Khiển Tốc Độ Điện Tử Emax BLHeli 30A

Hình 3 15 Bộ điều khiển tốc độ điện tử Emax BLHeli 30A Thông số kỹ thuật

Bảng 3 3Thông số kỹ thuật ESC Emax

Chế độ BEC Tuyến tính Đầu ra BEC 2A / 5A

▪ Vi điều khiển Arduino Uno

Hình 3 16 Arduino Uno R3 Thông số kỹ thuật

Bảng 3 4 Thông số kỹ thuật vi điều khiển Arduino Uno R3

Vi điều khiển Atmega 328 (họ 8 bit) Điện áp hoạt động 5 VDC (cấp qua cổng USB)

Tần số hoạt động 16 MHz

50 Điện áp vào khuyên dùng 7-12 VDC Điện áp vào giới hạn 6-20 VDC

Số chân Digital I/O 14 (6 chân PWM)

Số chân Analog 6 (độ phân giải 10 bit)

Dòng tối đa trên mỗi chân

Dòng ra tối đa (5V) 500 mA

Dòng ra tối đa (3.3V) 50 mA

Bộ nhớ Flash 32 KB (Atmega328) với 0.5 KB dùng bởi bootloader

Các board Uno không sử dụng chip chuyển đổi FTDI USB sang chuẩn nối tiếp thay vào đó các tính năng của Atmega328 được lập trình như một bộ chuyển đổi USB sang chuẩn nối tiếp

Hình 3 17 Sơ đồ chân của Arduino Uno

Chức năng của một số chân trên kit như sau:

- Chân giao tiếp nối tiếp: 0-Rx, 1 Tx, truyền nhận dữ liệu nối tiếp TTL

- Chân cho phép ngắt ngoài: 2 và 3

- Chân PWM: 3, 5, 6, 9, 10, 11 Cung cấp đầu ra PWM 8 bit

- Chân giao tiếp SPI: SPI: 10 (SS), 11 (Mosi), 12 (Miso), 13 (SCK) Chân này được gọi là giao diện ngoại vi nối tiếp, cup cấp liên lạc SPI với sự trợ giúp của thư viện SPI

- Chân giao tiếp I2C: chân A4-SDA và chân A5-SCL

- Chân reset: cho phép thiết lập lại vi điều khiển

▪ Cảm biến góc nghiêng GY-521 MPU-6050

Hình 3 19 Sơ đồ khối cảm biến MPU-6050 Thông số kỹ thuật:

Bảng 3 5 Thông số kỹ thuật cảm biến MPU-6050 Điện áp sử dụng 3-5 VDC Điện áp giao tiếp 3-5 VDC

Board mạch mạ vàng, linh kiện hàn tự động bằng máy chất lượng tốt

Chức năng của các chân

Hình 3 20 Sơ đồ chân của cảm biến MPU

Bảng 3 6 Sơ đồ chân cảm biến MPU-6050

SDA Chân dữ liệu (Data) cho giao tiếp I2C

SCL Chân xung Clock cho giao tiếp I2C

AD0 Chân địa chỉ định danh I2C

INT Chân ngắt (interrupt) cho MPU

XDA Chân dữ liệu (Data) cho bus giao tiếp I2C thứ hai

XCL Chân xung Clock cho giao tiếp I2C thứ hai

Hình 3 21 Pin Lipo ShangYi 2200mAh 45C 3s Thông số kỹ thuật

Bảng 3 7 Thông số kỹ thuật Pin Lipo ShangYi

Kích thước 70mm x 33.5mm x 25.5mm (Dài x Rộng x Cao)

Khối lượng 126 gram Điện áp 11.1V / 3S (Pin sạc đầy 12.6V)

▪ Bộ Rx – Tx và tay cầm Flysky

Tay cầm điều khiển FS-i6X bao gồm một tay điều khiển (Tx) và một mạch thu (Rx) được gắn trên Quadcopter Bộ này sử dụng dạng sóng radio có tần số 2.4 GHz để

55 kết nối với nhau Bộ Tx-Rx này đa phần được sử dụng trong các loại Glider, Heli, máy bay RF Range: 2.4-2.8 GHz

Bộ tay điều khiển 6 kênh Flysky i6 kèm theo mạch thu dùng để chế tạo máy bay mô hình cỡ lớn như: Su27, F22, tàu thủy cỡ lớn,

Hình 3 22 Bộ tay điều khiển FLYSKY FS-i6X 2.4GHz AFHDS Transmitter + FS-iA6B

Receiver Thông số kỹ thuật

Bảng 3 8 Thông số kỹ thuật của bộ tay cầm Rx – Tx

Máy phát FS-i6X Máy thu FS-IA6B

Chế độ Chế độ 1: tay ga bên phải (cần ga bên trái)

Chế độ 2: tay ga bên trái (cần ga bên phải) Độ nhạy máy thu

Dải RF 2.408 – 2.475GHz Điều chế GFSK

Dưới 20dBm Loại hệ thống

Kênh RF 135 Độ phân giải kênh

GFSK Nguồn 4-6.5 VDC Độ phân giải Stick

PS/2 cổng PPM Chiều dài ăng ten

Lattice, VA 73x39mm, LCD với đèn nền trắng

Bảng 3 9 Thông số kỹ thuật khung F450

Chiều dài cơ sở chéo 450mm

Pin được khuyến nghị 3S ~ 4S LiPo

Motor khuyến nghị 22 x 15mm hoặc 22 x 12mm (Kích thước Stator)

Vật liệu PA66 + 30GF có khả năng chống rơi và va đập tốt

Bảng 3 10 Thông số kỹ thuật cánh 1045 CCW CW

Chiều dài cơ sở 550mm – 700mm

Khuyến nghị động cơ 800KV – 1100KV

Hình 3 25 Camera 4K Sports Ultra HD Thông số kỹ thuật

Bảng 3 11 Thông số kỹ thuật Camera 4K Sports Ultra HD

Lưu trữ Hỗ trợ Thẻ nhớ 64GB

3.4.3 Sơ đồ nguyên lý trong hệ thống

Hình 3 26 Sơ đồ nguyên lý hệ thống

- Dây tín hiệu của 4 ESC nối vào chân 4,5,6,7 của Arduino

- Chân SCL, SDA của cảm biến được nối vào chân SCL, SDA của Arduino

- Led báo nguồn nối vào chân 12

- Các chân CH1, CH2, CH3, CH4 của module RX nối vào chân 8, 9, 10, 11 của Arduino

- Chân đọc điện áp Pin Lipo nối vào chân A0 của Arduino

THI CÔNG HỆ THỐNG

Thi công phần cứng

Kết quả thi công phần cứng hoàn thành được thể hiện các hình bên dưới bao gồm mạch in PCB và lắp ráp mô hình hoàn chỉnh

Hình 4 1 2D mạch PCB hệ thống

Hình 4 2 3D mạch PCB hệ thống

Hình 4 3 Mô hình quadcopter hoàn chỉnh

Thi công phần mềm

4.2.1 Sơ đồ khối bộ điều khiển

Sơ đồ khối hệ điều khiển cân bằng:

Hình 4 4 Sơ đồ khối bộ điều khiển cân bằng

Hình 4 5 Sơ đồ tín hiệu điều khiển hoàn chỉnh

Trong sơ đồ điều khiển này, mô hình sẽ tự điều chỉnh trạng thái phù hợp với từng thông số điều khiển: góc roll, pitch, yaw

Do đặc điểm mỗi thông số khác nhau nên hàm hiệu chỉnh PID tương ứng cũng có hệ số khác nhau

▪ Lưu đồ chương trình setup và khởi tạo cảm biến

Cấu hình cảm biến Gyro

Cấu hình cảm biến gia tốc

Thiết lập độ phân giải Acc – ±8g

Kiểm tra cấu hình Nháy led

Lấy dữ liệu lưu trên EEPROM

Kiểm tra tín hiệu từ Receiver Hiệu chuẩn giá trị từ cảm biến

Kết thúc chương trình setup Tải điện áp của Pin vào biến Khởi tạo giao thức I2C, Serial

Hình 4 6 Lưu đồ chương trình setup và chương trình con setup cảm biến

• Lưu đồ chương trình setup (Hình 4.6 A)

- Khởi tạo biến trong chương trình

- Đọc dữ liệu từ EEPROM: Bộ nhớ EEPROM lưu trữ các giá trị đã setup trước đó bao gồm: địa chỉ cảm biến MPU-6050, giá trị thấp nhất - trung tâm – cao nhất của các kênh điều khiển, chức năng của từng kênh điều khiển, chức năng của cá trục MPU-6050

- Cấu hình các chân trên vi điều khiển: Cho phép ngắt trên các chân nhận tín hiệu từ Receiver

- Chương trình con setup cảm biến MPU-6050 (Hình 4.6 B)

- Hiệu chuẩn giá trị cảm biến: Đọc tín hiệu từ cảm biến Gyroscope 2000 lần sau đó lấy giá trị trung bình và đặt giá trị đó làm giá trị tham chiếu cho những lần sau

- Kiểm tra tín hiệu Receiver: Chương trình sẽ đợi cho đến khi có tín hiệu hợp lệ từ Receiver

• Lưu đồ chương trình con setup cảm biến MPU-6050 (Hình 4.6 B)

- Khởi động MPU: Bắt đầu giao tiếp tiếp bằng địa chỉ của MPU-6050 đã được lưu trên EEPROM

- Cấu hình cảm biến Gyro: Giao tiếp với thanh ghi cấu hình cảm biến Gyro để thiết lập phạm vi đo là 500 độ/giây

- Cấu hình cảm biến gia tốc: Giao tiếp với thanh ghi cấu hình cảm biến gia tốc là ACCEL_CONFIG để thiết lập phạm vi đo là 8g

- Kiểm tra cấu hình: Yêu cầu 1 byte dữ liệu từ cảm biến và đợi cho đến khi nhận được Nếu giá trị hợp lệ thì tiếp tục chương trình nếu không sẽ nháy led cảnh báo

- Cấu hình bộ lọc: Giao tiếp với thanh ghi CONFIG để thiết lập bộ lọc thông thấp kỹ thuật số với tần số ~43Hz

▪ Lưu đồ chương trình gán chức năng điều khiển và cảm biến

Có tín hiệu từ Receiver

Kết thúc Chương trình setup Đo và kiểm tra Receiver

Kiểm tra các trục của gyro (10s) Đo và đăng ký giá trị Receiver

Kiểm tra hệ thống và lưu dữ liệu vào EEPROM

Kiểm tra và xác nhận dữ liệu từ EEPROM

Hình 4 7 Lưu đồ khởi tạo tay điều khiển và cảm biến

Chức năng của chương trình này để khởi tạo cho tay điều khiển và cảm biến MPU-6050 Sau đó gán chức năng cho 4 kênh điều khiển của tay điều khiển là:

- Kênh 1: Điều khiển góc roll

- Kênh 2: Điều khiển góc pitch

- Kênh 3: Điều khiển throttle (ga)

- Kênh 4: Điều khiển góc yaw

Và gán chức các trục MPU-6050 là:

- Trục x: Trục của góc roll

- Trục y: Trục của góc pitch

- Trục z: Trục của góc yaw

Các dữ liệu này sẽ được lưu vào bộ nhớ EEPROM để sử dụng cho chương trình bay sau này

- Thực hiện chương trình setup (Hình 4.6 A)

- Đo và kiểm tra tín hiệu receiver (tối đa 10 giây): Chờ tín hiệu từ receiver trong vòng 10 giây

- Nếu có tín hiệu từ receiver, chương trình tiếp tục thực hiện các bước tiếp theo Nếu không có tín hiệu từ receiver sau 10 giây, chương trình báo lỗi và dừng lại

- Đo và đăng ký các giá trị receiver

- Đo và ghi nhận các giá trị cao và thấp từ các kênh của receiver Sau đó đợi các kênh điều khiển trở về vị trí trung lập

- Kiểm tra các trục của gyro (tối đa 10 giây): Chờ trong vòng 10s đề xoay cảm biến theo các trục tương ứng để kiểm tra

- Kiểm tra hệ thống và lưu trữ dữ liệu vào EEPROM: Kiểm tra các kênh receiver và các trục của gyro để đảm bảo không có lỗi.Sau đó lưu trữ các giá trị vào EEPROM nếu các kiểm tra đều thành công

- Kiểm tra và xác nhận dữ liệu EEPROM: Đọc lại các giá trị từ EEPROM để kiểm tra tính chính xác của dữ liệu lưu trữ

▪ Lưu đồ chương trình bay cân bằng bằng PID và đọc dữ liệu từ cảm biến MPU Đọc dữ liệu từ MPU-6050 Đợi đủ 14 byte

Kết thúc setup Khởi tạo I2C với MPU-6050

Yêu cầu 14 byte dữ liệu từ MPU Đọc và lưu dữ liệu

Hiệu chỉnh giá trị gyro

Chuyển đổi giá trị Gyro và Acc Bắt đầu

Thiết lập chế độ bay

Xử lý dữ liệu từ cảm biến

Kết thúc Chương trình setup

Kiểm tra điều kiện bay

Tính toán thông số PID

Xuất tín hiệu cho ESC Tính toán setpoint Chương trình đọc dữ liệu từ MPU-6050

Hình 4 8 Lưu đồ chương trình bay cân bằng bằng PID và chương trình đọc dữ liệu

• Lưu đồ chương trình bay cân bằng bằng PID (Hình 4 8 A)

- Bắt đầu chương trình: Sau khi cấp nguồn cho vi điều khiển và các khối trong quadcopter chương trình bắt đầu điều khiển

- Chương trình setup: Thiết lập các giá trị ban đầu và khỏi tạo chương trình

- Đọc dữ liệu từ cảm biến MPU-6050 (Hình 4.8 B)

- Xử lý dữ liệu từ cảm biến: Chương trình Xử lý dữ liệu từ MPU-6050 thực hiện việc tính toán và cập nhật góc pitch và roll của quadcopter dựa trên dữ liệu từ cảm biến gia tốc và gyro Các bước chính của đoạn chương trình bao gồm:

• Tính góc từ dữ liệu gyro: angle_pitch và angle_roll được cập nhật bằng cách cộng giá trị tích lũy của vận tốc góc gyro_pitch và gyro_roll nhân với hệ số thời gian (0.0000611)

• Điều chỉnh góc pitch và roll khi có độ lệch góc yaw: Sử dụng công thức điều chỉnh để tính toán độ lệch góc yaw ảnh hưởng đến pitch và roll

• Tính tổng vector gia tốc: acc_total_vector được tính bằng cách lấy căn bậc hai của tổng bình phương của các giá trị gia tốc acc_x, acc_y, và acc_z

• Tính góc từ dữ liệu gia tốc: angle_pitch_acc và angle_roll_acc được tính toán từ dữ liệu gia tốc, đảm bảo rằng giá trị nằm trong khoảng hợp lệ để tránh lỗi NaN từ hàm asin

• Khử offset của giá trị gia tốc: Điều chỉnh các góc gia tốc bằng cách trừ đi các giá trị offset cố định

• Bộ lọc bù (Complementary filter): Kết hợp góc tính từ gyro và gia tốc bằng bộ lọc bổ sung với hệ số alpha = 0.9996 Giá trị cuối cùng của angle_pitch và angle_roll là sự kết hợp giữa giá trị tính từ gyro và giá trị tính từ gia tốc

- Kiểm tra điều kiện bay:

• Nếu cần gạt của throttle và yaw đang ở vị trí thấp nhất thiết lập điều kiện bay là 1

• Nếu cần gạt của throttle đang ở thấp nhất và yaw đang ở trung tâm thì thiết lập điều kiện bay là 2 và khởi động chế độ bay

• Thiết lập các thông số trước đó của PID về 0 như giá trị sai số

• Nếu cần gạt của throttle đang ở thấp nhất và yaw đang ở cao nhất thì tắt chế độ bay

- Tính toán setpoint: Tính các thông số setpoint về roll, pitch, yaw mà tay điều khiển gửi tới

- Tính toán thông số PID: Hàm con tính thông số PID thực hiện việc tính toán điều khiển PID (Proportional, Integral, Derivative) cho các góc roll, pitch và yaw của quadcopter Hàm này sử dụng dữ liệu từ cảm biến gyro để điều chỉnh các tín hiệu điều khiển dựa trên các giá trị đặt trước (setpoint) và các hệ số PID

• Sai số (pid_error_temp): Tính toán sai số giữa giá trị hiện tại từ cảm biến gyro và giá trị đặt trước (setpoint)

• Thành phần tích phân (pid_i_mem_x): Cập nhật giá trị tích lũy của sai số Giới hạn giá trị tích lũy để tránh quá điều chỉnh

• Đầu ra PID (pid_output_x): Tính toán đầu ra PID bằng cách kết hợp các thành phần P, I và D Giới hạn đầu ra PID để tránh giá trị quá cao hoặc quá thấp

• Cập nhật sai số cuối cùng (pid_last_roll_d_error): Lưu lại sai số hiện tại để sử dụng trong tính toán thành phần D ở lần tính toán tiếp theo

- Xuất tín hiệu cho ESC: Dùng giá trị đầu ra PID vừa tính được để tính xung PWM cho 4 ESC bằng công thức esc_1 = throttle - pid _pitch + pid _roll - pid _yaw; esc_2 = throttle + pid_pitch + pid _roll + pid _yaw; esc_3 = throttle + pid_pitch - pid _roll - pid _yaw; esc_4 = throttle - pid_pitch - pid _roll + pid _yaw;

• Lưu đồ chương trình đọc dữ liệu từ cảm biến

Hàm đọc dữ liệu sẽ được gọi có chức năng chính là đọc dữ liệu từ cảm biến MPU-

6050, bao gồm các giá trị gia tốc và vận tốc góc trên ba trục (x, y, z) Cụ thể, hàm thực hiện các bước sau:

- Khởi tạo giao tiếp I2C với MPU-6050: Bắt đầu truyền dữ liệu đến địa chỉ của MPU-6050 và truy cập thanh ghi chứa giá trị gia tốc

- Yêu cầu dữ liệu từ MPU-6050: Yêu cầu 14 byte dữ liệu từ MPU-6050, bao gồm giá trị gia tốc, nhiệt độ và giá trị vận tốc góc

KẾT QUẢ - ĐÁNH GIÁ – NHẬN XÉT

Kết quả

Sau quá trình nghiên cứu và thực hiện, hệ thống quadcopter với bộ điều khiển PID đã được hoàn thiện và tiến hành các thử nghiệm bay thực tế Hình ảnh dưới đây minh họa quá trình hoàn thiện và thử nghiệm hệ thống:

Hình 5 1 Góc xoay quanh trục Roll 45 độ

Hình 5 2 Góc xoay quanh trục Pitch -45 độ

Hình 5 4 Bay thử nghiệm quadcopter với các bộ điều khiển PID

Hình 5 5 Hình ảnh thu từ camera

Hình 5 6 Hình ảnh thu từ camera và bay thử nghiệm trong điều kiện có gió

▪ Các kết quả đạt được bao gồm:

- Khả năng duy trì cân bằng: Quadcopter có thể duy trì cân bằng ổn định trong suốt quá trình bay thử nghiệm trong không gian ba chiều x, y, z

- Phản hồi nhanh chóng và chính xác với các lệnh từ tay điều khiển về các góc roll, pitch, yaw

- Điều khiển góc nghiêng (pitch), góc lăn (roll) và góc xoay (yaw) của quadcopter để thực hiện các chuyển động mượt mà và chính xác

- Bộ điều khiển PID được tích hợp trên quadcopter đã duy trì cân bằng ổn định trong suốt các thử nghiệm bay Quadcopter có khả năng tự cân chỉnh vị trí khi có các tác động từ bên ngoài, như gió nhẹ hoặc các lực nhiễu khác

- Hình ảnh từ camera thu được khá rõ nét và dễ dàng theo dõi trực tuyến thông qua ứng dụng

- Quadcopter đảm bảo độ tin cậy giảm thiểu nguy cơ sự cố trong quá trình vận hành như: led báo hết pin, chân tiếp đất.

Đánh giá

▪ Hiệu suất của bộ điều khiển PID:

- Bộ điều khiển PID hoạt động hiệu quả trong việc duy trì cân bằng cho quadcopter Các thông số PID được hiệu chỉnh phù hợp giúp hệ thống ổn định và đáp ứng nhanh

- Các thử nghiệm cho thấy khả năng chống nhiễu của hệ thống khá tốt, đảm bảo quadcopter giữ vững vị trí ngay cả khi có tác động từ môi trường như gió

▪ Tích hợp và lắp ráp phần cứng:

- Các thành phần phần cứng được lựa chọn và lắp ráp chính xác, đảm bảo sự tương thích và ổn định của hệ thống

- Cảm biến MPU 6050 cung cấp dữ liệu chính xác, giúp điều khiển PID hoạt động hiệu quả.

Nhận xét

- Hệ thống quadcopter được thiết kế và triển khai thành công với bộ điều khiển PID hoạt động ổn định

- Quá trình thử nghiệm bay cho thấy quadcopter có thể duy trì cân bằng tốt kể cả trong môi trường có nhiễu, bao gồm gió, rung động hoặc các yếu tố ngoại cảnh khác

- Quadcopter có thể cân bằng ngay cả khi mang thêm tải lệch một bên với trọng lượng không quá 500g

- Các thành phần phần cứng và phần mềm được tích hợp phù hợp, đảm bảo sự ổn định và chính xác của hệ thống, đồng thời quadcopter có khả năng mở rộng phần cứng dễ dàng

- Camera tích hợp thu được hình ảnh rõ và có thể xem trực tiếp thông qua ứng dụng trên điện thoại

- Trong quá trình thử nghiệm, hệ thống vẫn gặp một số khó khăn khi đối mặt với gió quá mạnh hoặc điều kiện thời tiết không thuận lợi

- Vì lý do sai số tích lũy thời gian của cảm biến dẫn đến quadcopter bị trôi trong quá trình bay

- Việc tiếp đất của quadcopter còn gặp nhiều khó khăn, đòi hỏi phải có kinh nghiệm từ người điều khiển

- Thời gian bay của quadcopter trong khoảng 5-6 phút còn hạn chế do dung lượng pin còn thấp

- Đường truyền hình ảnh từ camera về ứng dụng có thể bị dán đoạn nếu quadcopter bay quá xa

CHƯƠNG 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 Kết luận Đề tài " Xây dựng mô hình Quadcopter để thu thập không gian ảnh" đã được thực hiện thành công, đạt được những kết quả sau :

▪ Hoàn thiện hệ thống quadcopter:

Quadcopter đã được hoàn thiện phần cứng ổn định

Bộ điều khiển PID đã được tích hợp và hiệu chỉnh để duy trì cân bằng cho quadcopter, đảm bảo hoạt động ổn định trong các thử nghiệm bay

▪ Thử nghiệm và đánh giá:

Các thử nghiệm bay cho thấy hệ thống có khả năng duy trì cân bằng tốt, phản hồi nhanh với các lệnh điều khiển và ổn định ngay cả trong điều kiện môi trường có nhiễu

Hệ thống điều khiển PID hoạt động hiệu quả, các thông số được hiệu chỉnh phù hợp giúp quadcopter ổn định và dễ dàng điều khiển

Các thành phần phần cứng được lựa chọn và lắp ráp chính xác, đảm bảo sự tương thích và hiệu suất cao

Tối ưu hóa thuật toán PID: Tiếp tục tinh chỉnh các thông số PID để nâng cao hiệu suất trong các điều kiện bay phức tạp và có nhiễu động môi trường lớn hơn Áp dụng các thuật toán điều khiển nâng cao: Khám phá và tích hợp các thuật toán điều khiển tiên tiến như LQR, H∞ hoặc điều khiển thích nghi để cải thiện khả năng điều khiển và ổn định của quadcopter

Tích hợp hệ thống định vị toàn cầu GPS để Quadcopter có thể tự bay theo lộ trình mong muốn mà không cần phụ thuộc quá nhiều vào người điều khiển

Xử lý và phân tích hình ảnh: Phát triển các thuật toán xử lý và phân tích hình ảnh để tận dụng dữ liệu thu thập từ camera cho các ứng dụng như nhận dạng đối tượng, theo dõi chuyển động, hoặc xây dựng bản đồ 3D

[1] Abdelhamid Tayebi and Stephen McGilvray “Attitude Stabilization of a VTOL Quadrotor Aircraft” IEEE TRANSACTIONS ON CONTROL SYSTEMS

[2] Hanum Arrosida (June, 2018), The Design of Optimal PID Control Method for Quadcopter Movement Control, International Journal Of Artificial Intelligence

[3] P Pounds a, R Mahony b, P Corke “Modelling and control of a large quadrotor robot” Control Engineering Practice, Vol 18, Pp 691-699, 2010

[4] Viswanadhapalli Praveen (2016), Modeling and Simulation of Quadcopter using PID Controller, International Journal of Control, Theory and Applications, 9(15)

[5] A.L Salih (2010), Modeling and PID controller design for a quadrotor unmanned air vehicle, 2010 IEEE Int Conf on Auto, Quality & Testing, Robotics, Cluj-Napoca, Romania

[6] Adriano Garcia, Edward Mattison and Kanad Ghose “High-speed Vision-based Autonomous Indoor Navigation of a Quadcopter” International Conference on

[7] M Anwar Ma’sum, Grafika Jati, M Kholid Arrofi, Adi Wibowo, Petrus

Mursanto, Wisnu Jatmiko “Autonomus quadcopter swarm robots for object localization and tracking” MHS2013, 2013

[8] Salman Bari, Syeda Shabih Zehra Hamdani, Hamza Ullah Khan, Mutte ur

Rehman, Haroon Khan “Artificial Neural Network Based Self-Tuned PID Controller for Flight Control of Quadcopter” International Conference on Engineering and

[9] Đỗ Đức Mạnh (5/2023), Điều khiển bám quỹ đạo phương tiện bay không người lái sử dụng bộ điều khiển trượt kết hợp bộ quan sát trạng thái High-Gain, Hội thảo KHCN Điện - Điện tử - Tự động hóa và ứng dụng trong lĩnh vực giao thông, Trường Đại học GTVT

[10] Nguyễn Hữu Sơn (11/2022), Điều khiển độ cao và trạng thái của UAV sử dụng bộ điều khiển trượt và bộ điều khiển PID, Hội thảo KHCN mới và ứng dụng trong lĩnh vực Điện - Điện tử - Tự động hóa, Trường Đại học GTVT

[11] Đỗ Khắc Tiệp (4/2022), Thiết kế bộ điều khiển thông minh cho máy bay không người lái với tải trọng bên ngoài, Tạp chí KHCN Hàng hải, số 70.

Ngày đăng: 26/09/2024, 15:25

HÌNH ẢNH LIÊN QUAN

Hình 2. 1 Chuyển động Throttle - xây dựng mô hình quadcopter thu thập không gian ảnh
Hình 2. 1 Chuyển động Throttle (Trang 22)
Hình 2. 6 Khung tọa độ tham chiếu và Quadcopter - xây dựng mô hình quadcopter thu thập không gian ảnh
Hình 2. 6 Khung tọa độ tham chiếu và Quadcopter (Trang 25)
Hình 2. 13 Chỉ số độ nghiêng của Accelerometer - xây dựng mô hình quadcopter thu thập không gian ảnh
Hình 2. 13 Chỉ số độ nghiêng của Accelerometer (Trang 39)
Hình 2. 15 Giao thức I2C giữa các thiết bị - xây dựng mô hình quadcopter thu thập không gian ảnh
Hình 2. 15 Giao thức I2C giữa các thiết bị (Trang 41)
Hình 2. 18 So sánh góc quay roll theo trục x, giữa kết quả do cảm biến gia tốc (màu - xây dựng mô hình quadcopter thu thập không gian ảnh
Hình 2. 18 So sánh góc quay roll theo trục x, giữa kết quả do cảm biến gia tốc (màu (Trang 43)
Hình 2. 20 Đồ thị đáp ứng của ? ?  theo thời gian - xây dựng mô hình quadcopter thu thập không gian ảnh
Hình 2. 20 Đồ thị đáp ứng của ? ? theo thời gian (Trang 46)
Hình 2. 21 Đồ thị đáp ứng của ? ?  theo thời gian - xây dựng mô hình quadcopter thu thập không gian ảnh
Hình 2. 21 Đồ thị đáp ứng của ? ? theo thời gian (Trang 47)
Hình 3. 1 Khối motor của hệ thống trên Matlab - xây dựng mô hình quadcopter thu thập không gian ảnh
Hình 3. 1 Khối motor của hệ thống trên Matlab (Trang 56)
Hình 3. 2 Khối tính toán gia tốc góc trên Matlab - xây dựng mô hình quadcopter thu thập không gian ảnh
Hình 3. 2 Khối tính toán gia tốc góc trên Matlab (Trang 57)
Hình 3. 3 Khối tính toán gia tốc tuyến tính trên Matlab - xây dựng mô hình quadcopter thu thập không gian ảnh
Hình 3. 3 Khối tính toán gia tốc tuyến tính trên Matlab (Trang 58)
Hình 3. 4 Khối chuyển đổi trung gian giữa gia tốc góc và gia tốc tuyến tính trên - xây dựng mô hình quadcopter thu thập không gian ảnh
Hình 3. 4 Khối chuyển đổi trung gian giữa gia tốc góc và gia tốc tuyến tính trên (Trang 59)
Hình 3. 5 Mô hình hóa của toàn hệ thống Quadcopter trên Matlab - xây dựng mô hình quadcopter thu thập không gian ảnh
Hình 3. 5 Mô hình hóa của toàn hệ thống Quadcopter trên Matlab (Trang 60)
Hình 3. 6 Bộ điều khiển PID trên Matlab - xây dựng mô hình quadcopter thu thập không gian ảnh
Hình 3. 6 Bộ điều khiển PID trên Matlab (Trang 60)
Hình 3. 7 Đáp ứng của góc roll - xây dựng mô hình quadcopter thu thập không gian ảnh
Hình 3. 7 Đáp ứng của góc roll (Trang 61)
Hình 3. 9 Đáp ứng của góc yaw - xây dựng mô hình quadcopter thu thập không gian ảnh
Hình 3. 9 Đáp ứng của góc yaw (Trang 62)
Hình 3. 10 Toàn bộ đáp ứng của hệ thống sau khi điều khiển PID - xây dựng mô hình quadcopter thu thập không gian ảnh
Hình 3. 10 Toàn bộ đáp ứng của hệ thống sau khi điều khiển PID (Trang 62)
3.4.1. Sơ đồ khối hệ thống - xây dựng mô hình quadcopter thu thập không gian ảnh
3.4.1. Sơ đồ khối hệ thống (Trang 63)
Hình 3. 16 Arduino Uno R3  Thông số kỹ thuật - xây dựng mô hình quadcopter thu thập không gian ảnh
Hình 3. 16 Arduino Uno R3 Thông số kỹ thuật (Trang 67)
Hình 3. 17 Sơ đồ chân của Arduino Uno - xây dựng mô hình quadcopter thu thập không gian ảnh
Hình 3. 17 Sơ đồ chân của Arduino Uno (Trang 69)
Hình 3. 19 Sơ đồ khối cảm biến MPU-6050  Thông số kỹ thuật: - xây dựng mô hình quadcopter thu thập không gian ảnh
Hình 3. 19 Sơ đồ khối cảm biến MPU-6050 Thông số kỹ thuật: (Trang 70)
Bảng 3. 7 Thông số kỹ thuật Pin Lipo ShangYi - xây dựng mô hình quadcopter thu thập không gian ảnh
Bảng 3. 7 Thông số kỹ thuật Pin Lipo ShangYi (Trang 72)
Hình 3. 22 Bộ tay điều khiển FLYSKY FS-i6X 2.4GHz AFHDS Transmitter + FS-iA6B - xây dựng mô hình quadcopter thu thập không gian ảnh
Hình 3. 22 Bộ tay điều khiển FLYSKY FS-i6X 2.4GHz AFHDS Transmitter + FS-iA6B (Trang 73)
Hình 3. 23 Khung F450 - xây dựng mô hình quadcopter thu thập không gian ảnh
Hình 3. 23 Khung F450 (Trang 74)
3.4.3. Sơ đồ nguyên lý trong hệ thống - xây dựng mô hình quadcopter thu thập không gian ảnh
3.4.3. Sơ đồ nguyên lý trong hệ thống (Trang 77)
Hình  Nháy led - xây dựng mô hình quadcopter thu thập không gian ảnh
nh Nháy led (Trang 81)
Hình 4. 7 Lưu đồ khởi tạo tay điều khiển và cảm biến - xây dựng mô hình quadcopter thu thập không gian ảnh
Hình 4. 7 Lưu đồ khởi tạo tay điều khiển và cảm biến (Trang 83)
Hình 4. 8 Lưu  đồ chương trình bay cân bằng bằng PID và chương trình đọc dữ liệu - xây dựng mô hình quadcopter thu thập không gian ảnh
Hình 4. 8 Lưu đồ chương trình bay cân bằng bằng PID và chương trình đọc dữ liệu (Trang 85)
Hình 5. 4 Bay thử nghiệm quadcopter với các bộ điều khiển PID - xây dựng mô hình quadcopter thu thập không gian ảnh
Hình 5. 4 Bay thử nghiệm quadcopter với các bộ điều khiển PID (Trang 91)
Hình 5. 5 Hình ảnh thu từ camera - xây dựng mô hình quadcopter thu thập không gian ảnh
Hình 5. 5 Hình ảnh thu từ camera (Trang 92)
Hình 5. 6 Hình ảnh thu từ camera và bay thử nghiệm trong điều kiện có gió - xây dựng mô hình quadcopter thu thập không gian ảnh
Hình 5. 6 Hình ảnh thu từ camera và bay thử nghiệm trong điều kiện có gió (Trang 92)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w