MX-5 (NC) Bastelprojekt: Zusatzdisplay für den CAN-Bus

Diskutiere Bastelprojekt: Zusatzdisplay für den CAN-Bus im Mazda MX-5 Forum im Bereich Technikbereich: Die neue Zoom-Zoom Generation; Hallo zusammen, heute wollte ich mal den Zwischenstand meines Bastelprojekts teilen, da ich nun etwas weiter gekommen bin. Fertig bin ich noch...

  1. #1 Incident, 22.11.2020
    Incident

    Incident Einsteiger

    Dabei seit:
    14.08.2017
    Beiträge:
    44
    Zustimmungen:
    35
    Hallo zusammen,

    heute wollte ich mal den Zwischenstand meines Bastelprojekts teilen, da ich nun etwas weiter gekommen bin. Fertig bin ich noch lange nicht, aber wie es eben so ist, es geht Stück für Stück und auch mal mit einigen Wochen als Pause langsam weiter.

    Ich habe mir, wie viele hier im Forum einige von Euch die Handbücher besorgt und alles an Infos über den MX5 gezogen, was das Internet so hergibt.
    Was ich festgestellt habe:
    - OBD Anwendungen, die alles mögliche an Daten ziehen gibt es einige
    - Der CAN Bus des MX5 (NC) liegt ohne Gateway oder sonstige Abschottung auf der OBD Dose

    Da ich beruflich mit vernetzten Fahrzeugen zu tun habe und mich da recht gut auskenne, aber ich mit gedacht, ich schneide mal mit, was da alles so gesendet wird und versuche mal rauszufinden was dort zu finden ist.
    Das ging recht einfach, allerdings kann man aus den Infos nicht wirklich viel rauslesen, ohne die Beschreibung dazu zu kennen. Außer einem Haufen hexadezimalen Zahlen kann man zunächst nichts rauslesen. Auch im Netz habe ich nicht viel gefunden, was einem weiterhelfen würde.
    Ich habe als angefangen etwas mehr an Aufwand reinzustecken und nach und nach rausgefunden, welche Botschaften von welchen Steuergeräten geschickt werden. Also entsprechend mit eingeschalteter Zündung mal Sicherungen gezogen, oder Stecker abgesteckt. So konnte man zuordnen was vom Motorsteuergerät, dem Kombiinstrument oder dem ABS/ESP Steuergerät gesendet wird..
    Danach begann der "Nerd" teil und ich habe angefangen einzelne Fahrmanöver aufzuzeichnen und herauszufinden, welche Daten sich ändern.
    Beispiel: Radgeschwindigkeiten, die sind 4 mal vorhanden und laufen beim losfahren nahezu gleich hoch. Bei Kurvenfahrt sind die kurvenäußeren Räder schneller usw.
    So habe ich nach und nach die Positionen im HEX-Puzzle gelöst. Die Skalierung ist glücklicherweise in vielen Fällen identisch zu den Diagnosewerten über OBD.

    Warum CAN und nicht OBD?
    Über OBD bekomme ich auch alle möglichen Informationen, allerdings muss ich dazu für jeden Wert eine Anfrage stellen und bekomme dann die Antwort. Wenn ich das für z.B. 10 Werte brauche, muss ich 10 Anfragen stellen.
    Das geht bis zu einem gewissen Grad gut, allerdings steigt mit jedem Wert die Last auf dem CAN-Bus und irgendwann gehen Daten verloren, oder die SG antworten nicht gleich oder garnicht.

    Der CAN Bus funktioniert zum Größten Teil mit zyklischen Botschaften, jedes SG sendet also wiederholend immer die gleichen Botschaften, die Signale enthalten. Die Zykluszeiten sind allerdings deutlich schneller als das, was auf der OBD Schnittstellen möglich wäre, weil die Infos ohne Anfragen sowieso gesendet werden.
    Wenn ich die Geschwindigkeit z.B. über OBD mit Torque Pro oder einer anderen App auslese, erfolgt das meist im 1000ms Takt, also bekomme ich jede Sekunde einen Wert. Wenn ich die gleiche Info vom CAN beziehe, bekomme ich diese alle 10ms geliefert.

    Welche Infos habe ich auf dem CAN?
    - Geschwindigkeit
    - Einzelradgeschwindigkeiten
    - Motordrehzahl
    - Fahrpedal / Gaspedal
    - Motorkühlmitteltemperatur
    - Ansauglufttemperatur
    - Bremslichtschalter
    - Neutralschalter (MT-Getriebe)
    - Kupplungsschalter
    - Lenkradwinkel
    - Stati der verschiedenen Lampen (MIL, DSC, ABS)
    - Status DSC
    - Leistungsreduzierung vom DSC an den Motor ( leider noch ohne genaue Einheit)
    - Handbremseninfo
    - DSC on/off Schalter
    - Fahrgestellnummer
    - Hubraum

    Signale die noch nicht ganz dekodiert wurden
    - Drehmomenten/Leistung (unklar was genau angezeigt wird -> bei ASR oder DSC Eingriff wird das Motormoment reduziert vom DSC-Steuergerät reduziert und der Wert folgt der Vorgabe und exakt, solange eine Vorgabe anliegt)
    - Motorlast
    - Zündwinkelverstellung

    Berechnete Signale:
    Ganganzeige -> Über Motordrehzahl, Gang- und Differenzialübersetzung und Radgeschwindigkeiten an der Hinterachse kann man den Gang bestimmen -> braucht kein Mensch, geht aber ;)

    Wie genau geht das?
    Ich habe eine Platine entworfen, die mit KL30 (12V) im Auto versorgt wird, einigen Schutzschaltungen (Überspannung, Spannungsspitzen, Welligkeiten, Verpolung etc.), DCDC Wandler und ESP32 Controller mit integriertem CAN Controller. Als Zusatzschnittstellen wurden 3 serielle Schnittstellen, I2C und einige offene GPIOs vorgesehen. Man kann über 6 Achsen Gyro noch zusätzlich, Längs-, Quer- und Vertikalbeschleunigungen messen, sowie Gierraten der der Achsen, ein GPS Modul über serielle Schnittstelle anschließen. Die freien GPIOs könnten z.B SPI umsetzen und so einen Datenlogger umsetzen der die Daten auf eine SD-Karte schreibt, etc.

    Das verwendete Display ist ein 3.5" Nextion Display. Der Vorteil ist, dass man mit einem Editor das Design einfach mit einem Editor erstellt und auf das Display spielt. Das macht dann alles alleine, man muss nur die Daten die angezeigt werden sollen per serieller Schnittstelle draufschieben. Es ist auch ein Touchdisplay, man kann also auch Daten vom Display an den Controller schieben und dort verarbeiten (Seitenumschaltung, Werte zurücksetzen, etc.) Von Nextion gibt es mehrere Größen, wer Bock hat, könnte so locker ein 7" Display einbauen, oder ein 2.4" Display, je nachdem was man mag und wieviel man ausgeben möchte.
    Das Design ist Geschmacksache und mal ein "erster Schuß".

    Die Gehäuse sind gedruckt und da kann jeder sich selber was zusammen designen, wie es dem persönlichen Geschmack gefällt.

    Unter dem Link kann man sich das Display in Aktion angucken. Die Daten wurden im Auto aufgezeichnet und können am Schreibtisch offline abgespielt werden um die SW und das Display zu tunen.
    Die Beschleunigungsanzeigen und GPS Werte sind momentan noch nicht implementiert. Das kommt später noch dazu.



    Bei Interesse kann ich gerne mehr Infos geben und würde mich freuen mit gleichgesinnten fachzusimplen... Vielleicht habt Ihr weitere Sachen die ich noch nicht rausgefunden habe.

    Gruß Malte

    MX5-CAN-Display_1.jpg MX5-CAN-Display_2.jpg MX5-CAN-Display_3.jpg
     

    Anhänge:

    Nihonsha gefällt das.
  2. #2 man weiß, 22.11.2020
    man weiß

    man weiß Mazda-Forum User

    Dabei seit:
    27.05.2011
    Beiträge:
    723
    Zustimmungen:
    60
    Auto:
    Atenza Bj.2009 Dynamik 163PS
    KFZ-Kennzeichen:
    Zweitwagen:
    Mazda2 1.3 84 PS
    KFZ-Kennzeichen des Zweitwagens:
    Schon nicht schlecht, aber im Alltag kann man damit nicht viel anfangen.
    Interessant währe Öltemperatur, Öldruck oder Turboladerdruck.
     
  3. #3 Incident, 22.11.2020
    Incident

    Incident Einsteiger

    Dabei seit:
    14.08.2017
    Beiträge:
    44
    Zustimmungen:
    35
    Ja da gebe ich Dir recht, aber das sind Dinge die in einem MX5 eben nicht ab Werk vorhanden sind. Die Werte kann man natürlich auch anzeigen, man muss eben nur die Sensoren dafür einbauen und einlesen. Bei meinem NC wäre das dann auch gleich der Turbolader den man einbauen müsste ;)
     
    Nihonsha gefällt das.
Thema:

Bastelprojekt: Zusatzdisplay für den CAN-Bus

  1. Diese Seite verwendet Cookies um Inhalte zu personalisieren. Außerdem werden auch Cookies von Diensten Dritter gesetzt. Mit dem weiteren Aufenthalt akzeptierst du diesen Einsatz von Cookies.
    Information ausblenden