Vous êtes sur la page 1sur 20

Ecole Polytechniques de Tunisie

Module : applications base de microprocesseur

Rapport du mini projet :

POURSUITE MAXIMUM DECLAIREMENT

Ralis par les lves ingnieurs :

Haythem SAKKA Abdelkarim AMMARI

Anne universitaire : 2010-2011 1

Table de matires

1. 2.

Fonctionnement du dispositif ralis .......................................................................................................4 Commande du moteur .............................................................................................................................5 2.1. 2.2. 2.3. 2.4. 2.5. 2.6. Les moteurs pas pas .......................................................................................................................5 Avantages des moteurs pas pas .....................................................................................................5 Les types de moteurs pas--pas ........................................................................................................5 Moteur..............................................................................................................................................6 Pilotage des moteurs pas pas : .......................................................................................................6 Schma lectrique : (Voir Annexe) ....................................................................................................7

3. 4. 5.

LDR et conversion analogique/numrique ...............................................................................................9 Photorsistance (LDR) ..........................................................................................................................9 Conversion analogique numrique ..................................................................................................... 11 Transformation de la rsistance en une tension ................................................................................. 11 Conversion.......................................................................................................................................... 12 Programmation ...................................................................................................................................... 13 Carte lectronique .................................................................................................................................. 16

Annexe ........................................................................................................................................................... 18

Introduction

Certains systmes lectroniques sont autonomes nergtiquement, et sont aliments par des batteries. Pour maintenir le niveau de charge de ces batteries, des cellules photovoltaques transforment lnergie solaire en nergie lectrique. Pour optimiser cette fonction, il est intressant dorienter le panneau de cellule, toujours dans la direction du maximum dclairement, et ceci automatiquement, en fonction des variations dclairement. Cest lobjet de ce mini projet, ralis dans le cadre du module : Applications base de microprocesseurs . Une LDR (Light Dependent Resistor) fournit un signal analogique trait par un microcontrleur. Cette LDR est solidaire dun support tournant coupl un moteur pas pas. Aprs traitement des donnes, le programme commande le moteur pour positionner le capteur dans la direction la plus favorable. Dans le rapport prsent, nous prsentons, en premier lieu, le fonctionnement du dispositif ralis. Ensuite, nous analysons les units fonctionnelles en prsences. Finalement, on montre limplmentation logicielle et matrielle du travail.

1. Fonctionnement du dispositif ralis


Le travail consiste balayer 360 en prenons une capture de lintensit de lumire toutes les 7,2. Aprs traitement, le programme commande le moteur pour positionner le capteur dans la direction la plus favorable. Position initiale : Capture de lintensit lumineuse. Commander le moteur pour tourner de 7,2.

Position suivante : Capture de lintensit lumineuse.

Traitement : Si nouvelle valeur est suprieur lancienne valeur du ma maximum alors marquer comme maximum.

Rpter les tapes 50 fois. (Retour la position 0) Ramener le dispositif la position correspondante la valeur maximale dintensit lumineuse.

Donc, le travail peut tres subdivis en deux modules fonctionnels importants : La commande du moteur Lacquisition de donnes 4

2. Commande du moteur
2.1. Les moteurs pas pas Les moteurs pas--pas, galement connus sous le nom de "stepping motor", peuvent tourner et sarrter avec une prcision de lordre du centime de millimtre. Cette trs grande prcision et leur fiabilit les prdestinent tre utiliss dans de nombreux appareils lectroniques comme, par exemple, les lecteurs de disquettes pour la recherche des pistes, les imprimantes et les traceurs pour le dplacement du chariot, les photocopieuses pour lagrandissement, ainsi que dans diffrents robots industriels. 2.2. Avantages des moteurs pas pas Vitesse constante Contrairement aux moteurs courant continu qui ralentissent quand on augmente le couple appliqu sur l'axe, le moteur pas pas avance d'un pas chaque oscillation de l'horloge qui pilote l'lectronique. Elle est indpendante du couple appliqu sur l'axe du moteur pas pas. lectronique plus simple Les moteurs courant continu et synchrone peuvent tourner sans lectronique de contrle alors que le moteur pas pas ncessite un circuit de commande. Cependant, pour obtenir une vitesse constante, l'lectronique ncessaire aux moteurs courant continu et synchrone est plus complique que celle utilise pour les moteurs pas pas. Basse vitesse de rotation Les moteurs pas pas peuvent rester immobiles avec un couple sur leur axe et n'avancer d'un pas que lorsque l'horloge l'ordonne. Cela permet de tourner trs lentement en contrlant la vitesse ce qui n'est pas possible avec les moteurs courant continu et synchrones. 2.3. Les types de moteurs pas--pas Les moteurs pas--pas peuvent tre de type bipolaire ou unipolaire : Les moteurs bipolaires sappellent ainsi car, pour faire tourner laxe, il faut inverser la polarit de lalimentation de leurs bobines, selon une squence bien prcise (voir figure 8). Ces moteurs se reconnaissent aisment aux 4 fils qui sortent de leur corps (voir figure 4). Les moteurs unipolaires sappellent ainsi car, ayant un double enroulement, il nest pas ncessaire dinverser la polarit dalimentation. Ces moteurs se reconnaissent aux 5 ou 6 fils sortant de leurs corps (voir les figures 5 et 6). Les moteurs bipolaires sont plus courants car, puissance gale, ils sont de plus petites dimensions que les unipolaires. Cest pour cette raison que lon prfre utiliser les bipolaires lorsque lon rencontre des problmes despace dans un appareil.

2.4. Moteur Caractristiques :


Tension: 12 V Rsistance des enroulements: 75 ohms 200 pas/tour

Dterminer le cblage : Il suffit de mesurer la rsistance entre chaque fil pour dterminer les enroulements qui y sont relis. Dans cet exemple:

75 ohms entre 1 et 2, 150 ohms entre 1 et 3, rsistance infinie entre 1 et 4.

Schma lectrique d'un moteur pas pas unipolaire

2.5. Pilotage des moteurs pas pas : Le premier problme auquel nous sommes confronts, cest le pilotage dun moteur pas--pas. Ayant entre les mains des moteurs munis de 4 fils, voire de 5 ou 6, beaucoup ignorent comment les relier et avec quelle tension les alimenter. Pour mieux expliquer comment on procde pour faire tourner laxe dun pas, analysons un moteur thorique muni de 4 bobines excitatrices seulement (voir figure 1), excites par un seul aimant.

Figure 1

Si on applique une tension sur les deux bobines A-A, laimant sera attir vers ces deux bobines, et on obtiendra alors la rotation dun pas (voir figure 1-A). Si on retire la tension des deux bobines A-A pour lappliquer sur les bobines BB, laimant sera attir vers ces deux bobines et on obtiendra alors la rotation dun autre pas (voir figure 1-B). Si on applique la tension sur les bobines A-A, mais avec une polarit inverse, laimant sera alors attir vers ces deux bobines et on obtiendra alors un autre pas de rotation (voir figure 1-C). Pour obtenir encore un autre pas de rotation, on devra appliquer une tension de polarit inverse sur les bobines B-B (voir figure 1-D). 6

Donc, pour faire effectuer un tour complet laxe du moteur, on devra appliquer de faon squentielle une tension sur les bobines A-A, puis sur les bobines B-B, puis nouveau, mais avec une polarit inverse, sur les bobines A-A et sur les bobines B-B. Plus le nombre daimants prsents sur le rotor et de bobines prsentes dans le stator sera important, plus grand sera le nombre de pas ncessaires pour faire effectuer un tour complet laxe du moteur. 2.6. Schma lectrique : (Voir Annexe) Le schma lectrique reprsent en Annexe, contient deux tages. La partie en haut, et qui utilise les deux circuits intgrs L297 et L298, est le circuit de puissance qui sert faire sortir des bornes A-A et B-B les combinaisons ncessaires pour faire tourner nimporte quel type de moteur pas--pas. La partie en bas, et qui utilise le microcontrleur PIC 16F877, sert envoyer au circuit intgr L297 les impulsions dhorloge (un signal PWM) pour faire tourner le moteur diffrentes vitesses.

Nous commenons la description de leur fonctionnement avec la partie en haut, o le premier circuit intgr que lon trouve est un L297 et construit par SGS-Thomson. Ce circuit intgr, grce une logique interne, prsente sur ses sorties 4, 5, 6, 7, 8 et 9 toutes les combinaisons ncessaires pour piloter les couples de bobines A-A et B-B. Ces sorties contrlent le pilotage et le sens de rotation du moteur pas--pas, tandis que les broches 14 et 13 sont utilises pour contrler le courant maximal pouvant tre absorb par les enroulements du moteur. Le trimmer R2, reli la broche 15 de L297, sert faire varier le courant de pilotage du moteur dun minimum de 1 milliampre un maximum de 2 ampres. Cest grce cette possibilit que nous pouvons y relier nimporte quel type de moteur pas--pas, du plus petit au plus gros. Les autres entres se trouvant sur ce circuit intgr ont les fonctions suivantes : Broche 10 "Enable" = En appliquant une tension de 5 volts sur cette broche, cela confre au circuit intgr L298 laptitude piloter le moteur. Broche 17 "Direction" = Si on place cette broche au niveau logique 0, le moteur tourne dans le sens contraire des aiguilles dune montre. Si, au contraire, on le place au niveau logique 1, cest--dire quon le relie la tension positive des 5 volts, le moteur tourne dans le sens des aiguilles dune montre. Donc, mme si vous vous trompez en reliant les fils des bobines A-A et B-B et si vous les inversez, vous naurez pas de problmes car, vous pourrez toujours inverser le sens de rotation, grce cette broche. Broche 19 "Half-Full" = Si cette broche est place au niveau logique 0, laxe moteur tourne avec des pas entiers, tandis que si elle est place au niveau logique 1, laxe moteur tourne avec des demis pas. En effet, "Full" en anglais signifie "entier" et "Half" signifie "demi". Broche 18 "Clock" = Sur cette broche, on applique une onde carre dont la frquence dtermine la vitesse de rotation de laxe moteur. Le second circuit intgr est un L298/N, galement construit par SGSThomson. Cest en fait le vritable "driver" du moteur, car il reoit du circuit intgr L297 toutes les squences logiques pour piloter les 8 transistors de puissance placs lintrieur de son botier. Ces transistors ont la charge de lalimentation des fils de sortie A-A et B-B des bobines du moteur. Ce circuit intgr, capable dalimenter les moteurs bipolaires, peut dbiter un courant maximal de 2 ampres sur sa sortie. 7

Les rsistances R9, R10 et R11, R12 de 1 ohm, relies aux broches 1 et 15, servent contrler le courant qui parcourt les bobines du moteur. Si le courant absorb par les bobines dpasse la valeur que nous avons impose grce au trimmer R2, le circuit intgr L297 limite immdiatement le courant de sortie de L298, pour viter que celui-ci puisse tre endommag, protgeant ainsi galement les enroulements du moteur. Les diodes schottky, de DS2 DS9, que lon trouve relies aux sorties A-A et B-B, tant sur le positif que sur la masse, servent protger le circuit intgr de surtensions dangereuses, toujours prsentes pendant les phases de commutation. Les broches 11 et 12 de L297 et la broche 9 de L298 sont alimentes avec une tension stabilise de 5 volts, tandis que sur la broche 4 de L298, on applique une tension continue non stabilise, qui servira alimenter les bobines du moteur. La description du circuit de pilotage tant termine, nous pouvons prsent nous intresser la partie haute du schma, concernant le PIC 16F877. Ce microcontrleur est utilis pour commander ltage de puissance en impulsions carres de signal PWM. Ceci permet de varier la vitesse de rotation de laxe moteur, mettre en marche et arrter le moteur. Sur le schma, on a fix le choix de lavance moteur soit en pas complet, rotation de laxe moteur en sens antihoraire.

3. LDR et conversion analogique/numrique


Photorsistance (LDR) Une photorsistance est un composant dont la valeur en ohms dpend de la lumire laquelle il est expos. On la dsigne aussi par LDR (Light Dependent Resistor = rsistance dpendant de la lumire). La principale utilisation de la photorsistance est la mesure de l'intensit lumineuse (appareil photo, systmes de dtection, de comptage et d'alarme...). Une photo rsistance est compose d'un semi-conducteur haute rsistivit.

Principe

Un cristal de semi-conducteur temprature basse contient peu d'lectrons libres. La conductivit du cristal est trs faible, proche de celle d'un isolant. Lorsque la temprature du cristal augmente de plus en plus d'lectrons qui taient immobiliss dans les liaisons covalentes s'chappent et peuvent participer la conduction. A temprature constante si le mme cristal semi-conducteur est soumis une radiation lumineuse, l'nergie apporte par les photons peut suffire librer certains lectrons utiliss dans les liaisons covalentes entre atomes du cristal. Plus le flux lumineux sera intense, plus le nombre d'lectrons disponibles pour assurer la conduction sera grand, ainsi la rsistance de la LDR est inversement proportionnelle la lumire reue. Proprits

Lclairement du soleil est de lordre de 20.000 lux. Daprs le tableau ci-dessous, on remarque que notre rsistance sera de lordre dune dizaine de lOhm. Ta=29C Source de lumire Eclairement lunaire Ampoule 1m de distance Lumire fluorescente Soleil claire Illumination (lux) 0.1 50 500 30.000 Rsistance 1 M 3 K 300 50

La rsistance du LDR est une fonction linaire de lclairement.

Daprs la figure ci-dessus, on constate que la position de maximum dclairement pour une longueur donde donne correspond un maximum global pour le reste du spectre. De plus, le maximum de sensibilit spectrale de la LDR est dans le domaine du visible (entre 500 et 700 nm), ce qui correspond nos besoins puisque lnergie rcuprer par le panneau solaire est dans le domaine visible.

10

Conversion analogique numrique Le rle du convertisseur analogique numrique est de transformer une tension analogique en un nombre binaire (proportionnel la tension analogique). On doit dabord transformer la rsistance donne par la LDR en une grandeur comprhensible par le pic. La solution la plus simple est la transformation de la rsistance en tension, cela facilite aussi la conversion analogique numrique. Transformation de la rsistance en une tension La rsistance de la LDR varie entre 50 et 1000 Ohm. Ainsi, daprs le graphe ci-dessus, la tension la borne de RA0 va varier entre 2.5 jusqu 4.7 V Cette information sera utile par la suite.

RA0= [LDR/ (LDR+R)]*5

11

Conversion Choix des canaux d'entres :

On doit dabord configurer une entre comme analogique, on a choisi le port A comme entre analogique et particulirement RA0 pour faire la conversion. Conversion sur 10 bits

Le pic 16F877 travaille avec un convertisseur analogique / numrique interne qui permet un chantillonnage sur 10 bits, on peut avoir 1024 valeurs. Choix de la frquence d'horloge du convertisseur ADC :

On a choisi de travailler avec la frquence de loscillateur RC interne puisquon a utilis des fonctions prdfinis du logiciel MIKROC pour faire la conversion. Calcul du temps de la conversion

Lorsqu'on numrise un signal, on envoie au CAN un ordre de conversion, et on rcupre la valeur binaire en sortie au terme d'un dlai appel temps de conversion. La formule dobtention des temps Tad est simple, puisquil sagit du temps dinstruction (Tosc) divis par le diviseur donn. Pour notre cas, 4Mhz, le temps dinstruction est de 1/4.000.000, soit 250ns. Donc, avec un diviseur de 2, on aura 500ns. Il faut prsent prciser que le PIC ncessite un temps Tad avant le dmarrage effectif de la conversion, et un temps supplmentaire Tad la fin de la conversion. Donc, le temps total de conversion est de : - Tad : avant le dbut de conversion (le temps de connexion du condensateur est inclus) - 10 * Tad pour la conversion des 10 bits du rsultat - Tad supplmentaire pour la fin de la conversion de b0 Algorithme : Dans notre cas, il faut attendre un temps dacquisition de 20 s et un temps de conversion de 24s. En somme, voici lalgorithme : 1. attendre 20 s ; 2. lancer la conversion ; 3. attendre 24 s ; 4. prendre les valeurs numriser ;

12

4. Programmation
On a utilis des fonctions prdfinis du Mikroc pour la conversion analogique numrique : ADC_Init : cette routine initialise le PIC module interne de la conversion analogique numrique du PIC pour travailler avec lhorloge de loscillateur interne RC. Lhorloge dtermine le temps ncessaire pour effectuer la conversion analogique numrique (min 12TAD). ADC_Read : elle possde pour entre le numro du canal du port dentre avec laquelle on fait lacquisition de la tension analogique. Elle retourne 10 ou 12 bits des valeurs non signs On a utilis aussi les fonctions prdfinis du Mikroc pour la configuration du mode PWM : PWM1_Init: dont le prototype est void PWM1_Init(const long freq); , initialise le module PWM avec rapport cyclique 0. Paramtre Freq est un PWM dsire frquence en Hz (voir dispositif de fiche technique pour des valeurs correctes dans le respect avec FOSC). Cette routine doit tre appele avant d'utiliser les autres fonctions du PWM Bibliothque. PWM1_Start : dont le prototype est void PWM1_Start(void); , dclenche la gnration de signal PWM. PWM1_Stop : dont le prototype est void PWM1_Stop(void); , arrte la gnration de signal PWM. On devrait en plus que ceci, configurer les registres du timer2 pour fonctionner en mode PWM.

13

Le schma de lalgorithme est le suivant :

Acquisition de la tension

Conversion analogiquenumrique

Enregistrement de la valeur numrique

Comparais on avec le minimum de tension prcdant

Enregistrement de nouveau minimum de tension

Test

Si fin (360)

Retour la position du minimum


14

Code source du programme

int i,m=0; // position float present_value; float min_value ; // minimum de tension correspond au maximum de luminosit void main() { porta=0xFF; TRISA=0b11111111; porta=0xFF; TRISC = TRISC & 0b11111000; // RC2 = CCP1 et RC1=CCP2 en sortie CCP2CON = 0; CCPR2L = 127; CCP2CON = 0b00111100; // DC1b1 et DC1b0 = 11, et CCP1 Mode = 11XX pour PWM T2CON = 0x04; // soit Timer2 ON avec div = 1 PWM1_Init(250); adc_init(); present_value =adc_read(0); // acquisition de valeur analogique et conversion min_value = present_value; // initialisation for (i=0;i<=50;i++) // boucle de recherche au maximum dclairement { PWM1_Start(); Delay_ms(2000); CCP2CON = 0; Delay_ms(2000); present_value =adc_read(0); if(present_value < min_value) { min_value = present_value; m=i; } CCP2CON = 0b00111100; } for(i=0;i<=m;i++) // boucle de retour au maximum dclairement { CCP2CON = 0b00111100; PWM1_Start(); Delay_ms(2000); CCP2CON = 0; Delay_ms(2000); } }

15

5. Carte lectronique
Nous avons utilis le logiciel ISIS Proteus pour la simulation de notre montage. En plus, nous nous sommes servit de sont module ARES pour le routage du circuit sur carte imprime. Le rsultat du routage est comme suite :

Couche de dessus

Couche de dessous

16

Conclusion

Ce travail, effectu dans le cadre du module applications base de microprocesseurs a pour objectif la recherche de la position optimale de la lumire du soleil, dtecte par une photorsistance, a laide dun moteur pas pas. Une fois la position est trouve, le moteur assure le retour la position du maximum de la luminosit. Ce mini projet a prsent une opportunit pour dvelopper nos connaissances sur le plan de programmation de microcontrleur et sur le plan de conception lectronique par la ralisation dune carte lectronique. Nous profitons aussi de loccasion dnoncer les difficults quon a eues lors dimplmentation du circuit lectronique aussi bien que pour le choix des composants de commandes et de puissance en quoi nous avons consacr la majorit de notre temps. Ce projet peut avoir une extension intressante dans le domaine de lnergie solaire, on peut ladapter une grande chelle en commandant les panneaux solaires par un vrin ou un moteur pour maximiser la production de lnergie solaire durant la journe.

17

Annexe

Annexe.1 18

19

20

Vous aimerez peut-être aussi