Đồ án THIẾT kế bộ điều KHIỂN máy BAY KHÔNG NGƯỜI lái AUTOPILOT Đồ án THIẾT kế bộ điều KHIỂN máy BAY KHÔNG NGƯỜI lái AUTOPILOT Đồ án THIẾT kế bộ điều KHIỂN máy BAY KHÔNG NGƯỜI lái AUTOPILOT Đồ án THIẾT kế bộ điều KHIỂN máy BAY KHÔNG NGƯỜI lái AUTOPILOT Đồ án THIẾT kế bộ điều KHIỂN máy BAY KHÔNG NGƯỜI lái AUTOPILOT Đồ án THIẾT kế bộ điều KHIỂN máy BAY KHÔNG NGƯỜI lái AUTOPILOT Đồ án THIẾT kế bộ điều KHIỂN máy BAY KHÔNG NGƯỜI lái AUTOPILOT
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Đề tài:
NGHIÊN CỨU THIẾT KẾ BỘ ĐIỀU KHIỂN MÁY BAY KHÔNG NGƯỜI LÁI AUTOPILOT
Hà Nội, 6-2018
Trang 2TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Đề tài:
NGHIÊN CỨU THIẾT KẾ BỘ ĐIỀU KHIỂN MÁY BAY KHÔNG NGƯỜI LÁI AUTOPILOT
Hà Nội, 6-2018
Trang 3ĐÁNH GIÁ QUYỂN ĐỒ ÁN TỐT NGHIỆP (Dùng cho giảng viên hướng dẫn)
Giảng viên đánh giá: PGS.TS
Họ và tên Sinh viên: MSSV:
Tên đồ án: Nghiên cứu thiết kế bộ điều khiển máy bày không người lái autopilot
Chọn các mức điểm phù hợp cho sinh viên trình bày theo các tiêu chí dưới đây: Rất kém (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5)
Có sự kết hợp giữa lý thuyết và thực hành (20)
1
Nêu rõ tính cấp thiết và quan trọng của đề tài, các vấn đề và
các giả thuyết (bao gồm mục đích và tính phù hợp) cũng như
phạm vi ứng dụng của đồ án
1 2 3 4 5
2 Cập nhật kết quả nghiên cứu gần đây nhất (trong nước/quốc tế) 1 2 3 4 5
3 Nêu rõ và chi tiết phương pháp nghiên cứu/giải quyết vấn đề 1 2 3 4 5
4 Có kết quả mô phỏng/thưc nghiệm và trình bày rõ ràng kết quả
Có khả năng phân tích và đánh giá kết quả (15)
5
Kế hoạch làm việc rõ ràng bao gồm mục tiêu và phương pháp
thực hiện dựa trên kết quả nghiên cứu lý thuyết một cách có hệ
thống
1 2 3 4 5
6 Kết quả được trình bày một cách logic và dễ hiểu, tất cả kết
quả đều được phân tích và đánh giá thỏa đáng 1 2 3 4 5
7
Trong phần kết luận, tác giả chỉ rõ sự khác biệt (nếu có) giữa
kết quả đạt được và mục tiêu ban đầu đề ra đồng thời cung cấp
lập luận để đề xuất hướng giải quyết có thể thực hiện trong
tương lai
1 2 3 4 5
Kỹ năng viết (10)
8
Đồ án trình bày đúng mẫu quy định với cấu trúc các chương
logic và đẹp mắt (bảng biểu, hình ảnh rõ ràng, có tiêu đề, được
đánh số thứ tự và được giải thích hay đề cập đến trong đồ án,
có căn lề, dấu cách sau dấu chấm, dấu phẩy v.v), có mở đầu
chương và kết luận chương, có liệt kê tài liệu tham khảo và có
trích dẫn đúng quy định
1 2 3 4 5
9 Kỹ năng viết xuất sắc (cấu trúc câu chuẩn, văn phong khoa
học, lập luận logic và có cơ sở, từ vựng sử dụng phù hợp v.v.) 1 2 3 4 5
Thành tựu nghiên cứu khoa học (5) (chọn 1 trong 3 trường hợp)
Trang 4Có bài báo khoa học được đăng hoặc chấp nhận đăng/đạt giải
SVNC khoa học giải 3 cấp Viện trở lên/các giải thưởng khoa
học (quốc tế/trong nước) từ giải 3 trở lên/ Có đăng ký bằng
phát minh sáng chế
5
10b
Được báo cáo tại hội đồng cấp Viện trong hội nghị sinh viên
nghiên cứu khoa học nhưng không đạt giải từ giải 3 trở
lên/Đạt giải khuyến khích trong các kỳ thi quốc gia và quốc tế
khác về chuyên ngành như TI contest
2
10c Không có thành tích về nghiên cứu khoa học 0
Điểm tổng quy đổi về thang 10
3 Nhận xét thêm của Thầy/Cô
Ngày: / /201
Người nhận xét
(Ký và ghi rõ họ tên)
Trang 5ĐÁNH GIÁ QUYỂN ĐỒ ÁN TỐT NGHIỆP
(Dùng cho cán bộ phản biện)
Giảng viên đánh giá:
Họ và tên Sinh viên: MSSV:
Tên đồ án: Nghiên cứu thiết kế bộ điều khiển máy bay không người lái autopilot
Chọn các mức điểm phù hợp cho sinh viên trình bày theo các tiêu chí dưới đây: Rất kém (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5)
Có sự kết hợp giữa lý thuyết và thực hành (20)
1
Nêu rõ tính cấp thiết và quan trọng của đề tài, các vấn đề và
các giả thuyết (bao gồm mục đích và tính phù hợp) cũng như
phạm vi ứng dụng của đồ án
1 2 3 4 5
2 Cập nhật kết quả nghiên cứu gần đây nhất (trong nước/quốc tế) 1 2 3 4 5
3 Nêu rõ và chi tiết phương pháp nghiên cứu/giải quyết vấn đề 1 2 3 4 5
4 Có kết quả mô phỏng/thưc nghiệm và trình bày rõ ràng kết quả
Có khả năng phân tích và đánh giá kết quả (15)
5
Kế hoạch làm việc rõ ràng bao gồm mục tiêu và phương pháp
thực hiện dựa trên kết quả nghiên cứu lý thuyết một cách có hệ
thống
1 2 3 4 5
6 Kết quả được trình bày một cách logic và dễ hiểu, tất cả kết
quả đều được phân tích và đánh giá thỏa đáng 1 2 3 4 5
7
Trong phần kết luận, tác giả chỉ rõ sự khác biệt (nếu có) giữa
kết quả đạt được và mục tiêu ban đầu đề ra đồng thời cung cấp
lập luận để đề xuất hướng giải quyết có thể thực hiện trong
tương lai
1 2 3 4 5
Kỹ năng viết (10)
8
Đồ án trình bày đúng mẫu quy định với cấu trúc các chương
logic và đẹp mắt (bảng biểu, hình ảnh rõ ràng, có tiêu đề, được
đánh số thứ tự và được giải thích hay đề cập đến trong đồ án,
có căn lề, dấu cách sau dấu chấm, dấu phẩy v.v), có mở đầu
chương và kết luận chương, có liệt kê tài liệu tham khảo và có
trích dẫn đúng quy định
1 2 3 4 5
9 Kỹ năng viết xuất sắc (cấu trúc câu chuẩn, văn phong khoa
học, lập luận logic và có cơ sở, từ vựng sử dụng phù hợp v.v.) 1 2 3 4 5
Trang 6Thành tựu nghiên cứu khoa học (5) (chọn 1 trong 3 trường hợp)
10a
Có bài báo khoa học được đăng hoặc chấp nhận đăng/đạt giải
SVNC khoa học giải 3 cấp Viện trở lên/các giải thưởng khoa
học (quốc tế/trong nước) từ giải 3 trở lên/ Có đăng ký bằng
phát minh sáng chế
5
10b
Được báo cáo tại hội đồng cấp Viện trong hội nghị sinh viên
nghiên cứu khoa học nhưng không đạt giải từ giải 3 trở
lên/Đạt giải khuyến khích trong các kỳ thi quốc gia và quốc tế
khác về chuyên ngành như TI contest
2
10c Không có thành tích về nghiên cứu khoa học 0
Điểm tổng quy đổi về thang 10
3 Nhận xét thêm của Thầy/Cô
Ngày: / /201
Người nhận xét
(Ký và ghi rõ họ tên)
MỤC LỤC
Trang 71.2 Sơ đồ khối autopilot 12
CHƯƠNG 4: PHẦN MỀM TRẠM KIỂM SOÁT MẶT ĐẤT GCS –
Trang 84.1.2 MAVProxy 37
4.2.4 Giả lập và kết nối thiết bị bay với Mission Planner 47
4.3 Danh sách các lệnh hướng dẫn thực hiện nhiệm vụ 51
4.4 Thiết lập, hiệu chỉnh máy bay đưa vào hoạt động 55
4.4.1 Các tham số của Mission Planner ( Parameter ) 55
Trang 9LỜI NÓI ĐẦU
Ngày nay, khi mà khoa học ngày càng phát triển và được áp dụng rất nhiều vàođời sống thì những thiết bị có khả năng tự động hóa đang là xu hướng được quantâm và nghiên cứu rộng rãi Các công nghệ này được ứng dụng trong rất nhiềungành và lĩnh vực nhằm tiết kiệm sức lao động của con người hoặc giảm nguy hiểmcủa môi trường lao động
Trang 10Một trong những công nghệ đang được nghiên cứu và ứng dụng mạnh mẽ làmáy bay không người lái (UAV- Unmanned Aerial Vehicle) Đây là tên gọi chỉchung cho các loại máy bay mà không có phi công điều khiển trực tiếp, hoạt động
tự động và có thể điều khiển, giám sát từ xa Việc sử dụng UAV có thể thay thế conngười trong rất nhiều lĩnh vực như dân dụng, quân sự… Ở các nước phát triển UAVđược ứng dụng rất nhiều trong việc do thám, quan trắc… tuy nhiên việc triển khai ởViệt Nam còn nhiều hạn chế
Xuất phát từ thực tế, em đã chọn đề tài “Nghiên cứu thiết kế bộ điều khiển chomáy bay không người lái AutoPilot” làm đề tài đồ án tốt nghiệp để từng bước nắmbắt lý thuyết và công nghệ nhằm áp dụng vào thực tiễn
Em cảm ơn thầy – người đã giúp em định hướng, lập kế hoạch để em có thểtiếp cận và có cái nhìn bao quát ơn về hệ thống UAV Và em xin được cảm ơn cácthầy cô viện Điện tử - Viễn thông trong những năm qua đã truyền tải những kiếnthức, kinh nghiệm quý báu để em có những hành trang vững chắc trên con đườnghọc tập và nghiên cứu sau này
Tóm tắt nội dung đồ án
● Thiết kế, xây dựng hệ thống phần cứng, phần mềm cho thiết bị bay khôngngười lái
● Xây dựng mô phỏng quá trình bày mà không cần phần cứng
● Làm việc với phần mềm trạm kiểm soát mặt đất Mission Planner
● Cấu hình hệ thống máy bay và đưa vào hoạt động
Trang 11Mục lục bảng biểu
Bảng 1: Một số tham số chính của Mission Planner 60
Mục lục hình ảnh
Hình 1: Sơ đồ khối Autopilot Error! Bookmark not defined.
Hình 2: Navio2 và một số tính năng nổi bật Error! Bookmark not defined.
Hình 3: Cấu trúc cơ bản của Raspberry Pi Error! Bookmark not defined.
Hình 4:Sau khi kết nối giữa Raspberry Pi và Navio2 Error! Bookmark not defined.
Hình 5: Cấp nguồn cho Navio2 bằng module nguồn (nguồn: Emlid) Error! Bookmark not defined.
Hình 6: Cấp nguồn cho servo (nguồn: Emlid) Error! Bookmark not defined.
Hình 7: Kết nối ăng-ten GNSS (nguồn: Emlid) Error! Bookmark not defined.
Hình 8: Kết nối máy thu RC (nguồn: Navio2) Error! Bookmark not defined.
Hình 9: Kết nối ESC với RC đầu ra (nguồn: Emlid) Error! Bookmark not defined.
Hình 10: Kết nối Servo với RC đầu ra (nguồn: Emlid) 27Hình 11: Kết nối modem UART (nguồn: Emlid) 27Hình 12: Kết nối modem USB (nguồn: Emlid) 28Hình 13: Sơ đồ tổng thể hệ thống (nguồn: Emlid) 29Hình 14: Mô hình tổng thể máy bay (nguồn: Emlid) Error! Bookmark not defined.
Hình 15: Mô hình máy bay thực tế Error! Bookmark not defined.
Hình 16: Một số mô hình Ardupilot hỗ trợ Error! Bookmark not defined.
Hình 17: Cấu trúc hệ thống ArduPilot (nguồn: ArduPilot) 33Hình 18:IP các thiết bị trong cùng một mạng sau khi quét bằng phần mềm Error! Bookmark not defined.
Hình 19: Giao diện đăng nhập thành công vào Raspbian (nguồn: Emlid) 36Hình 20:Giao diện phần mềm APM Planner Error! Bookmark not defined.
Hình 21: Giao diện phần mềm MAVProxy Error! Bookmark not defined.
Hình 22: Giao diện phần mềm Qground Error! Bookmark not defined.
Hình 23: Giao diện phần mềm UGCS Error! Bookmark not defined.
Hình 24: Giao diện phần mềm Mission Planner Error! Bookmark not defined.
Trang 12Hình 26: Flight Data Error! Bookmark not defined.
Hình 27: Flight Plane Error! Bookmark not defined.
Hình 28: Initial Setup Error! Bookmark not defined.
Hình 29: Config Error! Bookmark not defined.
Hình 30: Simulation Error! Bookmark not defined.
Hình 31: Mô phỏng Autopilot với Mission Planner 47Hình 32: Thiết lập lịch trình bay tự động Error! Bookmark not defined.
Hình 33: Chọn TakeOff Error! Bookmark not defined.
Hình 34: Thiết lập chiều cao Error! Bookmark not defined.
Hình 35: Máy bay được khởi động Error! Bookmark not defined.
Hình 36: Máy bay ảo thực hiện kế hoạch bay 51Hình 37: Cấu hình thiết bị đo gia tốc 61
Hình 39: Kiểm tra hoạt động la bàn 63
CHƯƠNG 1: TỔNG QUAN VỀ AUTOPILOT
Trang 131.1 Giới thiệu AutoPilot
Autopilot là viết tắt của của cụm từ đầy dủ automatic pilot, vốn để chỉ các thiết
bị bay tự động mà không cần phi công điều khiển trực tiếp Song bản chất Autopilot
là một hệ thống chưa hoàn thiện và luôn đòi hỏi con người nắm quyền điều khiển
Ý tưởng máy bay không người lái đầu tiên đã được nhà sáng chế người MỹCharles Kettering đề xuất sau 7 năm chuyến bay đầu tiện được thực hiện bởi anh emnhà Wright vào 12/1903 Vào thời điểm đó ý tưởng này được sinh ra để biến máybay thành “bom” hàng không Có thể coi đây là cột mốc phát triển máy bay tấncông không người lái Ý tưởng tuy đơn giản nhưng về mặt kỹ thuật vào thời điểm
đó để triển khai thì là một vấn đề hết sức phức tạp
Trong những năm 1940, tốc độ phát triển máy bay không người lái có nhữngbước nhảy vọt vẫn nhằm phục vụ cho chiến tranh Các nước Anh, Mỹ, Nga đã chếtạo ra được nhiều máy bay điều khiển bằng vô tuyến
Ngày nay các thiết bị bay không người lái được phát triển rất mạnh mẽ, khôngchỉ mục đích cho chiến tranh mà còn nhiều tính ứng dụng trong nhiều lĩnh vực nhất
là do thám,dự báo thời tiết, theo dõi, IOT, cứu hộ, vận tải Để phát triển được nhưvậy cũng là khoảng thời gian không nhỏ vì phải từng bước nắm bắt rõ cơ sở lýthuyết, xây dựng cộng đồng thành viên lớn với các dự án mã nguồn mở để có thểtừng bước phát triển chia sẻ hết cho tất cả mọi người
Các thành phần cốt lõi của Autopilot gồm: Hardware và Firmware
Trong đó Hardware là các thành phần phần cứng cấu tạo nên toàn bộ khung của
hệ thống Còn Firmware là phần ROM được tích hợp sẵn trong Hardware và cần có
sự tương thích giữa 2 thành phần này
Trang 14Hình 1.1: Sơ đồ khối Autopilot SEQ Hình_1.1:_Sơ_đồ_khối_Autopilot \* Hình SEQ Hình \* ARABIC 1: Sơ đồ khối Autopilot
1.2 Sơ đồ khối autopilot
Sơ đồ khối các thành phần cơ bản của AutoPilot
Sau khi đã hoàn thành sau Autopilot và đã kiểm tra firmware, hardware hoạtđộng ổn định và chính xác thì công việc tiếp theo là ghép nối Autopilot với máy bay
và kết nối với trạm điều khiển mặt đất để tạo thành một hệ thống máy bay khôngngười lái hoàn chình
1.3 Kết luận chương
Hệ thống máy bay không người lái bao gồm 2 thành phần cơ bản: máy bay vàtrạm điều khiển mặt đất Máy bay được em sử dụng bao gồm hardware và firmware.Còn trạm điều khiển mặt đất sử dụng phần mềm chạy trên máy tính cá nhân(Software) Tổng kết lại một hệ thống máy bay không người lái hoàn chỉnh bao gồmhardware + firmware + software
● Hardware: Bao gồm các thành phần như thân máy bay, mạch điện tử, cáccảm biến …
● Firmware: Là thành phần được nạp sẵn trên phần cứng và tương thíchvới phần cứng Khi phần cứng reset firmware sẽ không bị ảnh hưởng.Chúng được hiểu như là các ROM được nạp sẵn, để phần cứng có thểkhởi động đi vào hoạt động
● Software: Phần mềm kết nối với máy bay sử dụng giao diện đồ họanhằm thiết lập cấu hình, các thông số và kiểm tra Đồng thời được sửdụng để lên kế hoạch, vận hành các nhiệm vụ, hành trình bay
Trang 15CHƯƠNG 2: THIẾT BỊ HỆ THỐNG2.1 Board Navio2
2.1.1 Giới thiệu về Navio và Navio2
Cùng với sự phát triển của khoa học kĩ thuật thì các hệ thống bay cũng ngàycàng nhiều tính năng Những chiếc may bay ngày nay con người tạo ra không đơnthuần chỉ cho chúng bay bằng cách vận hành cơ khí như thời kỳ đầu mà nhu cầu đikèm với chúng còn là xác định các thông số như độ cao, áp suất, thăng bằng, điều
Trang 16hướng… với những cảm biến có độ chính xác cao Đối với những hệ thống baykhông người lái thì việc điều khiển, lập hành trình bay là điều tất yếu Đi kèm vớinhững yêu cầu trên thì những thiết bị với đầy đủ các cảm biến cộng với hệ điềuhành thời gian thực giúp ta có thể thao tác dễ dàng thì nhiều thiết bị đã được conngười tạo ra Trong đó có board mạch Navio2
Navio được phát triển bởi Emlid LTD Sự phát triển của dự án Navio gắn liềnvới sự phát triển của một loại máy tính nhỏ nhưng vô cùng nhiều tính năng –Raspberry pi Sự ra đời của Navio đã giải quyết sự thiếu gắn kết giữa các servo, các
bộ phận cảm biến cho các hệ thống lái tự động với những kết nối cần hệ thống dây
vô cùng phức tạp Lợi dụng sức mạnh xử lý, các tính năng tuyệt vời của Raspberrypi,Emlid đã cho ra đời dự án Navio Không lâu sau đó Emlid đã cho ra đời Navio2dựa trên phiên bản đầu tiên nhưng với nhiều sự cải tiến
2.1.2 Thông số kĩ thuật
Navio được tạo ra với các thông sô kĩ thuật như sau:
● MPU9250: Đơn vị đo quán tính gồm 9 trục Trong đó có con quay hồi
chuyển gồm 3 trục để đo vận tốc góc, gia tốc kế gồm 3 trục để đo trọnglực và từ kế 3 trục để đo từ trường Trái Đất Với những thuật toán phứctạp, dữ liệu lấy từ MPU9250 có thể được lấy để sử dụng tính toán hướng
đi cho autopilot
● MS5611: Cảm biến đo nhiệt độ với độ phân giải cao
● ADS1115: là bộ ADC 4 kênh Mỗi kênh có độ phân giải lên tới 16 bit
● PCA9685: Bộ điều khiển PWM có thể điều khiển tới 13 servo,rơle hay
led Các đầu ra PWM đều đã được thiết kế sẵn trên board Raspberry Pithiếu các đầu ra PWM và chính Navio được tạo ra để giải quyết vấn đềnày
● M85RC FRAM: là viết tắt của Ferromagnetic RAM Nó có chu kì
ghi/xóa lên tới 1000 tỷ lần Nếu ứng dụng cần khả năng truy cập lại liêntục bộ nhớ gốc, FRAM có thể tiết kiệm tài nguyên thẻ SD và mang tínhtin cậy cao
● Các cổng giao tiếp I2C,SPI,UART: Các cổng kết nối này đều đã được
thiết kế và chú thích trên board mạch Chúng được thiết kế để Navio có
Trang 17thể kết nối đến bất kì ngoại vi, module nào để có thể mở rộng nền tảnghoạt động.
● Thiết bị thu GNSS: Navio được trang bị bộ thu GNO-6T GNSS u-blox.
U-blox nổi tiếng vì tạo ra các mô-đun GPS có độ nhạy cao và mạnh mẽ,nhưng điều làm cho nó trở nên đặc biệt trong các thiết bị thu khác làkhông chỉ là khả năng xác định tọa độ, mà còn xác định độ chính xác củaGPS thông qua bộ thời gian thực Kinematics Tuy nhiên, u-blox không
hỗ trợ xử lý RTK nhưng Raspberry Pi với Navio có thể làm điều đóthay tỏa Người nhận có thể tạo ra các khoảng thời gian với độ chính xác15ns
Với Navio2 có nhiều cải tiến tích cực so với Navio:
● Dual IMU: Ở Navio chỉ có 1 chip IMU, nhưng sang phiên bản này tích hợp
2 chip giúp cải thiện hiệu năng, độ chính xác cảm biến trong quá trình bay
● Cải thiện hiệu suất hoạt động của MS5611: ở phiên bản Navio+, các cảm
biến hầu hết giao tiếp với vi xử lý qua bus I2C và MS5611 cũng vậy nên trong quátrình chuyển đổi dữ liệu nhiễu hoàn toàn có thể xảy ra Đó chính là lý do MS5611 làcảm biến duy nhất trên bus I2C để khắc phục điều này
● Mạch nguồn: Phần module nguồn của Navio2 đã được cải tiến thêm với hệ
mạch 3 diode,từ đó thêm các tính năng cảnh báo vượt áp và quá dòng để bảo vệcổng module nguồn và cả Raspberry Pi
● Vi điều khiển: ở phiên bản Navio+, PCA9685 là chip được chọn để phát
xung PWM Khi điều khiển 1 động cơ thì không gặp phải vấn đề gì nhưng khi điềukhiển nhiều động cơ cùng một lúc thì giới hạn của nó là không có khả năng kiểmsoát tần số cho các kênh riêng biệt dẫn tới động cơ và servo hoạt động trên các tần
số khác nhau Vấn đề đó được Emlid giải quyết bằng cách thay thế bởi STM32F103
● Giải mã PPM/SBUS được thực hiện bởi vi điều khiển thay vì DMA: bộ
truyền từ nguồn phát transmitter và bộ nhận tín hiệu trên Navio+ sử dụng tín hiệuPPM/SBUS để giao tiếp Navio+ sử dụng DMA (Direct Memory Acess) để lấy mẫutín hiệu PPM vốn khá nặng nề với tài nguyên hệ thống Trên Navio2, nhiệm vụ lấymẫu tín hiệu được đầy cho vi xử lý còn bộ nhớ trên Raspberry Pi dùng để xử lý các
nhiệm vụ khác
Trang 18Hình 2.1: Navio2 và một số tính năng nổi bật Hình SEQ Hình \* ARABIC 2: Navio2 và một số tính năng nổi bật
● AUX SPI: Navio2 sử dụng bộ điều khiển AUXSPI trên Raspberry Pi Việc
sử dụng 2 bộ giao tiếp SPI cho phép phân phối cảm biến hiệu quả hơn
● Cổng ADC: Các kênh ADC nằm trên Navio+ không thực sự tiện dụng cho
người dùng bởi các kênh ADC chỉ có sẵn trên các tấm nện dưới cùng của boardmạch Trên Navio2, các kênh ADC được truy cập dễ dàng qua cổng DF13
● Tích hợp Linux tốt hơn: Các tín hiệu PWM, ADC, SBUS và PPM cũng có
thể được xử lý trong phần code của Linux, có thể truy cập xử lý bằng bất kỳ ngônngữ lập trình nào, chính vì tính mở rộng cao nên có thể dễ dàng phát triển sâu hơn ởcác dự án trong tương lai
Trang 192.2 Raspberry pi
2.2.1 Giới thiệu về Raspberry pi
Raspberry pi và một máy tính nhỏ chạy hệ điều hành Linux Được tạo ra vớimục tiêu chính là giảng dạy máy tính cho trẻ em Được phát triển bởi RaspberryFounation – tổ chức phi lợi nhuận với tiêu chí xây dựng hệ thống mà nhiều người cóthể sử dụng được trong nhiều công việc tùy biến khác nhau
Raspberry Pi sản xuất bởi 3 OEM: Sony, Qsida, Egoman Và được phân phốichính bởi Element14, RS Components và Egoman
Nhiệm vụ ban đầu của dự án Raspberry Pi là tạo ra máy tính rẻ tiền có khả nănglập trình cho những sinh viên , nhưng Pi đã được sự quan tầm từ nhiều đối tượngkhác nhau Đặc tính của Raspberry Pi xây dựng xoay quanh bộ xử lí SoCBroadcom BCM2835 ( là chip xử lí mobile mạnh mẽ có kích thước nhỏ hay đượcdùng trong điện thoại di động ) bao gồm CPU , GPU , bộ xử lí âm thanh /video , vàcác tính năng khác … tất cả được tích hợp bên trong chip có điện năng thấp này Raspberry Pi không thay thế hoàn toàn hệ thống để bàn hoặc máy xách tay Bạn không thể chạy Windows trên đó vì BCM2835 dựa trên cấu trúc ARM nênkhông hỗ trợ mã x86/x64 , nhưng vẫn có thể chạy bằng Linux với các tiện ích nhưlướt web , môi trường Desktop và các nhiệm vụ khác Tuy nhiên Raspberry Pi làmột thiết bị đa năng đáng ngạc nhiên với nhiều phần cứng có giá thành rẻ nhưng rấthoàn hảo cho những hệ thống điện tử , những dự án DIY , thiết lập hệ thống tínhtoán rẻ tiền cho những bài học trải nghiệm lập trình …
Trang 20Hình 2.2 Cấu trúc cơ bản của Raspberry Pi Hình SEQ Hình \* ARABIC 3: Cấu trúc cơ bản của Raspberry Pi
2.2.2 Cấu tạo phần cứng
Raspberry pi bao gồm 2 phiên bản là A và B nhưng model B được sử dụng thông
dụng hơn bao gồm phần cứng và những cổng giao tiếp:
● SoC 700MHz với 512MB RAM
● 1 cổng HDMI cho đầu ra âm thanh / video số
● 1 cổng video RCA cho đầu ra video Analog
● Jack Headphone Stereo 3.5mm cho đầu ra âm thanh Analog
Trang 21● 02 cổng USB
● 01 đầu đọc thẻ nhớ SD để tải hệ điều hành
● 01 cổng Ethernet LAN
● 01 giao diện GPIO (General Purpose Input/Output)
Model A cũng gần tương tự như Model B nhưng có sự thay đổi như sau
2.3.1 Kết nối Navio2 với Raspberry Pi
Như đã đề cập, Navio2 sinh ra là để kết hợp với Raspberry Pi Trong quá trìnhlàm đề tài, chúng em sử dụng Raspberry Pi 3 model B, quá trình kết hợp rất đơngiản như sau:
● Kết nối Navio2 với Raspberry bằng cổng kết nối 40 chân
● Cố định Navio2 và Raspberry bằng ốc vít
Trang 22Hình SEQ Hình \* ARABIC 4:Sau khi kết nối giữa Raspberry
2.3.2 Cấp nguồn cho Navio2
Theo lời khuyên của nhà sản xuất, nguồn cung cấp cho Navio2 chỉ được nằmtrong khoảng từ 4.8-5.4V, nếu không có thể gây hỏng hóc cho toàn bộ mạch Navio2cũng như Raspberry Pi
Ta có nhiều cách cấp nguồn cho Navio2 Dù là cấp nguồn bằng cách nào đi nữathì Navio2 đều đã được thiết lập chế độ bảo vệ bằng các diode
● Với môi trường kiểm thử và phát triển: Ta có thể cấp nguồn cho Navio2
thông qua Raspberry Pi Kết nối nguồn của Raspberry Pi với cổng USB 5V/1A củamáy tính hoặc sử dụng nguồn do nhà sản xuất cung cấp 5V/2.5A
Trang 23Hình SEQ Hình \* ARABIC 5: Cấp nguồn cho Navio2 bằng module
● Trên các thiết bị không người lái: Ở các thiết bị bay không người lái thì
việc lấy nguồn từ Raspberry Pi như môi trường kiểm thử dường như là không thể.Lúc này Navio2 nên được cấp nguồn từ Pin thông qua cổng POWER được kết nốivới một module nguồn
● Trường hợp dự phòng: Trường hợp khi nguồn chính hết điện hoặc xảy ra
sự cố với module nguồn thì Navio2 được cấp nguồn từ các servo
Trang 24Hình 2.5: Cấp nguồn cho servo (nguồn: Emlid) Hình SEQ Hình \* ARABIC 6: Cấp nguồn cho servo (nguồn: Emlid)
2.3.3 Cấp nguồn cho hệ thống Servo
Để cung cấp điện cho servo, ta sẽ sử dụng các kết nối BEC cắm lên các kết nốicòn trống trên dải cổng kết nối dành riêng cho servo trên Navio2 Sử dụng BECcung cấp điện áp trong khoảng từ 4.8 – 5.3V Do hệ thống Servo và động cơ cầnhoạt động mạnh nên ta sử dụng các BEC này có dòng đầu ra lên tới 20A
2.3.4 Ăng-ten GNSS
Ăng-ten GNSS được cắm vào cổng MCX ngay giữa bảng mạch
Trang 25Hình 2.6: Kết nối ăng-ten GNSS (nguồn: Emlid) Hình SEQ Hình \* ARABIC 7: Kết nối ăng-ten GNSS (nguồn:
2.3.5 Kết nối với bộ thu
Navio2 nhận các tín hiệu PPM và SBUS làm tín hiệu đầu vào
Ta cần lưu ý là không kết nối servo với bộ thu RC Bởi servo thường tiêu thụ rấtnhiều điện năng dẫn đến bộ thu kết nối với Navio2 có thể không được cung cấpđiện Khi đó mất tín hiệu điều khiển sẽ rất nguy hiểm
Emlid chỉ ra một số máy thu với đầu ra PPM như sau:
Với ACCST:
● Bộ thu ACCST FrSKY D4R-II 4 kênh 2.4GHz
● FrSKY V8R7-SP ACCST 7 kênh RX với PPM tổng hợp
● FrSKY D8R-XP
Với FASST
Trang 26Hình 2.7: Kết nối máy thu RC (nguồn: Navio2) Hình SEQ Hình \* ARABIC 8: Kết nối máy thu RC (nguồn:
● Máy thu tương thích FASST FrSKY TFR4 4 kênh 2.4GHz
2.3.6 Kết nối đầu ra với động cơ và Servo
ESCs
ESCs được kết nối với đầu ra RC có nhãn từ 1 đến 14 trên các chân 2.54mm
Ta chỉ kết nối chân tín hiệu của ESC tới Navio2 bởi phần nguồn ta lấy trực tiếp
từ Pin chứ không kết nối dây nguồn tới các chân nguồn của Navio2 bởi chúngkhông đủ cung cấp cho ESC và còn có thể gây nhiễu
Trang 27Hình 2.8: Kết nối ESC với RC đầu ra (nguồn: Emlid) Hình SEQ Hình \* ARABIC 9: Kết nối ESC với RC đầu ra
Trang 28Hình 10: Kết nối Servo với RC đầu ra (nguồn: Emlid)
Trang 29Hình 12: Kết nối modem USB (nguồn: Emlid)
2.3.8 Cấu hình hoàn chỉnh
Trong đồ án em sử dụng mô hình máy bay 4 động cơ kết hợp với những bước trên ta có sơ đồ tổng thể hệ thống như sau:
Trang 30Hình 13: Sơ đồ tổng thể hệ thống (nguồn: Emlid)
Sau khi ghép hệ thống với thân máy bay ta có mô hình máy bay hoàn chỉnh nhưhình dưới:
Trang 31Hình SEQ Hình \* ARABIC 14: Mô hình tổng thể máy bay (nguồn: Emlid)
Trang 32Hình SEQ Hình \* ARABIC 15: Mô hình máy bay thực tế
2.5 Kết luận chương
Như vậy ta đã tìm hiểu, biết được hệ thống phần cứng của dự án bao gồmNavio2, Raspberry Pi 3 là các thành phần chính và một số thiết bị ngoại vi Trongcác chương tới ta sẽ tìm hiểu cách cài đặt firmware, mô phỏng, cấu hình Plane đểđưa vào hoạt động
Trang 33Hình 3.1: Một số mô hình Ardupilot hỗ trợ Hình SEQ Hình \* ARABIC 16: Một số mô hình Ardupilot hỗ trợ
CHƯƠNG 3: XÂY DỰNG FIRMWARE
3.1 Tổng quan dự án Ardupilot
ArduPilot là một dự án mã nguồn mở chuyên nghiệp, được sử dụng trong các
dự án có hệ thống lại tự động Ra đời vào năm 2009 dưới sự phát triển của nhómphát triển ArduPilot cùng cộng đồng mã nguồn mở đông đảo, trên ngôn ngữ C++ vàPython Ngày nay ArduPilot đã hỗ trợ cho các dự án:
● Máy bay lên thẳng
● Ăng-ten theo dõi.
ArduPilot là một trong những nền tảng tự động tiên tiến, đầy đủ tính năng vàđáng tin cậy, được sử dụng bởi nhiều chuyên gia cũng như người dùng phổ thông,
và được phát triển bởi đội ngũ kỹ sư và các nhà khoa học máy tính hùng hậu
Đây là nền tảng autopilot duy nhất có khả năng kiểm soát tất cả các loại thiết bịđược liệt kê ở trên và là một nền tảng đã đoạt giải thưởng UAV Outback Challengevào năm 2012, 2014 và 2016, cũng như cuộc thi IMAV năm 2016
Trang 34Ngoài những người có sở thích trong lĩnh vực mô hình tự động, ArduPilot cònđược sử dụng bởi một số lượng lớn các công ty hàng đầu trên thế giới Dự án nàythể hiện một nỗ lực phát triển phần mềm hợp tác, tạo ra một mã nguồn mở có tínhthương mại, giàu tính năng và tự do Nó được quản lý chung bởi một nhóm các tìnhnguyện viên trên khắp thế giới, sử dụng môi trường Internet để giao tiếp, lập kếhoạch, phát triển và hỗ trợ Nhóm phát triển sẽ có những buổi họp thường niên hàngtuần một cách cởi mở Ngoài ra, có hàng trăm người dùng đóng góp ý tưởng, mãnguồn và tài liệu cho dự án ArduPilot đã được cấp phép GPL 3 và cho phép tảixuống miễn phí
Cấu trúc chung của dự án ArduPilot được mô tả như sau:
Hình 17: Cấu trúc hệ thống ArduPilot (nguồn: ArduPilot)
3.2 Cài đặt Firmware cho Navio2 và Raspberry Pi
Do Navio2 hoạt động dựa trên Raspberry Pi, nên chúng ta sẽ tiến hành càifirmware trên Raspberry Pi Các thức thực hiện vô cùng đơn giản như sau: