Mục lục:
- Quân nhu
- Bước 1: Kinh nghiệm ban đầu của tôi
- Bước 2: Mẹo về cách ghép và gỡ lỗi các bộ phận vật lý
- Bước 3: Bộ điều khiển Arduino
- Bước 4: MPU-6050
- Bước 5: Mô-đun Bluetooth HC-05
- Bước 6: Kết nối các bộ phận
- Bước 7: Vẻ đẹp của RemoteXY
- Bước 8: Kiểm tra
- 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
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
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:32
Đâ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ý
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
Đâ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
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
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
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
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:
Theo dõi tôi - Hướng dẫn sử dụng máy bay không người lái thông minh Raspberry Pi: 9 bước
Theo tôi - Hướng dẫn sử dụng máy bay không người lái thông minh Raspberry Pi: Bạn luôn tự hỏi làm thế nào để chế tạo máy bay không người lái từ A-Z? Hướng dẫn này chỉ cho bạn cách thực hiện từng bước một quadcopter 450mm từ việc mua các bộ phận đến thử nghiệm robot trên không của bạn trong chuyến bay đầu tiên. Ngoài ra, với Raspberry Pi và PiCamera, bạn có thể
Mũ không phải mũ - một chiếc mũ dành cho những người không thực sự đội mũ nhưng muốn trải nghiệm đội mũ: 8 bước
Hat Not Hat - một chiếc mũ dành cho những người không thực sự đội mũ, nhưng muốn trải nghiệm đội mũ: Tôi đã luôn ước mình có thể trở thành một người đội mũ, nhưng chưa bao giờ tìm thấy một chiếc mũ phù hợp với mình. Cái này " Mũ Không phải Mũ, " hay người mê hoặc như nó được gọi là một giải pháp thượng thừa cho vấn đề mũ của tôi, trong đó tôi có thể tham dự Kentucky Derby, chân không
Sửa một máy bay không người lái bị rơi, một số vấn đề.: 4 bước
Sửa chữa một chiếc máy bay không người lái bị đâm, một số vấn đề: Xin chào, đây là DJI Spark có tên Little Big Red Beard. Anh ta trong hình dạng thô ráp, anh ta đã đi đến thùng rác trước khi tôi giải cứu anh ta. Vụ va chạm cuối cùng của LBRB dẫn đến gãy chân và ai biết được điều gì khác. Đây là cuộc hành trình tẻ nhạt của tôi để giữ cho Little Big Big Red Beard
Hướng dẫn cho người mới bắt đầu để Đua máy bay không người lái FPV Quadcopter: 16 bước
Hướng dẫn cho người mới bắt đầu FPV Quadcopter Drone Racing: Nếu bạn đã xem qua bài viết này, bạn (hy vọng) quan tâm đến hiện tượng mới này được gọi là FPV bay. Thế giới FPV là một thế giới đầy những khả năng và một khi bạn vượt qua được quá trình đôi khi khó chịu là xây dựng / bay một chiếc FPV dron
Một người hâm mộ cho bất cứ điều gì bạn có thể mong muốn hơn: 4 bước
Một người hâm mộ cho Dù bạn có thể mong muốn: Được rồi, đã đến lúc trở thành người hâm mộ, bạn có thể làm điều đó cho bất cứ điều gì bạn muốn. những bộ phận bạn có thể cần là Động cơ mạnh nhất mà bạn có thể nhận được …. Chà … Tất nhiên là trong giới hạn quạt …. (và giới hạn quạt cho động cơ ô tô arnt, những động cơ quạt thổi bay khổng lồ đó thì đúng hơn.