Mục lục:

Arduino Drone với GPS: 16 bước
Arduino Drone với GPS: 16 bước

Video: Arduino Drone với GPS: 16 bước

Video: Arduino Drone với GPS: 16 bước
Video: Arduino Quadcopter Development Part 7 (Programming NEO 6M GPS) 2024, Tháng mười một
Anonim
Arduino Drone có GPS
Arduino Drone có GPS

Chúng tôi bắt đầu xây dựng một máy bay không người lái quadcopter góc nhìn thứ nhất (FPV) được điều khiển bằng Arduino và ổn định với các chức năng quay về nhà, đi đến tọa độ và giữ GPS. Chúng tôi giả định một cách ngây thơ rằng việc kết hợp các chương trình Arduino hiện có và hệ thống dây cho một quadcopter không có GPS với các chương trình của hệ thống truyền dẫn GPS sẽ tương đối đơn giản và chúng tôi có thể nhanh chóng chuyển sang các tác vụ lập trình phức tạp hơn. Tuy nhiên, một số lượng đáng ngạc nhiên đã phải thay đổi để kết hợp hai dự án này và do đó chúng tôi đã kết thúc việc tạo ra một quadcopter FPV hỗ trợ GPS mà không có bất kỳ chức năng bổ sung nào.

Chúng tôi đã bao gồm hướng dẫn về cách sao chép sản phẩm của mình nếu bạn hài lòng với quadcopter hạn chế hơn.

Chúng tôi cũng đã bao gồm tất cả các bước chúng tôi đã thực hiện trên đường tới một chiếc máy bay quadcopter tự trị hơn. Nếu bạn cảm thấy thoải mái khi đào sâu về Arduino hoặc đã có nhiều kinh nghiệm về Arduino và muốn lấy điểm dừng của chúng tôi làm điểm khởi đầu cho việc khám phá của riêng bạn, thì Tài liệu hướng dẫn này cũng dành cho bạn.

Đây là một dự án tuyệt vời để tìm hiểu điều gì đó về cách xây dựng và viết mã cho Arduino bất kể bạn có bao nhiêu kinh nghiệm. Ngoài ra, hy vọng bạn sẽ bỏ đi với một chiếc máy bay không người lái.

Việc thiết lập như sau:

Trong danh sách vật liệu, các phần không có dấu hoa thị là bắt buộc cho cả hai mục tiêu.

Các bộ phận có một dấu hoa thị chỉ được yêu cầu đối với dự án chưa hoàn thành của một chiếc quadcopter tự hành hơn.

Các bộ phận có hai dấu hoa thị chỉ được yêu cầu đối với quadcopter hạn chế hơn.

Các bước chung cho cả hai dự án không có điểm đánh dấu sau tiêu đề

Các bước chỉ bắt buộc đối với quadcopter không tự hành hạn chế hơn có "(Uno)" sau tiêu đề.

Các bước chỉ bắt buộc đối với quadcopter tự động đang tiến hành có "(Mega)" sau tiêu đề.

Để tạo bộ tứ dựa trên Uno, hãy làm theo các bước theo thứ tự, bỏ qua bất kỳ bước nào có "(Mega)" sau tiêu đề.

Để làm việc trên quad dựa trên Mega, hãy làm theo các bước theo thứ tự, bỏ qua bất kỳ bước nào có "(Uno)" sau tiêu đề.

Bước 1: Thu thập vật liệu

Các thành phần:

1) Một khung quadcopter (khung chính xác có thể không quan trọng) ($ 15)

2) Bốn động cơ không chổi than 2830, 900kV (hoặc tương tự) và bốn gói phụ kiện lắp (4x $ 6 + 4x $ 4 = tổng $ 40)

3) Bốn 20A UBEC ESC (4x $ 10 = tổng $ 40)

4) Một bảng phân phối điện (với kết nối XT-60) ($ 20)

5) Một pin 3 giây, 3000-5000mAh LiPo với kết nối XT-60 (3000mAh tương ứng với khoảng 20 phút thời gian bay) ($ 25)

6) Rất nhiều propellors (những quả này phá vỡ rất nhiều) ($ 10)

7) Một Arduino Mega 2560 * ($ 40)

8) Một Arduino Uno R3 ($ 20)

9) Arduino Uno R3 thứ hai ** ($ 20)

10) Một tấm chắn GPS tối ưu Arduino (bạn không cần tấm chắn, nhưng sử dụng một GPS khác sẽ yêu cầu hệ thống dây điện khác nhau) ($ 45)

11) Hai bộ thu phát không dây HC-12 (2x $ 5 = $ 10)

12) Một con quay hồi chuyển / gia tốc kế một MPU- 6050, 6DOF (bậc tự do) ($ 5)

13) Một Turnigy 9x 2.4GHz, cặp máy phát / thu 9 kênh ($ 70)

14) Tiêu đề Arduino cái (có thể xếp chồng) ($ 20)

15) Bộ sạc cân bằng pin LiPo (và bộ chuyển đổi DC 12V, không phải, đi kèm) ($ 20)

17) Dây chuyển đổi USB A to B đực sang đực ($ 5)

17) Băng keo

18) Ống co

Trang thiết bị:

1) Một mỏ hàn

2) Hàn

3) Nhựa Epoxy

4) Nhẹ hơn

5) Dụng cụ thoát y dây

6) Một bộ cờ lê Allen

Các thành phần tùy chọn để truyền video FPV (chế độ xem người thứ nhất) theo thời gian thực:

1) Một máy ảnh FPV nhỏ (cái này liên kết với cái khá rẻ và chất lượng kém mà chúng tôi đã sử dụng, bạn có thể thay thế một cái tốt hơn) ($ 20)

2) Bộ thu / phát video 5.6GHz (sử dụng 832 kiểu máy) ($ 30)

