INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
In hierdie instruksies gaan ek 'n arduino -gebaseerde vegdata -opnemer bou vir RC -voertuie, spesifiek RC -vliegtuie. Ek gaan 'n UBlox Neo 6m GPS -module gebruik wat gekoppel is aan 'n arduino pro mini en 'n SD -kaartskerm om die data op te neem. Hierdie projek gaan onder meer die breedtegraad, lengtegraad, snelheid, hoogte en batteryspanning opneem. Hierdie data word verryk vir 'n beter kykervaring met behulp van Google Earth Pro.
Stap 1: Gereedskap en onderdele
Dele
- Ublox NEO 6m GPS -module: eBay/Amazon
- Micro SD -kaartmodule: eBay/Amazon
- Micro SD -kaart (hoë spoed of kapasiteit nie nodig nie): Amazon
- Arduino pro mini: eBay/Amazon
- FTDI programmeerder en ooreenstemmende kabel: eBay/Amazon
- Perfboard: ebay/amazon
- Aansluitdraad: eBay/Amazon
- Kopspelde: eBay/Amazon
- Gelykrigter: ebay/amazon
- 2x 1K ohm weerstand: eBay/Amazon
- 1500 mikron karton
Gereedskap
- Soldeerbout en soldeer
- Warm gom geweer
- Skootrekenaar of rekenaar
- Multimeter (nie streng nodig nie, maar ongelooflik nuttig)
- Helpende hande (weereens nie nodig nie, maar behulpsaam)
- Handwerkmes
Opsioneel
- Artikels wat gebruik word vir prototipering is nie nodig nie, maar baie nuttig
- Broodbord
- Arduino Uno
- Jumper Wires
Stap 2: Teorie en skematiese
Die brein van die toestel is die Arduino pro mini, dit word aangedryf deur die RC-voertuie (in my geval 'n vliegtuig) 'n Li-Po-batterybalanspoort. Ek het hierdie opstel vir 'n 2s -battery, maar dit kan maklik verander word vir ander batterygroottes.
Hierdie stuk is nie voltooi nie, ek sal hierdie instruksies opdateer wanneer die leesvlak van die bedieningsoppervlak voltooi is
Servo1 sal my motor se vliegtuigmotor wees, terwyl servo 2 my servo -uitset van die vlugbeheer sal wees
Die GPS -module ontvang data van die GPS -satelliete in die vorm van NMEA -snare. Hierdie string bevat liggingsinligting, maar ook die presiese tyd, spoed, koers, hoogte en baie ander nuttige data. Sodra 'n string ontvang is, word die inligting wat nuttig is vir hierdie projek onttrek met behulp van die TinyGPS -kodebiblioteek.
Hierdie data, tesame met die batteryspanning en die elevonposisie, word teen 'n snelheid van 1Hz aan die SD -kaart geskryf. Hierdie data is in CSV-formaat (deur komma-geskeide waarde) geskryf en sal met behulp van Google maps geïnterpreteer word om 'n vlugpad op te stel.
Stap 3: Prototipering
LET WEL: Die GPS -moduleverbindings word nie hierbo getoon nie. GPS is soos volg bedraad:
GND na Arduino -grond
VCC na Arduino 5V
RX na Arduino digitale pen 3
TX na Arduino digitale pen 2
Om te toets dat al die komponente korrek funksioneer, is dit die beste om alles op 'n broodbord neer te lê, aangesien u nie eers wil agterkom dat alles 'n defekte deel het nie. Die ekstra kodebiblioteek wat benodig word, is die TinyGPS -biblioteek, die skakel kan hieronder gevind word.
klein gps
Die onderstaande spanningstoetser toets slegs die spanningsmetingbaan. Die aanpassingswaarde moet verander word sodat die arduino die regte spanning kan aflees.
Die lêerskode word gebruik om die SD -kaartmodule en die mikro -SD -kaart te toets om seker te maak dat beide korrek lees en skryf.
Die gpsTest -kode wat gebruik word, word gebruik om seker te maak dat die gps korrekte data ontvang en korrek opgestel is. Hierdie kode gee u breedtegraad, lengtegraad en ander lewendige data weer.
As al hierdie dele korrek saamwerk, kan u na die volgende stap gaan.
Stap 4: Soldeer en bedrading
Voordat u enige van die soldeer of bedrading doen, lê al u komponente op 'n stuk karton en sny dit aan die buitekant van die komponente. Dit gaan u monteerplaat vir al u stukke wees.
Maak die printplaat deur die perfboard tot die kleinste grootte te sny, aangesien gewig en grootte prioriteite is. Soldeer die koppenne langs die rand van die snybord, dit is waar die poort vir die balans van die battery en in die toekoms die servo en die vlugbeheerder van die bedieningsoppervlak sal aansluit. Soldeer die 2 1k Ohm weerstande en die gelykrigter diode volgens die stroombaan diagram.
Soldeer die mikro -SD -kaartmodule aan die arduino se penne volgens die stroombaan -diagram, maak die verbindings met behulp van die AWG 24 -draad.
Maak weer die verbindings tussen die perfboard en die arduino volgens die kringdiagram en gebruik meer van dieselfde tipe draad.
LET WEL: die GPS is 'n elektrostatiese sensitiewe toestel, wees versigtig terwyl u soldeer en moet nooit 'n stroom deur die drade loop terwyl u verbindings maak nie
Soldeer die GPS-modules se penne aan die ooreenstemmende penne op die arduino met 'n lengte van ongeveer 3-4 cm (1-1,5 duim) draad, wat die GPS-module genoeg ruimte gee om oor te vou na die ander kant van die agterkantkaart.
Kontroleer en kontroleer die kontinuïteit van alle verbindings om seker te maak dat alles korrek bedraad is.
Monteer die SD -kaartmodule, The Arduino Pro Mini met warm gom, en u pasgemaakte perfboard aan die een kant van die karton en die GPS -module en antenna aan die ander kant.
As u al die stukke korrek bedraad en op die karton gemonteer het, is dit tyd om na die kode te gaan.
Stap 5: Die kode
Dit is die kode wat op die finale toestel loop. Terwyl hierdie kode gebruik word, sal die LED op GPS -module begin flits sodra die GPS 'n oplossing vir meer as 3 satelliete het. Die LED op die arduino -bord sal een keer knipper sodra die arduino begin om aan te toon dat die CSV -lêer suksesvol geskep is, en dan sal dit betyds met die GPS -LED knip as dit suksesvol aan die mikro -SD -kaart geskryf word. As die LED van die mikro -SD -kaart nie geïnisialiseer kan word nie en daar waarskynlik 'n probleem is met u bedrading of mikro -SD -kaart.
Hierdie kode sal 'n nuwe CSV -lêer skep elke keer as die program uitgevoer word, dit sal 'flightxx' genoem word, waar xx 'n getal is tussen 00 en 99 wat elke keer toeneem as die program uitgevoer word.
Om die huidige tydveld in die sigblad korrek te laat lyk, moet u die UTC (Coordinated Universal Time) na u korrekte tydsone omskakel. Vir my is die waarde UTC +2.0, aangesien dit die tydsone is waarin ek geleë is, maar dit kan in die kode verander word deur die "tydsone" float te verander.
Stap 6: Toets, toets, toets
Teen hierdie tyd behoort u 'n werkende stelsel te hê; dit is tyd om dit te toets, seker te maak dat alles werk soos verwag.
Sodra alles werk en u 'n uitset op die sigblad kry, lyk dit asof dit korrek is, om tydig aan te pas. Byvoorbeeld, ek het die toestel oorspronklik aan die onderkant van my vliegtuig met kabelbinders aangebring, maar na 'n ondersoek het ek agtergekom dat dit die hoeveelheid GPS -satelliete wat te alle tye te sien was, met ongeveer 40%verminder.
Toets u stelsel, maak seker dat alles werk en verfyn dit waar nodig.
Stap 7: Verryk u data
Noudat u 'n betroubare stelsel het, is dit tyd om uit te vind hoe u die data op 'n meer leesbare manier kan vertoon. Die sigblad is goed as u te alle tye die presiese snelheid wil hê, of as u presies wil kyk hoe u voertuig gedra het toe u 'n sekere aksie uitgevoer het, maar wat as u 'n hele vlug op 'n kaart wil teken of elke datapunt wil sien op 'n meer leesbare manier, is dit waar dataverryking nuttig is
Om ons data leesbaarder te sien, gaan ons google earth pro gebruik, klik hier om dit af te laai.
Nou moet u die CSV -lêer omskakel in 'n GPX -lêer wat makliker deur Google earth gelees kan word met behulp van GPS -visualiseerder. Kies uitvoer GPX, laai u CSV -lêer op en laai die omgeskakelde lêer af. Maak dan die GPX -lêer oop in google earth, en dit moet outomaties al die data invoer en in 'n mooi vlugpad plaas. Dit bevat ook bykomende inligting soos die opskrif op enige tydstip.
LET WEL: ek het die lang, lang data van die foto's verwyder, aangesien ek nie my presiese ligging wil bekend maak nie
Stap 8: Gevolgtrekking en moontlike verbeterings
Ek is dus oor die algemeen baie tevrede met hoe hierdie projek verloop het. Ek geniet dit om data van al my vlugte te hê. daar is egter 'n paar dinge waaraan ek wil werk.
Uiteraard wil ek die presiese posisie van die bedieningsoppervlakke kan lees. Ek het die meeste hardeware hiervoor, maar ek moet dit in die kode moontlik maak. Daar is nog 'n paar tegniese uitdagings wat ons moet oorkom.
Ek wil ook 'n barometer byvoeg vir meer akkurate hoogte -data, aangesien die GPS -hoogte -data tans nie veel meer as 'n opgevoede raaiskoot lyk nie.
Ek dink dat die toevoeging van 'n drie-as versnellingsmeter koel sou wees, sodat ek presies kon sien hoeveel g-krag die vliegtuig te eniger tyd verduur.
Skep miskien 'n omhulsel van een of ander aard. Tans met die blootgestelde komponente en bedrading is dit nie baie elegant of robuust nie.
Laat weet my asseblief as u verbeterings of aanpassings aan die ontwerp kry, ek sal dit graag wil sien.