Hallo, kennt jemand das Interface? https://www.sparkfun.com/products/9555 Konkrete Frage: Es unterstützt ja mehrere Protokolle (CAN, K-Line etc). Wie ist das Verhalten von dem Teil: Wenn das Ding zB am J-2234 und K-Line ( ISO9141 ) hängt und ich via AT IDs lesen will - welches Protokoll wird vom Interface dann gesprochen? Wird es über beide Transceiver verschickt oder nur eins? Wie wählt man, was gesprochen werden soll? Danke
:
Bearbeitet durch User
Filth __ schrieb: > Wenn das Ding zB am J-2234 und K-Line ( ISO9141 ) hängt und ich via AT > IDs lesen will - welches Protokoll wird vom Interface dann gesprochen? Der ELM 327 wird vom Steuerprogramm auf ein Protokoll eingestellt und dann wird versucht, eine Verbindung herzustellen. Bei meinem Scan Programm (ELM-Scan) werden bei 'Autobetrieb' einfach nacheinander alle Protokolle durchgeklingelt, bis die ECU antwortet. Der ELM327 Befehlssatz ist aber recht gut dokumentiert: http://www.sparkfun.com/datasheets/Widgets/ELM327_AT_Commands.pdf Das z.B. CAN andere Leitungen benutzt als ISO, wird vom ELM selber erledigt.
Danke, jetzt verstehe ich das Prinzip. Eine Frage noch: Der MCP2551 kann doch max 1mbps sprechen. Warum wird beim ELM327 max 500mbps für ISO 15765-4 angegeben? Quelle: http://en.wikipedia.org/wiki/ELM327
Oh gar nicht drauf geachtet - aber macht die Beschreibung trotzdem nicht besser ;) 500kilobit = 62 kilobyte , würde heißen, der würde kaum mit einem Fahrzeug kommunizieren, wenn die meistes 500kbps verwenden ?!
:
Bearbeitet durch User
Ich verstehe jetzt dich nicht ganz... Auf der Wiki Seite des ELM werden Protokole angegeben, die der ELM mit der für ihn maximalen Geschwindigkeit unterstützt, d. h. ELM327 beherscht z. B. das Protokoll ISO 15765-4 CAN mit einer geschwindigkeit bis zu 500 500 kbit/s. Der angesprochene CAN Transceiver MCP 2551 schafft die doppelte Geschwindigkeit => 1000 kbit/s. Insofern sehe ich hier keine Probleme...
Ich glaube ich stehe auf der Leitung. Beispiel: Ich habe den Fall, dass die ECU vom Fahrzeug 1000mbps redet. Der MCP2551 könnte jetzt die Geschwindigkeit unterstützen, aber das ELM327 nicht, also dürfte es nicht klappen - zumindest nach meinem Verständnis. Irgendwas kapiere ich da falsch
Filth __ schrieb: > Ich habe den Fall, dass die ECU vom Fahrzeug 1000mbps redet. Du verwechselt übrigens immer noch kbps mit mbps. Hast du nun wirklich den Fall oder denkst du den hier gerade nur aus?
Arrgh ja, ich habs wieder verwechselt. Die ECU, um die es geht, spricht 1000kpbs, 29Bit Header. Viele Grüße Alex
1000kbit würden mich etwas wundern. Datenraten >=500kbit kommen eigentlich nur auf dem Antriebs-CAN vor. Selbst bei diesen ECUs geschieht die Diagnose, für die die ELMxxx vorgesehen sind, nur über ein Gateway. Ein direktes Ansprechen dieser Steuergeräte würde ich aus Sicherheitsgründen lieber bleiben lassen.
Es ist laut Doku so: CAN Stream Specification DTA S 40Pro General CAN bus Baud Rate 1 MBd Identifiers All 29Bit 6 Data Packets All 8 Bytes Ea. Send Frequency 10Hz All Data Values Signed 16 bit sent LSB first (little endian) Data Packets Identifier Data1 Data2 Data3 Data4 0x2000 RPM TPS % Water Temp C Air Temp C 0x2001 MAP Kpa Lambda x 1000 KPH x 10 Oil P Kpa 0x2002 Fuel P Kpa Oil Temp C Volts x 10 Fuel Con. L/Hr x 10 0x2003 Gear Advance Deg x 10 Injection ms x 100 Fuel Con L/100Km x 10 From V62.01 the items below were added. 0x2004 Ana1 mV Ana2 mV Ana3 mV Cam Advance x 10 0x2005 Cam Targ x 10 Cam PWM x 10 Crank Errors Cam Errors
Ah - nix für Serienautos. Auf dem CAN findet offenbar gar kein Protokoll statt. Du brauchst einen einfachen CAN-Konverter wie z.B. ein PEAK-USB oder so. Falls Du selber etwas bauen möchtest schaue Dir mal die Boards unter www.kreatives-chaos.com an.
Ja - das ist ein gangbarer Weg. Ob es für die Arduino-Umgebung eine fertige Library betreffend MCP2515 gibt kann ich nicht sagen. Für C gibt es eine im Kreativen-Chaos.
Hmm doch noch eine Frage: Wie kommt es eigentlich, dass der ELM327 die 1mbps nicht anbietet? Die Kommunikation auf dem CAN Bus läuft doch über den MCP2551 und der schafft 1mbps.
Es besteht zum einen keine Notwendigkeit und zum anderen wird es dann doch ziemlich eng mit dem Dekodieren der Protkolle. Es ist halt "nur" ein PIC.
Wäre es nicht möglich den uC direkt mit dem MCP2551 zu verbinden und dann mittels lib direkt auf der CAN Leitung ohne ELM327 zu lesen -> das ist ja das, was in meinem Fall notwendig wäre (falls kein CAN-Shield sondern nur sowas hier vorhanden ist: http://www.exp-tech.de/obd-ii-uart?___SID=U ?
Ich will das hier verwenden http://www.exp-tech.de/obd-ii-uart?___SID=U weil es die meisten Protokolle abdeckt. Jetzt gibt es aber noch den Sonderfall mit der DTA ECU - den möchte ich idealerweise mit der gleichen Hardware abdecken - das verlinkte Board steckt in meinem Fall sowieso auf einem Arduino UNO Was mich irritiert: auf dem Schalplan von dem OBD Teil fehlt beim MCP der Quarz https://www.sparkfun.com/datasheets/Widgets/OBD-II-UART-v13.pdf Beim CAN Shield, ist aber dieser vorhanden: https://www.sparkfun.com/datasheets/DevTools/Arduino/canbus_shield-v12.pdf - Warum sind die beiden unterschiedlich verdrahtet? - An welche Pins müsste ich am MCP mit dem Arduino dran, um diesen über die LIB nutzen zu können? (Bis jetzt hab ich das CAN Shield einfach aufgesteckt und losprogrammiert) EDIT: Jetzt verstehe ich das Problem - bei dem OBD Teil ist nur ein CAN Transceiver drauf aber nicht der MCP wie beim CAN Shield.
:
Bearbeitet durch User
OBD und CAN ist nicht dasselbe! OBD kann über CAN kommunizieren. Aber ein OBD-2 Interface mit ELM-Chip kann nicht beliebig den CAN-Bus auslesen. Um auf den CAN-Bus des von dir geschriebenen DTA S40 Steuergerätes zuzugreifen brauchst du ein reines CAN-Interface, nix OBD. Also z.B. ein PEAK-USB oder was vom kreativen-chaos, lawicel. Oder wenn du selber programmieren willst ein CAN-Shield für den Arduino, aber da weiß ich nicht ob ein Arduino mit 1MBit/s noch mitkommt.
Das stimmt nicht ganz. Der ELM kann auch "rohe" CAN Botschaften senden. Auf dem Sparkfun Board ist aber kein ELM! Der STN1110 ist ähnlich, teilw. besser, aber eben: anders. Alle (wirklich alle) ELM327 Angebote für weniger als 40 Euro sind übrigens China Clones, egal, welcher "namhafte" Hersteller da seinen Sticker draufklebt. Aber mal grundsätzlich: OBD II hat halt zwei Modi vorgegeben, vier werden i. d. R. von den Controllern unterstützt. Alles andere ist nicht norm-gerecht. Da gibt es also auch keine Doku zu. Hier tummeln sich diejenigen, die am Auto rumspielen: http://www.canhack.de/ - was davon zu halten ist, CAN Botschaften zu senden, sei mal dahingestellt. Lesen ist aber kein Problem. Mehr Infos: http://www.blafusel.de/obd/obd.html
Hallo Florian, mir geht es um das reine Lesen von Botschaften. Was mir aus deinem Posting nicht klar wird: Kann man mit dem STN1110 1mpbs CAN lesen? Gruß Alex
Dann lerne, wie Elektronik und Programmierung funktioniert (Arduino gehört in die Tonne), was ein Datenblatt ist (da steht nämlich drin, was der STN1110 kann) und nimm einen PCA 82C250/MCP 2551 und einen MCP 2515, Quarz, zwei Rs, vier Cs und gut ist. Kostet keine 3€.
Das Datenblatt vom STN1110 habe ich mir schon angeguckt, da finde ich keine Angaben zu max Bitraten https://www.sparkfun.com/datasheets/Widgets/stn1110-ds.pdf Wie Programmierung funktioniert weiß ich, würde ich nach ca 10 Jahren Berufserfahrung (allerdings nicht im uC Umfeld) behaupten
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.