Vous êtes sur la page 1sur 9

TP Systèmes Embarqués

Master1 – Automatique et Informatique Industrielle – 2018-2019


Module : Systèmes Embarqués
TP01 : Utilisation du MPLAB6.6 pour création d’un projet pour le PIC 16F84.
L’objectif de ce TP est de se familiariser avec l’environnement MPLAB, la création d’un projet,
Objectifs la création, l’assemblage et la simulation d’un programme pour le PIC16F84. Les étapes à
suivre pour la création d’un fichier (.asm) spécialement pour ce type de PIC.
Logiciel utilisé Le logiciel MPLAB6.6.
Connaissance pré- Architecture interne du PIC 16F84.
Notions de base de la programmation en assembleurs du PIC 16F84.
requise
Architecture d’un programme ASM.
Sources Cours Systèmes Embarqués de Dr. K. Messaoudi.
Tutorial MPLAB6.6

I. Objectif du TP
L’objectif de ce TP est de se familiariser avec l’environnement MPLAB, la création d’un projet, la création,
l’assemblage et la simulation d’un programme pour le PIC16F84. Dans l’annexe B1, nous avons résumé les étapes à
suivre pour la création d’un fichier (.asm) spécialement pour ce type de PIC.
II. MPLAB-IDE
II.1. L'environnement MPLAB
MPLAB est l'environnement de développement intégré Assembleur de Microchip. C’est un environnement de
développement performant, téléchargeable gratuitement à partir de l'adresse suivante : http://www.microchip.com. Il
permet d'éditer le code source (sous la forme d'un fichier texte avec l’extension .asm), de le simuler et de le débugger.
Le compilateur fournit le code objet (fichier avec extension .HEX)

Dans ce TP, nous utilisons MPLAB6.6. La première chose à faire est d’aller chercher cette version sur le site de
Microchip : http://www.Microchip.com (section «archives»). Nous pouvons également utiliser une autre version (5.x,
6.x, 7.x ou bien 8.x).
Remarque : Créez un répertoire dans un endroit où vous rangez vos data et appelez-le, par exemple TP_PIC_16F84.
II.2. Création d’un premier projet
Le logiciel MPLAB-IDE peut être lancé à partir du menu démarrer ou à partir de l’icône affiché sur le bureau. Un écran
vide avec menu et barres d’outils est affiché après quelques instants. S’il y a des fenêtres ouvertes dans le bureau de
MPLAB6.6, fermez-les toutes. Un projet dans MPLAB-IDE permet de mémoriser tout l’environnement de travail avec
la possibilité de retrouver cet environnement après chaque redémarrage. MPLAB6.6 dispose aussi d’un «Wizard» qui
permet la création automatiquement de nouveaux projets. Les étapes suivantes résument les démarches à suivre pour la
création, la simulation et l’assemblage d’un programme assembleur pour un type défini de PIC :
1. Allez dans le menu « Project » et sélectionnez « new… ». La fenêtre qui s’ouvre vous permet d’introduire le nom
du projet et le répertoire de travail du dit projet. Pour le répertoire, vous disposez du bouton « browser » qui vous
permet de pointer sur le bon répertoire (le répertoire TP_PIC_16F84 par exemple).
2. Proposer un nom pour votre nouveau premier projet (TP04_A par exemple) et choisissez le répertoire de travail.

1 © Dr. K. Messaoudi 2018/2019


TP Systèmes Embarqués

3. Cliquer sur le bouton <OK> pressé, une nouvelle fenêtre apparaît dans laquelle nous pouvons remarquer le nom
du projet (TP4_A.mcp), ainsi que l’emplacement des fichiers liés à celui-ci.

4. Commencer par la précision des paramètres importants de votre projet. Sélectionner le menu «configure→select
device», une fenêtre apparaît pour vous proposer le choix du PIC. Sélectionnez le PIC16F84 comme exemple.

La fenêtre vous montre alors, à l’aide de leds vertes ou rouges quels outils sont supportés par le PIC sélectionné.
Vous voyez donc que le simulateur intégré (MPLAB SIM) fonctionne avec ce PIC, et ainsi de même pour les
autres outils de développement disponibles chez Microchip. Une fois cliqué <OK>, la fenêtre se referme.
5. Nous allons maintenant préciser quel langage nous allons utiliser, sachant que nous travaillons en langage
d’assemblage, mais que différents compilateurs sont proposés par Microchip et d’autres sociétés. Sélectionnez le
menu «project → Select langage toolsuite». Dans la fenêtre qui s’ouvre, sélectionnez dans le menu déroulant :
«Microchip MPASM toolsuite». MPASM est en effet l’assembleur par défaut de Microchip. Dans les fenêtres
inférieures, vous voyez le nom des exécutables utilisés par MPASM. Cliquez sur <OK> pour fermer la fenêtre.