3) Pin LiPo 500mAh, 3 giây (11,1V) ($ 7) (chúng tôi đã sử dụng với phích cắm chuối, nhưng chúng tôi khuyên bạn nên sử dụng pin được liên kết vì nó có đầu nối tương thích với bộ phát TS832 và do đó không ' t yêu cầu hàn).

4) 2 pin LiPo 1000mAh 2s (7.4V) hoặc tương tự ($ 5). Số mAh không quan trọng miễn là nó lớn hơn 1000mAh hoặc lâu hơn. Tuyên bố tương tự như trên áp dụng cho loại phích cắm của một trong hai loại pin. Cái còn lại sẽ được sử dụng để cấp nguồn cho màn hình, vì vậy bạn sẽ phải hàn bất kể điều gì. Có lẽ tốt nhất là bạn nên mua một chiếc có phích cắm XT-60 cho việc này (đó là những gì chúng tôi đã làm). Một liên kết cho loại đó là ở đây: LiPo 1000mAh 2s (7.4V) với phích cắm XT-60

5) Màn hình LCD (tùy chọn) ($ 15). Bạn cũng có thể sử dụng bộ chuyển đổi AV-USB và phần mềm sao chép DVD để xem trực tiếp trên máy tính xách tay. Điều này cũng cung cấp tùy chọn quay video và ảnh, thay vì chỉ xem chúng trong thời gian thực.

6) Nếu bạn đã mua pin có phích cắm khác với phích cắm được liên kết, bạn có thể cần bộ điều hợp thích hợp. Bất kể, hãy mua một bộ chuyển đổi tương ứng với phích cắm của pin cấp nguồn cho màn hình. Đây là nơi nhận bộ điều hợp XT-60

* = chỉ dành cho dự án cao cấp hơn

** = chỉ dành cho dự án cơ bản hơn

Chi phí:

Nếu bắt đầu từ đầu (nhưng với mỏ hàn, v.v.), không có hệ thống FPV: ~ $ 370

Nếu bạn đã có bộ phát / thu RC, bộ sạc pin LiPo và pin LiPo: ~ $ 260

Chi phí của hệ thống FPV: $ 80

Bước 2: Lắp ráp khung

Lắp ráp khung
Lắp ráp khung
Lắp ráp khung
Lắp ráp khung
Lắp ráp khung
Lắp ráp khung

Bước này khá đơn giản, đặc biệt nếu sử dụng cùng một khung tạo sẵn mà chúng tôi đã sử dụng. Chỉ cần sử dụng các vít đi kèm và lắp khung lại với nhau như hình minh họa, sử dụng cờ lê hoặc tuốc nơ vít allen thích hợp cho khung của bạn. Đảm bảo rằng các cánh tay cùng màu nằm kề nhau (như trong hình này) để máy bay không người lái có mặt trước và mặt sau rõ ràng. Hơn nữa, hãy đảm bảo rằng phần dài của tấm đáy nhô ra giữa các cánh tay có màu đối lập. Điều này trở nên quan trọng sau này.

Bước 3: Gắn động cơ và kết nối Escs

Gắn động cơ và kết nối Escs
Gắn động cơ và kết nối Escs
Gắn động cơ và kết nối Escs
Gắn động cơ và kết nối Escs
Gắn động cơ và kết nối Escs
Gắn động cơ và kết nối Escs
Gắn động cơ và kết nối Escs
Gắn động cơ và kết nối Escs

Bây giờ khung đã được lắp ráp, hãy lấy bốn động cơ và bốn phụ kiện lắp ráp. Bạn có thể sử dụng các vít có trong bộ lắp đặt hoặc các vít còn sót lại từ khung quadcopter để vặn các động cơ và giá treo vào đúng vị trí. Nếu bạn mua các ngàm mà chúng tôi đã liên kết, bạn sẽ nhận được hai thành phần bổ sung, như hình trên. Chúng tôi đã có hiệu suất vận động tốt mà không có những bộ phận này, vì vậy chúng tôi đã bỏ chúng đi để giảm trọng lượng.

Khi các động cơ đã được vặn vào vị trí, hãy sơn epoxy bảng phân phối điện (PDB) ở vị trí trên cùng của tấm trên cùng của khung quadcopter. Đảm bảo rằng bạn định hướng nó sao cho đầu nối pin hướng ra giữa các nhánh có màu khác nhau (song song với một trong các phần dài của tấm dưới cùng), như trong hình trên.

Bạn cũng nên có bốn hình nón cánh quạt với các sợi chỉ cái. Hãy đặt chúng sang một bên ngay bây giờ.

Bây giờ lấy ESC của bạn ra. Một bên sẽ có hai dây ra khỏi nó, một màu đỏ và một màu đen. Đối với mỗi trong số bốn ESC, chèn dây màu đỏ vào đầu nối dương trên PDB và dây đen vào đầu nối âm. Lưu ý rằng nếu bạn sử dụng một PDB khác, bước này có thể yêu cầu hàn. Bây giờ kết nối từng dây trong số ba dây ra khỏi mỗi động cơ. Tại thời điểm này, không quan trọng bạn kết nối dây ESC với dây động cơ nào (miễn là bạn đang kết nối tất cả các dây của một ESC với cùng một động cơ!) Bạn sẽ sửa mọi cực ngược sau này. Sẽ không nguy hiểm nếu dây bị đảo ngược; nó chỉ dẫn đến động cơ quay ngược lại.

Bước 4: Chuẩn bị Arduino và Shield

Chuẩn bị Arduino và Shield
Chuẩn bị Arduino và Shield
Chuẩn bị Arduino và Shield
Chuẩn bị Arduino và Shield

Một lưu ý trước khi bạn bắt đầu

Đầu tiên, bạn có thể chọn hàn trực tiếp tất cả các dây lại với nhau. Tuy nhiên, chúng tôi thấy việc sử dụng các tiêu đề ghim là vô giá vì chúng cung cấp nhiều tính linh hoạt cho việc khắc phục sự cố và điều chỉnh dự án. Những gì sau đây là mô tả những gì chúng tôi đã làm (và khuyến nghị những người khác làm).

Chuẩn bị Arduino và lá chắn

Lấy Arduino Mega của bạn (hoặc Uno nếu làm quad không tự chủ), tấm chắn GPS và các tiêu đề có thể xếp chồng lên nhau. Hàn đầu nam của các tiêu đề có thể xếp chồng vào vị trí trên tấm chắn GPS, trong các hàng chân song song với các chân hàn sẵn, như thể hiện trong hình trên. Cũng được hàn trong các tiêu đề có thể xếp chồng lên nhau trên hàng pin có nhãn 3V, CD,… RX. Sử dụng máy cắt dây để cắt bớt phần dài thừa trên các ghim nhô ra phía dưới. Đặt các tiêu đề nam có đỉnh uốn cong vào tất cả các tiêu đề có thể xếp chồng này. Đây là những gì bạn sẽ hàn dây cho phần còn lại của các thành phần.

Gắn tấm chắn GPS lên trên cùng, đảm bảo rằng các chân cắm khớp với các chân cắm trên Arduino (Mega hoặc Uno). Lưu ý rằng nếu sử dụng Mega, rất nhiều Arduino sẽ vẫn lộ ra sau khi bạn đặt lá chắn vào vị trí.

Đặt băng dính điện ở dưới cùng của Arduino, che tất cả các chân hàn tiếp xúc, để ngăn chặn bất kỳ hiện tượng đoản mạch nào khi Arduino nằm trên PDB.

Bước 5: Kết nối các thành phần lại với nhau và đặt pin (Uno)

Kết hợp dây các thành phần và đặt pin (Uno)
Kết hợp dây các thành phần và đặt pin (Uno)
Kết hợp dây các thành phần và đặt pin (Uno)
Kết hợp dây các thành phần và đặt pin (Uno)
Kết hợp dây các thành phần và đặt pin (Uno)
Kết hợp dây các thành phần và đặt pin (Uno)
Kết nối các thành phần và đặt pin (Uno)
Kết nối các thành phần và đặt pin (Uno)

Sơ đồ trên gần giống với sơ đồ do Joop Brooking thực hiện vì chúng tôi dựa rất nhiều vào thiết kế của anh ấy.

* Lưu ý rằng giản đồ này giả định là một tấm chắn GPS được gắn đúng cách, và do đó GPS không xuất hiện trong giản đồ này.

Sơ đồ trên được chuẩn bị bằng phần mềm Fritzing, phần mềm này rất được khuyến khích đặc biệt cho các sơ đồ liên quan đến Arduino. Chúng tôi chủ yếu sử dụng các bộ phận chung chung có thể được chỉnh sửa linh hoạt, vì các bộ phận của chúng tôi thường không có trong thư viện bộ phận bao gồm của Fritzing.

-Đảm bảo rằng công tắc trên tấm chắn GPS được chuyển thành "Ghi trực tiếp".

-Bây giờ hãy kết nối tất cả các thành phần theo sơ đồ trên (ngoại trừ pin!) (Lưu ý quan trọng về dây dữ liệu GPS bên dưới).

-Chú ý rằng bạn đã nối dây ESC với động cơ và PDB, vậy là xong phần sơ đồ này.

- Ngoài ra, lưu ý rằng dữ liệu GPS (dây màu vàng) đến từ các chân 0 và 1 trên Arduino (không phải các chân Tx và Rx riêng biệt trên GPS). Đó là bởi vì được định cấu hình thành "Ghi trực tiếp" (xem bên dưới), GPS xuất trực tiếp đến các cổng nối tiếp phần cứng trên các chân chưa (chân 0 và 1). Điều này được thể hiện rõ ràng nhất trên hình thứ hai ở trên của hệ thống dây điện hoàn chỉnh.

-Khi đấu dây bộ thu RC, hãy tham khảo hình trên. Quan sát rằng các dây dữ liệu đi vào hàng trên cùng, trong khi Vin và Gnd lần lượt nằm trên hàng thứ hai và thứ ba (và trên cột ghim từ thứ hai đến xa nhất).

-Để nối dây cho bộ thu phát HC-12, bộ thu RC và 5Vout từ PDB đến Vin của Arduino, chúng tôi đã sử dụng các đầu cắm có thể xếp chồng lên nhau, trong khi đối với con quay hồi chuyển, chúng tôi hàn dây trực tiếp vào bảng và sử dụng ống co nhiệt xung quanh chất hàn. Bạn có thể chọn thực hiện đối với bất kỳ thành phần nào, tuy nhiên, bạn nên hàn trực tiếp vào con quay hồi chuyển vì nó tiết kiệm không gian giúp cho việc lắp các bộ phận nhỏ trở nên dễ dàng hơn. Việc sử dụng tiêu đề sẽ tốn ít công sức hơn trước, nhưng mang lại sự linh hoạt hơn. Hàn dây trực tiếp là một kết nối an toàn hơn về lâu dài, nhưng có nghĩa là việc sử dụng thành phần đó trên một dự án khác sẽ khó hơn. Lưu ý rằng nếu bạn đã sử dụng các tiêu đề trên tấm chắn GPS, bạn vẫn có một mức độ linh hoạt tốt bất kể bạn làm gì. Điều quan trọng, hãy đảm bảo rằng các dây dữ liệu GPS ở chân 0 và 1 trên GPS dễ tháo và thay thế.

Vào cuối dự án của chúng tôi, chúng tôi không thể thiết kế một phương pháp tốt để gắn tất cả các thành phần của chúng tôi vào khung. Do áp lực về thời gian của lớp học, các giải pháp của chúng tôi thường xoay quanh băng keo xốp hai mặt, băng keo, băng dính điện và dây buộc zip. Chúng tôi thực sự khuyên bạn nên dành nhiều thời gian hơn để thiết kế các cấu trúc gắn kết ổn định nếu bạn dự định đây là một dự án dài hạn. Với tất cả những gì đã nói, nếu bạn chỉ muốn tạo một mẫu thử nghiệm nhanh, thì hãy làm theo quy trình của chúng tôi. Tuy nhiên, hãy đảm bảo rằng con quay hồi chuyển được gắn chắc chắn. Đây là cách duy nhất Arduino biết quadcopter đang làm gì, vì vậy nếu nó di chuyển trong chuyến bay, bạn sẽ gặp vấn đề.

Với mọi thứ đã được kết nối và vào đúng vị trí, hãy lấy pin LiPo của bạn và trượt nó vào giữa các tấm trên và dưới của khung. Đảm bảo rằng đầu nối của nó hướng cùng hướng với đầu nối của PDB và chúng có thể kết nối trên thực tế. Chúng tôi đã sử dụng băng keo để giữ pin tại chỗ (băng dán cũng hoạt động, nhưng khó chịu hơn băng keo). Băng keo hoạt động tốt vì người ta có thể dễ dàng thay pin hoặc tháo ra để sạc. Tuy nhiên, bạn phải chắc chắn rằng bạn dán pin xuống NGAY LẬP TỨC, vì nếu pin di chuyển xung quanh trong chuyến bay, điều này có thể làm đảo lộn nghiêm trọng sự cân bằng của máy bay không người lái. KHÔNG kết nối pin với PDB.

Bước 6: Kết nối các thành phần lại với nhau và đặt pin (Mega)

Nối dây các thành phần và đặt pin (Mega)
Nối dây các thành phần và đặt pin (Mega)
Nối dây các thành phần và đặt pin (Mega)
Nối dây các thành phần và đặt pin (Mega)
Nối dây các thành phần và đặt pin (Mega)
Nối dây các thành phần và đặt pin (Mega)

Sơ đồ trên được chuẩn bị bằng cách sử dụng phần mềm Fritzing, phần mềm này rất được khuyến khích đặc biệt cho các sơ đồ liên quan đến arduino. Chúng tôi chủ yếu sử dụng các bộ phận chung chung, vì các bộ phận của chúng tôi thường không có trong thư viện bộ phận bao gồm của Fritzing.

-Lưu ý rằng giản đồ này đang giả định một tấm chắn GPS được gắn đúng cách, và do đó GPS không xuất hiện trong giản đồ này.

- Xoay công tắc trên Mega 2560 của bạn thành "Soft Serial".

-Bây giờ nối dây tất cả các thành phần theo sơ đồ trên (ngoại trừ pin!)

-Lưu ý rằng bạn đã nối dây ESC với động cơ và PDB, vậy là xong phần này của giản đồ.

-Các cáp jumper từ Pin 8 đến Rx và Pin 7 đến Tx ở đó bởi vì (không giống như Uno, loại lá chắn này được tạo ra), mega thiếu bộ thu-phát không đồng bộ phổ quát (UART) trên các chân 7 và 8, và do đó chúng ta phải sử dụng các chân nối tiếp phần cứng. Có nhiều lý do khác mà chúng ta cần các chân nối tiếp phần cứng, sẽ được thảo luận ở phần sau.

-Khi đấu dây bộ thu RC, hãy tham khảo hình trên. Quan sát rằng các dây dữ liệu đi vào hàng trên cùng, trong khi Vin và Gnd lần lượt nằm trên hàng thứ hai và thứ ba (và trên cột ghim từ thứ hai đến xa nhất).

-Để đấu dây cho bộ thu phát HC-12, bộ thu RC và đầu ra 5V từ PDB đến Vin của Arduino, chúng tôi đã sử dụng các đầu cắm có thể xếp chồng lên nhau, trong khi đối với con quay hồi chuyển, chúng tôi hàn dây trực tiếp và sử dụng ống co nhiệt xung quanh vật hàn. Bạn có thể chọn làm cho bất kỳ thành phần nào. Việc sử dụng tiêu đề sẽ tốn ít công sức hơn trước, nhưng mang lại sự linh hoạt hơn. Hàn dây trực tiếp là một kết nối an toàn hơn về lâu dài, nhưng có nghĩa là việc sử dụng thành phần đó trên một dự án khác sẽ khó hơn. Lưu ý rằng nếu bạn đã sử dụng các tiêu đề trên tấm chắn GPS, bạn vẫn có một mức độ linh hoạt tốt bất kể bạn làm gì.

Vào cuối dự án của chúng tôi, chúng tôi không thể thiết kế một phương pháp tốt để gắn tất cả các thành phần của chúng tôi vào khung. Do áp lực về thời gian của lớp học, các giải pháp của chúng tôi thường xoay quanh băng dính xốp hai mặt, băng keo, băng dính điện và dây buộc zip. Chúng tôi thực sự khuyên bạn nên dành nhiều thời gian hơn để thiết kế các cấu trúc gắn kết ổn định nếu bạn dự định đây là một dự án dài hạn. Với tất cả những gì đã nói, nếu bạn chỉ muốn tạo một nguyên mẫu nhanh, hãy làm theo quy trình của chúng tôi. Tuy nhiên, hãy đảm bảo rằng con quay hồi chuyển được gắn chắc chắn. Đây là cách duy nhất Arduino biết quadcopter đang làm gì, vì vậy nếu nó di chuyển trong chuyến bay, bạn sẽ gặp vấn đề.

Với mọi thứ đã được kết nối và vào đúng vị trí, hãy lấy pin LiPo của bạn và trượt nó vào giữa các tấm trên và dưới của khung. Đảm bảo rằng đầu nối của nó hướng cùng hướng với đầu nối của PDB và chúng có thể kết nối trên thực tế. Chúng tôi đã sử dụng băng keo để giữ pin tại chỗ (băng dán cũng hoạt động, nhưng khó chịu hơn băng keo). Băng keo hoạt động tốt vì người ta có thể dễ dàng thay pin hoặc tháo ra để sạc. Tuy nhiên, bạn phải chắc chắn rằng bạn dán pin xuống NGAY LẬP TỨC, vì nếu pin di chuyển xung quanh trong chuyến bay, điều này có thể làm đảo lộn nghiêm trọng sự cân bằng của máy bay không người lái. KHÔNG kết nối pin với PDB.

Bước 7: Người nhận ràng buộc

Người nhận ràng buộc
Người nhận ràng buộc
Người nhận ràng buộc
Người nhận ràng buộc

Lấy bộ thu RC và tạm thời kết nối nó với nguồn điện 5V (bằng cách cấp nguồn cho Arduino bằng nguồn USB hoặc 9V hoặc bằng nguồn điện riêng. Chưa kết nối LiPo với Arduino). Lấy chốt ràng buộc đi kèm với bộ thu RC và đặt nó vào các chân BIND trên bộ thu. Cách khác, cắt ngắn các ghim trên và dưới trong cột BIND như trong hình trên. Đèn đỏ sẽ nhấp nháy nhanh trên máy thu. Bây giờ lấy bộ điều khiển và nhấn nút ở mặt sau khi nó đang tắt, như hình trên. Khi nhấn nút, bật bộ điều khiển. Bây giờ đèn nhấp nháy trên bộ thu sẽ chuyển sang trạng thái rắn. Người nhận bị ràng buộc. Tháo cáp ràng buộc. Nếu bạn đang sử dụng nguồn điện khác, hãy kết nối lại đầu thu với nguồn 5V của Arduino.

Bước 8: (Tùy chọn) Kết nối dây với nhau và gắn hệ thống camera FPV

(Tùy chọn) Kết nối dây với nhau và gắn hệ thống camera FPV
(Tùy chọn) Kết nối dây với nhau và gắn hệ thống camera FPV
(Tùy chọn) Kết nối dây với nhau và gắn hệ thống camera FPV
(Tùy chọn) Kết nối dây với nhau và gắn hệ thống camera FPV

Đầu tiên, hàn bộ chuyển đổi XT-60 với dây nguồn và dây nối đất trên màn hình. Những thứ này có thể khác nhau giữa các màn hình, nhưng nguồn điện hầu như luôn có màu đỏ, mặt đất hầu như luôn có màu đen. Bây giờ, hãy lắp bộ chuyển đổi có dây hàn vào LiPo 1000mAh của bạn bằng phích cắm XT-60. Màn hình sẽ bật với (thường) nền xanh lam. Đó là bước khó nhất!

Bây giờ vặn các ăng-ten trên bộ thu và bộ phát của bạn.

Kết nối Lipo 500mAh nhỏ của bạn với bộ phát. Chân ngoài cùng bên phải (ngay bên dưới ăng-ten) là chân nối đất (V_) của pin, chân tiếp theo bên trái là V +. Họ đi đến ba dây dẫn đến máy ảnh. Máy ảnh của bạn phải đi kèm với phích cắm ba trong một phù hợp với bộ phát. Đảm bảo rằng bạn có dây dữ liệu màu vàng ở giữa. Nếu bạn đã sử dụng pin mà chúng tôi đã liên kết với phích cắm dành cho việc này, thì bước này sẽ không yêu cầu bất kỳ mối hàn nào.

Cuối cùng, nối dây pin 1000mAh khác của bạn bằng dây ra DC đi kèm với bộ thu của bạn và lần lượt cắm nó vào cổng DC trên bộ thu của bạn. Cuối cùng, kết nối đầu màu đen của cáp AVin đi kèm với đầu thu của bạn với cổng AVin trên đầu thu của bạn và đầu còn lại (màu vàng, cái) với đầu đực màu vàng của cáp AVin trên màn hình của bạn.

Tại thời điểm này, bạn sẽ có thể xem chế độ xem camera trên màn hình. Nếu bạn không thể, hãy đảm bảo rằng cả bộ thu và bộ phát đều đang bật (bạn sẽ thấy các số trên màn hình nhỏ của chúng) và chúng ở trên cùng một kênh (chúng tôi đã sử dụng kênh 11 cho cả hai và đã thành công tốt đẹp). Hơn nữa, bạn có thể cần phải thay đổi kênh trên màn hình.

Gắn các thành phần trên khung.

Khi bạn đã thiết lập hoạt động, hãy rút pin cho đến khi bạn sẵn sàng bay.

Bước 9: Thiết lập tiếp nhận dữ liệu GPS

Thiết lập tiếp nhận dữ liệu GPS
Thiết lập tiếp nhận dữ liệu GPS
Thiết lập tiếp nhận dữ liệu GPS
Thiết lập tiếp nhận dữ liệu GPS

Kết nối Arduino thứ hai của bạn với bộ thu phát HC-12 thứ hai của bạn như hiển thị trong sơ đồ trên, hãy nhớ rằng thiết lập sẽ chỉ được cấp nguồn như hiển thị nếu được cắm vào máy tính. Tải xuống mã thu phát được cung cấp, mở màn hình nối tiếp của bạn lên 9600 baud.

Nếu sử dụng thiết lập cơ bản hơn, bạn sẽ bắt đầu nhận được các câu GPS nếu tấm chắn GPS của bạn được cấp nguồn và kết nối đúng cách với bộ thu phát HC-12 khác (và nếu công tắc trên tấm chắn đang ở chế độ "Ghi trực tiếp").

Với Mega, hãy đảm bảo nút chuyển ở chế độ "Nối tiếp mềm".

Bước 10: Thực hiện Mã cài đặt (Uno)

Mã này giống với mã được Joop Brokking sử dụng trong hướng dẫn quadcopter Arduino của mình và anh ấy xứng đáng nhận được tất cả sự ghi nhận cho việc viết ra nó.

Khi pin đã ngắt kết nối, hãy sử dụng dây USB để kết nối máy tính của bạn với Arduino và tải lên Mã cài đặt kèm theo. Bật bộ phát RC của bạn. Mở màn hình nối tiếp của bạn lên 57600 baud và làm theo lời nhắc.

Lỗi thông thường:

Nếu mã không tải lên được, hãy đảm bảo rằng chân 0 và 1 đã được cắm trên tấm chắn UNO / GPS. Đây là cùng một cổng phần cứng mà thiết bị sử dụng để giao tiếp với máy tính, vì vậy nó phải miễn phí.

Nếu mã bỏ qua nhiều bước cùng một lúc, hãy kiểm tra xem công tắc GPS của bạn có bật "Ghi trực tiếp" hay không.

Nếu không phát hiện thấy bộ thu nào, hãy đảm bảo rằng có đèn đỏ (nhưng mờ) trên bộ thu của bạn khi bộ phát đang bật. Nếu vậy, hãy kiểm tra hệ thống dây điện.

Nếu không có con quay hồi chuyển nào được phát hiện, điều này có thể là do con quay hồi chuyển bị hỏng hoặc nếu bạn có một loại con quay hồi chuyển khác mà mã được thiết kế để ghi vào.

Bước 11: Thực hiện Mã cài đặt (Mega)

Mã này giống với mã được Joop Brokking sử dụng trong hướng dẫn quadcopter Arduino của mình và anh ấy xứng đáng nhận được tất cả sự ghi nhận cho việc viết ra nó. Chúng tôi chỉ đơn giản là điều chỉnh hệ thống dây cho Mega để các đầu vào máy thu tương ứng với các chân Ngắt Thay đổi Pin chính xác.

Khi pin đã ngắt kết nối, hãy sử dụng dây USB để kết nối máy tính của bạn với Arduino và tải lên Mã cài đặt kèm theo. Mở màn hình nối tiếp của bạn lên 57600 baud và làm theo lời nhắc.

Bước 12: Hiệu chỉnh ESC (Uno)

Một lần nữa, mã này giống với mã của Joop Brokking. Tất cả các sửa đổi được thực hiện trong nỗ lực tích hợp GPS và Arduino và có thể được tìm thấy sau này, trong phần mô tả cấu tạo của quadcopter tiên tiến hơn.

Tải lên mã hiệu chuẩn ESC đính kèm. Trên màn hình nối tiếp, viết chữ 'r' và nhấn trở lại. Bạn sẽ bắt đầu thấy các giá trị bộ điều khiển RC thời gian thực được liệt kê. Xác minh rằng chúng thay đổi từ 1000 đến 2000 trên các cực điểm của ga, cuộn, cao độ và ngáp. Sau đó viết 'a' và nhấn return. Hãy để hiệu chuẩn con quay hồi chuyển, và sau đó xác minh rằng con quay hồi chuyển ghi lại chuyển động của quad. Bây giờ cắm arduino khỏi máy tính, nhấn hết ga trên bộ điều khiển và kết nối pin. Các ESC sẽ phát ra các tiếng bíp khác nhau (nhưng điều này có thể khác nhau tùy thuộc vào ESC và phần sụn của nó). Đẩy hết ga xuống. Các ESC sẽ phát ra những tiếng bíp nhỏ hơn, sau đó im lặng. Rút phích cắm của pin.

Tùy chọn, tại thời điểm này, bạn có thể sử dụng các nón đi kèm với các gói phụ kiện gắn động cơ của bạn để vặn chặt các cánh quạt. Sau đó, nhập các số 1 - 4 trên màn hình nối tiếp để cấp nguồn cho động cơ 1 - 4 tương ứng ở mức công suất thấp nhất. Chương trình sẽ đăng ký số lượng lắc do mất cân đối của đạo cụ. Bạn có thể cố gắng khắc phục điều này bằng cách thêm một lượng nhỏ băng keo dán vào một bên hoặc bên kia của các đạo cụ. Chúng tôi thấy rằng chúng tôi có thể có được chuyến bay tốt mà không cần bước này, nhưng có lẽ hơi kém hiệu quả và ồn ào hơn so với khi chúng tôi cân bằng các đạo cụ.

Bước 13: Hiệu chỉnh ESC (Mega)

Mã này rất giống với mã của Brokking, tuy nhiên chúng tôi đã điều chỉnh nó (và hệ thống dây điện tương ứng) để hoạt động với Mega.

Tải lên mã hiệu chuẩn ESC đính kèm. Trên màn hình nối tiếp, viết chữ cái 'r' và nhấn trở lại. Bạn sẽ bắt đầu thấy các giá trị bộ điều khiển RC thời gian thực được liệt kê. Xác minh rằng chúng thay đổi từ 1000 đến 2000 trên các cực điểm của ga, cuộn, cao độ và ngáp.

Sau đó viết 'a' và nhấn return. Hãy để hiệu chuẩn con quay hồi chuyển, và sau đó xác minh rằng con quay hồi chuyển ghi lại chuyển động của quad.

Bây giờ cắm arduino khỏi máy tính, nhấn hết ga trên bộ điều khiển và kết nối pin. Các ESC sẽ phát ra ba tiếng bíp thấp, sau đó là một tiếng bíp cao (nhưng điều này có thể khác nhau tùy thuộc vào ESC và phần sụn của nó). Đẩy hết ga xuống. Rút phích cắm của pin.

Những thay đổi mà chúng tôi thực hiện đối với mã này là chuyển từ sử dụng PORTD cho các chân ESC sang sử dụng PORTA và sau đó thay đổi các byte được ghi vào các cổng này để chúng tôi kích hoạt các chân thích hợp như được hiển thị trong sơ đồ nối dây. Sự thay đổi này là do các chân thanh ghi PORTD không ở cùng vị trí trên Mega như chúng ở Uno. Chúng tôi không thể kiểm tra đầy đủ mã này vì chúng tôi đang làm việc với một Mega ngoại hình cũ mà cửa hàng của trường chúng tôi có. Điều này có nghĩa là vì một số lý do, không phải tất cả các chân của thanh ghi PORTA đều có thể kích hoạt các ESC đúng cách. Chúng tôi cũng gặp sự cố khi sử dụng toán tử hoặc bằng (| =) trong một số mã thử nghiệm của chúng tôi. Chúng tôi không chắc tại sao điều này lại gây ra sự cố khi ghi các byte để đặt điện áp chân ESC, vì vậy chúng tôi đã sửa đổi mã của Brooking càng ít càng tốt. Chúng tôi nghĩ rằng mã này rất gần với chức năng, nhưng số dặm của bạn có thể thay đổi.

Bước 14: Nhận Airborne !! (Không có)

Và một lần nữa, đoạn mã thứ ba thiên tài này là tác phẩm của Joop Brokking. Các thay đổi đối với cả ba đoạn mã này chỉ hiện diện trong nỗ lực tích hợp dữ liệu GPS vào Arduino của chúng tôi.

Với các chân vịt của bạn được gắn chắc chắn vào khung và tất cả các thành phần được gắn, dán hoặc gắn trên đó, hãy tải mã bộ điều khiển bay vào Arduino của bạn, sau đó rút Arduino ra khỏi máy tính của bạn.

Mang chiếc quadcopter của bạn ra ngoài, cắm pin và bật máy phát của bạn. Theo tùy chọn, hãy mang theo máy tính xách tay được kết nối với thiết lập nhận GPS của bạn cũng như thiết lập và màn hình nhận video của bạn. Tải mã bộ thu phát lên Arduino trên mặt đất của bạn, mở màn hình nối tiếp lên 9600 baud và xem cuộn dữ liệu GPS.

Bây giờ bạn đã sẵn sàng để bay. Nhấn ga xuống và ngáp sang trái để đặt quadcopter, sau đó nhẹ nhàng tăng ga để di chuột. Bắt đầu bằng cách bay thấp xuống mặt đất và trên các bề mặt mềm như cỏ cho đến khi bạn cảm thấy thoải mái.

Xem đoạn video mô phỏng cảnh chúng tôi hào hứng lái máy bay không người lái lần đầu tiên chúng tôi có thể làm cho máy bay không người lái và GPS hoạt động đồng thời.

Bước 15: Nhận Airborne !! (Siêu cấp)

Do lỗi của chúng tôi với mã hiệu chuẩn ESC cho Mega, chúng tôi không bao giờ có thể tạo mã điều khiển chuyến bay cho bảng này. Nếu bạn đã đến thời điểm này, thì tôi tưởng tượng rằng bạn đã ít nhất tìm hiểu mã hiệu chuẩn ESC để làm cho nó hoạt động cho Mega. Do đó, bạn có thể sẽ phải thực hiện các sửa đổi tương tự đối với mã bộ điều khiển chuyến bay như bạn đã thực hiện ở bước cuối cùng. Nếu mã hiệu chuẩn ESC của chúng tôi cho Mega hoạt động một cách kỳ diệu mà không có bất kỳ sửa đổi nào khác, thì chỉ có một số điều bạn phải làm đối với mã chứng khoán để làm cho nó hoạt động cho bước này. Trước tiên, bạn sẽ cần phải xem qua và thay thế tất cả các phiên bản của PORTD bằng PORTA. Ngoài ra, đừng quên thay đổi DDRD thành DDRA. Sau đó, bạn sẽ cần thay đổi tất cả các byte được ghi vào thanh ghi PORTA để chúng kích hoạt các chân thích hợp. Để thực hiện việc này, hãy sử dụng byte B11000011 để đặt các chân ở mức cao và B00111100 để đặt các chân ở mức thấp. Chúc may mắn và vui lòng cho chúng tôi biết nếu bạn bay thành công bằng Mega!

Bước 16: Làm thế nào chúng ta đến được vị trí hiện tại với thiết kế Mega

Dự án này là một trải nghiệm học hỏi tuyệt vời đối với chúng tôi, những người mới bắt đầu sở thích Arduino và điện tử. Do đó, mặc dù chúng tôi sẽ bao gồm câu chuyện về mọi thứ mà chúng tôi gặp phải trong khi cố gắng kích hoạt GPS cho mã của Joop Brokking. Vì mã của Brokking rất kỹ lưỡng và phức tạp hơn nhiều so với bất kỳ thứ gì chúng tôi đang viết, nên chúng tôi quyết định sửa đổi nó càng ít càng tốt. Chúng tôi đã cố gắng để tấm chắn GPS gửi dữ liệu đến Arduino và sau đó để Arduino gửi thông tin đó cho chúng tôi qua bộ thu phát HC12 mà không cần sửa đổi mã chuyến bay hoặc hệ thống dây điện theo bất kỳ cách nào. Sau khi xem xét sơ đồ và hệ thống dây điện của Arduino Uno của chúng tôi để tìm ra những chân cắm nào có sẵn, chúng tôi đã thay đổi mã thu phát GPS mà chúng tôi đang sử dụng để làm việc xung quanh thiết kế hiện có. Sau đó, chúng tôi đã thử nghiệm nó để đảm bảo mọi thứ hoạt động. Tại thời điểm này, mọi thứ dường như đầy hứa hẹn.

