Bonjour,
ayant deux Peugeot que j'entretiens moi-même (une 406 break phase 1 et une 306 cabriolet phase 3), un outil de diagnostique me serait bien utile. Cependant comme je suis maniaque du logiciel libre et que j'aime bien avoir un contrôle maximal sur les outils que j'utilise (au niveau logiciel et matériel), j'ai pensé à faire mon propre outil de diagnostique basé sur Arduino, dont je publierais ensuite les schémas et le code pour qu'ils puissent servir à d'autres.
J'ai ce câble:
Je pense relier les broches utiles du côté DB25 à l'Arduino qui va communiquer avec les microcontrôleurs de la voiture, en déduire les éventuels défauts et transmettre les résultats par USB à un PC qui les affichera.
J'ai trouvé cette doc dans laquelle à la page 23 il est dit quelle broche du connecteur de diagnostique sert à quoi pour une 406 phase 1.
Il semble y avoir deux protocoles de communication qui sont utilisés (Bus diagnostic ISO5 et Bus diagnostic ISO8). Je n'arrive pas à trouver d'informations sur ces protocoles. Est-ce que quelqu'un en aurait?
Bonne journée
Gilles
Développement d'un outil de diagnostique basé sur Arduino
- gwicki
- Membre actif
- Auteur du sujet
- Messages : 53
- Enregistré le : mer. févr. 05, 2020 11:37 pm
- Prénom : Gilles
- Carrosserie : Break
- Motorisation : 2,0L
- Type : XU10J4R (RFV)
- Finition : Ne sais pas
- Millésime : 1998
- Kilométrage : 270000
-
Gilles
31 ans
-
406 Ne sais pas
2,0L
XU10J4R (RFV)
Millésime 1998
Développement d'un outil de diagnostique basé sur Arduino
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
- ubuntu406
- Modérateur
- Messages : 3069
- Enregistré le : ven. juil. 07, 2017 12:48 am
- Prénom : Brice
- Carrosserie : Berline
- Motorisation : 2,0L HDI
- Type : DW10ATED (RHZ)
- Finition : SV
- Millésime : 2001
- Kilométrage : 292000
- Localisation : Seine et marne 77
-
Brice
43 ans
Seine et marne 77 -
406 SV
2,0L HDI
DW10ATED (RHZ)
Millésime 2001
Re: Développement d'un outil de diagnostique basé sur Arduino
Si le chef Youri30 passe par là
Sinon pour (SemiMux: DW10), y'a plusieurs reseau de COM entre divers calculateurs:
_Moteur: KWP / K-Line
_Carroserie: VAN
Sinon pour (SemiMux: DW10), y'a plusieurs reseau de COM entre divers calculateurs:
_Moteur: KWP / K-Line
_Carroserie: VAN
- Youri30
- Administrateur du site
- Messages : 27649
- Enregistré le : lun. sept. 19, 2011 12:57 pm
- Prénom : Youri
- Carrosserie : Berline
- Motorisation : 2,2L HDI
- Type : DW12TED4 (4HX)
- Finition : Sport Pack
- Millésime : 2001
- Kilométrage : 402642
- Localisation : Alès (30)
-
Youri
57 ans
Alès (30) -
406 Sport Pack
2,2L HDI
DW12TED4 (4HX)
Millésime 2001
Re: Développement d'un outil de diagnostique basé sur Arduino
gwicki a écrit :comme je suis maniaque du logiciel libre et que j'aime bien avoir un contrôle maximal sur les outils que j'utilise (au niveau logiciel et matériel)
Bienvenue au club
ISO5 et ISO8 ne sont pas des noms de protocoles, tu ne trouveras effectivement rien avec ça.
Pour les protocoles, je ne te recommande pas de chercher à les implémenter toi-même. D’une part, tu auras du mal à trouver les specs des différents protocoles, d’autre part c’est un énorme boulot de codage et mise au point…
Et surtout, c’est pas utile de vouloir réinventer la roue quand il y a des chips qui font déjà le taf. Renseigne toi sur les chips ELM327 et STN1110, ils implémentent toute une gamme de protocoles de diag et s’interfacent facilement en UART.
Pour l’ELM327, je ne parle pas des boîtiers tout faits et fermés, je parle du chip lui-même, que tu peux trouver chez Elm Electronics.
Le STN1110 est un autre chip, plus ou moins équivalent, et moins cher. On le trouve là : https://www.scantool.net/stn1110/
Penche toi déjà sur les datasheets de ces deux composants, il y a de la lecture et tu auras (presque) tout ce qu’il faut pour te faire une belle interface : des schémas d’application, une description sommaire des protocoles, …
- Qu'est-ce que tu vas faire aujourd'hui ?
- Rien.
- C'est déjà ce que t'as fait hier !
- Ouais mais j'ai pas fini.
- Rien.
- C'est déjà ce que t'as fait hier !
- Ouais mais j'ai pas fini.
- gwicki
- Membre actif
- Auteur du sujet
- Messages : 53
- Enregistré le : mer. févr. 05, 2020 11:37 pm
- Prénom : Gilles
- Carrosserie : Break
- Motorisation : 2,0L
- Type : XU10J4R (RFV)
- Finition : Ne sais pas
- Millésime : 1998
- Kilométrage : 270000
-
Gilles
31 ans
-
406 Ne sais pas
2,0L
XU10J4R (RFV)
Millésime 1998
Re: Développement d'un outil de diagnostique basé sur Arduino
Merci pour ces précieux renseignements. D'après ce que j'ai vu, il semble que les 406 phase 2 utilisent le protocole ISO 9141-2 présent sur les deux circuits, par contre je n'arrive pas à trouver lequel c'est pour les phase 1. La mienne est une phase 1 de 1998. Est-ce que ces circuits implémentent aussi le protocole qui correspond à cette génération?
- Youri30
- Administrateur du site
- Messages : 27649
- Enregistré le : lun. sept. 19, 2011 12:57 pm
- Prénom : Youri
- Carrosserie : Berline
- Motorisation : 2,2L HDI
- Type : DW12TED4 (4HX)
- Finition : Sport Pack
- Millésime : 2001
- Kilométrage : 402642
- Localisation : Alès (30)
-
Youri
57 ans
Alès (30) -
406 Sport Pack
2,2L HDI
DW12TED4 (4HX)
Millésime 2001
Re: Développement d'un outil de diagnostique basé sur Arduino
Je ne sais pas quel est le protocole utilisé sur ton modèle…
Et donc, je ne peux pas te dire si ces chips supportent ce protocole.
Mais, j’aurais tendance à penser que, à partir du moment où tu as le connecteur standard 16 voies, le protocole utilisé est un protocole standard et qu’il est donc très probablement implémenté sur ELM327 et STN1110. Mais ça reste une supposition, qu’il faudra tester pour en être certain… Je n’ai pas de voiture sous la main sur laquelle je pourrais faire le test…
Et donc, je ne peux pas te dire si ces chips supportent ce protocole.
Mais, j’aurais tendance à penser que, à partir du moment où tu as le connecteur standard 16 voies, le protocole utilisé est un protocole standard et qu’il est donc très probablement implémenté sur ELM327 et STN1110. Mais ça reste une supposition, qu’il faudra tester pour en être certain… Je n’ai pas de voiture sous la main sur laquelle je pourrais faire le test…
- Qu'est-ce que tu vas faire aujourd'hui ?
- Rien.
- C'est déjà ce que t'as fait hier !
- Ouais mais j'ai pas fini.
- Rien.
- C'est déjà ce que t'as fait hier !
- Ouais mais j'ai pas fini.
- gwicki
- Membre actif
- Auteur du sujet
- Messages : 53
- Enregistré le : mer. févr. 05, 2020 11:37 pm
- Prénom : Gilles
- Carrosserie : Break
- Motorisation : 2,0L
- Type : XU10J4R (RFV)
- Finition : Ne sais pas
- Millésime : 1998
- Kilométrage : 270000
-
Gilles
31 ans
-
406 Ne sais pas
2,0L
XU10J4R (RFV)
Millésime 1998
Re: Développement d'un outil de diagnostique basé sur Arduino
Ok, je vais essayer de me renseigner un peu plus et je te tiens au courant.
- ubuntu406
- Modérateur
- Messages : 3069
- Enregistré le : ven. juil. 07, 2017 12:48 am
- Prénom : Brice
- Carrosserie : Berline
- Motorisation : 2,0L HDI
- Type : DW10ATED (RHZ)
- Finition : SV
- Millésime : 2001
- Kilométrage : 292000
- Localisation : Seine et marne 77
-
Brice
43 ans
Seine et marne 77 -
406 SV
2,0L HDI
DW10ATED (RHZ)
Millésime 2001
Re: Développement d'un outil de diagnostique basé sur Arduino
Hors-sujet
Moi je sais que le OBD1 est bien bidouillé chez les passionné/compétiteur model 306.
Ce référer chez eux et nous informer ici (si possible)
Ce référer chez eux et nous informer ici (si possible)
- gwicki
- Membre actif
- Auteur du sujet
- Messages : 53
- Enregistré le : mer. févr. 05, 2020 11:37 pm
- Prénom : Gilles
- Carrosserie : Break
- Motorisation : 2,0L
- Type : XU10J4R (RFV)
- Finition : Ne sais pas
- Millésime : 1998
- Kilométrage : 270000
-
Gilles
31 ans
-
406 Ne sais pas
2,0L
XU10J4R (RFV)
Millésime 1998
Re: Développement d'un outil de diagnostique basé sur Arduino
ubuntu406 a écrit :Hors-sujetMoi je sais que le OBD1 est bien bidouillé chez les passionné/compétiteur model 306.
Ce référer chez eux et nous informer ici (si possible)
Alors je vais regarder de ce côté-là aussi
D'après ce que jul31 dit dans ce poste, il semble que le protocole OBD des phase 1 est propre à Peugeot et donc que ça ne fonctionne pas avec ces circuits.
viewtopic.php?f=24&t=6890
@jul31 Est-ce que tu as finalement mesuré à l'oscilloscope les trames du protocole OBD des phase 1 comme tu parlais de le faire dans ton poste? Si c'est le cas ça m'arrangerait bien si tu es d'accord de me les partager.
- gwicki
- Membre actif
- Auteur du sujet
- Messages : 53
- Enregistré le : mer. févr. 05, 2020 11:37 pm
- Prénom : Gilles
- Carrosserie : Break
- Motorisation : 2,0L
- Type : XU10J4R (RFV)
- Finition : Ne sais pas
- Millésime : 1998
- Kilométrage : 270000
-
Gilles
31 ans
-
406 Ne sais pas
2,0L
XU10J4R (RFV)
Millésime 1998
Re: Développement d'un outil de diagnostique basé sur Arduino
J'ai finalement réussi à acheter ceci: https://ch.farnell.com/fr-CH/mikroelekt ... dp/2858030.
C'est une carte interface OBD2 UART basée sur le STN1110. Ça ne fonctionnera probablement pas tel quel sur ma voiture mais je vais déjà essayer avec des voitures plus récentes et ensuite je verrai pour la mienne.
C'est une carte interface OBD2 UART basée sur le STN1110. Ça ne fonctionnera probablement pas tel quel sur ma voiture mais je vais déjà essayer avec des voitures plus récentes et ensuite je verrai pour la mienne.
- gwicki
- Membre actif
- Auteur du sujet
- Messages : 53
- Enregistré le : mer. févr. 05, 2020 11:37 pm
- Prénom : Gilles
- Carrosserie : Break
- Motorisation : 2,0L
- Type : XU10J4R (RFV)
- Finition : Ne sais pas
- Millésime : 1998
- Kilométrage : 270000
-
Gilles
31 ans
-
406 Ne sais pas
2,0L
XU10J4R (RFV)
Millésime 1998
Re: Développement d'un outil de diagnostique basé sur Arduino
Alors j'ai acheté un adaptateur pour relier le côté UART de la carte avec le STN1110 à l'UART d'une carte Arduino Uno.
https://ch.farnell.com/fr-CH/mikroelekt ... dp/2431450
Comme ce bus UART est le même que celui utilisé pour programmer le microcontrôleur de l'Arduino par le port USB (il y a un circuit de conversion USB - UART sur la carte), je peux envoyer des commandes à mon STN1110 depuis mon ordi connecté en USB à la carte Arduino. Pour cela il faut retirer le microcontrôleur pour qu'il n'interfère pas avec le bus UART. J'ai également dû modifier la carte adaptateur entre l'Arduino et la carte avec le STN1110 pour que le RX et le TX soient dans le bon sens (de base j'avais RX sur RX et TX sur TX, il faut l'inverse).
Comme prévu ça fonctionne avec les voitures compatibles OBD2, par contre j'ai essayé sur ma 306 cab phase 3 de 2000 et là le STN1110 n'arrive pas à se connecter au système de la voiture.
https://ch.farnell.com/fr-CH/mikroelekt ... dp/2431450
Comme ce bus UART est le même que celui utilisé pour programmer le microcontrôleur de l'Arduino par le port USB (il y a un circuit de conversion USB - UART sur la carte), je peux envoyer des commandes à mon STN1110 depuis mon ordi connecté en USB à la carte Arduino. Pour cela il faut retirer le microcontrôleur pour qu'il n'interfère pas avec le bus UART. J'ai également dû modifier la carte adaptateur entre l'Arduino et la carte avec le STN1110 pour que le RX et le TX soient dans le bon sens (de base j'avais RX sur RX et TX sur TX, il faut l'inverse).
Comme prévu ça fonctionne avec les voitures compatibles OBD2, par contre j'ai essayé sur ma 306 cab phase 3 de 2000 et là le STN1110 n'arrive pas à se connecter au système de la voiture.