projet ascenseur 2012 - SITE WEB UPS Thierry Perisse

publicité
ROUBELET Julien
COSTES Lionel
L3 EEA – Réorientation en
études longues
RAPPORT DE PROJET
COMMANDE NUMERIQUE
D’UNE MAQUETTE
D’ASCENSEUR
2011-2012
Tuteur : M. Thierry PERISSE
1
Table des matières
Remerciements ................................................................................................................................... 3
English summary................................................................................................................................ 4
I. Introduction, définition du projet ................................................................................................. 4
1.1. Bilan ........................................................................................................................................................ 4
1.2. Cahier des charges ................................................................................................................................... 5
1.3. Support du projet ..................................................................................................................................... 6
a. La maquette ............................................................................................................................................ 6
b. Liste du matériel ..................................................................................................................................... 7
1.4. Objectifs et modification du cahier des charges ...................................................................................... 7
1.5. Diagramme de Gantt ................................................................................................................................ 8
II. Modélisation et choix des solutions ............................................................................................. 9
2.1. Modélisation ............................................................................................................................................ 9
2.2. Choix des entrées/sorties ....................................................................................................................... 10
a. Interface commande/puissance ............................................................................................................. 10
b. Capteurs ................................................................................................................................................ 10
c. Interface homme/machine .................................................................................................................... 10
2.3. Choix de la commande .......................................................................................................................... 10
III. Hardware ................................................................................................................................... 11
3.1. Décomposition du système .................................................................................................................... 11
3.2. Maquette de l’ascenseur ........................................................................................................................ 13
3.3. Platine Labdec ....................................................................................................................................... 20
IV. Software ...................................................................................................................................... 24
4.1. Programmation ...................................................................................................................................... 24
a. Outils de programmation ...................................................................................................................... 24
b. Structure du programme ....................................................................................................................... 24
d. Commande PWM ................................................................................................................................. 26
e. Programme d’initialisation ................................................................................................................... 27
4.2. Simulation sous Proteus ISIS ................................................................................................................ 28
V. Conclusion.................................................................................................................................... 29
2
Remerciements
Nous tenons à remercier Monsieur Périsse pour nous avoir suivit et conseillé tout au long de
notre projet.
3
English project summary
Our purpose was to make a lift self-acting through an electronic system.
We have been presented with an elevator composed of a shaft going up and down a tower, driven by
direct current motor.
First of all we had to understand how it works, and we determined that it used a PWM (Pulse Width
Modulation) system.
A micro control device was to be introduced to program the various movements. We chose a “PIC”
deck connected to a computer unit through a USB port.
The control desk shows a series of push buttons, Leds, a PIC with its multi-pin plug together with
an LCD display.
The PC allows to load a program towards the PIC via “MikroC” software, using C language. On the
screen we can follow the operating process of the whole system.
We note that the initial movement of the shaft is to start from ground level. The press buttons will
be used to move the shaft to the corresponding floor.
I)
Introduction, définition du projet
1.1 .Le bilan
Le projet présenté dans ce rapport met en premier lieu un terme à notre année de licence
« Electronique Electrotechnique et Automatique » parcours « Réorientation en études longues ».
Mais les cinquante heures de labeur et le matériel mis à notre disposition sont en réalité le bilan de
trois années d'études en génie électrique, où nous mettons à profit les connaissances acquises en
DUT ou BTS ainsi que les approfondissements apportés lors de l’année de licence pour mener à
bien le travail qui nous est demandée dans le cahier des charges.
Le but de ce projet mené en binôme est de nous mettre en situation devant un cahier des
charges qui nous a préalablement été définit, afin de nous enseigner le passage de la théorie à la
pratique en partageant les tâches entre les deux membres et en gérant notre progression en fonction
du temps qui nous est impartit, tout cela en gardant une certaine autonomie dans notre approche.
Parmi les sujets qui nous ont été proposés celui que nous avons sélectionné porte sur
l'asservissement numérique en vitesse d'un moteur à courant continu, sujet particulièrement
intéressant tant sur le plan pédagogique que sur le plan technique. Effectivement, il nous permet de
faire le point sur différentes disciplines vues en cours telles que l'électronique numérique et de
puissance, ou l’informatique industrielle. Côté technique, la diversité des manipulations plus ou
moins complexes à mettre en œuvre nous apprend à tenir une certaine rigueur nécessaire au bon
fonctionnement des montages et à la prévention de toute fausse manœuvre et incident.
4
1.2. Cahier des charges
Voici le cahier des charges tel qu'il nous a été définit :
1- Étude des fonctions mises en œuvre dans l’asservissement. Détermination des fonctions
permettant la réalisation analogique de la fonction asservissement de vitesse du MCC 14W.
2- Alimentation par amplificateur linéaire intégré de puissance. Étude et mise en œuvre du circuit
intégré LM12.
3- Modélisation et identification. Détermination du schéma blocs de l’asservissement.
Détermination d’un modèle automatique théorique boucle ouverte et boucle fermée. Modélisation et
identification expérimentales.
4- Mise en œuvre de l’asservissement.
5- Réalisation numérisée de la commande du MCC.
6- Réalisation numérique de l’asservissement.
7- ...
Nous pouvons constater la précision inégalable de ce cahier des charges. Cela nous permet
en définitive de garder une grande liberté quant à nos objectifs et de laisser libre cours à notre
imagination pour trouver des sujets sur lesquels appliquer nos travaux.
Mais un excès de liberté pouvant aboutir à un manque de décisions, ce sera finalement sur
un support bien défini que le projet nous sera donné à faire. Du fait de la nature dudit support, nous
ne pourrons nous tenir rigoureusement à ce cahier des charges et devrons changer quelque peu notre
approche, qui au final pourra rejoindre l’idée de base.
5
1.3. Support du projet
a. La maquette
Le support qui nous été confié pour mener notre projet est une maquette d’ascenseur à trois
étages.
Fig. 1 : Vue d’ensemble de
l’ascenseur (ci-contre) et bloc
de motorisation de la maquette
(ci-dessus).
La maquette telle qu’elle nous a été fournie est constituée de la façon suivante :
Une cabine est mue dans une colonne verticale sur trois étages. Un bloc motoréducteur dont
nous donnons les caractéristiques plus bas est situé en haut de la colonne et entraîne la cabine via
une couroi. L’alimentation de la motorisation est assurée par une carte électronique (décrite plus
loin) qui se trouve dans le boîtier sur le socle de la maquette. Des capteurs sont situés au niveau de
chacun des trois étages.
6
b. Liste du matériel
L’ascenseur ayant servi auparavant pour des applications pédagogiques, il est déjà équipé des
composants essentiels au fonctionnement du système. La liste des ces composants est présentée cidessous. Les documentations constructeur nécessaires sont présentées en annexe.
•
•
•
•
•
•
1 moteur/génératrice tachymétrique 28GD11-222E (Escap)
1 réducteur R32 (Escap)
1 moteur Escap 28DT 2R-222E
1 roue codeuse HEDS-5540
3 capteurs optoélectroniques avec leur circuit de conditionnement
1 carte de puissance équipée d’un hacheur intégré L6203
Nous pourrons donc utiliser ces composants comme base et ainsi adapter l’asservissement que
nous devons réaliser.
1.4. Objectifs du projet et modifications du cahier des charges
Un tel support permet d’établir une infinité d’objectifs. De la commande comme un simple
monte charge à vitesse uniforme, à l’automatisation la plus complexe en passant par le
fonctionnement comme un ascenseur, il nous offre la possibilité de rendre le système toujours plus
performant. Notre période de projet étant limitée, nous nous fixons les objectifs décrits par la suite.
Pensant d’abord pouvoir suivre à la lettre les consignes du cahier des charges, nous avons
vite réalisé en étudiant la maquette qu’il nous faudrait dériver de cette approche-là et trouver de
nouveaux objectifs intermédiaires pour ensuite atteindre celui qui nous est au départ demandé.
Effectivement, il est inutile de rappeler qu’une cabine d’ascenseur est conçue pour se déplacer
verticalement d’un point à un autre. A partir de là, nous pouvons déjà conclure qu’un
asservissement de position est nécessaire avant l’asservissement en vitesse.
Suite à ce constat, nous nous donnons les objectifs suivants :
•
Asservissement de position avec une vitesse fixe : la cabine doit se déplacer d’un
étage à un autre sur appel à partir d’un bouton poussoir. De plus, un afficheur doit
donner une information écrite sur l’état du système (cabine se déplaçant à l’étage x
ou y, attente d’un appel…). Nous ajouterons une étape d’initialisation qui se
déroulera à chaque mise sous tension du système. Hypothèses de départ : l’ascenseur
ne peut pas descendre en dessous de l’étage 0, les capteurs sont considérés
infaillibles.
•
Ajout de l’asservissement de vitesse : nous imaginons que cet ascenseur est conçu
pour le déplacement de personnes, l’accélération et décélération se doivent donc
d’être des plus douces, tout en ayant une grande précision lors d’un arrêt à un étage.
De ce fait, la consigne de vitesse devient variable entre les étages.
Nous ne parlerons dans ce rapport que de la mise au point de l’asservissement de position
qui, s’étant malheureusement montré plus longue et plus compliquée que prévu, nous a forcé à nous
tenir à cet objectif-là, que nous avons en grande partie achevé.
7
1.5. Diagramme de Gantt
Compréhension
du sujet et mise
en place des
objectifs
Etudes des
divers
composants
Initiation à la
programmation
du PIC
Mise en œuvre
consigne
position fixe
Mise en œuvre
consigne
position
réglable
Mise en œuvre
consigne
vitesse
Heures cumulées
Heures
Jour
1
8h
2
3
9
1
0
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
11
1
3
1
4
15
8h
9
10
11
13
14
15
8h
9
10
11
13
14
15
8h
9
10
11
8h
9
10
11
13
14
15
8h
9
10
11
13
14
15
8h
9
10
11
13
14
15
8h
9
10
11
Ma m
Fig. 2 : Le diagramme de
Gantt.
Ma am
Ma m
Ma am
Ma m
Ma am
Temps prévisionnel
Temps réel
Ve m
Ma m
Ma am
Lu = lundi
Ma = mardi
Me = mercredi
Lu m
Lu am
Je = jeudi
Ve = vendredi
Me m
Me am
Je m
m = matin
am = après midi
8
Le diagramme de Gantt figure 2 permet de voir la répartition des taches durant ces 50
heures. On remarquera un retour sur les taches « Compréhension du sujet et mise en place des
objectifs » et sur « étude des divers composants » ce qui correspond concrètement a un changement
de maquette durant le second jour. A partir de là on a pu enchainer les objectifs dans l’ordre prévu
en respectant grossièrement le temps alloué. Sauf pour la consigne position réglable dont la
difficulté à été à la fois trouver un moyen de détecter les boutons poussoirs et chercher dans la
datasheet en anglais. Le temps jouant contre nous, nous n’avons pas pu arriver à réaliser notre
dernier objectif, asservir le moteur en vitesse.
II)
Modélisation et choix des solutions
2.1. Modélisation
A partir de la consigne que nous nous sommes fixée, nous pouvons établir un premier
schéma bloc pour modéliser grossièrement notre système.
Interface
homme/machine
Partie commande
Interface
commande/puissance
Capteurs
de position
Module mécanique
Moteur
Fig. 3 : Schéma bloc
Description des blocs :
•
•
•
•
Partie commande (rouge) : génère les consignes de déplacement de l’ascenseur,
traite les données des capteurs de position et les demandes de l’utilisateur.
Entrées/sorties (vert) :
o Interface puissance/commande : assure l’alimentation électrique du moteur
en fonction de la consigne donnée.
o Capteurs de position : informe en permanence la partie commande sur la
présence ou l’absence de la cabine à chaque étage.
o Interface homme/machine : assure la communication avec l’utilisateur ;
reçoit ses demandes via les boutons poussoir d’étages et l’informe sur
l’état courant de l’ascenseur.
Actionneur (bleu) :
o Moteur : meut l’ascenseur.
Système (violet) :
o Maquette.
9
2.2. Choix des entrées/sorties
a. Interface commande/puissance
Le moteur 28GD11-222E présent sur la maquette est conçu pour recevoir une tension
nominale de 18V. De plus, le cahier des charges met en avant l’utilisation de l’amplificateur de
puissance LM12. Il se trouve que le composant assurant l’interface commande/puissance déjà
présent sur la maquette est le hacheur de tension intégré L6203. Celui-ci est commandé par
modulation de largeur d’impulsions (PWM) sur niveaux de tension 0 et 5V, et peut assurer une
sortie atteignant 60V (voir datasheet en annexe). Le bloc interface commande/puissance peut donc
être constitué de ce hacheur.
b. Capteurs
Nous disposons à chaque étage de la maquette d’un capteur de position optoélectronique,
qui, via un circuit de conditionnement de la sortie renvoi un signal de type TTL (0 ou 5V). Nous
pouvons aussi utiliser le codeur HEDS-5540 couplée à l’arbre du moteur afin de pouvoir connaitre
la position courante de la cabine d’ascenseur. Mais par un souci de simplicité, nous opterons pour le
capteur, le codeur pouvant servir plus tard pour des améliorations.
Le circuit de conditionnement des capteurs seront décrits ultérieurement.
c. Interface homme/machine
Concernant l’interface homme/machine, nous décidons de nous orienter vers un petit
afficheur LCD qui nous permettra une grande diversité de messages à transmettre à l’utilisateur,
pour une mise en œuvre simple. Enfin, trois boutons poussoirs seront utilisés pour l’appel.
2.3. Choix de la commande
Connaissant à présent la nature des entrées/sorties et les types de signaux transmis, on peut
définir la partie commande.
Nous répertorions ci-dessous les différents paramètres à prendre en compte pour ce choix :
• Commande numérique imposée par le cahier des charges.
• Signaux d’entrée/sortie sur 0 ou 5V.
• Une commande PWM.
• Possibilité d’améliorations et d’ajouter d’autres périphériques.
• Simplicité de mise en œuvre et connaissances nécessaires.
• Coût.
Face à ces consignes, nous opterons pour un microcontrôleur Microchip PIC16F876 qui fait
partie d’une famille de microcontrôleurs très prisée pour la commande d’applications simples.
Voici les caractéristiques qui nous concernent à propos de ce composant (voir datasheet en
annexe) :
• 3 ports E/S numériques 8bits.
• Une sortie PWM.
• Des entrée analogique/numérique et gestion de priorités en cas de besoin pour
d’éventuelles améliorations.
10
•
Coût assez bas.
Le PIC sera programmé en langage C car il s’agit de l’outil plus ergonomique et que nous
maîtrisons le mieux pour ce genre d’application.
Dans le chapitre III, nous étudierons la mise en œuvre de toute la partie électronique du
système, en détaillant les caractéristiques des principaux composants. Enfin, dans le chapitre IV,
nous décrirons les algorithmes établis pour programmer le microcontrôleur.
III) Hardware
3.1. Décomposition du système
Fig. 4 : Schéma décomposition du système
Notre système est composé de 3 sous-systèmes : l’ascenseur, la platine de test Labdec et
l’ordinateur. En Fig. 4, l’ascenseur est relié directement au PIC qui reçoit son programme via le
PC.
11
Fig. 5 : Photos du système
On observe sur la fig. 5 l’ascenseur, sur la platine labdec le PIC avec l’écran LCD qui
affiche « 1 », une LED, 2 potentiomètres, un quartz et l’alimentation du PIC prise directement sur
un port USB. En bas à droite la capture d’écran du logiciel MikroC avec un programme qui fait
clignoter la LED.
12
3.2. Maquette ascenseur
Fig. 6 : Schéma de l’ascenseur
13
Guide de la cabine
Capteur de
position étage 3
Etage 3
Capteur de
position étage 2
Etage 2
Etage 1 avec cabine
Capteur de
position etage 1
Fig. 7 : Eléments de l’ascenseur
14
Codeur
Courroie crantée
Réducteur
1/5
Fig. 8 : Photo des moteurs de l’ascenseur
Moteur CC 18 V
Hacheur L6203
Portes inverseuses
4049UB
Fig. 9 : Circuit hacheur
15
Voici le circuit fig.10 qui commande l’ascenseur en fonction de la PWM.
Fig. 10 : Schéma de câblage du circuit redresseur
Ici nous avons le schéma fonctionnel réalisé sur Proteus. Le composant central correspond au
hacheur L6203 en haut à gauche sur la figure 10. Les trois portes inverseuses quant à elles
proviennent du 4049 UB, au centre de la figure 10.
Cette figure 11 issu de la datasheet 4049 UB
met en évidence le fait de pouvoir remplacer ce
composant par des portes NON. Les portes
inverseuses vont nous permettre de complémenter
IN et d’obtenir IN1 = IN et IN2= IN complémenté.
16
Fig. 11 : Portes inverseuses 4049
Fig. 12 : Schéma datasheet L6203
Description du fonctionnement du hacheur: on peut diviser la fig.12 en 4 blocs (rouges et jaunes).
THERMAL SHUTDOWN est une sécurité thermique et ENABLE est un verrouillage électronique pour
autoriser ou interdire la commande du moteur. Ce verrou est débloqué en appliquant une tension de 5V.
THERMAL SHUTDOWN et ENABLE vont êtres les entrées de chaque bloc. IN1=IN=IN2 complémenté.
Les 2 blocs jaunes qui ont 3 entrés, ont une entrée différente IN1 et IN2 complémenté. Or IN=IN2
complémenté donc les conditions d’amorçage sont les mêmes (IN1.ENABLE.THERMALE
SHUTDOWN). Il en va de même pour les blocs rouges avec IN2. IN1 et IN2 sont obtenues grâce au
rapport cyclique du signal. OUT1 et OUT2 qui sont les 2 les points d’alimentation du moteur, vont
recevoir à tour de rôle une tension positive. La valeur moyenne de la tension de sortie du hacheur fera
tourner le moteur dans un sens ou dans l’autre l’ascenseur et montera ou descendra en conséquence.
17
PWM réglé à 20, rapport
cyclique 12.3%. La
cabine monte.
Fig. 13 : Relevé oscilloscope tension d’entré IN en montée
PWM réglé à 140, rapport
cyclique 76.6%. La cabine
descend.
Fig. 14 : Relevé oscilloscope tension d’entré IN en descente
18
Fig. 15 : Photos capteur de position
Fig. 16 : Schéma de câblage capteur de position
L’AOP LM311 sert de comparateur. Lorsque la tension V+ est supérieure à V-, la tension
de sortie capteur est alors à son maximum. Au contraire, lorsque V+ est inférieure à V-, la tension
de sortie de l’AOP est à son minimum. HOA149-1 est un des 3 capteurs de position de
l’ascenseur. Il est composé d’une diode et d’une photo diode. Lorsque la cabine d’ascenseur
arrive au niveau du capteur la photodiode est éclairée à l’aide d’un miroir sur la cabine, le courant
circule donc vers la masse V+ < V-, tension de sortie nulle. Lorsque la photo diode n’est pas
éclairée V- < V+ la tension de sortie = 5V.
19
Fig. 17 : Chronogramme de fonctionnement capteur
Quand la cabine arrive sur le capteur le niveau logique du capteur est nul. Quand
l’ascenseur dépasse le capteur son niveau logique est à 1.
3.3. Platine Labdec
Fig. 18 : Photo de la platine de câblage labdec
20
Simulation des
capteurs positions
Fig. 19 : Schéma de câblage platine labdec
Le PIC est configuré de façon à lire l’état des 3 boutons poussoirs et des 3 capteurs de
position. Le quartz X1 permet d’imposer la fréquence de fonctionnement du PIC (20Mhz), il
fonctionne en oscillateur externe. On connecte la masse sur les entrées du pic afin de limiter
les parasites. Les 3 résistances de pull up R5, R6, R7 servent à ne pas court-circuiter Vcc.
21
L’ASCENSEUR
Matière 1ere structure
Heures de chaudronnerie
Peinture
LM311N comparateur
3 capteurs Nc HOA0149-1
Moteurs ccs escap 28GD11
Codeur Heds -5540 A11
Condensateur 1 uf
Résistances 120 ohms
Résistances 5 110 ohms
Résistances 3 300 ohms
Résistance 18k ohms
Résistances 2k700 ohms
Résistances 82k ohms
Résistance 2k200 ohms
Condensateur 100 nf
HCF 40449 UBE inverseur
Redresseur L6203
Diode
Circuit imprimé double face 1dm²
Courroie crantée
LA PLATINE LABDEC
Circuit imprimé double face 1dm²
PIC
LED
LCD
2 x condensateurs 22 pf
Quartz 20 Mhz
4 x résistances 1000 ohms
Potentiomètre 470537M 470 ohm
Potentiomètre 4K7503M 4k700 ohm
quantité
1
35
1
2
3
2
1
1
3
3
3
1
3
2
1
5
1
1
1
1
1
1
1
1
1
2
1
1
1
1
Prix unitaire
400 €
9,22 €
50 €
0,3
5,13
268,49
56,75
0,24
0,02
0,03
0,80
0,05
0,8
0,59
0,02
0,55
0,21
€
€
€
€
€
€
€
€
€
€
€
€
€
€
€
9,03
2,5 €
13,81 €
9,9 €
13,81
14,2
0,2
10
€
€
€
€
0,05 €
1,3 €
0,05 €
2,2 €
3,75 €
Prix des composants
Prix des composants x 5% = prix des consommables (fils électrique,
étain…)
Prix hors taxes
Tva 19.6% x prix = charges
TTC = prix + charges
Prix
400
322,7
50
0,6
15,39
536,98
56,75
0,24
0,06
0,09
2,4
0,05
2,4
1,18
0,02
2,75
0,21
9,03
2,5
13,81
9,9
€
€
€
€
€
€
€
€
€
€
€
€
€
€
€
€
€
€
€
€
€
13,81
14,2
0,2
10
0,1
1,3
0,05
2,2
3,75
€
€
€
€
€
€
€
€
€
1472,67 €
73,64 €
1546,31 €
303,08 €
1849.39 €
Fig. 20 : Devis du système ascenseur et PIC
Cette maquette est relativement chère. La structure représente la moitié du prix des
composants, mais elle est robuste ce qui garanti une durée de vie longue si l’ascenseur est
entretenu.
22
Liste du matériel nécessaire pour commander l’ascenseur
- Choisir une alimentation 5V continue stabilisé pour la partie
commande
-
Choisir une alimentation 0-16V continue pour le moteur
-
Choisir un générateur de rapport cyclique variable 0-5V continu en fonction de l’application (PIC, générateur basse fréquence…)
-
Prendre la connectique adéquate
-
Branchement nécessaire
Brancher la partie commande à 5V
-
Brancher enable à 5V
-
Brancher les capteurs position à 5V si nécessaire
-
Brancher le générateur de rapport cyclique sur IN
-
Brancher une alimentation 0-16V continue pour le moteur
Fonctionnement
-
Générer un rapport cyclique inférieur à 50% pour descendre
-
Générer un rapport cyclique supérieur à 50% pour descendre
-
Générer un rapport cyclique de 50 % pour immobiliser
l’ascenseur
-
Précaution d’usage
Eviter de faire percuter la cabine
Débrancher l’alimentation du moteur avant le générateur de
rapport cyclique
Fig. 21 : Notice d’utilisation
23
IV) Software
4.1. Programmation
Nous allons décrire dans les paragraphes qui suivent les démarches adoptées pour concevoir
le programme qui gère le système. Il sera élaboré pas à pas pour faciliter l’approche. Nous
établirons tout d’abord la structure nécessaire pour un tel programme. Nous verrons ensuite
comment utiliser les sorties du PIC qui gèrent la modulation de largeur d’impulsion, puis la
structure de la fonction qui gère le déplacement de l’ascenseur vers un étage. Enfin, nous
concatènerons les sous-programmes pour arriver à la structure visée.
a. Outils de programmation
La conception du programme en C se fera sous le logiciel MikroC de Mikroelectronica. Il
s’agit d’un environnement de développement spécialisé pour la programmation de microcontrôleurs
de la gamme PIC de Microchip. Ce logiciel propose des bibliothèques de routines qui facilitent
l’utilisation des fonctions du microcontrôleur.
Le programme est d’abord édité et compilé puis est transmit au composant via un driver qui
permet l’interfaçage entre le port USB du PC et le microcontrôleur déjà présent sur le montage
électronique.
b. Structure du programme
La structure générale du programme est montrée par l’organigramme en Fig.X :
24
Début
-Configuration des
registres.
-Configuration PWM.
-Configuration du
LCD
Rapport
cyclique à 50%
Initialisation
Vrai
1
Faux
Bouton
étage 1
Vrai
Aller à
l’étage 1
Faux
Fin
Bouton
étage 3
Vrai
Faux
Bouton
étage 2
Faux
Aller à
l’étage 2
Vrai
Aller à
l’étage 3
LCD :
afficher
« Attente… »
Fig. 22 : Structure
générale du programme
25
Nous programmerons cet algorithme progressivement pour apprendre à utiliser les
différentes fonctions. Ainsi, nous allons voir dans les paragraphes suivant les méthodes utilisées
pour la programmation de la commande de PWM puis de l’initialisation.
c. Commande PWM
Le PIC16F876 est équipé de plusieurs sorties qui, configurées correctement, peuvent générer
un signal sur -5V /+5Vdont le rapport cyclique est variable. Sur ce projet, nous utiliserons la patte
12 du microcontrôleur. Pour gérer une telle sortie, le logiciel MikroC propose une série de routines :
- Pwm_Init(30000) Initialise la sortie à la fréquence 30KHz (fréquence choisie par l’utilisateur).
- Pwm_Start() Active la sortie.
-Pwm_Change_Duty(duty_cycle) Permet de changer la valeur du rapport cyclique, en donnant
d’abord la valeur désirée au paramètre.
Il est aussi important de configurer certains registres. Ceci est faisable en se référant à la
datasheet du composant (voir annexe). Ici, il s’agit de la sortie correspondant à la patte 12 du
composant, le registre associé est donc « CCP2CON ».
Le programme suivant permet de faire varier le rapport cyclique en faisant tourner un
potentiomètre associé à une des entrées analogiques/numérique. La tension mesurée aux bornes du
potentiomètre est également affichée sur un afficheur LCD.
Fig. 23 : Programme de
la PWM
26
d. Programme d’initialisation
A partir de l’algorithme précédent, nous pouvons mouvoir l’ascenseur en connectant la
sortie PWM du microcontrôleur sur l’entrée du hacheur comme indiqué au chapitre III. Nous
pouvons créer à partir de là la fonction d’initialisation indiquée dans l’organigramme de départ. Il
s’agit de la fonction qui commande la descente de l’ascenseur jusqu’à l’étage 1 dès la mise sous
tension du système.
Pour cela, nous introduirons la gestion du capteur de l’étage 1 de l’ascenseur, sur un port du
microcontrôleur. L’organigramme est le suivant :
Début
-Configuration
des ports.
-Configuration
PWM.
Début
Initialisation
Capteur
étage 1
Initialisation
Rapport
cyclique à
70%
(descente)
Rapport
cyclique à 50%
Fin
LCD : afficher
« initialisation »
Fin
Initialisation
Fig.24 :
Organigramme de
l’initialisation
•
•
•
Port exploité : PORT C ; pin 3 en entrée, pins 0, 1, 2, 4, 5, 6, 7 en sortie.
Routines utilisées : Pwm_Init(30000), Pwm_Start(), Pwm_Change_Duty(CCPR2L).
Fonction appelée : init() fonction d’initialisation.
Description de la fonction « init() » :
Cette fonction est basée sur une boucle « while » : avant chaque passage dans la boucle,
l’état du capteur de l’étage 1 est lu. Tant que la cabine de l’ascenseur n’est pas présente devant le
capteur, la boucle est exécuté et appelle la routine qui gère la sortie du signal de PWM en lui
27
appliquant le rapport cyclique nécessaire pour faire descendre la cabine. Dès que celle-ci atteint le
capteur, la condition devient fausse le programme sort de la boucle pour exécuter les reste du
programme qui ramène le rapport cyclique à 50% pour stopper la rotation du moteur.
Il est nécessaire de souligner le fait que la sortie du capteur est inversée :
Etat du capteur
ascenseur détecté
ascenseur non détecté
Niveau logique
0
1
Nous préciserons enfin que la fonction « Init() » est réutilisable pour le déplacement de
l’ascenseur à chaque étage. Il s’agit en fait de l’élément central de ce code car c’est celui qui cause
le déplacement de l’ascenseur jusqu’à un point donné.
4.2. Simulation sous Proteus ISIS
Afin de pouvoir travailler en dehors des séances en salle de projet, nous simulons nos
programmes grâce au logiciel Proteus ISIS. Ce logiciel de CAO (Conception Assistée par
Ordinateur) propose des bibliothèques de composants dont le PIC16F876, qui permettent d’éditer le
schéma électronique, puis de simuler le circuit après lui avoir associé le fichier du code source
correspondant au programme.
Voici en exemple la simulation de notre circuit :
Fig.25 : Simulation sous Proteus
28
Pour cette simulation, le système est remplacé par un oscilloscope virtuel qui montre le
signal obtenu en sortie de la PWM. Les capteurs sont par ailleurs remplacés par de simples boutons
poussoirs virtuels et fonctionnels que nous actionnons pour visualiser les changements de la sortie
visualisée.
V)
Conclusion
Bien que nous n’ayons pu atteindre tous les objectifs initialement prévus dans le cahier des
charges, nous pouvons tirer satisfaction de ce projet pour plusieurs raisons :
Tout d’abord nous avons pu mettre en application les connaissances acquises durant nos
études, et ainsi les renforcer. Les manipulations effectuées nous ont apporté une expérience dans
notre approche des circuits électroniques et de l’instrumentation.
L’autonomie dont nous jouissions nous a donné une certaine confiance en nous même et a
renforcé notre expérience du travail en groupe, où il est nécessaire de partager les tâches et chacun
s’est investit autant que possible dans la réalisation du projet.
Nous avons pu également acquérir de bonnes connaissances dans la programmation de
microcontrôleurs, composants très répandus dans l’industrie, ainsi que dans l’utilisation des
logiciels qui y sont associés.
Notre regret concernerait le fait que nous n’ayons eu plus d’heures à consacrer à ce projet
qui nous a énormément captivés et pour lequel nous nous sommes grandement investis. Après une
telle aventure, le démontage des circuits fut une épreuve plus éprouvante encore que les heures de
labeur durant lesquelles nous avons sué pour l’aboutissement de ce travail.
29
Téléchargement