Sisällysluettelo:

Arduino -drone GPS: llä: 16 vaihetta
Arduino -drone GPS: llä: 16 vaihetta

Video: Arduino -drone GPS: llä: 16 vaihetta

Video: Arduino -drone GPS: llä: 16 vaihetta
Video: Extract GPS location in Arduino with NEO-6m or NEO-7M module 2024, Heinäkuu
Anonim
Arduino -drone GPS: llä
Arduino -drone GPS: llä

Päätimme rakentaa Arduino-ohjatun ja vakautetun, GPS-yhteensopivan ensimmäisen persoonan näkymän (FPV) nelikopteridronin, jolla on paluu kotiin, koordinaatit ja GPS-pitotoiminnot. Oletimme naiivisti, että nykyisten Arduino -ohjelmien ja nelikopterin johdotuksen yhdistäminen ilman GPS: ää GPS -lähetysjärjestelmän kanssa olisi suhteellisen yksinkertaista ja voisimme siirtyä nopeasti monimutkaisempiin ohjelmointitehtäviin. Yllättävän paljon piti kuitenkin muuttaa näiden kahden projektin yhdistämiseksi, ja näin päädyimme tekemään GPS-yhteensopivan FPV-nelikopterin ilman mitään lisätoimintoja.

Olemme lisänneet ohjeet tuotteemme kopioimiseen, jos olet tyytyväinen rajoitettuun nelikopteriin.

Olemme myös sisällyttäneet kaikki vaiheet, jotka otimme matkalla kohti itsenäisempää nelikopteria. Jos sinusta tuntuu mukavalta kaivaa syvälle Arduinoon tai sinulla on jo paljon Arduinon kokemusta ja haluat ottaa pysähdyspaikkamme hyppypisteeksi omaan tutkimukseesi, tämä Instructable on myös sinua varten.

Tämä on loistava projekti oppia jotain Arduinon rakentamisesta ja koodaamisesta riippumatta siitä, kuinka paljon sinulla on kokemusta. Lisäksi toivottavasti kävelet pois dronin kanssa.

Asetus on seuraava:

Materiaaliluettelossa molempia tavoitteita varten tarvitaan osia ilman tähtiä.

Osia, joissa on yksi tähti, tarvitaan vain itsenäisemmän nelikopterin keskeneräiseen projektiin.

Kaksi tähteä sisältäviä osia tarvitaan vain rajoitetumpaan nelikopteriin.

Molemmille hankkeille yhteiset vaiheet eivät ole otsikon jälkeen

Vaiheet, jotka vaaditaan vain rajoitetummalle ei-itsenäiselle nelikopterille, ovat otsikon jälkeen "(Uno)".

Vain käynnissä olevan itsenäisen nelikopterin tarvitsemissa vaiheissa on otsikon jälkeen "(Mega)".

Voit rakentaa Uno-pohjaisen quadin seuraavasti:

Jos haluat työskennellä megapohjaisen quadin kanssa, seuraa ohjeita järjestyksessä ja ohita kaikki vaiheet, joissa on otsikon jälkeen "(Uno)".

Vaihe 1: Kerää materiaalit

Komponentit:

1) Yksi nelikopterikehys (tarkalla kehyksellä ei todennäköisesti ole väliä) (15 dollaria)

2) Neljä 2830, 900 kV harjatonta moottoria (tai vastaavaa) ja neljä lisävarustepakettia (4 x 6 dollaria + 4 x 4 dollaria = yhteensä 40 dollaria)

3) Neljä 20A UBEC ESC: tä (4 x 10 dollaria = yhteensä 40 dollaria)

4) Yksi virranjakelukortti (XT-60-liitännällä) (20 dollaria)

5) Yksi 3s, 3000-5000mAh LiPo-akku XT-60-liitännällä (3000mAh vastaa noin 20 minuutin lentoaikaa) (25 dollaria)

6) Paljon potkureita (nämä rikkovat paljon) (10 dollaria)

7) Yksi Arduino Mega 2560* (40 dollaria)

8) Yksi Arduino Uno R3 (20 dollaria)

9) Toinen Arduino Uno R3 ** (20 dollaria)

10) Yksi Arduino Ultimate GPS Shield (et tarvitse suojaa, mutta eri GPS: n käyttö vaatii eri johdotuksen) (45 dollaria)

11) Kaksi langatonta HC-12-lähetin-vastaanotinta (2x 5 dollaria = 10 dollaria)

12) Yksi MPU-6050, 6DOF (vapausaste) gyro/kiihtyvyysmittari (5 dollaria)

13) Yksi Turnigy 9x 2,4 GHz, 9 -kanavainen lähetin/vastaanotinpari (70 dollaria)

14) Arduino -naaras (pinottava) otsikot (20 dollaria)

15) LiPo Battery Balance -laturi (ja 12 V DC -sovitin, ei sisälly toimitukseen) (20 dollaria)

17) USB A - B uros -uros -sovitinjohto (5 dollaria)

17) Teippi

18) Kutista letkut

Laitteet:

1) Juotosrauta

2) Juotos

3) Muovinen epoksi

4) kevyempi

5) Langanpoistaja

6) Kuusiokoloavaimet

Valinnaiset komponentit reaaliaikaiseen FPV (first person view) -videolähetykseen:

1) Pieni FPV-kamera (tämä linkki käyttämäämme melko halpaan ja huonolaatuiseen kameraan, voit korvata paremman) (20 dollaria)

2) 5,6 GHz: n videolähetin/vastaanotinpari (käytettyjä 832 mallia) (30 dollaria)

3) 500 mAh, 3 s (11,1 V) LiPo -akku (7 dollaria) (käytimme banaanipistokkeella, mutta suosittelemme jälkikäteen, että käytät linkitettyä akkua, koska siinä on liitin, joka on yhteensopiva TS832 -lähettimen kanssa. t vaativat juottamista).

4) 2 1000 mAh 2s (7,4 V) LiPo -akkua tai vastaava (5 dollaria). MAh -määrä ei ole kriittinen, kunhan se on yli 1000 mAh. Sama lause kuin edellä koskee toisen akun pistoketyyppiä. Toista käytetään näytön virtalähteeksi, joten sinun on juotettava mitä tahansa. Todennäköisesti paras hankkia sellainen, jossa on XT-60-pistoke tätä varten (näin teimme). Linkki kyseiseen tyyppiin on tässä: 1000mAh 2s (7,4V) LiPo XT-60-pistokkeella

5) LCD -näyttö (valinnainen) (15 dollaria). Voit myös käyttää AV-USB-sovitinta ja DVD-kopiointiohjelmistoa katsellaksesi suoraan kannettavalla tietokoneella. Tämä antaa myös mahdollisuuden tallentaa videoita ja valokuvia sen sijaan, että vain katselisi niitä reaaliajassa.

6) Jos olet ostanut paristoja, joissa on eri pistokkeet kuin linkitetyt, saatat tarvita sopivia sovittimia. Hanki joka tapauksessa näyttöön virtaa antavan akun pistoketta vastaava sovitin. Täältä saat XT-60-sovittimet

* = vain kehittyneemmälle projektille

** = vain perusprojektille

Kustannukset:

Jos aloitat tyhjästä (mutta juotosraudalla jne.), Ei FPV -järjestelmää: ~ 370 dollaria

Jos sinulla on jo RC -lähetin/-vastaanotin, LiPo -laturi ja LiPo -akku: ~ 260 dollaria

FPV -järjestelmän hinta: 80 dollaria

Vaihe 2: Kokoa kehys

Kokoa kehys
Kokoa kehys
Kokoa kehys
Kokoa kehys
Kokoa kehys
Kokoa kehys

Tämä vaihe on melko suoraviivainen, varsinkin jos käytetään samaa esivalmistettua kehystä, jota käytimme. Käytä vain mukana tulevia ruuveja ja laita runko yhteen kuvan mukaisesti käyttämällä kehykseesi sopivaa kuusiokoloavainta tai ruuvimeisseliä. Varmista, että samanväriset käsivarret ovat vierekkäin (kuten tässä kuvassa), jotta droonilla on selkeä etu- ja takaosa. Varmista lisäksi, että pohjalevyn pitkä osa tarttuu ulos vastakkaisväristen käsivarsien väliin. Tämä tulee tärkeäksi myöhemmin.

Vaihe 3: Asenna moottorit ja liitä esc

Asenna moottorit ja liitä esc
Asenna moottorit ja liitä esc
Asenna moottorit ja liitä esc
Asenna moottorit ja liitä esc
Asenna moottorit ja liitä esc
Asenna moottorit ja liitä esc
Asenna moottorit ja liitä esc
Asenna moottorit ja liitä esc

Nyt kun runko on koottu, irrota neljä moottoria ja neljä asennustarviketta. Voit ruuvata moottorit ja kiinnikkeet paikoilleen joko kiinnityssarjojen mukana tulevilla ruuveilla tai nelikopterirungosta jääneillä ruuveilla. Jos ostat kiinnikkeet, joihin olemme linkittäneet, saat kaksi ylimääräistä komponenttia, jotka on kuvattu yllä. Meillä on ollut hyvä moottorin suorituskyky ilman näitä osia, joten jätimme ne pois painon vähentämiseksi.

Kun moottorit on ruuvattu paikoilleen, epoksoi tehonjakokortti (PDB) paikalleen nelikopterirungon ylälevyn päälle. Varmista, että suuntaat sen siten, että akun liitin osoittaa eri väristen varsien väliin (yhdensuuntainen pohjalevyn pitkien osien kanssa), kuten yllä olevassa kuvassa.

Sinulla pitäisi olla myös neljä potkurikartioita, joissa on sisäkierteet. Jätä nämä sivuun toistaiseksi.

Ota nyt ESC: t pois. Toisella puolella on kaksi johtoa, yksi punainen ja toinen musta. Liitä jokaisen neljän ESC: n punainen johto ATE: n positiiviseen liittimeen ja musta negatiiviseen. Huomaa, että jos käytät toista ATE: tä, tämä vaihe saattaa vaatia juottamista. Kytke nyt jokainen moottorista tuleva kolme johtoa. Tässä vaiheessa ei ole väliä mihin ESC -johtoon liität minkä moottorikaapelin (niin kauan kuin liität kaikki yhden ESC: n johdot samaan moottoriin!) Korjaat taaksepäin suuntautuvan napaisuuden myöhemmin. Ei ole vaarallista, jos johdot käännetään päinvastaiseksi; se johtaa vain siihen, että moottori pyörii taaksepäin.

Vaihe 4: Valmistele Arduino ja Shield

Valmista Arduino ja Shield
Valmista Arduino ja Shield
Valmista Arduino ja Shield
Valmista Arduino ja Shield

Huomautus ennen aloittamista

Ensinnäkin voit juottaa kaikki johdot suoraan yhteen. Mielestämme oli kuitenkin korvaamatonta käyttää nastaotsikoita, koska ne tarjoavat paljon joustavuutta vianetsintään ja projektin mukauttamiseen. Seuraavassa on kuvaus siitä, mitä teimme (ja suosittelemme muita tekemään).

Valmista Arduino ja kilpi

Ota Arduino Mega (tai Uno, jos käytät ei-itsenäistä nelikenttää), GPS-suoja ja pinottavat otsikot. Juotos pinottavien otsikoiden urospää paikalleen GPS-suojaan, nastarivillä, jotka ovat yhdensuuntaisia esijuotettujen nastojen kanssa, kuten yllä olevassa kuvassa. Juotetaan myös pinottaviin otsikoihin nastarivillä 3V, CD,… RX. Käytä lankaleikkuria leikataksesi ylimääräisen pituuden pohjassa olevista tappeista. Aseta urospuoliset taivutetut yläosat kaikkiin näihin pinottaviin otsikoihin. Näihin juotat johdot muille komponenteille.

Kiinnitä GPS -suoja yläosaan ja varmista, että nastat vastaavat Arduinon tappeja (Mega tai Uno). Huomaa, että jos käytät Megaa, suuri osa Arduinosta paljastuu edelleen, kun olet asettanut suojan paikalleen.

Aseta Arduinon pohjalle sähköteippi, joka peittää kaikki paljaat tapit, jotta vältetään oikosulku, kun Arduino lepää ATE: ssä.

Vaihe 5: Yhdistä komponentit ja aseta akku (Uno)

Yhdistä komponentit ja aseta akku (Uno)
Yhdistä komponentit ja aseta akku (Uno)
Yhdistä komponentit ja aseta akku (Uno)
Yhdistä komponentit ja aseta akku (Uno)
Yhdistä komponentit ja aseta akku (Uno)
Yhdistä komponentit ja aseta akku (Uno)
Yhdistä komponentit ja aseta akku (Uno)
Yhdistä komponentit ja aseta akku (Uno)

Yllä oleva kaavio on lähes identtinen Joop Brookingin tekemän kaavion kanssa, kun suunnittelumme perustui voimakkaasti hänen suunnitelmaansa.

*Huomaa, että tämä kaavio edellyttää, että GPS -suoja on asennettu oikein, joten GPS ei näy tässä kaaviossa.

Yllä oleva kaavio valmistettiin käyttämällä Fritzing -ohjelmistoa, jota suositellaan erityisesti Arduino -kaavioille. Käytimme enimmäkseen geneerisiä osia, joita voidaan muokata joustavasti, koska osamme eivät yleensä olleet Fritzingin mukana toimitetussa osakirjastossa.

-Varmista, että GPS -suojan kytkin on asennossa "Direct Write".

-Kytke nyt kaikki komponentit yllä olevan kaavion mukaisesti (paitsi akku!) (Tärkeä huomautus alla olevista GPS -datajohdoista).

-Huomaa, että olet jo kytkenyt ESC: t moottoreihin ja ATE: hen, joten tämä osa kaaviosta on tehty.

-Huomaa lisäksi, että GPS -data (keltaiset johdot) tulee Arduinon nastoista 0 ja 1 (ei erillisistä Tx- ja Rx -nastoista GPS: ssä). Tämä johtuu siitä, että "Suorakirjoitus" (katso alla) on määritetty, ja GPS lähettää suoraan uno -laitteiston sarjaportteihin (nastat 0 ja 1). Tämä näkyy selvimmin koko johdotuksen yllä olevassa toisessa kuvassa.

-Kun kytket RC -vastaanottimen, katso yllä oleva kuva. Huomaa, että datajohdot menevät yläriville, kun taas Vin ja Gnd ovat vastaavasti toisella ja kolmannella rivillä (ja toiseksi kauimpana olevasta nastojen sarakkeesta).

-HC-12-lähetin-vastaanottimen, RC-vastaanottimen ja 5Voutin johdotukseen ATE: stä Arduinon Viniin käytimme pinottavia otsikoita, kun taas gyrossa juotimme johdot suoraan levylle ja kutisteputkilla juottaa. Voit valita joko jommankumman komponentin, mutta juottamista suoraan gyroon suositellaan, koska se säästää tilaa, mikä helpottaa pienen osan asentamista. Otsikoiden käyttö on hieman enemmän työtä edessä, mutta tarjoaa enemmän joustavuutta. Johtaminen suoraan on turvallisempi yhteys pitkällä aikavälillä, mutta se tarkoittaa, että kyseisen komponentin käyttäminen toisessa projektissa on vaikeampaa. Huomaa, että jos olet käyttänyt otsikoita GPS -kilvessä, sinulla on edelleen riittävästi joustavuutta riippumatta siitä, mitä teet. Tärkeintä on varmistaa, että GPS: n nastojen 0 ja 1 GPS -datajohdot on helppo irrottaa ja vaihtaa.

