Thema: PC-Hardware Mit Arduino OBD2 auslesen
Einzelnen Beitrag anzeigen
Alt 19.10.2016, 23:57   #8
HeinrichG
5972cm³ Klimawandler
Premium Mitglied
 
Benutzerbild von HeinrichG
 
Registriert seit: 25.09.2006
Ort: Korntal-Münchingen
Fahrzeug: BMW E66 760Li Bj 09/2006, E31 850Ci Bj 05/1991
Standard

Zitat:
Zitat von Bartho Beitrag anzeigen
Habe an ein ganz einfachen Uno gedacht.
Na also, passt doch.

Der hat einen NCP1117 drauf, also bis 20V am Eingang. Ich würde ihm vielleicht noch eine Induktion + Zenerdiode spendieren, um die Spitzen wegzubügeln, sicher ist sicher.

Zitat:
Zitat von Bartho Beitrag anzeigen
So stand es auf einer Seite die den OBD2 anschluss beim E46 "erklärt" es wäre eine

die sich so zusammen setzt

1 +12V Ignition(in run or start)
4 CGND Chassis ground
5 SGND Signal ground

7 ISO 9141-2 K-LINE engine (ISO-9141 and ISO-14230), automatic transmission diagnostic (in some models)
8 ISO 9141-2 K-LINE IKE/KOMBI, ABS, ABS/ASR, ABS/ABD, ESP, DSC, Airbag and other electronic equipment
9 TD/RPM Engine rotation speed
15 ISO 9141-2 L-LINE L-Line of ISO 9141-2 and ISO 14230-4
16 +12v Battery power

Deshalb möchte ich nur Pin7 anzapfen.
Es ist ein ganz normaler ISO9141. Im Prinzip brauchst Du nur:
-> 4+5 als Masse
-> 16 als +12v
-> 7+8 als K-Line.

Der E46 hat zwei getrennte K-Line "Zugänge", einfach zusammenschalten und Du kommst in jedes Steuergerät rein. Ich hatte mal einen Z4 3.0 am Wickel gehabt, ich kam uns verrecken nicht in die Innenraum-SGs rein, nur Motor + Getriebe (war ein Automatik), bis ich das gerafft habe. Also, 7+8 zusammenlegen und alles tuti.


Zitat:
Zitat von Bartho Beitrag anzeigen
So'n Arduino wird doch meines wissens in C, da ich PHP recht gut kann denke ich wird das nun nicht sooo das problem werden.
Täusch Dich da nicht. PHP und C haben zwar ähnliche Syntax, das war's dann aber auch schon. Und ein Mikrocontroller ist kein PC. Da musst Du Dich mit solchen Geschichten wie Interrupts, Buskommunikation, UART, ... beschäftigen. Das alles musst Du selbst implementieren. Ein Mikrocontroller läuft in einer Endlosschleife und wird immer wieder rausgeholt, wenn was passiert, beispielsweise ein Byte über UART empfangen wird.

Ein STN1110 ist ein UART-Chip, der Dir zwar sehr viel abnimmt, aber die Kommunikation mit ihm muss auch passen.

Du willst ein Display anbinden. Das wird höchstwahrscheinlich ein SPI oder I²C sein. Auch das musst Du implementieren.

Nicht falsch verstehen, es ist super interessant, kann aber auch für sehr viel Frust sorgen.

Zitat:
Zitat von Bartho Beitrag anzeigen
Nettes Ding.
HeinrichG ist offline   Antwort Mit Zitat antworten