CAN-Bus im Fahrzeug - Kann wer helfen?

Hallo Leute,

ich bin absoluter Neuling was das Thema Arduino angeht und möchte, bzw. muss mich aber gezwungener Maßen damit auseinandersetzen und für den Anfang ein auf jeden Fall ein sehr umfangreiches, für einen Neuling sicher nicht optimales, Projekt starten.

Es geht darum, dass ich bei zwei Fahrzeugen (beides Nissan, jedoch unterschiedliche Modelle) CAN-Bus Signale auslesen möchte um im Anschluss den Tacho des einen Fahrzeuges gegen den des anderen Fahrzeuges auszutauschen.

Schritt 1 für mich wäre erstmal die Beschaffung der korrekten Bauteile.

Schritt 2, das Auslesen der can-bus Daten des einen Fahrzeuges inkl. Testen/Herumspielen etc.

Schritt 3, das Auslesen der can-bus Daten des anderen Fahrzeuges (wo der Spender-Tacho herkommt)

Schritt 4, Einbau des Tachos und mit Hilfe der entsprechenden zuvor ausgelesenen can-bus Daten die Ansteuerung des Tachos.

Schritt 5, Kombination bzw. Übersetzung der Signale, also wenn Signal x reinkommt, soll Signal y gesendet werden, damit der Tacho anspricht.

Könnte mir da jemand ggf. in sofern helfen mir ggf. Links zu Projekten zu schicken, die sich mit dem Thema Can-Bus im Fahrzeug auseinandersetzen oder mir Hilfestellung zu geben bei der Beschaffung der Bauteile?

Von meiner vorherigen Recherche würde ich auf folgende Bauteile schließen:

  • ARDUINO UNO (Rev3 ?)
  • Sparkfun CAN bus shield
  • arduino header pins (Buchsenleisten)
  • jumper-Kabel
  • DB9 zu OBD2 Kabel

Wie kann ich das Arduino mit einem Laptop verbinden zwecks Programmierung und Darstellen der reinkommenden Can-Bus-Daten?

Vielen lieben Dank für eure Hilfe!

Ich habe eben dieses Teil gefunden, was ich mir jetzt erstmal bestellen werde.

https://www.hobbytronics.co.uk/leonardo-canbus

arduino_another_newbie:
Könnte mir da jemand ggf. in sofern helfen mir ggf. Links zu Projekten zu schicken, die sich mit dem Thema Can-Bus im Fahrzeug auseinandersetzen oder mir Hilfestellung zu geben bei der Beschaffung der Bauteile?

Im Thema UNO - Mega - Teensy mittels CAN-Bus verbinden habe ich mich mit CAN-Bus beschäftigt, allerdings ohne Auto. Möglicherweise hilft es Dir trotzdem. Da ist auch eine Liste der von mir verwendeten Hardware dabei.

Das Teil was ich gepostet hatte war leider nicht mehr verfügbar und es scheint Probleme mit der Nachlieferung zu geben.

Ich habe nun ein Arduino Uno R3 und ein Sparkfun canbus shield.

Erste Cersuche zum Abgreifen der Daten ahben auch sofort funktioniert.

Kennt jemand einen Code, wie ich Daten aus einer Datei über can bus senden könnte?

In der Beispieldatei "SparkFun_ECU_Demo" werden die Daten ja abgegriffen und in einer Datei auf der SD Karte gespeichert, die Frage ist nun, ob ich diese Daten auch "abspielen" könnte.

Das würde das Ganze einfach machen, weil ich dann die ID´s nach und nach löschen könnte und dadurch verfolgen könnte wie es sich auswirkt... z.B. ID x gelöscht = Tacho zeigt nichts mehr an.

Das würde das Ganze einfacher machen, als Can Codes einzeln zu schicken und gucken ob etwas passiert.

arduino_another_newbie:
... die Frage ist nun, ob ich diese Daten auch "abspielen" könnte.

Das gespeicherte Format scheint mir für diesen Zweck ungeeignet.

