Mục lục:

Hướng dẫn mà tôi đã mong muốn về việc xây dựng một máy bay không người lái Arduino: 9 bước
Hướng dẫn mà tôi đã mong muốn về việc xây dựng một máy bay không người lái Arduino: 9 bước

Video: Hướng dẫn mà tôi đã mong muốn về việc xây dựng một máy bay không người lái Arduino: 9 bước

Video: Hướng dẫn mà tôi đã mong muốn về việc xây dựng một máy bay không người lái Arduino: 9 bước
Video: Làm Máy Bay Drone Thu Nhỏ Tại Nhà (XÀI NGON) 🚁🔥 2024, Tháng bảy
Anonim
Hướng dẫn mà tôi đã mong muốn về việc xây dựng một máy bay không người lái Arduino
Hướng dẫn mà tôi đã mong muốn về việc xây dựng một máy bay không người lái Arduino

Đây là tài liệu là một loại tài liệu gạch chéo "Cách hướng dẫn" trải qua quá trình mà tôi đã mất để hiểu các khái niệm để đạt được mục tiêu xây dựng một chiếc quadcopter đơn giản mà tôi có thể điều khiển từ điện thoại di động của mình.

Để thực hiện dự án này, tôi muốn có một ý tưởng về máy bay không người lái thực sự là gì, trong trường hợp của tôi là một chiếc quadcopter, vì vậy tôi bắt đầu thực hiện một số nghiên cứu. Tôi đã xem rất nhiều video trên YouTube, đọc rất nhiều bài báo và các trang Insructible và đây là những gì tôi nhận được.

Về cơ bản, bạn có thể chia máy bay không người lái thành hai phần. Tôi gọi nó là “Vật lý” và “Bộ điều khiển”. Vật lý về cơ bản là tất cả mọi thứ liên quan đến cơ chế làm cho máy bay không người lái bay. Đó là những thứ như động cơ, khung, pin, cánh quạt và mọi thứ khác mang lại khả năng bay cho máy bay không người lái.

Bộ điều khiển thực chất là bộ điều khiển chuyến bay. Điều gì kiểm soát vật lý để máy bay không người lái có thể bay như một đơn vị nguyên vẹn mà không bị rơi. Về cơ bản là bộ vi điều khiển, phần mềm trên đó và các cảm biến giúp nó định vị vòng bi của nó. Vì vậy, để có một máy bay không người lái, tôi cần một Bộ điều khiển và một loạt các bộ phận vật lý để bộ điều khiển 'điều khiển'.

Quân nhu

Ngân sách cho dự án: $ 250

Khung thời gian: 2 tuần

Thứ để mua:

  • Khung vật lý $ 20
  • Lưỡi dao $ 0 (Đi kèm với khung)
  • Bộ pin $ 25
  • ESC (Bộ điều khiển tốc độ điện tử) $ 0 (Đi kèm với động cơ)
  • Động cơ $ 70

Bộ điều khiển chuyến bay

  • Arduino nano $ 20
  • Cáp USB Arduino $ 2
  • Mô-đun Bluetooth (HC-05) $ 8
  • LED 3mm và điện trở và dây 330 Ohm $ 13
  • GY-87 (Gia tốc kế, Con quay hồi chuyển) $ 5
  • Bảng nguyên mẫu $ 10
  • Tiêu đề Nam và Nữ $ 5

Khác

  • Bộ hàn $ 10
  • Đồng hồ vạn năng $ 20

Tôi muốn tận hưởng việc xây dựng dự án này với tư cách là một Kỹ sư, vì vậy tôi đã mua một số thứ khác mà tôi không cần phải làm.

Tổng: $ 208

Bước 1: Kinh nghiệm ban đầu của tôi

Sau khi mua tất cả các thành phần của mình, tôi tập hợp tất cả lại với nhau và sau đó cố gắng khởi chạy máy bay không người lái, sử dụng Multiwii (một phần mềm mà rất nhiều cộng đồng máy bay không người lái tự làm sử dụng), tuy nhiên, tôi nhanh chóng nhận ra rằng tôi không hiểu hết những gì mình đang làm vì có rất nhiều lỗi và tôi không biết làm thế nào để sửa chúng.

Sau đó, tôi quyết định tách chiếc máy bay không người lái ra và hiểu từng thành phần từng mảnh và xây dựng lại nó theo cách mà tôi hoàn toàn hiểu được mọi thứ đang diễn ra.

Trong phần sau, tôi sẽ xem xét quá trình ghép các câu đố lại với nhau. Trước đó, chúng ta hãy tìm hiểu tổng quan.

Vật lý

Đối với vật lý, chúng ta nên có: khung, cánh quạt, pin và escs. Chúng sẽ khá dễ dàng để ghép lại với nhau. Để hiểu những phần này và những phần nào bạn nên lấy, bạn có thể truy cập liên kết này. Anh ấy giải thích những gì bạn cần biết về việc mua từng bộ phận mà tôi đã liệt kê. Cũng xem video Youtube này. Nó sẽ giúp bạn nếu bạn đang gặp khó khăn trong việc nối các bộ phận lại với nhau.

Bước 2: Mẹo về cách ghép và gỡ lỗi các bộ phận vật lý

Mẹo về cách ghép và gỡ lỗi các bộ phận vật lý
Mẹo về cách ghép và gỡ lỗi các bộ phận vật lý

Cánh quạt và động cơ

  • Để kiểm tra xem các cánh quạt của bạn có đúng hướng (Lật hay không), khi bạn quay chúng theo hướng được chỉ định bởi động cơ (hầu hết các động cơ đều có mũi tên chỉ cách chúng quay), bạn sẽ cảm thấy dễ dàng dưới cánh quạt chứ không phải ở trên.
  • Các vít trên các cánh quạt đối diện phải cùng màu.
  • Màu sắc của các cánh quạt liền kề phải giống nhau.
  • Ngoài ra, hãy đảm bảo rằng bạn đã sắp xếp các động cơ theo cách chúng quay giống như trong hình trên.
  • Nếu bạn đang cố gắng lật hướng của động cơ, chỉ cần hoán đổi dây ở hai đầu đối diện. Điều này sẽ đảo ngược hướng của động cơ.

Pin và nguồn

  • Nếu vì bất kỳ lý do gì mà mọi thứ đang bùng phát và bạn không thể tìm ra lý do tại sao, rất có thể là do bạn đã hoán đổi vị trí tích cực và tiêu cực.
  • Nếu bạn không chắc chắn khi nào nên sạc pin, bạn có thể sử dụng vôn kế để kiểm tra điện áp. Nếu nó thấp hơn thông số trên pin, thì nó cần được sạc. Kiểm tra liên kết này khi sạc pin của bạn.
  • Hầu hết pin LIPO không đi kèm với bộ sạc pin. Bạn mua chúng một cách riêng biệt.

Bước 3: Bộ điều khiển Arduino

Bộ điều khiển Arduino
Bộ điều khiển Arduino

Đây chắc chắn là phần khó nhất của toàn bộ dự án này. Rất dễ làm nổ các thành phần và việc gỡ lỗi có thể cực kỳ khó chịu nếu bạn không biết mình đang làm gì. Cũng trong dự án này, tôi đã điều khiển máy bay không người lái của mình bằng bluetooth và một ứng dụng mà tôi sẽ chỉ cho bạn cách xây dựng. Điều này làm cho dự án trở nên đặc biệt khó khăn hơn vì 99% các hướng dẫn trên mạng sử dụng bộ điều khiển vô tuyến (đây không phải là sự thật lol), nhưng đừng lo lắng, tôi đã trải qua sự thất vọng cho bạn.

Lời khuyên trước khi bạn bắt đầu cuộc hành trình này

  • Sử dụng breadboard trước khi bạn hoàn thiện thiết bị của mình trên PCB. Điều này cho phép bạn thực hiện các thay đổi dễ dàng.
  • Nếu bạn đã thử nghiệm rộng rãi một thành phần và nó không hoạt động, có thể nó không hoạt động!
  • Nhìn vào điện áp mà một thiết bị có thể xử lý trước khi bạn cắm nó vào!

    • Arduino có thể xử lý 6 đến 20V, nhưng hãy cố gắng đặt nó ở mức 12V để bạn không làm nổ nó. Bạn có thể đọc thêm về thông số kỹ thuật của nó ở đây.
    • HC-05 có thể xử lý lên đến 5V nhưng một số chân hoạt động ở 3.3V vì vậy hãy chú ý điều đó. Chúng ta sẽ nói về nó sau.
    • IMU (GY-521, MPU-6050) cũng hoạt động ở 5V.
  • Chúng tôi sẽ sử dụng RemoteXY để xây dựng ứng dụng của mình. Nếu bạn muốn xây dựng nó trên thiết bị iOS, bạn cần sử dụng mô-đun bluetooth khác (HM-10). Bạn có thể tìm hiểu thêm về điều này trên trang web RemoteXY.

Hy vọng rằng bạn đã đọc các thủ thuật. Bây giờ chúng ta hãy kiểm tra từng thành phần sẽ là một phần của bộ điều khiển riêng biệt.

Bước 4: MPU-6050

MPU-6050
MPU-6050

Thiết bị này có một con quay hồi chuyển và một gia tốc kế, vì vậy về cơ bản, nó cho bạn biết gia tốc theo một hướng (X, Y, Z) và gia tốc góc dọc theo các hướng đó.

Để kiểm tra điều này, chúng ta có thể sử dụng hướng dẫn về điều này, chúng ta có thể sử dụng hướng dẫn này trên trang web Arduino. Nếu nó hoạt động, bạn sẽ nhận được một luồng giá trị gia tốc kế và con quay hồi chuyển thay đổi khi bạn nghiêng, xoay và tăng tốc thiết lập. Ngoài ra, hãy cố gắng tinh chỉnh và thao tác mã để bạn biết điều gì đang xảy ra.

Bước 5: Mô-đun Bluetooth HC-05

Mô-đun Bluetooth HC-05
Mô-đun Bluetooth HC-05
Mô-đun Bluetooth HC-05
Mô-đun Bluetooth HC-05
Mô-đun Bluetooth HC-05
Mô-đun Bluetooth HC-05

Bạn không phải làm phần này nhưng điều quan trọng là có thể chuyển đến chế độ AT (chế độ cài đặt) vì bạn rất có thể sẽ phải thay đổi một trong các cài đặt của mô-đun. Đây là một trong những phần khó chịu nhất về dự án này. Tôi đã nghiên cứu rất nhiều để tìm ra cách đưa mô-đun của mình vào chế độ AT, bởi vì thiết bị của tôi không phản hồi các lệnh của tôi. Tôi đã mất 2 ngày để kết luận rằng mô-đun của tôi đã bị hỏng. Tôi đã đặt hàng cho một cái khác và nó đã hoạt động. Hãy xem hướng dẫn này để vào chế độ AT.

HC-05 có nhiều loại khác nhau, một số có nút bấm và một số không có và tất cả các loại biến thiết kế. Một điều không thay đổi là tất cả chúng đều có "Pin 34". Kiểm tra hướng dẫn này.

Những điều bạn nên biết

  • Để chuyển sang chế độ AT, chỉ cần giữ 5V đến chân 34 của mô-đun bluetooth trước khi bạn kết nối nguồn với nó.
  • Kết nối bộ chia tiềm năng với chân RX của mô-đun vì nó hoạt động trên 3.3V. Bạn vẫn có thể sử dụng nó ở 5V nhưng nó có thể làm hỏng chân cắm đó nếu có sự cố.
  • Nếu bạn sử dụng Pin 34 (thay vì nút hoặc một số cách khác mà bạn tìm thấy trực tuyến), mô-đun sẽ đặt tốc độ truyền của bluetooth thành 38400. Đó là lý do tại sao trong liên kết cho hướng dẫn ở trên có một dòng trong mã cho biết:

BTSerial.begin (38400); // Tốc độ mặc định HC-05 trong lệnh AT more

Nếu mô-đun vẫn không phản hồi với "OK", hãy thử chuyển các chân tx và rx. Nó phải là:

Bluetooth => Arduino

RXD => TX1

TDX => RX0

Nếu vẫn không được, hãy chọn thay đổi các chân trong mã thành các chân Arduino khác. Kiểm tra, nếu nó không hoạt động, hãy hoán đổi chân tx và rx, sau đó kiểm tra lại

SoftwareSerial BTSerial (10, 11); // RX | TX

Thay đổi dòng trên. Bạn có thể thử RX = 2, TX = 3 hoặc bất kỳ kết hợp hợp lệ nào khác. Bạn có thể nhìn vào số pin Arduino trong hình trên.

Bước 6: Kết nối các bộ phận

Kết nối các bộ phận
Kết nối các bộ phận

