Բովանդակություն:

ArDrone 2.0 Quadcopter Control Unit MPU6050- ի և ESP8266 մոդուլի վրա `7 քայլ
ArDrone 2.0 Quadcopter Control Unit MPU6050- ի և ESP8266 մոդուլի վրա `7 քայլ

Video: ArDrone 2.0 Quadcopter Control Unit MPU6050- ի և ESP8266 մոդուլի վրա `7 քայլ

Video: ArDrone 2.0 Quadcopter Control Unit MPU6050- ի և ESP8266 մոդուլի վրա `7 քայլ
Video: How to use MPU-9250 Gyroscope, Accelerometer, Magnetometer for Arduino 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- ն Drone- ն ինքնին աշխատում է Linux օպերացիոն համակարգով, և գրեթե ցանկացած Android կամ iOS սենսորային էկրանով սմարթֆոն կամ պլանշետ կարող է գործել որպես հեռակառավարիչ քառանկյունի համար: Wi-Fi- ի կայուն վերահսկողության հեռավորությունը 25-ից 100 մետր է և կախված է սենյակից և եղանակային պայմաններից, եթե թռիչքները տեղի են ունենում փողոցում:

Քայլ 1. ESP8266- ի միացում Ar Drone 2.0 մուտքի կետին

Երբ միացված է, AR. Անօդաչու սարքը ստեղծում է «ardrone_XX_XX» SSIS մուտքի կետ: Միացում առանց գաղտնաբառի:

Փորձենք միանալ 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 հրամանների ցանկը: Drone:

AT * REF-օգտագործվում է թռիչքի, վայրէջքի, վերակայման և վթարային կանգառի համար;

AT*PCMD-այս հրամանը օգտագործվում է AR- ը վերահսկելու համար: Անօդաչու թռչող սարքերի շարժում;

AT*FTRIM - հորիզոնական հարթության վրա;

AT*CONFIG- կազմաձևող AR: Անօդաչու թռչող սարքի պարամետրեր;

AT*LED- ն LED անիմացիաներ է տեղադրում AR- ում: Անօդաչու թռչող սարք;

AT*ANIM- տեղադրում է թռիչքի անիմացիա AR- ում: Անօդաչու թռչող սարք

AT * COMWDG-watchdog reset- ի հրաման-մենք այն անընդհատ ուղարկում ենք քառանկյուն:

Հետևյալ նավահանգիստներն օգտագործվում են կապի համար.

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 ++)+", / "ընդհանուր. Navdata_demo \", / "TRUE \", որտեղ seq- ը հրամանի հաջորդական թիվն է:

Նավիգացիոն տվյալների փաթեթի կառուցվածքը: Փաթեթի սկզբում կա 4 անվանական արժեք.

32-բիթանոց փաթեթի վերնագիր. Ուղղաթիռի կարգավիճակի դրոշներ 32 բիթ;

հաճախորդի կողմից ուղղաթիռ ուղարկված վերջին հրամանի հաջորդականության համարը 32 բիթ;

տեսողության դրոշ 32 բիթ: Հաջորդը ՝ navdata- ի ընտրանք Վերնագիր ՝ 20-23:

Navdata տարբերակն ունի հետևյալ դաշտերը.

ՄԱՐՏԿՈ = 24; մարտկոցի լիցքավորում որպես տոկոս;

PITCH = 28; երկայնական առանցքի երկայնքով թեքության անկյուն;

ROLL = 32; լայնակի առանցքի նկատմամբ թեքության անկյուն;

YAW = 36; պտտման անկյունը ուղղահայաց առանցքի համեմատ;

ԱԼՏԻՏՈUDԴ = 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 = [հաջորդականության համարը], [դրոշի բիթ-դաշտ], [գլորում], [սկիպիդար], [գազ], [Yaw]

Roll and Pitch- ի արժեքները -1 -ից 1 -ը վերցված են աղյուսակից const int float , ինդեքսը համապատասխանում է mu6050 սենսորային տվյալներից հաշվարկված շեղման անկյունին:

Վերբեռնեք ardrone_esp8266_03.ino էսքիզը ESP8266 տախտակին, միացրեք ar Drone 2.0 քառանկյուն ուղղաթիռը և ստուգեք հեռակառավարման վահանակի աշխատանքը:

Խորհուրդ ենք տալիս: