สารบัญ:

ArDrone 2.0 Quadcopter Control Unit บนโมดูล MPU6050 และ ESP8266: 7 ขั้นตอน
ArDrone 2.0 Quadcopter Control Unit บนโมดูล MPU6050 และ ESP8266: 7 ขั้นตอน

วีดีโอ: ArDrone 2.0 Quadcopter Control Unit บนโมดูล MPU6050 และ ESP8266: 7 ขั้นตอน

วีดีโอ: ArDrone 2.0 Quadcopter Control Unit บนโมดูล MPU6050 และ ESP8266: 7 ขั้นตอน
วีดีโอ: สอนสร้าง QUADCOPTER ด้วยตนเอง ตอนที่ 4 2024, กรกฎาคม
Anonim
Image
Image
การเชื่อมต่อ ESP8266 กับ Ar Drone 2.0 Access Point
การเชื่อมต่อ ESP8266 กับ Ar Drone 2.0 Access Point

ขนาด ราคา และความพร้อมใช้งานของ Wi-Fi ช่วยให้คุณสร้างหน่วยควบคุมงบประมาณสำหรับ Quadrocopter ArDrone 2.0 บนโมดูล ESP8266 (ราคาใน AliExpress, Gearbest) สำหรับการควบคุม เราจะใช้โมดูล Gy-521 บนชิป MPU6050 (ไจโรสโคป มาตรความเร่ง)

นกแก้ว AR โดรนเป็นเฮลิคอปเตอร์สี่ใบพัดที่ควบคุมด้วยวิทยุ นั่นคือเฮลิคอปเตอร์ที่มีโรเตอร์หลักสี่ตัววางอยู่บนคานทแยงมุมระยะไกล เออาร์. Drone ทำงานบนระบบปฏิบัติการ Linux และสมาร์ทโฟนหรือแท็บเล็ตหน้าจอสัมผัส Android หรือ iOS เกือบทั้งหมดสามารถทำหน้าที่เป็นรีโมทคอนโทรลสำหรับ quadcopter ระยะห่างของการควบคุม Wi-Fi ที่เสถียรคือ 25 ถึง 100 เมตร และขึ้นอยู่กับห้องและสภาพอากาศ หากเที่ยวบินเกิดขึ้นบนถนน

ขั้นตอนที่ 1: เชื่อมต่อ ESP8266 กับ Ar Drone 2.0 Access Point

เมื่อเปิดใช้งาน AR Drone สร้างจุดเชื่อมต่อ SSIS "ardrone_XX_XX" เชื่อมต่อโดยไม่ต้องใช้รหัสผ่าน

มาลองเชื่อมต่อกับจุดเข้าใช้งาน Ar. Dron โดยใช้คำสั่ง AT เชื่อมต่อการ์ด ESP8266 กับพอร์ต com ของคอมพิวเตอร์ผ่านแหล่งจ่ายไฟอะแดปเตอร์ UART USB 3.3 V.

เปิด Arduino IDE มอนิเตอร์พอร์ตอนุกรมและส่งคำสั่ง AT ไปยังบอร์ด ESP (ต้องเปิดใช้งาน quadcopter)

ขั้นตอนที่ 2: การสื่อสารกับ AR โดรนทำงานโดยใช้คำสั่ง AT

คำสั่งจะถูกส่งไปยัง AR โดรนเป็นแพ็กเก็ต UDP หรือ TCP;

แพ็กเก็ต UDP เดียวต้องมีคำสั่งที่สมบูรณ์อย่างน้อยหนึ่งคำสั่งขึ้นไป หากแพ็คเกจมีมากกว่าหนึ่งคำสั่ง อักขระ 0x0A จะถูกใช้เพื่อแยกคำสั่ง

สตริงถูกเข้ารหัสเป็นอักขระ ASCII 8 บิต

ความยาวคำสั่งสูงสุดคือ 1024 อักขระ

มีความล่าช้า 30 MS ระหว่างคำสั่ง

คำสั่งประกอบด้วย

AT * [ชื่อคำสั่ง] = [หมายเลขลำดับคำสั่งเป็นสตริง] [, อาร์กิวเมนต์ 1, อาร์กิวเมนต์ 2 …]

รายการคำสั่ง AT หลักสำหรับการควบคุม AR โดรน:

AT * REF-ใช้สำหรับเครื่องขึ้น ลงจอด รีเซ็ต และหยุดฉุกเฉิน

AT*PCMD-คำสั่งนี้ใช้เพื่อควบคุม AR การเคลื่อนไหวของโดรน

AT*FTRIM - บนระนาบแนวนอน;

AT*CONFIG-การกำหนดค่า AR พารามิเตอร์โดรน

AT*LED ตั้งค่าแอนิเมชั่น LED บน AR เสียงหึ่งๆ;

AT*ANIM ติดตั้งแอนิเมชั่นการบินบน AR โดรน

AT * คำสั่งรีเซ็ต COMWDG-watchdog- เราจะส่งไปยัง quadcopter อย่างต่อเนื่อง

พอร์ตต่อไปนี้ใช้สำหรับการสื่อสาร:

พอร์ต 5556-UDP ส่งคำสั่งไปยัง AR เสียงหึ่งๆ;

พอร์ต 5554-UDP-รับแพ็กเก็ตข้อมูลจาก AR เสียงหึ่งๆ;

พอร์ต 5555- ตอบกลับแพ็คเก็ตวิดีโอจาก AR เสียงหึ่งๆ;

แพ็กเก็ตพอร์ต 5559-TCP สำหรับข้อมูลสำคัญที่ไม่สามารถสูญหายได้ โดยปกติสำหรับการกำหนดค่า

ไคลเอ็นต์ยกเลิกการเชื่อมต่อจากพอร์ต UDP หลังจากหน่วงเวลา 2 วินาทีหลังจากส่งคำสั่งสุดท้าย!!! - ดังนั้น คุณต้องส่งคำสั่งอย่างต่อเนื่อง หากจำเป็น-AT*COMWDG

พิจารณารับข้อมูลการนำทางจาก ARDrone (พอร์ต 5554-UDP) แพ็กเก็ตข้อมูลการนำทางในโหมดสาธิตมีความยาว 500 ไบต์ หากมีสิ่งผิดปกติเกิดขึ้น โดรนสามารถส่งแพ็กเก็ตขนาด 32 และ 24 ไบต์ได้ หากแพ็กเก็ตยาว 24 ไบต์ แสดงว่าพอร์ต 5554 อยู่ในโหมด BOOTSTRAP และคุณต้องเชื่อมต่อกับพอร์ตอีกครั้งเพื่อสลับเป็นโหมดสาธิต ARDrone สามารถส่งข้อมูลการนำทางไปยังไคลเอนต์ได้สองรูปแบบ:

ตัวย่อ (หรือตัวอย่าง) ขนาด 500 ไบต์ เสร็จสิ้น.

ในการรับข้อมูลสาธิต ก่อนอื่นให้ส่งสี่ไบต์ 0x01, 0x00, 0x00, 0x00 ไปยังพอร์ต 5554 แล้วส่งคำสั่งไปที่พอร์ต 5556

AT*CONFIG="+(seq++)+", \"general:navdata_demo\", \" TRUE\" โดยที่ seq คือหมายเลขลำดับของคำสั่ง

โครงสร้างของแพ็คเกจข้อมูลการนำทาง มี 4 ค่าที่ตั้งชื่อไว้ที่จุดเริ่มต้นของแพ็คเกจ:

ส่วนหัวของแพ็กเก็ต 32 บิต: สถานะสถานะเฮลิคอปเตอร์ 32 บิต;

หมายเลขลำดับของคำสั่งสุดท้ายที่ส่งไปยังเฮลิคอปเตอร์โดยไคลเอนต์ 32 บิต;

ธงวิสัยทัศน์ 32 บิต ถัดไป - ตัวเลือก navdata ส่วนหัว: 20-23

ตัวเลือก navdata มีฟิลด์ต่อไปนี้:

แบตเตอรี่ = 24; ประจุแบตเตอรี่เป็นเปอร์เซ็นต์

สนาม = 28; มุมเอียงตามแนวแกนตามยาว

ม้วน = 32; มุมเอียงที่สัมพันธ์กับแกนตามขวาง

YAW = 36; มุมการหมุนสัมพันธ์กับแกนตั้ง

ระดับความสูง = 40; ความสูง;

VX = 44; ความเร็วแกน x;

VY = 48; ความเร็วแกน y;

VZ = 52; ความเร็วบนแกน z

ขั้นตอนที่ 3: การเชื่อมต่อจอแสดงผล Nokia 5110 กับบอร์ด ESP8266

การเชื่อมต่อจอแสดงผล Nokia 5110 กับบอร์ด ESP8266
การเชื่อมต่อจอแสดงผล Nokia 5110 กับบอร์ด ESP8266

เชื่อมต่อจอแสดงผล Nokia 5110 กับโมดูล ESP8266 และส่งข้อมูลการนำทางบางส่วนไปยังจอแสดงผลและไปยังจอภาพพอร์ตอนุกรม

ขั้นตอนที่ 4: รับข้อมูลการนำทางและแสดงบนจอแสดงผล Nokia5110