Projektimme lopussa emme pystyneet suunnittelemaan hyvää menetelmää kaikkien komponenttien kiinnittämiseksi runkoon. Luokkamme aikapaineen vuoksi ratkaisumme pyörivät yleensä kaksipuolisen vaahtoteipin, teipin, sähköteipin ja vetoketjujen ympärillä. Suosittelemme, että käytät enemmän aikaa vakaiden asennusrakenteiden suunnitteluun, jos suunnittelet tämän olevan pidemmän aikavälin projekti. Jos haluat vain tehdä nopean prototyypin, seuraa rohkeasti prosessiamme. Varmista kuitenkin, että gyro on asennettu tukevasti. Tämä on ainoa tapa, jolla Arduino tietää, mitä quadcopter tekee, joten jos se liikkuu lennon aikana, sinulla on ongelmia.

Kun kaikki on kytketty ja paikallaan, ota LiPo -akku ja liu'uta se kehyksen ylä- ja alalevyn väliin. Varmista, että sen liitin osoittaa samaan suuntaan kuin PDB: n liitin ja että ne voivat itse asiassa muodostaa yhteyden. Käytimme teippiä pitämään akku paikallaan (tarranauha toimii myös, mutta ärsyttää enemmän kuin teippi). Teippi toimii hyvin, koska akun voi helposti vaihtaa tai poistaa sen latausta varten. Sinun on kuitenkin oltava varma, että teippaat akun tiukasti alas, sillä akku liikkuu lennon aikana, mikä voi vakavasti häiritä dronin tasapainoa. ÄLÄ kytke akkua vielä ATE: hen.

Vaihe 6: Yhdistä komponentit ja aseta akku (mega)

Yhdistä komponentit ja aseta akku (mega)
Yhdistä komponentit ja aseta akku (mega)
Yhdistä komponentit ja aseta akku (mega)
Yhdistä komponentit ja aseta akku (mega)
Yhdistä komponentit ja aseta akku (mega)
Yhdistä komponentit ja aseta akku (mega)

Yllä oleva kaavio valmistettiin käyttämällä Fritzing -ohjelmistoa, jota suositellaan erityisesti arduino -kaavioihin. Käytimme enimmäkseen geneerisiä osia, koska osamme eivät yleensä olleet Fritzingin mukana toimitetussa osakirjastossa.

-Huomaa, että tämä kaavio edellyttää, että GPS -suoja on asennettu oikein, joten GPS ei näy tässä kaaviossa.

-Käännä Mega 2560: n kytkin asentoon "Soft Serial".

-Kytke nyt kaikki komponentit yllä olevan kaavion mukaisesti (paitsi akku!)

-Huomaa, että olet jo kytkenyt ESC: t moottoreihin ja ATE: hen, joten tämä osa kaaviosta on tehty.

-Hyppyjohdot nastasta 8 Rx ja nasta 7 Tx ovat olemassa, koska (toisin kuin Uno, jolle tämä suoja on tehty), mega-laitteesta puuttuu universaali asynkroninen vastaanotin-lähetin (UART) nastoissa 7 ja 8, ja näin ollen meidän on käytettävä laitteistosarjanappeja. On olemassa muita syitä, miksi tarvitsemme laitteistosarjanappeja, joista keskustellaan myöhemmin.

-Kun kytket RC -vastaanottimen, katso yllä oleva kuva. Huomaa, että datajohdot menevät yläriville, kun taas Vin ja Gnd ovat toisella ja kolmannella rivillä (ja toiseksi kauimpana olevasta nastojen sarakkeesta).

-HC-12-lähetin-vastaanottimen, RC-vastaanottimen ja 5Voutin johdotukseen ATE: sta Arduinon Viniin käytimme pinottavia otsikoita, kun taas gyrossa juotimme johdot suoraan ja kutisteputkella juotoksen ympärille. Voit valita kumman tahansa komponentin. Otsikoiden käyttö on hieman enemmän työtä edessä, mutta tarjoaa enemmän joustavuutta. Johtaminen suoraan on turvallisempi yhteys pitkällä aikavälillä, mutta se tarkoittaa, että kyseisen komponentin käyttäminen toisessa projektissa on vaikeampaa. Huomaa, että jos olet käyttänyt otsikoita GPS -kilvessä, sinulla on edelleen riittävästi joustavuutta riippumatta siitä, mitä teet.

Projektimme lopussa emme pystyneet suunnittelemaan hyvää menetelmää kaikkien komponenttien kiinnittämiseksi runkoon. Luokkamme aikapaineen vuoksi ratkaisumme pyörivät yleensä kaksipuolisen vaahtoteipin, teipin, sähköteipin ja vetoketjujen ympärillä. Suosittelemme, että käytät enemmän aikaa vakaiden asennusrakenteiden suunnitteluun, jos suunnittelet tämän olevan pidemmän aikavälin projekti. Kaiken tämän jälkeen, jos haluat vain tehdä nopean prototyypin, voit vapaasti seurata prosessiamme. Varmista kuitenkin, että gyro on asennettu tukevasti. Tämä on ainoa tapa, jolla Arduino tietää mitä quadcopter tekee, joten jos se liikkuu lennon aikana, sinulla on ongelmia.

Kun kaikki on kytketty ja paikallaan, ota LiPo -akku ja liu'uta se kehyksen ylä- ja alalevyn väliin. Varmista, että sen liitin osoittaa samaan suuntaan kuin PDB: n liitin ja että ne voivat itse asiassa muodostaa yhteyden. Käytimme teippiä pitämään akku paikallaan (tarranauha toimii myös, mutta ärsyttää enemmän kuin teippi). Teippi toimii hyvin, koska akun voi helposti vaihtaa tai poistaa sen latausta varten. Sinun on kuitenkin oltava varma, että teippaat akun tiukasti alas, sillä akku liikkuu lennon aikana, mikä voi vakavasti häiritä dronin tasapainoa. ÄLÄ kytke akkua vielä ATE: hen.

Vaihe 7: Sido vastaanotin

Sido vastaanotin
Sido vastaanotin
Sido vastaanotin
Sido vastaanotin

Ota RC -vastaanotin ja liitä se väliaikaisesti 5 V: n virtalähteeseen (joko kytkemällä Arduino -virta USB- tai 9 V -virralla tai erillisellä virtalähteellä. Älä liitä LiPo -laitetta Arduinoon vielä). Ota RC -vastaanottimen mukana toimitettu sidontatappi ja aseta se vastaanottimen BIND -nastoihin. Vaihtoehtoisesti lyhennä BIND -sarakkeen ylä- ja alatapit kuten yllä olevassa kuvassa. Punaisen valon pitäisi vilkkua nopeasti vastaanottimessa. Ota nyt ohjain ja paina sen takana olevaa painiketta, kun se on pois päältä, kuten yllä. Käynnistä ohjain painamalla painiketta. Nyt vastaanottimen vilkkuvan valon pitäisi palaa tasaisesti. Vastaanotin on sidottu. Irrota sidekaapeli. Jos käytät toista virtalähdettä, kytke vastaanotin uudelleen 5 V: n Arduinon ulostuloon.

Vaihe 8: (Valinnainen) Yhdistä ja asenna FPV -kamerajärjestelmä

(Valinnainen) Yhdistä ja asenna FPV -kamerajärjestelmä
(Valinnainen) Yhdistä ja asenna FPV -kamerajärjestelmä
(Valinnainen) Yhdistä ja asenna FPV -kamerajärjestelmä
(Valinnainen) Yhdistä ja asenna FPV -kamerajärjestelmä

Juotetaan ensin XT-60-sovitin yhteen näytön virta- ja maadoitusjohtojen kanssa. Ne voivat vaihdella näytöstä toiseen, mutta virta on lähes aina punainen, maa lähes aina musta. Aseta nyt juotettu johto sovitin 1000 mAh: n LiPo-laitteeseesi XT-60-pistokkeella. Näytön pitäisi käynnistyä (yleensä) sinisellä taustalla. Se on vaikein vaihe!

Kierrä nyt vastaanottimen ja lähettimen antennit kiinni.

Liitä pieni 500 mAh: n Lipo lähettimeen. Oikeanpuoleisin nasta (aivan antennin alapuolella) on maadoitettu (V_) akusta, seuraava nasta vasemmalla on V+. Ne tulevat kolme johtoa, jotka menevät kameraan. Kamerassa tulee olla kolmiosainen pistoke, joka sopii lähettimeen. Varmista, että keltainen datajohto on keskellä. Jos käytit linkitettyjä paristoja tähän tarkoitettuihin pistokkeisiin, tämän vaiheen ei pitäisi vaatia juottamista.

Kytke lopuksi toinen 1000 mAh: n akku vastaanottimesi mukana toimitetulla DC -lähtöjohdolla ja kytke se sitten vastaanottimen DC -porttiin. Kytke lopuksi vastaanottimen mukana tulleen AVin -kaapelin musta pää vastaanottimen AVin -porttiin ja toinen (keltainen, naaras) pää näytön AVin -kaapelin keltaiseen urospäähän.

Tässä vaiheessa sinun pitäisi pystyä näkemään kameranäkymä näytöllä. Jos et voi, varmista, että vastaanotin ja lähetin ovat päällä (sinun pitäisi nähdä numerot pienillä näytöillä) ja että ne ovat samalla kanavalla (käytimme kanavaa 11 molemmille ja menestyimme hyvin). Lisäksi sinun on ehkä vaihdettava näytön kanavaa.

Asenna osat runkoon.

Kun asennus on valmis, irrota paristot pistorasiasta, kunnes olet valmis lentämään.

Vaihe 9: Määritä GPS -tietojen vastaanotto

Määritä GPS -datan vastaanotto
Määritä GPS -datan vastaanotto
Määritä GPS -datan vastaanotto
Määritä GPS -datan vastaanotto

Kytke toinen Arduino toisella HC-12-lähetinvastaanottimella yllä olevan kaavion mukaisesti. Muista kuitenkin, että asennus saa virtaa vain näytöllä, jos se on kytketty tietokoneeseen. Lataa mukana toimitettu lähetin -vastaanottimen koodi, avaa sarjamonitori 9600 baudiin.

Jos käytät perusasetuksia, sinun pitäisi alkaa vastaanottaa GPS-lauseita, jos GPS-suojaasi on virta ja se on kytketty oikein toiseen HC-12-lähetinvastaanottimeen (ja jos suojakytkin on asennossa "Suora kirjoitus").

Varmista Megan kanssa, että kytkin on asennossa "Soft Serial".

Vaihe 10: Suorita asennuskoodi (Uno)

Tämä koodi on sama kuin Joop Brokkingin käyttämä Arduinon nelikopteriohjeessa, ja hän ansaitsee kaikki kiitokset sen kirjoittamisesta.

Kun akku on irrotettu, liitä tietokone Arduinoon USB -johdolla ja lähetä liitteenä oleva asennuskoodi. Kytke RC -lähetin päälle. Avaa sarjamonitori 57600 baudiin ja noudata ohjeita.

Yleisiä virheitä:

Jos koodin lataaminen epäonnistuu, varmista, että nastat 0 ja 1 on irrotettu pistorasiasta UNO/GPS -kilvessä. Tämä on sama laiteportti, jota laite käyttää kommunikoimiseen tietokoneen kanssa, joten sen on oltava ilmainen.

Jos koodi ohittaa useita vaiheita kerralla, tarkista, että GPS -kytkin on "Direct Write" -asennossa.

Jos vastaanotinta ei tunnisteta, varmista, että vastaanottimessa on tasainen (mutta himmeä) punainen valo, kun lähetin on päällä. Jos näin on, tarkista johdotus.

Jos gyroskooppia ei havaita, se voi johtua siitä, että gyroskooppi on vaurioitunut tai jos sinulla on erilainen gyroskooppi kuin koodi, jolle koodi on tarkoitettu.

Vaihe 11: Suorita asennuskoodi (Mega)

Tämä koodi on sama kuin Joop Brokkingin käyttämä Arduinon nelikopteriohjeessa, ja hän ansaitsee kaikki kiitokset sen kirjoittamisesta. Me yksinkertaisesti sovitimme Mega -johdotuksen niin, että vastaanottimen tulot vastasivat oikeita nastanvaihdon keskeytys nastoja.

Kun akku on irrotettu, liitä tietokone Arduinoon USB -johdolla ja lähetä liitteenä oleva asennuskoodi. Avaa sarjamonitori 57600 baudiin ja noudata ohjeita.

Vaihe 12: ESC: n kalibrointi (Uno)

Tämä koodi on jälleen sama kuin Joop Brokkingin koodi. Kaikki muutokset tehtiin GPS: n ja Arduinon integroimiseksi, ja ne löytyvät myöhemmin kehittyneemmän nelikopterin rakennekuvauksesta.

Lataa liitteenä oleva ESC -kalibrointikoodi. Kirjoita sarjamonitoriin r -kirjain ja paina Return. Sinun pitäisi alkaa nähdä reaaliaikaiset RC -ohjaimen arvot. Varmista, että ne vaihtelevat 1000: sta 2000: een kaasun, rullauksen, nousun ja kääntymisen äärirajoilla. Kirjoita sitten a ja paina Return. Anna gyrokalibroinnin mennä ja varmista sitten, että gyro rekisteröi quadin liikkeen. Irrota nyt arduino tietokoneesta, työnnä kaasuvipu kokonaan ylös ohjaimesta ja kytke akku. Sähkökäyttöisten ohjauslaitteiden tulisi kiertää eri äänimerkkejä (mutta tämä voi vaihdella ESC: n ja sen laiteohjelmiston mukaan). Työnnä kaasuvipu kokonaan alas. ESC -laitteiden pitäisi antaa alhaisemmat äänimerkit ja hiljentyä. Irrota akku.

Vaihtoehtoisesti voit tässä vaiheessa käyttää moottorin kiinnitystarvikkeiden mukana toimitettuja kartioita ruuvataksesi potkurit tiukasti kiinni. Syötä sitten sarjamonitorin numerot 1 - 4 käynnistääksesi moottorit 1 - 4 pienimmällä teholla. Ohjelma rekisteröi rekvisiittien epätasapainosta johtuvan tärinän määrän. Voit yrittää korjata tämän lisäämällä pieniä määriä teippiä rekvisiittien toiselle puolelle. Huomasimme, että voimme saada hienon lennon ilman tätä askelta, mutta ehkä hieman vähemmän tehokkaasti ja äänekkäämmin kuin olisimme tasapainottaneet rekvisiitta.

Vaihe 13: Kalibroi ESC (mega)

Tämä koodi on hyvin samanlainen kuin Brokkingin koodi, mutta mukautimme sen (ja vastaavat johdotukset) toimimaan Megan kanssa.

Lataa liitteenä oleva ESC -kalibrointikoodi. Kirjoita sarjamonitoriin r -kirjain ja paina Return. Sinun pitäisi alkaa nähdä reaaliaikaiset RC -ohjaimen arvot. Varmista, että ne vaihtelevat 1000: sta 2000: een kaasun, rullauksen, nousun ja kääntymisen äärirajoilla.

Kirjoita sitten a ja paina Return. Anna gyrokalibroinnin mennä ja varmista sitten, että gyro rekisteröi quadin liikkeen.

Irrota nyt arduino tietokoneesta, työnnä kaasuvipu kokonaan ylös ohjaimesta ja kytke akku. ESC -laitteiden pitäisi antaa kolme matalaa äänimerkkiä ja sen jälkeen korkea piippaus (mutta tämä voi vaihdella ESC: n ja sen laiteohjelmiston mukaan). Työnnä kaasuvipu kokonaan alas. Irrota akku.

