Geo Data Logger: Arduino + GPS + SD + Accelerometer att logga, tidsstämpel och geo-tag sensordata (10 / 10 steg)
Steg 10: Hastighet VS loggning noggrannhet
Noggrannhet och upplösning av geo datalogger kommer att bero på många facors såsom:
- Den hastighet som vi är på väg med geo datalogger.
- Frekvensen som sensorer kan generera färska avläsningar.
- Frekvensen med vilken GPS-mottagaren kan generera läge fixar till etiketten sensordata med.
- SD kort Läs/skriv-prestanda.
- Hastigheten på mikrokontroller, för siffertuggande och formatering.
När det gäller våra Bump-O-Meter har vi att arbeta med följande specifikationer:
- LS20031 GPS-mottagaren kan rapportera en plats "fix" 5 gånger i sekunden (databladet säger 10Hz men praktisk erfarenhet visar 5Hz är tillförlitlig)
- ADXL335 accelerometern genererar rörelse data med hastigheten 50 gånger per sekund.
- SD-kort har en genomsnittliga svarstid 100 ms även om speciell möjliggör 200 ms. några gamla SD-kort kan hantera 150KB/s till 200KB/sek. Mer än nog för våra data logger.
- ATmega328p körs på en cool 16Mhz.
MATTE FOR FUN (något sådant)
Flaskhalsen för våra Bump-O-Meter kommer alltså GPS-mottagaren, finns på 5 uppdateringar per sekund (5Hz). Låt oss anta att vi driver på 60 Km/h och GPS rapporterar 5 plats fixar per sekund.
- 60 kilometer i timmen = 1 Km per minut.
- 1 kilometer per minut = 16,6 meter per sekund.
- Eftersom LS20031 GPS-mottagaren innehåller 5 korrigeringarna per sekund som är en fix varje 3,3 meter. Tänk på denna GPS mottagare är korrekt inom 2,5 meter.
På 30 kilometer i timmen kan vi dubbel noggrannhet våra logger och så vidare. På 15... och så vidare.
Viktigaste är att spela in en road bula eller Jättegryta även om vi inte har dess exakta position. Eftersom så länge vi fånga den bula existens på våra logger, kan vi hitta den om vi gå att söka efter det inom +/-2,5 meter (GPS-noggrannhet) för det lagerställe som rapporterats av loggern.
För mjukare data som genereras av utomhus temperatur och luftfuktighet sensorer, kan vi använda av ganska enkla tekniker för att gissa däremellan data, till exempel interpolation.
INTERPOLATION av Saknade DATA
Interpolation är en metod för att gissa en mid datapunkt inom två inspelade sensorn datapunkter. För exempel, om vi kör på motorvägen medan logga temperaturer, om våra geo datalogger är att fånga temperaturavläsningar varje 100 meter, kan det möjligt att interpolera (gissning) däremellan temperaturen varje 50 meter. Förändringen i utomhus väder temperatur inom 100 meter är inte vanligen abrupt men tenderar att ske gradvis. Så om vi loggar 32 grader F på 0 meter och 33 grader F 100 meter. Vi kan göra en rimlig gissning som på 50 meter eller någonstans mellan temperaturen kan vara 32,5 grader F. Detta är den förenklade versionen av data interpolation.
Vissa interpolation kan vara möjligt och meningsfullt mellan två loggade temperatur punkter över ett visst avstånd. Interpolera vägförhållanden, å andra sidan, kanske inte så enkelt.
Gropar och road bulor lämpar inte sig för interpolation. Till skillnad från en gradvis förändring i många miljöförhållanden tenderar gropar att vara plötslig. Gropar är normalt föregås inte av allt större gropar. Och de följs inte av allt mindre potthål. För att upptäcka potthål, måste vi köra långsammare att ge våra geo data logger tid att fånga dem (< 15 Km/h). Dessutom kan vi bromsa när vi ser en annalkande potthål eller en road bula att se till att våra geo datalogger fångar den. I verkliga situationer, vi tenderar att bromsa något sätt när vi närmar oss en bula eller Jättegryta så som fungerar bra för vårt ändamål.
Happy geo dataloggning.