Talaan ng mga Nilalaman:

ArDrone 2.0 Quadcopter Control Unit sa MPU6050 at ESP8266 Modyul: 7 Mga Hakbang
ArDrone 2.0 Quadcopter Control Unit sa MPU6050 at ESP8266 Modyul: 7 Mga Hakbang

Video: ArDrone 2.0 Quadcopter Control Unit sa MPU6050 at ESP8266 Modyul: 7 Mga Hakbang

Video: ArDrone 2.0 Quadcopter Control Unit sa MPU6050 at ESP8266 Modyul: 7 Mga Hakbang
Video: Как использовать гироскоп, акселерометр, магнитометр MPU-9250 для Arduino 2024, Hulyo
Anonim
Image
Image
Pagkonekta sa ESP8266 sa Ar Drone 2.0 Access Point
Pagkonekta sa ESP8266 sa Ar Drone 2.0 Access Point

Pinapayagan ka ng laki, presyo at pagkakaroon ng Wi-Fi na gumawa ng isang yunit ng kontrol sa badyet para sa ArDrone 2.0 quadrocopter sa module na ESP8266 (mga presyo sa AliExpress, Gearbest). Para sa kontrol, gagamitin namin ang Module ng Gy-521 sa chip ng MPU6050 (gyroscope, accelerometer).

Ang Parrot AR. Ang Drone ay isang quadrocopter na kinokontrol ng radyo, iyon ay, isang helikoptero na may apat na pangunahing rotors na nakalagay sa malayuang mga sinag ng diagonal. Ang AR. Ang drone mismo ay tumatakbo sa operating system ng Linux, at halos anumang Android o iOS touch-screen smartphone o tablet ay maaaring kumilos bilang isang remote control para sa quadcopter. Ang distansya ng matatag na kontrol sa Wi-Fi ay mula 25 hanggang 100 metro at nakasalalay sa mga kondisyon sa silid at panahon, kung ang mga flight ay magaganap sa kalye.

Hakbang 1: Pagkonekta sa ESP8266 sa Ar Drone 2.0 Access Point

Kapag pinagana, ang AR. Lumilikha ang Drone ng isang access point ng SSIS na "ardrone_XX_XX". Kumokonekta nang walang password.

Subukan nating kumonekta sa Ar. Dron access point gamit ang mga AT command Ikonekta ang card na ESP8266 sa com port ng computer sa pamamagitan ng UART USB adapter power supply 3.3 V.

Buksan ang Arduino IDE, ang serial port monitor, at ipadala ang mga AT command sa ESP Board (dapat paganahin ang quadcopter)

Hakbang 2: Komunikasyon Sa AR. Isinasagawa ang Drone Gamit ang AT Command

Ang mga utos ay ipinadala sa AR. Drone bilang UDP o TCP packet;

Ang isang solong UDP packet ay dapat maglaman ng kahit isang kumpletong utos o higit pa; Kung ang pakete ay naglalaman ng higit sa isang utos, ang character na 0x0A ay ginagamit upang paghiwalayin ang mga utos.

Ang mga string ay naka-encode bilang 8-bit ASCII character;

Ang maximum na haba ng utos ay 1024 character;

Mayroong isang 30 MS pagkaantala sa pagitan ng mga utos.

Ang utos ay binubuo ng

AT * [pangalan ng utos] = [numero ng pagkakasunud-sunod ng utos bilang isang string] [, argument 1, argument 2…]

Listahan ng pangunahing mga utos ng AT para sa pagkontrol sa AR. Drone:

Ginamit ang AT * REF para sa pag-takeoff, landing, reset, at emergency stop;

SA * PCMD-ang utos na ito ay ginagamit upang makontrol ang AR. Kilusan ng drone;

SA * FTRIM - sa pahalang na eroplano;

SA * CONFIG-configure AR. Mga parameter ng drone;

SA * LED-set LED na mga animasyon sa AR. Drone;

SA * ANIM-pag-install ng flight flight sa AR. Drone.

SA * COMWDG-watchdog reset reset-ipinapadala namin ito patuloy sa quadcopter.

Ang mga sumusunod na port ay ginagamit para sa komunikasyon:

Ang pagpapadala ng mga utos sa Port 5556-UDP sa AR. Drone;

Ang mga packet ng data ng Port 5554-UDP na tumatanggap mula sa AR. Drone;

Port 5555-Sumagot ng mga pack ng video ng stream mula sa AR. Drone;

Mga pack ng Port 5559-TCP para sa kritikal na data na hindi maaaring mawala, karaniwang para sa pagsasaayos.

Nakakonekta ang kliyente mula sa UDP port pagkatapos ng pagkaantala ng 2 segundo matapos maipadala ang huling utos !!! - samakatuwid, dapat mong patuloy na magpadala ng mga utos, kung kinakailangan-AT * COMWDG.

Isaalang-alang ang pagkuha ng data ng nabigasyon mula sa ARDrone (Port 5554-UDP). Ang packet ng data ng nabigasyon sa demo mode ay 500 bytes ang haba. Kung may mali, ang drone ay maaaring magpadala ng 32-at 24-byte packet. Kung ang packet ay 24 bytes ang haba nangangahulugan ito na ang port 5554 ay nasa BOOTSTRAP mode at kailangan mong kumonekta muli sa port upang ilipat ito sa Demo mode ARDrone ay maaaring magpadala ng data ng pag-navigate sa kliyente sa dalawang form:

pinaikling (o demo), 500 bytes ang laki. kumpleto

Upang makakuha ng data ng demo, magpadala muna ng apat na byte 0x01, 0x00, 0x00, 0x00 sa port 5554, at pagkatapos ay magpadala ng isang utos sa port 5556

SA * CONFIG = "+ (seq ++) +", / "pangkalahatan: navdata_demo \", / "TRUE \" kung saan ang seq ang sunud-sunod na bilang ng utos.

Istraktura ng package ng data sa pag-navigate. Mayroong 4 na pinangalanang mga halaga sa simula ng package:

32-bit na packet header: ang mga flag flag status 32 bits;

ang numero ng pagkakasunud-sunod ng huling utos na ipinadala sa helikopter ng client 32 bit;

bandila ng paningin 32 piraso. Susunod na pagpipilian ng navdata Header: 20-23.

Ang pagpipiliang navdata ay may mga sumusunod na patlang:

BATTERY = 24; singil ng baterya bilang isang porsyento;

PITCH = 28; anggulo ng pagkahilig kasama ang paayon axis;

ROLL = 32; anggulo ng pagkahilig na may kaugnayan sa nakahalang axis;

YAW = 36; anggulo ng pag-ikot na may kaugnayan sa patayong axis;

ALTITUDE = 40; taas;

VX = 44; bilis ng x-axis;

VY = 48; bilis ng y-axis;

VZ = 52; bilis sa z axis.

Hakbang 3: Pagkonekta sa Nokia 5110 Display sa Linya ng ESP8266

Pagkonekta sa Nokia 5110 Display sa Linya ng ESP8266
Pagkonekta sa Nokia 5110 Display sa Linya ng ESP8266

Ikonekta ang display ng Nokia 5110 sa module na ESP8266 at maglabas ng ilang data ng pag-navigate dito at sa serial port monitor

Hakbang 4: Pagkuha ng Data sa Pag-navigate at Pagpapakita nito sa Nokia5110 Display

Pagkuha ng Data sa Pag-navigate at Pagpapakita nito sa Nokia5110 Display
Pagkuha ng Data sa Pag-navigate at Pagpapakita nito sa Nokia5110 Display

Mag-download (sketch ardrone_esp8266_01. Ino), at obserbahan ang output ng data ng pag-navigate sa serial port at sa display screen.

Hakbang 5: Pagpapadala ng Mga Utos sa Landing at Landing

Ngayon ay idaragdag namin sa aming proyekto ang paglabas at pag-landing ng quadcopter na may mga utos mula sa remote control. Upang mag-alis, kailangan mong magpadala ng isang utos

AT * REF = [Numero ng pagkakasunud-sunod], 290718208

Para sa landing

AT * REF = [Numero ng pagkakasunud-sunod], 290717696

Bago mag-takeoff, dapat kang magpadala ng isang utos para sa pahalang na pagkakalibrate, kung hindi man ay hindi makapag-stabilize ang Ar Drone sa panahon ng paglipad.

SA * F TRIM = [Numero ng pagkakasunud-sunod]

I-upload ang sketch ardrone_esp8266_02.ino () sa Board ng ESP8266, i-on ang Ar Drone 2.0 quadcopter at suriin ang pagpapatakbo ng pindutan. Kapag nag-click-takeoff ka, sa susunod na mag-click ka - landing, atbp.

Hakbang 6: Pagkonekta sa MPU6050 upang Makontrol ang Ardrone 2.0

Pagkonekta sa MPU6050 upang Makontrol ang Ardrone 2.0
Pagkonekta sa MPU6050 upang Makontrol ang Ardrone 2.0
Pagkonekta sa MPU6050 upang Makontrol ang Ardrone 2.0
Pagkonekta sa MPU6050 upang Makontrol ang Ardrone 2.0

Ang mga sensor para sa pagtukoy ng posisyon sa kalawakan ay ginagamit para sa pagkontrol sa mga quadrocopters. Ang MPU6050 chip ay naglalaman ng parehong isang accelerometer at isang gyroscope sa Lupon, pati na rin ang isang sensor ng temperatura. ang MPU6050 ay ang pangunahing elemento ng Gy-531 module (Larawan 15.44). Bilang karagdagan sa chip na ito, naglalaman ang module Board ng kinakailangang pagbubuklod ng MPU6050, kabilang ang mga resistors ng pull-up ng interface ng I2C, pati na rin ang isang 3.3-volt voltage stabilizer na may isang maliit na boltahe na drop (kapag pinalakas sa 3.3 volts, ang output ng ang stabilizer ay magiging 3 eksaktong volts) na may mga filter capacitor.

Kumokonekta sa microcontroller gamit ang I2C Protocol.

Hakbang 7: Pagkontrol sa Quadcopter Gamit ang MPU6050

Pagkontrol sa Quadcopter Gamit ang MPU6050
Pagkontrol sa Quadcopter Gamit ang MPU6050

Ang paggamit ng accelerometer at gyroscope ay nagbibigay-daan sa iyo upang matukoy ang paglihis sa x at y axes, at ang paglihis na "turn" sa mga utos para sa paglipat ng quadcopter kasama ang mga kaukulang palakol. Ang pagsasalin ng mga pagbasa na natanggap mula sa sensor sa anggulong pagpapalihis.

ang Command na ipadala sa Ar Drone para sa flight control

SA * REF = [Numero ng pagkakasunud-sunod], [Flag bit-field], [Roll], [Pitch], [Gaz], [Yaw]

Ang mga halaga ng Roll at Pitch sa saklaw na -1 hanggang 1 ay kinuha mula sa talahanayan const int float , ang index ay tumutugma sa anggulo ng paglihis na kinakalkula mula sa data ng mu6050 sensor.

I-upload ang sketch ardrone_esp8266_03.ino ito sa ESP8266 Board, i-on ang ar Drone 2.0 quadrocopter at suriin ang pagpapatakbo ng remote.

Inirerekumendang: