Du siehst das Forum als Gast - als registriertes Mitglied stehen dir alle Forenbereiche zur Verfügung. Wir freuen uns auf dich!

  • Kurze Frage vom Laien... Was bringen euch die ganzen Infos?

    Yamaha MT-07 (ABS): ehemalig gelb, nun zu weiß umgebaut.
    Erledigt: Schlumpf-Spiegeladapter, kurzer Jürgen-KZH, GSG-Sturzpads an Gabel und Schwinge, SW-Motech-Sturzpads am Motor, mattschwarze V-Trec Brems- und Kupplungshebel, Rizoma Scheibe, SC-Project Auspuff in matt, Madwurscht-Kühlerseitenabdeckung, weiße Lufteinlässe, LED-Blinker von Louis.
    Geplant: Madwurscht-Kühlerschutz vorne.

  • ...
    @stev
    Bist du sicher, dass der originale Tacho die übertragenen Geschwindigkeitspakete zählt und dann durch die Anzahl teilt anstatt durch einen festen Quotienten? Wenn für den km-Zähler eh ein festes Intervall notwendig ist, wäre die Zählung doch überflüssig, oder nicht? In dem Fall wäre die Software doch unnötig kompliziert.
    OK, während ich das geschrieben habe ist mir aufgefallen, dass das nichts an der eigentlichen Problematik ändert und wahrscheinlich wirklich eine Testfahrt nötig ist :freak Wobei im Stand doch auch eine Geschw. gesendet werden müsste. Das würde zumindest helfen die Sendefrequenz zu bekommen.

    Ich hab das Cockpit derzeit bei mir am Tisch liegen...also ich sende selbst die Pakete und imitiere quasi die ECU. Muss deswegen die Sendefrequenz noch genau ermitteln. Ja das geht schon im Stand auch.
    Theoretisch gehts auch mit einem Faktor...da hast du recht. Ich würde trotzdem empfehlen eher mitzuzählen. Einfach einen Interrupt bei jeder Message (den du sowieso brauchst für die Drehzahl...ist im selben Datensatz) und wenn z.B. 10 Messages da sind errechnest du die Geschwindigkeit und setzt den Zähler wieder zurück.


  • Ich hab das Cockpit derzeit bei mir am Tisch liegen...also ich sende selbst die Pakete und imitiere quasi die ECU. Muss deswegen die Sendefrequenz noch genau ermitteln. Ja das geht schon im Stand auch.
    Theoretisch gehts auch mit einem Faktor...da hast du recht. Ich würde trotzdem empfehlen eher mitzuzählen. Einfach einen Interrupt bei jeder Message (den du sowieso brauchst für die Drehzahl...ist im selben Datensatz) und wenn z.B. 10 Messages da sind errechnest du die Geschwindigkeit und setzt den Zähler wieder zurück.

    Wie ich schon vorher schrieb, das CAN Protokol sieht nicht vor das es ein definiertes Timing der Messages garantiert. Es läßt sich über die ID's die Priorität der Nachricht beeinflussen und natürlich begünstigt eine niedrige Buslast das Nachrichten recht zuverlässig innerhalb eines bestimmten Zeitfensters ankommen aber garantiert ist das nicht.

    Ich nutze kein Whatsapp sondern Signal.

  • Stark, interessantes Thema! Danke für die Daten. Ich weiß auch noch nicht, was ich damit mal anfangen kann, aber es motiviert mich, mich mal mehr mit CAN und der Technik hinter dem Tacho auseinanderzusetzen. Danke für die Mühe! Ich werd mal fleißig mitlesen :)

  • Wieviel der Tacho falsch anzeigt kann ich leider doch nicht so schnell errechnen. Brauche dazu zuerst einen Datenlog von einer Fahrt (die ich ohnehin machen muss).

    Jetzt bin ich aber beim Testen draufgekommen, dass der Kilometerzähler abhängig ist vom Intervall in dem ich die Can Messages zum Cockpit verschicke.
    Natürlich! Weil der km-Zähler addiert ja nur die Umdrehungen die von der Welle gemacht wurden (mal einem Faktor). Sprich ohne genau das CAN-Message-Intervall zu kennen kann ich das derzeit nicht genau ausrechnen.

    Lange Rede kurzer Sinn. Bei der Speed-Berechnung ist das Message-Intervall unwichtig (stimmt nicht 100%ig aber fast :)), beim Kilometerzähler aber schon.
    :)

    Vorsicht Leute! Muss mich hier leider selbst zitieren. Glaube das ist ein Topfen was ich hier geschrieben habe.
    Ich versteh gerade wiederholt nicht wie der km-Zähler von der Frequenz der Sendungen abhängen kann aber die Geschwindigkeitsanzeige nicht.
    Irgendwas hats da! :verdutzt

    UPDATE: Ist tatsächlich ein Schwachsinn.
    Es funktioniert ganz normal. Sende ich 10000 Sendungen mit den Wert 0a für Speed dann fährt das Ding immer 4.8km weit, egal ob ich 5ms oder 10ms Intervall habe. Und die Geschwindigkeit einfach ausrechnen über Zeitstempel und wieviele Umdrehungen innerhalt des Zeitstempels (wie eh schon beschrieben).

    Also km-Zähler können wir abhaken!

    2 Mal editiert, zuletzt von stev74 (20. Februar 2017 um 19:01)

  • Danke für die Rückmeldung, wie gesagt mit der Frequenz des Sendens kann es nichts zu tun haben weil CAN nicht deterministisch ist und es eher Zufall ist wenn die Signale in fester Frequenz ankommen.

    Naja die Abweichung bei der Geschwindigkeit ist ja eher unwichtig, aber der KM Zähler sollte schon genauer sein.

    Ich nutze kein Whatsapp sondern Signal.

  • Moin,

    bei der Geschwindigkeit würde ich fast auf Rohwerte der WSS tippen. Wäre normal eher ungewöhnlich, aber da die MT ja vermutlich nur einen CAN hat - warum nicht? Bock die Kiste mal auf und dreh am Vorderrad - vermutlich gibt es dafür nochmal einen ähnlich skalierten Wert.
    In dem Fall wärst du bei Radumfang/Wheelticks pro Umdrehung=Strecke pro "1" in dem Datenstrom (ggf. einfach mal nachmessen und am Sensorring zählen). Die Geschwindigkeit ergibt sich entsprechend (wie du ja schon beschrieben hast) aus aufsummiertem Wert und Sendefrequenz. Letztere sollte eigentlich konstant sein. Das Display mag da flexibel sein, die ABS-ECU wird wohl Fehler werfen, wenn die Frequenz deutlich abwandert.
    Generell muss der Radumfang aber nicht konstant sein. Normal schätzt das ABS laufend den Rdyn (bei PKW und LKW auf jeden Fall ... PTW keine Ahnung, die haben ja zusätzlich noch so komisch geformte Reifen). Evtl. findest du irgendwo in einer seltener gesendeten Botschaft Updates für den Skalierungsfaktor.

    Der RPM-"Zusatz" kann alles mögliche sein ... Checksumme, irgendein Sensoroffset, was lustig gemultiplextes, ...
    Muss ja nichtmal nur ein Wert sein.

    Dank neuer Richtlinien wurde dieser Inhalt in meinen Bastelfred verbannt ... :kasper

  • Hi Cedric, was ist WSS, Rdyn, PTW ?

    Der Geschwindigkeitssensor liegt übrigens irgendwo am Motor, nicht am Rad selbst was ich aus dem Handbuch erkennen konnte.
    Es könnte aber schon sein dass die ECU noch zusätzlich andere Sensordaten bekommt...die gelangen aber nicht auf den CAN Bus.
    Also die ECU sendet selbst das Signal für die Geschwindigkeitsberechnung, wie auch immer die ECU das ermittelt.

    Ja ich glaube den RPM-Zusatz können wir ignorieren weil der schwankt selbst bei gleichbleibender Motordrehzahl so stark, dass es für eine Drehzahlanzeige eigentlich sinnlos ist den auszuwerten, meiner Meinung nach. Vielleicht ist es auch, wie du schreibst, etwas ganz anders. :)

  • Also bei den ABS Modellen wird das Geschwindigkeitssignal durch das ABS generiert und wird dann über ein Kabel (gelb/weis/schwarz) an die ECU übertragen

    Bei den Nicht ABS Modellen ist ein Geschwindigkeitssensor verbaut der am selben Eingang der ECU angeschlossen wird.

    Es werden Rechtecksignale mit eine Freuquenz proportional zur Geschwindigkeit vom ABS ausgegeben, der Pegel liegt bei 12V.

    Die MT 07 hat nur einen CANbus und die Geschwindigkeitsdaten werden von der ECU zum Cockpit übertragen.

    Ich nutze kein Whatsapp sondern Signal.

  • Zunächst mal: Es gibt nicht die ECU. Die MT hat (zumindest in der ABS-Version) mehrere (ABS und Motor). ;)

    WSS = WheelSpeedSensor (Raddrehzahlsensor)
    PTW = Powered TwoWheeler (motorisiertes Zweirad)
    Rdyn = dynamischer Rollradius (siehe z.B. hier)

    WSS sind lt. Handbuch tatsächlich direkt an der ABS-ECU angeschlossen, was ja aber erstmal nicht viel über die Signalverarbeitung bzw. das ausgegebene Signal sagt.

    Dank neuer Richtlinien wurde dieser Inhalt in meinen Bastelfred verbannt ... :kasper

  • Habe gerade das Cockpit am Tisch knappe 150km fahren lassen um auf den genauen Faktor zu kommen wieviel 1-wert von dem Speedimpuls (4tes Byte von "rechts" in der 20a Message) bedeutet.

    Also 1 Impuls bedeutet 0,04895m, (+-0,0000165 Abweichung möglich)
    (ABS Version)

    Somit sollte das Speedberechnen eigentlich abgehakt sein.

  • je nach Sprachraum

    Mag in der Motorenentwicklung noch funktionieren. Für den Rest der Welt ist ECU = Electronic Control Unit (Steuergerät). Und von denen hat ein moderner PKW halt eine 2stellige Anzahl ...

    TLAs¹ sind halt generell ein wenig fies und man muss vorsichtig sein, um diese nicht mit TLAs² zu verwechseln ... :freak

    Aber wir driften vom Thema ab ...

    ¹ = three-letter acronym/abbreviation
    ² = two-letter acronym/abbreviation

    Dank neuer Richtlinien wurde dieser Inhalt in meinen Bastelfred verbannt ... :kasper

  • Kurzes Update zur Speedmessung da ich gerade herumexperimentiere. (Vorsicht TECHGELABBER :) )

    Das originale Cockpit erwartet sich etwa alle 10ms einen Datensatz (0x20a). Die Geschwindigkeitsanzeige des MT07 Cockpit stimmt auch nur wenn das Intervall eingehalten wird.

    Hier meine Überlegung dazu warum das doch gut ist und ein Tip wie man messen sollte falls auch jemand ein eigents Cockpit bauen möchte.
    Bei einer analogen Messung am Rad und Sensor wo man direkt den Sensor auswertet misst man in der Regel die Zeit zwischen den Impulsen und errechnet sich so die Geschwindigkeit.

    Hier kommt das Signal aber digital auf einem seriellen Kabel daher. Sprich die Impulse kommen nicht so exakt wie bei einer anlogen Messung. Um diesen Laufzeitfehler vom CANbus bzw auch von der Zeitmessung selbst loszuwerden ist es am besten wenn man wie folgt die Geschwindigkeit misst.
    Interrupt auslösen bei jeder 0x20a Message (muss man ja sowieso). Bei jeder z.b. 20 ten Message durch einen fixen Zeitfaktor dividieren anstatt selbst eine Zeitmessung durchführen. Damit hat es keine Auswirkung auf den Speedwert wenn die Message mal 1ms zu spät kommen sollte und die Anzeige springt nicht um 1kmh herum. Ich denke das ist der Grund warum Yamaha das so macht. Möglicherweise kann man dadurch auch auf einen genauen, externen Oszillator für den Prozessor verzichten weil die Genauigkeit der Zeitmessung keine wirkliche Rolle mehr spielt. (kostenersparnis)