Muutokset, jotka teimme tähän koodiin, olivat siirtyä PORTD: n käyttämisestä ESC -nastoille PORTA: n käyttöön ja muuttaa sitten näihin portteihin kirjoitettuja tavuja niin, että aktivoimme oikeat nastat kytkentäkaavion mukaisesti. Tämä muutos johtuu siitä, että PORTD -rekisterinastat eivät ole samassa paikassa Megassa kuin Unossa. Emme ole voineet testata tätä koodia täysin, koska työskentelimme koulumme myymälässä olevan vanhan merkin Mega kanssa. Tämä tarkoitti, että jostain syystä kaikki PORTA -rekisterinastat eivät pystyneet aktivoimaan ESC: itä kunnolla. Meillä oli myös vaikeuksia käyttää tai yhtä kuin operaattoria (| =) joissakin testikoodeissamme. Emme ole varmoja, miksi tämä aiheutti ongelmia kirjoitettaessa tavuja ESC -nastajännitteiden asettamiseksi, joten muutimme Brookingin koodia mahdollisimman vähän. Mielestämme tämä koodi on hyvin lähellä toiminnallisuutta, mutta kilometrimäärä voi vaihdella.

Vaihe 14: Hanki ilmassa !! (Uno)

Ja jälleen, tämä kolmas nero -koodi on Joop Brokkingin työ. Kaikkien näiden kolmen koodin muutokset ovat läsnä vain yrittäessämme integroida GPS -tiedot Arduinoon.

Kun potkurit on asennettu tukevasti runkoon ja kaikki komponentit on kiinnitetty, teipattu tai muuten kiinnitetty, lataa lennonohjaimen koodi Arduinoosi ja irrota sitten Arduino tietokoneesta.

Vie nelikopteri ulos, kytke akku ja kytke lähetin päälle. Voit halutessasi ottaa mukaan kannettavan tietokoneen, joka on liitetty GPS -vastaanottoasetuksiin sekä videon vastaanottoasetuksiin ja näyttöön. Lataa lähetin -vastaanottimen koodi maanpäälliseen Arduino -laitteeseesi, avaa sarjamonitorisi 9600 baudin taajuudelle ja katso, kuinka GPS -data saapuu sisään.

Nyt olet valmis lentämään. Työnnä kaasuvipu alas ja käännä vasemmalle kääntääksesi nelikopteria ja nosta sitten kaasu varovasti ylös. Aloita lentämällä alas maahan ja pehmeiden pintojen, kuten ruohon, päälle, kunnes tunnet olosi mukavaksi.

Katso upotettu video meistä innokkaasti lentämällä dronea ensimmäistä kertaa, kun saimme dronin ja GPS: n toimimaan samanaikaisesti.

Vaihe 15: Hanki ilmassa !! (Mega)

Keskeytyksemme vuoksi Megan ESC -kalibrointikoodilla emme pystyneet luomaan lennonohjaimen koodia tälle levylle. Jos olet päässyt tähän pisteeseen, kuvittelen, että olet ainakin piilottanut ESC -kalibrointikoodin saadaksesi sen toimimaan Megan kanssa. Siksi sinun on todennäköisesti tehtävä samanlaisia muutoksia lennonohjaimen koodiin kuin viime vaiheessa. Jos ESC -kalibrointikoodimme Megalle toimii taianomaisesti ilman muita muutoksia, sinun on vain tehtävä muutamia asioita varastokoodiin, jotta se toimisi tässä vaiheessa. Sinun on ensin käytävä läpi ja korvattava kaikki PORTD -esiintymät PORTAlla. Älä myöskään unohda vaihtaa DDRD -muotoa DDRA -muotoon. Sitten sinun on muutettava kaikki PORTA -rekisteriin kirjoitettavat tavut, jotta ne aktivoivat oikeat nastat. Voit tehdä tämän käyttämällä tavua B11000011 asettaaksesi nastat korkeaksi ja B00111100 asettaaksesi nastat matalaksi. Paljon onnea, ja kerro meille, jos olet onnistunut lentämään Mega -laitteella!

Vaihe 16: Kuinka pääsimme nykyiseen mega -suunnitteluun

Tämä projekti oli valtava oppimiskokemus meille Arduinon ja elektroniikan harrastajien aloittelijoille. Siksi sisällyttäisimme myös tarinan kaikesta, mitä kohtasimme yrittäessämme ottaa GPS -käyttöön Joop Brokkingin koodin. Koska Brokkingin koodi on niin perusteellinen ja paljon monimutkaisempi kuin kaikki kirjoittamamme, päätimme muokata sitä mahdollisimman vähän. Yritimme saada GPS -suojan lähettämään tietoja Arduinolle ja sitten Arduinon lähettämään nämä tiedot meille HC12 -lähetinvastaanottimen kautta muuttamatta lentokoodia tai johdotusta millään tavalla. Tutkittuamme Arduino Unon kaavioita ja johdotuksia selvittääksemme, mitä tappeja oli saatavilla, muutimme käyttämäämme GPS -lähetin -vastaanottimen koodia kiertääksemme olemassa olevan mallin. Sitten testasimme sen varmistaaksemme, että kaikki toimi. Tässä vaiheessa asiat näyttivät lupaavilta.