Kennt jemand ggf. ein gutes Monitoring Programm, welches ggf. auch mehrere Daten senden kann?

....

Ich habe dieses Programm...CANHacker

https://www.rubinolab.com/isolated-arduino-canbus-monitor-with-canhacker/

Leider bricht die Verbindung mit Fehler ab oder kommt erst gar nicht zustande.

Also ich hab jetzt ganz speziell CANHackerv2.00.02 runtergeladen und damit geht es erstmal.

Blinker, links, Rechts und Warnblinker konnte ich schonmal erfassen und reproduzieren. Andere Sachen wie Abblendlicht, Fernlicht und die Warnanzeigen scheinen komplizierter zu sein.

Am Liebsten wäre mir nach wie vor ein Programm, mit dem ich einfach eine zuvor exportierte Liste "abspielen" kann.
Ich hatte mal ein Video gesehen von einem Uni-Typen, der bei einem Tacho den 30Minütigen Arbeitsweg auf seinem Tacho nochmal "abgespielt" hat. Leider finde ich das Video nicht. Wäre bei schwierigeren Sachen jedenfalls sehr Hilfreich da man dann über Ausschlussverfahren an die Sache rangehen kann.

Auch wäre es für das zweite Fahrzeug besser, da ich das andere Fahrzeugmodell wo ich den Tacho herausnehme höchstens 1Std zur Verfügung bekomme zum Abgreifen der Daten und dann mit einem hier schon befindlichen Tacho "herumspielen" müsste um die Sachen herauszufinden.

Vielleicht hat ja jemand schonmal mit einem solchem Programm zu tun gehabt.

arduino_another_newbie:
Also ich hab jetzt ganz speziell CANHackerv2.00.02 runtergeladen und damit geht es erstmal.

Schön wenn Du vorankommst. Ein nicht dokumentiertes Protokoll zu hacken ist sicherlich nicht mal eben erledigt. Da ich Dein Auto nicht habe, mußt Du da wohl alleine durch.

Wenn Du weißt, was Du senden oder filtern möchtest, könnte ich möglicherweise wieder meinen Senf dazugeben.

agmue:
Wenn Du weißt, was Du senden oder filtern möchtest, könnte ich möglicherweise wieder meinen Senf dazugeben.

arduino_another_newbie:
Es geht darum, dass ich bei zwei Fahrzeugen (beides Nissan, jedoch unterschiedliche Modelle) CAN-Bus Signale auslesen möchte um im Anschluss den Tacho des einen Fahrzeuges gegen den des anderen Fahrzeuges auszutauschen.

nochmal drüber nachdenken....
Nachgedacht. Aahh.

Nein.

Ich kann mich dran erinnern, das die Laufleistung eines Fahrzeuges nicht am Tachostand fest gemacht wird.
Und dann war da noch:
https://www.tuev-nord.de/de/privatkunden/ratgeber-und-tipps/auto-ratgeber/tachobetrug/

Und auch den Beitrag hinter der URL halte ich für "nur bedingt" aussagekräftig; teilweise sogar irreführend; dennoch beschreibt er das Problem sehr genau.

Hier zu fragen, wie ein Tachowert aus einem in ein anderes - mit möglicherweise höherer Laufleistung versehenes - Fahrzeug übernommen werden kann ist schon sportlich.

my_xy_projekt:
nochmal drüber nachdenken....

Das kann nie schaden und ich muß zugeben, den Punkt mit dem Kilometerstand aus den Augen verloren zu haben. An betrügerischen Aktionen möchte ich natürlich nicht teilnehmen!

am Kilometerstand wird er nicht viel ändern wollen. Wenn ers kann ist es seine Sache. Hilfe wirds dazu nicht geben.

Wahrscheinlich gehts ihm halt um das mappen der ganzen Anzeigen und Signale vom alten Auto auf den neuen Tacho, daher muss er rausfinden welche PIDs er für jedes Lamperl/Anzeige schicken muss.

Nur 1h Stunde den originalen Bus mitlesen wollen, ist schon ambitioniert :wink:

Erst würde ich mal das alte Auto auslesen anfangen.

Warum nicht einfach mit dem gleichen Microcontroller der dann auch später verwendet werden soll?

Mein Ablauf wäre
Gucken was die Fernlicht-Leuchte aufleuchten lässt,
PID alt ermitteln,
eigenen Tacho Stand alone betreiben.

Anderes Auto auslesen
anderen Tacho Stand alone betreiben

Controller mit zwei CAN-BUS wählen und Übersetzung programmieren.
Hoffen, dass es noch immer klappt...

noiasca:
Wahrscheinlich gehts ihm halt um das mappen der ganzen Anzeigen und Signale vom alten Auto auf den neuen Tacho, daher muss er rausfinden welche PIDs er für jedes Lamperl/Anzeige schicken muss.

So hatte ich dieses Thema verstanden und das kann man unterstützen, auch wenn ich nicht sicher bin, wie begeistert der TÜV ist.

OT: ach, wichtig ist, dass die Leute begeistert sind.
Soll ja Leute geben, die sind diesbezüglich schmerzfrei:

tacho_54.jpg

Solange nicht an Bremse/Airbag/Abgas rumgefudelt wird, bin ich da tolerant.

tacho_54.jpg

noiasca:
am Kilometerstand wird er nicht viel ändern wollen. Wenn ers kann ist es seine Sache. Hilfe wirds dazu nicht geben.

Nö. Er will aus einem Fahrzeug den Tacho in ein anderes bauen.

CAN-Bus Signale auslesen möchte um im Anschluss den Tacho des einen Fahrzeuges gegen den des anderen Fahrzeuges auszutauschen.

Das wird der TÜV mit dem Arduino als “Übersetzer” nicht durchgehen lassen.
Ich sehe einen Tachotausch sehr kritisch. Schon weil das in den Werkstätten eine doch auch aufwändige Prozedur ist. Alten Stand merken, Tacho abmelden, neuen Tacho rein, bekannt machen und der Stand wird automatisch eingespielt.
Der KM-Stand wird ja nicht nur da oben angezeigt, sondern in den verschiedensten Steuergeräten gespeichert. Da gehört schon einiges dazu - und wenn eine Plausibilitätsprüfung scheitert, bzw. der Display nicht ordentlich bekannt gemacht, dann müssen eben die Signale manipuliert werden…

Tut mir leid, dass ich hier lange nicht mehr reingeschaut habe.

Also das Programm welches ich heruntergeladen habe hat wunderbar funktioniert. Ich konnte mittels der "trace"-Funktion alle gesendeten Can-Bus Daten mitlesen und bin diese dann nach und nach (also ID für ID) durchgegangen.
Von dem ersten Fahrzeug sind nun alle Signale, bis auf die Motorkontrollleuchte ausgelesen. Das liegt daran, dass an dem Tacho wo ich die Daten "abspiele" scheinbar diese Leuchte kaputt gegangen ist.

Mit dem zweiten Tacho habe ich schon angefangen, Signale für Beleuchtung (fern, abblend, blinker, Warnblinker) gehen soweit 1:1, alle digital angesteuerten Warnleuchten habe ich ebenfalls abgearbeitet.

Ich muss nun nur noch an jemanden kommen, der mich bei einem R35 GTR mal mitfahren lässt um die Signale mitzulesen.... Das wird vermutlich das schwierigste sein.

Das mit dem Tachostand werde ich schon geregelt bekommen und ich werde den "Umbau" des Tachos im Beisein eines Prüfers durchführen und mir dann mittels Gutachten bestätigen lassen (Tachostand alt, Tachostand neu, sowie Bestätigung der Funktion).

Hello friends. I am doing indicator repair. For this reason, I have to run the indicators on the counter. I do it using a canbus shield. I need a lot of code to wake up the indicators of the vehicles on the counter. How can you help me.