Агуулгын хүснэгт:

MPU6050 ба ESP8266 модуль дээрх ArDrone 2.0 Quadcopter хяналтын хэсэг: 7 алхам
MPU6050 ба ESP8266 модуль дээрх ArDrone 2.0 Quadcopter хяналтын хэсэг: 7 алхам

Видео: MPU6050 ба ESP8266 модуль дээрх ArDrone 2.0 Quadcopter хяналтын хэсэг: 7 алхам

Видео: MPU6050 ба ESP8266 модуль дээрх ArDrone 2.0 Quadcopter хяналтын хэсэг: 7 алхам
Видео: ESP8266 ESP01 WI-FI-UART | Программирование LDmicro-Roboremo 2024, Долдугаар сарын
Anonim
Image
Image
ESP8266 -ийг Ar Drone 2.0 хандалтын цэгт холбож байна
ESP8266 -ийг Ar Drone 2.0 хандалтын цэгт холбож байна

Wi-Fi-ийн хэмжээ, үнэ, хүртээмж нь ESP8266 модуль дээр ArDrone 2.0 квадрокоптерын төсвийн хяналтын нэгжийг хийх боломжийг олгодог (AliExpress, Gearbest дээрх үнэ). Хяналтын хувьд бид MPU6050 чип (гироскоп, акселерометр) дээрх Gy-521 модулийг ашиглах болно.

Тотьны AR. Дрон бол радио удирдлагатай квадрокоптер, өөрөөр хэлбэл алслагдсан диагональ цацраг дээр байрлуулсан дөрвөн үндсэн ротортой нисдэг тэрэг юм. AR. Дрон өөрөө Линукс үйлдлийн систем дээр ажилладаг бөгөөд бараг ямар ч Android эсвэл iOS мэдрэгчтэй ухаалаг гар утас, таблет нь квадрокоптерийн алсын удирдлага болж чаддаг. Wi-Fi сүлжээг тогтвортой хянах зай нь 25-100 метр бөгөөд гудамжинд нислэг үйлдэх тохиолдолд өрөө, цаг агаарын байдлаас хамаарна.

Алхам 1: ESP8266 -ийг Ar Drone 2.0 хандалтын цэг рүү холбох

Идэвхжүүлсэн үед AR. Дрон нь "ardrone_XX_XX" SSIS хандалтын цэгийг бий болгодог. Нууц үггүйгээр холбогдож байна.

AT тушаалуудыг ашиглан Ar. Dron хандалтын цэг рүү холбогдохыг хичээцгээе. 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*AR-ийг тохируулах. Дроны параметрүүд;

AT*LED дээр LED анимацийг AR дээр тавьдаг. Дрон;

AT*ANIM-д AR дээр нислэгийн хөдөлгөөнт дүрс суулгаж байна. Дрон.

AT * COMWDG-watchdog-ийг дахин тохируулах тушаал-бид үүнийг квадкоптер руу байнга илгээдэг.

Дараах портуудыг харилцаа холбоонд ашигладаг.

5556-UDP порт нь AR руу тушаал илгээдэг. Дрон;

5554-UDP порт нь AR-ээс өгөгдлийн пакет хүлээн авдаг. Дрон;

5555 порт-Хариулт нь видео пакетуудыг AR-ээс дамжуулдаг. Дрон;

5559-TCP порт нь ихэвчлэн тохиргооны хувьд чухал өгөгдлийг алдах боломжгүй байдаг.

Үйлчлүүлэгч сүүлийн тушаалыг илгээсэнээс хойш 2 секундын дараа UDP портоос салдаг !!! Тиймээс, шаардлагатай бол AT*COMWDG командыг байнга илгээх ёстой.

ARDrone (5554-UDP порт) -аас навигацийн өгөгдлийг авах талаар бодож үзээрэй. Демо горим дахь навигацийн өгөгдлийн пакет нь 500 байтын урттай. Хэрэв ямар нэг зүйл буруу болвол дрон 32 ба 24 байтын багц илгээж болно. Хэрэв пакет 24 байттай бол энэ нь 5554 порт нь BOOTSTRAP горимд байгаа бөгөөд та Demo горимд шилжихийн тулд порт руу дахин холбогдох хэрэгтэй гэсэн үг бөгөөд 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; батерейны цэнэгийг хувиар тооцох;

PITCH = 28; уртын тэнхлэгийн дагуух хазайлтын өнцөг;

ROLL = 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 дэлгэц дээр харуулах

Татаж авах (ноорог 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: Ardrone 2.0 -ийг хянахын тулд MPU6050 -ийг холбоно уу

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: MPU6050 ашиглан Quadcopter -ийг удирдах

MPU6050 ашиглан Quadcopter -ийг хянах
MPU6050 ашиглан Quadcopter -ийг хянах

Акселерометр ба гироскопыг ашигласнаар x ба y тэнхлэгийн хазайлтыг тодорхойлох боломжтой бөгөөд хазайлт нь квадрокоптерыг харгалзах тэнхлэгийн дагуу шилжүүлэх тушаал болж хувирна. Мэдрэгчээс хүлээн авсан уншилтыг хазайлтын өнцөг рүү орчуулах.

Нислэгийн хяналтыг Ar Drone руу илгээх тушаал

AT*REF = [Дарааллын дугаар], [Flag bit-field], [Roll], [Pitch], [Gaz], [Yaw]

-1 -ээс 1 хүртэлх Roll ба Pitch -ийн утгыг const int float хүснэгтээс авсан бөгөөд индекс нь mu6050 мэдрэгчийн өгөгдлөөс тооцоолсон хазайлтын өнцөгтэй тохирч байна.

Ноорог ardrone_esp8266_03.ino -ийг ESP8266 самбарт байршуулж, ar Drone 2.0 квадрокоптерыг асаагаад алсын удирдлагын ажиллагааг шалгана уу.

Зөвлөмж болгож буй: