Gerards persoonlijke website

GPS en NMEA

satelliet

De standaard output van de GPS module is de “NMEA sentence”. Er zijn er verschillende soorten, maar de meestgebruikte zijn $GPRMC (Global Positioning Recommended Minimum Coordinates) en  $GPGGA. Beide bevatten tijd, datum, latitude, longitude, hoogte, geschatte snelheid en fix type. Er bestaan ook weer verschillende fix types, je hebt de 2D en de 3D fix. de 2D fix houdt in dat de GPS verbinding heeft met de satelliet data en dusdanige data ontvangt waardoor er een locatie aan verbonden kan worden.  Bij de 3D fix ontvangt de GPS niet alleen de locatie maar ook de hoogte.

Voorbeeld van een typische NMEA sentence:

$GPRMC,194509.000,A,5239.9170,N,00537.4263,E,0.26,192.02,190714,,,A*6D

Dit is RMC output dus het “Recommended Minimum Coordinates”, ieder stuk data is gescheiden door een komma.

Betekenis van de sentence

194509 is de tijd in GMT (Greenwich Mean Time). De eerste twee cijfers (19) staan voor de uren. Hier dus 19, ofwel 7 uur ‘s avonds. De volgende twee cijfers zijn de minuten en de laatste twee de seconden. Het tijdstip waarop deze coördinaten zijn gemeten is dus 19:45:09  (9 seconden over kwart voor 8).

Een GPS bordje

Een GPS bordje

Het tweede stuk data is het getal A, deze duidt aan dat de GPS- module “Active” is en een fix heeft. Als er een V had gestaan dan was het “Void” geweest. Dit gebeurt wanneer er geen signalen van satellieten binnenkomen.

De volgende vier stukken data horen bij de geolocatie. Met deze data kun je de positie afleiden. De eerste twee stukken van de vier is de Latitude en de laatste twee de Longtitude. Latitude en Longtitude samen zijn de coördinaten. Latitude is in DDMM.MMMM  formaat en Longtitude in DDDMM.MMMM. De D staat voor “Degrees”, ofwel het aantal graden en de M staat voor “Minutes”, ofwel het aantal minuten Noord, Oost, Zuid of West. In ons geval is de Latitude 5239.9170,N dus 52 graden en 39,9170 minuten Noord. Onze longtitude is 00537.4263,E dus 5 graden en 37,4263 minuten Oost. De coördinaten van de testplek zijn dus: +52  39.9170′, +5  37.4263′. In het eerste deel van de coördinaten zet je Latitude dus Noord of Zuid. Als het Noord is komt er een + voor, Zuid een -. Hetzelfde geldt voor de Longtitude. Een + is Oost en een – is West.

Het volgende stukje data, 0.26 is de grondsnelheid in knots. Op het moment van testen had de GPS een snelheid van 0,26 knots. De snelheid wordt berekend door de afstand tussen de twee laatste metingen te vergelijken en hiermee met de tijd de snelheid uit te rekenen. Er is dus een kleine afwijking geweest in de meetwaarden, wat ook te verwachten was in een bebouwde omgeving. De snelheid wordt berekend uit de coordinaten van de laatste meting en van de voorafgaande meting. Door de afstand en tijd tussen deze 2 metingen te vergelijken kan een snelheid worden berekend. 0,26 knots staat gelijk aan 1,852 km/h. Uit verschillende metingen bleek dat de afwijking van de snelheid ongeveer 1,5 km/h is.

Het volgende getal 192.02 duidt een hoek aan. Met de GPS- module kan je ook richting bepalen door de hoek te bepalen tussen de nieuwe en vorige meting. Tijdens testen is er dus een hoek van 192 graden gemaakt wat aangeeft dat het bordje zich richting het zuiden beweegt.

Het een na laatste stukje data in de NMEA sentence is de datum van de meting. 190714 betekent niet meer dan 19-07-2014 dus 19 juli 2014.

De laatste twee karakters (na het sterretje) van de NMEA output is de checksum van de dataoverdracht, hier wordt op controle na verder niets mee gedaan. Het is alleen een aanduiding voor de GPS-module zelf.

 

– deze tekst is samen met Willem Hoorn, lid van het High Altitude Balloon Project Team, geschreven –

De weerballon

GP100612_10 mrt. 2015 19.29.36

In het examenjaar van de middelbare school moet iedere leerling een Profielwerkstuk maken (PWS). Dit profielwerkstuk mag over van alles en nog wat gaan, als het maar met het gekozen vak te maken heeft. Na een kleiner project voor het vak informatica, werden wij geboeid door het fenomeen weerballonnen. We besloten hier ons profielwerkstuk aan te wijden. Het doel van ons project was dat we zelf een weerballon met payload zouden maken, met daarin zelf geprogrammeerde apparatuur waardoor we de weerballon weer terug konden vinden en volgen in de lucht. Verder wilden we zelf wat sensoren toevoegen, zodat we gegevens konden meten in de lucht. En natuurlijk zouden we een camera in de payload bouwen, want van zo’n mooie vlucht door de hogere atmosfeer moesten we wel beeldmateriaal krijgen.

Radio

De NTX2-module die in de weerballon gebruikt is.

Radiometrix NTX2

Het eerste grote probleem was de communicatie. Hoe gaan we contact houden met een weerballon die op een hoogte van 30 kilometer vliegt? De beste en goedkoopste oplossing leek ons om een radiosysteem te maken. We bestelden een FunCube radio dongle en wat antennes, en na wat testen bleek dit een goede manier te zijn om informatie over aanzienlijke afstanden te versturen. Als transmitter kozen we voor de Radiometrix NTX2. Deze is hier te verkrijgen. De NTX2 is makkelijk te gebruiken met Arduino en Teensy, de platformen die we gebruikt hebben.

GPS

Onze GPS- modules komen bij Adafruit Industries in Amerika vandaan en heet de “Adafruit Ultimate GPS Breakout”.[1] Deze GPS-module wordt veel gebruikt bij High Altitude Balloon projecten omdat hij op grote hoogte nog bereik met de weerballon heeft in tegenstelling tot andere standaard GPS modules. Deze module is speciaal ontworpen voor de  extreme omstandigheden op grote hoogte. Het GPS bordje geeft informatie over de positie, de tijd, de snelheid enz. in het NMEA formaat. Hier valt in een latere tutorial meer over te lezen.

De printplaat voor in de weerballon

Onze zelfontworpen printplaat

De hardware

Al onze hardware komt samen op onze eigen ontworpen printplaat. Deze maakt gebruik van een Teensy bordje. Onze printplaat hebben we ontworpen met het het programma Eagle en laten uitprinten door OSH Park uit de VS en Itead uit China. Deze printplaat heeft tientallen testversies gekend, die telkens voor kleine bedragen besteld werden. Uiteindelijk waren alle fouten er uit gehaald en hadden we een definitieve versie

De microcontroller van de weerballon De definitieve versie

De lancering

5 maart 2015 was het grote moment voor ons profielwerkstuk, op deze dag was de intentie dat ons project de lucht inging, dit was de bedoeling dat het letterlijk zo was, maar later begon dit ook figuurlijk te worden. De bedoeling was dat om 10 uur de ballon gelanceerd werd. De dag begon met een radiogesprek bij Omroep Flevoland, we besproken daar in een minuut of vijf, wat we deze dag zouden gaan doen, hoe het weer was en of we de financiën op de rit hadden. Rond kwart voor negen zijn we alles gaan etaleren, en hebben we de lanceerplaats geprepareerd. We hadden uit voorzorg een groot zeil aangeschaft, zodat de weerballon niet zou beschadigen en we genoeg werkruimte hadden.

Na een uurtje was de ballon gevuld. We controleerden met een Vernier krachtsensor, die aangesloten was op een Vernier labquest[1], de trekkracht die de ballon uitoefende.[2] We hadden uitgerekend via de website www.habhub.org/calc/ dat we een trekkracht nodig hadden rond de 21 Newton. Dus de ballon moest minimaal 2,1 kilo kunnen verplaatsen. Uiteindelijk hadden we zoveel gas toegevoegd in de ballon dat we een trekkracht hadden rond de 24 Newton. Toen we deze gegevens invoerden in de website, kwamen we er op uit dat de beoogde lanceringssnelheid van de ballon rond de 4.5 m/s dus 16 km/uur betrof. De site voorspelde ook dat de ballon zou knappen op een hoogte rond de 35 kilometer.

Het vullen van de weerballon

Het vullen van de weerballon

Toen de payload geprepareerd was, hebben we de payload vast gemaakt aan de parachute en de ballon. Na een vertraging van anderhalf uur is de ballon gelanceerd. Na de lancering was het plein snel leeg (het plein stond vol met toeschouwers) en konden we snel op weg. Tijdens de rit hadden we contact met de ballon via de radio. Helaas hadden we na een tijdje geen contact meer. Toen wij zelf met de auto bij Apeldoorn waren, hebben we nog contact kunnen houden, maar toen de ballon voorbij Apeldoorn was en richting Arnhem vloog, zijn we het contact verloren. Bij de laatste metingen zagen we dat de ballon boven de 9,8 kilometer hoogte vloog, met een snelheid rond de (142 km/uur). Nadat we het contact hebben verloren, hebben we vaak contact proberen te krijgen, maar helaas zoals het wel vaker gebeurt als er iets mis gaat, gaan er ook meerdere dingen mis. Toen we probeerden contact te krijgen met de ballon, kreeg de laptop een storing, en moesten we hem opnieuw opstarten. We hebben daarna geprobeerd met de yagi (richtantenne) contact te krijgen met de ballon, maar dat is ook mislukt.

Gegevens verzamelen in de auto

Gegevens verzamelen in de auto

We hadden toen de hoop al opgegeven en zijn we richten de plek gereden waar we dachten dat de ballon ongeveer zou terecht komen, om te proberen om daar weer contact te krijgen.

Deze plek was in de buurt van Mönchengladbach, maar het was eigenlijk onmogelijk om in contact te komen met de weerballon, want er kon van alles gebeuren met de ballon, waarbij hij wel 100 kilometer verder was gekomen. Helaas ging de Dongle ook nog kapot en konden we helemaal niks meer ontvangen. We zijn toen maar weer teruggegaan naar Kampen.

De volgende dag kregen we ‘s avonds telefoon van de politie in Venray, bij hun was door een gezin uit Wanssum een pakketje afgeleverd. En dat bleek toen onze payload te zijn. We waren natuurlijk ontzettend blij dat de weerballon toch terug gevonden was.