Innehållsförteckning:

Old Man and the Arduino GPS: 6 steg (med bilder)
Old Man and the Arduino GPS: 6 steg (med bilder)

Video: Old Man and the Arduino GPS: 6 steg (med bilder)

Video: Old Man and the Arduino GPS: 6 steg (med bilder)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Juni
Anonim
Old Man and the Arduino GPS
Old Man and the Arduino GPS
Old Man and the Arduino GPS
Old Man and the Arduino GPS
Old Man and the Arduino GPS
Old Man and the Arduino GPS

Så denna Lazy Old Geek (L. O. G.) har inte kunnat göra en instruerbar på några år. Vid 70 år fungerar hjärnan inte lika bra som förr och det är svårt att fokusera på stora projekt, än mindre försöka skriva om dem.

(Jag deltar i Arduino Contest.)

Men med hjälp av min kärleksfulla hund, Sadie och min CPAP -maskin, ska jag prova. Sadie är min antidepressiva, håller humöret uppe och vi går varje morgon. Min CPAP hjälper mig att sova bättre och tänker därför lite bättre.

GPS: Tja, jag har alltid varit intresserad av GPS. De flesta kommersiella GPS-enheter kan bara identifiera ner till 2-3 meter. Min kusin, som är en stor bonde säger att hans utrustning kan göra mycket bättre. Jag vet att en av de lokala bönderna använder sina John Deere -traktorer för att plantera grödor i fåror med hjälp av anpassad GPS.

Jag spenderar mycket tid på att surfa på Internet och har läst om prisvärda GPS: er som kan mäta ner till centimeter! Otrolig. På den praktiska sidan behöver jag inte det. När jag går promenader behöver jag inte riktigt veta var jag är. Även på resor använder jag min smartphone med Android Auto för att meddela mig var jag är.

Men jag är också en teknogeek, så jag började titta på GPS för hobbyister. En av de mest populära var Adafruit Ultimate GPS.

www.adafruit.com/?q=ultimate

Steg 1: Adafruit fjäder

Adafruit fjäder
Adafruit fjäder
Adafruit fjäder
Adafruit fjäder
Adafruit fjäder
Adafruit fjäder
Adafruit fjäder
Adafruit fjäder

Tja, en av versionerna av Adafruit Ultimate GPS är Featherwing. Nu har jag aldrig hört talas om Adafruit Feather -serien, så mer surf. Wow, Adafruit och Lady Ada har utvecklat ett helt gäng mikrokontroller och tillbehör baserat på en liten plattform som heter Feather. För Arduinoites liknar den den grundläggande Arduino UNO -plattformen men mindre och mer uppdaterad. Adafruit utvecklade också all programvara så att de kunde vara kompatibla med Arduino -programvaran.

Jag uppskattar verkligen det arbete Adafruit och Lady Ada har gjort för DIYers och jag gillade verkligen Feather M4 Express:

www.adafruit.com/product/3857

Till skillnad från standard Arduino med 16mHz klocka är den supersnabb med 120mHz klocka. Det är 3,3V som är i stort sett den nya standarden för ny DIY -elektronik. Det är kompatibelt med Arduino som jag är ganska bekant med plus att det också kan programmeras med Circuit Python (Adafruits anpassade version av Python). Jag är gammal och har svårt att lära mig nya saker men det här skulle ge mig en chans att förgrena mig.

Så jag beställde en begagnad på ebay och beställde också en från Mouser. Amazon, Mouser och DigiKey har några av Adafruit -produkterna. Jag skulle ha velat köpa en direkt från Adafruit men då hade de inte alla FeatherWings jag ville få. I det här fallet är det billigare att beställa många saker samtidigt så att du inte behöver betala lika mycket fraktkostnader. I mitt fall kostar tre varor lika mycket att skicka som en.

PROBLEM: JST2.0 batterikontakt på M4express. För länge sedan köpte jag ett gäng JST2.0 -strömkontakter som bilden. Tyvärr är det röda/svarta mittemot vad M4express använder, och jag har många batterier och projekt som använder denna polaritet.

Jaja. Det är lätt att ta bort ledningarna från kontakten och byta position. Så jag gjorde detta med flera batterier och en LiPo -laddare. Jag lägger lite rött nagellack på dem så förhoppningsvis kommer jag inte att blanda ihop dem.

För M4express valde jag att använda de kvinnliga rubrikerna med långa stift. Se bild. Detta gjorde att FeatherWings som min GPS kunde anslutas till toppen. Plus att M4express kan anslutas till FeatherWings som den 3,5”TFT som jag köpte.

För den här applikationen används inte stiften så jag hade ett litet Protoboard och kopplade in M4express i detta så att tapparna inte exponeras och inte kan böjas när jag bär runt det.

Steg 2: Min GPS FeatherWing

Min GPS FeatherWing
Min GPS FeatherWing
Min GPS FeatherWing
Min GPS FeatherWing
Min GPS FeatherWing
Min GPS FeatherWing

Adafruit Ultimate GPS Featherwing

www.adafruit.com/product/3133

En av de stora sakerna jag gillar med Adafruit är att de dokumenterar sina produkter kraftigt, jag antar att hobbyister kan bygga egna. Nu har M4express en SMD -mikrokontroller som är för liten för att en gammal man som jag kan arbeta med så jag köpte ett par istället för att försöka göra en. Men FeatherWing Ultimate GPS är lite bättre så jag bestämde mig för att försöka göra min egen. Så jag beställde en MediaTek (GlobalTop) GPS MTK3339 -modul från Ebay eller Aliexpress (kommer inte ihåg). Ibland kallas det LadyBird1.

Så med Eagle Cadsoft, (nu, Autodesk) programvara kopierade jag Adafruits schema och ändrade den. Först kan jag bara göra enkelsidiga PCB och för det andra har jag inte många SMD -komponenter så jag förenklade det.

GPS_MTK3339.zip

Så jag gjorde kretskortet med min toneröverföringsmetod:

www.instructables.com/id/Vinyl-Sticker-PCB-How-To/

PROBLEM: Som jag ibland minns är jag gammal och här har jag några problem. För det mesta kan jag inte se närbild så bra, så jag använder ett av dessa hobbyverktyg och ett upplyst förstoringsglas (se bilder) jag fick från Aliexpress. Jag använder ett Aoyue -lödkolv så att jag kan styra temperaturen och välja lödtips.

Även med allt detta hade jag många problem med att löda GPS -modulens stift och u.fl -antennkontakten. Jag använder också ett Dremel-klonverktyg för att borra hålen. Jag kan aldrig borra raka hål men lyckligtvis fick allt att fungera.

Förresten, jag beställde några SMD 0805 ferritpärlor men fick dem aldrig så väntar på några fler. Under tiden löd jag en tråd över kontakterna för att få det att fungera. Ferritpärlan ska minska bruset på spänningsstiftet till GPS -chipet.

Steg 3: MicroSD -kortläsare

MicroSD -kortläsare
MicroSD -kortläsare
MicroSD -kortläsare
MicroSD -kortläsare
MicroSD -kortläsare
MicroSD -kortläsare
MicroSD -kortläsare
MicroSD -kortläsare

Ok, så GPS: n fungerade ganska bra men den fungerade bara när den var knuten till en dator så att du kan se vad som händer. För att vara mer användbar behöver jag något som inte är kopplat till en dator, till exempel en bildskärm eller ett micro SD -kort. För tillfället ville jag lagra GPS -information. Adafruit har några FeatherWings med microSD -kort, som 3,5”-skärmen och RTC -kortet. Men jag ville inte stapla FeatherWings så jag kopierade microSD -kretsarna från RTC -kortet och gjorde mitt eget.

Eftersom jag inte ville stapla ytterligare en FeatherWing, kom jag på en plan för att fästa detta på mitt GPS -kretskort. Eftersom kretsen är ganska enkel, gjorde jag den bara med fem kuddar så att jag kan fästa ledningar till detta kretskort och till mitt GPS -kort.

MyDataLogger.zip

Så för att fästa detta placerade jag det under mitt GPS-kretskort, lödde på några trådlindade trådar och kopplade dem till mitt GPS-kretskort. För vissa klippte jag bort en del av isoleringen på huvudstiften, så att jag kunde löda trådarna utan att störa kretskortet på M4express. Det borde du kunna se på bilden. Sedan använde jag lite Gorillalim för att försiktigt limma ihop de två korten. Var mycket försiktig eftersom Gorilla Lim expanderar.

PROBLEM: Jo, det här är faktiskt med microSD -korten. Jag beställde några microSD -kort på ebay. Jag fick reda på att det är skillnad mellan enkla microSD -kort och microSDHC -kort. För det första kan några av de äldre adaptrarna som jag har (förmodligen) inte läsa HC -versionerna. För det andra är microSDHC -versionerna från 4 GB till 32 GB. Det finns en annan version som heter microSDXC med 64 GB och större storlekar. Jag fick väl 64 GB kort men kunde inte läsa dem med mina adaptrar. Jag kunde inte förstå vad som var fel. Men efter att ha fått reda på skillnaderna tänkte jag att mina adaptrar kanske inte kunde läsa HC -versionen men ytterligare forskning sa att HC -versionen är högst 32 gB och som bilden visar är dessa märkta med microSDHC 64 gB. Även om det står Kingston att det här är förfalskningar. Jag kontaktade säljaren och han återbetalade mina pengar omgående. Du kan hitta mycket på Internet om falska microSD -kort.

Trots att de är förfalskade betyder det inte att de inte fungerar. Jag väntar på ett par nya adaptrar som ska kunna läsa några HC -kort, plus att jag beställde några olika HC -kort.

Steg 4: GPS -antenn

GPS -antenn
GPS -antenn
GPS -antenn
GPS -antenn
GPS -antenn
GPS -antenn

Ännu en gammal katastrof. Så jag beställde en aktiv GPS-antenn och en RP-SMA till u.fl-adapter från ebay/Aliexpress. Förresten, jag hade glömt att jag redan hade en av dessa adaptrar. Hur som helst, jag fick äntligen in antennen och den passade inte in i adaptern. Nu tror jag att många av dessa kinesiska leverantörer inte riktigt förstår vad de säljer. Många identifierar t.ex. inte kontakterna på antenner och vissa visar det inte ens tydligt på bilderna. Jag tror att den jag fick visade kontakten ganska bra men identifierade den inte. Tja, efter lite forskning (tror jag) identifierade jag det som en MCX -kontakt. Hur som helst, jag beställde en annan antenn och fick den äntligen och den passade inte heller. Jag tror igen att detta mestadels är mitt fel, även om det är mycket förvirring mellan SMA och RP-SMA hane och hona och kontakter och uttag.

Slutsatsen är just nu jag har ingen separat fungerande antenn.

VARNING: u.fl -kontakterna på Adafruit och mitt GPS -kort är mycket sköra och det rekommenderas att du fysiskt belastar anslutningen.

Steg 5: Sätta ihop allt

Få alltid att falla på plats
Få alltid att falla på plats

Adafruit har några utmärkta handledning om hur man får M4express så att det fungerar med Arduino.

Min Arduino -skiss bifogas:

GPSDatalogger.zip

Det gör följande:

Skriver GPS -strängar till en fil på microSD -kortet som heter data.nmea

En gång i minuten skriver den också några andra data som tid, #satelliter, signalkvalitet, hastighet till en fil som heter misc.txt. Jag gjorde några ändringar, som att grovt omvandla till Mountain Standard -tid och knop till mph.

Båda filerna är textfiler.

Förresten, jag försökte göra några saker med Circuit Python. Jag kunde köra exemplen men verkade ha problem med att skicka kommandon till GPS -modulen. Får återkomma i framtiden.

Steg 6: Användning

Användande
Användande
Användande
Användande
Användande
Användande

GPS använder något som kallas ephemeris -data och almanacka för att beräkna plats. När den först startas tar det ett tag innan denna information behandlas. Detta kan ta några minuter. MTK3339 GPS -modulen har ett batteri för att lagra denna information. Jag gissar fortfarande hur det här fungerar men det jag gör är cirka 5 minuter före vår promenad, jag ansluter min M4express/GPS till datorn utan microSD -kortet. När jag gör mig redo att lämna, kopplar jag ur den, sätter i microSD -kort och drar med ett batteri och tar av.

Problem: Jag tror att jag skadade en av mina M4express -moduler möjligen med statisk elektricitet. När den är ansluten till en dator blinkar lysdioden för laddningsstatus. (M4express har en LiPo -batteriladdarkrets). Jag antar att laddarkretsen inte fungerar, även om jag inte har kollat in den. Hur som helst, förutom den blinkande lysdioden verkar den fungera bra både på datorn och på batteriet blinkar den inte så jag lever med den.

Google Earth Pro

En av anledningarna till att jag gjorde nmea -filen är så att jag kan använda den med Google Earth Pro. Jag tar bort microSD -kortet från GPS -modulen, ansluter det till en av mina adaptrar och ansluter det till min dator.

För att använda, starta Google Earth Pro, välj (FILE) (OPEN). Bredvid filrutan finns ett urval för filtyper. Välj (GPS). Bläddra för att hitta data.nmea -filen och öppna den.

Ett annat fönster dyker upp. Jag väljer alla Skapa KML -spår, Skapa KML -radsträngar, Justera höjder till markhöjd.

Det första exemplet visar ett prov. Den blå linjen som skjuter av är felaktiga data, förmodligen buller.

I det andra exemplet finns en stor metall ladugård. De blå spåren har normalt pilar som visar färdriktning, men runt ladan vänder de sig till torg. Jag antar att detta är förlust av signal eftersom vi inte gick genom ladan utan gick längs toppen av ladan.

Missc.txt kan läsas av Excel som en kommaavgränsad fil (eller som en textfil). Se bifogat för ett exempel taget i en bil under körning.

Saker jag märkte var att latitud och longitud var för många decimaler, vet inte hur exakt det är. Hastigheten verkar fungera. Vanligtvis på mina promenader, Satellites är runt 10, i bilen var det 7 som gör eftersom på grund av metall tak. HDOP i bilen verkade högre i bilen. På promenader var det mer runt 1 eller under (bättre).

Jag förstår inte Angle. För en sträcka när Latitude förblev densamma skulle jag tro att vinkeln skulle vara 0, 90, 180 eller 270 inte 66.

Slutsatser: Det verkar fungera ganska bra. Jag tror att M4express är så mycket snabbare än Atmega328 som jag är van vid. Det kan förmodligen göra lite brusfiltrering för att bli av med några av NMEA -spårfel utan att förstöra samplingsfrekvensen på en sekund. Jag kommer nog inte bry mig. Ett av mina framtida projekt skulle vara att göra några 'undersökningar' jag bor i ett jordbruksland med många fält. Ibland skulle jag vilja veta hur många tunnland som finns på ett fält. Jag skulle nog kunna använda min GPS med min 3,5”pekskärm för det programmet.

Vill också se om en extern antenn gör stor skillnad. Jag märkte att några av mina NMEA -spår inte är riktigt där de ska vara.

Förresten, MTK3339 är inte mer exakt än andra GPS -apparater som uBlox.

Ett annat projekt är att jag köpte några L80 GPS -moduler som verkar vara billigare än MTK3339 men som i princip ska vara samma sak. Kanske är de kloner? En stor fördel för mig är att de har 0,1”mellanrum på stiften vilket är mycket lättare att arbeta med.

Rekommenderad: