Rapport Final
Rapport Final
l’encadrant
DÉDICACES
Pour tous leurs sacrifices ,leur amour , leur conseil et leurs prières leur
soutien moral et surtout leur patience tout au long de mes études que dieu
leur protège et leur procure bonne santé et longue vie.
Que dieu les préserve, de veiller sur eux, en espérant qu’ils seront toujours
fiers de moi.
ii
iii
A ma famille,
A tous mes ami(e)s et à tous ceux qui m’aiment et tous ceux qui m’ont aidé
tout au long de mes études.
Ils vont trouver ici le témoignage d’une fidélité et d’une amitié infinie.
Mohamed Ali
REMERCIEMENTS
iv
v
II États de l’art 8
I) Intelligence Artificiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
I.1) Exemples de l’IA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
I.2) Basique de l’Intelligence Artificielle . . . . . . . . . . . . . . . . . . 10
I.3) Concept IA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
I.4) MACHINE LEARNING . . . . . . . . . . . . . . . . . . . . . . . . 12
I.5) Remarque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
II) Distribution de l’énergie électrique . . . . . . . . . . . . . . . . . . . . . . 18
II.1) Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
vi
TABLE DES MATIÈRES vii
IV RÉALISATION 42
I) Environnement matériel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
I.1) Eval stpm34 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
I.2) STM32F746G-DISCO . . . . . . . . . . . . . . . . . . . . . . . . . 43
II) Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
II.1) STMcubIDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
II.2) Qt creator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
TABLE DES MATIÈRES viii
II.3) Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
II.4) Anaconda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
II.5) Spyder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
II.6) PSIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
II.7) Altium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
III) Extraction des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
III.1) Schéma fonctionnel . . . . . . . . . . . . . . . . . . . . . . . . . . 49
III.2) Préparation de l’environnement . . . . . . . . . . . . . . . . . . . . 50
III.3) Résultat de l’extraction de données . . . . . . . . . . . . . . . . . . 57
IV) Modèle de réseau de neurones . . . . . . . . . . . . . . . . . . . . . . . . . 60
IV.1) Schéma fonctionnel . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
IV.2) Normalisation de données . . . . . . . . . . . . . . . . . . . . . . . 61
IV.3) Phase création de modèle . . . . . . . . . . . . . . . . . . . . . . . 65
IV.4) Phase apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . 65
IV.5) Phase validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
V) Phase implémentions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Conclusion et perspectives 73
Netographie 75
TABLE DES FIGURES
ix
Table des figures x
II.19 TinyML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
IV.1 EVAL-STPM34 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
IV.2 STM32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
IV.3 logo STM32CubeIDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
IV.4 STM32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
IV.5 Logo Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
IV.6 logo Anaconda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
IV.7 Logo Spyder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
IV.8 logo psim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
IV.9 logo Altium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
IV.10Schéma fonctionnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
IV.11Circuit génératrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
IV.12Schéma électrique global de circuit . . . . . . . . . . . . . . . . . . . . . . 51
IV.13Résultat de simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
IV.14Partie de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
IV.15Partie alimentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
IV.16Conception 3D d’une carte PCB . . . . . . . . . . . . . . . . . . . . . . . . 53
IV.17Image réelle d’un générateur triphasé . . . . . . . . . . . . . . . . . . . . . 53
IV.18Capture du programme STM32 . . . . . . . . . . . . . . . . . . . . . . . . 54
IV.19Visualisation de structure de données . . . . . . . . . . . . . . . . . . . . . 55
Table des figures xi
— Introduction Générale
L’usage généralisé de l’électronique a rendu plus sensible le sujet de la qualité de l’ali-
mentation et de son impact sur les équipements électriques critiques utilisés dans les en-
treprises.
Notre univers technologique est devenu fortement dépendant d’une disponibilité conti-
nue du courant électrique. Dans la plupart des pays, l’électricité est commercialement
disponible au travers de réseaux nationaux, qui relient de nombreuses centrales de produc-
tion aux consommateurs, ce monde de la technologie intelligente exige de l’électricité sans
coupures ni perturbations.
C’est pour cela que les défauts électriques d’un système électrique doivent être éliminés
rapidement. Dans les premiers jours des systèmes d’alimentation électrique, l’élimination
des défauts était administrée par le personnel de maintenance, qui a détecté visuellement
le défaut et a actionné manuellement un interrupteur pour effacer le défaut.
À mesure que les courants de défaut devenaient plus importants et que les exigences de
fonctionnement du système d’alimentation électrique devenaient plus strictes, la nécessité
d’un dégagement automatique des défauts est devenue une nécessité.
Pour cela, la société ACTIA TELECOM qui est un acteur principal dans le domaine
de l’énergie, se propose de réaliser une mise en place et implémentions d’une solution de
détection et classification des défauts d’un réseau électrique en se basant sur l’intelligence
artificielle.
C’est dans ce cadre que s’inscrit notre projet de fin d’études réalisé afin de développer
un système qui effectue la détection et la classification de certains défauts qui peuvent ap-
paraître sur un réseau électrique en temps réel, pour pouvoir réparer et remettre en service
le réseau dans les plus brefs délais, afin de fournir un service fiable aux consommateurs.
Cette étude a été faite pour appliquer les réseaux de neurones artificiels au profond
pour résoudre les problèmes de détection et de classification des défauts, Tout d’abord,
nous abordant les défauts et nous les classifions à l’aide d’un modèle intelligent basé sur les
réseaux de neurones avec des valeurs hyper-paramétrés différentes. Plus précisément, nous
étudions les effets de deux hyperparamètres, le nombre de couches cachées et le nombre
de neurones dans la dernière couche cachée, sur la performance des réseaux de neurones.
Nous évaluons également comment l’augmentation des données affecte les performances
du réseau. Enfin, nous examinons la capacité des réseaux de neurones profonds pour la
classification des défauts.
Notre travail sera présenté sous la forme de quatre chapitres. En premier lieu, nous
Table des figures xiii
Introduction
Dans ce chapitre nous positionnons le projet dans son cadre général. Nous commençons
d’abord par présenter la société d’accueil. Par la suite nous enchaînerons par le cadre
général du projet et ses solutions.
ACTIA Group est maintenant l’un des leaders des développeurs des systèmes embarqués
1
I). Présentation de l’organisme d’accueil 2
dans le monde et elle compte vingt-quatre implantations dans seize pays différents. (Figure
I.2)
- Les services de diagnostic : ACTIA et toutes les filiales du ACTIA Group pro-
posent à leurs clients des solutions de diagnostic fiables, évolutives et globales. Elles
utilisent des méthodes de diagnostic permettant d’organiser et d’exploiter toutes
les données relatives au cycle de vie d’un véhicule. Ceci, parce que tout système
informatique d’un véhicule se focalise sur le diagnostic électronique.
- Les services de qualité : Ces services ont pour but de mettre en place des normes
de qualité et des exigences nécessaires pour l’obtention des certifications de qualité.
de l’application. Tandis que la conception de bas niveau détaille très précisément par quels
moyens les fonctionnalités vont être traitées.
II) Problématique
Les conséquences (dans la plupart des cas, les dommages ou les dangers potentiels pour
les humains et les biens) causées par les défauts électriques dans les systèmes d’alimentation
dépendent fortement de l’ampleur du courant de défaut, qui à son tour dépend du type de
défaut, de l’emplacement du défaut, de la mise à la terre du système, de l’impédance de
la source et de l’impédance du défaut. La durée du défaut est également d’une importance
considérable lors de l’estimation des conséquences d’un défaut. Une façon de caractériser les
types de défauts est de les décrire comme des défauts de la série shunt or. Les failles de shunt
sont des failles lorsqu’une ou plusieurs des phases sont court-circuitées (éventuellement à
la terre). Les défauts de dérivation sont en général plus graves que les défauts de série, qui
pourraient être décrits comme une interruption dans une ou plusieurs des phases.
Conclusion
I) Intelligence Artificiel
C’est la capacité de révolutionner tous les aspects de l’intelligence quotidienne . on parle
d’une nouvelle évolution qui pourrait fondamentalement changer la vie sur notre planète il
est intégré dans tous les domaines , Santé, Transport, Commerce, Assistante Personnelle,
Industrie, Environnement, Finance, Défense etc...
8
I). Intelligence Artificiel 9
- Smartphone Apps Assistants intelligents intégrés sur nos téléphones comme Siri,
Alexa et Google Assistant sont les exemples les plus évidents d’IA que la plupart
d’entre nous connaissent et utilisent..
- Smart Cars Les voitures intelligentes sont un autre domaine dans lequel l’intel-
ligence artificielle augmente sa présence dans notre vie quotidienne. Ce ne sont
pas seulement des entreprises comme Tesla qui sont à la pointe de l’utilisation de
l’automatisation dans les véhicules, mais de nombreux constructeurs automobiles
envisagent également d’intégrer l’IA avec les automobiles pour fournir des services
transparents des différentes technologies que vous utilisez.
L’IA au service de la santé L’IA offre des possibilités sans précédent en santé, que
ce soit par l’analyse des données massives pour mieux comprendre, détecter et traiter
les maladies ou encore par la robotisation. Innovation de rupture, l’IA transformera
de manière rapide et profonde les soins, l’enseignement, la recherche et la gestion
des systèmes de santé.
I). Intelligence Artificiel 10
Les réseaux de neurones, communément appelés des réseaux de neurones artificiels sont des
imitations simples des fonctions d’un neurone dans le cerveau humain pour résoudre des
problématiques d’apprentissage de la machine (Machine Learning) Un réseau de neurones
artificiels (RNA) est modélisé sur les neurones d’un cerveau biologique. Les neurones artifi-
ciels sont appelés nœuds et sont regroupés en plusieurs couches, fonctionnant en parallèle.
Lorsqu’un neurone artificiel reçoit un signal numérique, il le traite et signale les autres neu-
rones qui lui sont connectés. Comme dans un cerveau humain, le renforcement neuronal
se traduit par une meilleure reconnaissance des formes, une expertise et un apprentissage
global.
I.3) Concept IA
La définition de l’intelligence artificielle dans les manuels scolaires est basée sur deux
dimensions : le processus de pensée et de raisonnement, et le comportement.
I). Intelligence Artificiel 11
L’apprentissage automatique (ML) peut être largement défini comme des méthodes
de calcul utilisant l’expérience pour améliorer les performances ou pour faire des
prédictions précises g), puis les réseaux neuronaux à l’intérieur de cela.
Le concept de la Machine Learning a été introduit pour la première fois dans les années
1950, à l’époque des pionniers de l’IA. En 1950, Alan Turing a publié l’article "Compu-
ting Machinery and Intelligence" qui suggérait un célèbre test d’évaluation de l’IA que
nous connaissons aujourd’hui sous le nom de Turing Test. En 1959, Arthur Lee Samuel a
inventé le terme « apprentissage automatique ». L’apprentissage automatique (ML) peut
être largement défini comme des méthodes de calcul utilisant l’expérience pour améliorer
les performances ou pour faire des prédictions précises.
Cela signifie que les problèmes d’apprentissage automatique supervisé ont un ensemble
de points de données historiques que nous voulons utiliser pour prédire l’avenir, les pro-
blèmes d’apprentissage automatique non supervisé ont un ensemble de données que nous
recherchons pour l’apprentissage automatique pour nous aider à organiser ou à comprendre.
k-Nearest Neighbour L’algorithme du k-plus proche voisin est une méthode de clas-
sification des objets basée sur les exemples d’apprentissage les plus proches dans
I). Intelligence Artificiel 15
Decision Trees "Decision Trees" fonctionne sous la forme d’une structure arbores-
cente à partir du sommet, appelée nœud racine jusqu’aux feuilles ; chacune des
branches représente le résultat du test et les nœuds feuilles représentent les classes.
Pour classer tout échantillon inconnu, nous testons l’attribut de l’échantillon par
rapport à l’arbre de décision. Un chemin est tracé depuis la racine, c’est-à-dire
le sommet de l’arbre jusqu’à un nœud feuille qui contient la prédiction de classe
pour cet échantillon. Les arbres de décision sont sujets à beaucoup de bruit, et une
technique standard pour gérer cela consiste à élaguer l’arbre. L’élagage consiste à
supprimer toute condition dans son antécédent qui n’améliore pas l’exactitude es-
timée de la règle. Ce processus vise à améliorer la précision de la classification des
données invisibles.
Random Forest est la moyenne de plusieurs arbres de décision, dont chacun est en-
traîné avec un échantillon aléatoire des données. Chaque arbre de la forêt est plus
I). Intelligence Artificiel 16
faible qu’un arbre de décision complet, mais en les mettant tous ensemble, nous
obtenons de meilleures performances globales grâce à la diversité.
même, comme pour la dynamique de calcul, un modèle avec une évolution tempo-
relle continue des poids des réseaux de neurones lorsque la configuration est une
fonction continue du temps habituellement décrite par une équation différentielle
peut généralement être considéré. Cependant, dans la plupart des cas, un temps
d’adaptation discret est supposé.
I.5) Remarque
Les réseaux de neurones ont une large applicabilité aux problèmes commerciaux du
monde réel. En fait, ils ont déjà été appliqués avec succès dans de nombreuses industries.
Étant donné que les réseaux de neurones sont les meilleurs pour identifier des modèles
ou des tendances dans les données, ils sont bien adaptés aux besoins de prédiction ou de
prévision, notamment :
classification des défauts du système de distribution électrique
II.1) Introduction
Un réseau électrique est un ensemble d’outils destiné à produire, transporter et distri-
buer l’énergie électrique pour l’acheminer de la source (générateur) vers la charge (consom-
mateur). Cet ensemble comporte des générateurs, des transformateurs, des lignes, des ap-
pareils de mesures et de contrôles, des protections contre tous les types de défauts en
veillant sur la qualité de cette énergie, notamment la continuité de service et la qualité de
la tension.
II). Distribution de l’énergie électrique 19
On peut distinguer deux types de réseaux principaux, selon la pose des conducteurs :
Réseaux aériens – ruraux : ls sont constitués par des lignes à trois fils – trois phases
– ou quatre fils – trois phases et neutre, selon que le neutre est distribué ou non, et
par des antennes triphasées ou monophasées à deux ou à un seul conducteur. Ils ne
sont envisageables que dans des zones géographiques de faible densité de charge :
petites villes ou villages
II). Distribution de l’énergie électrique 22
Figure II.15 – Vue générale d’une partie d’un réseau de lignes aériennes
Réseaux souterrains – urbains Ils sont constitués par des câbles généralement tri-
phasés à isolant synthétique ou papier. Ces réseaux sont convenables pour des zones
géographiques de forte densité de la charge, avec des contraintes d’environnement
et de sécurité élevées ; leur utilisation est motivée aussi par le faible prix de pose
La défaillance de l’équipement ou des appareils électriques est défini comme une im-
perfection dans le circuit électrique en raison de laquelle le courant est dévié de la voie
prévue. En d’autres termes, le défaut est l’état anormal du système électrique qui endom-
mage l’équipement électrique et perturbe le flux normal du courant électrique.
Le défaut réduit la force d’isolation entre conducteurs de phase et à la terre ou à tout écran
II). Distribution de l’énergie électrique 23
mis à la terre entourant les conducteurs. Il réduit également l’impédance (propriété du cir-
cuit de s’opposer au flux de courant) entre les conducteurs et la terre, ce qui entraîne le
passage d’un fort courant de court-circuit dans le système et d’endommager l’équipement
du système d’alimentation.
Le défaut peut être causé par des facteurs externes (naturels) ou internes (par l’action
humaine ou par un mauvais équipement).
Selon la nature du réseau électrique, on cite les origines des défauts de court-circuit
comme suit :
Pour les lignes aériennes sont en particulier les perturbations atmosphériques (foudre,
tempêtes, . . . etc.) qui peuvent enclencher un défaut de court-circuit. Aussi les dé-
fauts d’isolement et les agressions mécaniques peuvent conduire à un CC.
Pour les câbles souterrains sont les agressions extérieures, engins mécaniques de
terrassement par exemple, qui entraînent des défauts de CC.
Le matériel du réseau et des postes peut être aussi le siège d’un défaut de court-
circuit. Ce matériel comporte des isolants placés entre pièces sous tensions et masses.
Alors, les isolants subissent des dégradations conduisant à des défauts.
1. Court-circuit monophasé :
Il correspond à un défaut entre une phase et la terre, c’est le plus fréquent.
II). Distribution de l’énergie électrique 24
2. Court-circuit triphasé :
Il correspond à la réunion des trois phases, c’est le courant de CC le plus élevé.
3. Courit-circuit biphasé isolé :
Il correspond à un défaut entre deux phases. Le courant résultant est plus faible que
dans le cas du défaut triphasé, sauf lorsqu’il se situe à proximité immédiate d’un
générateur.
4. Court-circuit biphasé terre :
I l correspond à un défaut entre deux phases et la terre.
— Défaut fugitif
Ce défaut nécessite une coupure très brève du réseau d’alimentation de l’ordre de
quelques dixièmes de seconde.
— Défaut permanent
Ce défaut provoque un déclenchement définitif de l’élément de protection. Il nécessite
l’intervention du personnel d’exploitation.
II.5.e) CONCLUSION
d’un ou de plusieurs éléments de coupures . la détection des défauts se basant sur cer-
tain nombre des grandeurs électriques caractéristiques (courant, tension, fréquence) ou des
combinaisons de ces grandeurs (puissance, etc.). Ces grandeurs électriques sont fluctuantes
du fait notamment des variations de la charge ou de topologie
Le STPM3x est une famille ASSP conçue pour la mesure de haute précision de la
puissance et des énergies dans les systèmes de lignes électriques à l’aide de la bobine de
Rogowski, du transformateur de courant ou des capteurs de courant shunt. Le STPM3x
fournit des formes d’onde de tension et de courant instantanées et calcule les valeurs RMS
de la tension et des courants, la puissance et les énergies actives, réactives et apparentes.
Le STPM3x est une famille de circuits intégrés à signaux mixtes comprenant une section
analogique et une section numérique. La section analogique comprend jusqu’à deux am-
plificateurs à faible décalage à faible bruit à gain programmable et jusqu’à quatre 2nd
commandez des ADC sigma-delta 24 bits, deux références de tension de bande interdite
avec compensation de température indépendante, un régulateur de tension à faible chute
et des tampons DC. La section numérique se compose d’un étage de filtrage numérique,
III). TinyML 26
d’un DSP câblé, d’un DFE à l’entrée et d’une interface de communication série (UART ou
SPI). Le STPM3x est entièrement configurable et permet un étalonnage rapide du système
numérique en un seul point sur toute la plage dynamique actuelle. [18]
III) TinyML
Nous vivons actuellement dans un monde entouré de modèles de Machine Learning. Au
cours de votre journée, vous utilisez ces modèles plus que vous ne le pensez. Les tâches
quotidiennes comme faire défiler les réseaux sociaux, prendre une photo, consulter la météo,
dépendent toutes de modèles d’apprentissage automatique. Vous pourriez même voir ce blog
parce qu’un modèle d’apprentissage automatique vous l’a suggéré.
Nous savons tous que la formation de ces modèles est coûteuse en temps de calcul. Mais la
plupart du temps, l’exécution d’inférences sur ces modèles est également coûteuse en termes
de calcul. À la vitesse à laquelle nous utilisons les services d’apprentissage automatique,
nous avons besoin de systèmes informatiques suffisamment rapides pour le gérer. Ainsi, la
plupart de ces modèles fonctionnent sur d’énormes centres de données avec des clusters de
CPU et de GPU (même des TPU dans certains cas).
Grand n’est pas toujours mieux
Exemple :Lorsque vous dites « Alexa » ou « Ok, Google », vous voulez que vos appareils
vous répondent instantanément. Attendez que l’appareil envoie votre voix aux serveurs où
elle est traitée et que les informations soient récupérées. Cela prend du temps et para-
lyse l’expérience utilisateur. Encore une fois, dans ce cas, vous souhaitez que le modèle
d’apprentissage automatique s’exécute localement.
Conclusion
Dans ce chapitre, nous avons mis notre projet dans son cadre général, nous avons ainsi
cité les différents concepts nécessaires pour mieux comprendre le fonctionnement de notre
système. Dans le prochain chapitre, nous avons l’analyse et conception.
CHAPITRE III
ANALYSE ET CONCEPTION
introduction
28
II). Langage de modélisation 29
Dans cette partie, nous identifierons les besoins des acteurs de l’application. Un besoin
fonctionnel (ou un cas d’utilisation en termes d’UML), exprime une action que le système
doit effectuer en réponse à une requête. La phase d’identification des acteurs nous a permis
d’identifier trois types d’acteurs qui sont unité de contrôle ,développeur ,data-scientiste .
Par conséquent, les fonctionnalités qui seront fournies par le système sont divisées en deux
catégories comme suit :
X Les besoins relatifs à l’unité de controle peuvent etre résumé comme suit :
× fonction global :
• nous montre le fonctionnement global de notre système ainsi que les parties
dont nous avons réaliser récemment qui sont : la détectition des défauts , la
classification des défauts et le sauvegarde des signaux dans la base des données
Ces besoins non fonctionnels qui représentent les contraintes et les exigences qu’ils
doivent être prises en considération. En effet, ces besoins portent une grande importance
pour 2 raisons :
IV). CONCEPTION GLOBALE 32
La nature des données à traiter et transmettre entre les différentes parties du sys-
tème.
L’intégration et compatibilité d’un modèle.
Ces besoins peuvent être résumés dans les points qui suivent :
• Fiabilité
• Réponse en temps réel
• Communication Full duplex
• Communication Real time
• Intégration
Ces cas permettent de décrire l’interaction entre l’acteur et le système. L’idée forte est
de dire que l’utilisateur d’un système logiciel a un objectif quand il utilise le système ! Le cas
d’utilisation est une description des interactions qui vont permettre à l’acteur d’atteindre
son objectif en utilisant le système. Les use cases (cas d’utilisation) sont représentés par
une ellipse sous-titrée par le nom du cas d’utilisation (éventuellement le nom est placé
dans l’ellipse). Un acteur et un cas d’utilisation sont mis en relation par une association
représentée par une ligne. Le plus souvent, le diagramme des cas est établi par la maîtrise
d’ouvrage (MOA) d’un projet lors de la rédaction du cahier des charges afin de transmettre
les besoins des utilisateurs et les fonctionnalités attendues associées à la maîtrise d’œuvre
(MOE).
Récupération de l’information
Après avoir recevoir les alertes de défauts, l’unité de controle va pourvoir contacter
et diriger le technicien de maintenance pour fixer la panne.
Si le système détecte des défauts non reconnus, l’unité de contrôle exige au data
scientiste de les classifier
Création modèle
Après avoir classifié les modèles, le data scientiste va créer deux modèles , un simple
modèle contenant les défauts classifiés et un autre modèle prédictif pour prévenir
l’unité de contrôle des défauts éventuels
Patcher le système
Le développeur doit convertir le modèle d’une façon pour qu’il soit adapté à notre
système.
Améliorer le système
Les models patchés doivent etre intégrer dans notre systeme en prenant en considé-
ration la faible performance du micro-controlleur
Les diagrammes de cas d’utilisation sont des diagrammes UML utilisés pour donner
une vision globale du comportement fonctionnel d’un système logiciel. Ils sont utiles pour
des présentations auprès de la direction ou des acteurs d’un projet, mais pour le dévelop-
pement, les cas d’utilisation sont plus appropriés. Un cas d’utilisation représente une unité
discrète d’interaction entre un utilisateur (humain ou machine) et un système. C’est une
unité significative de travail. Dans un diagramme de cas d’utilisation, les utilisateurs sont
appelés acteurs (actors), ils interagissent avec les cas d’utilisation (use cases).
IV). CONCEPTION GLOBALE 34
D’après le diagramme de séquence du figure III.4, le système va lire les datas à partir
de registre du capteur, les traiter pour les traduire en des grandeurs physique (tension et
courant) , les envoyer à l’unité de contrôle à travers le protocole IEC 61850. Cette derniere
va les sauvegarder dans une base de données. si un défaut est détecté, le système envoie
une alerte à l’unité de contrôle avec l’identification de défaut en question.
L’unité de contrôle se charge ainsi pour informer et diriger le maintenancier de l’emplace-
ment de défaut. En cas d’un défaut inconnu, l’unité de contrôle envoi la base de données
au data-scientiste pour améliorer le système affin de contenir les nouveaux défauts. Cette
IV). CONCEPTION GLOBALE 36
Pour améliorer notre système nous avons rencontré des problèmes au niveau du temps
d’interruption ce qui a engendré un bug d’exécution du programme. Pour faire face à ce
problème nous avons eu recours à la création d’un nouveau driver plus performant côté
temps d’exécution.
Le STPM3x peut être interfacé à une unité de contrôle via une communication
"SPI" ou "UART" mais Les périphériques de communication série partagent les
mêmes broches de sorte qu’ils ne peuvent pas être utilisés à la en même temps
IV). CONCEPTION GLOBALE 37
Le STPM34 contient un circuit de mise sous tension (POWR) qui retarde le démar-
rage du domaine numérique d’environ 750s. Si l’alimentation VCC est inférieure à 2,5
V, le STPM34 passe à l’état inactif, toutes les fonctions sont bloquées en affirmant
IV). CONCEPTION GLOBALE 38
une condition de ré initialisation. Ceci est utile pour assurer le bon fonctionnement
de l’appareil lors de la mise sous tension et hors tension.
Communication protocol
V) Conception modèle
La classification des défauts du réseau électrique est considéré comme l’un des problèmes
les plus importants de l’ingénierie des systèmes de processus, qui peut bénéficier de ma-
nière significative des techniques d’apprentissage. Dans ce chapitre, les réseaux de neurones
profonds sont appliqués au problème de la détection et de la classification des défauts. Pre-
mièrement, les problèmes de détection et de classification des défauts sont formulés comme
des problèmes de classification basés sur les réseaux neurones Ensuite, les réseaux de neu-
rones sont entraînés pour la détection et la classification des pannes.Plusieurs testes ont
été effectuer avec différentes valeurs des paramètres du réseau (nombre de couches cachées
et nombre de neurones dans la couche cachée) afin d’aboutir a un modèle optimisé et
performant. Enfin les résultats obtenus à partir des réseaux de neurones sont comparés à
d’autres méthodes basées sur les données.
Les algorithmes classiques ne peuvent pas distinguer les défauts entre deux phases ou court
circuit entre phase et terre ou coup de foudre.
V). Conception modèle 40
D’après notre data-set, nous avons choisi ReLU comme type d’activation de ma couche
cachée et sigmoid comme type d’activation de la couche de sortie pour obtenir un résultat
entre 1 et 0.
V). Conception modèle 41
Conclusion
Dans ce chapitre, nous nous sommes concentré sur l’analyse et conception de notre
projet, nous avons dégagé nos besoins et nos diagrammes nécessaires pour pouvoir diriger
vers la partie réalisation qui sera le chapitre suivant.
CHAPITRE IV
RÉALISATION
Introduction
I) Environnement matériel
La carte d’évaluation STPM34 est un compteur biphasé de classe 0,2 avec 2 TC pour
les systèmes de lignes électriques avec Vnom= 140 à 300 V(RMS), Inom/ Imax= 5/100
A(RMS), flin= 50/60 Hz ± 10% et Tamb= -40 à +85 °C. La puissance active/réactive
mesurée peut être émise par deux LED programmables sur la carte. La carte peut être
interfacée avec un PC exécutant un logiciel d’évaluation via un port RS232 isolé ou via
l’outil d’interface isolé USB STEVAL-IPE023V1 pour la configuration et la lecture des
données. La carte dispose également de broches SPI/UART disponibles pour interfacer un
microcontrôleur pour le développement d’applications.
42
I). Environnement matériel 43
I.2) STM32F746G-DISCO
II.1) STMcubIDE
II.2) Qt creator
Qt Creator est un environnement de développement intégré (IDE) multiplateforme
conçu pour une expérience de développeur maximale.
Il fonctionne sur les systèmes d’exploitation de bureau Windows, Linux et macOS et
permet aux développeurs de créer des applications sur des plates-formes de bureau, mobiles
et intégrées.
II.3) Python
II.3.a) Algorithme de programmation
Un algorithme est une méthode pour résoudre des problèmes, autrement dit une ma-
nipulation mathématique dans un langage de programmation qui permet de convertir une
donnée entrante en une donnée sortante avec une valeur ajoutée et ce, selon un objectif
bien précis.
II). Environnement logiciel 46
Python est un langage interprété, open source, qui se veut simple à comprendre, modu-
lable et aux applications multiples. C’est aujourd’hui un des langages les plus utilisés et les
plus plébiscités par les développeurs. Il est utilisé dans le domaine du Machine Learning,
du Big Data et de la Data Science. Ce langage présente de nombreuses caractéristiques
intéressantes : il est multiplateforme, gratuit, un langage de haut niveau et finalement
orienté objet. Python peut être utilisé pour le :
- Développement d’applications Web et mobiles back-end (ou côté serveur),
- Développement d’applications et de logiciels de bureau,
- Traitement du Big Data et réalisation de calculs mathématiques,
- Écriture de scripts système (création d’instructions indiquant à un système informa-
tique de « faire» quelque chose).
* Python que j’ai utilisé est de version 3.7
II.4) Anaconda
Anaconda est une distribution libre et open source des langages de programmation
Python et R appliquée au développement d’applications dédiées à la fouille de données et
à l’apprentissage automatique (traitement de données à grande échelle, analyse prédictive,
calcul scientifique), qui vise à simplifier la gestion des paquets et de déploiement.
II). Environnement logiciel 47
II.5) Spyder
Spyder est un environnement de développement intégré (IDE) multiplateforme ‘a code
source libre pour la programmation scientifique en langage Python. Spyder s’intègre à un
certain nombre de paquets importants de la pile Python scientifique, notamment NumPy,
SciPy, Matplotlib, pandas, IPython, keras et Cython, ainsi qu’à d’autres logiciels à source
ouverte. Il est publié sous la licence du MIT. Pour lancer Spyder, on peut passer par un
terminal, en évaluant tout simplement Spyder (ou en lançant le logiciel depuis le menu
démarrer sous Windows).
On a installé cet IDE à partir de l’Anaconda qu’on a cité ci-avant.
II.6) PSIM
PSIM est un progiciel de simulation de circuits électroniques, conçu spécifiquement
pour une utilisation dans l’électronique de puissance et les simulations d’entraînement de
moteur, mais peut être utilisé pour simuler n’importe quel circuit électronique. Développé
par Powersim, PSIM fournit une interface de capture schématique et un visualiseur de forme
d’onde Simview. Le PSIM dispose de plusieurs modules qui étendent ses fonctionnalités à
des domaines spécifiques de la simulation et de la conception de circuits, notamment : la
III). Extraction des données 48
II.7) Altium
Altium Designer permet aux ingénieurs de se connecter sans effort à toutes les facettes
du processus de conception électronique. Plus de 35 ans d’innovation et de développement
axés sur un environnement de conception véritablement unifié en font la solution de concep-
tion de circuits imprimés la plus largement utilisée.Le logiciel de conception de PCB leader
sur le marché, qui combine schémas, routages et tout ce dont vous avez besoin en un seul
environnement pour concevoir sans effort des cartes de circuits imprimés.
Pour aboutir au résultat final, nous avons besoin d’un matériel qu’il nous manque
(générateur) , la partie software manquante (driver STPM) ainsi que le QT créator qui
aura besoin d’une modification.
Schéma étudié
Comme le montre la figure ci-dessus, le circuit importe comme entré un signal sinu-
soïdale. Ce signal d’entrée est inversé et tamponné par l’amplificateur opérationnel
à gain unitaire A1. Ce signal inversé et tamponné acquis en sortie de A1 devient
maintenant le nouveau signal maître pour le traitement à venir. Et les autres am-
plificateurs fonctionnent comme étant déphaseurs.
Partie simulation
III). Extraction des données 51
X Résultat
La figure ci-dessus nous montre le résultat de la partie simulation, des signaux si-
nusoïdaux comme souhaité.
Pour réaliser une carte électronique, nous avons besoin tout d’abord de passer par
un logiciel pour la construire "Altium".
Nous avons diviser la partie schématique de PCB en deux parties. La première par-
tie, figure ci-dessus , contient les composants du fonctionnement du générateur. Et
l’autre partie, figure IV.6 est celle la responsable de l’alimentation de la carte.
X Conception 3D de la carte
Comme le montre la figure ci-dessous, nous avons relié les composants entre eux.
Mise en situation
Affin de faire un apprentissage d’un modèle, il faut tout d’abord envoyer les données
à l’unité de contrôle à l’aide du protocole IEC61850-9-2 "Sample value" qui exige
une contrainte de temps de 250µs issue d’un signal de 50Hz et SPP 80. Ce résultat
est trouvé à travers un simple calcul 1/50/80.
Le problème rencontré après avoir utiliser le même driver avec l’ajout d’une deuxième
chaîne de STPM1, est que le temps d’exécution dans la partie de l’interruption res-
ponsable de l’envoie de l’échantillon chaque 250µs dépasse le temps désiré.
Puisque nous travaillons dans un réseau triphasé, nous avons rencontré un autre
problème est celui de l’ajout d’une autre chaîne ce qui invoque l’ajout d’un nouveau
STPM ce qui engendre l’aggravation de notre problème initial celui du contrainte
de temps. En prenons en considération des problèmes reconnus, nous avons opté à
développer un nouveau driver pour répondre à nos besoins.
Les valeurs extraites par notre driver seront organisé dans une structure ordonnée.
Les données seront planifiées d’une façon à séparer les données de registre des don-
nées traitées.
Cependant, chaque structure est composé de RMS voltage-courant et instantanées
voltage-courant de chaque chaîne. Cette dernière est correspondante à sa STPM.
Exemple : STPM1.chanel1.voltage.
Nous avons une partie de l’unité de contrôle était chargé seulement de la supervision.
Dans notre projet nous avons besoin de sauvegarder les données affin de créer la data-set
avec laquelle nous allons faire l’apprentissage de données. Pour réaliser cette tâche, nous
étions obligés de faire une modification dans le programme de l’unité de contrôle. Cette
modification n’est autre que le sauvegarde de données dans un fichier comme le montre la
figure ci-dessous.
III). Extraction des données 56
Par suite, nous sommes obligés de sauvegarder les données sous une extension .csv pour
qu’elles soient compréhensibles par la bibliothèque "Pandas" que nous allons utilisé pour
faire l’apprentissage.
III). Extraction des données 57
Résultat
La figure ci-dessus montre l’interface de l’unité de contrôle qui nous permet de visualiser
le signale et les alertes de défauts.
Elle nous permet maintenant de sauvegarder les données avec les actions de lancement et
d’arrêt d’enregistrement de data-set dans un fichier .csv .
— La première colonne correspond au type de défaut similaire à celui que nous allons
voir dans les figures suivants, "Défaut 1(état stable), Défaut 2 (Phase 1 avec GND),
Défaut 3 (Phase 2 avec GND), Défaut 4 (Phase 1 et phase 2)".
III). Extraction des données 58
Après avoir extraire tous les défauts, nous allons les sauvegarder dans un fichier csv.
La première étape pour faire l’apprentissage de modèle est d’extraire les données et les
normaliser pour obtenir le moindre taux d’erreurs possible.
Après avoir préparer l’environnement de travail, nous nous sommes concentrés sur l’im-
portation des bibliothèques, ensuite nous avons chargé notre data-set à travers le Pandas
et la stocké dans une variable comme le montre la figure ci-dessus.
Cette partie nous permet de bien choisir l’algorithme correspondant, par la visualisation
de la Data-Set et son regroupement.
IV). Modèle de réseau de neurones 62
Chaque défaut possède son numéro d’identifiant soit de 1 à 4 allant jusqu’à 6, qui sera
codé en binaire. La colonne de défaut de la figure précédente montre la nature de notre
défaut "1,2,3,4,5 et 6" que sera décodée dans la figure d’après.
Parmi les démarches à suivre pour faire connaître notre output, nous avons codé chaque
défaut sous forme de quatre bits comme le montre la figure au-dessus. On peut constaté que
nous avons 1 binaire qui décale, chaque emplacement de 1 correspond au type de défaut.
IV). Modèle de réseau de neurones 64
Cette partie nous permet de diviser la Data-Set en 70% pour l’apprentissage et 30%
pour le test
Nous allons ici visualiser les deux répartitions de données, celle de test et celle de
l’apprentissage. On peut diviser la figure ci-dessus en deux parties. Celle de haut correspond
au test divisé en deux, à gauche nous avons les données d’entrer de signale avec ses défauts
à droite et celle de bas correspond à la validation divisée aussi en deux comme la partie de
test.
IV). Modèle de réseau de neurones 65
Après plusieurs itérations que nous y allons parlé ultérieurement, nous avons trouvé
les meilleurs résultats présentés dans la figure ci-dessus qui contiennent une seule couche
cachée de 20 neurones et une couche de sortie avec le choix de "Relu" comme un mode
d’activation.
La figure ci-dessus contient la répartition de test dans laquelle existe les données d’en-
trées avec leurs défauts aléatoirement.
Nous nous focalisons sur ces données et nous prenons une ligne de données d’entrées comme
un échantillon, sa partie à droite correspondante n’est autre que son défaut.
X Résultat d’output de modèle
Enfin, nous avons terminé la partie de création de modèle ainsi que la partie d’apprentis-
sage. Nous allons maintenant tester le fonctionnement de notre modèle. C’est pour cette
raison que nous avons appliqué les mêmes données d’entrées venants de la répartition de
test que nous connaissons leurs défauts.
Nous constatons ici que notre modèle nous a donné des résultats conformes à nos perspec-
tives comme le montre la figure ci-dessus.
Pour aboutir à ce modèle, nous avons passé par plusieurs expériences avec le changement
de quelques paramètres que nous allons les montrer dans la partie qui suit.
IV). Modèle de réseau de neurones 68
La figure au-dessus nous montre que notre modèle fini et lors de son apprentissage
possède un taux d’erreur très faible.
Grâce au figure ci-dessus, nous pouvons constater qu’il y a quelques échantillons perdus
présentés par des points libres et les autres sont concentrés avec les valeurs réelles.
IV). Modèle de réseau de neurones 69
Après avoir un modèle fini, le premier problème rencontré est le choix de nombre de
poches (nombre de boucle d’apprentissage). Comme le montre la figure ci-dessus, nous
avons prélevé seulement dix poches, nous avons constaté que le modèle n’est pas encore
précis puisqu’il nous a donné des mauvaise output.
Comme le montre la figure ci-dessus, le nombre de neurones choisi est dix, ce qui a
engendré un taux d’erreur lors de l’apprentissage très élevé et le résultat trouvé n’est
pas satisfaisante puisque les points sont bouleversés partout. Le modèle donc n’est pas
fonctionnel.
V). Phase implémentions 70
V) Phase implémentions
Notre projet permet de classifier les défauts à partir d’une carte stm32. Alors nous
devons extraire un modèle et l’implémenter dans notre carte.
La figure ci-dessus décrit la dernière étape de création de modèle qui est son extraction
sous une extension Tenserflou lite.
Affin d’implémenter notre modèle dans une carte stm32, nous avons besoin de passer
V). Phase implémentions 71
par le cube IA. La figure au-dessus montre les étapes que nous avons suivi dans le logiciel
Stm32cubeMX.
La première étape est de sélectionner la référence de micro-controlleur que nous avons
choisi. La deuxième étape est d’activer l’extension Cube IA. La troisième étape est de
choisir le modèle.
La figure ci-dessus montre que le modèle a pris 320KiB de la RAM et 1MB flash. Ces
valeurs sont faisable au bon fonctionnement.
Conclusion
Dans ce chapitre, nous nous somme concentré sur la partie de réalisation, nous avons
ainsi implémenter notre modèle. Les résultats trouvés répondent parfaitement à nos be-
soins.
CONCLUSION ET PERSPECTIVES
La détection et le diagnostic des défauts est un domaine de recherche actif au cours des
dernières décennies, qui est un élément essentiel des industries modernes pour assurer la
sécurité et la qualité des produits.
Pour réaliser ce projet, nous avons commencé par effectuer une étude approfondie des
différents concepts théoriques liés, respectivement, au projet classification des défauts basé
sur un modèle ANN. À partir de cette étude, nous avons pu conclure les fonctionnalités que
nous devons concevoir et implémenter dans notre système de détection pour satisfaire les
besoins des exploitants qui l’utilisant. Partant de la spécification et l’analyse des besoins à
satisfaire, nous avons pu définir par la suite l’architecture de notre solution, et détailler sa
conception. Après avoir terminer avec la phase de conception, nous avons passé à l’implé-
mentation de notre système et nous avons atteint et accompli les objectifs de notre projet
de fin d’étude.
Les réseaux de neurones artificiels (RNA) ont fourni de bonnes performances pour
résoudre les problèmes de diagnostic de défauts et l’automatisation de la procédure de
surveillance des machines électriques.
73
Conclusion 74
Ce projet de fin d’étude nous a donné la capacité à émettre un ragard et à essayer d’aller
dans les détails pour passer à la partie de prédiction des défauts détectés et classifiés pour
assurer la continuité du fonctionnement afin de minimiser le risque de complexité.
NETOGRAPHIE
https ://aditi-mittal.medium.com/understanding-rnn-and-lstm-f7cdf6dfc14e
[URL4]https ://knowledge.essec.edu/fr/innovation/comment-lintelligence-artificielle-revolutionne-
la.html)
75