Bây giờ chúng tôi chắc chắn rằng mọi thứ đều hoạt động, đã đến lúc bắt đầu kết hợp chúng lại với nhau. Bạn có thể kết nối các bộ phận giống như được hiển thị trong mạch. Tôi nhận được điều đó từ Electronoobs. Anh ấy thực sự đã giúp tôi với dự án này. Kiểm tra phiên bản dự án của anh ấy tại đây. Nếu bạn đang làm theo hướng dẫn này, bạn không phải lo lắng về các kết nối bộ thu: input_Yaw, input_Pitch, v.v. Tất cả điều đó sẽ được xử lý với bluetooth. Ngoài ra, kết nối bluetooth như cách chúng ta đã làm ở phần trước. Các chân tx và rx của tôi đã gây cho tôi một chút rắc rối, vì vậy tôi đã sử dụng Arduino's:

RX là 2 và TX là 3, thay vì các chân thông thường. Tiếp theo, chúng tôi sẽ viết một ứng dụng đơn giản mà chúng tôi sẽ tiếp tục cải tiến cho đến khi có sản phẩm cuối cùng.

Bước 7: Vẻ đẹp của RemoteXY

Vẻ đẹp của RemoteXY
Vẻ đẹp của RemoteXY

Trong thời gian dài nhất, tôi đã nghĩ đến một cách dễ dàng để xây dựng một ứng dụng Từ xa có thể sử dụng được cho phép tôi điều khiển máy bay không người lái. Hầu hết mọi người đều sử dụng MIT App Inventor, nhưng giao diện người dùng không đẹp như tôi mong muốn và tôi cũng không phải là người thích lập trình bằng hình ảnh. Tôi có thể đã thiết kế nó bằng Android Studio nhưng đó sẽ là quá nhiều công việc. Tôi đã rất vui mừng khi tôi tìm thấy một hướng dẫn sử dụng RemoteXY. Đây là liên kết đến trang web. Nó cực kỳ dễ sử dụng và tài liệu rất tốt. Chúng tôi sẽ tạo một giao diện người dùng đơn giản cho máy bay không người lái của mình. Bạn có thể tùy chỉnh của bạn theo cách bạn muốn. Chỉ cần chắc chắn rằng bạn biết những gì bạn đang làm. Làm theo hướng dẫn tại đây.

Sau khi bạn hoàn thành, chúng tôi sẽ chỉnh sửa mã để chúng tôi có thể thay đổi van tiết lưu trên máy photocopy của chúng tôi. Thêm các dòng có / **** Nội dung bạn nên làm và lý do tại sao *** / vào mã của bạn.

Nếu nó không được biên dịch, hãy đảm bảo rằng bạn đã tải xuống thư viện. Cũng mở một bản phác thảo ví dụ và so sánh những gì nó có mà của bạn không.

////////////////////////////////////////////////////// RemoteXY bao gồm thư viện // /////////////////////////////////////////////

// RemoteXY chọn chế độ kết nối và bao gồm thư viện

#define REMOTEXY_MODE_HC05_SOFTSERIAL

#include #include #include

// Cài đặt kết nối RemoteXY

# xác định REMOTEXY_SERIAL_RX 2 # xác định REMOTEXY_SERIAL_TX 3 # xác định REMOTEXY_SERIAL_SPEED 9600

// Cánh quạt

Servo L_F_prop; Servo L_B_prop; Servo R_F_prop; Servo R_B_prop;

// Cấu hình RemoteXY

#pragma pack (push, 1) uint8_t RemoteXY_CONF = {255, 3, 0, 0, 0, 61, 0, 8, 13, 0, 5, 0, 49, 15, 43, 43, 2, 26, 31, 4, 0, 12, 11, 8, 47, 2, 26, 129, 0, 11, 8, 11, 3, 17, 84, 104, 114, 111, 116, 116, 108, 101, 0, 129, 0, 66, 10, 7, 3, 17, 80, 105, 116, 99, 104, 0, 129, 0, 41, 34, 6, 3, 17, 82, 111, 108, 108, 0}; // cấu trúc này xác định tất cả các biến trong cấu trúc giao diện điều khiển của bạn {

// biến đầu vào

int8_t Joystick_x; // -100..100 vị trí cần điều khiển tọa độ x int8_t Joystick_y; // -100..100 vị trí cần điều khiển tọa độ y int8_t ThrottleSlider; // 0..100 vị trí thanh trượt

// biến khác

uint8_t connect_flag; // = 1 nếu kết nối dây, else = 0

} RemoteXY;

#pragma pack (pop)

/////////////////////////////////////////////

// KẾT THÚC RemoteXY bao gồm // /////////////////////////////////////////////// /

/ ********** Thêm dòng này để giữ giá trị bướm ga ************** /

int input_THROTTLE;

void setup () {

RemoteXY_Init ();

/ ********** Gắn động cơ vào Ghim Thay đổi các giá trị để phù hợp với của bạn ************** /

L_F_prop.attach (4); // động cơ phía trước bên trái

L_B_prop.attach (5); // động cơ quay lại bên trái R_F_prop.attach (7); // động cơ phía trước bên phải R_B_prop.attach (6); // động cơ quay lại bên phải

/ ************* Ngăn esc vào chế độ lập trình ******************** /

L_F_prop.writeMicroseconds (1000); L_B_prop.writeMicroseconds (1000); R_F_prop.writeMicroseconds (1000); R_B_prop.writeMicroseconds (1000); chậm trễ (1000);

}

void loop () {

RemoteXY_Handler ();

/ ****** Ánh xạ giá trị bướm ga bạn nhận được từ ứng dụng với 1000 và 2000, đây là những giá trị mà hầu hết các ESC hoạt động tại ********* /

input_THROTTLE = map (RemoteXY. ThrottleSlider, 0, 100, 1000, 2000);

L_F_prop.writeMicroseconds (input_THROTTLE);

L_B_prop.writeMicroseconds (input_THROTTLE); R_F_prop.writeMicroseconds (input_THROTTLE); R_B_prop.writeMicroseconds (input_THROTTLE); }

Bước 8: Kiểm tra

Nếu bạn đã làm đúng mọi thứ, bạn sẽ có thể kiểm tra máy copter của mình bằng cách trượt ga lên và xuống. Hãy chắc chắn rằng bạn làm điều này bên ngoài. Cũng đừng để các cánh quạt luôn bật vì điều đó sẽ làm cho copter nhảy. Chúng tôi vẫn chưa viết mã để cân bằng nó, vì vậy sẽ là một Ý TƯỞNG XẤU ĐỂ KIỂM TRA ĐIỀU NÀY VỚI CÁC NHÀ SẢN XUẤT TRÊN! Tôi chỉ làm điều này vì lmao.

Cuộc biểu tình chỉ để cho thấy rằng chúng ta sẽ có thể kiểm soát bướm ga từ ứng dụng. Bạn sẽ nhận thấy rằng các động cơ bị nói lắp. Điều này là do các ESC chưa được hiệu chuẩn. Để làm điều này, hãy xem hướng dẫn trên trang Github này. Đọc hướng dẫn, mở tệp ESC-Calibration.ino và làm theo các hướng dẫn đó. Nếu bạn muốn hiểu chuyện gì đang xảy ra, hãy xem hướng dẫn này của Electronoobs.

Trong khi bạn đang chạy chương trình, hãy chắc chắn rằng bạn buộc máy bay không người lái bằng dây vì nó sẽ hoạt động hết mức. Đồng thời đảm bảo rằng các cánh quạt không được bật. Tôi chỉ để lại của tôi vì tôi điên một nửa. ĐỪNG ĐỂ LẠI NHÀ SẢN XUẤT CỦA BẠN VÀO !!! Cuộc biểu tình này được hiển thị trong video thứ hai.

Bước 9: Tôi đang làm việc trên mã. Sẽ hoàn thành bài hướng dẫn sau vài ngày

Tôi chỉ muốn nói thêm rằng nếu bạn đang sử dụng hướng dẫn này và chờ đợi tôi, tôi vẫn đang làm việc với nó. Chỉ là những thứ khác trong cuộc sống của tôi mà tôi cũng đang làm, nhưng đừng lo, tôi sẽ đăng nó sớm. Giả sử chậm nhất là vào ngày 10 tháng 8 năm 2019.

Cập nhật ngày 10 tháng 8: Không muốn để bạn bị treo. Thật không may, tôi đã không có thời gian để làm việc cho dự án trong tuần qua. Đã rất bận rộn với những việc khác. Tôi không muốn dẫn bạn về. Hy vọng rằng tôi sẽ hoàn thành hướng dẫn trong tương lai gần. Nếu có thắc mắc hay cần trợ giúp gì bạn có thể comment bên dưới mình sẽ liên hệ lại với bạn.

Đề xuất: