Სარჩევი:

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 ნაბიჯი
ვიდეო: SHIELD Controls for Parrot AR.Drone 2.0 - New app, new controls 2024, დეკემბერი
Anonim
Image
Image
ESP8266- ის დაკავშირება Ar Drone 2.0 წვდომის წერტილთან
ESP8266- ის დაკავშირება Ar Drone 2.0 წვდომის წერტილთან

Wi-Fi– ის ზომა, ფასი და ხელმისაწვდომობა საშუალებას გაძლევთ შექმნათ ბიუჯეტის კონტროლის ერთეული ArDrone 2.0 ოთხკუთხედისთვის ESP8266 მოდულზე (ფასები AliExpress– ზე, Gearbest). კონტროლის მიზნით, ჩვენ გამოვიყენებთ Gy-521 მოდულს MPU6050 ჩიპზე (გიროსკოპი, ამაჩქარებელი).

თუთიყუში AR. დრონი არის რადიო კონტროლირებადი ოთხკუთხედი, ანუ შვეულმფრენი ოთხი ძირითადი როტორით, რომლებიც მოთავსებულია დისტანციურ დიაგონალურ სხივებზე. AR თვითმფრინავი მუშაობს Linux– ის ოპერაციულ სისტემაზე და თითქმის ნებისმიერი Android ან iOS სენსორული სმარტფონი ან ტაბლეტი შეიძლება მოქმედებდეს როგორც დისტანციური მართვის საშუალება ოთხკუთხედისთვის. Wi-Fi– ზე სტაბილური კონტროლის მანძილი 25 – დან 100 მეტრამდეა და დამოკიდებულია ოთახსა და ამინდის პირობებზე, თუ ფრენები ხდება ქუჩაში.

ნაბიჯი 1: ESP8266- ის დაკავშირება Ar Drone 2.0 წვდომის წერტილთან

როდესაც ჩართულია, AR. დრონი ქმნის SSIS წვდომის წერტილს "ardrone_XX_XX". დაკავშირება პაროლის გარეშე.

შევეცადოთ Ar. Dron წვდომის წერტილთან დაკავშირება AT ბრძანებების გამოყენებით შეაერთეთ ESP8266 ბარათი კომპიუტერის პორტთან UART USB ადაპტერის დენის წყაროს საშუალებით 3.3 ვ.

გახსენით Arduino IDE, სერიული პორტის მონიტორი და გააგზავნეთ AT ბრძანებები ESP დაფაზე (კვადკოპტერი უნდა იყოს ჩართული)

ნაბიჯი 2: ურთიერთობა AR- თან. დრონი შესრულებულია AT ბრძანებების გამოყენებით

ბრძანებები იგზავნება AR- ში. დრონი UDP ან TCP პაკეტების სახით;

ერთი UDP პაკეტი უნდა შეიცავდეს მინიმუმ ერთ სრულ ბრძანებას ან მეტს; თუ პაკეტი შეიცავს ერთზე მეტ ბრძანებას, სიმბოლო 0x0A გამოიყენება ბრძანებების გამოსაყოფად.

სიმები დაშიფრულია როგორც 8 ბიტიანი ASCII სიმბოლო;

ბრძანების მაქსიმალური სიგრძეა 1024 სიმბოლო;

ბრძანებებს შორის არის 30 MS დაგვიანებით.

ბრძანება შედგება

AT * [ბრძანების სახელი] = [ბრძანების მიმდევრობის ნომერი, როგორც სტრიქონი] [, არგუმენტი 1, არგუმენტი 2…]

AR– ის კონტროლის ძირითადი AT ბრძანებების ჩამონათვალი. დრონი:

AT * REF- გამოიყენება აფრენის, სადესანტო, გადატვირთვისა და გადაუდებელი გაჩერებისათვის;

AT*PCMD-ეს ბრძანება გამოიყენება AR– ის გასაკონტროლებლად. თვითმფრინავების მოძრაობა;

