SlideShare una empresa de Scribd logo
1 de 48
Descargar para leer sin conexión
Département MC - Service A2E
Rapport de stage de fin d'études
Numérisation Industrielle
LOMBART Thierry
Master Electronique, Système et Télécommunication
Université de Nice Sophia-Antipolis
2014-2016
2/48
Département MC - Service A2E
Sommaire
Présentation d'ArcelorMittal 3
-Le site de Fos-Sur-Mer 3
-Service d'accueil 3
Présentation du projet 5
-Présentation des cartes étudiées 5
-Informations complémentaire sur le train à bande 5
-Fonctionnements des cartes 6
-Réalisation de la nouvelle carte 10
-Les PIC: Tests et résultats 11
-Microcontrôleur SAM4S 13
-Cortex-M4 15
-Carte Xplained Pro 17
-Programmation 18
-Buffer 20
-Configuration d'ADC 20
-Fonction Zero Crossing detector 20
-Utilisation des Timer 21
-Fonction déphasage 23
-Interruption 25
-Carte d'adaptation 26
-Adaptation en aval du microcontrôleur 26
-Adaptation en amont du microcontrôleur 28
-Travail restant à faire 30
Industrialisation futur 31
-Aspect consommation 32
-Aspect sécurité 35
Conclusion 39
Abréviations 40
Bibliographie 42
Annexe 43
3/48
Département MC - Service A2E
Présentation d'ArcelorMittal
ArcelorMittal est un groupe sidérurgique mondial, il est le plus important producteur d'acier au
monde, il produit acier, aciers plats, aciers longs, acier inoxydable, câbles et tôle forte, servant à
la construction (stade de Geoffroy Guichard à Saint-Étienne), emballage alimentaire destiné à la
réalisation des cannettes et des conserves, automobile (caisse en blanc, carrosserie,
essuie-glaces...) et différents appareils électroménagers. Avec 98,088 millions de tonnes
produites en 2014. Le groupe est présent dans 60 pays et regroupe 230 000 salariés dans le
monde.
Le site de Fos-sur-Mer :
L’usine de Fos-sur-Mer a été créée en 1971. L’usine est bâtie sur une surface de 1600 hectares (4
km par 4 km) dont seuls 600 sont occupés par les installations industrielles
Le site emploie 2500 salariés et 1500 sous-traitants, ce qui en fait le deuxième employeur
industriel du département. L'usine a une capacité de production annuelle de plus de 4 millions de
tonnes d'acier, dont 120 nuances sont réalisables suivant les additions chimiques, les traitements
thermiques, les procédés industriels et les modes opératoires choisis pour parvenir au produit fini,
destinées aux marchés de l'automobile, de la construction et des aciers pour tubes (pipelines,
gazoducs).
Présentation du service d'accueil A2E :
Le service A2E, automatisme électronique et électrotechnique composé de 21 personnes dont (12
techniciens et 7 cadres), il fait partie du département Maintenance Centrale.
Le service a pour but l'amélioration de la fiabilité des installations : éradication des pannes,
élaboration des plans de maintenance (400 équipements), définition des standards d’installation,
de maintenance et d’intervention ainsi que l'internalisation de projets de rénovation
d’automatismes et d’électronique de puissance.
4/48
Département MC - Service A2E
5/48
Département MC - Service A2E
Présentation du projet
L'objectif de mon stage est de concevoir une carte numérique interface plus robuste et fiable dans
le temps que les cartes analogiques présentent tout en conservant les paramètres.
Présentation des cartes étudiées
-Informations complémentaire sur le train à bande
Le train à bande permet la transformation des brames d’acier de plusieurs centimètres d’épaisseur
et atteignant un poids maximum de 38T en bobines de tôles de quelques millimètres d’épaisseur.
Pour obtenir ce résultat, trois fours réchauffent les brames à 1200°C puis celles-ci passent entre
une série de cylindres où elles sont laminées jusqu’à l’obtention de l’épaisseur désirée (1.2 à 16
millimètres). Elles sont ensuite enroulées en bobine. La vitesse maximale de laminage est de 97
Km/h. Chaque année 4 millions de tonnes d’acier sont laminées. L’ensemble de l’installation
occupe 71000 m² dans un bâtiment de 900 m de long.
Caractéristiques : - Capacité : 5 millions de tonnes par an.
-Largeur des bobines : 650 < 2150 mm
-Poids maxi brame : 38 T
-Epaisseur : 1.2 > 16 mm
Figure 1 : Schématisation du train à bande
Une succession de cages dégrossisseuses et finisseuses permet d’atteindre l’épaisseur souhaitée
en appliquant un effort de compression sur la brame.
6/48
Département MC - Service A2E
Les cartes que j’ai étudiés, TPGE (Gate Pulse Generator Circuit) et TBAA (Buffer Amplifier
Circuit) (Photo annexe 7) se situent au niveau de la zone du finisseur, constituant les cages des
finisseuses. Elles génèrent des impulsions pour qui conduisent des thyristors, qui servent à
commander 2 moteurs à courant continu en série d’une puissance de 5k Watt (annexe 8).
L’annexe 1 représente le synoptique de la commande d’une cage de finisseuse, où la partie
encadrée en rouge représente la carte TPGE et en vert la TBAA.
-Fonctionnements des cartes
La première des deux cartes est donc la carte TPGE qui comme son nom l'indique a pour but la
génération d'impulsions. Elle produit un set complet d'impulsions tous les 360°, ces impulsions,
identiques et nommées d'une à six sont appliquées à leurs thyristors respectifs précédant les
moteurs du finissage. Une grande précision est donc de rigueur car une impulsion décalée
simplement d'une centaine de microsecondes peut avoir de lourdes répercussions sur le bon
fonctionnement de la carte et de la zone du finissage lui-même.
Cette séquence est obtenue à partir de signaux sinusoïdaux d'un transformateur hexaphasé et
d'une tension continue de commande.
Figure 2 : Schéma électrique d'un bloc TPGE
La carte est composée de 3 blocs identiques chacun générant deux trames d'impulsions, composé
de deux impulsions comme représenté sur la figure 3. Il y'aura donc 6 trames d'impulsions en
sorties de la carte TPGE.
7/48
Département MC - Service A2E
Chaque bloc consiste en un intégrateur et un inverseur, deux détecteurs de zéro et deux
amplificateurs d'impulsions
Tensions d'entrées d'un bloc:
-Référence de phase, un signal sinusoïdal triphasé (220 V, 50 Hz) appliqué aux trois
blocs réduit à une amplitude de 29 V
-Tension limite, qui est aussi un signal sinusoïdal qui est utilisé pour fournir une ligne de
courant alternatif isolé du neutre, s'incrémentant de 60°, elles aussi ont une fréquence de 50 Hz
pour une amplitude de 21 V.
Une trame d'impulsion est composée de 2 impulsions, la première impulsion est générée
lors du "Zero Crossing Detector, ZCD" de la tension limite, ainsi qu'une impulsion dite de
"rappel" espacée de 3.3ms ce qui correspond à un déphasage de 60°, cette impulsion de rappel est
générée de la même manière mais avec la tension limite n+1 donc déphasée elle-même de 60° par
rapport à la tension limite n. Cette impulsion de rappel est une condition pour l’allumage des
moteurs, car pour qu’un thyristor s’amorce il faut un ordre de gâchette et que le courant
traversant le thyristor reste supérieur à un seuil pendant un certain temps. Lorsque l’on veut
démarrer le moteur comme le courant est nul lorsque l’impulsion sera présente sur la gâchette du
thyristor celui-ci ne pourra pas conduire puisqu’il n’y aura pas de circulation de courant.
Pour pouvoir démarrer il faut donc un thyristor opposé qui s’amorce également, c’est
pourquoi l’impulsion d’amorçage d’un thyristor est généré par l’impulsion qui lui est destiné ou
l’impulsion du thyristor d’après.
Figure 3 : Trames d’impulsion 1 et 2
Ces trois circuits partagent la même tension de commande Uc, tension continue oscillant entre
-15V et +15V et entrainant un déphasage sur les impulsions en sortie jusqu'à une demi-période
soit 10 ms voir, une suppression totale des impulsions pour une tension Uc inférieur à -7.5V. Le
schéma de l'annexe 2 montre ce déphasage. Cette tension de commande est l’image de l’angle de
retard à l’amorçage.
8/48
Département MC - Service A2E
Figure 4 : Circuit de commande de gâchette des thyristors
En sortie de la carte, l'impulsion est d'une amplitude de 13 V pour une largeur de 200us, le but de
la carte suivante TBAA, est la mise en forme des impulsions. En effet en sortie les impulsions
seront directement envoyées vers les thyristors. Leurs amplitudes vont donc être réduites à 5 V, et
une "extension" va être ajoutée aux impulsions qui est dédiée au thyristor présent sur la figure 6.
La carte TBAA est donc une carte amplificatrice d'impulsion destinée à remettre en forme et
amplifier les 6 trames provenant de la carte TPGE. Elle est donc elle aussi composée de 6 étages
indépendants traitants chacun une trame différente qui sert à commander un des six thyristors.
Figure 5 : Schéma électrique d'un block TBAA
Chaque étage est composé d'un monostable multivibrateur et de deux transistors. Cette carte est
composée de trois fonction : d'un "Pulse Stretcher", "Pulse Amplifier" et d'un "Pulse Summer".
Pulse Stretcher : Le monostable multivibrateur accepte les impulsions de la carte TPGE et rajoute
à l'impulsion un léger surplus. Cette extension est de l’ordre de 20 us.
9/48
Département MC - Service A2E
Cette extension est présente pour diminuer la variation de potentielle anode-cathode afin qu’elle
ne soit pas trop importante et ainsi éviter que le thyristor s’amorce de manière accidentelle.
Figure 6 : Extension des impulsions de l'ordre de 20us
Pulse Amplifier: Une technologie TTL est utilisée avec un ensemble de 3 transistors qui vont
diminués l'amplitude des trames pour retrouver une impulsion comprise entre 5 V et 0 V.
Le Pulse Summer comme son nom l'indique va additionner les impulsions pour obtenir une
septième trame, le "train d'impulsion" figure 7 qui est destiné à piloter une autre carte "Lockout".
Figure 7 : Train d'impulsion
La carte possède d'autres fonctions comme la suppression totale des 6 trames ainsi que du train
d'impulsion, qui est commandé par la carte TFMA (The Fault Monitor), cette suppression est
réalisée quand la carte TFMA envoie un 1 logique sur la base d’un transistor.
10/48
Département MC - Service A2E
Réalisation de la nouvelle carte
J'ai commencé par reproduire et simuler la carte TPGE, génératrice d'impulsions avec le logiciel
ISIS de Proteus permettant de comprendre plus facilement son fonctionnement. Le but principal
étant d'arriver à reproduire/quantifier le déphasage des impulsions par rapport à la tension de
commande annexe 2. Cela passe par le calcul de la fonction de transfert du circuit.
Le problème que j'ai rencontré avec cette simulation est sa précision, en effet le déphasage obtenu
comparé aux vraies cartes n'était pas correct et donc rendait obsolète cette méthode. Cette
reproduction hasardeuse était due à la tension de seuil des différentes diodes 1N4148. Bien que
ces diodes présentes dans la librairie du logiciel il m'a été impossible de modifier la valeur de la
tension de seuil, ou alors de créer un nouveau composant.
Avec l'avancement de le Technologie et particulièrement l’essor considérable qu’a connu la
microélectronique et notamment les techniques d’intégration, on permit l'amélioration des
microcontrôleurs, permettant de faire des calculs toujours plus puissants et rapides, le tout avec
un composant pas plus gros qu'une pièce d'un euro, cela ouvre la voie à la numérisation des
anciennes structures. Offrant par exemple une diminution de la taille d'une carte, une
augmentation de sa robustesse, de sa fiabilité, supprimant quasiment toutes pannes possibles par
rapport à un système analogique, réduisant ainsi l'argent alloué à ce type de structure. C'est la
solution visant à sécuriser et améliorer le rendement d'une usine. Certaines entreprises comme
Arcelor-Mittal possèdent encore énormément de systèmes analogiques anciens, par exemple les
cartes sur lesquels j'ai travaillé date d'avant 1990 et on donc bien besoin d'un coup de neuf.
Pour cela les microcontrôleurs sont l'une des solutions, un microcontrôleur (ou MCU pour
microcontroller unit) peuvent être résumé comme étant un petit ordinateur avec un seul circuit
intégré contenant un processeur, une mémoire et des périphériques d'entrées et de sorties
programmables. Une mémoire programmable sous forme de RAM, Flash ou ROM est souvent
incluse sur la puce. Les microcontrôleurs sont conçus pour les applications embarquées,
contrairement aux microprocesseurs qui sont des CPU (Central Processing Unit) utilisés dans les
ordinateurs personnels ou d'autres applications à usage général.
Les microcontrôleurs sont utilisés dans les produits et appareils à contrôle automatique, tels que
les systèmes de contrôle de moteur d'automobile, des appareils médicaux implantables,
télécommandes, machines de bureau, les appareils électroménagers, les outils électriques, les
jouets et autres systèmes embarqués.
En réduisant la taille et le coût par rapport à une fabrication séparée qui utilise un des dispositifs à
microprocesseur, une mémoire et des entrées/sorties distinctes, les microcontrôleurs permettent
de commander numériquement encore plus d'appareils et de procédés.
11/48
Département MC - Service A2E
La numérisation des deux cartes se fera par l'utilisation d'un microcontrôleur, reste maintenant à
définir les besoins pour sa sélection. Les premiers essais ont été faits à partir des
microcontrôleurs PIC (Programmable Intelligent Computer), pour finalement travailler sur la
carte de développement Xplained Pro, avec comme microcontrôleur un SAM4S de chez Atmel.
PIC: Tests et résultats
Le logiciel ISIS étant néanmoins puissant, il est un des rares logiciels à proposer la possibilité de
simuler certains microcontrôleurs de première gamme, en l'occurrence des PIC du fabricant
Microchip. J'ai utilisé des PIC de la famille 8-bits, particulièrement des PIC16F (F pour
l'utilisation d'une mémoire Flash) tel le 16F887, pour commencer la programmation. Le 16F887
est donc un microcontrôleur 8 bits, avec 40 broches comprenant 36 entrées/sorties dont 14
peuvent être utilisées comme canaux pour l'ADC et opère dans une échelle de tension de 2 à
5.5V. Avec une vitesse d'opération maximal de 20 MHz et d'une taille de mémoire de 14KB,
rajouter à cela un faible coût et un kit de debugger pickit2.
J'ai utilisé le compilateur MikroC Pro pour PIC, car facilement accessible et pensé spécialement
pour la programmation des PIC. La programmation se faisait en langage C, le compilateur
générant un fichier .hex qui était directement implanté dans le microcontrôleur simulé avec ISIS.
La facilité de prise en main, sa flexibilité au niveau de la programmation ainsi que son
implantation rapide au sein du logiciel de simulation, m'a permis de programmer le
microcontrôleur pour faire l'acquisition et le traitement des signaux analogiques grâce au module
ADC sur 10 bits. Je me suis aidé de différents cours et exemples trouvés sur internet et
particulièrement ce de BIGONOFF fortement utile pour débuter.
Comme présent sur les premiers signaux figure 8, la génération d'une trame se faisait
correctement tout en respectant les largeurs d'impulsions et la durée d'attente de l'impulsion de
rappel de 3.3ms. On peut néanmoins s'apercevoir que l'impulsion à un retard non négligeable sur
le passage en "zéro" de l'impulsion.
12/48
Département MC - Service A2E
Figure 8 : Simulation de trame sous ISIS
De plus avec l'ajout des autres acquisitions et générations d'impulsions on peut s'apercevoir que
certaines impulsions se déformaient figure 9, dues à un temps de monté important ou alors ni plus
ni moins à non-génération des impulsions.
Figure 9 : Absences/déformations d'impulsions
Cela mais en évidence un point important de ce type de microcontrôleur, de la famille des
midde-range qui est leur fréquence maximum à laquelle ils peuvent travailler. En effet cette
famille peut être cadencée jusqu'à 20 MHz, ce qui certes, avec ce code pas optimisé, est une
fréquence insuffisante pour l'utilisation souhaitée.
Il a donc fallu voir plus "grand" avec des microcontrôleurs pouvant tourner plus rapidement. Un
choix possible était les dsPIC30/dsPIC33F/dsPIC33E toujours de chez Microchip. Les dsPIC
(digital signal PICs) sont adaptés aux applications de traitement du signal, permettant par
exemple de faire du contrôle vectoriel de moteur, des filtres de type IIR/FIR, la possibilité
d'accéder à des blocksets pour MATLAB Simulink permettant de générer du code pour tous les
périphériques des dsPIC30 et dsPIC33
13/48
Département MC - Service A2E
Choix de la carte test
Pour le choix du microcontrôleur qui devait être assez rapide pour faire l'acquisition des 6
tensions sinusoïdes, de la tension de commande et générer les impulsions par la suite. J'ai fait mes
recherches à partir des deux gros constructeurs de microcontrôleur que sont Microchip et Atmel.
La carte de développement associé au MCU doit être aussi prise en compte, par rapport à sa
taille, sa facilité d’intégration au projet, son prix, etc...
Le choix de la carte de développement c'est finalement porté sur la Xplained Pro avec comme
type de microcontrôleur un SAM4S (Smart Atmel Microcontroller), doté d'une architecture
Harvard ARMv7E-M, et d'un cœur Cortex-M4. Le SAM4S a été développé à partir de 2011 et
fait partie de la série des SAM4 comprenant d'autres microcontrôleurs comme le SAM4E (2013)
basé sur un cœur Cortex-M4F, premier MCU d'Atmel intégrant un Floating-Point Unit (FPU) qui
est une part du système spécialement désigné pour réaliser des opérations comportant des
nombres flottant, ou le SAM4C (2014) possédant un double cœur.
La raison première de ce choix et tout simplement le prix, en effet nous avons pu par
l'intermédiaire d'une connaissance au sein de l'entreprise obtenir la carte gratuitement avec un
délai de livraison très rapide.
Microcontrôleur SAM4S
Les microcontrôleurs de la série SAM4 sont donc composés d'un processeur Cortex-M4. Il y a
près d'une quinzaine de dériver du SAM4S. Le MCU que j'utilise est l'ATSAM4SD32C qui est le
plus "complet" des microcontrôleurs de la série des SAM4S (La première lettre après le S
correspond à la mémoire, D pour dual-bank Flash, A pour une simple Flash, suivit du nombre de
bits et du nombre de broches : A pour 48, B pour 64 et C pour 100 broches).
Malgré ces différences, la structure reste quasiment similaire pour les MCU, voir en annexe 3 le
bloc diagramme correspondant au SAM4SD32.
Les avantages du microcontrôleur du SAM4S sont
-La rapidité de traitement des données avec une fréquence maximum de 120 MHz ce qui
nous permettra d'assurer un temps de montée élevé pour les impulsions.
- Un ADC (Analog Digital Converter) 12 bits (4095 niveaux) travaillant à une vitesse
d'acquisition 1 000 000 échantillons / secondes (1 MSPS) avec 16 entrées
- Six générateurs d'impulsions automatiques (durée configurable de 100 ns à plusieurs ms)
grâce aux différents Timers Counter et leurs registres.
- L'ADC et les générateurs d'impulsions peuvent fonctionner de manière autonome,
c'est-à-dire sans aucune intervention du CPU, ce qui permet au CPU de traiter les données venant
de l'ADC.
14/48
Département MC - Service A2E
- Une taille de 2 MB de mémoire flash et 160 KB pour la SRAM et d'un cache intégré de
2MB. Sa consommation est faible, de l'ordre de 200uA/MHz pendant son fonctionnement même
si la consommation n'est pas un point critique de ce projet.
-100 broches dont 79 pouvant être utilisées comme entrées/sorties, le microcontrôleur
s'alimentant en 5V par USB ou par une tension externe entre 1.6V et 3.6 V. C'est d'ailleurs un
défaut, car les tensions de sorties ne pourront pas être supérieur à une tension de 3.3V, il faudra
donc les amplifier pour retomber sur du 5V.
Périphériques SAM4S
Quelques périphériques standards du SAM4S que j'ai dû utiliser tels que les Timer, ADC,
expliqué dans les chapitres suivants, ainsi que :
-DMA controller
Direct memory access (DMA) qui est utilisé pour les transmissions de données ente les
périphériques et la mémoire, ainsi que de la mémoire à la mémoire à une vitesse élevée. Les
données peuvent être rapidement déplacées par le DMA sans l'action du CPU ce qui permet aux
ressources du CPU de rester libre pour d'autres opérations.
-DAC unit
Le module DAC (Digital to Analog Converter) est sur 12 bits, il dispose de deux sorties
analogiques, pouvant être conduit comme deux canaux indépendants qu'ils peuvent être utilisés
conjointement avec le DMA contrôleur.
-Watchdog unit
Le watchdog est utilisé pour empêcher le système d'être enfermé par exemple si le programme
tombe dans une deadlock. Il dispose d'un compteur 12 bits et peut générer un reset général ou
uniquement pour le processeur. De plus, il peut être stoppé quand le processeur est en mode
debugge ou repos.
-PIO Controller
Le PIO (parallel Input/Output). Chaque I/O peut être dédié comme une I/O générale ou peut être
assignée à une fonction de l'un des périphériques embarqués. Ceci assure une optimisation
efficace des broches du produit.
-PMC
Le PMC (Power Management Controller) optimise la consommation en contrôlant tout le
système et utilisant les horloges périphériques. Le PMC activé/désactive l'horloge des entrées
d'un grand nombre de périphériques et du processeur CM4
15/48
Département MC - Service A2E
Cortex-M4 processeur
Le processeur Cortex-M4 est un processeur de haute performance sur 32 bits conçu pour le
marché des microcontrôleurs. Il offre de très bonnes performances de traitement combiné avec
une manipulation rapide des interruptions, un système de débogage renforcé à l’aide de
« breakpoint », une faible consommation d’énergie avec des modes veilles intégrés, une
plateforme de sécurité robuste intégrant une unité de protection de mémoire (MPU).
Figure 10 : Block diagramme d’un Cortex-M4
Cœur du Cortex-M4
Le CM4Coeur est fondé sur une architecture d'Harvard figure 11 (séparant physiquement la
mémoire de données et la mémoire programme). L'accès à chacune des deux mémoires s'effectue
via deux bus distincts. L'avantage d'utiliser deux bus distincts, est que l'architecture dite
d'Harvard permet le transfert en simultané des données et des instructions à exécuter. Par
conséquent le CPU aura accès en même temps aux instructions et aux données associées. Cette
structure peut être plus rapide à technologie identique que celle de von Neumann figure 11 par
exemple qui utilise une structure de stockage unique pour conserver à la fois les instructions et
les données demandées ou produites par le calcul. Cependant cet avantage fait que la structure
Harvard est plus complexe.
16/48
Département MC - Service A2E
Figure 11 : Architecture von Neumann et Harvard
Le cœur pipeline a trois étapes : l'instruction Fetch, l'instruction Décode et l'instruction Exécute.
Le processeur va chercher l'instruction de destination de branchement lors de l'étape de décodage
lui-même. Plus tard durant l'étape d'exécution, le branchement est résolu et traite l'instruction qui
sera la prochaine à être exécuté. Si le branchement n'est pas fait, l'instruction suivante est déjà
disponible. Si le branchement est fait alors l'instruction de branchement est mise disponible au
même moment ou la décision est prise, limitant le temps de repos à un cycle [1].
Le CM4 Coeur contient un décodeur pour les instructions Thumb et Thumb-2 (extension
permettant d'améliorer la densité du code et réduisant la mémoire nécessaire au programme), un
ALU (Arithmetic logic unit) avec support pour des multiplications et divisions, un contrôle
logique et des interfaces pour les autres composants du processeur. Le Cortex-M4 possède un
registre banque et une interface pour la mémoire, 13 registres généraux, deux stacks pointeurs, un
programme compteur et des registres spéciaux incluant un registre statut programmable.
Le processeur Cortex-M4 est un système de mémoire mappée avec une carte à mémoire simple,
fixe jusqu'à 4 gigabits d'espaces destinés à l'adressage de la mémoire, avec certaines adresses
dédiées : au code (code space), SRAM (espace mémoire), aux mémoires/appareils externes et aux
périphériques internes/externes. Il y a aussi une région particulière à fournir pour le fournisseur
d'adressage spécifique.
De plus le processeur Cortex-M4 supports des opérations de 32 bits en un seul cycle et supporte
aussi des opérations signées et non signées avec les instructions SDIV (Signed divide) et UDIV
(unsigned divide) qui prennent de 2 à 12 cycles, dépendant de la taille des opérandes.
17/48
Département MC - Service A2E
Carte Xplained Pro
La carte Xplained Pro figure 12 est une plateforme de développement permettant
d'accéder facilement aux fonctions du SAM4SD32C. Elle possède un debugger directement
implanté ce qui nous permet de la programmer avec un simple câble micro-USB via le logiciel
Segger, J-Link. Des cartes d'extensions existent offrant la possibilité d'ajouter d’autres
fonctionnalités à la carte comme un écran LCD.
Figure 12 : Carte Xplained Pro pour SAM4SD32C
18/48
Département MC - Service A2E
PROGRAMMATION
La quasi-totalité du sujet se fera par le biais de la programmation vu que le MCU SAM4S peut le
permettre.
Pour programmer j'ai utilisé le logiciel IAR Embedded Workbench for ARM de chez IAR
SYSTEMS.
Le programme sera composé de plusieurs partie .c :
-le main : dont la boucle testera le buffer de l'adc avant d'appeler la fonction ZCD.
-tc_function : qui va identifier les sorties utilisés par le microcontrôleur via les
Timer, l'initialisation du mode correspondant au Timer, ici le mode Waveform.
-l'adc_function : identifiant les broches d'entrées, les paramètres d'initialisations
de l'ADC lui-même.
Ajout des librairies figure 13 nécessaires au fonctionnement du programme comme les drivers
ASF (Atmel Software Framework) qui couvrent une large gamme de microcontrôleur
(megaAVR, AVRXMEGA, AVR UC3 et la série des SAM).
Figure 13 : Librairies nécessaires
19/48
Département MC - Service A2E
Voici l'organigramme simpliste du programme à réaliser figure 14.
Figure 14 : Organigramme
La première partie est d'acquérir les six signaux analogiques et la tension de commande Uc. Pour
cela j'utilise l'ADC qui retourne des valeurs numériques comprises entre 0 et 4095 qui vont être
stockées dans des registres. Les valeurs contenues dans les registres vont ensuite être comparé à
différents seuils, c'est la fonction ZCD qui a pour but de trouver le passage en zéro sur le sens
descendant de la sinusoïde. L'information sur le sens du signal est importante pour ne pas
confondre la détection du "zero crossing" (durant la phase descendante du signal) et le moment
où la courbe repasse par le zéro mais en dans le sens ascendant.
20/48
Département MC - Service A2E
Configuration du Buffer
Avant de commencer à faire les conversions de nos signaux, il faut s’assurer que le buffer du
DMA ne soit pas plein
Figure 15 : Routine du buffer
Configuration de l'ADC
L'acquisition des signaux analogiques se fera par l'utilisation de l'ADC, pour cela j'ai dû
configurer l'ADC_MR (Mode Register) qui regroupe les paramètres qui définissent l'ADC, je me
suis aidé de la Datasheet du microcontrôleur fourni par Atmel. Quelques paramètres comme le
Prescal qui permet de configurer la fréquence de l'horloge de l"adc, où 1 < fADCCKL< 22
(MHz).
fADCCKL = ( (fPeripheral clock)/(Prescal +1)*2)).
Avec fPeripheral clock =40MHz, il faut que Prescal prenne la valeur 0 pour avoir fADC =20MHz
qui est la fréquence typique.
Chaque canal possède leur propre "Statup time" qui doit être le plus faible possible, dans mon cas
le startup time sera égal à 64 périodes de fADCCKL, ce qui nous donne un startup time de 3.2us.
Fonction "Zero Crossing Detector"
J'ai commencé par déterminer le sens de la sinusoïde pour que si l'ADC est hors de la zone du
"zero crossing" on puisse extraire le sens de la pente :
Si l'ADC est à une valeur très basse, 200 : alors la prochaine zone du "zéro" sera abordée de
manière ascendante.
Si l'ADC est à une valeur très haute, 3500 : alors la prochaine zone du "zéro" sera abordée de
manière descendante.
21/48
Département MC - Service A2E
Figure 16 : Théorie ZCD
Si l'ADC est dans de la zone du "zéro" (si ADC >= seuil de détection 1970) et que l'on se trouve
sur la pente descendante, on exécute l'impulsion sur la sorties n et sur la sortie (n-1) afin de
générer notre impulsion de rappel, Cas particulier : si x = 1 alors l'impulsion de rappel sera
exécuté sur la sortie 6.
Figure 17 : Code ZCD
De manière idéale, la zone de détection est centré au milieu de la sinusoïde, la zone correspond à
la valeur 2048, en tenant compte de la variation de la courbe sinusoïdale dans cette zone (sin(0)),
le passage se trouve entre 48.82% et 51.18% de l'échelle de l'ADC. Les seuils de l'ADC sont les
valeurs 2000 (début de l'impulsion) et 2096 (fin de l'impulsion).
L’utilisation des Timer
On va donc utiliser les Timer Counter d'une taille de 16 bits, ceux-ci vont s'incrémenter lors de la
détection du "zéro", les six sorties associés au Timer Counter (TC) peuvent générer différents
types d'impulsions. Le TIOAx (Timer Counter Chanel x Input/Output Line A) est configuré
comme une sortie, il comprend six canaux qui recevront une trame chacun. Le TIOB n'étant pas
utilisé.
22/48
Département MC - Service A2E
Il faut alors configurer les registres de comparaisons TC_RA, TC_RB et TC_RC, où Ra est
utilisée pour contrôler les sorties TIOA, RB contrôle les sorties TIOB et RC contrôle les deux
sorties. Lorsqu'un Timer Counter atteint le seuil RA, la sortie bascule à l'état haut et inversement
lorsqu'il atteint le seuil RC, la sortie est mise à l'état bas.
Figure 18 : Fonction Waveform, Fonctionnement Timer
Il va falloir configurer ces registres pour obtenir une impulsion de 200us, pour cela RA sera
initialisé à 2 et RC à 1002. Pour cela il faut prendre en compte la fréquence de l'horloge, ici j'ai
choisi comme fréquence "TIMER_CLOCK2" qui correspond à diviser par 8 la fréquence du
MCK, Master Clock Register qui est configuré à 40MHz. Avec cette fréquence de MCK, 1 cycle
de comptage (ADCCLK période) est égal à 200ns. Le choix de la fréquence "TIMER_CLOCK2"
est dû au retard de la tension continue Uc et est expliqué après.
Figure 19 : Fonction associée au Timer
23/48
Département MC - Service A2E
Cette fonction figure 21, fait le lien entre un des canaux du Timer Counter à l'une des sorties, ici
le Timer Counter 0, TIOA0 sera associé à la sortie PA0 du microcontrôleur, cette association
configurée par le constructeur et donnée dans la datasheet.
Figure 20 : Multiplexing on PIO Controller A (PIOA)
Figure 21 : Code Multiplexing on PIO Controller A (PIOA)
Fonction déphasage
Une partie fondamentale du projet est le déphasage des impulsions par rapport à la tension de
commande Uc. Le procédé est le même que pour les sinusoïdes précédentes où l'ADC va
effectuer la conversion en valeur numérique qui va induire un retard ou non.
Figure 22 : Seuils de basculement de tension Uc
24/48
Département MC - Service A2E
Pour induire ce retard, il faut jouer sur les valeurs des registres RA et RC qui correspondent aux
valeurs de basculement des sorties. Nous avons vue qu'un cycle de comptage du Timer Counter
est égal à 200 ns du au choix du "TIMER_CLOCK2". Ici les impulsions doivent au maximum
atteindre un retard de 10 ms avant d'être supprimées, ce qui signifie que le TC doit atteindre une
valeur de 50 000 cycles pour ce retard. Rappelons que les Timer Counter sont sur 16 bits soit une
valeur de 65536, cela n'aurait pas été possible d'atteindre ce retard avec une fréquence plus
élevée, avec le mode "TIMER_CLOCK1" où le temps d'un cycle est de 50ns (65 536 x 50 ns =
3.27 ms), d'où le choix du mode "TIMER_CLOCK2 avec certes une précision moindre, mais qui
reste plus correcte avec un temps de cycle, soit une précision de 200ns soit de l'ordre 1/1000
d'une impulsion.
La fonction déphasage est appelée uniquement quand la valeur de la tension de commande est
inférieure à 3072.
La fonction comprend une variable nommée "Delay" qui est ajouté aux valeurs contenues dans
les registres RA et RC.
-Si la ValeurNum est supérieurs à 1024 alors la valeur du "Delay" va être égale :
Delay = ((-3072 +ValeurNum) / (-0.04096))
-si ValeurNum= 2048 => Delay =25000 cycles, multipliant cette valeur le temps de cycle
de 200ns, on obtiendra alors la valeur du retard de 5ms.
3071 correspond à la valeur (max+1) que peut prendre ValeurNum
0.004096 correspond au pas, ValeurNum pouvant prendre 2048 valeurs (dans cette fonction)
entre 3072 et 1024, le pas étant égal au Nombre de ValeurNum/ Nombre de cycle (2048 / 50000).
-Si la valeur est maintenant inférieure ou égal à 1023, les impulsions doivent être
supprimées, les valeurs contenues dans les registres RA et RC vont être forcés à 0 ne générant pas
la moindre impulsion jusqu'à un changement sur la tension Uc.
25/48
Département MC - Service A2E
Interruption
Une interruption doit être implantée afin de permettre la suppression des trames en sorties
lorsqu’un niveau logique haut sera envoyé sur la broche IRQ du microcontrôleur qui est dédié à
cette effet.
Ci-dessous la fonction de configuration des paramètres permettant l’interruption, en plaçant la
sortie souhaitée à l’état bas lorsqu’un état haut est détecté.
Figure 23 : Interruption d’une sortie
26/48
Département MC - Service A2E
Hardware
Adaptation en aval du microcontrôleur:
Il faut en premier lieu réduire les amplitudes des sinusoïdes pour qu'elles soient compatibles avec
le microcontrôleur. Les sinusoïdes seront comprises entre 3.3V et 0V. Pour cela j'ai utilisé un
amplificateur opérationnel, le TL074 qui est un amplificateur couramment utilisé, car robuste et il
a un faible coût d'achat. Le circuit comprend un montage suiveur permettant une adaptation
d'impédance, d’un montage inverseur avec un gain idéal de 0.156 Vs = (R2/R1)*Ve avec R2 =
1540 ohm et R1=10K ohm, ce qui nous donne une sinusoïde de +/- 3.3V.
Mais comme les tensions d’entrées du microcontrôleur ne doivent pas excéder les 3.3V et que j’ai
effectué mes tests sur le banc de test des cartes TPGE et TBAA, et que les sinusoïdes sont
générées par un transformateur que peut envoyer des tensions supérieurs au 21V, la résistance R2
sera plus petite afin de protéger le microcontrôleur d’une évaluation soudaine de la tension.
A cela il faut rajouter une composante continue de 3.3V pour retrouver le signal souhaité,
composante continue générée à partir d'une tension 15 V qui alimente les anciennes cartes TPGE
et TBAA ainsi que leur banc de test, cette tension d'alimentation est gardé afin de rester
compatible avec le banc de test.
Un régulateur 7805 figure 24 est utilisé pour obtenir une tension de 5V suivit d'un diviseur de
tension avec R1=3k9 ohm et R2=2k ohm, Vs = (R1/ (R1+R2))*Ve. La composante continue de
3.3V et la sinusoïde sont ensuite additionné l'une vis-à-vis de l'autre.
Figure 24 : Schéma électrique LM7805
Ce circuit est utilisé car le microcontrôleur nécessite un signal très pur et stable pour opérer
proprement. De plus si la tension de sortie chute, le LM7805 va injecter plus de courant, forçant
ainsi la tension de sortie à revenir à 5V. Donc, le LM7805 contrôle la tension de sortie et la garde
à 5V, car le microcontrôleur requière un signal très propre, des condensateurs entre les broches
Vdd et Vss sont placées pour filtrer les distorsions causées par le circuit lui-même. Ce 5V servira
aussi à alimenter la carte de développement.
27/48
Département MC - Service A2E
Le même circuit est réalisé pour l'adaptation de la tension de commande UC comprise entre +/-
15V pour son adaptation en 0/3.3V.
Ce montage est répété six fois pour les six sinusoïdes. L'amplificateur inverseur est préféré à un
amplificateur non-inverseur car plus stable. C'est la raison pour laquelle la génération
d'impulsions se fait sur le sens descendant de la courbe et non ascendant.
Les sinusoïdes d'entrées de la carte électronique et celle en sortie qui iront directement au
microcontrôleur, sont déphasées de 180° les unes par rapport aux autres. Pour respecter la
génération des impulsions, au passage du "zéro" dans le sens ascendant des premières sinusoïdes,
il faudra alors générer l'impulsion non plus sur le sens ascendant mais sur le sens descendant. La
figure 25 montre la simulation de cette adaptation.
Figure 25 : Simulation de l’adaptation des tensions de références
28/48
Département MC - Service A2E
Adaptation en amont du microcontrôleur
Comme mentionné plus haut, le microcontrôleur SAM4S fournit une tension de sortie de 3.3V. Il
faut alors amplifier les impulsions pour une amplitude de 5V, pour cela j'utilise un Level Shifter,
le 74LVC245A Low-Voltage CMOS figure 26. Ce circuit intégré possède 20 broches et permet
donc de passer d'une amplitude d'1.5V au niveau TTL et vice versa suivant la configuration de
deux pins, OE (Output Enable Input) et T/R (Transmit/Receive Input), 16 broches (A0-A7,
B0-B7) sont utilisées comme entrées/sorties pour la mise à niveau de 8 signaux au maximum. Ce
circuit a un temps de réaction très rapide, n'influant pas le temps de monté des impulsions comme
on peut le voir en annexe 4.
Figure 26 : Schéma des Pinout (Top View) et câblage électrique
La connectible entre le banc de test (où se feront les premiers tests) et la carte électronique
d'adaptation se fait par le biais de connecteurs fiches bananes directement soudés à la carte. Ce
choix est du à leur robustesse et leur facilité d'intégration.
Les broches de sorties où sont envoyés les trames après l'adaptation en niveau TTL par le Level
Shifter sont connectées à des points test permettant la vérification des impulsions. Le schéma de
la carte électronique avec un bloc d’adaptation est présent en annexe 5.
29/48
Département MC - Service A2E
Figure 27 : Différentes connectibles utilisées
Comme présent sur la figure 28, les impulsions sont bien générées au passage du "zéro" de la
sinusoïde en entrée de la carte électronique, une seule impulsion est générée car je n’avais qu’un
seul GBF à ma disposition.
Figure 28 : Tension de référence et impulsions
30/48
Département MC - Service A2E
Travail restant à faire
Comme précisé plus haut, la pulse n'est pas totalement "carré" mais possède une extension
comme montré sur la figure 6. Pour obtenir ce résultat il faut configurer le DAC du
microcontrôleur combiné avec l'action d'un Timer Counter. Lorsque l'ADC détecte le zéro
crossing, il déclenche un TC qui ne génère aucune impulsion sur sa sortie dédiée, ce sera le DAC
"associé" qui générera le premier palier de l'impulsion, le 5V. Lorsque le TC atteint son premier
"seuil numérique", il déclenche une interruption qui change le niveau du DAC pour sortir une
tension d'un volt, on crée donc le deuxième palier de l'impulsion. Enfin lorsque le TC atteint son
deuxième seuil, chaque TC pouvant avoir 2 seuils, l'interruption du timer est déclenchée une
seconde fois et permet de mettre le signal de l'impulsion au niveau bas.
L'un des problèmes que pose l'utilisation du DAC est qu'un microcontrôleur "généraliste" à
rarement plus de 2 sorties DAC. Le SAM4S ne possède lui aussi que deux sorties DAC, il
faudrait donc utiliser 3 microcontrôleurs pour pouvoir générer nos six trames. Pour lier les
impulsions (dû à l'impulsion de rappel délivrée du coup par un autre microcontrôleur), il faut
chaîner les 3 microcontrôleurs entre eux. Chaque microcontrôleur utilisant une sortie digitale
directement connectée à une entrée digitale du microcontrôleur voisin. La carte de
développement Xplained Pro deviendrait alors obsolète et il faudra développer une carte
spécifique aux 3 microcontrôleurs. L’annexe 6 montre le schéma électrique du SAM4S, avec les
régulateurs de tensions et la partie dédiée à l’USB.
31/48
Département MC - Service A2E
Industrialisation futur
L'industrie avec l'émergence constante des nouvelles technologies, a beaucoup évolué.
L'utilisation des technologies d'automatisations et de contrôle on eut un grand impact sur
l'industrie sur les dix dernières années. Les cartes de types analogiques sont de plus en plus
vouées à disparaître au profil des microcontrôleurs et autres types de numérisations. Mais qu'en
sera-t-il dans 5, 10 ou 15 ans avec par exemple l'arrivée prochaine de l'Internet des Objets (IdO)
dans des grandes entreprises de types automobiles ou de distributions comme ArcelorMittal
possédant des milliers d'automates et autres systèmes électroniques. Pour ces entreprises une
connexion de tous ou d'une grandes parties de leurs appareils serait un vrai plus, engendrerait une
meilleur prévention et suivit du matériels, réduisant ainsi le coût des nombreuses pannes.
L'Internet des Objets (IdO) ou Internet of Things (IoT) représente l'extension d'internet des
choses et à des lieux du monde physique. C'est un "réseau de réseaux qui permet, via des
systèmes d'identification électronique normalisés et sans fil, d'identifier et de communiquer
numériquement avec des objets physiques afin de pouvoir mesurer et échanger des données entre
les mondes physiques et virtuels".
L'IoT considéré comme le Web 3.0 va peu à peu envahir nos objets du quotidien, appareils
ménagers et médicaux, capteur de température, voitures connectées, les smartwatches etc... Mais
aussi dans le domaine de la santé ou du transport. Avec près de 50 milliards d'objets connectés
d'ici 5 ans, représentant près de 1.3 milliard de microcontrôleurs pour l'IoT pour 2020 [4], c'est un
marché extrêmement lucratif qui touche un grand marché, allant des dispositifs portés sur soi
(wearables), les maisons intelligentes et le monde de l'industrie. Le marché des systèmes
embarqués, quand à lui devrait atteindre la somme 258.7 milliards de dollars en 2023 grâce en
parti au développement massif des IoT. C'est en effet une estimation publiée par le site Gobal
Market Insights en fin août 2016 montrant l'entendu du marché [2]. Dans le même temps
Microchip Technology (actuel troisième vendeur de MCU) annoncé ses résultats trimestriels pour
la période de fin juin, où la compagnie affiche un nouveau revenu record de l'ordre de 799.4
millions de dollars, tout en ayant fait l'acquisition d'Atmel pour la somme de 3.56 milliards de
dollars un peu plutôt cette année [3].
Mais malgré ce marché en pleine effervescence des problèmes comme la consommation
d'énergie déjà bien présent dans le domaine de l'embarqué et aussi la sécurité des informations
transmises car la connexion d'une multitude équipements à un réseau peut être une faille au
niveau sécuritaire et avoir de grave répercussion, nous verrons comment des microcontrôleurs
spécialisés proposes des solutions à ces problèmes.
32/48
Département MC - Service A2E
Consommation des microcontrôleurs
L'autonomie d'un système reste l'un des facteurs critiques pour les systèmes embarqués, comme
le sont régulièrement les objets connectés.
C'est d'ailleurs le but d'Atmel avec sa nouvelle gamme de microcontrôleurs SAM L21, mettant
l'accent sur sa faible consommation énergétique. Certaines de ces puces pourraient fonctionner
jusqu'a 10 ans avec la seule charge d'une batterie, de quoi alimenter justement le marché en plein
essor de l'Internet des Objets.
En effet, les microcontrôleurs 32 bits Ultra low power SAM L21 ne consomme que 35uA/MHz
[7] en activité alors que les MCU faible consommation sont plus souvent situés dans une
fourchette de consommation comprise entre 100 et 200 uA/MHz. La série SAM4S atteint les 200
uA/MHz en mode dynamique avec une fréquence de fonctionnement basse ; 30 mA à 120 MHz
et 1uA à 1.8V en mode de secours avec l'horloge en temps réel (RTC) en fonctionnement.
Pour ce faire, les MCU d'Atmel utilisent un cœur ARM Cortex M0+ cadencé à 42 MHz. En
veille, les MCU SAM L21 se contentent d'une consommation inférieure à 200 nA. Cette gamme
de SAM L21 s'appuie sur un système avancé de gestion des domaines d'alimentation comme le
power management.
Le Cortex-M0 propose des performances moins élevé, avec des tailles de mémoires moindres,
mais entièrement tournée vers la frugalité énergétique, pensée pour l'Internet des Objets. Il est
certes moins puissant mais il est largement capable de faire tourner des systèmes d'exploitation de
type RTOS (Real Time OS) très répandus dans l'IOT. Ils peuvent être utilisés dans des détecteurs
de fumée, alarmes, et d'autres systèmes dotés de capteurs.
De plus la plateforme proposée par Atmel est suffisamment économe en électricité pour pouvoir
s'alimenter soi-même en utilisant des techniques de récolte d’énergie (Energy Harvesting)
pouvant exploiter les variations de température, les vibrations ou les rayonnement UV.
Figure 29 : Anatomie d'un réseau de capteur sans fil incorporant des techniques de récoltes d'énergies [8]
33/48
Département MC - Service A2E
Les techniques de récoltes d'énergies sont de plus en plus implantés par des grosses compagnies
de production de MCU, tels que Texas Instruments, STMicroelectronics, Silicon Labs, NXP
Semiconductors et Microchip Technology. Ces microcontrôleurs incluent une très faible
consommation de puissance à l'état actif, un courant de veille extrêmement faible et la capacité de
changer rapidement entre ces deux modes, temps de réveil (Wake-up time) car durant cette
période le CPU n'effectue pas de tâches et consomme quand même de l'énergie.
Puissance totale consommé = Puissance mode actif + Puissance mode veille + Puissance due au
réveil, figure 30.
Puissance mode actif (ou Puissance dynamique) = C * V² * f, où C est la capacitance du circuit,
V la tension appliqué et f et la vitesse de transition.
Figure 30 : Low Power Design [9]
L'ARM Cortex-M Energy Mode 2 (EM2) et l’instruction Wait-for-Event (WFE) sont
particulièrement utiles pour réduire la consommation des microcontrôleurs sur lesquels ils sont
implantés. Comme son nom l'indique cette instruction permet au CPU d'attendre pour un
évènement particulier, au lieu de scruter en continu. L’EM2 qui possède un mode "deep-sleep"
active le microcontrôleur pour fournir un haut degré d'autonomie de fonctionnement tout en
conservant une faible consommation énergétique. Les hautes fréquences d'oscillations du cœur
sont mises hors tension, mais les périphériques de faible énergie continue de fonctionner à une
fréquence de 32Khz ainsi que le RTC. Sous ces conditions le CPU ne tourne pas, de sorte que le
MCU procède à des opérations avancées en mode veille. La consommation en EM2 est de l'ordre
de 0.9 uA.
Fonctions ARM Cortex-M
La partie qui va suivre montre différents exemples d'économie d'énergie rapporté à l'acquisition
d'échantillons/seconde que peut faire un microcontrôleur par l'intermédiaire de son module ADC
utilisé pour faire l'acquisition de données analogiques, ce qui est l'une des fonctions principales
de mon projet.
34/48
Département MC - Service A2E
L'une des approches conventionnelles pour l'acquisition des données est d'activer le mode
Capture de L'ADC avec un Timer et transférer les données vers le bus DMA. Prenons comme
exemple le microcontrôleur "EFM32WG230F256-QFN64" de chez Silicon Labs qui propose une
consommation de courant de 165uA pour une vitesse d'acquisition d'1 K échantillons/seconde et
de 350uA pour 32K d'échantillons/seconde. Cette méthodes permet une bonne utilisation de
l'interaction périphérique, elle n'utilise pas de microcontrôleur spécial ni d'instruction. Les
résultats sont représentés en rouge sur la figure 31.
La seconde option (en vert sur la figure 31) est donc l'utilisation du mode EM2 afin de garder le
MCU en mode repos jusqu'à ce qu'une interruption le réveil. L'interruption peut être activée par
de nombreux évènements, incluant un timer spécial qui opère pendant que le cœur est en mode
EM2. Cette fonctionnalité active le microcontrôleur pour revenir à pleine vitesse en tout juste
2us. Le MCU tire un courant de repos de 0.9uA. Cela a pour but d'optimiser le temps passer en
mode "Ultra-low-power" et réduit le courant requis pour une vitesse d'acquisition d'1 K
échantillons/seconde à 60uA, ce qui est mieux que la première méthode. Cette technique est
adaptée pour les applications commandées par interruptions, mais en fonction de circonstances
particulières, il existe d'autres possibilités de réduire la consommation d'énergie.
Pour la troisième méthode (en bleu sur la figure 31) le mode EM2 est aussi utilisé, mais cette fois
au lieu d'attendre une interruption, on utilise un jeu d'instruction possédant l'instruction WFE.
Cette instruction active le MCU pour répondre à un évènement externe ou interne comme ceux
générés par une interruption. Au lieu de faire la transition de la boucle principale dans une
interruption, cependant, le MCU est réveillé par le EM2 et exécute simplement l'instruction
suivante, laquelle élimine la latence du a l'interruption. Cette approche n'est pas adaptée pour
toutes les applications, cependant elle peut être utilisée pour faire chuter la consommation à 20
uA pour 1K échantillons/s de données réceptionnées.
Figure 31 : Consommation de courant vs échantillonnage en fréquence [10]
35/48
Département MC - Service A2E
On peut voir un croissement des courbes quand la première option produit de meilleurs résultats
que les deux autres méthodes respectivement proches de 4 K d'échantillons/s pour l'option 2 et de
20 K d'échantillons/s pour la troisième. De plus ces 3 applications sont utilisables avec la
récupération d'énergie et le taux d'acquisition des données reste très faible.
Aspect sécurité
L'un des aspects tout aussi important que la consommation et la sécurité, en effet avec le
développement de l'Internet des objets, des problèmes sur la manière de protéger le volume
énorme de données transmises et stockées par les appareils connectés. Les microcontrôleurs qui
prennent en charge des algorithmes standards de cryptage, de décryptage et d'authentification
permettent d'atténuer les problèmes liés à la sécurité des données. Il devient également important
de protéger les dispositifs IoT contre des instructions pouvant révéler d'importantes informations
de sécurité, que ce soit dans le domaine privé comme le contenu de notre réfrigérateur, connaître
nos déplacements vis à vis de la multitude d'objets connectés que nous portant au quotidien, mais
aussi dans le domaine de l'industrie avec la sécurisation de code d'accès ou de projet en
développement. Des microcontrôleurs prenant en charge la protection du code, la détection
d'intrusion et d'autres fonctionnalités de sécurité avancées permettent de protéger les dispositifs
contre ces types d'attaques.
Les chapitres suivant vont traiter de différentes fonctionnalités de sécurité clefs des
microcontrôleurs à envisager pour des conceptions axées sur l'IoT.
Si l'on souhaite protéger ses données IoT, il existe plusieurs algorithmes et protocoles de sécurité
standard qui permettent de sécuriser de manières efficaces les données pendant leur transmission
et leur stockage. Certains microcontrôleurs récents intègrent ces fonctions communes sur puce.
Les fonctions les plus fréquentes sont liées au cryptage des données des messages, au décryptage
des données à l’aide d’une clef connue du seul destinataire, et à l'authentification des données du
message afin de vérifier qu’elles ne sont pas falsifiées. Ces fonctions standard forment la base de
toutes les techniques de sécurité réussies.
Fonctions de cryptage standard
Les microcontrôleurs modernes commencent à inclure des accélérateurs matériels, sous forme de
périphériques spécialisés, pour simplifier et accélérer le traitement des données sensibles pour le
stockage ou la transmission. Par exemple la gamme des PIC32MZ présente un moteur de
cryptage matériel qui accélère les fonctions de cryptage fréquentes. Le schéma fonctionnel du
moteur de cryptage est représenté sur la figure 32.
Ce microcontrôleur possède un générateur de nombre aléatoires (obtenu en utilisant de multiples
oscillateurs en anneaux et le bruit thermique du au circuit intégré [6]) pour un
chiffrement/déchiffrement optimum des données via le système moderne et renforcé AES
(Advanced Encryption Standard), plus anciens comme le DES et TDES (Triple Data Encryption
36/48
Département MC - Service A2E
Standard) ainsi que leur authentification par des algorithmes tels que MD5 (Message Digest 5) et
SHA (Secure Hash Algorithm). Ils sont gérés par la machine à états finis de cryptage à l'aide du
stockage de paquets en lecture et écriture et de données locales. Un contrôleur DMA et deux
mémoires FIFO (First In First Out) fournissent un stockage local supplémentaire pour faciliter le
traitement des données indépendant pour le processeur ce qui permet d'améliorer les
performances générales du système et libère le processeur pour gérer des fonctions de plus haut
niveau.
Figure 32 : Fonctions de cryptographie standard du MCU PIC32MZ [5]
A droite sont indiquées les performances des différents moteurs de cryptages et peuvent servir à
adapter les exigences de bande passante pour une application spécifique. Le PIC32MZ atteint
plus de 700 Mbps, même pour les algorithmes les plus complexes, ce qui en fait une solution
idéale pour des dispositifs devant envoyer des ensembles de données volumineux en temps réel
ou des dispositifs qui stockent des données.
Périphériques de sécurité
Dans certaines applications IoT, il peut s'avérer plus efficace d'utiliser un dispositif périphérique
pour gérer des fonctions de cryptages et stocker des clefs de sécurité. Cette caractéristique est
particulièrement utile si le meilleur microcontrôleur de l'application ne présente aucune fonction
de cryptage intégrée.
Par exemple l'ATSHA-204A-SSHDA-B d'Atmel fournit une authentification et une validation
sécurisée pour les opérations au niveau de l'hôte et du client. Il implante un algorithme de
hachage SHA-256 pour les normes MAC et HMAC. Un numéro de série de 72 bits unique
garanti permet de suivre les unités, tandis qu'une mémoire EEPROM de 4.5 Ko peut servir de
stockage pour les clefs et les données. Plusieurs options d'I/O permettent au dispositif de
communiquer avec un MCU à l'aide d'une interface à un fil compatible UART ou une interface
d'1 MHz compatible I²C. En mode un fil, il est possible d'alimenter le dispositif au moyen du
signal de données afin de simplifier l'utilisation dans des consommables à faible coût.
Les cartes de développement ATSHA204 ou ATAES132 équipée de connecteurs pour les
périphériques se connecte facilement à une carte d'évaluation de microcontrôleur standard afin de
créer une interface de développement efficace pouvant par exemple lutter contre la contrefaçon
37/48
Département MC - Service A2E
pour valider l'authenticité d'un client amovible, stockage de petits volumes de données de
manière sécurisée sur puce pour la configuration, l'étalonnage et l'utilisation de données ou
encore pour la vérification et la validation des mots de passe utilisateurs.
Figure 33 : Plateformes de développement pour dispositifs d'authentification par cryptage ATSHA204
d'Atmel.
Sécurisation du microcontrôleur à l'aide d'une mémoire FRAM
Une autre méthode de sécurisation est l'utilisation d'une mémoire FRAM (Ferroelectric Random
Access Memory). Cette technologie offre un accès beaucoup plus rapide en lecture et écriture à la
mémoire volatile que les technologies Flash car possible de stocker toutes les données
opérationnelles sur une mémoire FRAM non volatile sans altérer les performances, les données
sensibles devant être sauvegardées entre les cycles d'alimentation peuvent être gérées plus
facilement et de manière plus sûre. Seuls les programmes autorisés peuvent accéder à des
segments de mémoire spécifiés, ce qui permet de protéger les données sensibles contre le piratage
et les intrusions externes. Les microcontrôleurs MSP430FR5969 de chez Texas Instrument
fournissent également un moteur d'accélération AES qui permet d'accélérer davantage le
traitement des données sécurisées.
Architecture et protection contre les intrusions fiables
Les appareils IoT corporels risquent d'être des cibles pour les intrusions matérielles puisqu'il est
plus facile d'y accéder qu’aux équipements réseaux traditionnels. Les fabricants de
microcontrôleurs ont commencé à ajouter des fonctionnalités matérielles pour faciliter la
détection et le signalement d'évènements d'intrusions pouvant indiquer un piratage.
La gamme de MCU Kinetis de Freescale (le MK21DX128 par exemple) présente un module de
détection d'intrusion dédié, il fournit un stockage de clefs sécurisé avec détection d'attaque
physique et d'intrusions internes et externes comprenant 32 octets de stockages sécurisé, jusqu'à 8
broches d'intrusion externes pouvant générer des interruptions sur un événement d'intrusion, un
registre chronologique d'intrusions qui enregistre le moment où un événement d'intrusion est
détecté.
38/48
Département MC - Service A2E
Figure 34 : Schéma fonctionnel du microcontrôleur Kinetis avec l'ajout d'un bloc dédié à la sécurité
39/48
Département MC - Service A2E
Conclusion
Les différents exemples montrent que les microcontrôleurs peuvent être spécialisés dans
différents domaines pour répondre aux problèmes que l'on peut rencontrer de manières fréquentes
au sein d'une installation. Que ce soit au niveau de la consommation, avec la puce développé par
Atmel pouvant s'alimenter avec une seule charge pendant près de 10 ans est un grand pas en
avant pour l'autonomie d'un système, couplé à cela des techniques de récupérations d'énergies
comme l'utilisation de panneaux solaires, des vibrations dû à d'autres installations proches ou un
changements de température, ou encore les améliorations du Cortex-M Cœur via les modes
EM(1,2,3,4) permettent la aussi de réduire la consommation. Tous ces détails peuvent permettre à
un système de quasiment s'auto-alimenter et donc d'augmenter sa fiabilité, coût sur le long terme.
Avec l'arrivé pressenti de l'IoT, numérisant encore plus d'appareils, la demande va être encore
plus forte. De plus avec le problème de sécurisation que peut entrainer la connexion des
systèmes, là encore les microcontrôleurs peuvent s'adapter et par l'ajout de simples composants
peuvent renforcer le niveau de sécurité d'une installation. Rendant ainsi les microcontrôleurs
utiles dans de nombreux domaines.
Pour conclure sur le stage en lui-même, il m'a permis d'évoluer au sein d'un grand groupe qu'est
ArcelorMittal, pendant 6 mois, me faisant connaître le quotidien d'un employé, le déroulement de
la fabrication de l'acier, ainsi que les infrastructures associés. Il m'a permis de travailler de façon
autonome sur un projet, répondant à un cahier des charges strictes, de connaître de nouveaux
équipements, microcontrôleurs PIC, Atmel, les différents softwares associés à leurs
programmations. De développer mes connaissances en termes de programmation au niveau des
microcontrôleurs. D'établir des schémas/cartes électriques pour l'adaptation aux exigences du
microcontrôleur.
J’ai aussi énormément appris en côtoyant de nombreuses personnes, de différentes professions et
de différents niveaux, aussi bien au niveau technique qu’humain. J’ai travaillé avec des
électriciens, des informaticiens et des techniciens de production de différents niveaux. Ceux
travaillant sur le terrain ont pu apporter leur connaissance du matériel qui peut parfois manquer.
De plus, le stage s’est bien déroulé grâce à la bonne ambiance dans le service et cela m’as permis
d’avoir une nouvelle approche du monde du travail, univers dans lequel il faudra évoluer dès à
présent.
40/48
Département MC - Service A2E
Abréviations
ADC Analog to digital Converter
ALU Arithmetic logic unit
ARM Advanced RISC Machines
ASF Atmel Software Framework
CMOS Complementary metal oxide semi-conductor
CM4 Cortex-M4
CPU Central processing unit
DAC Digital to Analog Converter
DMA Direct memory access
dsPIC Digital signal PICs
EEPROM Electrically Erasable Programmable Read Only Memory
EM2 Energy Mode 2
FIFO First In First Out
FPU Floating-Point Unit
FRAM Ferroelectric Random Access Memory
HMAC Keyed-Hash Message Authentification Code
IDC Insulation-displacement connector
I²C Inter-Integrated Circuit
I/O Input/output
JTAG Join Test Action Group
MCU Microcontroller unit
MCK Master Clock Register
MPU Memory Protection Unit
PIC Programmable Intelligent Computer
PIO Parallel Input/output
PMC Power Management Controller
ROM Read-Only Memory
RTC Real Time Clock
RTOS Real Time Operating System
SAM Smart Atmel Microcontroller
SDIV Signed Division
SRAM Static Random access memory
TBAA Buffer Amplifier Circuit
TC Timer Counter
TFMA The Fault Monitor
TIOAx Timer Counter Chanel x Input/Output Line A
TPGE Gate Pulse Generator Circuit
41/48
Département MC - Service A2E
TTL Transistor Transistor Logic
UART Universal Asynchronous Receiver Transmitter
UDIV Unsigned Division
USB Universal serial bus
WFE Wait for Event
ZCD Zero Crossing Detector
42/48
Département MC - Service A2E
Bibliographie
[1] An introduction to the ARM Cortex-M4 Processor, ARM, Mars 2011.
[2] Embedded System Market Size by application (Automotive, Industrial, Consummer
Electronics, Telecommunication, Healtcare, Military & Aerospace), By Product (Software,
Hardware) Industry Outlook Report, Regional Analysis, Application Development Potential,
Price Trends, Competitive Market Share & Forecast, 2016-2023, publié sur Gobal Market
Insights le 30 août 2016.
[3] Microchip reports record revenue in recent quarter, publié sur Bizjournals le 8 août 2016.
[4] IoT Market to Boost Scale of Multicore MCU Shipments by Staggering 1.3 Bilion Units by
2020 publié par ABI Research le 1 décembre 2015.
[5] Datasheet PIC32MZ Embedded Connectivity (EC) Family, Microchip.
[6] Datasheet Section 49. Crypto Engine and Random Number Generator (RNG), Microchip.
[7] Atmel invente une puce ARM dont l’autonomie se compte en décennies, publié par Aruco le 2
Avril 2015.
[8] Energy Harvesting Enables Ultra-Low Power Applications, publié par Ecnmag le 12
décembre 2011.
[9] Low Power Design Basics, How to Choose the Optimal Low Power MCU for Your Embedded
System, Silicon Laboratories Inc.
[10] Low Power MCUs for Energy-Harvesting Applications, Digi-Key Electronics, publié le 18
Mars 2015.
43/48
Département MC - Service A2E
ANNEXE
1 - Module SILCO
44/48
Département MC - Service A2E
2 - Déphasage des impulsions en fonctions de Vin
45/48
Département MC - Service A2E
3 - Bloc diagramme correspondant au SAM4SD32/SD16/SA16 100-pin
46/48
Département MC - Service A2E
4 - Entrée/sortie du Level Shifter
5 - Schéma électrique d'un circuit d'adaptation + Level Shifter et carte Xplained
Pro
47/48
Département MC - Service A2E
6 - Schéma électrique du SAM4S-100 broches
7 - Photo d'une carte TPGE et TBAA
48/48
Département MC - Service A2E
8 - Photo d’un moteur au finissage
Type 2 Moteurs à courant continu en série
Induits communs, excitations indépendantes
Modèle GE MCF
Vitesse de base 200 RPM
Vitesse maxi 460 RPM
I nominal induit 7350 A*2
Tension nominale d’induit 700 V
Di/dt Max 20 In/s
Flux maxi courant d’excitation 114 A
Flux mini courant d’excitation 35 A
Surcharge 1.25 In 2 heures
Surcharge 2 In 5 s
Induit (E+F) R=1,42 L=40,5 H
Inducteur R=1,73 Ohm L=6,5 H

Más contenido relacionado

La actualidad más candente

présentation soutenance PFE 2016
présentation soutenance PFE 2016présentation soutenance PFE 2016
présentation soutenance PFE 2016Mohsen Sadok
 
ROBOT à base d'Android - Présentation PFE
ROBOT à base d'Android - Présentation PFEROBOT à base d'Android - Présentation PFE
ROBOT à base d'Android - Présentation PFEHoussem Eddine LASSOUED
 
Conception et réalisation d’un polysomnographe à base d’une carte Arduino
Conception et réalisation d’un polysomnographe à base d’une carte ArduinoConception et réalisation d’un polysomnographe à base d’une carte Arduino
Conception et réalisation d’un polysomnographe à base d’une carte ArduinoYacine Triki
 
Rapport de stage
Rapport de stageRapport de stage
Rapport de stageIḾen La
 
Presentation de projet en Automatiqie (regulation par PID)
Presentation de projet en Automatiqie (regulation par PID)Presentation de projet en Automatiqie (regulation par PID)
Presentation de projet en Automatiqie (regulation par PID)Mohammed Boujida
 
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATUREARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATUREHajer Dahech
 
Tp informatique industrielle
Tp informatique industrielleTp informatique industrielle
Tp informatique industrielleHajer Dahech
 
Rapport stage :Diagnostic et Maintenance Automobile
Rapport stage :Diagnostic et Maintenance AutomobileRapport stage :Diagnostic et Maintenance Automobile
Rapport stage :Diagnostic et Maintenance AutomobileYounesSALEK1
 
SE1 - CM Composants - De la diode à l'ADI
SE1 - CM Composants - De la diode à l'ADISE1 - CM Composants - De la diode à l'ADI
SE1 - CM Composants - De la diode à l'ADIPierre Maréchal
 
Rapport de stage Office National des Aéroport
Rapport de stage Office National des Aéroport Rapport de stage Office National des Aéroport
Rapport de stage Office National des Aéroport HAFID Ait Bihi
 
Exercice corrigé : ETUDE D'UNE INSTALLATION SOLAIRE
Exercice corrigé : ETUDE D'UNE INSTALLATION SOLAIRE Exercice corrigé : ETUDE D'UNE INSTALLATION SOLAIRE
Exercice corrigé : ETUDE D'UNE INSTALLATION SOLAIRE RAMZI EL IDRISSI
 
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en EducationRapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en EducationMohamed Amine Mahmoudi
 
Rapport de projet commande par pid
Rapport de projet commande par pidRapport de projet commande par pid
Rapport de projet commande par pidMohammed Boujida
 
Etude d'installation électrique et réalisation de l'armoire électrique TGBT
Etude d'installation électrique et réalisation de l'armoire électrique TGBTEtude d'installation électrique et réalisation de l'armoire électrique TGBT
Etude d'installation électrique et réalisation de l'armoire électrique TGBTSadokZgolli
 
Dimensionnement d’une installation photovoltaïque raccordée au réseau
Dimensionnement d’une installation photovoltaïque  raccordée au réseauDimensionnement d’une installation photovoltaïque  raccordée au réseau
Dimensionnement d’une installation photovoltaïque raccordée au réseauRAMZI EL IDRISSI
 
Rapport de stage de perfectionnement
Rapport de stage de perfectionnementRapport de stage de perfectionnement
Rapport de stage de perfectionnementbadouuur
 
Rapport de Stage PFE 2016 ELAAMRANI OMAR
Rapport de Stage PFE 2016 ELAAMRANI OMARRapport de Stage PFE 2016 ELAAMRANI OMAR
Rapport de Stage PFE 2016 ELAAMRANI OMAROmar EL Aamrani
 

La actualidad más candente (20)

présentation soutenance PFE 2016
présentation soutenance PFE 2016présentation soutenance PFE 2016
présentation soutenance PFE 2016
 
ROBOT à base d'Android - Présentation PFE
ROBOT à base d'Android - Présentation PFEROBOT à base d'Android - Présentation PFE
ROBOT à base d'Android - Présentation PFE
 
lignes_et_cables.pdf
lignes_et_cables.pdflignes_et_cables.pdf
lignes_et_cables.pdf
 
Conception et réalisation d’un polysomnographe à base d’une carte Arduino
Conception et réalisation d’un polysomnographe à base d’une carte ArduinoConception et réalisation d’un polysomnographe à base d’une carte Arduino
Conception et réalisation d’un polysomnographe à base d’une carte Arduino
 
Rapport de stage
Rapport de stageRapport de stage
Rapport de stage
 
Presentation de projet en Automatiqie (regulation par PID)
Presentation de projet en Automatiqie (regulation par PID)Presentation de projet en Automatiqie (regulation par PID)
Presentation de projet en Automatiqie (regulation par PID)
 
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATUREARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
 
Tp informatique industrielle
Tp informatique industrielleTp informatique industrielle
Tp informatique industrielle
 
Rapport de stage
Rapport de stage Rapport de stage
Rapport de stage
 
Rapport stage :Diagnostic et Maintenance Automobile
Rapport stage :Diagnostic et Maintenance AutomobileRapport stage :Diagnostic et Maintenance Automobile
Rapport stage :Diagnostic et Maintenance Automobile
 
Le grafcet
Le grafcet Le grafcet
Le grafcet
 
SE1 - CM Composants - De la diode à l'ADI
SE1 - CM Composants - De la diode à l'ADISE1 - CM Composants - De la diode à l'ADI
SE1 - CM Composants - De la diode à l'ADI
 
Rapport de stage Office National des Aéroport
Rapport de stage Office National des Aéroport Rapport de stage Office National des Aéroport
Rapport de stage Office National des Aéroport
 
Exercice corrigé : ETUDE D'UNE INSTALLATION SOLAIRE
Exercice corrigé : ETUDE D'UNE INSTALLATION SOLAIRE Exercice corrigé : ETUDE D'UNE INSTALLATION SOLAIRE
Exercice corrigé : ETUDE D'UNE INSTALLATION SOLAIRE
 
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en EducationRapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
 
Rapport de projet commande par pid
Rapport de projet commande par pidRapport de projet commande par pid
Rapport de projet commande par pid
 
Etude d'installation électrique et réalisation de l'armoire électrique TGBT
Etude d'installation électrique et réalisation de l'armoire électrique TGBTEtude d'installation électrique et réalisation de l'armoire électrique TGBT
Etude d'installation électrique et réalisation de l'armoire électrique TGBT
 
Dimensionnement d’une installation photovoltaïque raccordée au réseau
Dimensionnement d’une installation photovoltaïque  raccordée au réseauDimensionnement d’une installation photovoltaïque  raccordée au réseau
Dimensionnement d’une installation photovoltaïque raccordée au réseau
 
Rapport de stage de perfectionnement
Rapport de stage de perfectionnementRapport de stage de perfectionnement
Rapport de stage de perfectionnement
 
Rapport de Stage PFE 2016 ELAAMRANI OMAR
Rapport de Stage PFE 2016 ELAAMRANI OMARRapport de Stage PFE 2016 ELAAMRANI OMAR
Rapport de Stage PFE 2016 ELAAMRANI OMAR
 

Destacado

Rapport de projet de fin d'études - SIEMENS 2016
Rapport de projet de fin d'études - SIEMENS 2016Rapport de projet de fin d'études - SIEMENS 2016
Rapport de projet de fin d'études - SIEMENS 2016Soufiane KALLIDA
 
Rapport de stage
Rapport de stageRapport de stage
Rapport de stageCyril VAAST
 
arcelormittal Tract cce 23 janvier final 2013
arcelormittal Tract cce 23 janvier final  2013arcelormittal Tract cce 23 janvier final  2013
arcelormittal Tract cce 23 janvier final 2013denis
 
Ce extra 14 janvier2013 vfinale
Ce extra 14 janvier2013 vfinaleCe extra 14 janvier2013 vfinale
Ce extra 14 janvier2013 vfinaledenis
 
Support soutenance PFE 11 juillet 2016 - EMSI - SIEMENS - Université de Borde...
Support soutenance PFE 11 juillet 2016 - EMSI - SIEMENS - Université de Borde...Support soutenance PFE 11 juillet 2016 - EMSI - SIEMENS - Université de Borde...
Support soutenance PFE 11 juillet 2016 - EMSI - SIEMENS - Université de Borde...Soufiane KALLIDA
 
Rapport_ZERHOUNI_OSMOSEIII
Rapport_ZERHOUNI_OSMOSEIIIRapport_ZERHOUNI_OSMOSEIII
Rapport_ZERHOUNI_OSMOSEIIItaoufik Zerhouni
 
Introduction au Cloud Computing
Introduction au Cloud Computing Introduction au Cloud Computing
Introduction au Cloud Computing FICEL Hemza
 
Rapport de stage centre d'affaire AWB
Rapport de stage centre d'affaire AWB Rapport de stage centre d'affaire AWB
Rapport de stage centre d'affaire AWB Wadiaa Piczo
 
Rapport de stage Fiduciaire3
Rapport de stage Fiduciaire3Rapport de stage Fiduciaire3
Rapport de stage Fiduciaire3Rapport de Stage
 
Mémoire Master I Pauline Duval - La QVT et la conduite du changement
Mémoire Master I  Pauline Duval - La QVT et la conduite du changementMémoire Master I  Pauline Duval - La QVT et la conduite du changement
Mémoire Master I Pauline Duval - La QVT et la conduite du changementPauline DUVAL
 
Malfaçons de la construction : les principaux défauts de la maçonnerie d'une ...
Malfaçons de la construction : les principaux défauts de la maçonnerie d'une ...Malfaçons de la construction : les principaux défauts de la maçonnerie d'une ...
Malfaçons de la construction : les principaux défauts de la maçonnerie d'une ...LAMY Expertise
 
Packaging Emballage et conditionnement
Packaging Emballage et conditionnement  Packaging Emballage et conditionnement
Packaging Emballage et conditionnement souka ina
 
Aide emballage-et-conditionnement
Aide emballage-et-conditionnementAide emballage-et-conditionnement
Aide emballage-et-conditionnementculture05
 

Destacado (20)

Présentation EDF
Présentation EDFPrésentation EDF
Présentation EDF
 
Rapport de projet de fin d'études - SIEMENS 2016
Rapport de projet de fin d'études - SIEMENS 2016Rapport de projet de fin d'études - SIEMENS 2016
Rapport de projet de fin d'études - SIEMENS 2016
 
Rapport de stage
Rapport de stageRapport de stage
Rapport de stage
 
Rapport de stage Lafarge
Rapport de stage LafargeRapport de stage Lafarge
Rapport de stage Lafarge
 
arcelormittal Tract cce 23 janvier final 2013
arcelormittal Tract cce 23 janvier final  2013arcelormittal Tract cce 23 janvier final  2013
arcelormittal Tract cce 23 janvier final 2013
 
Ce extra 14 janvier2013 vfinale
Ce extra 14 janvier2013 vfinaleCe extra 14 janvier2013 vfinale
Ce extra 14 janvier2013 vfinale
 
Présentation EDF
Présentation EDFPrésentation EDF
Présentation EDF
 
Support soutenance PFE 11 juillet 2016 - EMSI - SIEMENS - Université de Borde...
Support soutenance PFE 11 juillet 2016 - EMSI - SIEMENS - Université de Borde...Support soutenance PFE 11 juillet 2016 - EMSI - SIEMENS - Université de Borde...
Support soutenance PFE 11 juillet 2016 - EMSI - SIEMENS - Université de Borde...
 
EDF
EDFEDF
EDF
 
Rapport_ZERHOUNI_OSMOSEIII
Rapport_ZERHOUNI_OSMOSEIIIRapport_ZERHOUNI_OSMOSEIII
Rapport_ZERHOUNI_OSMOSEIII
 
Introduction au Cloud Computing
Introduction au Cloud Computing Introduction au Cloud Computing
Introduction au Cloud Computing
 
Rapport de stage centre d'affaire AWB
Rapport de stage centre d'affaire AWB Rapport de stage centre d'affaire AWB
Rapport de stage centre d'affaire AWB
 
Rapport de stage Fiduciaire3
Rapport de stage Fiduciaire3Rapport de stage Fiduciaire3
Rapport de stage Fiduciaire3
 
Mémoire Master I Pauline Duval - La QVT et la conduite du changement
Mémoire Master I  Pauline Duval - La QVT et la conduite du changementMémoire Master I  Pauline Duval - La QVT et la conduite du changement
Mémoire Master I Pauline Duval - La QVT et la conduite du changement
 
Malfaçons de la construction : les principaux défauts de la maçonnerie d'une ...
Malfaçons de la construction : les principaux défauts de la maçonnerie d'une ...Malfaçons de la construction : les principaux défauts de la maçonnerie d'une ...
Malfaçons de la construction : les principaux défauts de la maçonnerie d'une ...
 
Fudiciare rapport
Fudiciare rapportFudiciare rapport
Fudiciare rapport
 
Les detecteurs tout ou rien
Les detecteurs tout ou rienLes detecteurs tout ou rien
Les detecteurs tout ou rien
 
Packaging Emballage et conditionnement
Packaging Emballage et conditionnement  Packaging Emballage et conditionnement
Packaging Emballage et conditionnement
 
Aide emballage-et-conditionnement
Aide emballage-et-conditionnementAide emballage-et-conditionnement
Aide emballage-et-conditionnement
 
Emballage
  Emballage  Emballage
Emballage
 

Similar a Rapport Stage

Matlab simulink partie 2
Matlab simulink partie 2Matlab simulink partie 2
Matlab simulink partie 2babaoui mohamed
 
17281795 commande-d-une-machine-a-courant-continu-a-vitesse-variable
17281795 commande-d-une-machine-a-courant-continu-a-vitesse-variable17281795 commande-d-une-machine-a-courant-continu-a-vitesse-variable
17281795 commande-d-une-machine-a-courant-continu-a-vitesse-variableMayssa Rjaibia
 
Analyse de circuits électronique de puissance.pptx
Analyse de circuits électronique de puissance.pptxAnalyse de circuits électronique de puissance.pptx
Analyse de circuits électronique de puissance.pptxNagiBrahim
 
SEND SMS WITHOUT USING AT COMMANDS
SEND SMS WITHOUT USING AT COMMANDSSEND SMS WITHOUT USING AT COMMANDS
SEND SMS WITHOUT USING AT COMMANDSKhalil Chortani
 
Extrait du rapport pfa
Extrait du rapport pfaExtrait du rapport pfa
Extrait du rapport pfaOUSSA Mohamed
 
diffrents cas de trains epicycloidalaux TD_Train_epi_ v9.pdf
diffrents cas de trains epicycloidalaux TD_Train_epi_ v9.pdfdiffrents cas de trains epicycloidalaux TD_Train_epi_ v9.pdf
diffrents cas de trains epicycloidalaux TD_Train_epi_ v9.pdfsedmorabet
 
14aGE- TRA-TFP-TFD Dimensionnement et essais.pdf
14aGE- TRA-TFP-TFD Dimensionnement et essais.pdf14aGE- TRA-TFP-TFD Dimensionnement et essais.pdf
14aGE- TRA-TFP-TFD Dimensionnement et essais.pdfTackoKanoute
 
Corrigé de l’examen de passage à la 2 ème année 2006 TS ESA Théorique
Corrigé de l’examen de passage à la 2 ème année 2006 TS ESA ThéoriqueCorrigé de l’examen de passage à la 2 ème année 2006 TS ESA Théorique
Corrigé de l’examen de passage à la 2 ème année 2006 TS ESA ThéoriqueRAMZI EL IDRISSI
 
Calcul section-cable-eclairagepublic
Calcul section-cable-eclairagepublicCalcul section-cable-eclairagepublic
Calcul section-cable-eclairagepublicIlyas Assadiki
 
10-CEMdesConvertisseurs-GAUTIER-ENSCachan (1).pdf
10-CEMdesConvertisseurs-GAUTIER-ENSCachan (1).pdf10-CEMdesConvertisseurs-GAUTIER-ENSCachan (1).pdf
10-CEMdesConvertisseurs-GAUTIER-ENSCachan (1).pdfKawtarBz1
 
Polycopié Electronique de puissance avec Matlab Simulink.pdf
Polycopié Electronique de puissance avec Matlab Simulink.pdfPolycopié Electronique de puissance avec Matlab Simulink.pdf
Polycopié Electronique de puissance avec Matlab Simulink.pdfYoussefOumhella
 
Le moteur asynchrone_triphase
Le moteur asynchrone_triphaseLe moteur asynchrone_triphase
Le moteur asynchrone_triphaseYousef Jalti
 
Rapport tp matlab babaoui arrakiz
Rapport tp matlab babaoui arrakizRapport tp matlab babaoui arrakiz
Rapport tp matlab babaoui arrakizbabaoui mohamed
 
Les actionneurs-et-les-capteurs-www.cours-online.com
Les actionneurs-et-les-capteurs-www.cours-online.comLes actionneurs-et-les-capteurs-www.cours-online.com
Les actionneurs-et-les-capteurs-www.cours-online.commorin moli
 

Similar a Rapport Stage (20)

Matlab simulink partie 2
Matlab simulink partie 2Matlab simulink partie 2
Matlab simulink partie 2
 
17281795 commande-d-une-machine-a-courant-continu-a-vitesse-variable
17281795 commande-d-une-machine-a-courant-continu-a-vitesse-variable17281795 commande-d-une-machine-a-courant-continu-a-vitesse-variable
17281795 commande-d-une-machine-a-courant-continu-a-vitesse-variable
 
Rapport de sujet BTS 1.0
Rapport de sujet BTS 1.0Rapport de sujet BTS 1.0
Rapport de sujet BTS 1.0
 
Analyse de circuits électronique de puissance.pptx
Analyse de circuits électronique de puissance.pptxAnalyse de circuits électronique de puissance.pptx
Analyse de circuits électronique de puissance.pptx
 
SEND SMS WITHOUT USING AT COMMANDS
SEND SMS WITHOUT USING AT COMMANDSSEND SMS WITHOUT USING AT COMMANDS
SEND SMS WITHOUT USING AT COMMANDS
 
Extrait du rapport pfa
Extrait du rapport pfaExtrait du rapport pfa
Extrait du rapport pfa
 
diffrents cas de trains epicycloidalaux TD_Train_epi_ v9.pdf
diffrents cas de trains epicycloidalaux TD_Train_epi_ v9.pdfdiffrents cas de trains epicycloidalaux TD_Train_epi_ v9.pdf
diffrents cas de trains epicycloidalaux TD_Train_epi_ v9.pdf
 
Yapsc Manuel
Yapsc ManuelYapsc Manuel
Yapsc Manuel
 
14aGE- TRA-TFP-TFD Dimensionnement et essais.pdf
14aGE- TRA-TFP-TFD Dimensionnement et essais.pdf14aGE- TRA-TFP-TFD Dimensionnement et essais.pdf
14aGE- TRA-TFP-TFD Dimensionnement et essais.pdf
 
Corrigé de l’examen de passage à la 2 ème année 2006 TS ESA Théorique
Corrigé de l’examen de passage à la 2 ème année 2006 TS ESA ThéoriqueCorrigé de l’examen de passage à la 2 ème année 2006 TS ESA Théorique
Corrigé de l’examen de passage à la 2 ème année 2006 TS ESA Théorique
 
5225349.pdf
5225349.pdf5225349.pdf
5225349.pdf
 
Calcul section-cable-eclairagepublic
Calcul section-cable-eclairagepublicCalcul section-cable-eclairagepublic
Calcul section-cable-eclairagepublic
 
Presentation_Roni
Presentation_RoniPresentation_Roni
Presentation_Roni
 
10-CEMdesConvertisseurs-GAUTIER-ENSCachan (1).pdf
10-CEMdesConvertisseurs-GAUTIER-ENSCachan (1).pdf10-CEMdesConvertisseurs-GAUTIER-ENSCachan (1).pdf
10-CEMdesConvertisseurs-GAUTIER-ENSCachan (1).pdf
 
Polycopié Electronique de puissance avec Matlab Simulink.pdf
Polycopié Electronique de puissance avec Matlab Simulink.pdfPolycopié Electronique de puissance avec Matlab Simulink.pdf
Polycopié Electronique de puissance avec Matlab Simulink.pdf
 
Poly ep
Poly epPoly ep
Poly ep
 
Moteur à courant continu v2k5
Moteur à courant continu v2k5Moteur à courant continu v2k5
Moteur à courant continu v2k5
 
Le moteur asynchrone_triphase
Le moteur asynchrone_triphaseLe moteur asynchrone_triphase
Le moteur asynchrone_triphase
 
Rapport tp matlab babaoui arrakiz
Rapport tp matlab babaoui arrakizRapport tp matlab babaoui arrakiz
Rapport tp matlab babaoui arrakiz
 
Les actionneurs-et-les-capteurs-www.cours-online.com
Les actionneurs-et-les-capteurs-www.cours-online.comLes actionneurs-et-les-capteurs-www.cours-online.com
Les actionneurs-et-les-capteurs-www.cours-online.com
 

Rapport Stage

  • 1. Département MC - Service A2E Rapport de stage de fin d'études Numérisation Industrielle LOMBART Thierry Master Electronique, Système et Télécommunication Université de Nice Sophia-Antipolis 2014-2016
  • 2. 2/48 Département MC - Service A2E Sommaire Présentation d'ArcelorMittal 3 -Le site de Fos-Sur-Mer 3 -Service d'accueil 3 Présentation du projet 5 -Présentation des cartes étudiées 5 -Informations complémentaire sur le train à bande 5 -Fonctionnements des cartes 6 -Réalisation de la nouvelle carte 10 -Les PIC: Tests et résultats 11 -Microcontrôleur SAM4S 13 -Cortex-M4 15 -Carte Xplained Pro 17 -Programmation 18 -Buffer 20 -Configuration d'ADC 20 -Fonction Zero Crossing detector 20 -Utilisation des Timer 21 -Fonction déphasage 23 -Interruption 25 -Carte d'adaptation 26 -Adaptation en aval du microcontrôleur 26 -Adaptation en amont du microcontrôleur 28 -Travail restant à faire 30 Industrialisation futur 31 -Aspect consommation 32 -Aspect sécurité 35 Conclusion 39 Abréviations 40 Bibliographie 42 Annexe 43
  • 3. 3/48 Département MC - Service A2E Présentation d'ArcelorMittal ArcelorMittal est un groupe sidérurgique mondial, il est le plus important producteur d'acier au monde, il produit acier, aciers plats, aciers longs, acier inoxydable, câbles et tôle forte, servant à la construction (stade de Geoffroy Guichard à Saint-Étienne), emballage alimentaire destiné à la réalisation des cannettes et des conserves, automobile (caisse en blanc, carrosserie, essuie-glaces...) et différents appareils électroménagers. Avec 98,088 millions de tonnes produites en 2014. Le groupe est présent dans 60 pays et regroupe 230 000 salariés dans le monde. Le site de Fos-sur-Mer : L’usine de Fos-sur-Mer a été créée en 1971. L’usine est bâtie sur une surface de 1600 hectares (4 km par 4 km) dont seuls 600 sont occupés par les installations industrielles Le site emploie 2500 salariés et 1500 sous-traitants, ce qui en fait le deuxième employeur industriel du département. L'usine a une capacité de production annuelle de plus de 4 millions de tonnes d'acier, dont 120 nuances sont réalisables suivant les additions chimiques, les traitements thermiques, les procédés industriels et les modes opératoires choisis pour parvenir au produit fini, destinées aux marchés de l'automobile, de la construction et des aciers pour tubes (pipelines, gazoducs). Présentation du service d'accueil A2E : Le service A2E, automatisme électronique et électrotechnique composé de 21 personnes dont (12 techniciens et 7 cadres), il fait partie du département Maintenance Centrale. Le service a pour but l'amélioration de la fiabilité des installations : éradication des pannes, élaboration des plans de maintenance (400 équipements), définition des standards d’installation, de maintenance et d’intervention ainsi que l'internalisation de projets de rénovation d’automatismes et d’électronique de puissance.
  • 5. 5/48 Département MC - Service A2E Présentation du projet L'objectif de mon stage est de concevoir une carte numérique interface plus robuste et fiable dans le temps que les cartes analogiques présentent tout en conservant les paramètres. Présentation des cartes étudiées -Informations complémentaire sur le train à bande Le train à bande permet la transformation des brames d’acier de plusieurs centimètres d’épaisseur et atteignant un poids maximum de 38T en bobines de tôles de quelques millimètres d’épaisseur. Pour obtenir ce résultat, trois fours réchauffent les brames à 1200°C puis celles-ci passent entre une série de cylindres où elles sont laminées jusqu’à l’obtention de l’épaisseur désirée (1.2 à 16 millimètres). Elles sont ensuite enroulées en bobine. La vitesse maximale de laminage est de 97 Km/h. Chaque année 4 millions de tonnes d’acier sont laminées. L’ensemble de l’installation occupe 71000 m² dans un bâtiment de 900 m de long. Caractéristiques : - Capacité : 5 millions de tonnes par an. -Largeur des bobines : 650 < 2150 mm -Poids maxi brame : 38 T -Epaisseur : 1.2 > 16 mm Figure 1 : Schématisation du train à bande Une succession de cages dégrossisseuses et finisseuses permet d’atteindre l’épaisseur souhaitée en appliquant un effort de compression sur la brame.
  • 6. 6/48 Département MC - Service A2E Les cartes que j’ai étudiés, TPGE (Gate Pulse Generator Circuit) et TBAA (Buffer Amplifier Circuit) (Photo annexe 7) se situent au niveau de la zone du finisseur, constituant les cages des finisseuses. Elles génèrent des impulsions pour qui conduisent des thyristors, qui servent à commander 2 moteurs à courant continu en série d’une puissance de 5k Watt (annexe 8). L’annexe 1 représente le synoptique de la commande d’une cage de finisseuse, où la partie encadrée en rouge représente la carte TPGE et en vert la TBAA. -Fonctionnements des cartes La première des deux cartes est donc la carte TPGE qui comme son nom l'indique a pour but la génération d'impulsions. Elle produit un set complet d'impulsions tous les 360°, ces impulsions, identiques et nommées d'une à six sont appliquées à leurs thyristors respectifs précédant les moteurs du finissage. Une grande précision est donc de rigueur car une impulsion décalée simplement d'une centaine de microsecondes peut avoir de lourdes répercussions sur le bon fonctionnement de la carte et de la zone du finissage lui-même. Cette séquence est obtenue à partir de signaux sinusoïdaux d'un transformateur hexaphasé et d'une tension continue de commande. Figure 2 : Schéma électrique d'un bloc TPGE La carte est composée de 3 blocs identiques chacun générant deux trames d'impulsions, composé de deux impulsions comme représenté sur la figure 3. Il y'aura donc 6 trames d'impulsions en sorties de la carte TPGE.
  • 7. 7/48 Département MC - Service A2E Chaque bloc consiste en un intégrateur et un inverseur, deux détecteurs de zéro et deux amplificateurs d'impulsions Tensions d'entrées d'un bloc: -Référence de phase, un signal sinusoïdal triphasé (220 V, 50 Hz) appliqué aux trois blocs réduit à une amplitude de 29 V -Tension limite, qui est aussi un signal sinusoïdal qui est utilisé pour fournir une ligne de courant alternatif isolé du neutre, s'incrémentant de 60°, elles aussi ont une fréquence de 50 Hz pour une amplitude de 21 V. Une trame d'impulsion est composée de 2 impulsions, la première impulsion est générée lors du "Zero Crossing Detector, ZCD" de la tension limite, ainsi qu'une impulsion dite de "rappel" espacée de 3.3ms ce qui correspond à un déphasage de 60°, cette impulsion de rappel est générée de la même manière mais avec la tension limite n+1 donc déphasée elle-même de 60° par rapport à la tension limite n. Cette impulsion de rappel est une condition pour l’allumage des moteurs, car pour qu’un thyristor s’amorce il faut un ordre de gâchette et que le courant traversant le thyristor reste supérieur à un seuil pendant un certain temps. Lorsque l’on veut démarrer le moteur comme le courant est nul lorsque l’impulsion sera présente sur la gâchette du thyristor celui-ci ne pourra pas conduire puisqu’il n’y aura pas de circulation de courant. Pour pouvoir démarrer il faut donc un thyristor opposé qui s’amorce également, c’est pourquoi l’impulsion d’amorçage d’un thyristor est généré par l’impulsion qui lui est destiné ou l’impulsion du thyristor d’après. Figure 3 : Trames d’impulsion 1 et 2 Ces trois circuits partagent la même tension de commande Uc, tension continue oscillant entre -15V et +15V et entrainant un déphasage sur les impulsions en sortie jusqu'à une demi-période soit 10 ms voir, une suppression totale des impulsions pour une tension Uc inférieur à -7.5V. Le schéma de l'annexe 2 montre ce déphasage. Cette tension de commande est l’image de l’angle de retard à l’amorçage.
  • 8. 8/48 Département MC - Service A2E Figure 4 : Circuit de commande de gâchette des thyristors En sortie de la carte, l'impulsion est d'une amplitude de 13 V pour une largeur de 200us, le but de la carte suivante TBAA, est la mise en forme des impulsions. En effet en sortie les impulsions seront directement envoyées vers les thyristors. Leurs amplitudes vont donc être réduites à 5 V, et une "extension" va être ajoutée aux impulsions qui est dédiée au thyristor présent sur la figure 6. La carte TBAA est donc une carte amplificatrice d'impulsion destinée à remettre en forme et amplifier les 6 trames provenant de la carte TPGE. Elle est donc elle aussi composée de 6 étages indépendants traitants chacun une trame différente qui sert à commander un des six thyristors. Figure 5 : Schéma électrique d'un block TBAA Chaque étage est composé d'un monostable multivibrateur et de deux transistors. Cette carte est composée de trois fonction : d'un "Pulse Stretcher", "Pulse Amplifier" et d'un "Pulse Summer". Pulse Stretcher : Le monostable multivibrateur accepte les impulsions de la carte TPGE et rajoute à l'impulsion un léger surplus. Cette extension est de l’ordre de 20 us.
  • 9. 9/48 Département MC - Service A2E Cette extension est présente pour diminuer la variation de potentielle anode-cathode afin qu’elle ne soit pas trop importante et ainsi éviter que le thyristor s’amorce de manière accidentelle. Figure 6 : Extension des impulsions de l'ordre de 20us Pulse Amplifier: Une technologie TTL est utilisée avec un ensemble de 3 transistors qui vont diminués l'amplitude des trames pour retrouver une impulsion comprise entre 5 V et 0 V. Le Pulse Summer comme son nom l'indique va additionner les impulsions pour obtenir une septième trame, le "train d'impulsion" figure 7 qui est destiné à piloter une autre carte "Lockout". Figure 7 : Train d'impulsion La carte possède d'autres fonctions comme la suppression totale des 6 trames ainsi que du train d'impulsion, qui est commandé par la carte TFMA (The Fault Monitor), cette suppression est réalisée quand la carte TFMA envoie un 1 logique sur la base d’un transistor.
  • 10. 10/48 Département MC - Service A2E Réalisation de la nouvelle carte J'ai commencé par reproduire et simuler la carte TPGE, génératrice d'impulsions avec le logiciel ISIS de Proteus permettant de comprendre plus facilement son fonctionnement. Le but principal étant d'arriver à reproduire/quantifier le déphasage des impulsions par rapport à la tension de commande annexe 2. Cela passe par le calcul de la fonction de transfert du circuit. Le problème que j'ai rencontré avec cette simulation est sa précision, en effet le déphasage obtenu comparé aux vraies cartes n'était pas correct et donc rendait obsolète cette méthode. Cette reproduction hasardeuse était due à la tension de seuil des différentes diodes 1N4148. Bien que ces diodes présentes dans la librairie du logiciel il m'a été impossible de modifier la valeur de la tension de seuil, ou alors de créer un nouveau composant. Avec l'avancement de le Technologie et particulièrement l’essor considérable qu’a connu la microélectronique et notamment les techniques d’intégration, on permit l'amélioration des microcontrôleurs, permettant de faire des calculs toujours plus puissants et rapides, le tout avec un composant pas plus gros qu'une pièce d'un euro, cela ouvre la voie à la numérisation des anciennes structures. Offrant par exemple une diminution de la taille d'une carte, une augmentation de sa robustesse, de sa fiabilité, supprimant quasiment toutes pannes possibles par rapport à un système analogique, réduisant ainsi l'argent alloué à ce type de structure. C'est la solution visant à sécuriser et améliorer le rendement d'une usine. Certaines entreprises comme Arcelor-Mittal possèdent encore énormément de systèmes analogiques anciens, par exemple les cartes sur lesquels j'ai travaillé date d'avant 1990 et on donc bien besoin d'un coup de neuf. Pour cela les microcontrôleurs sont l'une des solutions, un microcontrôleur (ou MCU pour microcontroller unit) peuvent être résumé comme étant un petit ordinateur avec un seul circuit intégré contenant un processeur, une mémoire et des périphériques d'entrées et de sorties programmables. Une mémoire programmable sous forme de RAM, Flash ou ROM est souvent incluse sur la puce. Les microcontrôleurs sont conçus pour les applications embarquées, contrairement aux microprocesseurs qui sont des CPU (Central Processing Unit) utilisés dans les ordinateurs personnels ou d'autres applications à usage général. Les microcontrôleurs sont utilisés dans les produits et appareils à contrôle automatique, tels que les systèmes de contrôle de moteur d'automobile, des appareils médicaux implantables, télécommandes, machines de bureau, les appareils électroménagers, les outils électriques, les jouets et autres systèmes embarqués. En réduisant la taille et le coût par rapport à une fabrication séparée qui utilise un des dispositifs à microprocesseur, une mémoire et des entrées/sorties distinctes, les microcontrôleurs permettent de commander numériquement encore plus d'appareils et de procédés.
  • 11. 11/48 Département MC - Service A2E La numérisation des deux cartes se fera par l'utilisation d'un microcontrôleur, reste maintenant à définir les besoins pour sa sélection. Les premiers essais ont été faits à partir des microcontrôleurs PIC (Programmable Intelligent Computer), pour finalement travailler sur la carte de développement Xplained Pro, avec comme microcontrôleur un SAM4S de chez Atmel. PIC: Tests et résultats Le logiciel ISIS étant néanmoins puissant, il est un des rares logiciels à proposer la possibilité de simuler certains microcontrôleurs de première gamme, en l'occurrence des PIC du fabricant Microchip. J'ai utilisé des PIC de la famille 8-bits, particulièrement des PIC16F (F pour l'utilisation d'une mémoire Flash) tel le 16F887, pour commencer la programmation. Le 16F887 est donc un microcontrôleur 8 bits, avec 40 broches comprenant 36 entrées/sorties dont 14 peuvent être utilisées comme canaux pour l'ADC et opère dans une échelle de tension de 2 à 5.5V. Avec une vitesse d'opération maximal de 20 MHz et d'une taille de mémoire de 14KB, rajouter à cela un faible coût et un kit de debugger pickit2. J'ai utilisé le compilateur MikroC Pro pour PIC, car facilement accessible et pensé spécialement pour la programmation des PIC. La programmation se faisait en langage C, le compilateur générant un fichier .hex qui était directement implanté dans le microcontrôleur simulé avec ISIS. La facilité de prise en main, sa flexibilité au niveau de la programmation ainsi que son implantation rapide au sein du logiciel de simulation, m'a permis de programmer le microcontrôleur pour faire l'acquisition et le traitement des signaux analogiques grâce au module ADC sur 10 bits. Je me suis aidé de différents cours et exemples trouvés sur internet et particulièrement ce de BIGONOFF fortement utile pour débuter. Comme présent sur les premiers signaux figure 8, la génération d'une trame se faisait correctement tout en respectant les largeurs d'impulsions et la durée d'attente de l'impulsion de rappel de 3.3ms. On peut néanmoins s'apercevoir que l'impulsion à un retard non négligeable sur le passage en "zéro" de l'impulsion.
  • 12. 12/48 Département MC - Service A2E Figure 8 : Simulation de trame sous ISIS De plus avec l'ajout des autres acquisitions et générations d'impulsions on peut s'apercevoir que certaines impulsions se déformaient figure 9, dues à un temps de monté important ou alors ni plus ni moins à non-génération des impulsions. Figure 9 : Absences/déformations d'impulsions Cela mais en évidence un point important de ce type de microcontrôleur, de la famille des midde-range qui est leur fréquence maximum à laquelle ils peuvent travailler. En effet cette famille peut être cadencée jusqu'à 20 MHz, ce qui certes, avec ce code pas optimisé, est une fréquence insuffisante pour l'utilisation souhaitée. Il a donc fallu voir plus "grand" avec des microcontrôleurs pouvant tourner plus rapidement. Un choix possible était les dsPIC30/dsPIC33F/dsPIC33E toujours de chez Microchip. Les dsPIC (digital signal PICs) sont adaptés aux applications de traitement du signal, permettant par exemple de faire du contrôle vectoriel de moteur, des filtres de type IIR/FIR, la possibilité d'accéder à des blocksets pour MATLAB Simulink permettant de générer du code pour tous les périphériques des dsPIC30 et dsPIC33
  • 13. 13/48 Département MC - Service A2E Choix de la carte test Pour le choix du microcontrôleur qui devait être assez rapide pour faire l'acquisition des 6 tensions sinusoïdes, de la tension de commande et générer les impulsions par la suite. J'ai fait mes recherches à partir des deux gros constructeurs de microcontrôleur que sont Microchip et Atmel. La carte de développement associé au MCU doit être aussi prise en compte, par rapport à sa taille, sa facilité d’intégration au projet, son prix, etc... Le choix de la carte de développement c'est finalement porté sur la Xplained Pro avec comme type de microcontrôleur un SAM4S (Smart Atmel Microcontroller), doté d'une architecture Harvard ARMv7E-M, et d'un cœur Cortex-M4. Le SAM4S a été développé à partir de 2011 et fait partie de la série des SAM4 comprenant d'autres microcontrôleurs comme le SAM4E (2013) basé sur un cœur Cortex-M4F, premier MCU d'Atmel intégrant un Floating-Point Unit (FPU) qui est une part du système spécialement désigné pour réaliser des opérations comportant des nombres flottant, ou le SAM4C (2014) possédant un double cœur. La raison première de ce choix et tout simplement le prix, en effet nous avons pu par l'intermédiaire d'une connaissance au sein de l'entreprise obtenir la carte gratuitement avec un délai de livraison très rapide. Microcontrôleur SAM4S Les microcontrôleurs de la série SAM4 sont donc composés d'un processeur Cortex-M4. Il y a près d'une quinzaine de dériver du SAM4S. Le MCU que j'utilise est l'ATSAM4SD32C qui est le plus "complet" des microcontrôleurs de la série des SAM4S (La première lettre après le S correspond à la mémoire, D pour dual-bank Flash, A pour une simple Flash, suivit du nombre de bits et du nombre de broches : A pour 48, B pour 64 et C pour 100 broches). Malgré ces différences, la structure reste quasiment similaire pour les MCU, voir en annexe 3 le bloc diagramme correspondant au SAM4SD32. Les avantages du microcontrôleur du SAM4S sont -La rapidité de traitement des données avec une fréquence maximum de 120 MHz ce qui nous permettra d'assurer un temps de montée élevé pour les impulsions. - Un ADC (Analog Digital Converter) 12 bits (4095 niveaux) travaillant à une vitesse d'acquisition 1 000 000 échantillons / secondes (1 MSPS) avec 16 entrées - Six générateurs d'impulsions automatiques (durée configurable de 100 ns à plusieurs ms) grâce aux différents Timers Counter et leurs registres. - L'ADC et les générateurs d'impulsions peuvent fonctionner de manière autonome, c'est-à-dire sans aucune intervention du CPU, ce qui permet au CPU de traiter les données venant de l'ADC.
  • 14. 14/48 Département MC - Service A2E - Une taille de 2 MB de mémoire flash et 160 KB pour la SRAM et d'un cache intégré de 2MB. Sa consommation est faible, de l'ordre de 200uA/MHz pendant son fonctionnement même si la consommation n'est pas un point critique de ce projet. -100 broches dont 79 pouvant être utilisées comme entrées/sorties, le microcontrôleur s'alimentant en 5V par USB ou par une tension externe entre 1.6V et 3.6 V. C'est d'ailleurs un défaut, car les tensions de sorties ne pourront pas être supérieur à une tension de 3.3V, il faudra donc les amplifier pour retomber sur du 5V. Périphériques SAM4S Quelques périphériques standards du SAM4S que j'ai dû utiliser tels que les Timer, ADC, expliqué dans les chapitres suivants, ainsi que : -DMA controller Direct memory access (DMA) qui est utilisé pour les transmissions de données ente les périphériques et la mémoire, ainsi que de la mémoire à la mémoire à une vitesse élevée. Les données peuvent être rapidement déplacées par le DMA sans l'action du CPU ce qui permet aux ressources du CPU de rester libre pour d'autres opérations. -DAC unit Le module DAC (Digital to Analog Converter) est sur 12 bits, il dispose de deux sorties analogiques, pouvant être conduit comme deux canaux indépendants qu'ils peuvent être utilisés conjointement avec le DMA contrôleur. -Watchdog unit Le watchdog est utilisé pour empêcher le système d'être enfermé par exemple si le programme tombe dans une deadlock. Il dispose d'un compteur 12 bits et peut générer un reset général ou uniquement pour le processeur. De plus, il peut être stoppé quand le processeur est en mode debugge ou repos. -PIO Controller Le PIO (parallel Input/Output). Chaque I/O peut être dédié comme une I/O générale ou peut être assignée à une fonction de l'un des périphériques embarqués. Ceci assure une optimisation efficace des broches du produit. -PMC Le PMC (Power Management Controller) optimise la consommation en contrôlant tout le système et utilisant les horloges périphériques. Le PMC activé/désactive l'horloge des entrées d'un grand nombre de périphériques et du processeur CM4
  • 15. 15/48 Département MC - Service A2E Cortex-M4 processeur Le processeur Cortex-M4 est un processeur de haute performance sur 32 bits conçu pour le marché des microcontrôleurs. Il offre de très bonnes performances de traitement combiné avec une manipulation rapide des interruptions, un système de débogage renforcé à l’aide de « breakpoint », une faible consommation d’énergie avec des modes veilles intégrés, une plateforme de sécurité robuste intégrant une unité de protection de mémoire (MPU). Figure 10 : Block diagramme d’un Cortex-M4 Cœur du Cortex-M4 Le CM4Coeur est fondé sur une architecture d'Harvard figure 11 (séparant physiquement la mémoire de données et la mémoire programme). L'accès à chacune des deux mémoires s'effectue via deux bus distincts. L'avantage d'utiliser deux bus distincts, est que l'architecture dite d'Harvard permet le transfert en simultané des données et des instructions à exécuter. Par conséquent le CPU aura accès en même temps aux instructions et aux données associées. Cette structure peut être plus rapide à technologie identique que celle de von Neumann figure 11 par exemple qui utilise une structure de stockage unique pour conserver à la fois les instructions et les données demandées ou produites par le calcul. Cependant cet avantage fait que la structure Harvard est plus complexe.
  • 16. 16/48 Département MC - Service A2E Figure 11 : Architecture von Neumann et Harvard Le cœur pipeline a trois étapes : l'instruction Fetch, l'instruction Décode et l'instruction Exécute. Le processeur va chercher l'instruction de destination de branchement lors de l'étape de décodage lui-même. Plus tard durant l'étape d'exécution, le branchement est résolu et traite l'instruction qui sera la prochaine à être exécuté. Si le branchement n'est pas fait, l'instruction suivante est déjà disponible. Si le branchement est fait alors l'instruction de branchement est mise disponible au même moment ou la décision est prise, limitant le temps de repos à un cycle [1]. Le CM4 Coeur contient un décodeur pour les instructions Thumb et Thumb-2 (extension permettant d'améliorer la densité du code et réduisant la mémoire nécessaire au programme), un ALU (Arithmetic logic unit) avec support pour des multiplications et divisions, un contrôle logique et des interfaces pour les autres composants du processeur. Le Cortex-M4 possède un registre banque et une interface pour la mémoire, 13 registres généraux, deux stacks pointeurs, un programme compteur et des registres spéciaux incluant un registre statut programmable. Le processeur Cortex-M4 est un système de mémoire mappée avec une carte à mémoire simple, fixe jusqu'à 4 gigabits d'espaces destinés à l'adressage de la mémoire, avec certaines adresses dédiées : au code (code space), SRAM (espace mémoire), aux mémoires/appareils externes et aux périphériques internes/externes. Il y a aussi une région particulière à fournir pour le fournisseur d'adressage spécifique. De plus le processeur Cortex-M4 supports des opérations de 32 bits en un seul cycle et supporte aussi des opérations signées et non signées avec les instructions SDIV (Signed divide) et UDIV (unsigned divide) qui prennent de 2 à 12 cycles, dépendant de la taille des opérandes.
  • 17. 17/48 Département MC - Service A2E Carte Xplained Pro La carte Xplained Pro figure 12 est une plateforme de développement permettant d'accéder facilement aux fonctions du SAM4SD32C. Elle possède un debugger directement implanté ce qui nous permet de la programmer avec un simple câble micro-USB via le logiciel Segger, J-Link. Des cartes d'extensions existent offrant la possibilité d'ajouter d’autres fonctionnalités à la carte comme un écran LCD. Figure 12 : Carte Xplained Pro pour SAM4SD32C
  • 18. 18/48 Département MC - Service A2E PROGRAMMATION La quasi-totalité du sujet se fera par le biais de la programmation vu que le MCU SAM4S peut le permettre. Pour programmer j'ai utilisé le logiciel IAR Embedded Workbench for ARM de chez IAR SYSTEMS. Le programme sera composé de plusieurs partie .c : -le main : dont la boucle testera le buffer de l'adc avant d'appeler la fonction ZCD. -tc_function : qui va identifier les sorties utilisés par le microcontrôleur via les Timer, l'initialisation du mode correspondant au Timer, ici le mode Waveform. -l'adc_function : identifiant les broches d'entrées, les paramètres d'initialisations de l'ADC lui-même. Ajout des librairies figure 13 nécessaires au fonctionnement du programme comme les drivers ASF (Atmel Software Framework) qui couvrent une large gamme de microcontrôleur (megaAVR, AVRXMEGA, AVR UC3 et la série des SAM). Figure 13 : Librairies nécessaires
  • 19. 19/48 Département MC - Service A2E Voici l'organigramme simpliste du programme à réaliser figure 14. Figure 14 : Organigramme La première partie est d'acquérir les six signaux analogiques et la tension de commande Uc. Pour cela j'utilise l'ADC qui retourne des valeurs numériques comprises entre 0 et 4095 qui vont être stockées dans des registres. Les valeurs contenues dans les registres vont ensuite être comparé à différents seuils, c'est la fonction ZCD qui a pour but de trouver le passage en zéro sur le sens descendant de la sinusoïde. L'information sur le sens du signal est importante pour ne pas confondre la détection du "zero crossing" (durant la phase descendante du signal) et le moment où la courbe repasse par le zéro mais en dans le sens ascendant.
  • 20. 20/48 Département MC - Service A2E Configuration du Buffer Avant de commencer à faire les conversions de nos signaux, il faut s’assurer que le buffer du DMA ne soit pas plein Figure 15 : Routine du buffer Configuration de l'ADC L'acquisition des signaux analogiques se fera par l'utilisation de l'ADC, pour cela j'ai dû configurer l'ADC_MR (Mode Register) qui regroupe les paramètres qui définissent l'ADC, je me suis aidé de la Datasheet du microcontrôleur fourni par Atmel. Quelques paramètres comme le Prescal qui permet de configurer la fréquence de l'horloge de l"adc, où 1 < fADCCKL< 22 (MHz). fADCCKL = ( (fPeripheral clock)/(Prescal +1)*2)). Avec fPeripheral clock =40MHz, il faut que Prescal prenne la valeur 0 pour avoir fADC =20MHz qui est la fréquence typique. Chaque canal possède leur propre "Statup time" qui doit être le plus faible possible, dans mon cas le startup time sera égal à 64 périodes de fADCCKL, ce qui nous donne un startup time de 3.2us. Fonction "Zero Crossing Detector" J'ai commencé par déterminer le sens de la sinusoïde pour que si l'ADC est hors de la zone du "zero crossing" on puisse extraire le sens de la pente : Si l'ADC est à une valeur très basse, 200 : alors la prochaine zone du "zéro" sera abordée de manière ascendante. Si l'ADC est à une valeur très haute, 3500 : alors la prochaine zone du "zéro" sera abordée de manière descendante.
  • 21. 21/48 Département MC - Service A2E Figure 16 : Théorie ZCD Si l'ADC est dans de la zone du "zéro" (si ADC >= seuil de détection 1970) et que l'on se trouve sur la pente descendante, on exécute l'impulsion sur la sorties n et sur la sortie (n-1) afin de générer notre impulsion de rappel, Cas particulier : si x = 1 alors l'impulsion de rappel sera exécuté sur la sortie 6. Figure 17 : Code ZCD De manière idéale, la zone de détection est centré au milieu de la sinusoïde, la zone correspond à la valeur 2048, en tenant compte de la variation de la courbe sinusoïdale dans cette zone (sin(0)), le passage se trouve entre 48.82% et 51.18% de l'échelle de l'ADC. Les seuils de l'ADC sont les valeurs 2000 (début de l'impulsion) et 2096 (fin de l'impulsion). L’utilisation des Timer On va donc utiliser les Timer Counter d'une taille de 16 bits, ceux-ci vont s'incrémenter lors de la détection du "zéro", les six sorties associés au Timer Counter (TC) peuvent générer différents types d'impulsions. Le TIOAx (Timer Counter Chanel x Input/Output Line A) est configuré comme une sortie, il comprend six canaux qui recevront une trame chacun. Le TIOB n'étant pas utilisé.
  • 22. 22/48 Département MC - Service A2E Il faut alors configurer les registres de comparaisons TC_RA, TC_RB et TC_RC, où Ra est utilisée pour contrôler les sorties TIOA, RB contrôle les sorties TIOB et RC contrôle les deux sorties. Lorsqu'un Timer Counter atteint le seuil RA, la sortie bascule à l'état haut et inversement lorsqu'il atteint le seuil RC, la sortie est mise à l'état bas. Figure 18 : Fonction Waveform, Fonctionnement Timer Il va falloir configurer ces registres pour obtenir une impulsion de 200us, pour cela RA sera initialisé à 2 et RC à 1002. Pour cela il faut prendre en compte la fréquence de l'horloge, ici j'ai choisi comme fréquence "TIMER_CLOCK2" qui correspond à diviser par 8 la fréquence du MCK, Master Clock Register qui est configuré à 40MHz. Avec cette fréquence de MCK, 1 cycle de comptage (ADCCLK période) est égal à 200ns. Le choix de la fréquence "TIMER_CLOCK2" est dû au retard de la tension continue Uc et est expliqué après. Figure 19 : Fonction associée au Timer
  • 23. 23/48 Département MC - Service A2E Cette fonction figure 21, fait le lien entre un des canaux du Timer Counter à l'une des sorties, ici le Timer Counter 0, TIOA0 sera associé à la sortie PA0 du microcontrôleur, cette association configurée par le constructeur et donnée dans la datasheet. Figure 20 : Multiplexing on PIO Controller A (PIOA) Figure 21 : Code Multiplexing on PIO Controller A (PIOA) Fonction déphasage Une partie fondamentale du projet est le déphasage des impulsions par rapport à la tension de commande Uc. Le procédé est le même que pour les sinusoïdes précédentes où l'ADC va effectuer la conversion en valeur numérique qui va induire un retard ou non. Figure 22 : Seuils de basculement de tension Uc
  • 24. 24/48 Département MC - Service A2E Pour induire ce retard, il faut jouer sur les valeurs des registres RA et RC qui correspondent aux valeurs de basculement des sorties. Nous avons vue qu'un cycle de comptage du Timer Counter est égal à 200 ns du au choix du "TIMER_CLOCK2". Ici les impulsions doivent au maximum atteindre un retard de 10 ms avant d'être supprimées, ce qui signifie que le TC doit atteindre une valeur de 50 000 cycles pour ce retard. Rappelons que les Timer Counter sont sur 16 bits soit une valeur de 65536, cela n'aurait pas été possible d'atteindre ce retard avec une fréquence plus élevée, avec le mode "TIMER_CLOCK1" où le temps d'un cycle est de 50ns (65 536 x 50 ns = 3.27 ms), d'où le choix du mode "TIMER_CLOCK2 avec certes une précision moindre, mais qui reste plus correcte avec un temps de cycle, soit une précision de 200ns soit de l'ordre 1/1000 d'une impulsion. La fonction déphasage est appelée uniquement quand la valeur de la tension de commande est inférieure à 3072. La fonction comprend une variable nommée "Delay" qui est ajouté aux valeurs contenues dans les registres RA et RC. -Si la ValeurNum est supérieurs à 1024 alors la valeur du "Delay" va être égale : Delay = ((-3072 +ValeurNum) / (-0.04096)) -si ValeurNum= 2048 => Delay =25000 cycles, multipliant cette valeur le temps de cycle de 200ns, on obtiendra alors la valeur du retard de 5ms. 3071 correspond à la valeur (max+1) que peut prendre ValeurNum 0.004096 correspond au pas, ValeurNum pouvant prendre 2048 valeurs (dans cette fonction) entre 3072 et 1024, le pas étant égal au Nombre de ValeurNum/ Nombre de cycle (2048 / 50000). -Si la valeur est maintenant inférieure ou égal à 1023, les impulsions doivent être supprimées, les valeurs contenues dans les registres RA et RC vont être forcés à 0 ne générant pas la moindre impulsion jusqu'à un changement sur la tension Uc.
  • 25. 25/48 Département MC - Service A2E Interruption Une interruption doit être implantée afin de permettre la suppression des trames en sorties lorsqu’un niveau logique haut sera envoyé sur la broche IRQ du microcontrôleur qui est dédié à cette effet. Ci-dessous la fonction de configuration des paramètres permettant l’interruption, en plaçant la sortie souhaitée à l’état bas lorsqu’un état haut est détecté. Figure 23 : Interruption d’une sortie
  • 26. 26/48 Département MC - Service A2E Hardware Adaptation en aval du microcontrôleur: Il faut en premier lieu réduire les amplitudes des sinusoïdes pour qu'elles soient compatibles avec le microcontrôleur. Les sinusoïdes seront comprises entre 3.3V et 0V. Pour cela j'ai utilisé un amplificateur opérationnel, le TL074 qui est un amplificateur couramment utilisé, car robuste et il a un faible coût d'achat. Le circuit comprend un montage suiveur permettant une adaptation d'impédance, d’un montage inverseur avec un gain idéal de 0.156 Vs = (R2/R1)*Ve avec R2 = 1540 ohm et R1=10K ohm, ce qui nous donne une sinusoïde de +/- 3.3V. Mais comme les tensions d’entrées du microcontrôleur ne doivent pas excéder les 3.3V et que j’ai effectué mes tests sur le banc de test des cartes TPGE et TBAA, et que les sinusoïdes sont générées par un transformateur que peut envoyer des tensions supérieurs au 21V, la résistance R2 sera plus petite afin de protéger le microcontrôleur d’une évaluation soudaine de la tension. A cela il faut rajouter une composante continue de 3.3V pour retrouver le signal souhaité, composante continue générée à partir d'une tension 15 V qui alimente les anciennes cartes TPGE et TBAA ainsi que leur banc de test, cette tension d'alimentation est gardé afin de rester compatible avec le banc de test. Un régulateur 7805 figure 24 est utilisé pour obtenir une tension de 5V suivit d'un diviseur de tension avec R1=3k9 ohm et R2=2k ohm, Vs = (R1/ (R1+R2))*Ve. La composante continue de 3.3V et la sinusoïde sont ensuite additionné l'une vis-à-vis de l'autre. Figure 24 : Schéma électrique LM7805 Ce circuit est utilisé car le microcontrôleur nécessite un signal très pur et stable pour opérer proprement. De plus si la tension de sortie chute, le LM7805 va injecter plus de courant, forçant ainsi la tension de sortie à revenir à 5V. Donc, le LM7805 contrôle la tension de sortie et la garde à 5V, car le microcontrôleur requière un signal très propre, des condensateurs entre les broches Vdd et Vss sont placées pour filtrer les distorsions causées par le circuit lui-même. Ce 5V servira aussi à alimenter la carte de développement.
  • 27. 27/48 Département MC - Service A2E Le même circuit est réalisé pour l'adaptation de la tension de commande UC comprise entre +/- 15V pour son adaptation en 0/3.3V. Ce montage est répété six fois pour les six sinusoïdes. L'amplificateur inverseur est préféré à un amplificateur non-inverseur car plus stable. C'est la raison pour laquelle la génération d'impulsions se fait sur le sens descendant de la courbe et non ascendant. Les sinusoïdes d'entrées de la carte électronique et celle en sortie qui iront directement au microcontrôleur, sont déphasées de 180° les unes par rapport aux autres. Pour respecter la génération des impulsions, au passage du "zéro" dans le sens ascendant des premières sinusoïdes, il faudra alors générer l'impulsion non plus sur le sens ascendant mais sur le sens descendant. La figure 25 montre la simulation de cette adaptation. Figure 25 : Simulation de l’adaptation des tensions de références
  • 28. 28/48 Département MC - Service A2E Adaptation en amont du microcontrôleur Comme mentionné plus haut, le microcontrôleur SAM4S fournit une tension de sortie de 3.3V. Il faut alors amplifier les impulsions pour une amplitude de 5V, pour cela j'utilise un Level Shifter, le 74LVC245A Low-Voltage CMOS figure 26. Ce circuit intégré possède 20 broches et permet donc de passer d'une amplitude d'1.5V au niveau TTL et vice versa suivant la configuration de deux pins, OE (Output Enable Input) et T/R (Transmit/Receive Input), 16 broches (A0-A7, B0-B7) sont utilisées comme entrées/sorties pour la mise à niveau de 8 signaux au maximum. Ce circuit a un temps de réaction très rapide, n'influant pas le temps de monté des impulsions comme on peut le voir en annexe 4. Figure 26 : Schéma des Pinout (Top View) et câblage électrique La connectible entre le banc de test (où se feront les premiers tests) et la carte électronique d'adaptation se fait par le biais de connecteurs fiches bananes directement soudés à la carte. Ce choix est du à leur robustesse et leur facilité d'intégration. Les broches de sorties où sont envoyés les trames après l'adaptation en niveau TTL par le Level Shifter sont connectées à des points test permettant la vérification des impulsions. Le schéma de la carte électronique avec un bloc d’adaptation est présent en annexe 5.
  • 29. 29/48 Département MC - Service A2E Figure 27 : Différentes connectibles utilisées Comme présent sur la figure 28, les impulsions sont bien générées au passage du "zéro" de la sinusoïde en entrée de la carte électronique, une seule impulsion est générée car je n’avais qu’un seul GBF à ma disposition. Figure 28 : Tension de référence et impulsions
  • 30. 30/48 Département MC - Service A2E Travail restant à faire Comme précisé plus haut, la pulse n'est pas totalement "carré" mais possède une extension comme montré sur la figure 6. Pour obtenir ce résultat il faut configurer le DAC du microcontrôleur combiné avec l'action d'un Timer Counter. Lorsque l'ADC détecte le zéro crossing, il déclenche un TC qui ne génère aucune impulsion sur sa sortie dédiée, ce sera le DAC "associé" qui générera le premier palier de l'impulsion, le 5V. Lorsque le TC atteint son premier "seuil numérique", il déclenche une interruption qui change le niveau du DAC pour sortir une tension d'un volt, on crée donc le deuxième palier de l'impulsion. Enfin lorsque le TC atteint son deuxième seuil, chaque TC pouvant avoir 2 seuils, l'interruption du timer est déclenchée une seconde fois et permet de mettre le signal de l'impulsion au niveau bas. L'un des problèmes que pose l'utilisation du DAC est qu'un microcontrôleur "généraliste" à rarement plus de 2 sorties DAC. Le SAM4S ne possède lui aussi que deux sorties DAC, il faudrait donc utiliser 3 microcontrôleurs pour pouvoir générer nos six trames. Pour lier les impulsions (dû à l'impulsion de rappel délivrée du coup par un autre microcontrôleur), il faut chaîner les 3 microcontrôleurs entre eux. Chaque microcontrôleur utilisant une sortie digitale directement connectée à une entrée digitale du microcontrôleur voisin. La carte de développement Xplained Pro deviendrait alors obsolète et il faudra développer une carte spécifique aux 3 microcontrôleurs. L’annexe 6 montre le schéma électrique du SAM4S, avec les régulateurs de tensions et la partie dédiée à l’USB.
  • 31. 31/48 Département MC - Service A2E Industrialisation futur L'industrie avec l'émergence constante des nouvelles technologies, a beaucoup évolué. L'utilisation des technologies d'automatisations et de contrôle on eut un grand impact sur l'industrie sur les dix dernières années. Les cartes de types analogiques sont de plus en plus vouées à disparaître au profil des microcontrôleurs et autres types de numérisations. Mais qu'en sera-t-il dans 5, 10 ou 15 ans avec par exemple l'arrivée prochaine de l'Internet des Objets (IdO) dans des grandes entreprises de types automobiles ou de distributions comme ArcelorMittal possédant des milliers d'automates et autres systèmes électroniques. Pour ces entreprises une connexion de tous ou d'une grandes parties de leurs appareils serait un vrai plus, engendrerait une meilleur prévention et suivit du matériels, réduisant ainsi le coût des nombreuses pannes. L'Internet des Objets (IdO) ou Internet of Things (IoT) représente l'extension d'internet des choses et à des lieux du monde physique. C'est un "réseau de réseaux qui permet, via des systèmes d'identification électronique normalisés et sans fil, d'identifier et de communiquer numériquement avec des objets physiques afin de pouvoir mesurer et échanger des données entre les mondes physiques et virtuels". L'IoT considéré comme le Web 3.0 va peu à peu envahir nos objets du quotidien, appareils ménagers et médicaux, capteur de température, voitures connectées, les smartwatches etc... Mais aussi dans le domaine de la santé ou du transport. Avec près de 50 milliards d'objets connectés d'ici 5 ans, représentant près de 1.3 milliard de microcontrôleurs pour l'IoT pour 2020 [4], c'est un marché extrêmement lucratif qui touche un grand marché, allant des dispositifs portés sur soi (wearables), les maisons intelligentes et le monde de l'industrie. Le marché des systèmes embarqués, quand à lui devrait atteindre la somme 258.7 milliards de dollars en 2023 grâce en parti au développement massif des IoT. C'est en effet une estimation publiée par le site Gobal Market Insights en fin août 2016 montrant l'entendu du marché [2]. Dans le même temps Microchip Technology (actuel troisième vendeur de MCU) annoncé ses résultats trimestriels pour la période de fin juin, où la compagnie affiche un nouveau revenu record de l'ordre de 799.4 millions de dollars, tout en ayant fait l'acquisition d'Atmel pour la somme de 3.56 milliards de dollars un peu plutôt cette année [3]. Mais malgré ce marché en pleine effervescence des problèmes comme la consommation d'énergie déjà bien présent dans le domaine de l'embarqué et aussi la sécurité des informations transmises car la connexion d'une multitude équipements à un réseau peut être une faille au niveau sécuritaire et avoir de grave répercussion, nous verrons comment des microcontrôleurs spécialisés proposes des solutions à ces problèmes.
  • 32. 32/48 Département MC - Service A2E Consommation des microcontrôleurs L'autonomie d'un système reste l'un des facteurs critiques pour les systèmes embarqués, comme le sont régulièrement les objets connectés. C'est d'ailleurs le but d'Atmel avec sa nouvelle gamme de microcontrôleurs SAM L21, mettant l'accent sur sa faible consommation énergétique. Certaines de ces puces pourraient fonctionner jusqu'a 10 ans avec la seule charge d'une batterie, de quoi alimenter justement le marché en plein essor de l'Internet des Objets. En effet, les microcontrôleurs 32 bits Ultra low power SAM L21 ne consomme que 35uA/MHz [7] en activité alors que les MCU faible consommation sont plus souvent situés dans une fourchette de consommation comprise entre 100 et 200 uA/MHz. La série SAM4S atteint les 200 uA/MHz en mode dynamique avec une fréquence de fonctionnement basse ; 30 mA à 120 MHz et 1uA à 1.8V en mode de secours avec l'horloge en temps réel (RTC) en fonctionnement. Pour ce faire, les MCU d'Atmel utilisent un cœur ARM Cortex M0+ cadencé à 42 MHz. En veille, les MCU SAM L21 se contentent d'une consommation inférieure à 200 nA. Cette gamme de SAM L21 s'appuie sur un système avancé de gestion des domaines d'alimentation comme le power management. Le Cortex-M0 propose des performances moins élevé, avec des tailles de mémoires moindres, mais entièrement tournée vers la frugalité énergétique, pensée pour l'Internet des Objets. Il est certes moins puissant mais il est largement capable de faire tourner des systèmes d'exploitation de type RTOS (Real Time OS) très répandus dans l'IOT. Ils peuvent être utilisés dans des détecteurs de fumée, alarmes, et d'autres systèmes dotés de capteurs. De plus la plateforme proposée par Atmel est suffisamment économe en électricité pour pouvoir s'alimenter soi-même en utilisant des techniques de récolte d’énergie (Energy Harvesting) pouvant exploiter les variations de température, les vibrations ou les rayonnement UV. Figure 29 : Anatomie d'un réseau de capteur sans fil incorporant des techniques de récoltes d'énergies [8]
  • 33. 33/48 Département MC - Service A2E Les techniques de récoltes d'énergies sont de plus en plus implantés par des grosses compagnies de production de MCU, tels que Texas Instruments, STMicroelectronics, Silicon Labs, NXP Semiconductors et Microchip Technology. Ces microcontrôleurs incluent une très faible consommation de puissance à l'état actif, un courant de veille extrêmement faible et la capacité de changer rapidement entre ces deux modes, temps de réveil (Wake-up time) car durant cette période le CPU n'effectue pas de tâches et consomme quand même de l'énergie. Puissance totale consommé = Puissance mode actif + Puissance mode veille + Puissance due au réveil, figure 30. Puissance mode actif (ou Puissance dynamique) = C * V² * f, où C est la capacitance du circuit, V la tension appliqué et f et la vitesse de transition. Figure 30 : Low Power Design [9] L'ARM Cortex-M Energy Mode 2 (EM2) et l’instruction Wait-for-Event (WFE) sont particulièrement utiles pour réduire la consommation des microcontrôleurs sur lesquels ils sont implantés. Comme son nom l'indique cette instruction permet au CPU d'attendre pour un évènement particulier, au lieu de scruter en continu. L’EM2 qui possède un mode "deep-sleep" active le microcontrôleur pour fournir un haut degré d'autonomie de fonctionnement tout en conservant une faible consommation énergétique. Les hautes fréquences d'oscillations du cœur sont mises hors tension, mais les périphériques de faible énergie continue de fonctionner à une fréquence de 32Khz ainsi que le RTC. Sous ces conditions le CPU ne tourne pas, de sorte que le MCU procède à des opérations avancées en mode veille. La consommation en EM2 est de l'ordre de 0.9 uA. Fonctions ARM Cortex-M La partie qui va suivre montre différents exemples d'économie d'énergie rapporté à l'acquisition d'échantillons/seconde que peut faire un microcontrôleur par l'intermédiaire de son module ADC utilisé pour faire l'acquisition de données analogiques, ce qui est l'une des fonctions principales de mon projet.
  • 34. 34/48 Département MC - Service A2E L'une des approches conventionnelles pour l'acquisition des données est d'activer le mode Capture de L'ADC avec un Timer et transférer les données vers le bus DMA. Prenons comme exemple le microcontrôleur "EFM32WG230F256-QFN64" de chez Silicon Labs qui propose une consommation de courant de 165uA pour une vitesse d'acquisition d'1 K échantillons/seconde et de 350uA pour 32K d'échantillons/seconde. Cette méthodes permet une bonne utilisation de l'interaction périphérique, elle n'utilise pas de microcontrôleur spécial ni d'instruction. Les résultats sont représentés en rouge sur la figure 31. La seconde option (en vert sur la figure 31) est donc l'utilisation du mode EM2 afin de garder le MCU en mode repos jusqu'à ce qu'une interruption le réveil. L'interruption peut être activée par de nombreux évènements, incluant un timer spécial qui opère pendant que le cœur est en mode EM2. Cette fonctionnalité active le microcontrôleur pour revenir à pleine vitesse en tout juste 2us. Le MCU tire un courant de repos de 0.9uA. Cela a pour but d'optimiser le temps passer en mode "Ultra-low-power" et réduit le courant requis pour une vitesse d'acquisition d'1 K échantillons/seconde à 60uA, ce qui est mieux que la première méthode. Cette technique est adaptée pour les applications commandées par interruptions, mais en fonction de circonstances particulières, il existe d'autres possibilités de réduire la consommation d'énergie. Pour la troisième méthode (en bleu sur la figure 31) le mode EM2 est aussi utilisé, mais cette fois au lieu d'attendre une interruption, on utilise un jeu d'instruction possédant l'instruction WFE. Cette instruction active le MCU pour répondre à un évènement externe ou interne comme ceux générés par une interruption. Au lieu de faire la transition de la boucle principale dans une interruption, cependant, le MCU est réveillé par le EM2 et exécute simplement l'instruction suivante, laquelle élimine la latence du a l'interruption. Cette approche n'est pas adaptée pour toutes les applications, cependant elle peut être utilisée pour faire chuter la consommation à 20 uA pour 1K échantillons/s de données réceptionnées. Figure 31 : Consommation de courant vs échantillonnage en fréquence [10]
  • 35. 35/48 Département MC - Service A2E On peut voir un croissement des courbes quand la première option produit de meilleurs résultats que les deux autres méthodes respectivement proches de 4 K d'échantillons/s pour l'option 2 et de 20 K d'échantillons/s pour la troisième. De plus ces 3 applications sont utilisables avec la récupération d'énergie et le taux d'acquisition des données reste très faible. Aspect sécurité L'un des aspects tout aussi important que la consommation et la sécurité, en effet avec le développement de l'Internet des objets, des problèmes sur la manière de protéger le volume énorme de données transmises et stockées par les appareils connectés. Les microcontrôleurs qui prennent en charge des algorithmes standards de cryptage, de décryptage et d'authentification permettent d'atténuer les problèmes liés à la sécurité des données. Il devient également important de protéger les dispositifs IoT contre des instructions pouvant révéler d'importantes informations de sécurité, que ce soit dans le domaine privé comme le contenu de notre réfrigérateur, connaître nos déplacements vis à vis de la multitude d'objets connectés que nous portant au quotidien, mais aussi dans le domaine de l'industrie avec la sécurisation de code d'accès ou de projet en développement. Des microcontrôleurs prenant en charge la protection du code, la détection d'intrusion et d'autres fonctionnalités de sécurité avancées permettent de protéger les dispositifs contre ces types d'attaques. Les chapitres suivant vont traiter de différentes fonctionnalités de sécurité clefs des microcontrôleurs à envisager pour des conceptions axées sur l'IoT. Si l'on souhaite protéger ses données IoT, il existe plusieurs algorithmes et protocoles de sécurité standard qui permettent de sécuriser de manières efficaces les données pendant leur transmission et leur stockage. Certains microcontrôleurs récents intègrent ces fonctions communes sur puce. Les fonctions les plus fréquentes sont liées au cryptage des données des messages, au décryptage des données à l’aide d’une clef connue du seul destinataire, et à l'authentification des données du message afin de vérifier qu’elles ne sont pas falsifiées. Ces fonctions standard forment la base de toutes les techniques de sécurité réussies. Fonctions de cryptage standard Les microcontrôleurs modernes commencent à inclure des accélérateurs matériels, sous forme de périphériques spécialisés, pour simplifier et accélérer le traitement des données sensibles pour le stockage ou la transmission. Par exemple la gamme des PIC32MZ présente un moteur de cryptage matériel qui accélère les fonctions de cryptage fréquentes. Le schéma fonctionnel du moteur de cryptage est représenté sur la figure 32. Ce microcontrôleur possède un générateur de nombre aléatoires (obtenu en utilisant de multiples oscillateurs en anneaux et le bruit thermique du au circuit intégré [6]) pour un chiffrement/déchiffrement optimum des données via le système moderne et renforcé AES (Advanced Encryption Standard), plus anciens comme le DES et TDES (Triple Data Encryption
  • 36. 36/48 Département MC - Service A2E Standard) ainsi que leur authentification par des algorithmes tels que MD5 (Message Digest 5) et SHA (Secure Hash Algorithm). Ils sont gérés par la machine à états finis de cryptage à l'aide du stockage de paquets en lecture et écriture et de données locales. Un contrôleur DMA et deux mémoires FIFO (First In First Out) fournissent un stockage local supplémentaire pour faciliter le traitement des données indépendant pour le processeur ce qui permet d'améliorer les performances générales du système et libère le processeur pour gérer des fonctions de plus haut niveau. Figure 32 : Fonctions de cryptographie standard du MCU PIC32MZ [5] A droite sont indiquées les performances des différents moteurs de cryptages et peuvent servir à adapter les exigences de bande passante pour une application spécifique. Le PIC32MZ atteint plus de 700 Mbps, même pour les algorithmes les plus complexes, ce qui en fait une solution idéale pour des dispositifs devant envoyer des ensembles de données volumineux en temps réel ou des dispositifs qui stockent des données. Périphériques de sécurité Dans certaines applications IoT, il peut s'avérer plus efficace d'utiliser un dispositif périphérique pour gérer des fonctions de cryptages et stocker des clefs de sécurité. Cette caractéristique est particulièrement utile si le meilleur microcontrôleur de l'application ne présente aucune fonction de cryptage intégrée. Par exemple l'ATSHA-204A-SSHDA-B d'Atmel fournit une authentification et une validation sécurisée pour les opérations au niveau de l'hôte et du client. Il implante un algorithme de hachage SHA-256 pour les normes MAC et HMAC. Un numéro de série de 72 bits unique garanti permet de suivre les unités, tandis qu'une mémoire EEPROM de 4.5 Ko peut servir de stockage pour les clefs et les données. Plusieurs options d'I/O permettent au dispositif de communiquer avec un MCU à l'aide d'une interface à un fil compatible UART ou une interface d'1 MHz compatible I²C. En mode un fil, il est possible d'alimenter le dispositif au moyen du signal de données afin de simplifier l'utilisation dans des consommables à faible coût. Les cartes de développement ATSHA204 ou ATAES132 équipée de connecteurs pour les périphériques se connecte facilement à une carte d'évaluation de microcontrôleur standard afin de créer une interface de développement efficace pouvant par exemple lutter contre la contrefaçon
  • 37. 37/48 Département MC - Service A2E pour valider l'authenticité d'un client amovible, stockage de petits volumes de données de manière sécurisée sur puce pour la configuration, l'étalonnage et l'utilisation de données ou encore pour la vérification et la validation des mots de passe utilisateurs. Figure 33 : Plateformes de développement pour dispositifs d'authentification par cryptage ATSHA204 d'Atmel. Sécurisation du microcontrôleur à l'aide d'une mémoire FRAM Une autre méthode de sécurisation est l'utilisation d'une mémoire FRAM (Ferroelectric Random Access Memory). Cette technologie offre un accès beaucoup plus rapide en lecture et écriture à la mémoire volatile que les technologies Flash car possible de stocker toutes les données opérationnelles sur une mémoire FRAM non volatile sans altérer les performances, les données sensibles devant être sauvegardées entre les cycles d'alimentation peuvent être gérées plus facilement et de manière plus sûre. Seuls les programmes autorisés peuvent accéder à des segments de mémoire spécifiés, ce qui permet de protéger les données sensibles contre le piratage et les intrusions externes. Les microcontrôleurs MSP430FR5969 de chez Texas Instrument fournissent également un moteur d'accélération AES qui permet d'accélérer davantage le traitement des données sécurisées. Architecture et protection contre les intrusions fiables Les appareils IoT corporels risquent d'être des cibles pour les intrusions matérielles puisqu'il est plus facile d'y accéder qu’aux équipements réseaux traditionnels. Les fabricants de microcontrôleurs ont commencé à ajouter des fonctionnalités matérielles pour faciliter la détection et le signalement d'évènements d'intrusions pouvant indiquer un piratage. La gamme de MCU Kinetis de Freescale (le MK21DX128 par exemple) présente un module de détection d'intrusion dédié, il fournit un stockage de clefs sécurisé avec détection d'attaque physique et d'intrusions internes et externes comprenant 32 octets de stockages sécurisé, jusqu'à 8 broches d'intrusion externes pouvant générer des interruptions sur un événement d'intrusion, un registre chronologique d'intrusions qui enregistre le moment où un événement d'intrusion est détecté.
  • 38. 38/48 Département MC - Service A2E Figure 34 : Schéma fonctionnel du microcontrôleur Kinetis avec l'ajout d'un bloc dédié à la sécurité
  • 39. 39/48 Département MC - Service A2E Conclusion Les différents exemples montrent que les microcontrôleurs peuvent être spécialisés dans différents domaines pour répondre aux problèmes que l'on peut rencontrer de manières fréquentes au sein d'une installation. Que ce soit au niveau de la consommation, avec la puce développé par Atmel pouvant s'alimenter avec une seule charge pendant près de 10 ans est un grand pas en avant pour l'autonomie d'un système, couplé à cela des techniques de récupérations d'énergies comme l'utilisation de panneaux solaires, des vibrations dû à d'autres installations proches ou un changements de température, ou encore les améliorations du Cortex-M Cœur via les modes EM(1,2,3,4) permettent la aussi de réduire la consommation. Tous ces détails peuvent permettre à un système de quasiment s'auto-alimenter et donc d'augmenter sa fiabilité, coût sur le long terme. Avec l'arrivé pressenti de l'IoT, numérisant encore plus d'appareils, la demande va être encore plus forte. De plus avec le problème de sécurisation que peut entrainer la connexion des systèmes, là encore les microcontrôleurs peuvent s'adapter et par l'ajout de simples composants peuvent renforcer le niveau de sécurité d'une installation. Rendant ainsi les microcontrôleurs utiles dans de nombreux domaines. Pour conclure sur le stage en lui-même, il m'a permis d'évoluer au sein d'un grand groupe qu'est ArcelorMittal, pendant 6 mois, me faisant connaître le quotidien d'un employé, le déroulement de la fabrication de l'acier, ainsi que les infrastructures associés. Il m'a permis de travailler de façon autonome sur un projet, répondant à un cahier des charges strictes, de connaître de nouveaux équipements, microcontrôleurs PIC, Atmel, les différents softwares associés à leurs programmations. De développer mes connaissances en termes de programmation au niveau des microcontrôleurs. D'établir des schémas/cartes électriques pour l'adaptation aux exigences du microcontrôleur. J’ai aussi énormément appris en côtoyant de nombreuses personnes, de différentes professions et de différents niveaux, aussi bien au niveau technique qu’humain. J’ai travaillé avec des électriciens, des informaticiens et des techniciens de production de différents niveaux. Ceux travaillant sur le terrain ont pu apporter leur connaissance du matériel qui peut parfois manquer. De plus, le stage s’est bien déroulé grâce à la bonne ambiance dans le service et cela m’as permis d’avoir une nouvelle approche du monde du travail, univers dans lequel il faudra évoluer dès à présent.
  • 40. 40/48 Département MC - Service A2E Abréviations ADC Analog to digital Converter ALU Arithmetic logic unit ARM Advanced RISC Machines ASF Atmel Software Framework CMOS Complementary metal oxide semi-conductor CM4 Cortex-M4 CPU Central processing unit DAC Digital to Analog Converter DMA Direct memory access dsPIC Digital signal PICs EEPROM Electrically Erasable Programmable Read Only Memory EM2 Energy Mode 2 FIFO First In First Out FPU Floating-Point Unit FRAM Ferroelectric Random Access Memory HMAC Keyed-Hash Message Authentification Code IDC Insulation-displacement connector I²C Inter-Integrated Circuit I/O Input/output JTAG Join Test Action Group MCU Microcontroller unit MCK Master Clock Register MPU Memory Protection Unit PIC Programmable Intelligent Computer PIO Parallel Input/output PMC Power Management Controller ROM Read-Only Memory RTC Real Time Clock RTOS Real Time Operating System SAM Smart Atmel Microcontroller SDIV Signed Division SRAM Static Random access memory TBAA Buffer Amplifier Circuit TC Timer Counter TFMA The Fault Monitor TIOAx Timer Counter Chanel x Input/Output Line A TPGE Gate Pulse Generator Circuit
  • 41. 41/48 Département MC - Service A2E TTL Transistor Transistor Logic UART Universal Asynchronous Receiver Transmitter UDIV Unsigned Division USB Universal serial bus WFE Wait for Event ZCD Zero Crossing Detector
  • 42. 42/48 Département MC - Service A2E Bibliographie [1] An introduction to the ARM Cortex-M4 Processor, ARM, Mars 2011. [2] Embedded System Market Size by application (Automotive, Industrial, Consummer Electronics, Telecommunication, Healtcare, Military & Aerospace), By Product (Software, Hardware) Industry Outlook Report, Regional Analysis, Application Development Potential, Price Trends, Competitive Market Share & Forecast, 2016-2023, publié sur Gobal Market Insights le 30 août 2016. [3] Microchip reports record revenue in recent quarter, publié sur Bizjournals le 8 août 2016. [4] IoT Market to Boost Scale of Multicore MCU Shipments by Staggering 1.3 Bilion Units by 2020 publié par ABI Research le 1 décembre 2015. [5] Datasheet PIC32MZ Embedded Connectivity (EC) Family, Microchip. [6] Datasheet Section 49. Crypto Engine and Random Number Generator (RNG), Microchip. [7] Atmel invente une puce ARM dont l’autonomie se compte en décennies, publié par Aruco le 2 Avril 2015. [8] Energy Harvesting Enables Ultra-Low Power Applications, publié par Ecnmag le 12 décembre 2011. [9] Low Power Design Basics, How to Choose the Optimal Low Power MCU for Your Embedded System, Silicon Laboratories Inc. [10] Low Power MCUs for Energy-Harvesting Applications, Digi-Key Electronics, publié le 18 Mars 2015.
  • 43. 43/48 Département MC - Service A2E ANNEXE 1 - Module SILCO
  • 44. 44/48 Département MC - Service A2E 2 - Déphasage des impulsions en fonctions de Vin
  • 45. 45/48 Département MC - Service A2E 3 - Bloc diagramme correspondant au SAM4SD32/SD16/SA16 100-pin
  • 46. 46/48 Département MC - Service A2E 4 - Entrée/sortie du Level Shifter 5 - Schéma électrique d'un circuit d'adaptation + Level Shifter et carte Xplained Pro
  • 47. 47/48 Département MC - Service A2E 6 - Schéma électrique du SAM4S-100 broches 7 - Photo d'une carte TPGE et TBAA
  • 48. 48/48 Département MC - Service A2E 8 - Photo d’un moteur au finissage Type 2 Moteurs à courant continu en série Induits communs, excitations indépendantes Modèle GE MCF Vitesse de base 200 RPM Vitesse maxi 460 RPM I nominal induit 7350 A*2 Tension nominale d’induit 700 V Di/dt Max 20 In/s Flux maxi courant d’excitation 114 A Flux mini courant d’excitation 35 A Surcharge 1.25 In 2 heures Surcharge 2 In 5 s Induit (E+F) R=1,42 L=40,5 H Inducteur R=1,73 Ohm L=6,5 H