การรับข้อมูลการนำทางและการแสดงข้อมูลบนจอแสดงผล Nokia5110
การรับข้อมูลการนำทางและการแสดงข้อมูลบนจอแสดงผล Nokia5110

ดาวน์โหลด (sketch ardrone_esp8266_01. ino) และสังเกตเอาต์พุตของข้อมูลการนำทางไปยังพอร์ตอนุกรมและหน้าจอแสดงผล

ขั้นตอนที่ 5: การส่งคำสั่งบินขึ้นและลงจอด

ตอนนี้เราจะเพิ่มการขึ้นและลงของ quadcopter ในโครงการของเราด้วยคำสั่งจากรีโมทคอนโทรล ต้องส่งคำสั่ง

AT*REF=[หมายเลขลำดับ], 290718208

สำหรับการลงจอด

AT*REF=[หมายเลขลำดับ], 290717696

ก่อนเครื่องขึ้น คุณต้องส่งคำสั่งสำหรับการปรับเทียบแนวนอน มิฉะนั้น Ar Drone จะไม่สามารถรักษาเสถียรภาพระหว่างการบินได้

AT * F TRIM=[หมายเลขลำดับ]

อัปโหลดภาพร่าง ardrone_esp8266_02.ino () ไปยังบอร์ด ESP8266 เปิดเครื่อง Ar Drone 2.0 quadcopter และตรวจสอบการทำงานของปุ่ม เมื่อคุณคลิก-บินขึ้น ในครั้งต่อไปที่คุณคลิก – ลงจอด ฯลฯ

ขั้นตอนที่ 6: เชื่อมต่อ MPU6050 เพื่อควบคุม Ardrone 2.0

กำลังเชื่อมต่อ MPU6050 เพื่อควบคุม Ardrone 2.0
กำลังเชื่อมต่อ MPU6050 เพื่อควบคุม Ardrone 2.0
กำลังเชื่อมต่อ MPU6050 เพื่อควบคุม Ardrone 2.0
กำลังเชื่อมต่อ MPU6050 เพื่อควบคุม Ardrone 2.0

เซ็นเซอร์สำหรับกำหนดตำแหน่งในอวกาศใช้สำหรับควบคุมควอดคอปเตอร์ ชิป MPU6050 มีทั้งมาตรความเร่งและไจโรสโคปบนบอร์ด รวมถึงเซ็นเซอร์อุณหภูมิ MPU6050 เป็นองค์ประกอบหลักของโมดูล Gy-531 (รูปที่ 15.44) นอกจากชิปนี้แล้ว บอร์ดโมดูลยังมีการรวม MPU6050 ที่จำเป็น รวมถึงตัวต้านทานแบบดึงขึ้นของอินเทอร์เฟซ I2C เช่นเดียวกับตัวปรับแรงดันไฟฟ้า 3.3 โวลต์ที่มีแรงดันไฟฟ้าตกเล็กน้อย (เมื่อจ่ายไฟที่ 3.3 โวลต์ เอาต์พุตของ โคลงจะเป็น 3 โวลต์พอดี) พร้อมตัวเก็บประจุกรอง

การเชื่อมต่อกับไมโครคอนโทรลเลอร์โดยใช้โปรโตคอล I2C

ขั้นตอนที่ 7: การควบคุม Quadcopter โดยใช้ MPU6050

การควบคุม Quadcopter โดยใช้ MPU6050
การควบคุม Quadcopter โดยใช้ MPU6050

การใช้มาตรความเร่งและไจโรสโคปช่วยให้คุณกำหนดความเบี่ยงเบนบนแกน x และ y ได้ และการเบี่ยงเบน "เปลี่ยน" เป็นคำสั่งสำหรับการเคลื่อนควอดคอปเตอร์ไปตามแกนที่เกี่ยวข้อง การแปลค่าที่อ่านได้จากเซ็นเซอร์เป็นมุมโก่งตัว

คำสั่งส่งให้ Ar Drone เพื่อควบคุมการบิน

AT*REF=[Sequence number], [Flag bit-field], [Roll], [Pitch], [Gaz], [Yaw]

ค่า Roll and Pitch ในช่วง -1 ถึง 1 นำมาจากตาราง const int float ดัชนีจะสอดคล้องกับมุมเบี่ยงเบนที่คำนวณจากข้อมูลเซ็นเซอร์ mu6050

อัปโหลดภาพสเก็ตช์ ardrone_esp8266_03.ino ไปยังบอร์ด ESP8266 เปิดเครื่อง ar Drone 2.0 quadrocopter และตรวจสอบการทำงานของรีโมท

แนะนำ: