HAB project: eerste experimenten met Arduino, GPS en RFM98

Dit bericht hoort bij ons zomerproject High Altitude Balloon. Klik op de categorie HAB om een actueel overzicht van alle berichten te krijgen.

Zonder ook maar enige ervaring met het zelf bouwen van trackers (zenders bedoel ik dan voor onder een HAB), zijn we in de zomervakantie van 2021 begonnen met een groepje leden en begeleiders met wat speurwerk op internet. Daarna hebben we een hoop geleerd van experimenten met diverse modules.

De eerste opstap was de TBTracker software van Roel Kroes. In de inleidende tekst van zijn GitHub pagina stond veel waardevolle info. Daarnaast hadden we ook al een beetje contact gehad met Ben PE2BZ, wat later tot een uitgebreidere communicatie leidde met veel info.

De volgende modules hebben we in de eerste instantie getest, met als doel om tot een eerste eenvoudige payload te komen voor een kleine ballon:

  • HopeRF RFM98 LoRa en FSK module
  • Semtech SX1278 LoRa en FSK module (ter vergelijk)
  • uBlox GPS module
  • ATGM336H GPS module (goedkope module tov de uBlox ter vergelijk)
  • Arduino pro mini 3,3V en Arduino Nano 3,3V.

Roger en Tjalling hebben allebei een schakeling gebouwd, om beiden los van elkaar te kunnen testen. Alexander, Wiebe en Hillebrand zijn ook betrokken geweest bij deze testen.

Radio modules

Ik heb zowel de RFM98 als de SX1278 geprobeerd. Dit zijn zeer gelijkende modules, die zowel LoRa als FSK kunnen zenden. De modules kunnen ook ontvangen, maar dat gebruiken we niet.

We kregen de modules snel aan de praat door de goede documentatie van Roel zijn software. Maar er viel meteen iets bijzonders op: de ontzettende frequentie-instabiliteit tijdens het zenden. Een klein beetje temperatuursverschil liet de zender enorm driften. Toen ik een heatgun met milde warmte liet blazen op de module, verliep hij helemaal veel.

Ik was er snel achter, dat dit door de 32MHz kristaloscillator kwam. Deze had op onze goedkope modules geen temperatuurscompensatie (TCXO). Alexander heeft daarom meteen modules besteld met TCXO. De bevindingen lijken goed, maar zijn nog in onderzoek door Roger. Roger zei nog wel wat verloop te zien, maar dat dit beperkt is. We gaan dat nog testen in een vriezer en met de heatgun. Overigens is een beetje verloop niet zo’n punt. Er zijn AFC opties in DL-Fldigi en Horus.

GPS

De ATGM336H GPS module kon gewoon met 3,3V gevoed worden uit de Arduino, ondanks dat de specificaties aangaven dat dit 5V had moeten zijn. Maar de lowdrop onboard spanningsregelaar regelt toch terug naar 3,3V en deze had geen moeite met een ingangsspanning die niets hoger was dan dat.

De eerste testen gingen niet zo goed. Toen ik de oscilloscoop aansloot op de datalijn van de GPS module, zag ik dat de 3V3 lijn niet goed in pulldown kwam. De datapulsjes waren daarom te zwak en zweefden op de 3V3. Ik kon maar niet begrijpen hoe dat kwam. Op een andere Arduino type (Pro-mini ipv Nano) had ik hetzelfde probleem. Toen ik met twee transistors de pulldown ging doen, was het wel goed. Later wilde ik “het probleem” op foto vastleggen voor dit artikel en had ik de transistoren weer verwijderd. En toen werkte het wel goed! Echt heel vreemd en en het bleef ook goed werken. Zo raar. Dit moeten we in de gaten houden, maar het probleem lijkt niet terug te komen. Ook niet toen Roger verder ging testen met mijn schakeling.

Transistorpaar voor lage impedantie pulldown, later niet meer nodig
Decoding van de GPS data op mijn digitale oscilloscoop
Screenshot van het oscilloscoopscherm

LoRa testen van Roger

Ik had mijn schakeling meegenomen naar DJO. Roger ging ermee aan de slag, om te kijken of LoRa ook gedecodeerd kon worden. Nog niet op de Dave Akerman Gateway, die straks gebruikt kan worden om data te uploaden naar Habitat (voor HabHub). Maar wel in software op Linux. Dat is handig met testen op een eigen PC. En dat lukte vrij snel! Ook de GPS data werd goed meegenomen. Roger gebruikte een Pluto als ontvanger. Als testcall stonden hier nog mijn initialen, dit wordt straks DJOAMF-…

Wat nog meer te testen

11 september 2021:

Voor een betere decodering moeten we de instructies opvolgen van Ben in het feedbackdocument. Radiolib zendt mogelijk gaps tussen de bits, omdat de radio steeds even uitgeschakeld wordt. Hij heeft beschreven wat we als alternatief kunnen gebruiken (voorbeeld in PITS).

Ook de drift in relatie met het temperatuursverloop moet getest worden.

En dan moeten we nog bezig met power management en metingen aan stroomverbruik. We moeten nog Lithium batterijen kopen (niet-oplaadbare), die heel goed tegen lage temperaturen kan daarbij zijn goede capaciteit nog steeds kan benutten.

Ook moet de ballon nog uitgekozen worden, hoeveelheid Helium, parachute. Daar is Alexander al naar aan het kijken en de tips van Ben uit bovengelinkte feedbackdocument kunnen meegenomen worden in de overwegingen. Daarin staan ook handige links naar predictors etc.

Tjalling gaat nog bezig met controles van de GPS module interfacing. Ook de Ublox moeten we nog testen. Ook moet Tjalling alvast na gaan denken over de ontvangende kant, dus richtantenne en iets voor in een eventuele volgauto straks.