Es fliegen die Späne…

…vom Schälbohrer.

Schälbohrer
Schälbohrer

Nachdem der Betätigungsschalter vom elektrischen Roadbookhalter das erste Sandbad in Marokko nicht überlebt hat muß da was stabileres her. Also mal einige Stunden Metallbau eingeschoben – das ergibt dann sowas

Lenkerarmatur
Lenkerarmatur

und ist speziell angepaßt für das kleine nervöse Motorrad. Probemontage – und paßt:

Probemontage
Probemontage

Der Kipptaster links ist für den elektrischen Roadbookhalter und steuert den Papier vor- und Rücklauf, die drei bunten Taster bedienen das Tripmeter.

Arduino Tripmeter mit GPS

Mancher wird sich denken – was soll denn das nun schon wieder. Er hat doch gerade einen Roadbookhalter mit Tripmeter gebaut – und das war schon die zweite Version.

Die ist ja auch ganz schön – aber die LED Anzeige läßt sich bei voller Sonneneinstrahlung trotz extra heller Anzeigen und Kontrastfilterscheibe nur schwer ablesen – und die manuelle Verstellung des Roadbooks ist auch suboptimal – man muß dafür eine Hand vom Lenker nehmen. Also für die Tuareg Rally nächstes Jahr nicht optimal geeigent. Und da mir günstig ein gebrauchter, elektrisch angetriebener Roadbookhalter zugelaufen ist, gibt es jetzt als Zubehör dazu die dritte Version eines Tripmeters.

Der existiert jetzt schonmal als Prototyp – mit Kabelbindern auf Pappe befestigt:

DSC_3394

Links der Prozessor Arduino nano auf einem Breakout-Board – daran kann man die bunten Kabelchen mit kleinen Steckern direkt anstecken. Oben das Display – 2×16 Zeichen inverses LCD – das gibt weiße Schrift auf blauem Hintergrund. Bei voller Sonneneinstrahlung nimmt zwar der Kontrast ab, es bleibt aber weiter lesbar. Darunter – und auf dem Foto nicht sichtbar – ein I2C nach Parallel Interface für das Display.

Unten mittig der GPS-Empfänger, der hier schon vorgestellt wurde, ganz rechts unten am Rand die keramische GPSAntenne. Es ist schon erstaunlich, wie weit das alles miniaturisiert ist.

Rechts einige Tasten zur Bedienung, oben sind noch eine Leuchtdiode (Zeigt Sensoratktivität an) und ein Poti festgestrapst. Dieses wird noch durch einen Temperatursensor TMP36 ersetzt – der ist aber noch nicht da.

Und wozu hat der Tripmeter GPS? Die Streckenmessung erfolgt doch über die Ermittlung der Umdrehungen des Vorderrades?

Völlig richtig – und dafür kommt weiterhin der magnetoresistive Sensor zum Einsatz, wie er auch schon beim ersten Prototypen verwendet wurde. Aber der Sensor und das Kabel zum Sensor sind hochbelastete Teile, da sie an ungefederten Fahrzeugteilen sitzen und ständig mechanisch beansprucht werden. Das ist wohl die mit Abstand häufigste Störungsursache bei Tripmetern – und daher haben bessere kommerzielle Ausführungen ein GPS Backup eingebaut, so daß man zumindest bei guter Empfangslage weiter navigieren kann. Unter dichtem Blattwerk, in Häuserschluchten oder schmalen Tälern läßt dann die Meßgenauigkeit nach.

Und was die kommerziellen Hersteller können, kann ich schon lange 🙂 . Das ist heutzutage ja auch einfach, weil man z.B. einen GPS-Empfänger nicht von Grund auf entwickeln muß – sondern für billiges Geld ein fertiges Modul kaufen kann, daß einem im Klartext interessante Informationen die Ortskoordinaten, Geschwindigkeit, Höhe, Datum, Uhrzeit etc. serviert.

Und das zeigt das Tripmeter normalerweise an:

DSC_3395

Oben links die aktuelle Geschwindigkeit wie sie über GPS ermittelt wird. Das dient auch gleich als Anzeige ob GPS-Empfang besteht, denn wenn der länger als 2 Sekunden ausfällt (z.B. im Tunnel) stehen da nur drei Sterne ***.

Oben rechts die Temperatur – ich dachte mir wenn es nächstes Jahr in die Wüste geht will man vielleicht wissen, wie warm es ist. Und eine Temperaturmessung noch mit einzubauen ist nun eine der leichtesten Übungen…

Unten links wird die Teilstrecke angezeigt. Diese kann durch einfachen Druck auf die Taste „Null“ wieder auf 0 gesetzt werden.

Unten rechts wird die Gesamtstrecke angezeigt. Da es immer Unterschiede zwischen der eigenen Streckenmessung und der im Roadbook gibt, kann man die Gesamtstrecke mit den Tasten „Plus“ und „Minus“ jeweils um die im Menu „Delta“ einstellbare Strecke korrigieren.

Jetzt wisen wir auch schon, daß es zur Bedienung am Lenker drei Tasten gibt:

  • „Null“ – setzt den Teilstreckenzähler zurück
  • „Plus“ – erhöht den Gesamtstreckenzähler
  • „Minus“ – verringert den Gesamtstreckenzähler

Für weitergehende Einstellungen ruft man das Menu auf, indem man „Plus“ und „Minus“ gleichzeitig drückt. Man gelangt dann in die Menuauswahl, wo die Tasten folgende Bedeutung haben:

  • „Null“ – Auswahl bestätigen oder weiterschalten
  • „Plus“ – Wert in positive Richtung ändern
  • „Minus“ – Wert in negative Richtung ändern.

Ausgegend vom Normalmodus gibt es folgende Menupunkte, aus denen man mit „Plus“ und „Minus“ auswählt und die Auswahl dann mit „Null“ bestätigt:

  • Normalmodus (Anzeige wie oben)
  • Reset Total (Gesamt- und Teilstreckenzähler auf 0 setzten)
  • GPS Info (Anzeige von GPS Informationen)
  • Select Source (Auswahl ob die Streckenmessung vom Radsensor oder vom GPS erfolgen soll)
  • Automatic Cal (Automatische Kalibration des Radumfanges)
  • Delta (Eingabe der Strecke um die  die Gesamtstrecke bei Betätigung von „Plus“ oder „Minus“ korrigiert werden soll)
  • WheelSize (Eingabe des Radumfanges)
  • Destination (Eingabe Zielkoordinaten)
  • Info (Anzeige allgemeiner Informationen)

Reset Total: Gesamt- und Teilstreckenzähler auf 0 setzten

DSC_3397

Voreingestellt ist YES, so daß man den Gesatmstreckenzähler durch gleichzeitiges betätigen von „Plus“ und „Minus“ und anschließendes zweimaliges Drücken von „Null“ schnell zurücksetzten kann, auch ohne aufs Display zu schauen. Falls man versehentlich in das Menu gerutscht ist, einmal „Plus“ oder „Minus“ betätigen um das YES durch NO zu erstzen und „Null“ drücken – man landet dann wieder im Normalmodus ohne die Streckenzähler zu löschen.

GPS Info (Anzeige von GPS Informationen)

DSC_3398

Hier werden insgesamt 4 Seiten GPS-Informationen dargestellt, die mit der Taste „Null“ weitergeschaltet werden. Nach der vierten Seite landet man wieder im Normalmodus. Falls leere Masken angezeigt werden, so liegen keine aktuellen GPS Daten vor – der Empfang ist gestört. Die angezeigten Daten sind höchstens 5 Sekunden alt.

DSC_3399

Aktuelle Poition, LAT = Breitengrad (positive Werte Nord, negative Werte Süd), LON = Längengrad (positive Werte Ost, negative Werte West), Angabe in Dezimalgrad.

DSC_3400

Alt: Aktuelle Höhe – die ist, da das GPS auf Verwendung eins 2-D Modells eingestellt ist eher ungenau. Mit einigen 10m Schwankung muß man da immer rechnen.
SAT: Anzahl der für die Positionsbestimmung verwendeten Satelliten – umso mehr, umso genauer ist tendenziell die Position.
HDOP: Horizontal Dilution of Precision – ein Maß für die Genauigkeit der Position. Umso kleiner der HDOP Wert, desto besser. Anzeige in hundertstel – zum Vergleich mit dem HDOP-Wert anderer Empfänger durch 100 teilen.

DSC_3401

Datum und Uhrzeit, so wie sie vom Satelliten empfangen werden, die Uhrzeit ist also UTC. Es erfolgt keine Umrechnung auf Ortszeit oder Sommer/Winterzeit.

DSC_3402

Entfernung und Himmelsrichtung zu Zielkoordinaten, die man im Menupunkt „Destination“ eingeben kann. Ich hab da meine Heimatkoordianten drin – und man seht, ich hab die Fotos zu Hause gemacht…

Select Source (Auswahl ob die Streckenmessung vom Radsensor oder vom GPS erfolgen soll)

DSC_3403

DSC_3404

Auswahl zwischen Radsensor (Wheel) und GPS als Quelle für die Streckenzählung. Mit „Plus“ oder „Minus“ Taste zwischen Wheel und GPS hin- und her schalten und mit Taste „Null“ auswählen.

Automatic Cal (Automatische Kalibration des Radumfanges)

DSC_3405

Default Option ist „Abort“ – falls man versehentlich in das Menu gerutscht ist kommt man so direkt wieder in den Normalmodus durch einmaliges Drücken von „Null“. Also einnal „Plus“ oder „Minus“ betätigen um Start zu wählen und mit Taste „Null“ auswählen.

DSC_3406

Es erfolgt die Auswahl der Meßstrecke – entweder 1km oder 10km – 10km ergeben genauere Werte. Mit „Plus“ oder „Minus“ die Strecke einstellen und mit Taste „Null“ auswählen. Die Meßstrecke sollte möglichst kurvenarm sein und guten GPS Empfang bieten – also nicht gerade Innenstadt, dichter Wald oder gar Tunnel.

DSC_3408

Es wird jetzt auf ein gültiges GPS Signal gewartet – weiter ist da nichts zu tun. Bei einwandfreiem Empfang schaltet es nach wenigen Sekunden weiter zu:

DSC_3409

Jetzt heißt es losfahren – es wird jeweils die noch zurück zu legende Strecke angezeigt.

Wenn die Strecke komplett abgefahren ist wird der Radumfang berechnet und angezeigt. Den Wert kann man dann nur mit Taste „Null“ bestätigen und man landet dann wieder im Normalmodus.

Während die Kalibration läuft erfolgt keine Aktualisierung der Teil- und Gesamtstrecke! Die Kalibration also nicht während eine Rally durchführen – sondern davor.

Delta (Eingabe der Strecke um die  die Gesamtstrecke bei Betätigung von „Plus“ oder „Minus“ korrigiert werden soll)

DSC_3410

Hier erfolgt die Eingabe der Strecke um die die Gesamtstrcke durch betätigen von „Plus“ oder „Minus“ im Normalmodus korrigiert wird.

Der Cursor blinkt an erster Stelle, über „Plus“ wird der Wert erhöht, über „Minus“ verringert. Die Taste „Null“ schaltet zur nächsten Stelle weiter, der Cursor blinkt jetzt dort, die Stelle wird dann wieder mit „Plus“ bzw. „Minus“ verändert usw…

WheelSize (Eingabe des Radumfanges)

DSC_3411

Hier kann man den Radumfang manuell eingeben. Normalerweise wird man den über die Automatische Kalibration bestimmen – aber falls es einen systematischen Fehler zwischen eigener Streckenmessung und der im Roadbook geben sollte, so kann man den hier durch Veränderung des Radumfanges ausgleichen. Das funktioniert natürlich nur, wenn der Radsensor als Quelle für die Streckenmessung eingestellt ist. Wenn man die Strecke über GPS ermittelt, ist diese Einstellung wirkungslos.

Die Eingabe erfolgt wie bei „WheelSize“ über die Tasten „Plus“, „Minus“ und „Null“.

Destination (Eingabe Zielkoordinaten)

Hier werden die Zielkoordinaten eingegeben, die für die Kursberechnung auf der vierten Seite von „GPS-Info“ zu Grunde gelegt werden.

DSC_3412

Voreingestellt ist „Abort“, damit man nicht versehentlich in das Menu rutscht. Also einmal „Plus“ oder „Minus“ betätigen, bis Enter erscheint, dann mit Taste „Null“ auswählen.

Zuerst erfolgt die Eingabe des Breitengrades (positive Werte Nord, negative Werte Süd)

DSC_3413

und dann des Längengrades (positive Werte Ost, negative Werte West)

DSC_3414

Die Eingabe erfolgt wie bei „WheelSize“ über die Tasten „Plus“, „Minus“ und „Null“. Eingabe in Dezimalgrad.

Die Cursorposition zur Kennzeichnung der mit „Plus“ und „Minus“ zu ändernden Stellen ist nur bei positiven Werten mit zwei Vorkommastellen korrekt – sonst um bis zu eine Stelle verschoben. Um das zu korrigieren müßten diverse Fallunterscheidungen in der Software eingebaut werden – und das war mir zu aufwändig, vor allem da diese Funktion vermutlich so gut wie nie benutzt werden wird. Schließlich hat man zur Kusbestimmung noch ein richtiges Navigationsgerät am Lenker…

Info (Anzeige allgemeiner Informationen)

DSC_3415

Auswahl dieses Menupunktes durch Taste „Null“, es folgen dann zwei Seiten mit allgemeinen Informationen zum Gerät, Weiterschaltung mit Taste „Null“

Version:

DSC_3416

und Modellnummer unter der ich die Dokumentation gespeichert habe

DSC_3417

Zeit bis zum erten GPS-Fix

Das GPS-Modul benötigt zur Positionsbestimmung die Bahndaten der Satelliten. Diese empfängt es von den Satteliten selbst. Daher kann die erste Positionsbestimmung mehr als 15 Minuten bei gutem Empfang dauern. Die Bahndaten der nächsten 30 Tage werden vom GPS Modul gespeichert, so daß sich die Zeiten bis zur ersten Positionsbestimmung wenn das GPS Gerät nur wenige Tage ausgeschaltet war auf unter eine Minute verkürzen. Falls es auch in solchen Fällen lange dauert, ist vermutlich die Pufferbatterie auf der Leiterplatte des GPS-Modules leer…

Messgenauigkeit

Zum Test der Meßgenauigkeit wurden drei Teststrecken gefahren.

Es traten gegeneinander an:

  • GPS Gerät Garmin Montana
  • Odometer (der zweite Prototyp), auf das Garmin Montana kalibriert
  • der Tripmeter Prototyp.

Garmin          Odometer         Tripmeter
33,29km        33,18km            33,16km
65,83km        65,81km            65,52km
32,74km        32,63km            32,63km

Das finde ich erstaunlich gut übereinstimmende Ergebnisse. Der Tripmeter mißt tendenziell eine Kleinigkeit weniger – das ist auch zu erwarten, da die Streckenmessung darauf beruht im Abstand von jeweils einer Sekunde eine Postition zu bestimmen und den Abstand zur vorherigen Position als zurückgelegte Strecke zu verwenden. Das stimmt aber exakt nur bei Geradeausfahrt – bei Kurvenfahrt wird der gefahrene Kreisbogen auf diese Art und Weise durch Geradenstücke angenähert – und die daraus ermittelte Strecke ist immer geringfügig kürzer als die tatsächliche Strecke.

Der dadurch entstehende Fehler ist aber so klein, daß er für den Anwendungszweck hier vernachlässigbar ist.

Nächster Schritt ist dann, daß ganze wasserdicht in ein robustes Gehäus zu bauen und dafür einen Platz am kleinen nervösen Motorrad zu finden. Das geht aber erst nach der Skandinavientour los…

Tripmaster

Das kleine nervöse Motorrad will nächsten Monat an Roadbook-Touren teilnehmen. Dabei fährt man nach einem formalisierten Streckenaufschrieb (dem Roadbook) durch die Landschaft. So sieht ’nen Roadbook aus – das ist ’nen langer Papierstreifen, der in den Roadbookhalter eingespannt wird:

Roadbook
Roadbook

Zur Orientierung dient die zu jedem Bild angegebene Entfernung vom letzten Bild und vom Start. Man braucht also zwei auf 10m genau anzeigende Streckenzähler, von denen sich einer schnell auf Null stellen läßt. Und der andere muß einstellbar sein, damit man den wieder richtig stellen kann, wenn man sich mal verfährt oder die Meßabweichungen zu weit auseinander gelaufen sind.

Letztes Jahr war die Sertao auf einer solchen Verranstaltung – die hatte nur einen einfachen Fahrradtacho dabei. Das ist zwar besser als nichts, aber insbesondere die Nullstellung nervt, weil man einen schlecht erreichbaren Knopf während der Fahrt für 3 Sekunden gedrückt halten muß. Das kleine nervöse Motorrad wollte was besseres haben…

Sowas gibt es fertig – ist aber ausgesprochen teuer und mit Funktionen überfrachtet. Mal sehen, was man da machen kann.

Also einen Prototyp aufgebaut: Grundlage ist die verbreitete Arduino-Hardware, für die es aus China alles mögliche an Zubehör billigst gibt.

Hier ist es soweit, daß es auf dem Labortisch erstmal funktioniert:

Tripmaster auf dem Labortisch
Tripmaster auf dem Labortisch
  • Anzeige von Teil- und Gesamtstrecke
  • Schnelles Rücksetzen der Teilstrecke
  • Korrektur der Gesamtstrecke über + und – Taste
  • Streckenmessung über Magnetsensor am Vorderrad
  • Einstellbarer Umfang des Vorderrades
  • Einstellbare Schrittweite für die Korrektur der Gesamtstrecke
  • Nicht-flüchtige Speicherung der Einstellungen und Strecken bei Stromausfall

Und hier dann auf die Zielhardware umgezogen:

Zielhardware, Oberseite
Zielhardware, Oberseite
Zielhardware, Unterseite
Zielhardware, Unterseite

Der erste Plan, die Radsensorimpulse per Polling über den AD Wandler einzulesen funktionierte leider zuverlässig nur bis ca. 60km/h – darüber wurden immer mal wieder Impulse verschluckt, da die Ansteuerung des LC-Displays ziemlich Zeitaufwändig ist. Also wurde noch ein Komparator spendiert, und die Impulserfassung arbeitet nun störsicher im Interrupt.

Der große Kondensator auf der Platine speichert ausreichend Energie, so daß der Prozessor bei Stromausfall (also Ausschalten der Zündung) die Streckenzähler noch im nichtflüchtigen Speicher sichern kann…und damit bei Weiterfahrt weitermacht.

‚Nen Schaltplan gibts dazu auch:

Schaltplan
Schaltplan

Insgesamt braucht man nicht viel für die Funktion…

Das ganze ist erstmal in den alten Rodbookhalter eingebaut, der dafür leicht modifziert wurde:

Roadbookhalter
Roadbookhalter

Das Display nimmt leider ziemlich viel Platz weg und vermindert die Sichtfläche für das eigentliche Roadbook unnötig stark. Eigentlich soll da ein nur 1cm hohes, einzeiliges LED-Display dran – aber das müssen die Chinesen erst noch zusammenlöten. Die ersten Erprobungsfahrten werden mit diesem Aufbau stattfinden. Und wenn es sich bewährt, gibts auch eine neue Roadbookhalter-Mechanik, denn diese hat noch Probleme mit der Papierbremse…

Das ist der Sensor, bevor er in Heikleber vergossen und an der Gabel montiert wird:

Sensor
Sensor

Ein Hall-Sensor (rechts) mit angebauter Signalkonditionierung (links) aus dem automotive-Bereich. Der wird einen kleinen, an einer Bremsscheibenschraube angebrachten Magneten registrieren und so mit jeder Radumdrehung einen Impuls abgeben.

Ich habe lange genug Elektronik-Entwicklung betrieben, um zu wissen, daß das was auf dem Labortisch so gut funktioniert, im der Realität noch lange nicht funktioniert. Und so war es natürlich auch hier. Das kleine nervöse Motorrad mußte daher ins Labor eingeladen werden

Das kleine nervöse Motorrad im Labor
Das kleine nervöse Motorrad im Labor

um genauer in die Innereien der Elektronik unter realen Betriebsbedingungen schauen zu können

Untersuchung der Innereien
Untersuchung der Innereien

Aber auch das war dann schnell geklärt und es konnte zur ersten Erprobungsfahrt gehen:

Erprobungsfahrt
Erprobungsfahrt

Nach Abgleich des Radumfanges haben sich hier auf 17km nur 20m Differenz der Streckenmessung gegenüber der GPS Strecke ergeben. Das ist schonmal besser als notwendig.

Links am Lenker sind die Bedientasten: Rot stellt den Teilstreckenzähler zurück, gelb vermindert den Gesamtstreckenzähler und grün erhöht ihn.

Nun muß sich in den nächsten Einsätzen zeigen, ob das auch ausreichend robust und rüttelsicher ist.

Dem kleinen nervösen Motorrad war das übrigens alles eher egal – es hat sich lieber die Sonne aufs Plastik scheinen lassen…

Das kleine nervöse Motorrad in der Sonne
Das kleine nervöse Motorrad in der Sonne