Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
2014-2015
T
O
M
E
2
Nombre de page : 76
178
Page Traiter L’ORGANIGRAMME
L.A.K
179 / F.cours n°1 Classe : 2STE Prof : Equipe pédagogique
L’ORGANIGRAMME
1- Organigramme:
1.1- Définition :
L’organigramme est la représentation graphique de l’algorithme, il permet de
représenter chaque opération élémentaire au moyen d’un symbole graphique normalisé.
Non Non
L’opération de test logique se fait sur une condition. Le résultat de cette opération implique le
choix d’une voix parmi plusieurs. Le symbole de test logique est couramment employé pour
représenter une décision ou un aiguillage.
Début Fin
179
Page Traiter L’ORGANIGRAMME
L.A.K
180 / F.cours n°1 Classe : 2STE Prof : Equipe pédagogique
Algorithme Organigramme
Opération 1 Opération 1
Opération 2
| Opération 2
|
Opération n
Opération n
Algorithme Organigramme
Algorithme
- Selon cas
Cas 1 : Opération 1
Cas 2 : Opération 2
|
Cas n : Opération n
Autrement
Opération n+1
- Fin selon
Organigramme
Condition Non
1 vraie ?
180
Page Traiter L’ORGANIGRAMME
L.A.K
181 / F.cours n°1 Classe : 2STE Prof : Equipe pédagogique
Remarques :
Le ‘autrement’ disparaît si l’opération n+1 n’existe pas.
Si n est grand, l’organigramme devient très important et mal adapté.
Algorithme Organigramme
- Itérer
Opération 1
Opération 1
Sortir si condition vraie
Opération 2
- Fin Itérer Condition Oui
Vraie ?
Il s’agit d’une structure de boucle pour laquelle Non
on ne peut sortir que si la condition est remplie.
Opération 2
Remarque : deux cas particuliers sont très courants
Cas 1 : l’opération 1 n’existe pas, la structure de la boucle se décrit alors de la façon suivante :
Algorithme Organigramme
Condition Oui
- Tant que condition fausse Vraie ?
Faire opération 2
Non
- Fin tant que
Opération 2
Cas 2 : l’opération 2 n’existe pas, la structure de la boucle se décrit alors de la façon Suivante :
Algorithme Organigramme
Opération 1
- Répéter
Opération 1
Oui
- Jusqu’à ce que condition vraie Condition
Vraie ?
Non
Il s’agit d’une structure de boucle évoluée qui se répète un nombre limité de fois, défini au
préalable. Elle peut se décrire de la façon suivante :
I I1
Algorithme Organigramme
Oui
- Pour I de I1 à I2 I = I2 ?
Faire opération Non
- Fin pour Opération
I I+1
181
Page Traiter Systèmes programmables
L.A.K
182 / F.cours n°3 Classe : 2STE Prof : Equipe pédagogique
1- Système minimum :
Bus de données
PORT A
Bus d’adresses
Horloge
Bus de contrôle
R R Accumulateur
R.I E E
S P P C G G Unité de
I I
Z
S S C
D.I C O
T T
M
R R M
E E A
N°0 N A.L.U
N°n N
D
Flags E
Séquenceur Registre à usage général
Commandes
Internes
Bus d’adresse 16 bits
Commandes externes
182
Page Traiter Systèmes programmables
L.A.K
183 / F.cours n°3 Classe : 2STE Prof : Equipe pédagogique
1.2- Mémoires
Mémoire à accès aléatoire -de l’anglais Random acces memory – permet de stocker les
variables, les données et les programmes temporaires. C’est une mémoire volatile à lecture et
à écriture. Il existe deux types de RAM :
RAM statique : elle est à base de bascules donc de transistors. Elle garde ses informations
tant que l'alimentation n'est pas coupée. (Capacité ne dépasse pas 64ko).
RAM dynamique : c'est une mémoire à base de capacité, elle perd ses informations mêmes
si l'alimentation n'est pas coupée. Elle doit être rafraîchi périodiquement (t=1ms).
Mémoire non volatile à lecture seule –de l’anglais Read Only Memory- permet de stocker
des programmes et des données constants.
a- Capacité :
C’est le nombre total de bits qu'on peut stocker dans une mémoire.
Exemple:
512 octets
16 ko 1k = 210
2Mo 1M = 220
1Go 1G = 230.
183
Page Traiter Systèmes programmables
L.A.K
184 / F.cours n°3 Classe : 2STE Prof : Equipe pédagogique
b- Longueur de mot:
C’est la façon avec laquelle les bits sont organisés ou rangés, en général par mot de 8 bits
ou de 4bits.
Un mot de 8bits :1 Octet
Un mot de 4bits : 1 Quartet
c- Adresse
Pour identifier les mots on donne à chacun une adresse, on dit alors case mémoire d'adresse
40, case mémoire d'adresse FF ……etc.
7
6
5 3
4 1 0 1 0 2
3 1 x x x x x x x x
2 0
1
0 x x x x
d- Décodage d'adresse:
A0
A1 Décodeur DATA : Donnée
A2 D’adresses IN/OUT : Entrée/Sortie
RD
IN/OUT WR
A2, A1, A0 : lignes d’adresse ou
Bus d’adresse
D3, D2, D1, D0 : lignes de données ou
D0 D1 D2 D3
Bus de données
RD : signal de lecture DATA I/O
WR : signal d’écriture
184
Page Traiter Systèmes programmables
L.A.K
185 / F.cours n°3 Classe : 2STE Prof : Equipe pédagogique
1.3.1- Définition:
1.3.1- Périphériques :
Une liaison série consiste à transmettre les données de façon successive (bit par bit) sur un
seul et unique fil.
Les avantages de la liaison série sont énormes :
2- Les microcontrôleurs :
Les microcontrôleurs sont des composants programmables. Ils intègrent dans un seul
boîtier l'environnement minimal d'un système à microprocesseur (l'UC, la RAM, l'EPROM et les
interfaces). Ils sont présents dans la plupart des systèmes électroniques embarqués ou dédiés à
une application unique. Il en existe de nombreux modèles différents , parmi les plus courants :
le 8051 de Intel, le 68HC11 de Motorola... et les PIC de Micro chip.
185
Page Traiter Systèmes programmables
L.A.K
186 / F.cours n°3 Classe : 2STE Prof : Equipe pédagogique
MEMOIRE RAM
PROGRAMME
CPU RB0
RB1
RB2
RB3
PORTB RB4
HORLOGE RB5
RB6
RB7
EEPROM
RA0
PORTA RA1
RA2
RA3
TIMER RA4
EEPROM de Programme :
Cette mémoire stock le programme.
RAM :
Cette mémoire stock les variables et les données temporaires.
EEPROM de données :
Cette mémoire stock les constantes et les données semi permanentes.
Timer :
C’est compteur modulo 256 – 8 bits –
PORTA et PORTB :
Pour communiquer avec l'extérieur le PIC16f84 dispose de 2 ports : PORTA et
PORTB. Les ports sont bidirectionnels, ce qui signifie qu'ils peuvent être configurés et utilisés
comme des entrées ou des sorties. Le microcontrôleur reçoit les informations sur un port
d'entrée :
informations logiques issues de capteurs sur un ou plusieurs bits d'un port d'entrée,
informations numériques codées sur 8 bits sur un port entier.
informations analogiques variables dans le temps, si le PIC est doté d'un
convertisseur analogique / numérique.
Le microcontrôleur traite ces données et les utilisent pour commander des circuits qui
sont connectés sur un port de sortie.
186
Page Traiter Le PIC 16 F 84
L.A.K
187 / F.cours °3 Classe : 2STE Prof : Equipe pédagogique
Le PIC 16 F 84
1- Caractéristiques:
1K de mémoire programme
68 octets de RAM
64 octets D'EEPROM
13 entrée/sortie réparties en 2 ports
PORTA et PORTB
4 sources d’interruption
1 Timer/Compteur
1 Chien de garde
MODE SLEEP (pour une faible consommation)
4 Sources d’oscillateur sélectionnable
Protection du code
35 instructions seulement
2.1- Description:
Le PIC16F84 est un microcontrôleur 8 bits de faible coût, mais il permet toutefois de créer
de nombreuses applications. De plus, avec son jeu d'instructions réduit, il est très agréable à
utiliser lorsqu'on désire s'initier à l'étude d'un microcontrôleur.
2.2- Brochage:
RA2 1 18 RA1
RA3 2 17 RA0
RA4 / T0CKI
1 OSC1/CLKIN
3 16
6 OSC2/CLKOUT
MCLR 4 15
VSS F VDD
5 14
RB0 / INT 8 RB7
6 13
RB1 7
4 12 RB6
RB2 8 11 RB5
RB3 9 10 RB4
187
Page Traiter Le PIC 16 F 84
L.A.K
188 / F.cours °3 Classe : 2STE Prof : Equipe pédagogique
3.1- Synoptique:
13 Data Bus
PROGRAM
64 8 EEPROM Data memory
EEPROM/ROM COUNTER
x8 64 x 8 bits
PROGRAM
bit EEPROM
MEMORY
s Data memory
1K x 14 bits RAM EEDATA
8 level stack 64 x 8 bits
Program File Registers
(13 bits) 36 x 8 bits
Bus 14
Literal Addr
8
MUX
I/O Ports
Instruction Power-Up
TIMER
Decode &
control Oscillator
Start-Up TIMER RA3/RA0
A.L.U
Power_On
RESET
Timming RB7/RB1
Watch Dog
Generation TIMER
W
RB0/INT
La mémoire de donnée est divisée en deux parties. Une partie appelée SFR, l’autre
le GPR, qui sont encore divisée en deux pages (Bank0 et Bank1). Toutes les données de la
mémoire sont appelées registres y compris les données utilisateurs.
188
Page Traiter Le PIC 16 F 84
L.A.K
189 / F.cours °3 Classe : 2STE Prof : Equipe pédagogique
Une EEPROM de 64 octets est disponible pour y stocker les données semi
permanentes. Pour accéder à cette mémoire, on utilise les registres EEADR, EEDATA. 2 registres
de contrôle sont associés à cette mémoire EECON1 et EECON2.
3.2.4. La pile:
189
Page Traiter Le PIC 16 F 84
L.A.K
190 / F.cours °3 Classe : 2STE Prof : Equipe pédagogique
Ces registres spéciaux font partie du SFR (Special Function Registers) et configurent
le µC. Certains registres initialisent les périphériques alors que d'autres sont utilisés par le CPU.
4- Remarques:
190
Page Traiter Jeu d’instruction des PIC 16Fxxx
L.A.K
191 / F.cours °3B Classe : 2STE Prof : Equipe pédagogique
Jeu d’instruction
1- Structure des PIC 16F...:
P.C
13
13
0000H 000H
8 level stack
EEPROM/ROM 9
RAM
(13 bits)
PROGRAM 9 File Register
MEMORY FSR + GPR
9
8K x 14 bits 512 x 8 bits
1FFFH Direct 1FFH
14 8
7 Indirect
R.I F.S.R
Litteral
6 8 8
8
8
D.I
IRP RP1 RP0 …..
W A.L.U 7 6 5 ……..
STATUS
0 1
d 8
2- Le registre STATUS :
7 6 5 4 3 2 1 0
IRP RP1 RP0 /TO /PD Z DC C
3- Le jeu d’instruction:
Un microcontrôleur est caractérisé non seulement par sa structure matérielle mais aussi par
son jeu d’instructions qui permet de traiter les données.
3.1- Les modes d’adressages:
191
Page Traiter Jeu d’instruction des PIC 16Fxxx
L.A.K
192 / F.cours °3B Classe : 2STE Prof : Equipe pédagogique
Littéral :
Dans ce mode d’adressage, la donnée est intégrée avec le code de l’opération.
MOVLW 0x55 ; charger la valeur 0x55 dans le registre W
Direct :
Les 7 premiers bits de l’adresse du fichier, sont intégrés avec le code de l’opération.
Les 2 bits RP0, RP1 du registre STATUS sont utilisés pour compléter l’adresse sur 9 bits.
MOVF 0x55, W ; charger le contenu de l’adresse 0x55 dans W
Indirect :
L’adresse du fichier est formée par le contenu du FSR et le bit IRP du registre STATUS.
MOVF INDF, W ; charger le contenu de la case mémoire pointée par le FSR.
00 01 10 11
000H 080H 100H 180H
0 0 1 0
000H 080H 100H 180H
192
Page Traiter Jeu d’instruction des PIC 16Fxxx
L.A.K
193 / F.cours °3B Classe : 2STE Prof : Equipe pédagogique
193
Page Traiter Utilisation des ports A et B
L.A.K
194 / F.cours °3C Classe : 2STE Prof : Equipe pédagogique
Les Ports A et B
1- Structure:
Pour communiquer avec l'extérieur le PIC16f84 dispose de 2 ports : PORTA et PORTB. Les
ports sont bidirectionnels, ce qui signifie qu'ils peuvent être configurés et utilisés comme des
entrées ou des sorties. Le microcontrôleur reçoit les informations sur un port d'entrée :
informations logiques issues de capteurs sur un ou plusieurs bits d'un port d'entrée,
informations numériques codées sur 8 bits sur un port entier.
informations analogiques variables dans le temps, si le PIC est doté d'un
convertisseur analogique / numérique.
Le microcontrôleur traite ces données et les utilisent pour commander des circuits qui
sont connectés sur un port de sortie.
Le registre TRISA configure chaque E/S du PORTA en entrée ou en sortie. Apres un RESET,
toutes les E/S sont en entrée. Si le bit associé à la porte est à "1", alors elle sera configurée en
entrée. Si le bit est à "0", elle sera en sortie. La broche RA4 est multiplexée avec l'entrée
d'horloge du registre TMRO.
Le PORTA est un port de 5 bits (RA0 à RA4). Chaque E/S est compatible TTL. La
configuration de chaque BIT du port est déterminée avec le registre TRISA.
Le registre TRISB configure chaque E/S du PORTB en entrée ou en sortie. Apres un RESET,
toutes les E/S sont en entrée. Si le bit associé à la porte est à "1", alors elle sera configurée en
entrée. Si le bit est à "0", elle sera en sortie. La broche RB0 est multiplexée avec l'interruption
INT.
Les broches RB4 à RB7, à condition qu'elles soient configurées en entrée, peuvent générer
une interruption lorsqu'elles changent d'états. Enfin, toutes les broches du PORTB bénéficient
d'un "tirage au plus" interne.
194
Page Traiter Utilisation des ports A et B
L.A.K
195 / F.cours °3C Classe : 2STE Prof : Equipe pédagogique
Le PORTB est un port bidirectionnel de 8 bits. Toutes les broches sont compatibles TTL.
La configuration du PORTB est réalisée avec le registre TRISB.
Les registres TRISx appartiennent à la Bank 1 des SFR. Lors de l’initialisation du µC, il ne
faut pas oublier de changer de page mémoire pour les configurer. Pour configurer un PORTx, il
faut :
Accéder à la Bank 1.
Déterminer le mot à maître dans le registre TRISx.
Mettre ce mot dans le registre de travail W.
Transférer le contenu de W dans le registre TRISx.
Accéder à la Bank 0, pour pouvoir accéder au PORTx.
7- Exemple Application :
7.1- Exemple 1 :
7.2- Exemple 2 :
7.3- Exemple 3 :
Configurer les broches RB1, RB3, RB5, RB7 du PORTB en entrée et les broches RB0, RB2,
RB4, RB6 du PORTB en sortie.
Bit n° 7 6 5 4 3 2 1 0
…………………………… ; accès à la Bank1 PORTB … … … … … … … …
…………………………… ;
…………………………… ; PORTB en sortie TRISB … … … … … … … …
…………………………… ; accès à la Bank0 Hex …. ….
195
Page Traiter Utilisation des ports A et B
L.A.K
196 / F.cours °3C Classe : 2STE Prof : Equipe pédagogique
7.4- Exemple 4 :
Configurer les broches RA2, RA3, RA4 du PORTA en entrée et les broches RA0, RA1 du
PORTA en sortie.
Bit n° 7 6 5 4 3 2 1 0
…………………………… ; accès à la Bank1 PORTA … … … … … … … …
…………………………… ; TRISA … … … … … … … …
…………………………… ;
Hex …. ….
…………………………… ; accès à la Bank0
7.5- Exemple 5 :
5v
Soit le montage suivant v
7.5.1. Organigramme :
Début
…………………… Eteindre
les LEDs 7.5.2. Programme :
……………………………………
…………… BP1
enfoncé ?
……………………………………
……………………………………
Allumer ……………………………………
…………………… les LEDs ……………………………………
……………………………………
Loop1 ……………………………………
…………… BP0
enfoncé ? Loop2 ……………………………………
……………………………………
……………………………………
……………………………………
Loop3 ……………………………………
……………………………………
……………………………………
196
Page Traiter Porte Automatisée TEMPORISATION
L.A.K
197 / F.cours n°3D Classe : 2STE Prof : Equipe pédagogique
Dans ce cas, on utilise l’instruction NOP qui veut dire ‘ne rien faire’. Ainsi, le
microcontrôleur perd un cycle machine à ne rien faire.
L’horloge du microcontrôleur le PIC16F84, est associée à un quartz externe, elle génère
le signal qui cadence l'exécution des instructions. Chaque instruction du programme est traitée
en un cycle machine (une période de l'horloge avec une division interne par 4), exceptées les
sauts qui s'exécutent en deux cycles d'horloge.
Par exemple, si la fréquence du quartz est de 4 Mhz,
F = 4 Mhz F / 4 = 1 Mhz Un Cycle = 4 / F Un Cycle = 1 µs
Donc le temps d’exécution d’une instruction NOP est de 1 µs.
2- Temporisation moyenne :
2.1- Principe :
2.2- Organigramme:
Tempo 1 Tempo 2
(0C)H V (0C)H V
Pas d’opération
Non
(0C)H = 00 H
Non
(0C)H = 00 H
Retour
Retour
2.3- Programme:
197
Page Traiter Porte Automatisée TEMPORISATION
L.A.K
198 / F.cours n°3D Classe : 2STE Prof : Equipe pédagogique
La boucle se répète v fois, donc les instructions DECFSZ et GOTO pour le sous programme
n°1 (NOP, DECFSZ et GOTO pour le sous programme n°2) sont répétées, aussi v fois.
Tempo 1 = …..………………………………………………………….
Tempo 2 = …..………………………………………………………….
Si la fréquence du quartz est égale à 4 Mhz : Un Cycle = ……….………………….
La temporisation est maximale, pour VMAX
Tempo 1MAX = …..………………………………………………………….
Tempo 2MAX = …..………………………………………………………….
3- Temporisation grande :
3.1- Principe :
(0C)H n Nb de
Sous programme Tempo
Cycle
Tempo …………………….. 1
(0D)H m
…………………….. 1
Lab1 …………………….. 1
(0D)H (0D)H - 1 …………………….. 1
Lab2 …………………….. 1(2)
Non …………………….. 2
(0D)H = 00 H
………………...….. 1(2)
…………………….. 2
…………………..... 2
(0C)H (0C)H - 1
Non
(0C)H = 00 H
Retour
Tempo = ………………………….……………………………….
Tempo = ………………………….……………………………….
Si la fréquence du quartz est égale à 4 Mhz : Un Cycle = …………………………
La temporisation est maximale, pour nMAX et mMAX
Tempo MAX = ………………………….……………………………….
Tempo MAX = ………………………….……………………………….
Tempo MAX = ………………………….……………………………….
198
Page Traiter TIMER DU 16 F 84
L.A.K
199 / F.cours n°3E Classe : 2STE Prof : Equipe pédagogique
TIMER DU 16 F 84
1- Présentation :
Le PIC 16F84 dispose d’un TIMER, c’est un module programmable dont les fonctions
principales sont :
La génération de signaux périodiques (astable),
La génération d'impulsions (monostable),
Le comptage d'évènements (compteur),
La génération de signaux PWM (modulation de largeur d'impulsions pour les MCC).
Le registre TMRO :
Ce registre de 8 bits s'incrémente de "1" a chaque impulsion de l'horloge interne
(Fosc/4) ou par une horloge externe appliquée sur la broche TOCKI/ RA4. Il est associé au
module Timer/Compteur. Ce registre se trouve à l’adresse 01H.
Le registre OPTION :
Ce registre contiens les bits de contrôles du PRESCALER, de l'interruption externe INT,
de la sélection Timer/Compteur et du "tirage au plus" du PORTB. Ce registre se trouve à
l’adresse 81H.Ce registre se trouve à l’adresse 81H.
3- Fonctionnement :
T0CKI pin 0
Fosc/4 Data Bus
0 8
Sync with
1 Programable internal TMR0
Prescaler clocks
1
2 cycle delay
T0SE 3
T0CS Set interrupt
PSA flag bit T0IF
PSA1, PSA2, PSA3 on overflow
199
Page Traiter TIMER DU 16 F 84
L.A.K
200 / F.cours n°3E Classe : 2STE Prof : Equipe pédagogique
RATIO RATIO
PS2 PS1 PS0
TMRO WDT
0 0 0 1:2 1:1
0 0 1 1:4 1:2
0 1 0 1:8 1:4
0 1 1 1:16 1:8
1 0 0 1:32 1:16
1 0 1 1:64 1:32
1 1 0 1:128 1:64
1 1 1 1:256 1:128
Remarque :
Lorsque le TIMER0 déborde, le BIT TOIF du registre INTCON passe à 1; après utilisation,
n’oublier pas de remettre TOIF à zéro.
4- Le WATCHDOG :
200
Page Traiter EEPROM DU 16 F 84
L.A.K
201 / F.cours n°3F Classe : 2STE Prof : Equipe pédagogique
EEPROM DU 16 F 84
1- Présentation :
Le PIC 16F84 possède une EEPROM de 64 octets pour y stocker les données.
Contrairement à l’EEPROM de programme, elle n’est pas adressée par le PC, mais par un
registre séparé appelé EEADR se trouvant à l’adresse 09H dans le fichier des registres. Les
données sont accessibles par le registre EEDATA d’adresse 08H. 2 registres de contrôle sont
associés à cette mémoire EECON1 et EECON2 d’adresse 88H et 89H. La durée d’écriture d’un
octet est de l’ordre de 10ms.
2- Les registres :
Le registre EEDATA :
Ce registre permet de lire ou d'écrire une donnée dans la mémoire non volatile
(EEPROM).
Le registre EEADR :
Ce registre contient l'adresse de la donnée se trouvant dans l'EEPROM.
Le registre EECON1 :
C'est un registre de contrôle qui permet d'exécuter une lecture ou une écriture dans
l'EEPROM. Seuls les 5 bits de poids faible sont utilisés.
Le registre EECON2 :
Ce registre est exclusivement utilisé pour les séquences d'écritures dans l'EEPROM. Il n'a
pas d'adresse physique et la lecture de ce registre retourne une valeur nulle.
Une donnés ne peut être écrite qu’après avoir écrit successivement 0x55 et 0xAA dans EECON2.
3- Structure du registre EECON1 :
201
Page Traiter EEPROM DU 16 F 84
L.A.K
202 / F.cours n°3F Classe : 2STE Prof : Equipe pédagogique
EEIF=0 soit l'opération n'a pas commencé, soit n'est pas terminée.
………………………………. ; Bank 0
………………………………. ;
………………………………. ; l’adresse à lire
………………………………. ; Bank 1
………………………………. ; lecture EPROM
………………………………. ; Bank 0
………………………………. ; W EEDATA
………………………………. ; Bank 0
………………………………. ;
………………………………. ; définition de l’adresse
………………………………. ;
………………………………. ; définition de la donnée
………………………………. ; Bank 1
………………………………. ; autorisation de l’écriture
………………………………. ;
………………………………. ; écriture de 0x55
………………………………. ;
………………………………. ; écriture de 0xAA
………………………………. ; écriture dans EEPROM
Lab ………………………………. ;
………………………………. ; écriture terminée
………………………………. ; Bank 0
202
Page Traiter Interruptions du 16F84
L.A.K
203 / F.cours n°3G Classe : 2STE Prof : Equipe pédagogique
Interruptions du 16 F 84
1- Interruptions du PIC 16 F 84 :
Le programme doit:
Identifier la source de l’interruption en consultant les drapeaux.
Remettre à 0 le drapeau qui a provoqué l’interruption.
Sauvegarder éventuellement certains registres.
3- Le registre INTCON:
Le registre INTCON contient tous les bits de validation de chaque source d'interruption
ainsi que leur drapeau (Flag). Les drapeaux doivent être mise à 0 après l'interruption.
203
Page Traiter Interruptions du 16F84
L.A.K
204 / F.cours n°3G Classe : 2STE Prof : Equipe pédagogique
204
Page Traiter Le PIC 16 F 877
L.A.K
205 / F.cours n°4A Classe : 2STE Prof : Equipe pédagogique
Le PIC 16 F 877
1- Caractéristiques:
Une mémoire programme de type EEPROM flash de 8K mots de 14 bits,
Une RAM donnée de 368 octets,
Une mémoire EEPROM de 256 octets,
05 ports d'entrée sortie, A (6 bits), B (8 bits), C (8 bits), D (8 bits) et E (3 bits)
Convertisseur Analogiques numériques 10 bits à 8 entrées sélectionnables ,
USART, Port série universel, mode asynchrone (RS232) et mode synchrone
SSP, Port série synchrone supportant I2C
Trois TIMERS avec leurs Prescalers, TMR0, TMR1, TMR2
Deux modules de comparaison et Capture CCP1 et CCP2
15 sources d'interruption,
Générateur d'horloge, à quartz (jusqu‟ à 20 MHz)
Protection de code,
Tension de fonctionnement de 2 à 5V,
Jeux de 35 instructions
2.1- Brochage:
3.1- Synoptique
205
Page Traiter Le PIC 16 F 877
L.A.K
206 / F.cours n°4A Classe : 2STE Prof : Equipe pédagogique
206
Page Traiter Le PIC 16 F 877
L.A.K
207 / F.cours n°4A Classe : 2STE Prof : Equipe pédagogique
207
Page Traiter Le PIC 16 F 877
L.A.K
208 / F.cours n°4A Classe : 2STE Prof : Equipe pédagogique
208
Page Traiter Les Timers Classe :
L.A.K
209 / F.cours n°4B 2STE Prof : Equipe pédagogique
Dans ce mode, TMR1 est incrémenté par l’horloge système Fosc/4 éventuellement prédivisée.
Le bit de synchronisation n'a pas d'effet car l'horloge Fosc/4 est toujours synchronisée sur
l'horloge système.
209
Page Traiter Les Timers Classe :
L.A.K
210 / F.cours n°4B 2STE Prof : Equipe pédagogique
Dans ce mode, TMR1 est incrémenté à chaque front montant de l'horloge externe T1CKI (RC0)
ou l'horloge interne générée par l’oscillateur dédié T1OSC à condition de positionner le bit
T1OSCEN à 1 et de brancher un quartz entre les broche RC0 et RC1.
Remarque : En mode compteur, RC0 et RC1 sont automatiquement configurées en entrée, on
n’a pas besoin de configurer les bits TRISC,0 et TRISC,1
3- TIMER TMR2
210
Page Traiter Les Timers Classe :
L.A.K
211 / F.cours n°4B 2STE Prof : Equipe pédagogique
211
Page Traiter Les modules CCP
L.A.K
212 / F.cours n°4C Classe : 2STE Prof : Equipe pédagogique
1.1-Mode compare
212
Page Traiter Les modules CCP
L.A.K
213 / F.cours n°4C Classe : 2STE Prof : Equipe pédagogique
1.2-Mode capture
Il s’agit d’obtenir, dans ce mode, un signal de fréquence fixe et dont la durée de l’état haut
peut être modulée (PWM = Pulse Width Modulation = MLI = Modulation de largeur d'impulsion ou
rapport cyclique variable).
- CONFIGURATION DE CCPXCON
Les bits 2 et 3 de mode du registre CPPxCON (x=1 ou 2) doivent être configurés à 1 pour être en
mode PWM (voir doc PIC pour plus de détails) :
213
Page Traiter Les modules CCP
L.A.K
214 / F.cours n°4C Classe : 2STE Prof : Equipe pédagogique
_ Rapport cyclique
214
Page Traiter Les modules CCP
L.A.K
215 / F.cours n°4D Classe : 2STE Prof : Equipe pédagogique
1.1- PRESENTATION :
Il s’agit d’un convertisseur A/N 10 bits à 8 entrées. Les 5 premiers sont sur le PORTA en
RA0, RA1, RA2, RA3 et RA5. Les 3 entrées supplémentaires sont sur le PORTE en RE0, RE1, RE2.Les
tensions de références haute et basse peuvent être choisies par programmation comme suit :
Vref+ peut être VDD ou la broche RA3.
Vref- peut être VSS ou la broche RA2.
Ce module convertisseur A/N utilise 4 registres qui sont :
ADRESH en page 0 : MSB des 10 bits résultat.
ADRESL en page 1 : LSB des 10 bits résultat.
ADCON0 en page 0 : registre de contrôle n°0 du module CAN.
ADCON1en page 1 : registre de contrôle n°1 du module CAN.
111
RE2 / AN7
110
RE1 / AN6
101
Vin RE0 / AN5
Tension à convertir 100
A/D RA5 / AN4
011
Converter RA3 / AN3 / Vref+
010
RA2 / AN2 / Vref-
001
RA1 / AN1
VDD 000
RA0 / AN0
Vref+
Vref-
VSS
215
Page Traiter Les modules CCP
L.A.K
216 / F.cours n°4D Classe : 2STE Prof : Equipe pédagogique
7 21 0 7 0 7 0 7 6 5 0
00000000 00000000
216
Page Traiter Les modules CCP
L.A.K
217 / F.cours n°4D Classe : 2STE Prof : Equipe pédagogique
217
Page Traiter USART
L.A.K
218 / F.cours n°10D Classe : 2STE Prof : Equipe pédagogique
Le Baud Rate Generator est un registre 8 bits qui contient le facteur de division (N) de l'horloge
interne qui permet d'obtenir la vitesse commune d'émission et de réception.
En mode Asynchrone (bit SYNC = 0) suivant l'état du bit BRGH on aura le choix entre 2 vitesses :
haute pour BRGH=1 et basse pour BRGH=0.
218
Page Traiter USART
L.A.K
219 / F.cours n°10D Classe : 2STE Prof : Equipe pédagogique
Le nombre N est le nombre entier, arrondi de la valeur trouvée par les équations ci dessus.
Il est recommandé d'utiliser si possible les vitesses hautes (BRGH=1), même pour des vitesses
faibles, car dans ce cas on minimise l'erreur, en obtenant un nombre N plus grand.
219
Page Traiter USART
L.A.K
220 / F.cours n°10D Classe : 2STE Prof : Equipe pédagogique
périphériques par mise à "1" du bit 6 de INTCON: PEIE = 1, et par la mise à "1" du bit 7 :
GIE = 1.
220
Page Traiter USART
L.A.K
221 / F.cours n°10D Classe : 2STE Prof : Equipe pédagogique
Le bit d'erreur OERR doit être remis à zéro par soft. Pour cela il faut stopper la réception par
CREN=0 puis remettre en service la réception par CREN=1.
En fait le registre RCREG est un double registre FIFO. On peut donc recevoir
2 octets et ne pas les lire avant qu'un 3eme octet ne fasse un OVERRUN.
On doit alors lire deux fois RCREG pour le vider les 2 octets reçus qui sont dans le FIFO.
Si un STOP est trouvé à "0" alors une ERROR FRAMING est générée par mis à "1" du bit 2 de
RCSTA: FERR=1.
221
Page Traiter Programmation du pic en langage BASIC
L.A.K
222 / F.cours °5 Classe : 2STE Prof : Equipe pédagogique
Que ce soit par la méthode graphique ou en langage évolué, l'écriture du programme ainsi que sa
mise au point doivent suivre le diagramme suivant :
Il faut traduire le cahier des charges en une suite ordonnée d'actions que doit réaliser le
processus de commande, cette suite d'opérations sera décomposée en actions élémentaires ou
instructions c'est l'Algorithme. Par la suite il suffit de transformer cet algorithme en un langage
évolué tel que le langage BASIC ou le langage C.
Dans la suite du cours on s'intéressera au langage BASIC. (Compilateur Mikrobasic de
Mikroelektronika.)
L'entête :
Commence par le mot réservé " Program " suivi du nom du programme.
Les déclarations :
Elles permettent de définir les éléments utilisés dans le programme.
En effet on devra déclarer les variables utilisées pour permettre au compilateur d'effectuer
les réservations de mémoire ainsi que les sous programmes (Procédures et fonctions).
Le corps du programme :
Commence par le label "main :" et se termine par le mot réservé "End. " suivi d'un point
final. Ce qui suit ce "End" n'est pas pris en compte par le compilateur.
Entre "main" et "End" se trouvent les instructions à effectuer par le programme.
222
Page Traiter Programmation du pic en langage BASIC
L.A.K
223 / F.cours °5 Classe : 2STE Prof : Equipe pédagogique
'********************************************************
'* Declarations (globals):
'********************************************************
' symbols declarations
symbol ...
‘functions declarations
sub function function_name(...) as return_type
<local declarations>
...
end sub
'********************************************************
'* Program body:
'********************************************************
main:
' write your code here
end.
223
Page Traiter Programmation du pic en langage BASIC
L.A.K
224 / F.cours °5 Classe : 2STE Prof : Equipe pédagogique
Le décimal : A=10 ;
L'hexadécimal A=$0F ; ou A=0x0F ;
Le binaire A=%11010100 ;
NOTA :
224
Page Traiter Programmation du pic en langage BASIC
L.A.K
225 / F.cours °5 Classe : 2STE Prof : Equipe pédagogique
II-Applications :
225
Page Traiter Programmation du pic en langage BASIC
L.A.K
226 / F.cours °5 Classe : 2STE Prof : Equipe pédagogique
1- Exercice1 :
Compléter le programme ci-dessous permettant de faire clignotter les Leds branchées sur le
port B .
program LED_Clign
main:
TRISB = 0 ' …………………………………. en sortie
boucle:
PORTB = $…………. ' Leds allumées
………………………….. ' tempo 1s
PORTB = 0 ' ………………………
Delay_ms(1000) ' tempo 1s
goto boucle ' aller à boucle
end.
2- Exercice2 :
Compteur modulo 10
Compléter le programme BASIC correspondant.
a
RA0 A
Q3 b
c
Décodeur d
PIC 16F84 RA1 B
BCD/7 e
g
segments
RA2 C
RA3 D
Algorithme Programme
Algorithme : compteur m10 program compteur10
Variable i de type byte ' Declarations section
dim i as byte ' declaration d’une variable de type byte
Début
TrisA← % 00000 ' Main program
PortA←……………….. main:
Tant que vrai …………………………………..
Pour i variant de ... jusqu’à .. faire PortA= %00000
PORTA ← i while True ' boucle infinie
Attente (1s)
For i= 0 to 9 ' boucle répétitive
Fin pour
PortA = ……
Fin tant que
……………………….)
Fin
next i
…………………
end.
226
Page Traiter Programmation du pic en langage BASIC
L.A.K
227 / F.cours °5 Classe : 2STE Prof : Equipe pédagogique
3- Exercice3 :
P RB0 LED0
I
C
RA
RA00 1
6
F
8
RB7 LED7
4
Fonctionnement :
Si RA0 = 1 les 8 LED clignotent pendant 2 secondes.
Si RA0 = 0 on obtient le cycle répétitif suivant
4- Exercice4 :
227
Page Traiter Programmation du pic en langage BASIC
L.A.K
228 / F.cours °5 Classe : 2STE Prof : Equipe pédagogique
228
Page Traiter Programmation du pic en langage BASIC
L.A.K
229 / F.cours °5 Classe : 2STE Prof : Equipe pédagogique
program système
dim X0 , ………………………………………………as byte ' Déclaration des variables
main :
……………….................... ' Configuration du PortA en ..................
………….…...................... 'Configuration du PortB en ................
……….. …………………......'Initialisation du portA
X0=1
X1=0
………… ' Initialisation des variables
…………
........................................ 'boucle infinie
If (…………………) and (………………………) then ' Condition d’activation de l’étape1
..........................
..........................
end if
if (…………………) and (………………………) then 'Condition d’activation de l’étape2
X1 = 0
X2 = 1
…………………
…………………………………………………………………………. 'Condition d’activation de l’étape3
...........................
...........................
end if
............ ........................................... 'Condition d’activation de l’étape0
.............................
.............................
end if
if X1=1 then porta.0= 1 else ……………………………… 'Programmation de la sortie KM1
end if
...............................................................' Programmation de la sortie KM2
end if
...............................................................' Programmation de la sortie KM3
end if
...............................................................'Programmation de la sortie KM4
end if
wend
end.
5- Exercice5 :
Exemple :
if Button (portA,3,50,1) then « action1 »
229
Page Traiter Programmation du pic en langage BASIC
L.A.K
230 / F.cours °5 Classe : 2STE Prof : Equipe pédagogique
On teste l’appui sur un bouton poussoir relié à la broche RA3 pendant 50ms pour faire l’action
1
program compt_decompt
…………. x …… byte
……………..: ' Main program
......................... ' Configuration du portA en en entrée
……………………….. ' Configuration du portB en en sortie
……………………….. ' Initialisation du portB
……………………….. ' Initialisation de x
……………………….. ' Boucle infinie
230
Page Traiter GRAFCET
L.A.K
231 / F.cours n°6 Classe : 2STE Prof : Equipe pédagogique
1 10 20
2
21
11 13
3
22
4 12 14
23
2- Synchronisation de GRAFCET :
Fin
231
Page Traiter GRAFCET
L.A.K
232 / F.cours n°6 Classe : 2STE Prof : Equipe pédagogique
10 20 30 40
m X19 X29 X39
19 29 39 49
X49 X10 X10 X10
Tâche 1 Tâche 2 Tâche 3 Tâche 4
1 seule tâche à la fois
2.3- Coordination Verticale asynchrone :
Tâche T1
50 T1 10
X19 X50
GRAFCET de conduite
51
GRAFCET esclaves
52 T2 19
X51
X29
53
20
X52 + X54
54 T2
X29
55 29 Tâche T2
X53 + X55
b b
20 T1 20 20 CC+1 20 C := C + 1
t1/X20/5s Ou X20/5s C=4 Ou C=4
21 KM 21 KM 21 C0 21 C := 0
C=0 C=0
20 H 20 H
L’étape 21 est active, à
1 Ou =1 l’activation de l’étape 20
21 KM 21 KM
m 5s/X20 5s/X20
20 K H 20 K 20 K
a a a
21 K 21 H 21 H
b b b
20 S K 20 K := 1 20 K
a a a
21 21 21 K
OU Equivalent à
b b b
22 22 22 K
c c c
23 R K 23 K := 0 23
233
Page Traiter GRAFCET
L.A.K
234 / F.cours n°6 Classe : 2STE Prof : Equipe pédagogique
E2
10 KM1
d
(1) a
11
21 KM2
M2 e
22 H KM3
(2) b f
12 KM4
S2
c
234
Page Traiter Programmation des PLD
L.A.K
235 / F.cours n°7 Classe : 2STE Prof : Equipe pédagogique
La programmation d’une fonction logique dans un PLD doit passer par les étapes
suivantes :
Définition de la fonction par des équations logiques et ou des logigrammes ;
Choix du PLD (PAL, GAL, MACH…) doit être choisit selon les critères suivants :
Coût du système
Matériel de programmation
Outil de développement (programme)
Nombre d’entrées et de sorties nécessaire pour réaliser la fonction
Type de la fonction et degrés de complexité de sa structure interne…
L’écriture du programme de description en utilisant différentes solutions (équations,
tables de vérité, diagrammes d’état)
Test du programme par une éventuelle simulation.
Transfert du programme au composant PLD.
2- Exemple de PLD :
GND I8 I7 I6 I5 I4 I3 I2 I1 Clk/I0
10 9 8 7 6 5 4 3 2 1
GAL 16V8
11 12 13 14 15 16 17 18 19 20
OE/I9 I/O0 I/O1 I/O2 I/O3 I/O4 I/O5 I/O6 I/O7 Vcc
3.1- Structure :
235
Page Traiter Programmation des PLD
L.A.K
236 / F.cours n°7 Classe : 2STE Prof : Equipe pédagogique
L’entête est reconnue par le mot clé MODULE suivi du nom du fichier ; on peut aussi
ajouter au programme un titre précédé du mot TITLE ; la section du fin est identifiée par le
mot clé END suivi du nom de fichier qui a été attribué au MODULE .
Dans tout le programme on peut ajouter des commentaires précédés du symbole //.
Elle commence par le mot clé DECLARATIONS. Dans cette section, on indiquera :
La spécification du PLD à programmer.
L'identification des broches utilisées -noms et numéros-
La spécification du type des sorties.
La directive pin permet d'affecter un numéro de broche à une variable -entrée ou sortie-.
Exemple : C, L, P pin 18, 19, 20 ;
On peut aussi trouver dans cette section les déclarations de groupement de variables –bus-.
Exemple : N = [E3, E2, E1, E0] ;
S = [Q7, Q6, Q5, Q4, Q3, Q2, Q1, Q0] ;
Le mot N est constitué des bits E3, E2, E1 et E0.
E3 constitue le MSB (bit de poids fort) et E0 le LSB (bit de poids faible).
Le mot S est constitué des bits Q7, Q6, Q5, Q4, Q3, Q2, Q1 et Q0.
Q7 constitue le MSB et Q0 le LSB.
Est commencé par le mot clé TEST_VECTORS ; l’utilisateur vérifie avec des exemples de
valeurs données aux entrées les états des sorties et s’assure du bon fonctionnement du
programme ;
Exemple :
TEST_VECTORS ([a, b, c, d] => [s1, s2])// Variables d’entrée et variables de sortie
([0, 1, 0, 1] => [1, 1]) ; // Les sorties sont à 1 pour la combinaison 0101 des entrées.
([1, 0, 1, 0] => [0, 0]) ; // Les sorties sont à zéro pour la combinaison 1010 des entrées.
236
Page Traiter Programmation des PLD
L.A.K
237 / F.cours n°7 Classe : 2STE Prof : Equipe pédagogique
C’est dans cette partie qui est décrite la fonction à programmer, la description peut se
faire de plusieurs moyens (équations, table de vérité, diagramme d’état)
Elle est annoncée par le mot clé EQUATIONS, elle décrit les relations liant les sorties aux
entrées ; ces relations peuvent être des fonctions logiques, arithmétiques ou relationnelles :
Le langage ABEL met à la disposition de l’utilisateur un jeu d’opérateurs complet en voici les
détails :
Opérateurs logiques Opérateurs arithmétiques Opérateurs relationnels
! Complément + Addition == Test d’égalité
# OU - Soustraction != Test différent
& ET * Multiplication < Test inférieur
$ OU exclusif / Division entière > Test supérieur
= Affectation combinatoire % Reste de la division entière <= Test inférieur ou égal
:= Affectation séquentielle << Décalage à gauche >= Test supérieur ou égal
>> Décalage à droite
Pour travailler avec les nombres, ABEL précise la base du système de numération adoptée
en utilisant les symboles suivants :
Nombre binaire : ^b exemple : ^b1001
Nombre octal : ^o exemple : ^o 45
Nombre hexadécimal : ^h exemple : ^h FA
Nombre décimal : ^d ou rien exemple : ^ 95
Exemple 1 : Exemple 4 :
EQUATIONS DECLARATIONS
S1 = a &! b & ! c # ! a & b & c; A3,A2,A1,A0 pin 2,3,4,5;
S2 = ! (a # b & c); S3,S2,S1,S0 pin 8,9,10,11 istype ‘com’;
L = A1==B1 ; S=[S3,S2,S1,S0]; // déclaration du groupe S
A=[A3,A2,A1,A0]; // et du groupe A
Exemple 2 : EQUATIONS
A= S<<1 ;
EQUATIONS //décalage à gauche de 1 bit
S= A>B; // S = 1 si A > B ; //A3=S2 A2=S1 A1=S0 A0=0
I = A<B; // I = 1 si A < B ; S= A & [0, 1, 0,0] ;
E= A=B; // S =1 si A = B ; // masque (test du bit A2) : S= [0, A2, 0,0]
Exemple 3 : Exemple 5 :
EQUATIONS EQUATIONS
When A > B then S = 1; When A > B then S = 1 ELSE
When A = = B then I = 1; When A = = B then I = 1 ELSE
When A < B then E = 1; E = 1;
237
Page Traiter Programmation des PLD
L.A.K
238 / F.cours n°7 Classe : 2STE Prof : Equipe pédagogique
Elle est annoncée par le mot clé Truth_Table suivi des nombres de variables d’entrée et
de sortie, on établit juste après la table de vérité en respectant les dispositions des variables
d’entrée et de sortie comme le montre l’exemple suivant :
Truth_table ([A, B] -> [S1, S2, S3])
[0, 0] -> [0, 1, 0];
[0, 1] -> [0, 0, 1];
[1, 0] -> [1, 0, 0];
[1, 1] -> [1, 1, 1];
Le diagramme d’état est souvent avantagé dans le cas des machines séquentielles dont le
fonctionnement est décrit par l’enchaînement séquentiel des états de sortie.
Utilisée pour les transition d’état inconditionnelles. GOTO peut être utilisée si
l’état présent n’offre qu’un seul état suivant.
Format du diagramme :
STATE_DIAGRAM QSTATE
State A: GOTO B;
State B: When Y = = 0 Then C Else A;
State C: GOTO D;
State D: When Y = = 0 Then A Else C;
Constantes
.C. entrée d'horloge bas-haut-bas (monostable)
.K. entrée d'horloge haut-bas-haut (monostable) extensions
.U. front montant d'une entrée horloge .clk entrée d'horloge pour bascule
.D. front descendant d'une entrée horloge .AR reset asynchrone de la bascule
.X. valeur indéterminée à calculer .AP preset asynchrone de la bascule
.Z. valeur trois état
.P. préchargement dans un registre
238
Page Traiter Notions d’asservissement
L.A.K
239 / F.cours n°8 Classe : 2STE Prof : Equipe pédagogique
Notions d’asservissement
1- Mise en situation :
Chaque agglomération dispose d’un château d’eau, qui assure son alimentation en eau
potable. Le château est alimenté par une arrivée sur laquelle est disposée une vanne Ve
permettant de régler le débit d’entrée. La vanne Vs représente les robinets des clients.
Problème : On cherche à maintenir le niveau d’eau dans le château à une hauteur fixée Hs.
Règle
graduée
Hs EAU
POTABLE
Vanne Vs
1.2- Solution N°2 :
+V F1 +Vcc +V
R F4 D
F5
R +
Hc IC1 +
IC2 RB r
FLotteu
- Vs
L -
Vc R
2R Arrivée
R d’eau
R
F2 F3
Hs EAU
POTABLE
Vanne Vs
B- Modélisation graphique :
239
Page Traiter Notions d’asservissement
L.A.K
240 / F.cours n°8 Classe : 2STE Prof : Equipe pédagogique
Simplifier un schéma fonctionnel consiste à fusionner plusieurs boîtes en une seul tout en
respectant les relations entre l’entrée et la sortie de chaque boite.
S c B S
+ B 1 + H.B
- ε
c Donc T = B
m 1 + H.B c S
H T
B appelée Transmittance de la Chaîne direct
H appelée Transmittance de la Chaîne de retour
T appelée Transmittance du système
240
Page Traiter Notions d’asservissement
L.A.K
241 / F.cours n°8 Classe : 2STE Prof : Equipe pédagogique
Fonction F2 :
Donner un nom à cette fonction : …………………..………………………………….
Déduire VsIC1 en fonction de Vc et Vs : …………………..……………………………
Conclusion : La fonction F2 permet de ……………..………………………………….
…………………..………………………………………………………………………………..…
…………………………………………………………………………………………………….…
…………………………………………………………………………………………………….…
Fonction F3 :
Le régulateur est constitué par la fonction F3:
Donner un nom à cette fonction : …………………………………………………..…
…………………………………………………………………………………………………….…
Déduire VsIC2 en fonction de VsIC1 : …………………………………………………..…
Fonction F4 :
L’actionneur est constitué par un transistor (électrovanne) qui fonctionne en commutation :
Donner un nom à cette fonction : …………………………………………………..…
…………………………………………………………………………………………………….…
Si VsIC2 = 0 : ………………………………………………………………………….….…
Si VsIC2 ≠ 0 : ………………………………………………….…………………..……...…
Donner le rôle de la diode D : ………………………………………………………..…
……………………………………………………………………………………………………...
Fonction F5 :
Constituée d’un potentiomètre fixé sur la paroi du bassin dont le curseur est guidé par
………………... solidaire d’une tige permettant de délivrer une tension Vs ………………...............
à la hauteur de l’eau dans le château. Vs = ………………............................
…
P
…
…………. + ………
… … …
-
ε
…
………..
Calcul de T :
Transmittance de la Chaîne direct ………………...............
Transmittance de la Chaîne de retour ………………...............
…………………………………………………………………………………………………….…
…………………………………………………………………………………………………….…
241
Page Traiter Notions d’asservissement
L.A.K
242 / F.cours n°8 Classe : 2STE Prof : Equipe pédagogique
…………………………………………………………………………………………………….…
3- Système asservi :
3.1- Définition :
Système asservi : Un système est dit asservi si une grandeur physique mesurable de sortie du
système est obligée à suivre l’évolution de l’entrée appelée consigne sur laquelle on peut
agir.
Capteur : Un capteur est un dispositif physique qui fournit une image de la grandeur de sortie.
Actionneurs : Un actionneur est un dispositif physique permettant d’agir sur la grandeur de
sortie.
Comparateurs : Un comparateur fournit un signal qui représente l’écart entre la consigne et la
sortie.
Régulateur : Un régulateur permet d’adapter l’écart ε à la loi de commande de la fonction
agir.
Contre réaction : Dans un système asservi la valeur de la sortie intervient dans le calcul de la
commande. En effet, c’est l’écart entre la consigne et la mesure de la sortie qui agit sur
l’actionneur. Cette image fidèle de la sortie est réalisée par une chaîne de réaction (action de
la sortie sur l’entrée). On dit qu’on a réalisé une contre réaction.
242
Page Traiter Notions d’asservissement
L.A.K
243 / F.cours n°8 Classe : 2STE Prof : Equipe pédagogique
ε S
ε S
ε0
K1ε0
t t
Améliore la précision
0
+ C R R C
- - -
ε
+ ε +
S S S ε
R2
R1
243
Page Traiter SYSTEMES ASSERVIS
L.A.K
244 / F.cours n°9 Classe : 2STE Prof : Equipe pédagogique
SYSTÈMES ASSERVIS
1- Relations générales d’une Mcc :
Les moteurs à courant continu comportent un induit bobiné (le rotor) et un inducteur
bobiné ou à aimant permanent. Le rotor tournant confère une inertie propre (J), et son
implantation sur paliers implique des frottements mécaniques (f).
i
iind Ω
V U
J f
Inducteur
Induit Schéma de principe du moteur à courant continu
u = E + R. i + L. di/dt E (t) = K. φ. Ω
M = K. φ. i φ = l. i ind
v = r. i + l. d iind /dt J. d Ω/dt = M - ƒ. Ω
Dans ce cas le flux inducteur est maintenu constant, par l’utilisation soit d’un aimant
permanent pour la création directe du flux, soit d’une source de courant régulée.
φ (t) = φ0 = cte ,on pose : K’ = K. φ0
i
Ω
………………………………………
u
J ………………………………………
………………………………………
f ………………………………………
Induit
244
Page Traiter SYSTEMES ASSERVIS
L.A.K
245 / F.cours n°9 Classe : 2STE Prof : Equipe pédagogique
2.1-Définition :
On appelle système du premier ordre, un système régi par une équation différentielle du
type :
e s
Ko
(τ)
UR
H
La solution de cette équation est de la forme :
UR = H.S UR est l’image de S S (t) = K0. E0. (1 - e –t/τ)
H est la transmittance de la chaîne La pente à l'origine est égale à K0.E0/τ
de retour
Régime transitoire Régime permanant
UR
Régime permanant :
H.K0.E0 Sp = S (+∞) = Lim S (t)
………… t +∞
Écart
Sp = …………………..
= UR = …………………..
………….. Temps de réponse Ts à 5% :
………… S (Ts) = 95%. S (+∞)
E0 S (Ts) = 95%. K0. E0
………………………………………
………………………………………
Précision : (Erreur statique)
Écart = ε = Eo – UR
ε = …………………………………
t Ko étant positif alors : - ∞≤ ε ≤ 1
… …
… …
2.3-…Exemple – machine
… à courant continu - :
… …
On néglige les frottements et l’inductance et on prend U = Uc = cte (L = 0 et ƒ = 0)
L’équation différentielle liant Ω à Uc :
Dans ce cas, on a : Uc = E + R. i E (t) = K’. Ω
M = K’. I J. d Ω/dt = M
Uc = K’.Ω (t) + R. M / k’ Uc = K’.Ω (t) + R.J/K’. d Ω (t) / dt
…………………..……………………………………………………………………………………………
…………………..……………………………………………………………………………………………
L’expression de Ω, Ωp, Ts et ε :
Ω (t) = …………………. Ts = …………………..… Uc Ω
Ω (∞) = ………………… ε = ………………………
Ko
Système ………………… ε = ………………………
245
Page Traiter SYSTEMES ASSERVIS
L.A.K
246 / F.cours n°9 Classe : 2STE Prof : Equipe pédagogique
3.1-Définition :
On appelle système du deuxième ordre, un système régi par une équation différentielle
du type :
e s
Ko
(ωn, a)
ωn : est appelée pulsation libre ou pulsation naturelle ou pulsation propre du système non
amorti
- ωn : se mesure en rad/s -
a : est appelé amortissement du système ou facteur d’amortissement.
K0 : est le gain statique du système (gain en régime permanent).
246
Page Traiter SYSTEMES ASSERVIS
L.A.K
247 / F.cours n°9 Classe : 2STE Prof : Equipe pédagogique
a=1
a +∞
a 0
Régime apériodique
Le comportement du système est non Régime pseudopériodique
oscillant il tend vers la valeur Ko.Eo sans Plus a est petit moins la réponse est
jamais la dépasser. amortie.
Plus le coefficient d’amortissement a est pour a = 0 la réponse est sinusoïdale non
grand plus le temps de réponse est amortie.
important. Pour a = 0.7 le temps de réponse est
pour a =1 la réponse est non oscillante, minimum.
c’est le régime apériodique le plus rapide.
a = 0 réponse sinusoïdale non amortie, alors le système est instable si a <= 0
La tangente à l’origine est nulle
Régime permanant : Précision : (Erreur statique)
Sp = S (+∞) = Lim S (t) Écart = ε = Eo – UR
t +∞ ε = ……………………………
Sp = …………………………… Ko étant positif alors : - ∞≤ ε ≤ 1
UR = ……………………………
Temps de réponse Ts à 5% :
L’abaque ci-dessus donne le temps de réponse à 5% pour un système du second ordre.
On constate sur cette abaque deux parties :
Pour a > 0,7, le temps de réponse augmente lorsque a augmente ;
247
Page Traiter SYSTEMES ASSERVIS
L.A.K
248 / F.cours n°9 Classe : 2STE Prof : Equipe pédagogique
Avec , et
La réponse du système dépend alors du facteur aF, qui dépend du gain de la chaîne directe.
Si H.Ko est très grand, aF tend vers 0. Le système risque de devenir instable.
248
Page Traiter Asservissement de vitesse
L.A.K
249 / F.cours n°10 Classe : 2STE Prof : Equipe pédagogique
VA
R(t) F4
Vm I
D2
Ω
T 2T t U Mcc
Générateur de rampe
Générateur de rampe 5v
F1
R2 - RB F3
-
T1
R1 +
+ U2 D1
F2
R1 U1
U0 R2
Vcc
Rc Rp
Monostable
RF E0
T2 LED
C θ
Ur U5 U4 U3
F5
constante
Asservissement Machine à CC
249
Page Traiter Asservissement de vitesse
L.A.K
250 / F.cours n°10 Classe : 2STE Prof : Equipe pédagogique
250
Page Traiter Asservissement de vitesse
L.A.K
251 / F.cours n°10 Classe : 2STE Prof : Equipe pédagogique
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
251
Page Traiter Asservissement de vitesse
L.A.K
252 / F.cours n°10 Classe : 2STE Prof : Equipe pédagogique
……………………………………………………….……………
t
3.2. Pour quelle valeur de U2 le transistor T1 est bloqué
……………………………………………………….…………… t1
U
3.3. Tracer le chronogramme de U. VA
………
α
Uc
4- Etude de la chaîne directe :
4.1. Compléter le diagramme suivant.
A. Calculer alors B. ε B Ω
…………………………………………………………………………………………………………………
252
Page Traiter Asservissement de vitesse
L.A.K
253 / F.cours n°10 Classe : 2STE Prof : Equipe pédagogique
…………………………………………………………………………………………………………………
U3
3. Tracer les chronogrammes de U4 et U5.
5v
……………………………………………………….…… U4
……………………………………………………….…… t
U5
6. Compléter le bloc fonctionnel de la fonction F3
E0
……… t
Ur Ω θ
U0 ε Ω
+ B
-
Ur
H
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
253
Page Traiter Asservissement de vitesse
L.A.K
254 / F.cours n°10 Classe : 2STE Prof : Equipe pédagogique
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
254
ROYAUME DU MAROC
MINISTERE DE L’EDUCATION
NATIONALE
Académie de Casablanca
DÉLÉGATION AL FIDA MERS SULTAN
Lycée Qualifiant Al Khaouarizmy
Nombre de pages : 25
255
Page Communiquer Généralités sur les Réseaux
L.A.K
256 / F.cours n°1 Classe : 2STE Prof : Equipe pédagogique
Un réseau est un ensemble d’objets connectés entre eux. Il permet de faire circuler un
certain nombre d’information entre ces objets selon des règles bien définies. Un réseau permet
de partager des informations ou des applications, la communication entre personnes ou entre
processus…
Pour communiquer entre eux, les réseaux utilisent des règles, l’ensemble de ces règles est
appelé le protocole de communication.
Il existe 3 grands types de réseaux :
Les réseaux informatiques ou réseaux d’entreprises (Ethernet)
Les réseaux de terrain (MODBUS).
Les réseaux capteurs actionneurs (AS-i).
Les réseaux peuvent être répartis selon la distance couverte en trois grandes catégories :
Réseaux locaux (LAN : Local Area Network) :
Ils correspondent à des réseaux limités en distance car ils permettent le transport des
données sur la distance d’un immeuble.
Réseaux métropolitains (MAN : Metropolitain Area Network) :
Ils correspondent à une interconnexion de plusieurs bâtiments situés dans une même ville et
peuvent constituer des réseaux locaux entre eux.
Réseaux étendus (WAN : Wide Area Network) :
Ils sont destinés à transporter des données à l’échelle d’un pays. Le réseau est soit terrestre
et utilise des équipements au niveau du sol, soit satellite et utilise des équipements spatiaux.
256
Page Communiquer Généralités sur les Réseaux
L.A.K
257 / F.cours n°1 Classe : 2STE Prof : Equipe pédagogique
3.5- Comparaison :
257
Page Communiquer Généralités sur les Réseaux
L.A.K
258 / F.cours n°1 Classe : 2STE Prof : Equipe pédagogique
Collision
Toute information envoyée par un nœud atteindra tous les autres nœuds du réseau.
Chaque nœud a une adresse unique. Il reste constamment en écoute du câble pour détecter les
signaux qui passent sur le réseau. Au passage d’un signal, il vérifie si l’adresse destinataire est
son adresse. Si c’est le cas, il prend le message et le lit, sinon il le néglige.
Si un nœud veut émettre, il doit s’assurer qu’il n’y a aucun message sur le câble. Il peut arriver
que deux nœuds émettent en même temps, il y aura alors une collision qui sera entendue par
l’ensemble des nœuds du réseau. L’émission sera reprise après un temps aléatoire qui, en
général, n’est jamais le même. Ce temps aléatoire fait de CSMA/CD une méthode non
déterministe. Plus le nombre de collisions est élevé, plus le débit des communications ralentit.
La méthode CSMA/CD a été adoptée par un standard qui s’appelle ETHERNET. La topologie
Ethernet s’applique aux réseaux en BUS ou en ETOILE.
Noeuds
Un jeton est un signal qui circule constamment sur le réseau, de poste en poste.
Lorsqu’une station désire émettre, elle doit attendre de recevoir le jeton dans un état libre.
Elle le charge avec les informations, le marque occupé et elle le renvoie sur le réseau à la
station suivante. Cette station vérifie le message, trouve que c’est occupé, contrôle si il lui est
destiné. Si c’est le cas, elle lit les informations, rajoute une indication qui va informer la
station expéditrice que son message a été reçu. Si, par contre, le message ne lui est pas
destiné, elle le réécrit et le laisse passer à la station à côté.
Ce travail se refait par chaque station jusqu’à ce que le jeton arrive à la station émettrice qui
vérifie si le message a été reçu. Si c’est le cas, elle libère le jeton et le renvoie sur le câble.
La méthode d’accès à jeton a été adoptée par le standard TOKEN-RING.
La topologie Token Ring s’applique aux réseaux en ANNEAU.
258
Page Communiquer Généralités sur les Réseaux
L.A.K
259 / F.cours n°1 Classe : 2STE Prof : Equipe pédagogique
Le débit :
C’est la quantité d’informations transportée pendant un temps donné. Il s’exprime en
bits par seconde (baude).
La synchronisation
Il existe deux modes de transmission de données sur un canal :
Mode asynchrone
Dans ce mode, il n’y a pas de relation entre l’émetteur et le récepteur ; les bits du même
caractère sont entourés de signaux, l’un indiquant le début du caractère, l’autre la fin (les bits
Start - Stop)
Mode synchrone
L’émetteur et le récepteur se mettent d’accord sur un intervalle et qui se répète sans arrêt
dans le temps. Les bits d’un caractère sont envoyés les uns derrière les autres et sont reconnus
grâce aux intervalles de temps.
259
Page Communiquer Généralités sur les Réseaux
L.A.K
260 / F.cours n°1 Classe : 2STE Prof : Equipe pédagogique
décision dans l'entreprise. Plus on s'élève dans la pyramide, plus le niveau de décision est
important et la visibilité globale et plus les cycles standards s'allongent.
Le niveau 3 désigne la gestion des produits et des stocks, des approvisionnements, des
clients, des commandes et de la facturation ;
Le niveau 2 regroupe la localisation des produits en stocks, les mouvements physiques
et la gestion des lots (cellules);
Le niveau 1 correspond aux automatismes ;
Le niveau 0 correspond aux capteurs et actionneurs.
7- Réseau avec serveur dédie/serveur non dédie :
Chaque poste peut mettre ses ressources à la disposition du réseau ; il joue le rôle de
SERVEUR et bénéficier des ressources des autres postes ; il est alors CLIENT.
Clients et
Serveur
Imprimante
partagée
Le terme serveur fait référence à tout processus qui reçoit une demande de service venant
d'un client via le réseau, traite cette demande et renvoie le résultat au demandeur (le client).
Imprimante
SERVEUR
SERVEUR
CLIENTS
Un protocole est une méthode standard qui permet la communication entre des
processus (s'exécutant éventuellement sur différentes machines), c'est-à-dire un ensemble de
règles et de procédures à respecter pour émettre et recevoir des données sur un réseau. Il en
260
Page Communiquer Généralités sur les Réseaux
L.A.K
261 / F.cours n°1 Classe : 2STE Prof : Equipe pédagogique
existe plusieurs selon ce que l'on attend de la communication. Certains protocoles seront par
exemple spécialisés dans l'échange de fichiers (le FTP), d'autres pourront servir à gérer
simplement l'état de la transmission et des erreurs (c'est le cas du protocole ICMP), ...
Si vous vous baladez sur Internet, vous avez dû, à un moment ou à un autre, entendre parler de
TCP/IP : Que signifie t-il et comment cela fonctionne ?
TCP/IP est un nom générique qui regroupe en fait un ensemble de protocoles, c'est à dire des
règles de communication.
L'adresse IP est une adresse unique attribuée à chaque ordinateur sur Internet (c'est-à-
dire qu'il n'existe pas sur Internet deux ordinateurs ayant la même adresse IP).
De même, l'adresse postale (nom, prénom, rue, numéro, code postal et ville) permet
d'identifier de manière unique un destinataire.
Tout comme avec l'adresse postale, il faut connaître au préalable l'adresse IP de
l'ordinateur avec lequel vous voulez communiquer.
L'adresse IP se présente le plus souvent sous forme de 4 nombres (entre 0 et 255) séparés
par des points. Par exemple: 204.35.129.3
261
Page Communiquer Les Réseaux d’Entreprise
L.A.K
262 / F.cours n°2 Classe : 2STE Prof : Equipe pédagogique
Connecteur
Prise RJ45
LA TOPOLOGIE EN ETOILE 100BaseTX
Débit : 10 Mbits/s
Longueur : 100 m max
Sensible aux perturbations électromagnétiques
262
Page Communiquer Les Réseaux d’Entreprise
L.A.K
263 / F.cours n°2 Classe : 2STE Prof : Equipe pédagogique
Emetteur
Récepteur
SWITCH :
Les machines sont reliées individuellement aux entrées d’un concentrateur –
commutateur appelé SWITCH. Les trames envoyées sont aiguillées directement à la machine
destinatrice.
Emetteur
Récepteur
263
Page Communiquer Les Réseaux d’Entreprise
L.A.K
264 / F.cours n°2 Classe : 2STE Prof : Equipe pédagogique
2.4- Le routeur :
Le routage est la technique qui permet d’échanger des informations d’un poste d’un réseau
vers un autre poste situé sur un autre réseau. Le routage fait appel à un équipement
matériel spécifique. Le routeur comporte trois fonctions principales
Permettre la communication entre des machines n’appartenant pas au même réseau.
Offrir un accès Internet à des utilisateurs d’ordinateur en réseau local.
Il comporte généralement un système de filtrage des paquets IP qui bloque les accès non
autorisés à un réseau, ce système s’appelle un pare-feu (firewall)
La constitution d’un réseau privé (LAN, MAN ou WAN) constitue un INTRANET. Si une
entreprise autorise ses partenaires à utiliser en partie son Intranet, alors elle crée un
EXTRANET.
La communication a lieu via INTERNET: un ensemble de réseaux privés reliés les uns aux autres.
Réseau 1 Réseau 2
Routeur
Routeur
INTERNET
3- Aspect logiciel :
3.1- Adressage IP :
La communication entre les machines dans un réseau local s’établit grâce à un protocole qui
garantit un acheminement fiable des données.
Le protocole TCP/IP = Transport Control Protocol / Internet Protocol reste le plus utilisé
dans les réseaux locaux. C’est le protocole aussi utilisé sur l’Internet.
Les données émises par une station sont découpées en paquets ce qui permet un meilleur
trafic.
Il s’agit de l’adresse de l’ordinateur sur le réseau, elle est formée de 32 bits et doit être
unique sur le réseau local. Une adresse IP est formée de 2 parties : l’identificateur réseau et
l’identificateur machine.
264
Page Communiquer Les Réseaux d’Entreprise
L.A.K
265 / F.cours n°2 Classe : 2STE Prof : Equipe pédagogique
Pour un réseau local on peut choisir cette adresse dans un certain nombre de plage
appelé classe de réseau. Ces adresses sont dites publiques car tout le monde peut les utiliser à
souhait au sein d’un réseau local. On choisira entre 5 classes (A, B, C, D et E) suivant
l’importance du réseau.
Plage d’adresses IP
Adresse mini Adresse max
Classe A 0 Adresse réseau Adresse machine 0.0.0.0 127.255.255.255
7 bits 24 bits
Classe B 1 0 Adresse réseau Adresse machine 128.0.0.0 191.255.255.255
14 bits 16 bits
Classe C 1 1 0 Adresse réseau Adresse machine 192.0.0.0 223.255.255.255
21 bits 8 bits
Classe D 1 1 1 0 Adresse multidestinataire 224.0.0.0 239.255.255.255
28 bits
Classe E 1 1 1 1 0 Réservé pour usage ultérieur 240.0.0.0 247.255.255.255
Masque de sous
Classe Equivalent binaire
réseau associé
A 255.0.0.0 11111111.00000000.00000000.00000000
B 255.255.0.0 11111111.11111111.00000000.00000000
C 255.255.255.0 11111111.11111111.11111111.00000000
Exemple :
Soit la machine 192.168.12.1 avec le masque 255.255.255.0
Exemple :
Soient 2 machines désirant communiquer :
La machine 1 a pour IP 192.168.66.200
La machine 2 a pour IP 192.168.66.17
265
Page Communiquer Les Réseaux d’Entreprise
L.A.K
266 / F.cours n°2 Classe : 2STE Prof : Equipe pédagogique
Machine 1 Machine 2
Adresse IP 192.59.66.200 192.59.66.17
Masque de sous réseau 255.255.255.0 255.255.255.0
Résultas de l’application du masque 192.59.66.0 192.59.66.0
L’application du masque sur les 2 adresses IP donne le même résultat, les 2 machines
appartiennent au même réseau, elles peuvent donc communiquer directement sans passer par
le routeur.
Après l'installation d'un système de réseau, il y a apparition d'un nouvel icône sur votre
bureau : le voisinage réseau. Un double-clic sur cet icône vous montre tous les ordinateurs de
votre groupe de travail actuellement connectés.
Pour imprimer sur une imprimante du réseau, il vous faut d'abord l'installer chez vous. Le
plus simple pour cela est de cliquer avec le bouton droit sur l'imprimante partagée de
l'ordinateur distant, et faire 'installer...'.
266
Page Communiquer Les Réseaux d’Entreprise
L.A.K
267 / F.cours n°2 Classe : 2STE Prof : Equipe pédagogique
Un ordinateur connecté à Internet peut être attaqué par des pirates informatiques. Une
technique pour le protéger est d'utiliser un pare-feu.
Le pare-feu a pour objectif de filtrer les paquets qui arrivent sur votre ordinateur et de ne
laisser entrer que les paquets autorisés.
À l’image d’un mur en brique capable de créer un obstacle physique, un pare-feu crée un
obstacle entre Internet et votre ordinateur.
Il existe deux principaux types de pare-feu :
pare-feu logiciels ;
routeurs matériels.
Les pare-feux logiciels constituent une bonne solution pour les ordinateurs seuls. Les
systèmes d'exploitation Windows XP, Vista ou Seven possèdent leur propre pare-feu intégré.
Les routeurs matériels constituent un bon choix si vous disposez d'un réseau domestique
connecté à Internet. Les routeurs matériels assurent la protection de plusieurs ordinateurs.
267
Page Communiquer Protocole MODBUS
L.A.K
268 / F.cours n°3 Classe : 2STE Prof : Equipe pédagogique
Protocole MODBUS
1- Liaison différentielle :
1.1- Principe :
Sur une liaison différentielle (ou symétrique) les signaux (T+ et T-) sont transmis en
opposition de phase. Le récepteur réalise la différence de ces deux signaux (R+ et R-) pour
obtenir le signal utile
Si une perturbation se produit, elle se présente sur les deux fils avec la même polarité
Le récepteur réalise la différence des deux signaux : la perturbation n'est pas transmise au
signal utile
Ou sur 2 fils
268
Page Communiquer Protocole MODBUS
L.A.K
269 / F.cours n°3 Classe : 2STE Prof : Equipe pédagogique
T-
5v
T+
5v
U= T--T+
5v
-5v
Cette liaison travaille avec des différences de tensions de 5V comme niveau de signal.
La différence de potentielle est toujours la même, seul le signe de la différence est changé.
Le niveau logique est à 1 quand la différence de potentielle entre la ligne T- et T+ est de –5V, et
de 0 quand la différence de potentiel est à +5V.
2- Liaison RS485 :
C’est une liaison série, de type asynchrone, différentielle, multipoints et bifilaire qui
permet un débit élevé -jusqu'à 10 Méga-bits/seconde- sur une distance importante -jusqu'à
1200m-. Elle dispose de 2 bornes d'émission polarisées notées T (+), T (-) et de 2 bornes de
réception polarisées notées R (+), R (-).
269
Page Communiquer Protocole MODBUS
L.A.K
270 / F.cours n°3 Classe : 2STE Prof : Equipe pédagogique
3- Protocole MODBUS :
3.1- Définition :
Le protocole Modbus est un protocole de dialogue basé sur une structure hiérarchisée entre
un maître et plusieurs esclaves.
Une liaison multipoints RS-485 relie le maître et les esclaves, cette liaison peut être sur 4
fils ou sur 2 fils.
270
Page Communiquer Protocole MODBUS
L.A.K
271 / F.cours n°3 Classe : 2STE Prof : Equipe pédagogique
Remarque : L'adresse de l'esclave ‘00’ indique que tous les esclaves sont concernés (diffusion
générale).
Requête maitre (sans l’entête)
Deux types de codage peuvent être utilisés pour communiquer sur un réseau MODBUS.
Tous les équipements présents sur le réseau doivent être configurés selon le même type.
Type ASCII : chaque octet composant une trame est codé avec 2 caractères ASCII
(2 fois 8 bits).
Type RTU (Unité terminale distante) : chaque octet composant une trame est codé sur 2
caractères hexadécimaux (2 fois 4 bits).
LRC :(Longitudinal Redundancy Check) C’est la somme en hexadécimal modulo 256 du contenu
de la trame hors délimiteurs, complémentée à 2 et transmise en ASCII.
CRC16 : Le CRC (Cyclical Redundancy Check) est calculé par l'émetteur avant d'être transmis.
Le récepteur calcule aussi le CRC et le compare avec le CRC reçu : des valeurs différentes
indiqueront une erreur dans la transmission du message
3.3- Remarques :
Le protocole MODBUS est très utilisé pour les communications des automates
programmables industriels et des variateurs de vitesse des moteurs électriques.
Avant et après chaque message, il doit y avoir un silence équivalent à 3,5 fois le temps
de transmission d’un mot.
Le mode ASCII permet d’avoir des intervalles de plus d’une seconde entre les différents
caractères sans que cela ne génère d’erreurs, alors que le mode RTU permet un débit
plus élevé pour une même vitesse de transmission.
271
Page Communiquer Protocole MODBUS
L.A.K
272 / F.cours n°3 Classe : 2STE Prof : Equipe pédagogique
PF .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
Pf
0. NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT NP CR SO SI
1. DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
2. ! ″ # $ % & ` ( ) * + , - . /
3. 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4. @ A B C D E F G H I J K L M N O
5. P Q R S T U V W X Y Z [ \ ] ^ _
6. ` a b c d e f g h i j k l m n o
7. p q r s t u v w x y z { | } ~ Del
272
Page Communiquer Protocole MODBUS
L.A.K
273 / F.cours n°3 Classe : 2STE Prof : Equipe pédagogique
Réponse esclave
Exemple : Donner la requête Maitre et celle de l’esclave pour une lecture des 3 mots W1 à W3
d’adresses respectives ($0C1E à $0C20) de l’esclave 2 à l’aide de la fonction 3
(W1= $0028) : (W2= $0258) : (W3= $01F4)
Requête maitre
Réponse esclave
Requête maitre
Entête @ esclave Fonction @ du 1er Nbre de Nbre Val du _ _ Val du LRC END
mot à lire mots d’octets 1er mot dernier mot
: 2 2 2 4 2 4 2 2 2
caract caract caract Caract Caract Caract caract caract caract
__
273
Page Communiquer Protocole MODBUS
L.A.K
274 / F.cours n°3 Classe : 2STE Prof : Equipe pédagogique
Réponse esclave
Exemple : Ecriture des valeurs 20 et 30 dans les mots d’adresses $2329 et $232A de l’esclave 2
Requête maitre
Réponse esclave
274
Page Communiquer Bus ASI
L.A.K
275 / F.cours n°4 Classe : 2STE Prof : Equipe pédagogique
2- Aspect matériel :
2.1- Structure :
Répétiteur