Vous êtes sur la page 1sur 11

Projet1 :Système de Diagnostic Automobile Intelligent

Objectif :
Le principal objectif de ce projet est de concevoir et développer un système
complet de diagnostic automobile intelligent, composé d'un module embarqué
dans le véhicule et d'une application Android associée. Ce système aura pour
but de fournir des informations en temps réel sur l'état du véhicule et des
recommandations de maintenance, afin d'optimiser les performances, d'assurer
la sécurité et de prolonger la durée de vie du véhicule.

1/Prototype fonctionnel de la partie embarquée avec module OBD-II :

Matériel nécessaire :

Module OBD-II :

Sélectionnez un module OBD-II compatible avec votre projet. Certains


modules incluent également des adaptateurs Bluetooth ou Wi-Fi pour
faciliter la communication avec d'autres appareils.

Microcontrôleur :

Choisissez un microcontrôleur adapté, par exemple, Arduino, Raspberry Pi, ou un


microcontrôleur plus spécifique en fonction des besoins de votre application.

Alimentation :

Assurez-vous d'avoir une source d'alimentation appropriée pour le microcontrôleur.


Certains modules OBD-II peuvent être alimentés directement via le port OBD-II, tandis
que d'autres peuvent nécessiter une alimentation externe.

Câbles et Connecteurs :
Câbles pour connecter le module OBD-II, l'adaptateur, et la Raspberry Pi ou l'Arduino.
Connecteurs compatibles.

Capteurs Additionnels :
Selon les besoins spécifiques du projet, vous pourriez envisager d'ajouter des capteurs
supplémentaires, tels que des capteurs de température, de pression d'huile, etc.
Adaptateur OBD-II vers UART :
Un adaptateur qui convertit le signal OBD-II en signal UART pour la communication avec la
Raspberry Pi ou l'Arduino.

Etapes de realisation

Configuration du Matériel :

Connectez le module OBD-II à l'adaptateur OBD-II vers UART.


Connectez l'adaptateur à la Raspberry Pi ou à l'Arduino en utilisant les câbles appropriés.
Assurez-vous que tous les composants sont correctement alimentésConnectez le module
OBD-II au microcontrôleur en utilisant les câbles et les adaptateurs

Communication OBD-II :

Implémentez la communication avec le module OBD-II en utilisant les protocoles


OBD-II appropriés ( CAN). Envoyez des requêtes pour récupérer les données du
véhicule.

Développement du Logiciel :
Écrivez le code pour la Raspberry Pi ou l'Arduino permettant de communiquer avec le module
OBD-II via l'adaptateur.
Utilisez des bibliothèques appropriées pour interpréter les données OBD-II.
Implémentez les fonctionnalités de diagnostic, comme la lecture des codes d'erreur, la
surveillance des paramètres du véhicule, etc.
--Le calculateur UCE (unité de commande electronique) ou ECU(en
anglais) :
Exemple :

Rôle:

il transforme les mouvements mécaniques de votre voiture en signaux électronique,


dans le but d'informer le conducteur de problèmes éventuels.

le calculateur moteur assure le pilotage et le contrôle des fonctions électroniques du


moteur. Il est composé de l'ECU (Engine Control Unit en anglais), un boîtier en métal
étanche conçu pour résister aux différentes conditions météorologiques

composant des calculateur


Il s'agit d'un boîtier qui contient des composants électroniques dotés d'un nombre
d’entrées/sorties pour gérer les instruments de bord.
-Entrées/Sorties (E/S) : Les E/S permettent au calculateur de recevoir des informations
des capteurs et de contrôler les actionneurs du véhicule

-Microprocesseur (CPU) : Le microprocesseur est le cœur du calculateur. Il exécute les


instructions du programme et coordonne les opérations du calculateur
-Mémoire de stockage : Il s'agit généralement d'une mémoire non volatile, telle
qu'une mémoire flash, qui stocke le programme informatique du calculateur, ainsi que
des données de configuration et de calibration.
Interfaces de Communication : Le calculateur utilise des interfaces de communication,
telles que le Controller Area Network (CAN), pour échanger des données avec
d'autres calculateurs et systèmes du véhicule.
Convertisseurs Analogique-Numérique (CAN) : Ces convertisseurs sont utilisés pour
traduire les signaux analogiques provenant des capteurs du véhicule en données
numériques que le microprocesseur peut traiter
fonctionnement d un calculateur:

Communication d’un calculateur avec le module OBD :


-La communication entre le calculateur d'une voiture et le module OBD est réalisée
par le biais de la prise de diagnostic OBD, également appelée connecteur OBD-II

-Prise de Diagnostic OBD-II : Chaque voiture équipée d'un système OBD dispose d'une
prise de diagnostic standardisée OBD-II

-Lecture des Codes d'Erreur : L'une des fonctions principales de cette communication
est de permettre la lecture des codes de diagnostic stockés dans la mémoire du
calculateur.

Les différentes broches de connexion d'un calculateur


Broche de puissance : Cette broche fournit l'alimentation électrique au calculateur.
Elle est généralement identifiée par une couleur rouge ou noire.

Broche de masse : Cette broche renvoie l'électricité au sol. Elle est généralement
identifiée par une couleur noire ou verte.
Broche de communication : Cette broche permet au calculateur de communiquer
avec d'autres systèmes électroniques du véhicule. Elle est généralement identifiée par
une couleur jaune ou blanche.
Broche de capteur : Cette broche permet au calculateur de recevoir des données de
capteurs. Elle est généralement identifiée par une couleur blanche ou bleue.

Broche d'actionneur : Cette broche permet au calculateur d'envoyer des signaux à des
actionneurs. Elle est généralement identifiée par une couleur blanche ou bleue.
Dans certains cas, un calculateur peut avoir des broches supplémentaires :
Broche de protection : Cette broche fournit une protection contre les surtensions. Elle
est généralement identifiée par une couleur jaune ou orange.

Broche de diagnostic : Cette broche permet aux techniciens de diagnostiquer le


calculateur. Elle est généralement identifiée par une couleur verte ou orange.

Protocole de communication :
--BUS CAN (permet aux calculateurs de s'échanger des informations) : Communiquer
les uns par autres par le bus de donnée commun littéralement un seul et
même câblage qui parcours tous les véhicules

1- La couche physique (dans le model OSI) est défini selon deux normes :
--CAN-HIGHT : est composé d’un identifiant de 29 bits, peut contenir jusqu’à
30 nœuds et peut atteindre un débit maximal de 1 mb/s
--CAN-LOW : est composé d’un identifiant de 11 bits, peut contenir jusqu’à 20
nœuds (système relié au bus) et peut atteindre un débit maximal de 125 kb/s.
Les supports physiques : (illi bch yorbtou les nœuds)
1- Cable coxiale (le plus utilisée)
2- Paire torsadée (type de codage :NRZ)
3- Fibre optique
 La longueur maximal (L) de bus est déterminées par le vitesse (débit) utilisées

Bit recessift=1 / Bit dominant=0


2- Dans les Couche liaison :
--Can 2.0 A (format standard) :codé sur 11bits

--Can 2.0 B (format étendu) : codé sur 29 bits

. Trame de données : sert à envoyer des informations aux autre nœuds

 On commence par SOF au EOP


SOF :
Champ d’identifiant (arbitrage) :

Le champ permet d’identifier la donné ou le message transporté dans le champs de donnée

Champ de commande :

 IDE=1 si format étendu / IDE=0 si format standard


Champ de données :

 Ce champ est vide


Champ de CRC :

Champ de ACK :

Composée de 2 bits qui permet la non-répudiation de la trame.


Champ de EOF :

Désignant le nombre de bits d’attente avant la nouvelle émission de trame.


. Trame de requête :

Une fois que le serveur a les résultats de la requête ou a accompli l'action demandée, il crée
une trame de réponse pour renvoyer les résultats au client.

Module OBD
Rôle
-Le module OBD-II (On-Board Diagnostics II) est un composant essentiel dans le
diagnostic automobile moderne

-Ce capteur se connectera au port de diagnostic embarqué (OBD-II) du véhicule pour


collecter les données sur l'état du véhicule et de fournir des informations pour le
diagnostic des problèmes potentiels
Comment lire les codes diagnostics du système OBD ?
Pour accéder aux codes diagnostics stockés, il vous faudra un outil de lecture OBD,
également appelé "scanner" ou "valise de diagnostic". Ces appareils se branchent
généralement sur le port de connexion dédié à votre véhicule et vont afficher les
erreurs relevées sous forme de codes alphanumériques.

Les principaux types d'outils de lecture OBD

Il existe plusieurs types d'outils de lecture OBD qui varient par leurs fonctionnalités et
leur prix

Les lecteurs de codes basiques : Ce sont les modèles les moins chers, idéals pour les
particuliers qui souhaitent simplement connaître en temps réel les erreurs
rencontrées par leur voiture ;
Les scanners OBD polyvalents : Ils offrent plus de fonctionnalités que les lecteurs
basiques tels que la possibilité de faire des tests sur les différents capteurs présents
dans la voiture ;
Les valises professionnelles : Ces modèles haut de gamme sont destinés aux garages
et concessionnaires. Ils permettent non seulement de diagnostiquer les pannes, mais
aussi de programmer certains systèmes électroniques (anti-démarrage, boîte de
vitesse...)
Différents pin d'un capteur OBD
Pin 1 - Ligne K (K-Line) : Utilisée pour la communication avec le calculateur du moteur.
C'est généralement une ligne de communication à basse vitesse utilisée avec des
protocoles tels que ISO 9141-2 ou KWP2000.

Pin 2 - Bus CAN de Haute Vitesse (CAN-H) : Utilisé pour la communication à haute
vitesse avec le calculateur du moteur et d'autres calculateurs sur le réseau CAN.

Pin 3 - Ligne L (L-Line) : Utilisée pour la communication avec le calculateur du moteur.


C'est une ligne de communication à basse vitesse utilisée avec le protocole ISO 9141-
2.

Pin 4 - Châssis (Masse) : Connecté à la masse du véhicule pour assurer une référence
commune.

Pin 5 - Signal de Masse (Signal Ground) : Fournit une masse spécifique pour les
signaux de communication.

Pin 6 - Bus CAN de Basse Vitesse (CAN-L) : Utilisé pour la communication à basse
vitesse sur le réseau CAN.
Pin 7 - Ligne K (K-Line) : Utilisée pour la communication avec le calculateur du moteur.

Pin 8 - Bus CAN de Haute Vitesse (CAN-H) : Utilisé pour la communication à haute
vitesse avec le calculateur du moteur et d'autres calculateurs sur le réseau CAN.
Pin 9 - Signal de Masse (Signal Ground) : Fournit une masse spécifique pour les
signaux de communication.
Pin 10 - Ligne K (K-Line) : Utilisée pour la communication avec le calculateur du
moteur.
Pin 11 - Bus CAN de Basse Vitesse (CAN-L) : Utilisé pour la communication à basse
vitesse sur le réseau CAN.
Pin 12 - Ligne K (K-Line) : Utilisée pour la communication avec le calculateur du
moteur.

Pin 13 - Signal de Masse (Signal Ground) : Fournit une masse spécifique pour les
signaux de communication.
Pin 14 - Bus CAN de Haute Vitesse (CAN-H) : Utilisé pour la communication à haute
vitesse avec le calculateur du moteur et d'autres calculateurs sur le réseau CAN.
Pin 15 - Ligne L (L-Line) : Utilisée pour la communication avec le calculateur du
moteur.

Pin 16 - Alimentation (B+ ou +12V) : Fournit une alimentation électrique de +12V pour
alimenter le système OBD-II.

Interface java
rôle:

-une interface Java peut jouer un rôle crucial dans la communication entre
l'application Android et le backend, facilitant ainsi l'échange de données entre le
frontend (l'application Android) et le backend (le serveur).

Communication avec le Backend : L'interface Java peut être utilisée pour établir des
connexions entre l'application Android et le backend. Elle peut servir d'interface
d'API, exposant des points de terminaison (endpoints) pour permettre à l'application
Android d'envoyer des requêtes au backend et de recevoir des réponses.

Traitement des Requêtes : L'interface Java peut traiter les requêtes provenant de
l'application Android. Cela inclut la validation des données, l'appel des services
appropriés dans le backend, et la gestion des opérations CRUD (Création, Lecture,
Mise à jour, Suppression) sur la base de données.
Conversion de Données : Elle peut jouer un rôle dans la conversion des données entre
le format utilisé par l'application Android (par exemple, JSON) et le format nécessaire
pour stocker les données dans la base de données du backend.
Gestion de la Sécurité : L'interface Java peut intégrer des mécanismes de sécurité, tels
que l'authentification et l'autorisation, pour s'assurer que seules les requêtes
légitimes sont traitées et que l'accès aux données est sécurisé.
Intégration avec le Système Embarqué : Si nécessaire, l'interface Java peut également
jouer un rôle dans la communication avec le système embarqué à travers des
protocoles spécifiques, en facilitant la récupération de données de diagnostic du
véhicule.

Traitement des Réponses : Lorsque le backend répond aux requêtes de l'application


Android, l'interface Java peut traiter ces réponses, convertir les données si nécessaire,
et les renvoyer à l'application Android dans un format compréhensible.
Gestion des Erreurs : L'interface Java peut gérer la détection et la gestion des erreurs,
en renvoyant des messages d'erreur appropriés à l'application Android en cas de
problème, et en enregistrant des informations de diagnostic pour la résolution
ultérieure des problèmes.

La communication entre le module OBD et une interface Java :


Choix d'une Bibliothèque Java OBD :
Recherchez et choisissez une bibliothèque Java compatible OBD. Une bibliothèque
populaire est "OBD Java API"
Configuration de l'Environnement de Développement :

Configurez votre environnement de développement en installant un IDE Java tel que


IntelliJ IDEA, Eclipse ou NetBeans. Assurez-vous également d'avoir le Java
Development Kit (JDK) installé.

Programmation du Module OBD dans la Partie Embarquée :

Programmez le module OBD dans la partie embarquée (microcontrôleur ou


processeur) pour établir une connexion avec la prise OBD-II du véhicule et lire les
données du véhicule. Utilisez la bibliothèque Java OBD pour simplifier la
communication.

Vous aimerez peut-être aussi