OBD II interfész Bluetooth-on keresztül


A HC-05 modul lehetővé teszi a master vagy a slave összeköttetését egy kompatibilis bluetooth eszközzel (elméletileg a HC-06, amely csak egy slave).
A HC-05-et AT parancsnokság alatt pilotálják. 3,3 V-ot használ, ezért legyen óvatos, ha 5 V-os arduinóval használja. 3.3V-ban ez nagyon alkalmas egy STM32F401RE kártyára (az általam használt).

interfész

A HC-05 2 üzemmóddal rendelkezik:

  • egy AT mód, amely lehetővé teszi a konfigurálását,
  • adatmód vagy átlátszó mód, amely lehetővé teszi az adatok közvetlen továbbítását a soros kapcsolaton keresztül.


A 2 mód közül az egyik kiválasztásához a modulnak van egy KEY nevű csapja, amely lehetővé teszi az egyik módról a másikra való váltást. Esetünkben AT módban kell elindítanunk a modult, majd a bluetooth bekapcsolása után a modul automatikusan adatmódba kapcsol. Ezután nincs többé szükség visszatérni AT módba, mivel csatlakozunk az OBD eszközhöz és párbeszédet folytatunk a járművel.

  • AT mód: Kulcs = 1
  • Adat mód: Kulcs = 0

A HC-05 kártyának 2 változata létezik: az egyik a "KEY" tűvel és a másik nélkül. jobb, ha egy modult veszünk ezzel a csapszeggel. Ha a modul nem rendelkezik vele, akkor meg kell forrasztania egy vezetéket a Bluetooth modul csatlakozócsapján: (a jobb felső sarokban található 34. tű)


A kapcsolat létrehozásához be kell szereznie annak a Bluetooth modulnak a Mac címét, amellyel kommunikálni kíván.

Ekkor az AT parancsban végrehajtandó sorrend (KEY = 1) a következő:

Csatlakozási parancsfájl egy Bluetooth modulhoz


Minden sornak "\ r \ n" betűvel kell végződnie, különben a HC-05 modul nem veszi figyelembe a parancsokat.
E parancssor végén, ha a Mac cím a helyes (itt 88: 18: 56: 68: 98: EB), akkor csatlakoznia kell a HC-06 slave bluetooth moduljához vagy máshoz (itt a OBD modul és különösen az ELM327).

Mostantól át kell váltani átlátszó módra, nevezetesen arra, hogy a távoli szolga modullal való kommunikációhoz a "KEY" csapot 0-ra kell állítania.

OBD és ELM327


Az ELM327 az OBD protokollnak dedikált chip. Arra szolgál, hogy az OBD-csatlakozó különféle buszait egyetlen soros kommunikációs kapcsolathoz illessze.
Az ELM327 2 módban működik:

  • AT mód: ezek speciális parancsok az ELM327 konfigurálásához (például az alkalmazott CAN protokoll konfigurálásához), vagy bizonyos paraméterek kérésére, például az akkumulátor feszültségére
  • OBD mód: ez egy sajátos szintaxis, amely lehetővé teszi az OBD értékek olvasását/írását. Ezeket a parancsokat a sebesség, a motor fordulatszámának stb.

Az első lépés az ELM327 inicializálása:

Mielőtt kommunikálni tudna az ELM327-gyel, és az inicializálni tudja a protokollt a jármű számítógépével, tanácsos elindítani a járművet. Egyes járműveknél be kell indítani a motort, másokban a gyújtás kiegészítőként elegendő.


A számítógéppel való kommunikációhoz meg kell adnia a használandó protokollt, amelynek meg kell egyeznie a jármű protokolljával. A Renault Lagune 2 modellem esetében az 5. protokoll (FAST).

  • 0 - Automatikus
  • 1 - SAE J1850 PWM (41,6 kbaud)
  • 2 - SAE J1850 VPW (10,4 kbaud)
  • 3 - ISO 9141-2 (5 baud init, 10,4 kbaud)
  • 4 - ISO 14230-4 KWP (5 baud init, 10,4 kbaud)
  • 5 - ISO 14230-4 KWP (gyorsindítás, 10,4 kbaud)
  • 6 - ISO 15765-4 CAN (11 bites ID, 500 kbaud)
  • 7 - ISO 15765-4 CAN (29 bites azonosító, 500 kbaud)
  • 8 - ISO 15765-4 CAN (11 bites ID, 250 kbaud)
  • 9 - ISO 15765-4 CAN (29 bites ID, 250 kbaud)
  • A - SAE J1939 CAN (29 bites ID, 250 * kbaud)
  • B - USER1 CAN (11 * bit ID, 125 * kbaud)
  • C - USER2 CAN (11 * bit ID, 50 * kbaud)

Az ELM327 parancsnak meg kell adnia, hogy automatikusan keresse meg a használni kívánt protokollt. Részemről ez a mód soha nem működött és rendetlenséget okozott a buszon, és a számítógép hamis hibákat jelzett. A jármű gyújtásának és újbóli gyújtásának egyszerű kikapcsolása helyreállítja a számítógép működését, nem romboló hatású (amire megfigyeltem)


Az elküldendő parancsok a következők:

ELM327 inicializáló szkript

Minden alkalommal, amikor egy parancs "\ n" -re végződik, az ELM327 szöveges formátumban adja vissza a válaszát, és ezt a választ ">" -val fejezi be. Ez a figyelmeztetés jelzi, hogy új megrendelés küldhető.

Miután az inicializálás befejeződött, áttérhetünk a komoly kérdésekre: az OBD-információk olvasására.

A jobb megértés érdekében az ELM327 dokumentumban keresse meg a 30-31. Oldalon található protokollt, de itt van egy összefoglaló:

Az OBD-adatok elolvasásához tudnia kell, hogy melyik módban szeretne dolgozni: (az információ a wikipédiából származik):

  • 01 Jelenlegi adatok megjelenítése
  • 02 A keret rögzített adatainak megjelenítése
  • 03 Tárolt diagnosztikai hibakódok megjelenítése
  • 04 A diagnosztikai hibakódok és a tárolt értékek törlése
  • 05 Teszt eredmények, oxigénérzékelő monitorozása (csak nem CAN)
  • 06 Vizsgálati eredmények, egyéb alkatrészek/rendszerek monitorozása (Vizsgálati eredmények, oxigénérzékelő monitorozás csak CAN esetén)
  • 07 Függőben lévő diagnosztikai hibakódok megjelenítése (az aktuális vagy az utolsó menetciklus során észlelték)
  • 08 A fedélzeti alkatrész/rendszer vezérlése
  • 09 Gépjárművel kapcsolatos információk kérése
  • 0A Állandó diagnosztikai hibakódok (DTC-k) (Törölt DTC-k)