Communication OBD2

Via ELM327

Procedure d’initialisation

Interrogation & interpretation des PID supportes

Lecture de donnees

Lecture de code erreur

RAZ des erreurs

Lecture de code VIN

A trier

L’ELM327 est un adaptateur entre les protocoles standardisés automobile et un classique port RS232.

La communication PC s’établie à 9600 ou 38400 bd, 8 data bit, no parity, 1 stop bit.

Toutes les demandes/reponses se termine par un CR (0x0D) et eventuellement un LF si paramétré.

QUand on commence à demander quelque chose à l’ELM, ce dernier attend 20s avant eventuellement d’envoyer un ”?”, afin d’indiquer qu’il n’a pas compris ce qu’on demandais et de fait rien executé.

L’ELM est insensible à la casse, aux espaces, et aux tabulations. Dans le decodage des reponses, il faut ignorer le caractère NULL (0x00).

Lors de l’établissement de la com, la première chose à faire est d’envoyer un CR. L’ELM va alors repondre par un ”?>” indiquant qu’on peut commencer le dialogue

La séquence d’initialisation, est à effectuer juste après l’établissement de la COM. Elle permet d’indiquer à l’ELM la façon dont il doit communiquer avec le PC. Voici les commandes usuelles à utiliser:

  • <CR>: Permet de repeter la meme commande que la precedente
  • AL: permet d’autoriser les message long à l’envoi vers l’ELM (8 octets) et illimité vers le PC. A off par defaut. A UTILISER
  • AT0, AT1, AT2: permet de parametrer plus finement le temps de reponse. Par defaut, l’ELM les regle.
  • ATRV: Permet de lire la tension batterie (pont diviseur R1=47K, R2=10K), precision 2%, 28V max
  • ATE0: Desactive(0) ou non l’echo (si activé, l’ELM renvoie alors les caractères reçu pour verif eventuelle)
  • ATL0: Desactive (0) ou non l’utilisation du <LF> apres le <cr>
  • ATS0: Affiche ou non les espaces (l’ECU repond en separant d’un espaces des paquets de 3 octets pour plus de lisibilité, au detriment de la vitesse)
  • ATSP0: Permet de parametrer le protocole à utiliser (0=mode auto)
  • ATH1: Affiche (1) ou non les entetes (pour debug principalement? affiche des messages en sus)
  • ATDPN: permet de recuperer le numero du protocole utilisé, précédé de A en mode auto
  • ATR0: desactive ou non le renvoi direct des messages du calculateur (utile?)

envoyer la première commande OBD2 (pas AT) (qui doit etre 0x0100), l’elm repondra un “searching...” puis enverra des nombres (voir p30 doc V2)

Lire la doc V2 a partir de la page 30 pour plein d’info sur l’obd2 et une partie de l’interpretation demande/reponse.

Le mode 4 efface tout sans distinction (impossible de choisir de n’effacer qu’une seule erreur.

Après connection, renvoit:

“ELM327 <version>

>”

Le “>” (0x3E) est le caractère de prompt.

Reset: cmde “ATZ”

1 table dédié au protocole utilisé et leur numero

Commande AT:

P30: description de comment communiquer en OBD2

Table des Matières

Sujet précédent

Base De Donnees

Sujet suivant

Ressources

Cette page