6. L’étape suivante consiste à ajouter le fichier .asm dans la fenêtre «TPA_A.mcw». Un fichier type (TP4_A.asm) est
donné dans l’annexe B2. Ce fichier contient le minimum d’information pour commencer un projet en utilisant le
PIC16F84. De préférence de copier ce fichier dans le répertoire de travail.
Pour ajouter ce fichier dans le projet, cliquez avec le bouton droit sur «source files» ensuite sélectionnez «Add».
Une fois sélectionné le fichier, le nom de celui-ci apparaît dans l’arborescence. Pour ouvrir ce fichier, la méthode

2 © Dr. K. Messaoudi 2018/2019


TP Systèmes Embarqués

la plus simple est de double-cliquer sur son nom ou bien en utilisant la méthode classique «File→Open» en
indiquant leur emplacement exact dans l’arborescence.
7. Pour préciser le système de numération utilisé par défaut, sélectionnez le menu : «Project → build options →
project». Une fenêtre s’ouvre. Sélectionnez l’onglet «MPASM assembler». Cochez la case « Decimal ». Cette
option fait que tout nombre sans préfixe sera considéré comme décimal.

8. Il nous reste de faire des changements dans le programme model, suivant nos besoins et suivant l’application à
programmer. Ensuite, le MPASM serra prêt à assembler votre premier programme.
III. Réalisation d’un premier programme ASM
III.1. Création d’un programme : Nous utilisons le code assembleur d’un exercice donné dans le TD03 du même
module. Taper ce code dans l’éditeur de texte du fichier model.
#include <p16F84.inc> ; Définitions des constantes
__CONFIG _CP_OFF & _WDT_ON & _PWRTE_ON & _HS_OSC

#DEFINE al 0x0c
#DEFINE bl 0x0d
#DEFINE cl 0x0e
#DEFINE ah 0x0f
#DEFINE bh 0x10
#DEFINE ch 0x11

org 0x000 ; Adresse de départ après reset


goto main ; Adresse 0: initialiser
ORG 0x0010 ; adresse d'interruption
add16bits:
movf al,0
addwf bl,0
movwf cl
movf ah,0
btfsc STATUS,00
incf W,0
addwf bh,0
movwf ch

main:
movlw 0xFF;
movwf al ;
movlw 0x01;
movwf bl ;
movlw 0x45;
movwf ah ;
movlw 0x85;
movwf bh ;
call add16bits

goto main
END

III.2. L’assemblage du programme .asm


Le but de l’assemblage est la création du fichier (.hex). L’assemblage d’un projet peut s’effectuer de 2 façons : soit par
l’assemblage d’un fichier en appuyant sur <F10>, soit par l’assemblage de tous les fichiers de l’arborescence en
pressant sur<CTR+F10>. Etant donné que nous n’avons qu’un seul fichier dans l’arborescence, nous utiliserons <F10>.
Question 1 : Pressez la touche « F10 », et remarquer les fenêtres ouvertes. Corriger les erreurs affichées en rouge.
Commenter la fenêtre qui s’ouvre après l’assemblage du fichier (BUILD SUCCEEDED).

3 © Dr. K. Messaoudi 2018/2019


TP Systèmes Embarqués

IV. Simulation d’un programme .asm


L’intérêt d’un simulateur est de visualiser le fonctionnement du programme avant l’implémentation dans le PIC, nous
allons donc signaler à MPLAB ce que nous désirons observer.
1. Sélectionnons d’abord la mise en service du simulateur de MPLAB. Sélectionnez le menu : «Debugger → select
tool → MPLAB® Sim».
2. Sélectionnez «View → Special function registers» pour faire apparaître à l’écran les registres SFR à surveiller.
3. Allez dans le menu « View → watch » pour ajouter les variables à surveiller. Organiser les fenêtres dans l’écran
pour les surveiller en même temps.
Question 2 : Expliquer comment ajouter ou bien supprimer les noms de variables dans ces fenêtres.
4. Cliquez avec le bouton droit de la souris, puis « properties » pour indiquer le style d’affichage des valeurs, soit 8 bits
et format hexadécimal.
Utiliser les commandes suivantes pour lancer la simulation du programme .asm : <F6> → Reset ; <F7> → Step into
(avancer d’un pas dans le programme) ; <F8> → Step over (idem, mais un appel de sous-programme est exécuté en une
fois au lieu d’entrer à l’intérieur).
Question 3 : Lancer l’opération de simulation et observer les étapes de saut d’une instruction à une autre. Observer les
valeurs des SFR et des variables.
V. Travail Personnel : Soit le programme .asm pour le PIC16F84
1. Donner le résultat d’exécution de chaque instruction, en indiquant à chaque fois l’état des flags (Z, C, DC) et le
nombre de cycles d’horloge (0/1/2 cycles) ? Tracer l’organigramme de ce programme ?
2. Expliquer le rôle de la variable «compteur» dans le programme ? Taper ce programme sous MPLAB et lancer
la simulation. Donner le résultat final d’exécution de ce programme.

#include <p16F84.inc> ; ……………………………………………………………………….……. ; ….Cycles


__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _RC_OSC ………………………...…. ; ….Cycles
; ……………………………………..……………………………..
#DEFINE a 0x0c ; ……………..……………………………………………………..
#DEFINE b 0x0d ; ………..…………………………………………………………..
#DEFINE cl 0x0e ; ………..…………………………………………………………..
#DEFINE ch 0x0f ; …………..………………………………………………………..
#DEFINE compteur 0x10 ; …………..………………………………………………………..

org 0x000 ; ……………………………………………………………………..


goto main ; ……………………………………………………………………..
org 0x0010 ; ……………………………………………………………………..
Mult16bits:
movf b,0 ; ………………………………….….………………………………. ; ….Cycles
movwf compteur ; ………………….…………………………….……………………. ; ….Cycles
movlw 0x00 ; ………………….…………………………….……………………. ; ….Cycles
saut1: addwf a,0 ; ………………….………………………….………………………. ; ….Cycles
btfsc STATUS, CF ; ………………….………………………………….………………. ; ….Cycles
incf ch,1 ; ………………….………………………………….………………. ; ….Cycles
decfsz compteur,1 ; ………………….………………………………….………………. ; ….Cycles
goto saut1 ; ………………….……………………………….…………………. ; ….Cycles
movwf cl ; ………………….…………………………….……………………. ; ….Cycles
RETURN ; ………………….…………………………………………………. ; ….Cycles

main: ; ………………………….…………………………...………………………. ; ….Cycles


movlw 0x0F ; ………………………….……………………………………………...……. ; ….Cycles
movwf a ; ………………………….…………………………………...………………. ; ….Cycles
movlw 0xF3 ; ………………………….…………………………………..………………. ; ….Cycles
movwf b ; ………………………….………………………………..…………………. ; ….Cycles
call Mult16bits ; ………………………….………………………………..…………………. ; ….Cycles
END ; ………………………….……………………………..……………………. ; ….Cycles

Compteur : …………………………………………………………………………………………………………..
…………………………………………………………………………………………………………..
Résultat final : ……………………………………………………………………………………………………………
…………………………………………………………………………………………………………..

4 © Dr. K. Messaoudi 2018/2019


TP Systèmes Embarqués

Master1 – Automatique et Informatique Industrielle – 2018-2019


Module : Systèmes Embarqués
TP05 : Réalisation d’un système à base de PIC16F84 sous Proteus - ISIS7.7.
Installation du Logiciel ISIS7.7 et Création du premier projet sous ISIS7.7 ;
Objectifs Réalisation d’un circuit à base du PIC16F84.
Simulation d’un programme .asm pour PIC16F84 sous ISIS7.7.
Logiciel utilisé Le logiciel ISIS7.7.
Connaissance pré- Notions de base de la programmation assembleur pour PIC16F84 ;
requise Architecture interne du PIC16F84.
Sources Cours Systèmes Embarqués de Dr. K. Messaoudi.
Tutorial du logiciel ISIS7.7.
I. Le logiciel Proteus ISIS
Proteus est une suite logicielle, développée par la société Labcenter Electronics, destinée à l'électronique. Proteus
possède plusieurs avantages :
➢ Pack contenant des logiciels facile et rapide à comprendre et à utiliser ;
➢ Le support technique est performant ;
➢ L'outil de création de prototype virtuel permet de réduire les coûts
matériel et logiciel lors de la conception d'un projet ;
➢ Deux logiciels principaux composent cette suite logicielle: ISIS et ARES.
1.1. Le logiciel ISIS
Le logiciel ISIS de Proteus est principalement utilisé pour éditer et simuler les schémas électriques. Les deux étapes
d’édition et de simulation permetent la détection des erreurs dès l'étape de conception. Indirectement, les circuits
électriques conçus grâce à ce logiciel peuvent être utilisé dans des documentations car le logiciel permet de contrôler la
majorité de l'aspect graphique des circuits. ISIS dispose d’une bibliothèque très riche de composants électriques
(logiques et analogiques) avec même des apreils et des outils de mesure. ISIS permet aussi la création et l’ajout de
nouvelles bibliothèques de composants. L’annaxe B3 résume les différentes étapes pour la création et la simulation d’un
projet sous ISIS7.7.
1.2. Le logiciel ARES
Le logiciel ARES de proteus est un outil d'édition et de routage utilisé après les deux premières étapes d’édition et de
simulation. Un schéma électrique réalisé sur ISIS peut alors être importé sur ARES pour réaliser le PCB du circuit
électronique. ARES permet de placer les composants et de réaliser le routage automatiquement. Ce logiciel est très
utilsé par les étudiants Master2 travaillant sur des projets pratiques.
1.3. Avantage des logiciels proposés par Proteus
➢ L'application ISIS permet de générer des circuits réels, et vérifier le fonctionnement sur un circuit imprimé ou PCB ;
➢ Environnement de dessin graphique de schémas électroniques facile à utiliser et avec des outils efficaces ;
➢ Environnement de simulation avec la technologie exclusive de Proteus de modelage de systèmes virtuels(VSM) ;
➢ Interface intuitive et agréable standardisée pour les composants de Proteus ;
➢ Proteus compte d'une grande quantité de fonctions pour travailler avec des circuits électroniques. Il permet aussi
de simuler les PIC et les cartes ARDUINO presque à temps réel.
II. Travail demandé : Le travail demandé dans ce TP est partagé en deux étapes :
Etape 1 : Sous l’environnement du logiciel Proteus-ISIS7.7, éditer le schéma électronique à base de microcontrôleur
PIC16F84 donné dans la figure suivante :

C1 U1
16 17
OSC1/CLKIN RA0
15 18 R3
OSC2/CLKOUT RA1
1nF 1
RA2
X1 4
MCLR RA3
2
330
1Mhz 3
C2 RA4/T0CKI
6
RB0/INT
7 R4
RB1
1nF 8
RB2
9
RB3 330
10
RB4
11
RB5
12
RB6
13
RB7
PIC16F84A

Etape 2 : Sous l’environnement du logiciel MPLAB, éditer le programme .asm de la figure suivante. Ce programme est
réalisé spécialement pour l’application à base du PIC16F84.

5 © Dr. K. Messaoudi 2018/2019


TP Systèmes Embarqués

LIST p=16F84A ; Définition de


processeur
#include <p16F84.inc> ; Définitions des constantes
__CONFIG _CP_OFF & _WDT_ON & _PWRTE_ON & _HS_OSC

org 0x000 ; Adresse de départ après reset


goto init ; Adresse 0: initialiser

init : clrf PORTA ; Sorties portA à 0


clrf PORTB ; sorties portB à 0
bsf STATUS , RP0 ; on passe en banque 1
bcf OPTION_REG, 7 ; résistance pull-up en service
bcf TRISA , 2 ; bit 2 de TRISA à 0 = sortie
bcf STATUS , RP0 ; on repasse en banque 0

start : btfss PORTB , 2 ; tester RB2, sauter si vaut 1


bsf PORTA , 2 ; RB2 vaut 0, donc on allume la LED
btfsc PORTB , 2 ; tester RB2, sauter si vaut 0
bcf PORTA , 2 ; RB2 vaut 1, donc LE
goto start ; boucler
END ; directive fin de programme

III.Questions et partie pratique


1. Donner le rôle de chaque composant dans le schéma à base de PIC16F84. Justifier les valeurs choisies pour ces
composants ?
2. En plus des commentaires donnés dans le programme .asm, expliquer le rôle de chaque instruction ?
3. En utilisant le schéma électrique et le programme .asm, donner le cahier de charge demandé ?
4. Sous MPLAB, lancer la simulation et observer les valeurs des SFR. Compiler le programme .asm et générer le
fichier .hex.
5. Dans ISIS7.7, charger le fichier .hex dans le PIC16F84 et lancer la simulation, commenter ?
6. Sur une plaque d’essai, réaliser le montage simulé sous ISIS. Charger le programme .hex dans le PIC16F84 en
utilisant un programmateur de PIC. Exécuter l’application et commenter.
IV. Travail personnel 1
Soit le montage à base de PIC16F877 de la figure suivante. Réaliser ce montage sous ISIS7.7 et écrire un programme
.asm pour la commande des LED selon un cahier des charges proposé par vous-même. Charger le programme .hex dans
le PIC16F877 et lancer la simulation. Proposer les modifications nécessaires dans le schéma électrique pour assurer le
bon fonctionnement du système et pour protéger les composant. Expliquer le but de la simulation des schémas
électriques (ISIS) et des programmes (MPLAB) et cela avant le passage à l’implémentation matérielle.
C1

100n
U1
13 33
OSC1/CLKIN RB0/INT
X1 14
OSC2/CLKOUT RB1
34
CRYSTAL RB2
35 D1 D2 D3
2 36 LED-RED LED-RED LED-RED
RA0/AN0 RB3/PGM
3 37
C2 RA1/AN1 RB4
4 38
RA2/AN2/VREF-/CVREF RB5
5 39
RA3/AN3/VREF+ RB6/PGC
6 40
RA4/T0CKI/C1OUT RB7/PGD
100n 7
RA5/AN4/SS/C2OUT
15
RC0/T1OSO/T1CKI
8 16
RE0/AN5/RD RC1/T1OSI/CCP2
9
RE1/AN6/WR RC2/CCP1
17 D4 D5 D6
10 18 LED-RED LED-RED LED-RED
RE2/AN7/CS RC3/SCK/SCL
23
RC4/SDI/SDA
1 24
MCLR/Vpp/THV RC5/SDO
25
RC6/TX/CK
26
RC7/RX/DT
19
RD0/PSP0
RD1/PSP1
20 D7 D8 D9
21 LED-RED LED-RED LED-RED
RD2/PSP2
22
RD3/PSP3
27
RD4/PSP4
28
RD5/PSP5
29
RD6/PSP6
30
RD7/PSP7
PIC16F877A

V. Travail personnel 2 : Les mêmes questions pour le montage de la figure suivante :

R8 R6 R7
1k 1k 1k

C1 U1
13 33
OSC1/CLKIN RB0/INT
14 34
OSC2/CLKOUT RB1
1nF 1 35
MCLR/Vpp/THV RB2
36
RB3/PGM
X1 2
RA0/AN0 RB4
37
CRYSTAL 3 38
RA1/AN1 RB5
4 39
C2 RA2/AN2/VREF- RB6/PGC
5 40
RA3/AN3/VREF+ RB7/PGD
6
RA4/T0CKI D1
R9 7
RA5/AN4/SS RC0/T1OSO/T1CKI
15 R1
1nF 1k 16
RC1/T1OSI/CCP2
8 17 100
RE0/AN5/RD RC2/CCP1
9 18 LED-RED
RE1/AN6/WR RC3/SCK/SCL
10 23
RE2/AN7/CS RC4/SDI/SDA
24
RC5/SDO
25
D2
RC6/TX/CK R2
26
RC7/RX/DT
100
19 LED-RED
RD0/PSP0
20
RD1/PSP1
21
RD2/PSP2
22
D3
RD3/PSP3 R3
27
RD4/PSP4
28 100
RD5/PSP5
29 LED-RED
RD6/PSP6
30
RD7/PSP7
PIC16F877
D4
R4
100
LED-RED

D5
R5
100
LED-RED

6 © Dr. K. Messaoudi 2018/2019


TP Systèmes Embarqués

Master1 – Automatique et Informatique Industrielle – 2018-2019


Module : Systèmes Embarqués
TP06 : Réalisation d’un système à base de PIC16F84 sous Proteus - ISIS7.7 (2eme Partie).
Programmation d’une application réelle commandée par un PIC16F84
Objectifs Réalisation d’un circuit à base du PIC16F84.
Gestion du temps par un PIC16F84
Simulation d’un programme .asm pour PIC16F84 sous ISIS7.7.
Logiciel utilisé Le logiciel ISIS7.7.
Connaissance pré- Notions de base de la programmation assembleur pour PIC16F84 ;
requise Architecture interne du PIC16F84.
Sources Cours Systèmes Embarqués de Dr. K. Messaoudi.
Tutorial du logiciel ISIS7.7.

I. L’application à commander
Dans ce TP, nous allons refaire le même travail que le TP02 sauf que nous utilisons dans ce cas un microcontrôleur de
type PIC16F84. L’application est composée de 12 lampes tri-color (rouge, jaune et vert) contrôlé par les 12 bits (des
sorties de votre choix du PIC16F84). Si le bit correspondant est égal à 1 la lampe est allumée. En plus des 12 lampes,
nous utilisons un bit en entrée (un interrupteur commandé par un policier) pour désactiver le système. Dans ce cas,
uniquement les 4 lampes « jaune » qui sont activées.
L’application est le diagramme de fonctionnement sont schématisés sur la figure suivante :

R1
J1 30s 10s 20s 10s
R3

V3
J3

V1

R1R2V3V4 R1R2J3J4 V1V2R3R4 J1J2R3R4

R2
J2
R4

V4
J4

V2

II. Travail Demandé


1. Proposer un schéma de câblage pour la partie commande ?
Remarques : Connecter les lampes des la manière suivante (V1-4 / J1-4 / R1-4) pour faciliter la programmation par
la suite. Utiliser l’entrée M sur le PortA du PIC16F84 ;
2. Ecrire un programme Assembleur pour le PIC16F84 pour la bonne gestion de cette application ? Compiler le
programme .asm sous MPLAB et générer le fichier .hex.
3. Reproduire le même schéma sous ISIS-Proteus en respectant le même câblage ?
4. Dans ISIS7.7, charger le fichier .hex dans le PIC16F84 et lancer la simulation, commenter ?

7 © Dr. K. Messaoudi 2018/2019


TP Systèmes Embarqués

Master1 – Automatique et Informatique Industrielle – 2015-2016


Module : Systèmes Embarqués
TP07 : Utilisation des PIC pour la génération des signaux de commande MLI
Programmation d’une application réelle commandée par un PIC16F877
Objectifs Simulation d’un programme .asm et gestion du temps par un PIC16F877
Génération des signaux MLI par différents PIC.
Commande numérique des machines par MLI
Logiciel utilisé Le logiciel ISIS7.7.
Connaissance pré- Notions de base de la programmation assembleur pour PIC16F877 ;
Architecture interne du PIC16F84.
requise
Les différents types de commande MLI
Cours Systèmes Embarqués de Dr. K. Messaoudi.
Tutorial du logiciel ISIS7.7.
Sources Mémoire de Master en électrotechnique réalisé par Saadi Abdelouadoud sous la direction de Dr.
K. Messaoudi (2012/2013).
Mémoire de Master en électrotechnique réalisé par Boulebair Hichem sous la direction de Dr.
K. Messaoudi (2012/2013).

I. Commande numérique des machines par MLI


Le rôle de la fonction de la modulation est de déterminer les instants de commutation et les ordres de commande
logiques des interrupteurs afin d’obtenir une séquence de commutation de ces derniers. Le choix d’une stratégie de
modulation peut s’effectuer en fonction des performances souhaitées par l’utilisateur et toutes les stratégies ont des
avantages et des inconvénients et peuvent être réalisé par programmation logicielle ou matérielle.
La technique de modulation en largeur d’impulsions MLI (Modulation de Largeur d’Impulsions) ou bien PWM (Pulse
Width Modulation) est l’essor et le fruit du développement de l’électronique de puissance. Elle est le cœur du contrôle
des convertisseurs statiques. Le choix de la technique MLI pour contrôler l’onduleur de tension est en vue d’avoir une
réponse rapide et des performances élevées. Le choix de la technique dépend du type de la machine à commander, du
type des semi-conducteurs d’onduleurs, de la puissance mise en jeux et de la l’algorithme à implémenter.
1.1. Principe de la MLI pré-calculé
Cette technique de modulation consiste à former l’onde de sortie de l’onduleur d’une succession de créneaux de
largeurs variables. Généralement, on utilise une onde qui présente une double symétrie par rapport au quart et à la demi-
période comme montré sur la figure suivante. Cette onde est caractérisée par le nombre de créneaux ou d’impulsions par
alternance. Que ce soit impair ou pair, ces angles suffisent pour déterminer la largeur de l’ensemble des créneaux. Sur
cette figure, nous présentons aussi le nombre d’angles de commutation par quart de période. Ces angles de commutation
sont déterminés de telle façon à éliminer certains harmoniques. On peut s’intéressé par exemple à éliminer les premiers
harmoniques (ex : 3, 5, 7, 9, 11,…pour le monophasé et 5, 7, 11, … pour le triphasé) qui sont les plus gênants et donc
indésirables pour le fonctionnement des charges telles que les moteurs électriques.

 1 2  3 
t
 3 2
2 2
1.2. Décomposition en série de Fourier
Théoriquement, le point milieu de la source de tension est fictif. Les commandes des interrupteurs d'une même branche
sont disjointes. La décomposition en série de Fourier donne

Avec n désignant le rang de l’harmonique, k désignant le nombre d’angles et Xn représente l’amplitude du signal.
Le calcul des angles de commutation des interrupteurs doit répondre à certains critères portant sur le spectre fréquentiel
de l'onde résultante. Ces séquences sont alors mémorisées et restituées de manière cyclique pour assurer la commande
des interrupteurs. Les critères usuellement retenus sont : l’élimination d'harmoniques de rang spécifié, l’élimination
d'harmoniques dans une bande de fréquence spécifiée, et la minimisation d’un critère d'harmoniques global. La

8 © Dr. K. Messaoudi 2018/2019


TP Systèmes Embarqués

modulation est caractérisée par angles électriques notés . Ces angles permettent : soit d'annuler harmoniques, soit
d'annuler harmoniques et de fixer L'amplitude de la fondamentale.
II. Travail demandé
Soit le montage de la figure suivante proposé pour la commande d’un onduleur monophasé en utilisant une PIC16F877.

Q3
A B2 IRFP054N
12V
R1
B
U111 100 Q1
C R3 IRFP054N
13 33 D1
OSC1/CLKIN RB0/INT
14 34
OSC2/CLKOUT RB1
1 35 D 100
MCLR/Vpp/THV RB2 A
36
RB3/PGM 1N4007
2 37
RA0/AN0 RB4 B
3 38 D2
RA1/AN1 RB5
4 39
RA2/AN2/VREF- RB6/PGC U2 C
5 40 3
C111 RA3/AN3/VREF+ RB7/PGD
6
RA4/T0CKI D 1N4007
7
RA5/AN4/SS RC0/T1OSO/T1CKI
15 10
HIN VC VB
6 C1 3 U1
16 470nF
22pF 8
RC1/T1OSI/CCP2
17 11 7 C2
RE0/AN5/RD RC2/CCP1 SD HO 10 6 470nF
X19 RE1/AN6/WR 18 5 HIN VC VB
10
RC3/SCK/SCL
23 U3:A 12
VS
1 B1
C211 CRYSTAL
RE2/AN7/CS RC4/SDI/SDA LIN COM LO 11 7
24 1 SD HO 12V
RC5/SDO 5
25 3 VS
RC6/TX/CK 12 1
26 2 2 IR2112 LIN COM LO
RC7/RX/DT
22pF
19 4093
RD0/PSP0 2 IR2112
20
RD1/PSP1
21
RD2/PSP2
22
RD3/PSP3
27
RD4/PSP4
28
RD5/PSP5
29 Q4
RD6/PSP6
30
RD7/PSP7 R2 IRFP054N
PIC16F877 Q2
100 IRFP054N
R4
100

Question 1 : Réaliser ce montage sous ISIS7.7 ?


Question 2 : Ecrire un programme .asm pour le PIC16F877 en utilisant l’instruction PMW. Générer le fichier .hex,
charger le dans le PIC et lancer la simulation ? Observer les signaux sur les deux oscilloscopes ?
Question 3 : Expliquer la différence si nous avons utilisé un PIC16F84 à la place du PIC16F877 ?
Question 4 : Proposer un nouveau montage pour la commande d’un onduleur triphasé ? Changer le programme pour
assurer les nouveaux signaux MLI ?

9 © Dr. K. Messaoudi 2018/2019

Vous aimerez peut-être aussi