SportTracker

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

von Ralf Hochhausen

Einleitung

Beim SportTracker Projekt geht es darum, einen GPS-Tracker zu bauen, der noch ein paar erweiterte Funktionen für ein Lauftaining bietet. Es soll also etwas ähnliches wie ein Garmin Forerunner dabei herauskommen (wahrscheinlich nicht ganz so klein aber dafür selbstgemacht ;-)). Darüber hinaus ist das Projekt eine Spielwiese um verschiedene Dinge mit dem STM32 Controller auszuprobieren:

  • Erste Erfahrungen mit einem RTOS (in meinem Fall µC/OS II)
  • Speichern von Daten auf SD-Karte mit FAT Dateisystem
  • Ansteuerung von TFT-Displays
  • Auswertung von GPS-Daten
  • Batteriebetrieb & Low Power Modes (endlich mal wieder Hardware entwickeln :-))

Als Features habe ich mir die folgenden vorgestellt:

  • Einfache GPS-Tracker Funktion
    • Logging der Daten auf SD-Karte im GPX-Format
  • GPS-Maus Funktion
    • NMEA Daten werden einfach über einen UART wieder ausgegeben
  • Trainingsunterstüzung für
    • Bahntraining
    • Tempoläufe
    • Lange Läufe
    • virtuellen Laufpartner
    • Speichern von Trainingsprofilen auf SD-Karte
    • ...
  • Pulsmessfunktion
    • Alarmfunktion
    • Anzeige und Tracking
  • ...

Software

Aktuell läuft die Software in einer Crossworks for ARM Umgebung ohne Makefile. Ziel ist es, auf kurz oder lang auf ein Makefile umzusteigen und dann z.B. mit Yagarto GCC weiter zu arbeiten.

Die STM32 Standard Peripheral Library wird aktuell bis auf wenige Funktionen (SDIO Interface) nicht verwendet. Hintergrund ist weniger es besser machen zu wollen als den Controller wirklich im Detail zu verstehen zu lernen. Über kurz oder lang soll diese Library komplett entfallen.

Die Software ist noch sehr stark zusammengestrickt, d.h. im Moment läuft alles noch über einen Debugger und es kann nichts über Benutzertasten gesteuert werden. Die folgenden Funktionen sind schon grob erstellt:

  • GPS NMEA Daten einlesen und parsen
  • Ansteuerung einer SD,Karte über SDIO,Interface mit FAT (FATFs)
  • Speichern der Position in GPX-Datei
  • Entprellen von Tasten

Hardware

Im Moment läuft alles noch auf einem Keil Starterkit mit STM32F103ZE Controller. D.h. ein Schaltplan mit Layout ist noch nicht erstellt.

ToDo

  • Software
    • Softwarearchitektur entwerfen
    • Alle Einzelfunktionen sinnvoll verknüpfen
    • Sportfunktionen entwickeln
    • Pulsmesser
      • Woher einen Sensor nehmen???? => Watterott kann im Moment nicht liefern
    • MMI entwickeln
      • Tastenauswertung => Statemachine
      • Display-Ansteuerung => Menüsystem
    • Uhr mit Kalender entwickeln
    • Fehlerhandling
  • Hardware
    • Netzteil für Batteriebetrieb entwickeln
    • USB Ladefunktion entwickeln
    • Schaltplan und Layout in Eagle erstellen

Downloads

Den jeweils aktuellen Sourcecode lade ich immer auf meine Webseite:

www.ralf-hochhausen.de

Siehe auch