Turinys:

„ArDrone 2.0 Quadcopter“valdymo blokas MPU6050 ir ESP8266 moduliuose: 7 žingsniai
„ArDrone 2.0 Quadcopter“valdymo blokas MPU6050 ir ESP8266 moduliuose: 7 žingsniai

Video: „ArDrone 2.0 Quadcopter“valdymo blokas MPU6050 ir ESP8266 moduliuose: 7 žingsniai

Video: „ArDrone 2.0 Quadcopter“valdymo blokas MPU6050 ir ESP8266 moduliuose: 7 žingsniai
Video: Motorcycle Stunt Riding + Parrot AR.DRONE 2.0 ALT 2013 Vilnius 2024, Lapkritis
Anonim
Image
Image
ESP8266 prijungimas prie „Ar Drone 2.0“prieigos taško
ESP8266 prijungimas prie „Ar Drone 2.0“prieigos taško

„Wi-Fi“dydis, kaina ir prieinamumas leidžia jums sukurti biudžeto valdymo bloką „ArDrone 2.0“kvadrocopteriui ESP8266 modulyje (kainos „AliExpress“, „Gearbest“). Valdymui naudosime „Gy-521“modulį, esantį MPU6050 mikroschemoje (giroskopas, akselerometras).

Papūga AR. „Drone“yra radijo bangomis valdomas kvadrocopteris, tai yra sraigtasparnis su keturiais pagrindiniais rotoriais, pastatytais ant nuotolinių įstrižinių sijų. AR. Pats „Drone“veikia „Linux“operacinėje sistemoje, o beveik bet kuris „Android“ar „iOS“jutiklinio ekrano išmanusis telefonas ar planšetinis kompiuteris gali veikti kaip keturkojo nuotolinio valdymo pultas. Stabilus „Wi-Fi“valdymo atstumas yra nuo 25 iki 100 metrų ir priklauso nuo kambario ir oro sąlygų, jei skrydžiai vyksta gatvėje.

1 veiksmas: prijunkite ESP8266 prie „Ar Drone 2.0“prieigos taško

Įjungus, AR. „Drone“sukuria SSIS prieigos tašką „ardrone_XX_XX“. Prisijungimas be slaptažodžio.

Pabandykime prisijungti prie „Ar. Dron“prieigos taško naudodami AT komandas Prijunkite ESP8266 kortelę prie kompiuterio jungties per UART USB adapterio maitinimo šaltinį 3.3 V.

Atidarykite „Arduino IDE“, nuoseklaus prievado monitorių, ir nusiųskite AT komandas į ESP valdybą (keturkopteris turi būti įjungtas)

2 žingsnis: Bendravimas su AR. Dronas atliekamas naudojant AT komandas

Komandos siunčiamos AR. „Drone“kaip UDP arba TCP paketai;

Viename UDP pakete turi būti bent viena ar daugiau komandų; Jei pakuotėje yra daugiau nei viena komanda, komandoms atskirti naudojamas simbolis 0x0A.

Eilutės koduojamos kaip 8 bitų ASCII simboliai;

Maksimalus komandos ilgis yra 1024 simboliai;

Tarp komandų yra 30 MS delsos.

Komanda susideda iš

AT * [komandos pavadinimas] = [komandos eilės numeris kaip eilutė] [, 1 argumentas, 2 argumentas …]

Pagrindinių AT komandų, skirtų valdyti AR, sąrašas. Dronas:

AT * REF-naudojamas kilimui, tūpimui, atstatymui ir avariniam stabdymui;

AT*PCMD-ši komanda naudojama valdyti AR. Drono judėjimas;

AT*FTRIM - horizontalioje plokštumoje;

AT*CONFIG konfigūruojantis AR. Drono parametrai;

AT*LED nustato LED animacijas AR. Dronas;

AT*ANIM diegianti skrydžio animaciją AR. Dronas.

AT * COMWDG-watchdog reset komanda-mes ją nuolat siunčiame į keturkojį.

Ryšiui naudojami šie prievadai:

Prievadas 5556-UDP siunčia komandas AR. Dronas;

Prievadas 5554-UDP, priimantys duomenų paketus iš AR. Dronas;

5555 prievadas-atsakykite į vaizdo įrašų paketus iš AR. Dronas;

Prievado 5559-TCP paketai svarbiems duomenims, kurių negalima prarasti, paprastai konfigūracijai.

Klientas atsijungia nuo UDP prievado praėjus 2 sekundėms po paskutinės komandos išsiuntimo !!! - todėl, jei reikia, turite nuolat siųsti komandas- AT*COMWDG.

Apsvarstykite galimybę gauti navigacijos duomenis iš „ARDrone“(prievadas 5554-UDP). Demonstracinio režimo navigacijos duomenų paketas yra 500 baitų ilgio. Jei kažkas negerai, dronas gali atsiųsti 32 ir 24 baitų paketą. Jei paketas yra 24 baitų ilgio, tai reiškia, kad 5554 prievadas veikia „BOOTSTRAP“režimu ir jums reikia iš naujo prisijungti prie prievado, kad jį perjungtumėte į demonstracinį režimą. „ARDrone“gali perduoti navigacijos duomenis klientui dviem formomis:

sutrumpintas (arba demonstracinis), 500 baitų dydžio. baigtas.

Norėdami gauti demonstracinius duomenis, pirmiausia nusiųskite keturis baitus 0x01, 0x00, 0x00, 0x00 į 5554 prievadą, o paskui komandą į 5556 prievadą

AT*CONFIG = "+(seq ++)+", / "general: navdata_demo \", / "TRUE", kur seq yra eilės komandos numeris.

Navigacijos duomenų paketo struktūra. Pakuotės pradžioje yra 4 pavadintos vertės:

32 bitų paketo antraštė: sraigtasparnio būsenos žymos 32 bitai;

paskutinės komandos, kurią klientas išsiuntė į sraigtasparnį, eilės numeris 32 bitai;

regėjimo vėliava 32 bitai. Kitas-„navdata“parinktis Antraštė: 20–23.

Parinktyje „navdata“yra šie laukai:

BATERIJA = 24; akumuliatoriaus įkrovimas procentais;

PITCH = 28; nuolydžio kampas išilgine ašimi;

ROLL = 32; polinkio kampas skersinės ašies atžvilgiu;

YAW = 36; sukimosi kampas vertikalios ašies atžvilgiu;

ALTITUDE = 40; aukštis;

VX = 44; x ašies greitis;

VY = 48; y ašies greitis;

VZ = 52; greitis z ašyje.

3 veiksmas: „Nokia 5110“ekrano prijungimas prie ESP8266 plokštės

„Nokia 5110“ekrano prijungimas prie ESP8266 plokštės
„Nokia 5110“ekrano prijungimas prie ESP8266 plokštės

Prijunkite „Nokia 5110“ekraną prie ESP8266 modulio ir išveskite kai kuriuos navigacijos duomenis į jį ir prie nuoseklaus prievado monitoriaus

4 veiksmas: gaukite navigacijos duomenis ir rodykite juos „Nokia5110“ekrane

Navigacijos duomenų gavimas ir rodymas „Nokia5110“ekrane
Navigacijos duomenų gavimas ir rodymas „Nokia5110“ekrane

Atsisiųskite (eskizas ardrone_esp8266_01. Ino) ir stebėkite navigacijos duomenų išvestį į nuoseklųjį prievadą ir ekrano ekraną.

5 veiksmas: kilimo ir tūpimo komandų siuntimas

Dabar prie savo projekto pridėsime keturkojo kilimą ir nusileidimą su nuotolinio valdymo pulto komandomis. Norėdami pakilti, turite nusiųsti komandą

AT*REF = [eilės numeris], 290718208

Dėl nusileidimo

AT*REF = [eilės numeris], 290717696

Prieš pakilimą turite nusiųsti horizontalaus kalibravimo komandą, kitaip skrydžio metu „Ar Drone“negalės stabilizuotis.

AT * F TRIM = [Sekos numeris]

Įkelkite eskizą ardrone_esp8266_02.ino () į ESP8266 plokštę, įjunkite „Ar Drone 2.0“keturkojį ir patikrinkite mygtukų veikimą. Kai spustelėsite-pakilsite, kitą kartą spustelėsite-nusileidimas ir kt.

6 veiksmas: MPU6050 prijungimas prie „Ardrone 2.0“valdymo

MPU6050 prijungimas prie „Ardrone 2.0“valdymo
MPU6050 prijungimas prie „Ardrone 2.0“valdymo
MPU6050 prijungimas prie „Ardrone 2.0“valdymo
MPU6050 prijungimas prie „Ardrone 2.0“valdymo

Kvadrocopteriams valdyti naudojami jutikliai, skirti nustatyti padėtį erdvėje. MPU6050 mikroschemoje yra akselerometras ir giroskopas, taip pat temperatūros jutiklis. MPU6050 yra pagrindinis Gy-531 modulio elementas (15.44 pav.). Be šio lusto, modulio plokštėje yra būtinas MPU6050 įrišimas, įskaitant I2C sąsajos traukiamus rezistorius, taip pat 3,3 voltų įtampos stabilizatorius su nedideliu įtampos kritimu (kai maitinamas 3,3 volto, stabilizatorius bus 3 lygių voltų) su filtro kondensatoriais.

Prisijungimas prie mikrovaldiklio naudojant I2C protokolą.

7 veiksmas: valdykite kvadrakopterį naudodami MPU6050

Kvadrokopterio valdymas naudojant MPU6050
Kvadrokopterio valdymas naudojant MPU6050

Naudojant akselerometrą ir giroskopą, galite nustatyti nuokrypį x ir y ašyse, o nuokrypis „virsta“komandomis, skirtomis kvadratopteriui judėti atitinkamomis ašimis. Iš jutiklio gautų rodmenų vertimas į nukrypimo kampą.

komandą nusiųsti į „Ar Drone“skrydžio valdymui

AT*REF = [Sekos numeris], [Vėliavos bitų laukas], [Roll], [Pitch], [Gaz], [Yaw]

„Roll“ir „Pitch“vertės diapazone nuo -1 iki 1 yra paimtos iš lentelės const int float , indeksas atitinka nuokrypio kampą, apskaičiuotą pagal mu6050 jutiklio duomenis.

Įkelkite eskizą ardrone_esp8266_03.ino į ESP8266 plokštę, įjunkite „ar Drone 2.0“kvadrocopterį ir patikrinkite nuotolinio valdymo pulto veikimą.

Rekomenduojamas: