Wenn dies Ihr erster Besuch hier ist,
lesen Sie bitte zuerst die Hilfe - Häufig gestellte Fragen
durch. Sie müssen sich vermutlich registrieren,
bevor Sie Beiträge verfassen können. Klicken Sie oben auf 'Registrieren', um den Registrierungsprozess zu
starten. Sie können auch jetzt schon Beiträge lesen. Suchen Sie sich einfach das Forum aus, das Sie am meisten
interessiert.
Nanocom, Scangauge, Diagnosegeräte und Apps schön und gut - aber hat einer hier abseits der Fertiglösungen schonmal versucht, selbst Kontakt mit dem CAN-Bus aufzunehmen? Also z.B. mit Arduino o.Ä.? (Meines Wissens gibt es im TD4 eine highspeed CAN-Verbindung zwischen Motorsteuergerät und Cockpit.)
Mit der Forumssuche hab ich nichts dergleichen gefunden. Nur Nanocom rauf und runter.
Interessanter Gedanke! Ich hab zwar 2 Arduinos im Landy verbaut (einer fuer Innen-/Aussentemperatur, Batteriespannungen und Neigung zum Ausrichten beim Uebernachten im Auto, den anderen zum Aufzeichnen der gefahrenen Route mit GPS auf Speicherkarte), aber an den CAN-Bus bin ich bisher noch nicht dran. Ein kurzes Nachfragten bei Tante Google zeigt mir aber, dass es fertige Arduino Shields bzw Bauplaene fuer ebensolche gibt, um die Hardware anzuschliessen, sowie mehrere Arduino libraries, um damit Werte auszulesen. Vielleicht helfen Dir ja solche Webseiten besser weiter als dieses Forum in diesem speziellen Fall? Fuer mich ist Dein Beitrag jedenfalls ein Denkanstoss, den ich bei genuegend Zeit sicher mal vertiefen werde... Danke dafuer!
@DefNder, hast das mal irgendwo vorgestellt oder einen Link zum Belesen?
@khamuul nur zu, sowas ist geil, ... deine Heizungssteuerung ist abgeschlossen?
@DefNder, hast das mal irgendwo vorgestellt oder einen Link zum Belesen?
Nein, weder noch. Eine Doku habe ich beim Basteln auch nicht parallel erstellt. Wenn Du konkrete Fragen hast, kannst Du mir die gerne stellen - ich weiss allerdings nicht, ob dieser Thread hier der richtige Ort dafuer ist. Also entweder ein neuer Thread "Arduino-Projekte am Landy" oder PN an mich.
@DefNder Also wenn ich ehrlich bin, hab ich auch schon angefangen. :) Seit längerem liegt hier schon ein CAN-Bus-Shield "v1.2" (Ich meine von "seeed".) in der Warteschleife. Aber wie das so ist - man hat einfach zu viele Projekte...
Ursprünglich hatte ich gehofft, dass ich darauf ein LCD-Shield stecken kann, aber das tuts noch nicht zusammen mit dem CAN-Shield. Pin-Doppelbelegungen gibt es eigentlich keine - ich muss mal schauen, ob die librarys nicht vielleicht dieselben Timer verwenden wollen oder sowas. Aber ohne LCD-Shield habe ich bereits Kontakt zum CAN und kann Daten mitschreiben! :kl Die schicke ich derzeit über USB an den Laptop und schreibe sie mit Putty mit. (Sprich: Hardware-Kabel-etc ist als Prototyp schon vorhanden und einsatzbereit auf Arduino UNO.)
@sollner11 Heh, nein, die Lüftungssteuerung lag ein Weilchen auf Eis, weil das Relais aus der Grabbelkiste wohl doch zu klein dimensioniert war. (Leider keine Beschriftung. (HS) Das ist nach einer Weile Lüftungs-max im Fahrbetrieb in der Ruheposition festgegangen. Für solche Fälle hatte ich einen Dummy-Stecker gebaut, den man anstelle des Relais im Motorraum anstecken kann. (= Originalzustand) Das Relais wollte ich dann doch nicht länger drin haben. Nach einem passenden Relais musste ich ein Weilchen suchen. (2x Umschalter >= 20A) Bin aber fündig geworden und bald gehts weiter, dann schreib ich auch wieder was. Angeschlossen hab ichs schon.
@SirJAn Weißt Du mehr über "DBC-Files"? Der Begriff ist mir noch nicht untergekommen, aber ich kann mir denken, dass das vielleicht so eine Art Top-Secret Beschreibungsdatei ist, die mir den großen Haufen Daten auf dem Bus im Einzelnen erklären, richtig? Und ja, mit sowas rücken die Hersteller nicht raus. Ich hatte auch schonmal in Richtung Transit recherchiert aber auch da nichts weiter gefunden. Mein Ansatz ist im Moment "reverse engineering", also Daten mitschreiben in unterschiedlichen Fahrzeugzuständen und sich selbst einen Reim aus den Daten machen. Ja, ist aufwändig. Ja, ich werde sicher nicht alle "Geheimnisse" aufdecken. Macht mir aber Spaß und ich wills zumindest probieren. Daher ja auch meine Anfrage hier nach Mitstreitern, die ähnliche Gedanken haben. Etwas hilft auch das Wissen, welche Sensoren denn die OBD-Apps im TD4 so anzeigen können, das schränkt die Möglichkeiten schon gut ein. Daten auf den Bus senden möchte ich erstmal nicht. Aber eine Anzeige einiger Sensordaten, die da eh vorbeirauschen, wär schon schön. ("echte" Kühlwassertemperatur zum Beispiel, oder eine Verbrauchsanzeige.) Fehler auslesen kann ich auch erstmal anders.
Ich werte die Daten immer wieder mal ein Stück aus, wenn ich Zeit habe. Heute war aber erstmal Ventile einstellen am Moped dran und am Wochenende muss ich endlich mal was im Garten tun...
Damit es hier in der Zwischenzeit nicht langweilig wird, hier mal ein kleiner Datenfetzen aus meinem CAN-Bus - so sieht sowas aus:
Also, das DBC File ist quasi der Schlüssel zu den CAN Messages, mit den Hex Zahlen wirst du nichts anfangen können.
Ich empfehle Dir hier mal etwas Literatur, ist ja alles genormt und im Netz verfügbar.
Hersteller hüten DBC Files natürlich, da man so auch aktiv Signale manipulieren könnte.
man muss auch aufpassen, dass man nicht versehentlich irgend etwas auf den Bus legt!
Den genormten Teil (Der CAN-Bus selbst) habe ich doch schon im Griff, Jan! Schau oben, da sind schon die HEX Daten, die ankommen. Das behütete Hersteller-Geheimnis, welche Daten nun was bedeuten, meinetwegen in Form einer DBC Datei, (Ich nähm sonst wohl auch jede andere lesbare Form einer Dokumentation.) werde ich wohl schwerlich finden und ist eben nicht genormt. Wie im Eingangspost bereits gesagt, gesucht hatte ich bereits und für meine Verhältnisse auch lange und tief genug. Wenn Du was weißt oder einen Tipp hast, wie ich die Daten des 2,4l TDCI interpretieren kann, dann immer her damit! :) Ansonsten bin ich da glaube ich eine Spur optimistischer als Du.
Mit dem "versehentlich was auf den Bus legen" hast Du sehr Recht. Das ist ja auch der Grund, warum ich nichts auf den Bus senden möchte, sondern nur die Daten, die auch ohne mein Zutun dort schon kursieren, mitlesen und interpretieren. (Sonst dürfte ich übrigens genausowenig irgendwelche China-OBD-Adapter und -Geräte dort anschließen und mit irgendwelchen Apps drauf zugreifen lassen. Bei denen weiß ich schon gar nicht genau, was die auf dem Bus so treiben und muss ihnen schlicht vertrauen.) Eine zusätzliche Sicherheit: Immerhin hängt an meinem CAN außerdem nichts so wichtiges mit dran, wie es bei moderneren Autos der Fall ist. (ABS/ESP/Tempomat/Einparkautomatik/Spurassistent/Airbags/Autopilot/... - gibts bei mir alles nicht.)
ansehen? Laut der Doku im www gibt's da Funktionen wie zB
unsigned int getEngineLoad();
unsigned int getEngineCoolantTemp();
unsigned int getEngineRPM();
unsigned int getVehicleSpeed();
unsigned int getIntankeAirTemp();
unsigned int getThrottlePosition();
unsigned int getFuelLevel();
unsigned int getBarometricPressure();
usw. Ich weiss nicht, ob die genormt sind von den Hex-Codes her, aber einen Versuch waer es wert...
Edit: in der Datei arduinoCAN.h sind einige #defs drin, mit Erklaerung der Hex-Werte und Umrechnung der zugehoerigen Parameter. Bitte probier doch einfach mal davon was aus, ohne die Lib zu installieren, zB Deine mitgelesenen Hex-Werte nach 0x0C filtern (= ENGINE_RPM), den Parameter entsprechend umrechnen und Dir auf Laptop ausgeben lassen bei laufendem Motor. Wenn das dann der Drehzahl (laut Drehzahlmesser) entspricht, dann kann man auf diese Weise schon mal eine ganze Menge Hex-Werte identifizieren und umrechnen...
Edit 2: Und wenn man erst mal angefangen hat zu suchen, findet man tatsaechlich folgende Uebersicht an naheliegender Stelle: https://en.wikipedia.org/wiki/OBD-II_PIDs Inkl der parameter-Umrechnungen. Das wuerde mir fuer den Anfang schon mal reichen...
Ja, über das canhack Forum war ich auch gestolpert. Angemeldet bin ich dort nicht - kann also nicht alle Beiträge sehen.
@DefNder: Die lib schau ich mir gleich mal an, danke! Aber ich habe das Gefühl, dass die IDs doch sehr Hersteller-spezifisch, ja sogar Modell-spezifisch sind. (Ich hatte etwas Doku von anderen Ford Modellen gefunden, aber nichts passte. Auch im Wikipedia-Artikel im Teil über CAN liest man nicht selten "Vehicle specific"...)
Hier eine Liste aller IDs, die ich bis jetzt gesammelt habe - sortiert nach der Häufigkeit, mit der im normalen Fahrbetrieb Daten von ihnen kommen. (Allen voran die ersten beiden.) Ein wenig meiner Interpretation der Daten schreibe ich dazu.
0x38B // Hier ist die Geschwindigkeit dabei
0x129 // Hier ist das Gaspedal dabei / eventuell auch Verbrauch & engine timer ?
0x38A // Daten sehr ähnlich bzw. identisch mit 0x38B, aber deutlich seltener
0x4C2 // eventuell air intake temp
0xF6 // Hier gibts viele Variablen mit "Leben" drin - ich kann sie aber noch nicht zuordnen
0x12A // Eigentlich nur ein Bit? - Motor an/aus
0x128 // viele Daten / große Daten (16 Bit) - vielleicht (???) Drehzahl dabei
0x127 // vielleicht Kühlwassertemperatur dabei?
0x405 // "periodische" Daten
0x442 // gar keine Daten
0x400 // ?
Wie Ihr seht, ich war schon etwas fleißig. :)
Ich bin gespannt, ob irgendeiner der TD4-IDs in arduinoCAN.h vorkommt...
Auf jeden Fall sollten in den Daten dieser IDs alle Daten vorkommen, die man im Cockpit sieht, denn dahin werden sie schließlich gesendet.
Das wäre doch mal ein tolles Projekt. So eine Multifunktionsanzeige positioniert zwischen der Lüftung . Dargestellt auf einem kleinen Display.
Ich kenne mich zwar nich mit dem CAN Bus aus , aber ich könnte auf dem Arduino eine Ausgabe und Datenverarbeitung programmieren.
Hier eine Liste aller IDs, die ich bis jetzt gesammelt habe
Hast Du denn (bis auf die PID 0xF6) alles nur PIDs mit 2 Byte gefunden, die ueber den Bus laufen? So wie ich den wiki-Artikel verstehe, sollten zumindest die Service 1 (= aktuelle Werte) PIDs 0x00-0xC4 normiert sein und fuer alle Fahrzeuge gelten (offenbar auch noch weitere service level, aber zum Abfragen der Daten reicht wohl erst mal service 1). Oder muss man jeden Wert, den man auslesen moechte, erst einmal anfordern? Also einen request auf den Bus schicken, um dann eine entsprechende Antwort zu erhalten.
Ist bissl bloed, das theoretisch zu betrachten ohne die entsprechende Hardware, um es auch auszuprobieren. Ich werde mir da wohl bald selber mal so ein CAN-Shield besorgen...
Wir verarbeiten personenbezogene Daten über Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen, Werbung zu personalisieren und Websiteaktivitäten zu analysieren. Wir können bestimmte Informationen über unsere Nutzer mit unseren Werbe- und Analysepartnern teilen. Weitere Einzelheiten finden Sie in unserer Datenschutzrichtlinie.
Wenn Sie unten auf "Einverstanden" klicken, stimmen Sie unserer Datenschutzrichtlinie und unseren Datenverarbeitungs- und Cookie-Praktiken wie dort beschrieben zu. Sie erkennen außerdem an, dass dieses Forum möglicherweise außerhalb Ihres Landes gehostet wird und Sie der Erhebung, Speicherung und Verarbeitung Ihrer Daten in dem Land, in dem dieses Forum gehostet wird, zustimmen.
Kommentar