Seuraava askel oli integroida juuri muokattu ja testattu koodi Brokkingin lennonohjaimella. Tämä ei ollut liian vaikeaa, mutta törmäsimme nopeasti virheeseen. Brokkingin lennonohjain luottaa Arduino Wire- ja EEPROM -kirjastoihin, kun taas GPS -koodimme käytti sekä Software Serial -kirjastoa että Arduino GPS -kirjastoa. Koska Wire Library viittaa Software Serial -kirjastoon, törmäsimme virheeseen, jossa koodi ei kääntyisi, koska _vector 3_: lle oli useita määritelmiä, mitä tämä tarkoittaa. Tutkittuamme Googlea ja kaivaudessamme kirjastoissa huomasimme lopulta, että tämä kirjastokonflikti teki mahdottomaksi käyttää näitä koodikappaleita yhdessä. Lähdimme siis etsimään vaihtoehtoja.

Tajusimme, että ainoa kirjastojen yhdistelmä, joka ei heittänyt meille virhettä, oli tavallisen GPS -kirjaston vaihtaminen neoGPS: ään ja sitten AltSoftSerialin käyttäminen Software Serialin sijaan. Tämä yhdistelmä toimi, mutta AltSoftSerial voi toimia vain tietyillä nastoilla, joita ei ollut saatavilla suunnittelussamme. Tämä johtaa meidät Megan käyttöön. Arduino Megasilla on useita laitteistosarjaportteja, mikä tarkoitti sitä, että voisimme ohittaa tämän kirjastoristiriidan tarvitsematta avata ohjelmistojen sarjaportteja lainkaan.

Kuitenkin, kun aloitimme Megan käytön, huomasimme nopeasti, että nastan kokoonpano oli erilainen. Unon nastat, joissa on keskeytyksiä, ovat Megassa erilaisia. Samoin SDA- ja SCL -nastat olivat eri paikoissa. Tutkittuamme kunkin Arduino-tyypin nastakaaviot ja tarkistamalla koodiin kutsutut rekisterit, pystyimme suorittamaan lentoasetuskoodin vain vähäisellä uudelleenjohdotuksella ja ilman ohjelmistomuutoksia.

ESC: n kalibrointikoodi on se kohta, jossa aloimme kohdata ongelmia. Käsittelimme tätä lyhyesti ennen, mutta pohjimmiltaan koodi käyttää pin -rekistereitä säätääkseen ESC: iden ohjaamiseen käytettäviä nastoja. Tämä vaikeuttaa koodin lukemista kuin tavallisen pinMode () -toiminnon käyttäminen; se kuitenkin nopeuttaa koodia ja aktivoi nastat samanaikaisesti. Tämä on tärkeää, koska lentokoodi kulkee huolellisesti ajoitetussa silmukassa. Koska Arduinojen nastat eroavat toisistaan, päätimme käyttää Mega -porttirekisteriä A. Testauksessamme kaikki nastat eivät kuitenkaan antaneet meille samaa lähtöjännitettä, kun niitä kehotettiin käymään korkealla. Joidenkin nastojen ulostulo oli noin 4,90 V ja toiset lähettivät meitä 4,95 V. Ilmeisesti meillä olevat ESC: t ovat hieman nirsoja, joten ne toimisivat kunnolla vain silloin, kun käytimme korkeamman jännitteen nastoja. Tämä pakotti meidät muuttamaan rekisteröimämme tavut rekisteriin A niin, että puhuimme oikeille nastoille. Lisätietoja tästä on ESC -kalibrointi -osiossa.

Tämä on suunnilleen siinä määrin kuin saavutimme tässä projektin osassa. Kun menimme testaamaan tätä muutettua ESC -kalibrointikoodia, jotain oikosulkua ja menetimme yhteyden Arduinomme kanssa. Olimme erittäin hämmentyneitä tästä, koska emme olleet muuttaneet mitään johtoja. Tämä pakotti meidät astumaan taaksepäin ja ymmärtämään, että meillä oli vain pari päivää saada lentävä drone sen jälkeen, kun viikkoja oli yritetty sovittaa yhteen yhteensopimattomat kappaleet. Tästä syystä menimme taaksepäin ja loimme yksinkertaisemman projektin Unon kanssa. Uskomme kuitenkin edelleen, että lähestymistapamme on lähellä työskentelyä Megan kanssa hieman enemmän aikaa.

Tavoitteenamme on, että tämä selitys havaitsemistamme esteistä on hyödyllinen sinulle, jos työskentelet Brokking -koodin muokkaamisen parissa. Meillä ei myöskään koskaan ollut mahdollisuutta kokeilla GPS: ään perustuvien itsenäisten ohjausominaisuuksien koodausta. Tämä on asia, joka sinun on selvitettävä, kun olet luonut toimivan dronin Mega -laitteella. Joidenkin Googlen alustavien tutkimusten perusteella näyttää kuitenkin siltä, että Kalman -suodattimen käyttöönotto voi olla vakain ja tarkin tapa määrittää sijainti lennossa. Suosittelemme, että tutkit hieman, miten tämä algoritmi optimoi tila -arviot. Muuten onnea ja kerro meille, jos saavut pidemmälle kuin pystyimme!

Suositeltava: