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
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?
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.
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
> 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
Habe ich mal gebaut, es müssten sogar noch Platinen da sein.
CAN-Transceiver, MCP2515, ATMega8, serielle Schnittstelle, 2
masseschaltende Ausgänge mit FET
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.
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...
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
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...
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!