Académique Documents
Professionnel Documents
Culture Documents
(I.2)
G0 est appel gain statique du processus. La valeur de celui-ci peut dpendre du
point de fonctionnement considr et nest donc pas forcment constante dans
tout le domaine de variation des grandeurs du processus. On dit alors que le
processus est non linaire. La courbe caractristique
( ) S u
peut elle-mme
dpendre dautres paramtres. Sur la figure (I.6) est reprsent un rseau de
courbes
( ) S u
dpendant dun paramtre . Il arrive aussi que le gain statique
dpende du sens de laction de la grandeur rglante : on a alors affaire un
phnomne dhystrsis.
Figure I.6 : Comportement statique de processus
I.6.2- Comportement dynamique des processus
Processus naturellement stables
La rponse naturelle dun processus une variation en chelon de sa grandeur
rglante permet de savoir sil est naturellement stable ou instable.
Dans le cas de procds stables (tels que fours et tuves, par exemple), une
excitation U de la grandeur rglante produit, la fin du rgime transitoire
correspondant, une variation limite S de la grandeur rgle
Figure I.7 : Comportement dun processus naturellement stable
Dans la majorit des cas, les rgimes transitoires associs ce type de rponse
ne comportent ni oscillation ni dpassement de la valeur finale ; ces processus
sont dits stables apriodiques.
Il est possible de reprsenter ces processus par une relation mathmatique
gnrale de la forme :
0
1 2
( )
(1 )(1 )...(1 )
n
G
G p
p p p
+ + +
(I.3)
Processus naturellement instables
Dans un processus naturellement instable, une excitation U de la grandeur
rglante produit une variation S de la grandeur rgle dpendant continment
du temps, donc illimite.
Figure I.8 : Comportement dun processus naturellement in stable
Un exemple type de ces processus est la commande du niveau deau dans un
rservoir, partir dun dbit introduit ou soutir. Si le dbit entrant ou sortant
est modifi dune valeur constante, alors que le niveau tait auparavant stabilis,
celui-ci augmentera ou diminuera jusquau dbordement ou la vidange du
rservoir.
Il est possible, dans la plupart des cas, de reprsenter ces processus par une
relation de type :
1
1
( ) ( ) G p G p
p
(I.4)
avec
1
( ) G p
fonction de transfert quelconque du type apriodique. On dit alors
que le processus comporte naturellement un intgrateur pur.
I.7- Les caractristiques du rgulateur PID
Le rgulateur standard le plus utilis dans lindustrie est le rgulateur PID
(proportionnel intgral driv), car il permet de rgler laide de ses trois
paramtres les performances (amortissement, temps de rponse, ...) dun processus
modlis par un deuxime ordre. Nombreux sont les systmes physiques qui,
mme en tant complexes, ont un comportement voisin de celui dun deuxime
ordre. Par consquent, le rgulateur PID est bien adapt la plupart des processus
de type industriel et est relativement robuste par rapport aux variations des
paramtres du procd, quand on nest pas trop exigeant sur les performances de la
boucle ferme par rapport celles de la boucle ouverte (par exemple, acclration
trs importante de la rponse ou augmentation trs importante de lamortissement
en boucle ferme).
Si la dynamique dominante du systme est suprieure un deuxime ordre,
ou si le systme contient un retard important ou plusieurs modes oscillants, le
rgulateur PID nest plus adquat et un rgulateur plus complexe (avec plus de
paramtres) doit tre utilis, au dpend de la sensibilit aux variations des
paramtres du procd.
I.7.1-Les actions PID
En pratique, une catgorie donne de systmes asservir correspond un type de
correcteur adopt. Pour effectuer un choix judicieux, il faut connatre les effets des
diffrentes actions : proportionnelle, intgrale et drive.
Un rgulateur PID est obtenu par lassociation de ces trois actions et il remplit
essentiellement les trois fonctions suivantes :
1. Il fournit un signal de commande en tenant compte de lvolution du signal
de sortie par rapport la consigne
2. Il limine lerreur statique grce au terme intgrateur
3. Il anticipe les variations de la sortie grce au terme drivateur.
Rgulateur
PID
(t) u(t)
Figure I.9: Schma synoptique dun rgulateur PID
La commande
( ) U t
donne par le rgulateur PID, dans sa forme
Classique est dcrite par :
0
1 ( )
( ) ( ) ( )
t
p d
i
d t
U t K t d T
T dt
1
+ +
1
]
(I.5)
Elle est la somme de trois termes :
le terme proportionnel
( )
p
P K t
(I.6)
le terme intgral
0
1
( )
t
p
i
I K d
T
(I.7)
le terme drivatif
( )
p d
d t
D K T
dt
(I.8)
Les paramtres du rgulateur PID sont le gain proportionnel
p
K
, le temps intgral
i
T
et le temps drivatif
d
T
, les temps tant exprims en secondes.
I.7.1.1- Laction proportionnelle
La sortie
( ) U t
du rgulateur proportionnel est donne en fonction de son
entre
( ) t
qui reprsente lcart entre la consigne et la mesure par la relation :
( ) ( )
p
u t K t
(I.9)
Pour le cas discret, cette relation reste la mme telle que :
) ( ) ( k K k u
p
(I.10)
Le rle de laction proportionnelle est de minimiser lcart
entre la consigne et la
mesure et elle rduit le temps de monter et le temps de rponse. On constate
quune augmentant du gain
p
K
du rgulateur entrane une diminution de lerreur
statique et permet dacclrer le comportement global de la boucle ferme. On
serait tent de prendre des valeurs de gain leves pour acclrer la rponse du
procd mais on est limit par la stabilit de la boucle ferme. En effet, une valeur
trop leve du gain augmente linstabilit du systme et donne lieu des
oscillations.
I.7.1.2- Laction drive
Elle est une action qui tient compte de la vitesse de variation de lcart
entre la consigne et la mesure, elle joue aussi un rle stabilisateur, contrairement
laction intgrale.
En effet, elle dlivre une sortie variant proportionnellement la vitesse de variation
de lcart :
( )
( )
d
d t
u t T
dt
(I.11)
avec
d
T
le dosage de laction drive, exprim en minutes ou en secondes.
Laction drive va ainsi intervenir uniquement sur la variation de lerreur ce qui
augmente la rapidit du systme (diminution des temps de rponses). Laction drive
permet aussi daugmenter la stabilit du systme par apport de phase (
2
+ ce qui
augmente la marge de phase). Lannulation de cette action en rgime statique impose
donc de ne jamais lutiliser seule : laction drive nexerce quun complment
laction proportionnelle.
En pratique, il est souhaitable de limiter laction drive afin de ne pas amplifier les
bruits haute frquence et de limiter lamplitude des impulsions dues aux discontinuits
de lcart. Lorsque la priode dchantillonnage Te est petite, la diffrence vers
larrire (Approximation dEuler rtrograde) nous permet dapprocher la drive dun
signal temps continu par :
( ) ( ) ( )
e
e
f t f t T df t
dt T
(I.12)
Lopration de drivation se traduisait par une multiplication par la variable de
Laplace
p
en continu. Dans le cas discret, en appliquant la transforme en
z
lquation (I.12) on obtient :
1
( ) ( ) 1
( )
e
e e
f t f t T z
F z
T T
' ;
Z
(I.13)
Ceci conduit tablir lquivalence linaire entre la variable de Laplace
p
et la
variable
z
:
( )
1
1
1
e
p z
T
(I.14)
Donc en discret, le terme driv peut tre remplac par :
( ) .( ( ) ( 1))
d
e
T
u k k k
T
(I.15)
I.7.1.3- Laction intgrale
Laction intgrale agit proportionnellement la surface de lcart entre la consigne et
la mesure, et elle poursuit son action tant que cet cart nest pas nul. On dit que
laction intgrale donne la prcision statique (Elle annule lerreur statique). L'action
intgrale est conditionne par le temps d'intgrale Ti.
0
1
( ) ( )
t
i
u t d
T
(I.16)
Comme dans le cas de laction proportionnelle, un dosage trop important de laction
intgrale engendre une instabilit de la boucle de rgulation. Pour son rglage, il faut
l aussi trouver un compromis entre la stabilit et la rapidit.
Lajout du terme intgral permet damliorer la prcision mais en contrepartie, il
introduit malheureusement un dphasage de
2
(I.17)
Ti : Constante de temps intgrale et sexprime en (s).
Le problme est que lorsque
(I.18)
La fonction de transfert du correcteur est alors donne par :
1
( )
i
p
i
T p
C p K
T p
+
(I.19)
Pour un rgulateur intgral pur, le rgime dynamique est relativement long. Dun
autre ct, le rgulateur proportionnel ragit immdiatement aux carts de rglage
mais il nest pas en mesure de supprimer totalement lerreur statique. La combinaison
des actions proportionnelle et intgrale permet dassocier lavantage du rgulateur P,
c'est--dire la raction rapide un cart de rglage, lavantage du rgulateur I qui est
la compensation exacte de la grandeur pilote.
La transposition de correcteurs continus consiste discrtiser un correcteur continu
afin de lutiliser dans une commande numrique.
En utilisant cette quivalence dans lquation (I.11), on obtient le correcteur PI
discret :
( )
1
1
( )
( )
( ) 1
p i p
K K K z
U z
C z
z z
(I.20)
Do on obtient lalgorithme de commande du rgulateur PI :
( )
( ) ( 1) ( ) ( 1)
p i p
u k u k K K k K k + +
(I.21)
I.7.3. Le rgulateur PID
Laction conjugue PID permet une rgulation optimale en associant les avantages de
chaque action : la composante P ragit lapparition dun cart de rglage, la
composante D soppose aux variations de la grandeur rgle et stabilise la boucle de
rgulation et la composante I limine lerreur statique. Et cest pour cela que ce type
de correcteur est le plus utilis en milieu industriel.
Dans un rgulateur PID, il existe plusieurs faons dassocier les paramtres P, I et D.
en effet, le correcteur PID peut avoir une structure srie, parallle ou mixte :
Tableau I.1 : Diffrentes structures du rgulateur PID
Structure du rgulateur PID Schma et fonction de transfert
Srie
1
i d
P d
i i
T T
K pT
T pT
_ +
+ +
,
Parallle
1
P d
i
K pT
pT
+ +
Mixte
1
1
P d
i
K pT
pT
_
+ +
,
La discrtisation du correcteur PID parallle par lapproximation dEuler
rtrograde nous donne :
( )
1
1
( ) 1
( ) 1
( ) 1
e d
p
i e
T T U z
C z K z
z T z T
+ +
(I.22)
ce qui nous donne lalgorithme de commande suivant :
( ) ( )
( ) ( 1) ( ) 2 ( 1) ( 2)
p i d p d d
u k u k K K K k K K k K k + + + + +
(I.23)
avec
e
i
i
T
K
T
et
d
d
e
T
K
T
(z)=min(
( ) x
,
( ) y
) (I.26)
Figure I.13 : Oprateur ET
Le sous-ensemble X ou Y, Z=A
(z)=max (
( ) x
,
( ) y
) (I.27)
Figure I.14 : Oprateur OU
Ces dfinitions sont celles les plus communment utilises mais parfois, pour certains
cas, d'autres sont plus appropries. Par exemple l'intersection peut tre dfinie par le
produit des fonctions d'appartenance et l'union par la moyenne arithmtique des
fonctions d'appartenance. Ces diffrentes techniques de calcul engendrent une norme
capacit d'adaptation des raisonnements flous.
I.8.4- Structure dune commande floue
La structure conventionnelle d'une commande floue est prsente par figure (II.7).
Elle est compose de quatre blocs distincts dont les dfinitions son donnes ci-
dessous.
Figure I.15 : Structure dune commande floue
Avec x reprsente le vecteur des entres (variable dentre relles), x
RES
celui des
commandes (variable de sortie relle), (x) et (x
RES
) les fonctions d'appartenances
correspondantes (variable dentre floue et variable de sortie floue).
On procde tout dabord la partition en sous-ensembles flous des diffrents univers
de discours que le systme impose. Ensuite on dtermine la base de rgles qui va
caractriser le fonctionnement dsir du systme.
Puis il faut transformer les variables relles, cest dire celles qui ont une ralit
physique, en variables floues. On appelle cette tape la fuzzification On utilise ensuite
ces variables floues dans un mcanisme dinfrence qui cre et dtermine les variables
floues de sortie en utilisant les oprations sur les fonctions dappartenance.
Enfin, on opre la dfuzzification qui consiste extraire une valeur relle de sortie
partir de la fonction dappartenance du sous-ensemble flou de sortie tabli par le
mcanisme dinfrence.
I.8.5- Quelques techniques de fuzzification et dfuzzification
Il existe de trs nombreuses techniques de fuzzification et dfuzzification. On ne
prsente ici que les plus basiques pour rendre un tant soit peu concret ces oprations
qui constituent une des parts les plus importantes de la ralisation dune commande
floue.
Technique de fuzzification :
Lexemple trivial est la fuzzification dune valeur exacte
0
x
. Le sous-ensemble flou
li cette variable est alors caractris par la fonction dappartenance suivante :
Figure I.16 : Mthode de fuzzification pour une mesure exacte
Lautre technique de base est la fuzzification dune valeur
0
x
entache d'une
incertitude
e
) e , e ( f
u
+_
w
Figure I.20 : Structure d'un PI flou de type Mamdani
La loi de commande du rgulateur PD-flou, est obtenu en suppriment lintgration la
sortie. Les rgles ont la forme suivante :
1 2
:
i i i i
R Si e est F et e est F ALORS U h (I.30)
Pour le rgulateur PID-floue, la loi de commande est obtenue grce lerreur, sa
variation et sa variation seconde..Les rgles ont la forme suivante :
1 2 3
: 2
i i i i i
R Si e est F et e est F et e est F ALORS U h (I.31)
La dfuzzification est gnralement effectue par la mthode du centre de gravit.
Une variante de la mthode de Mamdani consiste remplac loprateur min de
linfluence floue par loprateur prod (produit)
I.8.7- Les rgulateurs flous de type Sugeno
Le modle de Sugeno est connu sous le nom de TSK, car il a t propos par Takagi,
Sugeno et Kang en 1988.ce modle a pour but de donner la sortie de la rgle des
valeurs concrtes, et non pas une valeur floue, qui ncessite une tape de
dfuzzification.
Le systme flou de type Takagi-Sugeno, utilise des rgles crites de la manire
suivante :
1 1
: ...... ( )
i i i i
n n
R Si x est F est x est F ALORS U h X (I.32)
Chacune de ces rgles reprsente un modle local sur une rgion floue
dentre, ou sur un sous-espace dentre. Dans chaque rgion, le modle flou est
dfini par la fonction
i
h
qui relie les entres la sortie numrique. Le modle global
est constitu par linterpolation des modles locaux.
I.8.8-conclusion
Dans ce chapitre, nous avons prsent les diffrents mthodes de rgulation en boucle
ouverte et en boucle ferm,, une description gnrale des systmes industriel ainsi que
quelque mthode de rgulation, qui se rsument dans lutilisation des rgulateurs PID
Enfin, nous avons touch la logique floue travers les rgulateurs de type Mandani et
de Sugeno.
Nous prsentons dans le chapitre suivant la maquette dont on doit rguler le niveau
deau.
Chapitre II : Description du
systme de rgulation de niveau
deau
II : Description du systme de rgulation de niveau deau
II.1. Introduction
On se propose dans ce chapitre de prsenter le systme de rgulation du niveau deau
dans un rservoir. Ceci permettra de mettre en vidence les diffrents composants
d'une boucle de rgulation et de comprendre les actions PID du rgulateur pour
atteindre des performances dsires.
II.2. Prsentation de la maquette
La maquette de rgulation est constitue dun rservoir haut de remplissage deau,
dun rservoir bas (source deau), dun capteur de pression diffrentielle, dune
motopompe et de deux cartes lectroniques lune dacquisition ou de mesure et lautre
est de puissance destine la commande. La rgulation est assure par un programme
construit avec le logiciel LABVIEW, quon prsentera aprs , la rgulation est faite
avec un PID industriel .
Le schma synoptique de la structure de la maquette conue est donn par la figure
Figure II.1 : Structure de la maquette
Le rservoir haut est en plexiglas transparent permettant ainsi lobservation
de lvolution du niveau deau. De plus le Plexiglas prsente beaucoup moins
de dangers que le verre en cas de bris. Le rservoir haut est de forme
paralllpipdique, de 30 cm de hauteur et de largeur, et de 4 cm de
profondeur, une rgle gradue permet de lire directement le niveau deau. Ce
rservoir prsente une entre de remplissage deau, une sortie dvacuation et
une sortie de trop-plein.
Le rservoir bas reprsente la source deau, il est naturellement plus
volumineux que le rservoir haut. Il est aussi de forme paralllpipdique, de
30 cm de hauteur et de largeur, et de 18 cm de profondeur. Il a une capacit
de remplissage de 5 litres. Ce rservoir est aussi en plexiglas mais opaque et
non transparent.
La motopompe permet le remplissage du rservoir haut, elle est compose
dune entre daspiration de 10 mm de diamtre, dune sortie de refoulement
de 3 mm de diamtre, dune pompe hermtique et dun cordon
dalimentation. La motopompe est alimente par une tension continue
variable de 0 12 V, elle consomme en fonctionnement nominal un courant
de 2.6 A.
Le capteur, rfrenc HONEYWELL 26PCAFA6D (voir Annexe A),
mesure la pression du fond du rservoir haut par rapport la pression
atmosphrique. Il est aliment par 12 V et dlivre une sortie variant de 0 17
mV. Pour une colonne deau de 70 cm, le capteur dlivre une tension de
mesure gale 17 mV. La sortie du capteur tant en millivolts, la ralisation
dun amplificateur dinstrumentation savre donc indispensable pour
permettre au rgulateur de lire limage du niveau deau. Un tube en verre
reli une conduite en plastique permet de transmettre hermtiquement la
pression du fond du rservoir au capteur.
La vanne manuelle place sur le retour dvacuation permet de varier le dbit
de sortie du rservoir haut et dintroduire des perturbations en
fonctionnement statique.
Le trop-plein a un diamtre suffisamment grand pour garantir deux
fonctions : prvenir le dbordement du rservoir haut, en cas de
disfonctionnement du systme ou en cas dun dpassement important, et
maintenir le rservoir bas la pression atmosphrique empchant ainsi la
cration dune dpression lorsque la pompe aspire de leau.
II.3. Carte de mesure
Pour pouvoir rguler le processus, le rgulateur doit avoir une tension image bien
adapte. En effet, le capteur dlivre une sortie 0-17 mV et le microcontrleur a une
pleine chelle gale 5 V. Le capteur fait correspondre une tension nulle une
hauteur nulle et une tension de 17 mV une hauteur de 70 cm or la hauteur maximale
de la colonne deau dans le rservoir ne dpasse pas les 28 cm ce qui nous impose
den tenir compte.
Pour une colonne deau de hauteur gale 28 cm, on a relev une tension de sortie du
capteur valant 5,6 mV do on peut calculer le gain damplification :
3
5
893
5.6 10
G
II.3.1. Montage de lamplificateur dinstrumentation
Le schma de la figure II.2 reprsente le montage de lamplificateur
dinstrumentation, constituant le conditionneur du capteur de pression diffrentielle.
Les entres
e +
et
e
reprsentent respectivement la sortie (+) et la sortie () du
capteur.
Figure II.2 : Schma du conditionneur
Le bloc form par les amplificateurs 1, 2 et 3 reprsente le conditionneur. Le
potentiomtre P permet davoir un gain variable pour bien talonner la mesure.
Le bloc form par lamplificateur 4 et le montage potentiomtrique permet un
rglage de loffset. En effet, une tension de dcalage apparat la sortie de
lamplificateur 3 ce qui fausse la lecture du niveau deau. Grce ce montage
soustracteur, on parvient liminer la tension de dcalage.
Le dernier bloc du montage reprsente un filtre passe bas qui contribue au lissage de
la mesure par sa frquence de coupure qui a t choisie gale 100Hz .
II. 3.2- Etalonnage du capteur
Ltalonnage nous permet de se renseigner sur la sensibilit du capteur et sur la
linarit de sa rponse ou non par rapport la variation de la pression. En variant le
niveau deau, on a relev les valeurs suivantes de la tension de sortie du capteur :
Tableau II.1 : Variation de la mesure en fonction du niveau
h(cm) 0 2 4 6 8 10 12 14 16 18 20 22 24 26 27
V(volts) 0,05 0,5 0,8 1,16 1,5 1,9 2,2 2,6 2,9 3,3 3,6 4 4,4 4,7 4,94
Figure III.3 : Courbe dtalonnage du capteur
La courbe dtalonnage est linaire, on peut donc varier la commande
proportionnellement au niveau deau choisit sans avoir compenser la mesure
dlivre par le capteur.
II.4. Carte de commande
Il est impossible de commander directement un moteur de courant nominal dpassant
les deux ampres. Lamplificateur de puissance doit donc dlivrer la puissance
ncessaire au fonctionnement du moteur. La commande dlivre par le rgulateur est
une commande en tension ce qui veut dire que lamplificateur doit avoir un gain
unitaire en tension et un gain en courant permettant lalimentation du moteur sans
surcharge excessive.
Le moteur arrive pomper de leau dans le rservoir haut partir dune tension de
commande gale 4,2 V, il est donc ncessaire de le commander par une tension
dpassant les 5 volts pour pouvoir aisment remplir le rservoir.
Pour avoir le bon fonctionnement du montage, on applique une tension de 8V.
II.4.1. Montage de lamplificateur de puissance :
Le montage de lamplificateur de puissance utilis est donn par le schma
de la figure II.4 :
0
1
2
3
4
5
6
0 2 4 6 8 10 12 14 16 18 20 22 24 26 27
V (volts)
h (cm)
Figure II.3 : Schma de lamplificateur de puissance
II.4.2. Fonctionnement du montage
Les diodes D1 et D2 sont des diodes de protection contre linversion des
tensions dalimentation.
Les capacits C1 et C2 sont des capacits de filtrage.
Soient
1
V
la tension de sortie de lamplificateur 1 et
2
V
la tension
dentre non inverseuse de lamplificateur 2, on a :
1
1
3
1
e
R
V V
R
_
+
,
et
4 4 1
2 1
2 4 2 3 3
(1 )
e
R R R
V V V
R R R R R
+
+ +
On doit tout dabord avoir un gain en tension gal 1.6 au niveau du
premier amplificateur pour avoir une tension de commande gale 8 V au lieu de 5
V, il faut donc avoir
1 3
0.6 R R
. En prenant
1
9.1 R k
et
3
15 R k
, on obtient
un rapport gal 0.606.
On a aussi :
5
2
5 6
S
R
V V
R R
+
ou bien
6
2
5
1
S
R
V V
R
_
+
,
Donc :
6 4 1
5 2 4 3
1 1
S e
R R R
V V
R R R R
_ _ _
+ +
+
, , ,
En choisissant
2 4 5 6
10 R R R R k
, on obtient
1.6
S e
V V
Pour une tension de commande gale 5 V, le moteur sera aliment par 8 V.
II.5-conclusion
Dans ce chapitre on a prsent la description lectronique de la maquette de
rgulation de niveau deau, la carte de mesure et la carte de commande. On prsentera
ensuite dans le chapitre suivant la structure de la carte dinterfaage ralis et les
principes de conversion A/N et N/A et le protocole de la transmission srie
Chapitre III : Dveloppement
dune carte dinterfaage base de
PIC16F877
III. Dveloppement dune carte dinterfaage base de PIC16F877
III.1-principe dinterfaage
Linterfaage permet lchange dinformations entre deux ou plusieurs priphriques,
Pour notre cas on sintresse linterfaage entre un PC et un rservoir remplit deau,
pour cela on a ralis une carte dinterfaage base de PIC 16F877.
III.2-descriptions des composants de la carte de commande ralise
Pour pouvoir commander le procd (dans notre cas cest un niveau deau dans un
rservoir) avec une loi de commande numrique travers un PC, il est ncessaire
dutiliser une carte dinterfaage qui a pour but de transformer les signaux numrique
des signaux analogique quivalente et les signaux analogiques en des signaux
numrique quivalente.
La carte ralise contient :
Un PIC16F877
Un DAC0808
Un AOP LF351
MAX232
Port srie
Nous dcrivons si dessous les caractristiques de ces composant un par un :
III.2.1-Microcontrleur PIC 16F877
III.2.1.1-Dfinition dun PIC
Un PIC est un microcontrleur, cest dire une unit de traitement de linformation
de type microprocesseur laquelle on a ajout des priphriques internes permettant
de raliser des montages sans ncessiter lajout de composants externes.les PICs sont
des composant dits RISC (Reduced Instructions Set Computer), ou encore (composant
jeu dinstruction rduit).
III.2.1.2-Les diffrentes familles des PICs
La famille des pics est subdivise lheure actuelle en 3 grandes familles :
Base-line : cest une famille qui utilise des mots dinstructions de 12 bits.
Mid-range : cest une famille qui utilise des mots de 14 bits(dont font partie
les 16F84,16f876et 16f877
High-end : cest une famille qui utilise des mots de 16 bits.
III.2.1.3-Identification dun Pic
Pour identifier un PIC, on utilise simplement son numro :
16 : indique la catgorie du PIC, cest un Mid-range.
L : indique quil fonctionne avec une plage de tension beaucoup plus tolrante.
C : indique que la mmoire programme est un EPROM ou une EEPROM.
CR ou F : indique le type de mmoire ; CR(ROM) ou F (FLASH).
XX : reprsente la frquence dhorloge maximale que le PIC peut recevoir.
Une dernire indication quon le trouve est le type de botier.
Exemple :
Un 16f877-20 est un PIC MID-RANGE(16) ou la mmoire programme est de
type FLASH (F) et rinscriptible de type 877 et capable d accepter une frquence
dhorloge de 20MHz
Figure III.1: description de la configuration du PIC 16F877
III.2.1.4-Les caractristiques principales dun microcontrleur
On cite :
De nombreux priphriques dE/S
Une mmoire de programme
Une mmoire vive (en gnral de type SRAM)
Eventuellement une mmoire EEPROM destine la sauvegarde par programme
de donnes la coupure de lalimentation
Un processeur 8 ou 16 bits
Faible consommation lectrique
Les tailles mmoire sont en gnral rduites, de lordre de :
16 ko pour la mmoire programme
Quelques octets 16 ko pour la RAM
La puissance de calcul est aussi limite :
0.012 MIPS pour les Basic Stamp
1 5 MIPS pour les PIC
III.2.1.5-Caractristique gnrale de la famille 16F87x
La famille 16F87x comprend toute une srie de composants, voici les diffrents
types existants et qui sont entrain dvolution :
Tableau .III-1: Evolution de la famille 16F87x
PIC FLASH RAM EEPROM I /O A /D Port // Port srie
16F870 2K*14 128 64 22 5 NON USART
16F871 2K*14 128 64 33 8 PSP USART
16F872 2K*14 128 64 22 5 NON MSSP
16F873 4K*14 192 128 22 5 NON USART/MSSP
16F874 4K*14 192 128 33 8 PSP USART/ MSSP
16F876 8K*14 368 256 22 5 NON USART/ MSSP
16F877 8K*14 368 256 33 8 PSP USART/ MSSP
Tous ces composants sont identiques, aux exceptions cites dans le tableau prcdent.
Les diffrences fondamentales entre ces PICs sont donc les quantits de mmoires
disponibles, le nombre dentres/sorties, le nombre de convertisseurs de type
analogique/numrique , et le nombre et le type des ports intgrs.
Tous les PICs Mid-Range, dont il appartient notre PIC 16F877, ont un jeu de 35
instructions, stockent chaque instruction dans un seul mot de programme, et excutent
chaque instruction (sauf les sauts) en 1 cycle ; on atteint donc des trs grandes
vitesses ; et les instructions sont de plus trs rapidement assimiles.
Lhorloge fournie au PIC est prdivise par 4 au niveau de celle-ci ; cest cette base
de temps qui donne le temps dun cycle : si on utilise par exemple un quartz de
4MHz, on obtient donc 1000000 de cycles/seconde, or, comme le PIC excute
pratiquement 1 instruction par cycle, hormis les sauts, cela nous donne une puissance
de lordre de 1 MIPS (1 Million dInstructions Par Seconde).
III.2.1.6-Les principales caractristiques du PIC 16F877
Le PIC 16F877 est caractris par :
Une Frquence de fonctionnement leve, jusqu 20 MHz
Une mmoire vive de 368 octets.
Une mmoire EEPROM pour sauver des paramtres de 256 octets
Une mmoire morte de type FLASH de 8 Kmots (1mot = 14 bits), elle est
rinscriptible volont
Chien de garde WDT
33 Entres et sorties
Chaque sortie peut sortir un courant maximum de 25 mA
3 Temporisateurs : TIMER0 (8 bits avec pr diviseur), TIMER1 (16 bits
avec prdiviseur avec possibilit dutiliser une horloge externe rseau RC
ou QUARTZ) et TIMER2 (8 bits avec prdiviseur et postdiviseur)
2 entres de captures et de comparaison avec PWM (Modulation de
largeur dimpulsions)
Convertisseur analogique numrique 10 bits avec 8 entres multiplexes
maximum
Une interface de communication srie asynchrone et synchrone
(USART/SCI)
Une interface de communication srie synchrone (SSP/SPI et I2 C)
Une tension d'alimentation entre 2 et 5.5 V
III.2.1.7-Les mmoires du PIC 16F877
Le PIC 16F877 dispose de trois types de mmoires :
Mmoire vive RAM
Cest de la mmoire daccs rapide, mais labile (c'est--dire quelle sefface
lorsquelle nest plus sous tension); cette mmoire contient les registres de
configuration du PIC ainsi que les diffrents registres de donnes. Elle contient
galement les variables utilises par le programme.
Cette mmoire RAM disponible sur le 16F877 est de 368 octets, elle est rpartie de la
manire suivante:
80 octets en banque 0, adresses 0x20 0x6F
80 octets en banque 1, adresses 0xA0 0xEF
96 octets en banque 2, adresses 0x110 0x16F
96 octets en banque 3, adresses 0x190 0x1EF
16 octets communs aux 4 banques, soit 0x70 0x7F; 0xF0 0xFF; 0x170
0x17F; 0x1F0 0x1FF
Mmoire morte FLASH
Cest la mmoire programme proprement dite. Chaque case mmoire unitaire fait 14
bits. La mmoire FLASH est un type de mmoire stable, rinscriptible volont.
Cest ce nouveau type de mmoire qui a fait le succs de microprocesseur PIC. Dans
le cas du 16F877, cette mmoire FLASH fait 8 K. Lorsque lon programme en
assembleur, on crit le programme directement dans cette mmoire.
Mmoire EEPROM
Cette mmoire est de 256 octets, elle est Electriquement effaable, rinscriptible et
stable. Ce type de mmoire est daccs plus lent, elle est utilise pour sauver des
paramtres.
Ladresse relative de laccs EEPROM est comprise entre 0000et 00ff, ce qui nous
permet dutiliser quun registre de huit bits pour dfinir cette adresse.
III.2.1.8-Organisation externe du PIC 16F877
Figure III.2 : Brochage du PIC 16F877
Le botier du PIC 16F877 dcrit par la figure III.2 comprend 40 pins : 33 pins
dentres/sorties, 4 pins pour lalimentation, 2 pins pour loscillateur et une pin pour le
reset (MCLR).
La broche MCLR sert initialiser le C en cas de la mise sous tension, de remise
zro externe, de chien de garde et en cas de la baisse de tension dalimentation.
Les broches VDD et VSS servent alimenter le PIC.
On remarque quon a 2 connections VDD et 2 connections VDD .
La prsence de ces 2 pins sexplique pour une raison de dissipation thermique. Les
courants vhiculs dans le pic sont loin dtre ngligeables du fait des nombreuses
entres/sorties disponibles.
Le constructeur a donc dcid de rpartir les courants en plaant 2 pins pour
lalimentation VSS, bien videmment, pour les mmes raisons, ces pins sont situes
de part et dautre du PIC, et en positions relativement centrales.
Les broches OSC1 et OSC2 ou CLKIN et CLOUT permettent de faire fonctionner
loscillateur interne du PIC qui peut tre un quartz, un rsonateur cramique, un
oscillateur externe ou un rseau RC. dont le rle est de cres des impulsions de
frquences leves.
Lors de la programmation, la broche MCLR doit tre porte un niveau compris entre
12 V et 14 V et le PIC16F877 commence programmer en appliquant un signal
dhorloge sur la broche RB6 (broche 39) et les informations binaires transitent en srie
sur la broche RB7 (broche 40). Chacune des informations qui transitent sur la broche
RB7 est valide la retombe du signal dhorloge sur la broche RB6 .
III.2.1.9 Les ports dentre/sortie
Les c 16F877 contient les 5 ports suivants
Port A : 6 pin I/O numrotes de RA0 RA5
Port B : 8 pin I/O numrotes de RB0 RB7
Port C : 8 pin I/O numrotes de RC0 RC7
Port D : 8 pin I/O numrotes de RD0 RD7
Port E : 3 pin I/O numrotes de RE0 RE2
Tous ces ports se trouvent dans la banque 0, mais tous leurs registres se trouvent dans
la banque1, pour dterminer les modes des ports (I/O), il faut slectionner leurs
registres TRISX :
le positionnement dun bit 1 place la pin en entre.
Le positionnement de ce bit 0 place la pin en sortie.
Notez, comme pour tous les ports, que la mise sous tension du PIC, et tout autre reset,
force tous les bits utiles de TRISx 1, ce qui place toutes les pins en entre. En plus
pour configurer TRISX avec notre compilateur il faut agir sur la valeur set_tris_x 0 ;
Exemple : Set_tris_x (valeur).
Le port A
Le port A est form de six pins donc six entres/sorties numrotes de RA0 RA5 qui
peuvent tre utilis comme des entres pour le convertisseur analogique numrique ou
utilis pour le TIMER 0, dans ce dernier cas le pin RA4 sera utilis comme entre
pour configurer TOCKI est de type drain ouvert.
On peut utiliser ce port, soit pour la conversion analogique /numrique, soit en mode
(I/O), dans notre projet on a utilis RA0 comme entre pour le CAN.
Remarque : RA4 qui est toujours en collecteur ouvert (mise 0) cest dire mise en
sortie.
Le port B
Rien de particulier dire sur ce port, qui possde 8 pins d'entre/sortie classique
numrotes de RB0 RB7.
On note que la pin RB0 qui, en configuration dentre, est de type trigger de Schmitt
quand elle est utilise en mode interruption INT . La lecture simple de RB0 se
fait, de faon tout a fait classique, en entre de type TTL.
Le port C
Tout dabord au niveau programmation, cest un PORT tout ce quil y a de plus
classique, comportant 8 pins de RC0 RC7. On trouve donc un registre TRISC
localis dans la banque 1, qui permet de dcider quelles sont les entres et quelles sont
les sorties. Le fonctionnement est identique celui des autres TRIS, savoir que le
positionnement dun bit 1 place la pin en entre, et que le positionnement de ce
bit 0 place la dite pin en sortie.
Au niveau lectronique, on remarque que toutes les pins, lorsquelles sont configures
en entre, sont des entres de type trigger de Schmitt ; ce qui permet dviter les
incertitudes de niveau sur les niveaux qui ne sont ni des 0V, ni des +5V, donc, en
gnral, sur les signaux qui varient lentement dun niveau lautre.
Le port D :
Ce port nest prsent que sur les PIC16F877. il fonctionne de faon identique aux
autre, dans son mode de fonctionnement gnrale .les 8 pin I/O, en mode entre , sont
de type trigger de Schmitt
Ce port est trs utilis en mode parallle esclave (slave).
Le port E :
Ce port nest prsent que sur les PICs de type 16F877.
Le port E possde trois pins donc trois entres/sorties, RE0 RE2, il est utilis
comme entres au convertisseur analogique numrique et aussi il peut contrler le port
parallle slave c'est--dire le port D.
On remarque que les pins REx peuvent galement tre utilises comme pins
dentres analogiques. Cest de nouveau le registre ADCON1 qui dtermine si ce
port sera utilis comme port I/O ou comme port analogique.
III.2.1.10-L interruption RB0/INT
Cette broche a une double fonction elle peut tre utilise comme une broche standard
RBO ou comme une entre dinterruption INT.
Si cette broche est utilise comme une entre d'interruption externe, elle doit tre
maintenue un niveau haut par l'intermdiaire de rsistances de 10 k pour ne pas
dclencher dinterruptions imprvues, cela permet aussi de relier plusieurs sources
d'interruptions sur une mme ligne.
III.2.1.11-Le convertisseur analogique numrique du PIC 16F877
La fonction conversion analogique-numrique consiste transformer une grandeur
lectrique en une grandeur numrique exprime sur N bits. Cette grandeur de sortie
reprsente, dans le systme de codage qui lui est affect, un nombre proportionnel la
grandeur analogique dentre.
Figure III.3 : Principe de conversion analogique / numrique
Le CAN intgr dans le 16F877 est un CAN 10 bits qui donne une prcision en 5V de
5mv environ, ce qui est une prcision tout a fait intressante. La rsolution 10 bits du
PIC permet dattribuer 1024 valeurs numrique a notre signal dentr.
Dune manire gnrale, le principe de conversion analogique/numrique
ncessite deux oprations :
A- La quantification : opration qui consiste associer une valeur
analogique la plus petite variation mesurable entre deux
valeurs codes distinctes en sortie. Cette valeur est appele
quantum.
-
max
2 2
ref ref
n n
V V Ve
q
+
1 q : quantum (V), aussi appel rsolution
2 Ve
MAX
: cest l cart entre la valeur mini et maxi de Ve numriser (V)
3 n : nombre de bits en sortie du convertisseur
B- Le codage : opration qui assigne une valeur numrique chacun de
ces niveaux. Les codages les plus couramment utiliss sont :
Le binaire naturel, pour les nombres non signs,
Le complment 2 pour les nombres signs,
Le code binaire sign.
Il existe diffrent mthodes de conversion analogique numrique , tel que :
La conversion a simple rampe
La conversion double rampe
La conversion par approximation successive
La conversion parallle ou Falsh
Dans notre projet la conversion dans le PIC seffectue par approximation successive
dont le fonctionnement est dtaill ci dessous :
Figure III.4 : Principe de conversion d'un ADC de PIC 16F877
Lorganigramme dacquisition de la mesure
Cet organigramme (Figure III.5) reprsente les tapes dacquisition dun signal
analogique appliqu sur les pins du CAN.
Figure III.5 : Lorganigramme dacquisition de la mesure
III.2.2- Le convertisseur numrique analogique
On dispose d'un mot numrique de n bits, que l'on voudrait convertir en une tension
analogique, en considrant un code binaire :
Fin
Slectionner les pins analogiques du CAN
Dterminer si l'oscillateur est interne ou externe
Slectionner le canal qu'on va utiliser
Dbut
Saisir la valeur donne au CAN et lenregistrer
Figure III.6 : Schma dun convertisseur numrique analogique
Le convertisseur de courant :
Figure III.7 : Schma de principe d'un CNA de courant
Ce convertisseur fournit un courant qui dpend de la tension rfrence V
rf
ainsi que
les tats des interrupteurs suivant la formule suivante :
1 1 2
0 1
2 4 2
n
out rf n
A A A
I I A
_
+ + + +
,
L
Avec :
rf
rf
V
I
R
Si on veut obtenir un CNA de tension, on est amen ajouter un amplificateur [10].
Dans notre projet nous avons utilis un convertisseur analogique numrique de
courant "le DAC0808" suivi d'un convertisseur courant/tension base d'un
amplificateur oprationnel.
Le DAC 0808
Les DAC0808 sont des circuits monolithiques convertisseurs D/A 8 bits fournissant
un courant pleine chelle de 150 mA et ne dissipant que 33 mW avec une alimentation
gale 5 V. Lajustement du courant de rfrence (Irf) nest pas ncessaire dans la
plupart des applications puisque le courant pleine chelle est de 1 LSB de
255
256
Irf .
Les DAC0808 sinterfacent directement avec la logique TTL, DTL ou CMOS.
Concernant le brochage du DAC0808, il est donn par le schma suivant :
Figure III.8 : Brochage du DAC0808
le tableau ci-dessous donne un aperu sur les valeurs limites d'un CNA de type
DAC0808 :
V
CC
+18V DC
V
EE
-18V DC
Tension dune entre digitale, V5-V12 -10 VDC +18 VDC
Tension de sortie, Vo -11 VDC +18 VDC
Courant de rfrence, I14 5 mA
Tension de rfrence V14, V15 V
CC
et V
EE
Puissance dissipe 1000 mW
Dcote au-dessus de 25 C 6.7 mW/C
T de fonctionnement DAC0808L -55C TA +125C
T de fonctionnement DAC0808LC sries 0 TA +75C
Plage de tempratures de stockage -65C +150C
Figure III.9 : Caractristiques du DAC0808
Lapplication typique du DAC0808 utilise pour notre carte est de convertir le courant
issu du convertisseur en une tension proportionnelle en utilisant le circuit LF351 qui
est un amplificateur. Le schma IV.12 illustre ce fonctionnement :
1
3
4
5
NC
2
GND
EE
V
OUT
MSB
6
A
5
A
8
A 1
A
MSB
6
7
2
A
3
A
8
4
A
7
A
9
10
11
12
13
15
16
14
CC
V
( )
rf
V +
( )
rf
V
Compensation
Figure III.10 : Schma du cblage du DAC0808 avec lamplificateur LF351
III.2.3. communication srie asynchrone a travers le port srie RS232
Les liaisons sries permettent la communication entre deux systmes numriques en
limitant le nombre de fils de transmission.
La liaison srie aux normes de RS232 est utilise dans tous les domaines de
linformatique. Elle est de type asynchrone, c'est--dire quelle ne transmet pas le
signal de lhorloge.
Le schma fonctionnel est le suivant :
Figure III.11 schma fonctionnel d'une liaison srie asynchrone de la norme RS232
La transmission srie ncessite au moins 2 fils de communication, lun pour la
transmission (Tx) et lautre pour la rception (Rx)et un fil de masse.
III.2.3.1- Protocole de transmission
Afin que les lments communicants puissent se comprendre, il est ncessaire
d'tablir un protocole de transmission. Ce protocole devra tre le mme pour les deux
lments afin que la transmission fonctionne correctement.
Paramtres rentrant en jeu :
Longueur des mots : 7 bits (ex : caractre ascii) ou 8 bits
La vitesse de transmission : les diffrentes vitesses de transmission son
rglables partir de 110 bauds (bits par seconde) de la faon suivante : 110
bds, 150 bds, 300 bds, 600 bds, 1200 bds, 2400 bds, 4800 bds, 9600 bds.
Parit : le mot transmis peut tre suivi ou non d'un bit de parit qui sert
dtecter les erreurs ventuelles de transmission. Il existe deux types de parit.
parit paire : le bit ajout la donne est positionn de telle faon que
le nombre des tats 1 soit paire sur l'ensemble donn + bit de parit
ex : soit la donne 11001011 contenant 5 tat 1, le bit de parit paire
est positionn 1, ramenant ainsi le nombre de 1 6.
parit impaire : le bit ajout la donne est positionn de telle faon
que le nombre des tats 1 soit impaire sur l'ensemble donn + bit de
parit
ex : soit la donne 11001011 contenant 5 tat 1, le bit de parit paire
est positionn 0, laissant ainsi un nombre de 1 impaire..
Bit de start : la ligne au repos est l'tat logique 1 pour indiquer qu'un mot
va tre transmis la ligne passe l'tat bas avant de commencer le transfert.
Ce bit permet de synchroniser l'horloge du rcepteur.
Bit de stop : aprs la transmission, la ligne est positionne au repos
pendant 1, 2 ou 1,5 priodes d'horloge selon le nombre de bits de stop.
Le bit de start apparait en premier dans la trame puis les donnes (poids faible en
premier), la parit ventuelle et le (les) bit(s) de stop.
exemple :
Soit transmettre en parit paire, avec 2 bits de stop, le caractre B dont le codage
ascii est 1000010(2) la trame sera la suivante :
Figure III.12 Exemple de transmission srie
Les deux organigrammes ci-dessous prsenteront le principe de la transmission et la
rception srie que nous avons utilis pour la programmation de notre PIC,
videmment le mme principe sera utilis pour le programme implant sur LabVIEW.
Organigramme dmission srie Organigramme de rception srie
Figure III.13 Organigramme de la transmission srie
III.2.3-2- Principe dadaptation PIC- RS232
Passons maintenant au principe dadaptation entre le PIC et le port srie Rs232.
Le PIC utilise les niveaux 0V et 5V pour dfinir respectivement des signaux 0 et
1 . La norme RS232 dfinit des niveaux de +12V et 12V pour tablir ces mmes
niveaux.
Nous aurons donc besoin dun circuit charg de convertir les niveaux des signaux entre
PIC et PC. La pin TX du PIC mettra en 0V/5V et sera convertie en +12V/-12V vers
notre PC. La ligne RX du PIC recevra les signaux en provenance du PC, signaux qui
seront converti du +12V/-12V en 0V/5V par notre circuit de pilotage du bus.
Notons que la liaison tant full-duplex, mission et rception sont croises, chaque
fil ne transitant linformation que dans un seul sens.
Nous utiliserons le clbre circuit MAX232 pour effectuer cette adaptation de niveaux.
Ce circuit contient un double convertisseur double direction. Autrement dit, il dispose
de :
- 2 blocs, dnomms T1 et T2, qui convertissent les niveaux entrs en 0V/5V en
signaux sortis sous +12V/-12V. En ralit, on na pas tout fait +12V et -12V,
Transformateur
mais plutt de lordre de +8,5V/-8,5V ce qui reste dans la norme RS232.
- 2 blocs, dnomms R1 et R2, qui convertissent les niveaux entrs en
+12V/-12V en signaux sortis sous 0V/5V.
Figure III.14 : Circuit intgr MAX232
III.3-descriptions de la carte dAlimentation stabilis
Notre carte doit tre alimente par une alimentation stabilise qui fournit par 5V la
sortie pour alimenter notre PIC et 12V pour lalimentation du circuit LF351N.
La carte ralise contient :
Un transformateur abaisseur, qui fournit sur son secondaire une tension
alternative trs infrieure celle du secteur (220V/17V)
Un pont redresseur (diodes en pont de Gratz), qui fournit en sortie une
tension non plus alternative mais redresse,
cinq capacits de filtrage, qui rduisent l'ondulation de la tension issue du
pont redresseur,
trois rgulateurs de tension, dont le rle est de stabiliser le potentiel de sortie
une certaine valeur 5V, 12V ou -12V. enfate Pour avoir une tension de 5V on
a choisi l'un des rgulateurs de tension les plus utilis le 7805, galement pour
les tensions 12V et -12V, on a choisi respectivement le 7812 et le 7912.
Redressement
Filtrage
Rgulation
Ve
Vs
Figure III.15 : Schma synoptique
III.3.1 Choix du transformateur
Notre Carte de dveloppement ncessite une tension dalimentation de (5V, 12v) et
un courant de 0.5A, ainsi nous devons choisir un transformateur a point milieu dont la
tension maximale au secondaire est suprieure 15.5V
III.3.2 Choix de pont de redressement
Le choix de pont de diode est base essentiellement sur :
La tension inverse maximale de diode.
Le courant moyen direct.
III.3.3 Choix des condensateurs
Choix des condensateurs de filtrage:
Pour obtenir une tension presque constante il faut brancher un ou plusieurs
condensateurs en parallle juste la sortie de pont redresseur, plus la valeur de la
capacit est leve plus le filtrage sera meilleur. Les deux principaux critres
considrer dans le choix dun condensateur sont :
1. sa capacit
2. sa tension de service
Choix des condensateurs de dcouplage :
On les choisi de tel sorte quils servent amliorer la stabilit du rgulateur
III.3.4 Choix de rgulateur de tension
Un rgulateur de tension intgr est un composant semi-conducteur dont le rle
consiste rendre quasi continue une tension qui prsente une ondulation issue dun
pont redresseur et stabiliser sa valeur.
La tension de sortie V
out
est le principal critre de choix, puisquelle correspond la
tension dsire. Ainsi, pour une tension de 5V, on choisira un LM705 qui possde les
caractristiques suivantes :
Courant de sortie 1A.
Protection thermique interne contre les surcharges.
Aucun composant externe ncessaire.
Plage de scurit pour le transistor de sortie.
Limitation interne du courant de court-circuit.
III.4 conclusion
On a vue donc les diffrents lments constituant la carte dinterfaage ralis, leurs
fonctionnements, ainsi que le principe de la transmission srie et celui de ladaptation
en ligne.
Nous verrons dans le chapitre suivant les principales caractristiques du logiciel
LabVIEW, ainsi que les rsultats obtenus aprs la rgulation.
Chapitre IV : Commande et
rgulation dans LabVIEW
IV. Commande et rgulation dans LabVIEW
IV.1- Introduction la programmation graphique
LAbVIEW ( Laboratory Virtual Instrument Engineering Workbench ) est un langage
de programmation ddi au contrle dinstruments et lanalyse de donnes.
Contrairement la nature squentielle des langages textuels, LabVIEW est bas sur
un environnement de programmation graphique utilisant la notion flot de donnes
pour ordonnancer les oprations.
Enfaite il existe deux formes de programmation graphiques:
Une programmation dite flot de contrle et une autre dite flot de donns.
VI.1.1-programmation flot de contrle
Ils ont longtemps t utiliss pour dcrire les algorithmes, ces reprsentations
dcrivent les programmes comme tant de nud de calcul connect par des arcs
spcifiant quel calcul doit tre effectu ensuite
Ex : Grafcet et Rseau de petri.
IV.1.2-Programmation flot de donn
Cest une fonction analogue la propagation du signal travers un circuit lectrique.
Le digramme flot de donnes est un graphe acyclique qui peut tre compos de 3
lments suivants :
Des terminaux : qui sont les liens avec lextrieur qui reprsente la production
o la consommation de donnes.
Des Nud qui sont les traitements effectu et qui sont reprsent par une
figure gomtrique pouvant contenir une image illustrant leur fonctionnalit
Les arcs orient : qui relie les nuds et les terminaux et permettent dindiqu
le passage de donnes dun nud vers un autre.
Figure IV.1 : Exemple de diagramme de flot de donns
IV.2- Lenvironnement LabVIEW
LabVIEW est centr autour du principe dinstrument virtuel (Virtual Instrument ou
encore VI). IL se dcomposer en deux parties :
la premire partie (partie cache ou interne) : elle contient lalgorithme du
programme dcrit sous la forme dun diagramme flot de donnes en langage
graphique.
la seconde partie (partie visible) est constitue de linterface utilisateur.
Figure IV.2 : Fentre de lenvironnement de dveloppement sur LabVIEW
Face avant ( droite) et Diagramme ( gauche)
Pour crire un programme sur LabVIEW, on a besoins des Palettes qui nous offre
la possibilit de modifier la face avant et le digramme de LabVIEW, on trouve trois
palettes :
Palette doutils
Elle est disponible sur la face-avant et sur le diagramme, elle contient les outils
ncessaires pour faire fonctionner et modifier la face avant et les objets du
diagramme.
Figure IV. 3 :palette doutils
Palette de commandes
Elle est disponible uniquement sur la face-avant, elle contient les commandes et les
indicateurs de la face-avant ncessaire pour crer linterface utilisateur.
Figure IV. 4 : palette de commandes
Palette de fonctions
Elle est disponible uniquement sur le diagramme. Elle contient les objets ncessaire
pour la programmation graphique comme les oprations darithmtique, dE/S
dinstrument, dE/S de fichier et dacquisition de donnes.
Figure IV. 5 : palette de fonctions
IV.3- Structure de donnes dans LabVIEW
LabVIEW utilise un langage fortement typ et toutes donnes ou structure de donnes
ne peuvent tre manipules quavec des fonctions admettant ce type, en faite dans
LabVIEW on trouve les types de base scalaire, les types entiers (signs ou non,
cods sur 8, 16 ou 32 bits), le type rel (cod sur 16, 32 ou 64 bits), le type
boolen et le type chane de caractres (figure IV.5). Il est important de noter que
les lments reprsentant ces donnes, ainsi que les liaisons issues de ces
lments, sont de forme et de couleur diffrente.
Figure IV. 6 :diffrents types de structures de donnes dans LabVIEW
Le langage permet aussi de crer des structures de donnes plus labores.
IV.3.1- le type tableau (structure de donnes homognes)
Comme tous les langages de programmations la prsence de notion de tableau
est obligatoire, puisquelle dfinit un outil de base pour le stockage et les
traitements des informations.
La bibliothque tableau dans LabVIEW est riche en fonctions prdfinit, tel
que, linitialisation, lindexation, linversement dun tableau, la concatnation
de deux tableau, et plusieurs autre fonctions, bien sur, la notion des tableaux
peut tre largie pour contenir les matrices. Et comme toutes les autres
bibliothques, on peut lenrichir avec des fonctions ou des procdures crent
partir des langages de bas niveau comme le langage C.
Figure IV. 7 : Exemple dinitialisation dun tableau a 2 dimensions (matrice)
IV.3.2-le type cluster (structure de donnes htrognes)
Ce second constructeur de type est lquivalent du record en Ada ou du
struct en C. Les diffrents composants ou champs de ce groupe de donnes
(cluster) peuvent tre assembls ou rcuprs par des fonctions spcifiques.
Figure IV. 8 : Exemple de manipulation des donnes avec le type cluster
IV.4 Structures de programmation
LabVIEW utilise un langage flot de donnes pur qui a t enrichi de quatre
types de structures : la squence, deux structures ditration (la boucle Pour
avec un nombre ditrations fix et la boucle Tant Que avec un nombre
ditrations soumis condition) et la structure de choix.
IV.4.1- structure de squence
La structure de squence permet de spcifier lordre dexcution de flots
de donnes. Cette structure se prsente sous la forme dun cadre et a le statut
dun nud
Exemple :
Sur la figure (IV.9), lutilisation de la squence simpose : il sagit dinitialiser un
port srie puis denvoyer une chane de caractres. Le premier flot de donnes
risque de provoquer des erreurs car rien nempche le nud dcriture sur le port
srie de sexcuter avant le nud dinitialisation de ce port : lutilisation de la
squence permet dordonner correctement les oprations.
Figure IV.9 : Exemple d'utilisation de la structure de "squence"
Figure IV. 9 : Exemple dutilisation de la structure de squence
IV.4.2- les structures itratives
Les deux structures itratives, la boucle Pour et la boucle Tant que ,
ont aussi le statut dun nud ordinaire. La boucle Pour permet dexprimer la
rptition (ou itration) pour un nombre de fois prdtermin dfini par une
connexion dentre obligatoire: le nombre ditrations effectuer N.
lintrieur de la boucle Pour se trouve un terminal dentre local gnrant
lentier indiquant lindice ditration de la boucle (i varie de 0 N1).
Exemple :
Lutilisation de cette structure, prsente sur la figure (IV.10), concerne
lacquisition de N mesures avec un temps fixe entre chacune, dfini par un
nud de temporisation Les N donnes de sortie sont assembles pour former
un vecteur avec une auto-indexation.
Figure IV.10 : Exemple d'utilisation de la structure itrative "pour"
La boucle Tant Que permet dexprimer la rptition pour un nombre de
fois non connu lavance. lintrieur de la boucle Tant Que se
trouve un terminal dentre local gnrant lentier indiquant lindice
ditration de la boucle. Un terminal de sortie de type boolen permet darrter
la boucle lorsque la valeur False lui est envoye.
Exemple :
Lutilisation prcdente dcrite sur la figure 9, est reprise avec cette structure
Tant Que en arrtant lacquisition pour une valeur trop grande de la mesure
(figure IV.11).
Figure IV.11 Exemple d'utilisation de la structure itrative "tant que"
Dans les deux cas de structure itrative lorsque des tableaux de donnes arrivent
ou partent des tunnels, ceux-ci ont la possibilit dtre automatiquement
indexs : rcupration un par un des lments du tableau ou concatnation pour
crer un tableau. Dans le cas des deux structures, il est possible de mmoriser
des rsultats produits lors ditrations antrieures et de les rcuprer ensuite. Ces
registres dcalage sont des variables locales une boucle.
Exemple :
La figure (IV.12) prsente une utilisation de ces registres dcalage dans le cas de
la boucle Pour . Il est important de remarquer que ces registres dcalage
constituent un des effets de bord du langage. Il est de plus ncessaire dinitialiser
ces mmoires locales pour raliser une utilisation contrle et cohrente.
Figure IV.12 : Exemple d'utilisation des registres dcalage dans une boucle
"pour".
IV.4.3- la structure de choix
La dernire structure ncessaire est celle qui va permettre dexprimer lalternative (le
choix). La slection du cas excut est faite par la valeur de la variable connecte
lentre reprsente par un point dinterrogation (figure IV.13). Lidentifiant du cas
reprsent est indiqu en haut de la structure.
Exemple :
La figure (IV.13) prsente une utilisation de la structure de choix. Si nous avons
une action vrais alors il y a une acquisition de donn sur le port srie, et si
laction est faux , alors il y aura pas dacquisition.
Figure IV.13 : Exemple d'utilisation de structure de choix.
IV.5-Traitement numrique
VI.5.1 : les fonctions prdfinies
LabVIEW possde les instructions de base dun langage de programmation
permettant de traiter les diffrents types de donnes. Ainsi, nous avons des
fonctions lies aux variables numriques (entiers, rels et complexes), aux
variables boolennes, aux chaines de caractres, et aux tableaux.
Figure IV.14 : Quelques instructions de traitement de donnes numrique dans
LabVIEW
Nous trouvons aussi les oprateurs de test et de comparaisons lies ces
diffrents types de donnes. partir des structures de contrle, des fonctions et
des oprateurs, de base, il est alors possible de traduire un algorithme
quelconque et denrichir la bibliothque des fonctions en utilisant le mcanisme
dencapsulation. Un diagramme complet est alors rduit un nud qui peut tre
ensuite rutilis.
VI.5.2 : Boites outils mathmatique
LabVIEW contient aussi des boites de calcul mathmatiques qui servent
introduire des commandes complexes tel que ( linspace , ode45 ,sin, cos , etc..)
Figure IV.15 : Exemple de boite de calcul mathmatique dans LabVIEW
IV.6- Bibliothques de commande
LabVIEW possde des bibliothques de fonctions spcialises dans le domaine
de la mesure, du test et du contrle-commande. Ces bibliothques de fonctions
peuvent tre ralises soit partir des fonctions et oprateurs de base vus
prcdemment, soit directement par des programmes crits en langage de haut
niveau, compil et ensuite intgr sous la forme dun nud graphique.
Cette dernire possibilit est aussi offerte aux utilisateurs de cet environnement
LabVIEW par lintermdiaire de la construction de nuds particuliers appels
nud dinterface vers code (CIN : Code Interface Node). Lutilisation de ces
fonctions qui peuvent tre assez complexes est facilite par une aide en ligne qui
donne pour chaque fonction une description sommaire, souvent suffisante de
ses spcifications.
Figure IV.16 : Exemple de fentre d'aide offrant la description d'une fonction
fournie dans la bibliothque de LabVIEW
Dans notre projet on a besoin des bibliothques spcifiques qui nexiste pas dans
les versions standard de LabVIEW, mais dans des versions nomme (LabVIEW
RT) c.--d. real time comme les bibliothques de commande et de contrle,
enfaite nous avons utilis des bibliothques nommes PID control toolset et
fuzzy control toolset pour la commande et la rgulation de notre systme. Il
existe dautre bibliothque de commande telle que DSP control toolset et
quelques autres commandes avances.
On va prsenter dabord les deux bibliothques de commande que nous avons
utilise dans notre projet :
IV.6.1-La bibliothque de contrle PID
Elle ajoute aux fonctions standards de LabVIEW un ensemble dalgorithmes
de rgulation P, PI, PD et PID, avec toutes les options que lon trouves
gnralement dans les systmes de rgulation complets.
Tous les rgulateurs dans cette bibliothque ont une structure parallle de la
forme
( ) 1
( )
( )
P d
i
U p
C p K pT
p pT
+ +
Figure IV.17 : Exemple de bibliothque de rgulation PID
Figure IV.18 : structure interne de PID
IV.6.2-La bibliothque de logique floue
Elle est destine acclrer le dveloppement dapplications de contrle pour
les systmes non linaires ou complexes. Elle propose une interface graphique
prte--lemploi pour la conception de contrleurs de logique floue et des VI
pour crer ces contrleurs dans LabVIEW.
Figure IV.19 : Exemple de Bibliothque de la commande floue
Figure IV.20 : Interface graphique pour la conception dune commande floue
IV.7- Transmission srie dans LabVIEW
IV.7.1- Bibliothques RS232
La liaison srie utilise un metteur pour envoyer les donnes les unes derrire les
autres, bit par bit, sur une ligne de communication unique, destination dun
rcepteur. Cette technique de communication est classique pour les transferts
faible vitesse ou sur de longues distances.
tant donn la simplicit de la liaison srie, la bibliothque pour le port srie se
rsume cinq instruments virtuels (VI): Serial Port Init, Serial Port Write,
Serial Port Read, Bytes at Serial Port et Serial Port close. Un programme de
gestion de port srie, ralis en langage G dans lenvironnement LabVIEW est
donc trs simple puisquil consiste mettre en squence les diffrents VI de
base.
Figure IV.21 Bibliothque du port srie sur LabVIEW
IV.8- application de la rgulation PID dans LabVIEW
IV.8.1-boucle de rgulation :
Figure IV.22 : Diagramme de commande PID
Figure IV.23 : page de commande PID
IV.8.2- configuration des paramtres
On fixe la consigne dsir et les paramtres de PID, dans notre application on
a choisie Kp=10, Ti=0.3 min Td=0 min, et la priode dchantionnage
minimale Te=0.3s.
La dtermination de ces paramtres est faite grce la mthode des approximations
successives.
Cette mthode consiste faire des testes sur chacune des actions du rgulateur
indpendamment des autres actions
Nous avons configur le port srie comme suit :
port de communication : port2
vitesse de transmission : 9600 baud
nombre de bit transmettre : un octet
sans bit de parit
un seul bit de stop
sans contrle de flux
Figure IV.24 : page de configuration PID
IV.8.3-rsultats exprimentaux
IV.8.3.1-En asservissement
Cas A (voir aussi annexe) Cas B (voir aussi annexe)
Figure IV.27 : rponse du systme une
consigne de 10 cm
Figure IV.28 : rponse du systme aprs un
changement de consigne de 10 cm 12 cm
Le cas A prsente un mode dasservissement normale (suivie de la consigne
initiale).
Le cas B prsente un changement de consigne de 10 cm au 12 cm, on
remarque que la commande change au mme temps de changement de la
consigne
IV.8.3.2-En rgulation
Figure IV.29 : rponse du systme aprs une
perturbation sur la vanne
Lorsque on aboutie un tat stable on change louverture de la vanne de 50%
100%, on effectue donc une perturbation sur le systme.
On remarque que la commande augmente pour corriger cette perturbation et
garder le mme tat initial
IV.9- Application de la rgulation Floue dans LabVIEW
IV.9.1-boucle de rgulation
Figure IV.30 : Diagramme de la commande floue sur LabVIEW
Figure IV.31 : Page de la commande floue sur LabVIEW
IV.9.2- configuration des paramtres floue
Figure IV.32 : Fonction dappartenance pour
lerreur
Figure IV.33 : Fonction dappartenance pour
la variation de lerreur
Figure IV.34 : Fonction dappartenance pour la
variation de la commande
Tableau IV.1 : Base de rgles
/ e e N Z P
N N N Z
Z N Z P
P Z P P
Configuration du port srie :
port de communication : port2
vitesse de transmission : 9600 baud
nombre de bit transmettre : un octet
sans bit de parit
un seul bit de stop
sans contrle de flux
IV.9.3-rsultats exprimentaux
Cas A mode rgulation Cas B mode asservissement
Figure IV.32: rponse du systme aprs une
perturbation sur la vanne
Figure IV.33: rponse du systme une
consigne de 10 cm
Conclusion :
Si on fait une comparaison entre les deux commandes (PI floue et PI
classique), en remarque que la commande floue corrige mieux la
perturbation et en plus elle rpond plus rapidement que la commande PI.
Conclusion gnrale
Au cours de ce projet de fin dtudes, la conception et la ralisation dune carte
dinterfaage pour la rgulation du niveau deau dans un rservoir nous a permis
dtudier la rgulation et les commandes PI classique et PI floue.
Ce travail nous a permis donc denrichir nos connaissances dans plusieurs domaines et
notamment dans le domaine de la rgulation numrique et de llectronique
analogique et numrique.
Bibliographie
[1] : Cours dAutomatique 2005-2006
Bernard Bayle
Ecole Nationale suprieur de Physique de Strasbourg
[2] BELKACEM OULD-BOUAMAMA
Rgulation automatique (le 15 juin 1998)
www.eudil.fr\eudil\belk\sc00a.htm
[3] Rgulation industrielle Notion de Base
Article PDF
[4] R.RHODE ENSEMBLE SCOLAIRE PRADEAU LA SEDE
Rgulation analogique
Article PDF
[5] ALINA BESAON- VODA et SYLVIANNE GENTIL
Rgulateurs PID analogique et numrique
Technique de l'ingnieur : R7416 (03/1999)
[6] M.ROBERT
Introduction au microcontrleur
http://freelektronik.free.fr/LEKTRONIK/C9A.htm
[7] BIGONOFF
Cours: La programmation des pics par BIGONOFF
Premire partie PIC16F84 Rvision 6
[8] BIGONOFF
Cours: La programmation des pics par BIGONOFF
Second partie La gamme Mid- Range par l'tude des 16F87X (16F876-16F877)
[9] Data sheet Microchip
PIC16F87X28/40-pin 8-Bit CMOS FLASH Microcontrollers
[10] Prsentation de la structure interne du 16F877
Cours : fichier WORD
[11] Les convertisseurs
http://www.etronics.free.fr\dossiers\analog\analog11.htm
[12] Data sheet Analog Device
DAC0808/DAC0807/DAC0806 8-Bit D/A Converters
[13] Programmation en C des PIC.
[14] Guide dutilisateur du logiciel PIC C
[15] Guide dutilisateur du logiciel LabVIEW
[16] PFE. BEN HASSINE NAJDI et TURKI MOURAD
Conception et ralisation dun systme de commande numrique du
niveau deau dans un rservoir
Mmoire PFE-ENIM2006
[17] Support de cours de techniques dinterfaage
Elabor par M GHORBEL MOHAMED 2006-2007.
ANNEXE A
ANNEXE B
Schma de la carte microcontrleur PIC 16F877
ANNEXE C
Schma de la carte dalimentation stabilis
ANNEXE D
Description de pic 16F877
ANNEXE D
Datasheet du Pic 16F87X
Organisation interne du Pic 16F877
ANNEXE E
Datasheet du convertisseur numrique analogique DAC0808
ANNEXE F
Datasheet de lamplificateur oprationnel LF 351
ANNEXE G
ANNEXE H