CAN we find the Bus? (Spoiler: Yes, we can!)

Die Technik zur F800R - F 800 R.

Re: CAN we find the Bus? (Spoiler: Yes, we can!)

Beitragvon AlchemX » 21.06.2016, 19:25

AlchemX und das Frame-Orakel, Teil 2

Da gestern das Wetter in der Nordschweiz halbwegs okay war, konnte ich mal raus, um etwas Datalogging zu betreiben.
Also: CANBus-Interface ans Motorrad montiert (mit Tesaband...), Laptop an das Interfact gestöpselt, und das Laptop in der Satteltasche diagonal reingequetscht... passt!

Damit bin ich dann vor der Haustüre 2 Runden - nur zur Tanke und zurück - gefahren.
Dabei kamen 2 Datensätze raus:https://drive.google.com/open?id=0B95We-L7DHPSTVczSU1SZVFqRTQ
Ach ja, die Daten habe ich mit HTerm aufgezeichet, einem kleinen Terminal-Programm, für das der Erbauer meines Interfaces auch gleich Instruktionen liefert, und welches den Output eben abspeichern kann.

Die Daten sind im Prinzip alle CAN-Frames von Zündung EIN bis Zündung AUS, in HEX-Format (weniger File-Grösse!) abgespeichert.

Solche Daten an sich sind nur ... naja, ein grosser Haufen Bytes. Binärer Durchfall... :P

Also müssen sie zuerst einmal sinnvoll formatiert (Leerzeilen raus etc.) sowie interpretiert werden (Frames nach ID & Zeitstempel sortieren, einzelne Bytes raustrennen, die Bytes über Zeit plotten...)
Dazu nahm ich der Einfachheit halber Excel, und fütterte die Daten in einige Formelzellen, welche mit die vorher beschriebenen Aufschlüsselungen machen. (Das XLSX-File ist auch im obigen GoogleDrive-Ordner abrufbar)
Im Prinzip wollte ich von jedem Byte in den CAN-Frames sehen, wie sie sich über die Zeit (Fahrt) verändern.
Anhand der daraus entstandenen Kurven kann man gut einen Rückschluss auf die gemessene Grösse (Geschwindigkeit, Drehzahl etc) ziehen.

... bis ich in den Frames "294" und "2A8" auf einige Bytes stiess, die praktisch keinen Sinn ergaben. Egal wie ich sie aufzeichnete, die Kurve sah immer komisch aus.
Bis ich auf die Idee kam, dass nicht alles "normales" Big-Endian ist was aus Bytes besteht. :roll:
Es macht wenig Sinn, das hier voll zu erklären, dazu gibts ja die Wikipedia :)
https://de.wikipedia.org/wiki/Byte-Reihenfolge

Kurz gesagt: Die Werte für Weg und Geschwindigkeit sind in den CAN-Messages als Little Endian geschrieben, das "kleinere" Byte also zuerst.
Das wäre also so in etwa als würden wir die Geschwindigkeit von 137 km/h einfach als 731 km/h schreiben - also die "grösste" (wichtigste) Ziffer zuerst.
Eigentlich reine Konventionsfrage - wenn alle damit einverstanden sind, warum nicht.
Bayern ist ein seltsames Fleckchen. ... Ich mag Bayern. bier

Als das klar war, machte auch der Drehzahl-Wert plötzlich viel mehr Sinn 8)

Bis jetzt kam bei der rein "statistischen" Datenanalyse das hier raus:
Bild
https://goo.gl/photos/iWuT9ARDxGviX5kM8

Was noch unklar ist:
Warum 2 Geschwindigkeitswerte? Hinter-und Vorderrad? Einer geglättet, der andere "roh"?
Wie ist die Zeit codiert? Ich weiss, dass es eine Zeitangabe in Frame ID 3FF ist - exakt jede Sekunde tickts um einen Wert hoch.
Aber ich weiss nicht wie die Bytes zu lesen sind.
Wo sind die Werte für ABS-Meldungen? (Initialisiert, regelnd etc)
Noch nicht gefunden:
- Tankfüllstand? Benzinverbrauch?
- Temperatur(en)?
- Rev-Limiter??

Für einige der Fragestellungen gäbe es wohl Testmethoden, um die Werte zu finden.
- Man könnte (nachdem das ABS korrekt initialisiert ist) mal nur ein Rad bewegen. WHEEELIE!!!!! ... oder einfach Aufbocken und nur hinten drehen.
- Rev-Limiter ist noch recht einfach zu testen... BRUMMMMWRÖÖÖÖÖÖÄÄÄÄÄÄÄÄÄÄ... dää däää däääää...
- Tankfüllstand... okay... Bike kippen? Benzin absaugen? ... Will ich mir das antun? Muss ich den Wert wirklich haben??? ... ok 250 km fahren ergibt ne menge Daten.
- Temperatur... Lötlampe? :mrgreen:

... aber das löse ich ein andermal.

Bis bald,
AlchemX
Benutzeravatar
AlchemX
 
Beiträge: 5
Registriert: 16.06.2016, 09:20
Wohnort: Frick
Motorrad: F800R, G650GS

Vorherige

Zurück zu F800R - F 800 R - Technik

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 20 Gäste

BMW-Motorrad-Bilder |  K 1200 S |  K 1300 GT |  K 1600 GT |  K 1600 GTL |  S 1000 RR |  G 650 X |  R1200ST |  F 800 R |  Datenschutzerklärung |  Impressum