AT*FTRIM - ჰორიზონტალურ სიბრტყეზე;

AT*CONFIG- კონფიგურაცია AR. დრონის პარამეტრები;

AT*LED ადგენს LED ანიმაციებს AR– ზე. დრონი;

AT*ANIM- ფრენის ანიმაციის დაყენება AR- ზე. დრონი.

AT * COMWDG-watchdog გადატვირთვის ბრძანება-ჩვენ მას მუდმივად ვაგზავნით ოთხკუთხედზე.

შემდეგი პორტები გამოიყენება კომუნიკაციისთვის:

პორტი 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 = "+(სეკ ++)+", / "ზოგადი: navdata_demo \", / "TRUE \" სადაც seq არის ბრძანების თანმიმდევრული ნომერი.

ნავიგაციის მონაცემთა პაკეტის სტრუქტურა. პაკეტის დასაწყისში არის 4 დასახელებული მნიშვნელობა:

32 ბიტიანი პაკეტის სათაური: ვერტმფრენის სტატუსის დროშები 32 ბიტი;

კლიენტის მიერ ვერტმფრენზე გაგზავნილი ბოლო ბრძანების რიგითი ნომერი 32 ბიტი;

ხედვის დროშა 32 ბიტი. შემდეგი-navdata ვარიანტი Header: 20-23.

Navdata ვარიანტს აქვს შემდეგი ველები:

ბატარეა = 24; ბატარეის დატენვა პროცენტულად;

PITCH = 28; დახრის კუთხე გრძივი ღერძის გასწვრივ;

ROLL = 32; განივი ღერძის მიმართ დახრის კუთხე;

YAW = 36; ბრუნვის კუთხე ვერტიკალურ ღერძთან შედარებით;

ALTITUDE = 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 ეკრანზე

ჩამოტვირთეთ (ესკიზი ardrone_esp8266_01. Ino) და დააკვირდით ნავიგაციის მონაცემების გამოშვებას სერიულ პორტში და ეკრანის ეკრანზე.

ნაბიჯი 5: აფრენისა და სადესანტო ბრძანებების გაგზავნა

ახლა ჩვენ დავამატებთ ჩვენს პროექტს ოთხკუთხედის აფრენასა და დაშვებას დისტანციური მართვის ბრძანებით. ასაფრენად საჭიროა ბრძანების გაგზავნა

AT*REF = [რიგითობის ნომერი], 290718208

სადესანტოდ

AT*REF = [რიგითობის ნომერი], 290717696

აფრენის წინ, თქვენ უნდა გაგზავნოთ ბრძანება ჰორიზონტალური დაკალიბრებისთვის, წინააღმდეგ შემთხვევაში Ar Drone ვერ შეძლებს სტაბილიზაციას ფრენის დროს.

AT * F TRIM = [რიგითობის ნომერი]

ატვირთეთ ესკიზი ardrone_esp8266_02.ino () ESP8266 დაფაზე, ჩართეთ Ar Drone 2.0 ოთხკუთხედი და შეამოწმეთ ღილაკების მოქმედება. როდესაც დააწკაპუნებთ აფრენაზე, შემდეგ ჯერზე დააწკაპუნებთ-დაჯდომა და ა.შ.

ნაბიჯი 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 = [თანმიმდევრობის ნომერი], [დროშის ბიტი-ველი], [როლი], [ნაბიჯი], [გაზ], [ყბა]

Roll და Pitch დიაპაზონში -1 -დან 1 -მდე აღებულია ცხრილი const int float , ინდექსი შეესაბამება mu6050 სენსორის მონაცემებიდან გამოთვლილ გადახრის კუთხეს.

ატვირთეთ ესკიზი ardrone_esp8266_03.ino ESP8266 დაფაზე, ჩართეთ ar Drone 2.0 ოთხკუთხედი და შეამოწმეთ პულტის მოქმედება.

გირჩევთ: