Forum: Mikrocontroller und Digitale Elektronik DIY Can Interface! Brauche dringend Hilfe


von Romano Götz (Gast)


Lesenswert?

Grüezi mitanand!

Nach wochenlangem lesen und tüfteln wende ich mich abermals an euch 
Profis aus dem Forum. Mein letzter Thread brachte leider nicht den 
gewünschten Erfolg, nun habe ich jedoch einen neuen Ansatz.
Folgende Problematik: Ich brauche ein Modul oder Interface welches ein 
bestimmtes Signal eines Can Protokolls (ISO9141-2) ausfiltert und bei 
Erhalt Masse schaltet damit ich ein Lämpchen (12V/5W)schalten kann.
Das gesuchte Signal ist PID01 (MIL Status)
wäre sowas möglich mit zum Beispiel einem MCP2515 Can Bus Module?
Es gibt heutzutage ja hunderte von Scannern,Bluetooth Interfaces und 
Head up Displays die das anzeigen können, aber eben, ich möchte das bei 
meinem Projekt eine Lampe im Armaturenbrett aufleuchtet.
Habe sogar ein Interface gekauft, welches genau das machen könnte
(DakotaDigital STA-1000), leider unterstützt das Teil IS09141-2 nicht 
sondern nur j1850VPN,Can und noch ein anderes, ist mir jedoch 
entfallen...
wäre wirklich super wenn ein findiger Tüftler mir hierbei helfen könnte 
oder mir sogar sowas bauen könnte, natürlich gegen Bezahlung!
Ich freue mich auf den einen oder anderen konstruktiven Beitrag!!!

merci und Gruss aus der Schweiz

Romano

von Frank G. (frank_g53)


Lesenswert?

Ist zwar keine Antwort auf deine Frage, aber kann man das Signal (ich 
gehe mal von der Motorkontrollleuchte aus, malfunction indicator light) 
nicht am Steuergerät abgreifen?

von Danish B. (danishbelal)


Lesenswert?

Moinsen,

auch ich bin kein CAN-Bus Experte, aber ich habe mal ein Projekt 
gesehen, bei dem ein Raspberry Pi alle CAN-Bus Meldungen abfängt und auf 
die Konsole ausgibt.

Wenn du daraus deine Meldung filterst (z.B. mit 'grep'), dann hättest du 
eine Lösung (wenn auch nicht elegant).

PS: Soweit ich weiß, wird ein CAN-Bus Controller (MCP2515) nicht 
ausreichen.
Du brauchst zusätzlich den Transceiver, es gibt aber auch beides in 
einem.

von Wolfgang (Gast)


Lesenswert?

Romano Götz schrieb:
> Das gesuchte Signal ist PID01 (MIL Status)
> wäre sowas möglich mit zum Beispiel einem MCP2515 Can Bus Module?

Außer dem MCP2515 wirst du noch einen CAN Bustreiber und einen 
Mikrocontroller brauchen, der den CAN-Controller steuert.

Die Kodierung der CAN Botschaft für die Abfrage vom Monitorstatus (Mode 
1, Parameter ID 01) mit dem Bit für die Fehlerlampe findest du z.B. 
hier:
https://en.wikipedia.org/wiki/OBD-II_PIDs#Standard_PIDs

von Cube_S (Gast)


Lesenswert?

> Du brauchst zusätzlich den Transceiver, es gibt aber auch beides in
> einem.

Das allein wird nicht reichen. Es wird wohl auch ein µC nötig sein, der 
den MCP2515 (+2551 Transceiver z.B.) ansteuert und dann auch das 
Lämpchen schaltet. Aber alles in allem sollte das bei bekannten 
CAN-Nachrichten und bekannter Bitrate lösbar sein

von Wolfgang (Gast)


Lesenswert?

Man kann auch gleich einen Arduino nehmen, der CAN direkt per Hardware 
unterstützt. Den hat man für 12€ und braucht dann nur noch einen 
Transceiver.

von H.Joachim S. (crazyhorse)


Angehängte Dateien:

Lesenswert?

Habe ich mal gebaut, es müssten sogar noch Platinen da sein.
CAN-Transceiver, MCP2515, ATMega8, serielle Schnittstelle, 2 
masseschaltende Ausgänge mit FET

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Romano Götz schrieb:
> Folgende Problematik: Ich brauche ein Modul oder Interface welches ein
> bestimmtes Signal eines Can Protokolls (ISO9141-2) ausfiltert und bei
> Erhalt Masse schaltet damit ich ein Lämpchen (12V/5W)schalten kann.
> Das gesuchte Signal ist PID01 (MIL Status)

> (DakotaDigital STA-1000), leider unterstützt das Teil IS09141-2 nicht
> sondern nur j1850VPN,Can und noch ein anderes, ist mir jedoch
> entfallen...

 Was nun ?
 CAN oder kein CAN ?
 Alles was in ISO9141-2 definiert ist, bezieht sich auf K und L
 Leitungen und ist basiert auf SAEJ1978/J1979/J2012 sowie J1962 für
 Konnektor.
 Mit CAN hat der nichts am Hut.

von Romano Götz (Gast)


Lesenswert?

Wow, vielen Dank für die zahlreichen Antworten in so kurzer Zeit!
Nun ja, einfach Signal vom Steuergerät abgreifen wäre ja zu schön!! Nee, 
ist schon oder eben leider über den Bus gesteuert...
Ich habe ja das Mcp2515 can Module, da is der transceiver ja mit drauf, 
habe auch ein Arduino UNO und ein Sparkfun Can Shield und ja,ich hätte 
sogar die Original Platine des Kombiinstruments mit dem entsprechenden 
Controller, aber sorry, da blick ich schlichtweg nicht durch!!! Wird 
dann auch von der Bauform her relativ gross...
Baudrate ist übrigens bekannt, 104000 oder so irgendwas, müsste ich 
jedoch nochmals genau nachschauen...

von Rudolph R. (rudolph)


Lesenswert?

Baudrate ist übrigens bekannt, 104000 oder so irgendwas,

Hmm, merkwürdige Baudrate für CAN und für LIN bzw. K-Line auf jeden Fall 
zu schnell.

von Romano Götz (Gast)


Lesenswert?

Schon klar, ich habe eine K-Line, ganz exakt wäre sogar ein CCD Bus.
 Und ja, dieses Interface würde auch CAN unterstützen, nützt mich aber 
nichts:
To see the signal and channel status on the BIM display, press and hold 
the switch. If “BUS” is shown, the module cannot communicate with the 
vehicle. The display will cycle through several screens. The first will 
show the bus type (“” for GM or Chrysler J1850, “” for Ford J1850, “” 
for CAN) and the number of control modules answering. The next screens 
will indicate speed and rpm. “” for 1,500 rpm and “ ” for 96 km/h 
speed.

Ausschnitt aus dessen manual

von Romano Götz (Gast)


Lesenswert?

Das mit dem Eigenbau Relais würde mich interessieren! Gibt es dazu 
nähere Infos?

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Romano Götz schrieb:
> Ich habe ja das Mcp2515 can Module, da is der transceiver ja mit drauf,
> habe auch ein Arduino UNO und ein Sparkfun Can Shield und ja,ich hätte
> sogar die Original Platine des Kombiinstruments mit dem entsprechenden
> Controller, aber sorry, da blick ich schlichtweg nicht durch!!! Wird
> dann auch von der Bauform her relativ gross...
 Du must dich erstmal so richtig durchgooglen. ISO9141-2 und CAN scheint
 für dich dasselbe zu sein.
 Und MCP2515 braucht einen MCP2551 um überhaupt mit CAN verbunden zu
 werden.

> Baudrate ist übrigens bekannt, 104000 oder so irgendwas
 Für ISO9141 und KWP2000 ist es 10400B für CAN 25-50 Mal so schnell.

> müsste ich jedoch nochmals genau nachschauen...
 Tu das.
 Nicht nur die Baudrate sondern so ziemlich alles...

von Romano Götz (Gast)


Lesenswert?

Sorry aber ich weiss auch das CAN viel neuer ist und nichts mit ISO9141 
zu tun hat. Und wenn ich von einem MCP2515 CAN Module schreibe, dann 
wahrscheinlich weil das Teil so heisst und nach vie vor den Transceiver 
2551 dabei hat, deswegen ja auch Module. Und Baudrate stimmt ja auch, 
wenigstens fast! War einfach eine 0 zu viel, hatte die Zahl so im 
Kopf....
Ja es stimmt, ich bin kein Elektoniker, nicht mal ansatzweise, und genau 
deswegen hoffte ich auf eure Hilfe.
Gegoogelt habe ich weiss Gott genug!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.