Bước tiếp theo là tích hợp mã mà chúng tôi vừa sửa đổi và thử nghiệm với bộ điều khiển chuyến bay của Brokking. Điều này không quá khó, nhưng chúng tôi nhanh chóng gặp lỗi. Bộ điều khiển chuyến bay của Brokking dựa trên thư viện Arduino Wire và EEPROM trong khi mã GPS của chúng tôi đang sử dụng cả thư viện Phần mềm Serial và thư viện Arduino GPS. Vì Thư viện Wire tham chiếu đến thư viện Chuỗi phần mềm, chúng tôi đã gặp lỗi trong đó mã sẽ không biên dịch vì có "nhiều định nghĩa cho _vector 3_", bất kể điều đó có nghĩa là gì. Sau khi tìm kiếm trên Google và tìm hiểu các thư viện, cuối cùng chúng tôi nhận ra rằng xung đột thư viện này khiến chúng tôi không thể sử dụng các đoạn mã này với nhau. Vì vậy, chúng tôi đã tìm kiếm các giải pháp thay thế.

Những gì chúng tôi phát hiện ra là sự kết hợp duy nhất của các thư viện không gây ra lỗi cho chúng tôi là chuyển thư viện GPS tiêu chuẩn sang neoGPS và sau đó sử dụng AltSoftSerial thay vì Software Serial. Tuy nhiên, sự kết hợp này đã hoạt động, AltSoftSerial chỉ có thể hoạt động với các chân cụ thể, không có sẵn trong thiết kế của chúng tôi. Đây là điều dẫn chúng ta đến việc sử dụng Mega. Arduino Megas có nhiều cổng nối tiếp phần cứng, có nghĩa là chúng ta có thể vượt qua xung đột thư viện này bằng cách không cần mở cổng nối tiếp phần mềm.

Tuy nhiên, khi chúng tôi bắt đầu sử dụng Mega, chúng tôi nhanh chóng nhận ra rằng cấu hình pin là khác nhau. Các ghim trên Uno có ngắt thì khác trên Mega. Tương tự, các chân SDA và SCL ở các vị trí khác nhau. Sau khi nghiên cứu sơ đồ chân của từng loại Arduino và cấp nguồn lại các thanh ghi được gọi trong mã, chúng tôi có thể chạy mã thiết lập chuyến bay mà chỉ cần đi dây lại tối thiểu và không có thay đổi phần mềm.

Mã hiệu chuẩn ESC là nơi chúng tôi bắt đầu gặp sự cố. Chúng tôi đã đề cập ngắn gọn về vấn đề này trước đây, nhưng về cơ bản mã sử dụng các thanh ghi chân để điều chỉnh các chân được sử dụng để điều khiển ESC. Điều này làm cho mã khó đọc hơn so với sử dụng hàm pinMode () tiêu chuẩn; tuy nhiên, nó làm cho mã chạy nhanh hơn và kích hoạt các chân đồng thời. Điều này rất quan trọng vì mã chuyến bay chạy trong một vòng lặp được tính giờ cẩn thận. Do sự khác biệt về chân giữa các Arduinos, chúng tôi quyết định sử dụng thanh ghi cổng A trên Mega. Tuy nhiên, trong thử nghiệm của chúng tôi, không phải tất cả các chân đều cho chúng tôi cùng một điện áp đầu ra khi được yêu cầu chạy ở mức cao. Một số chân có đầu ra khoảng 4,90V và những chân khác cho chúng tôi gần 4,95V. Rõ ràng là ESC mà chúng ta có hơi phức tạp, và vì vậy chúng sẽ chỉ hoạt động bình thường khi chúng ta sử dụng các chân có điện áp cao hơn. Sau đó, điều này buộc chúng tôi phải thay đổi các byte mà chúng tôi đã viết để đăng ký A để chúng tôi đang nói chuyện với các chân chính xác. Có thêm thông tin về điều này trong phần hiệu chuẩn ESC.

Đây là chừng mực mà chúng tôi đã nhận được trong phần này của dự án. Khi chúng tôi kiểm tra mã hiệu chuẩn ESC đã sửa đổi này, một cái gì đó đã bị thiếu và chúng tôi mất liên lạc với Arduino của mình. Chúng tôi vô cùng bối rối vì điều này vì chúng tôi đã không thay đổi bất kỳ hệ thống dây điện nào. Điều này buộc chúng tôi phải lùi lại và nhận ra rằng chúng tôi chỉ có vài ngày để có được một chiếc máy bay không người lái sau nhiều tuần cố gắng lắp các mảnh không tương thích của chúng tôi lại với nhau. Đây là lý do tại sao chúng tôi đã kiểm tra lại và tạo ra dự án đơn giản hơn với Uno. Tuy nhiên, chúng tôi vẫn nghĩ rằng cách tiếp cận của chúng tôi gần giống với Mega với ít thời gian hơn.

Mục tiêu của chúng tôi là giải thích về những trở ngại mà chúng tôi gặp phải này sẽ hữu ích cho bạn nếu bạn đang sửa đổi mã của Brokking. Chúng tôi cũng không bao giờ có cơ hội thử mã hóa bất kỳ tính năng điều khiển tự động nào dựa trên GPS. Đây là điều bạn sẽ cần tìm ra sau khi tạo ra một máy bay không người lái hoạt động với Mega. Tuy nhiên, từ một số nghiên cứu sơ bộ của Google, có vẻ như việc triển khai bộ lọc Kalman có thể là cách ổn định và chính xác nhất để xác định vị trí trong chuyến bay. Chúng tôi khuyên bạn nên nghiên cứu một chút về cách thuật toán này tối ưu hóa các ước tính trạng thái. Ngoài ra, chúc bạn may mắn và hãy cho chúng tôi biết nếu bạn tiến xa hơn những gì chúng tôi có thể làm!

Đề xuất: