Vous êtes sur la page 1sur 70

Rpublique Algrienne Dmocratique et Populaire Ministre de lEnseignement Suprieur et de la Recherche Scientifique Universit des Sciences et de la Technologie dOran MOHAMED

BOUDIAF FACULT DE GNIE LECTRIQUE DPARTEMENT DAUTOMATIQUE

EN VUE DE LOBTENTION DU DIPLME DINGENIEUR DETAT EN AUTOMATIQUE Ralis par : Mr.HAMANE BEKHADA Mr.AZROUG MOHAMED

Ralisation dun robot mobile command par PC (Phase I)

Encadreur : Mr. K.YAHIAOUI Membre du jury : Prsident : Mr. OMARI Examinateur : Mr. MECHE Examinateur : Mme. HOUARI

E-mail :hamane.bekhada@yahoo .com


Promotion 2008 ORAN 22 juin 2008

Rpublique Algrienne Dmocratique et Populaire Ministre de lEnseignement Suprieur et de la Recherche Scientifique Universit des Sciences et de la Technologie dOran MOHAMED BOUDIAF FACULT DE GNIE LECTRIQUE DPARTEMENT DAUTOMATIQUE PROJET DE FIN DETUDES EN VUE DE LOBTENTION DU DIPLME DINGENIEUR DETAT EN AUTOMATIQUE

Accord de dpt de mmoire

Prsident du jury : Monsieur. OMARI Date : 22/06/2008 Signature : . Encadreur : Monsieur K.YAHIAOUI Date : 22/06/2008 Signature : .

Nous remercions ALLAH tout puissant de nous avoir donn les moyens et la force daccomplir ce modeste travail. Nous tenons remercier vivement Mr YAHIAOUI KAMEL notre encadreur, qui a donn un sens notre travail grce ses conseils et ses orientations significatives. Nous tenons aussi exprimer notre sincre et profonde reconnaissance a Mr Dahmani et a Mr Djoub et aussi a Mr Meche. Nous exprimons notre gratitude lensemble des professeurs du dpartement dautomatique qui ont contribu notre formation, on les prie de bien vouloir croire notre gratitude en esprant que cet humble travail de trois annes fera crdibilit de leurs efforts. Nous voudrons galement remercier tous nos camarades qui taient nos cots aux liens fraternels et amicaux qui ont germ dans notre esprit. Nos remerciements sadressent galement tous membres de Jury, qui ont accept de nous honorer de leur prsence et de juger notre travail Merci. Et toute personne ayant contribu de prs ou de loin notre soutien moral. HAMANE BEKHADA AZROUG MOHAMED

Ddicace
Je ddie ce modeste travail : A mon pre, A ma mre, A mes frres, A toute ma famille, Pour leur patience, leur comprhension et leur soutien A mes cousins et mes amis les plus proches, et

A mon ami AZROUG MOHAMED avec qui jai partag les peines et les joies de ce projet fin dtude,

HAMANE BEKHADA

Ddicace
A mes trs chers parents A mes frres et mes surs,

Qui mont soutenu durant toutes mes tudes, A toutes la famille grandes et petits, A touts mes collgues de ma promotion, Ainsi a mon ami HAMANE BEKHADA.

Je ddie ce mmoire AZROUG MOHAMED

Sommaire
Prambule.
CHAPITRE I : Gnralits sur la robotique mobile.

11

.1.Introduction. .2.Dfinition. .3.La structure mcanique. .3.1.Le chssis. .3.2.La structure. .3.3.La locomotion. .3.3.1.Les roues .3.3.2.Les pattes. .3.3.3.Les chenilles. .3.4.Le choix des moteurs (Les actionneurs). .4.la structure de commande ou lectronique. .4.1.Les capteurs. .4.1.1.les capteurs externes (capteurs denvironnements). .4.1.2.les capteurs interne (capteur proprioceptif). .4.2.Les interfaces de puissance des moteurs. .4.3 .les centres de contrle (le cerveau dun robot). .4.4 .Lalimentation. CHAPITRE II : La technologie des moteurs pas pas . 1. Introduction. . 2. Dfinition. . 3. Diffrent types de moteurs pas pas. . 3.1 Moteur aiment permanent. . 3.2 Moteur reluctance variable. . 3.3 Moteur hybride. . 4. Le mode de contrle. . 4.1. Le mode unipolaire. . 4.2..Le mode bipolaire. . 5. Caractristiques couple et vitesse. . 5. 1.Couple d'arrt ou couple de maintient. . 5. 2.Plage de dmarrage. . 5. 3.Frquence limite de dmarrage. . 5. 4.Plage d'acclration. . 5. 5.Couple limite de travail. . 5. 6.Frquence maximale des pas. . 6. configurions interne des bobines du moteur. . 6.1. Les moteurs 4 fils (bipolaire). . 6.2. Les moteurs 5 fils (unipolaire). . 6.3. Les moteurs 6 fils. . 6.4. Les moteurs 8 fils. . 7. Commande des moteurs pas pas. . 8. Le mode de squence. . 8.1. Pas entier. . 8.1.1. Monophas.

13 14 15 15 15 16 16 16 17 17 18 18 18 18 19 19 19

21 21 21 21 22 22 23 23 23 23 23 24 24 24 24 24 24 25 25 25 25 25 26 26 26

. 8.1.2. Biphas. . 8.2. Demi pas. . 9. Commande de moteur pas pas par des circuits intgrs spcialiss. .10 .Le critre de choix dun moteur pas pas. .11.Conclusion. CHAPITRE III : La ralisation de la base mobile .1.La structure mcanique. .1.1. Le chssis. .1.2. La structure. .1.3. Les roues. .1.4. Les moteurs. .1.4.1.Calcul la vitesse de notre robot. .1.4.2.Le poids de notre robot. .2.La structure lectronique. .2 .1.La carte mre (de commande). .2.1.1.Prsentation des PIC. .2.1.2.Brochage du PIC 16F877. .2.1.3.Description du PIC 16F877-04. .2.1.4.LHorloge. .2.1.5.Structure interne du PIC 16F877. .2.1.6.Lorganisation de la mmoire. .2.1.7.Prsentation des modules utiliss. .2.1.7.1.Timer 1. .2.1.7.2.LUSART. .2.1.8.Prsentation de la communication srie. .2.1.9.La carte mre. .2.2.Circuit de puissance. .2.2.1.Circuit L297. .2.2.2.Circuit L298. .2.3.La carte dalimentation. .2.4.Le brochage entre les diffrents composants. .2.4.Conclusion. CHAPITRE IV : La programmation du robot IV.1.La programmation du microcontrleur PIC 16F877. IV.1.1.Le compilateur MIKRO C. IV.1.2.Le logiciel de programmation du PIC WINPIC. IV.1.3.Lditeur de schma PROTEUS (version 7.1). IV.1.4. Le programme principal du robot. IV.1.4.1.Le programme principal. IV.1.4.2.Le sous programme de traitement des interruptions. IV.1.4.2.1.Traitement dinterruption provoqu par lUSART. IV.1.4.2.2.Le cas ou la donne reue est une commande. IV.1.4.2.2.1 Mode console de commande. IV.1.4.2.2.2.Dtermination de la vitesse. IV.1.4.2.2.3.Gestion de linterruption dclenche par le Timer1. IV.1.4.2.1.2.2. Mode de commande par trajectoire. IV.1.4.2.1.2.Gestion de linterruption dclenche par le Timer1. IV.1.5.Linterface.

27 27 28 28 28

30 30 30 30 31 31 31 31 32 32 33 33 34 34 35 36 36 37 38 39 40 41 42 43 44 44 46 46 46 47 48 48 48 49 50 51 52 54 55 56 57

IV.1.5.1.Linterface principale. IV.1.5.1.1.Console de commande. IV.1.5.1.2.Commande trajectoire. IV.6 .Conclusion. Conclusion gnrale. ANNEXE. Rfrences bibliographiques.

57 58 59 62 63 64 70

La liste des figures

Figure. .1 : Les robots mobiles. Figure. .2 : Constitution dun robot mobile autonome. Figure. .3 : Gestion de navigation du robot avec une forme circulaire et une autre rectangulaire. Figure. .4 : La forme classique avec une ou deux roues folles. Figure. .5 : robot mobile avec des roues. Figure. .6 : Robot Sony AIBO. Figure. .7 : robot mobile avec chenille et une camra. Figure. .8 : Les diffrents moteurs utiliss dans la robotique. Figure. .9 : Tlmtres infrarouges Sharp. Figure. .10 : capteur de position angulaire. Figure. .1:circulation de courant dans une bobine. Figure. .2:Moteur aimant permanent. Figure. .3:Moteur reluctance variable. Figure. .4:Exemple de rotor de Moteur hybride. Figure. .5:Moteurs hybride. Figure. .6 : Mode unipolaire. Figure. .7 : Mode bipolaire. Figure. .8:Domaines de fonctionnement du moteur pas pas. Figure. .9:Synoptique de la commande dun moteur pas pas (Boucle ouverte). Figure. .1:Dimension et forme du chssis. Figure. .2:Roue motrice Figure. .3:Roue folle. Figure. .4: Nos moteurs pas pas utiliss. Figure. .5: Synoptique de notre ralisation. Figure. .6: Brochage du PIC 16F877. Figure. .7 : Diffrents connexions loscillateur. Figure. .8: Les lments constituants 16F877. Figure. .9: Organisation de la mmoire. Figure. .10 : Schma interne de Timer1. Figure. .11 : Port de transmission. Figure. .12: Port de rception. Figure. I.13 : Brochage du MAX232. Figure. .14: Connecteur DB9 femelle. Figure. .15: La carte mre. Figure. .16: La carte de puissance. Figure. .17 : Structure interne du circuit L297. Figure. .18 : Structure interne du circuit L298. Figure. .19: La carte dalimentation. Figure. IV.1: mikroC. 46 Figure. IV. 2: WinPic800. Figure. IV. 3: Le schma de simulation de notre programme final. Figure. IV. 4: Lorganigramme du programme principal. Figure. IV. 5: Lorganigramme de sous programme de traitement des interruptions. Figure. IV. 6: Lorganigramme de sous programme de traitement dinterruption provoqu par lUSART.

13 14 15 16 16 17 17 17 18 18 21 22 22 23 23 23 23 24 26 30 30 30 31 32 33 34 35 35 36 37 37 37 38 38 39 40 41 42 43 46 47 47 48 49 50

Figure. IV. 7: Lorganigramme pour dterminer le mode de la commande choisie. Figure. IV. 8: Lorganigramme du mode console de commande. Figure. IV. 9: Lorganigramme pour la dtermination de la vitesse. Figure. IV. 10: Lorganigramme de gestion de linterruption dclenche par le Timer1 dans mode console de commande. Figure. IV. 11: Lorganigramme du mode de commande par trajectoire. Figure. IV. 12: Lorganigramme Gestion de linterruption dclenche par le Timer1 dans le mode de commande par trajectoire. Figure. IV.13: Borland C++ Builder. Figure .IV.14: Linterface principale. Figure. IV.15 : Linterface de console de commande. Figure .IV.16 : Linterface de commande trajectoire. Figure. IV.17 : Lorganigramme de commande trajectoire. Figure .IV.18: Trajectoire droite. Figure. IV.19: Trajectoire est une drivation. Figure. IV.20: Exemple dune trajectoire du robot.

51 52 53 54 55 56 57 57 58 59 59 60 60 61

10

Prambule

Depuis le milieu des annes 70, la robotique est devenue une science extrmement populaire dans les milieux universitaire. Alliant un grand intrt pdagogique et industriel, Cette nouvelle science demande beaucoup artificielle, Temps rel, Automatique..) Pour tre rellement autonome en environnement inconnu, un robot mobile doit pouvoir disposer de plusieurs modes de dplacement, savoir plusieurs solutions pour les phases de perception, dcision et daction, et de la capacit de slectionner le meilleur mode en fonction du contexte. Pour cela, il peut utiliser des informations extroceptives provenant, par exemple de camra mais il doit surtout tenir compte de son comportement courant en terme de locomotion, afin de changer de stratgie si celle quil utilise se relve inadapte. de crativit et des connaissances pluridisciplinaires (Mcanique, Electronique numrique et analogique, lectrotechnique, Programmation, Intelligence

Pour cela notre projet de fin dtude consiste raliser un robot mobile command par PC (Phase). Notre ralisation sarticule autour de trois parties : -1- Systme mcanique : configuration de la plate-forme (Structure et disposition des lments moteur), matriaux. -2-Ensuite ; llectronique de contrle : des circuits ncessaires la commande des moteurs et au positionnement, des circuits de puissance et dalimentation -3-Enfin ; la programmation du robot.

11

12

.1.Introduction :
Les robots de la premire gnration ntaient que des simples autonomes capables daccomplir des tches rptitives dans des milieux parfaitement connus. La deuxime gnration a vu apparatre des robots quips de capteurs leur permettant de percevoir les modifications de lenvironnement et dagir dune manire simple. Depuis, les robots se sont largement dvelopps et gnraliss .Ils sont dots de moyens de perception et de dcision leur permettant de comprendre et dvoluer dans diffrents types denvironnement. Certains sont mme utiliss pour lexploration de plantes lointaines (Lune, Mars).Le robot de la cinquime gnration devrait tre haut degr dautonomie, il fait lobjet des recherches intensives. Si lautonomie a longtemps constitu un but suprme, on sest de plus en plus rendu compte, que pour plusieurs annes encore, une coopration entre lhomme et la machine tait invitable ; ne serait-ce que pour des raisons de scurit. Le robot ROBOSTO fut lun des premiers projets de dveloppement dun robot autonome luniversit USTO. Son systme de locomotion est dun type classique avec deux roues motrices indpendantes installes sur un mme axe et deux roues folles pour garantir lquilibre .Son systme de perception tait compos des capteurs collusion ne lui permettant pas de connatre son environnement. Le systme informatique tait dport de la communication avec le robot. [13] Ces robots ralisent des oprations rptitives ou dangereuses, telle que la soudure, la peinture, le moulage ils sont aussi capables des travaux de prcision. Pratiquement, tous ces robots remplacent les ouvriers des usines et en cela rendent raison aux prvisionnistes des annes 1950-1960. Aujourdhui, seulement 1% de tous les robots sont dvolus des taches plus valorisantes. Ils interviennent dans des endroits inaccessibles (fond de locan, pente dun volcan, tube dune centrale nuclaire, exploitation de la plante Mars).Pour ces taches, ils sont quips de calculateurs qui leur donnent plus de libert. Dune manire gnrale, on regroupe sous lappellation robots mobiles lensemble des robots base mobile, par opposition notamment aux robots manipulateurs. Lusage veut nanmoins que lon dsigne le plus souvent par ce terme les robots mobiles roues. Les autres robots mobiles sont en effet le plus souvent dsigns par leur type de locomotion, quils soient marcheurs, sous-marins ou ariens. [3]

Figure. .1 : Les robots mobiles

13

.2.Dfinition de robot mobile :


Il existe diverses dfinitions du terme robot : 1.Un robot est une machine quipe de capacits de perception, de dcision et daction qui lui permettent dagir de manire autonome dans son environnement en fonction de la perception quil possde . 2. Un robot mobile est dabord une base mobile .A ce titre, il peut tre utilis pour le transport. Mais ds lors quil est dot dun bras manipulateur ou dune camra, ses applications sont plus nombreuses (surveillance, dtection dincendie, etc.). 3. Un robot mobile est un manipulateur reprogrammable multifonctionnel conu pour dplacer des matriaux, des outils, des pices ou des composants spcialiss travers une srie de mouvements programms pour effectuer une tache prcise. Les dplacements reprsentent laspect le plus important dun robot mobile autonome, car sa navigation et sa locomotion en environnement naturel, inconnu priori, sont un problme difficile qui est encore loin dtre rsolu. Pour tre rellement autonome, un robot doit ainsi tre capable dinterprter ce quil peroit de lenvironnement, de modliser cet environnement si cela peut tre utile .De choisir une trajectoire adapte et davoir une locomotion, la plus efficace possible, quelle que soit la situation qui se prsente. Le robot mobile se dcompose en trois sous-systmes : - La structure mcanique. - Lnergie. - La structure de commande. [3], [4], [5]

Structure Mcanique

Structure de Commande

Lnergie

Figure. .2 : Constitution dun robot mobile autonome. [4]

14

.3.La structure mcanique :


.3.1.Le chssis : Pour commencer, une base classique permet de nombreuses exprimentations. Le choix dune forme cylindrique assure au robot, dviter les obstacles en allgeant la programmation. Le robot cylindrique dtecte une collision par ses capteurs de chocs avant, son programme lui commande de pivoter gauche jusqu disparition de la dtection (Figure. .3).Puis le robot poursuit son chemin. Le robot rectangulaire commence par reculer avant de ragir comme le premier robot (Figure. .3).Son programme est donc plus compliqu. La taille finale dpend du contexte global lors de lutilisation du robot. Un labyrinthe ne permet pas les mmes liberts quune arne de dmonstration. Dans un labyrinthe ou un couloir, le robot doit tourner sur place, do le choix dun chssis avec deux roues diffrentielles places sur un axe central .Des formes plus libres peuvent tre choisies avec un plateau de dmonstration (robot pattes, chenilles, roues larrire du mobile, etc.) . Mais il est ncessaire de prendre aussi en compte les modifications futures sur les capteurs et les cartes lectroniques. [3]

Tourner Gauche Avance Avance

Recule

Figure. .3 : Gestion de navigation du robot avec une forme circulaire et une autre rectangulaire .3.2.La structure : La structure dun robot mobile peut utiliser divers matriaux. Mais la plupart des robots sont raliss en aluminium et en plexiglas (plastique).Ces deux matriaux tant lgers et facilement disponibles. Concernant le chssis le plus courant, deux roues propulsent le mobile, les roues sont places sur le mme axe et une ou deux roues folles quilibrent lensemble comme la montre (Figure. .4). La roue est souvent une roue qui tourne librement ou glisse.

15

Roues Folles

Figure. .4 : La forme classique avec une ou deux roues folles Les deux solutions (une ou deux roues) nont pas les mmes performances. Il ny a pas une solution meilleure que lautre, cela dpendra du terrain dans un premier temps. Le chssis trois roues, deux roues motrices et une roue folle, est plus performant sur des terrains faiblement accidents et assure un contact permanent avec le sol .Le chssis quatre roues, deux roues motrices, ncessite quand lui un terrain parfaitement plat.il est possible dattnuer un peu ce problme avec des amortisseurs sur les roues folles. Le deuxime problme est la rpartition des masses des chssis .Nous savons bien que le poids dun mobile doit se situer sur les roues motrices pour amliorer les dplacements. [3] .3.3.La locomotion : Lanalyse de la locomotion humaine ou animale a donn lieu de trs nombreux modes de locomotion pour se dplacer, les robots ont besoin des roues, des chenilles ou des pattes. [3] .3.3.1.Les roues : Cest la largeur et la nature des pneus qui caractrisent les performances. Des pneus trop fins sont en gnral trs rigides, comme les joints toriques. Cela entrane des erreurs de symtrie qui font tourner lgrement le robot. A loppos des pneus trop larges et en caoutchouc mou amliorent ladhrence, mais augmentent la puissance ncessaire des moteurs .La bonne taille est donc compromise. Un pneu plus mou que lautre entrane une diffrence de diamtre qui introduira une erreur de symtrie .La consquence sera immdiate sur la trajectoire du mobile qui nira plus droit. [3]

Figure. .5 : robot mobile avec des roues .3.3.2.Les pattes : Les structures prcdentes ne sont pas adaptes dans les cas dapplication sur des terrains avec des grandes diffrences de niveaux ou il est ncessaire de choisir les appuis. Cest le nombre de pattes qui va dfinir de complexit. Moins il y a de pattes ou de pieds, plus le robot est sophistiqu et complexe. Pour un robot quatre pattes, il faut surveiller la position du centre de gravit toujours la limite du triangle form par les trois autres pattes ou raliser un dplacement dynamique. Cette technique dplacer le centre de gravit, en bougeant la tte par exemple.

16

Les robots les plus spectaculaires sont humanodes. Mais les quations et les techniques qui permettent de programmer et construire ces cratures ncessitent des annes dtudes pour les laboratoires de robotique. [3]

Figure. .6 : Robot Sony AIBO .3.3.3.Les chenilles : Des types de robot peuvent galement utiliser des chenilles ce qui fournit une capacit de franchissement des petites obstacles intressantes (figure. I.7). Ces plates-formes peuvent ainsi tre utilis en milieu urbain, ou dans des dcombres. Lutilisation de chenilles conduit cependant un odomtre trs bruit cause du contact mal dfini entre les chenilles et le sol.

Figure. .7 : robot mobile avec chenille et une camra .3.4.Le choix des moteurs : Un moteur permet de raliser dans un premier temps un mouvement de rotation. Ce dernier est communiqu laide de larbre moteur et il peut tre ensuite transform en mouvement de translation laide de diffrentes solutions technologique comme les systmes visse/crou, pignon/crmaillre, bielle/manivelle Dans un robot mobile utilisant lnergie lectrique, la puissance mcanique est fournie par des moteurs (des moteurs pas pas, des moteurs courant continu et des servomoteurs). Le choix dun moteur ou dun autre dpend des besoins.Il est ncessaire de connatre la puissance absorbe en charge, le couple mcanique et la vitesse nominale pour slectionner un moteur plutt quun autre.

Figure. .8 : Les diffrents moteurs utiliss dans la robotique (Servomoteur, Moteur courant Continu, Moteur pas pas)

17

.4.La structure de commande ou lectronique:


La ralisation des cartes lectroniques est dj une difficult en soi, mais dans le cas de la robotique, une elle se double dun encombrement rduit, car on doit minimiser au maximum leur taille. Llectronique tant une partie trs sensible du robot, elle doit tre protge. Toutes les liaisons entre les cartes, les capteurs, les moteurs et lalimentation sont autant de points sensibles. .4.1.Les capteurs : Les capteurs sont les organes sensoriels dun robot. Certains sont fragiles et doivent tre protgs, dautres au contraire doivent tre capable dabsorber des chocs. Les plus simples peuvent tre ntraire directement connects au centre de contrle, comme les interrupteurs. Les autres types ncessitent une petite interface dadaptation, comme les capteurs infrarouge ou ultrasons. Dautres plus sophistiqus ncessitent une carte spciale tel que les cameras. autres On a deux types de capteur : .4.1.1.les capteurs externes (capteurs denvironnements) : Ils sont des capteurs extroceptif, dlivrent des informations relative lenvir lenvironnement ou aux interactions entre le robot et son environnement : capteurs de distance. [4]

Figure. .9 : Tlmtres infrarouges Sharp .4.1.2.les capteurs interne (capteur proprioceptif) : Il sagit des capteurs qui dlivrent des informations sur ltat interne du robot : les capteurs de position ou de vitesse des roues et les capteurs de charge de la batterie. [4]

Figure. .10 : capteur de position angulaire

18

.4.2.Les interfaces de puissance des moteurs : On ne peut contrler directement les moteurs quen passant par une interface de puissance. En connaissant ses caractristiques, cela nous permet de choisir la meilleure interface. Un point particulirement important est la dissipation thermique des transistors ou circuit intgr. [3] .4.3.les centres de contrle (le cerveau dun robot) : Le centre de contrle est en gnral une carte quipe uniquement dun processeur ou de microcontrleur. Dans ce cas l, le centre de contrle se rsume au processeur ou de microcontrleur et ses priphriques mmoires.Mais parfois, il est complt par les interfaces pour moteurs et capteurs. Le but tant de raliser une carte unique qui regroupe toute llectronique et rduit la connectique. [3] .4.4. Lalimentation : Le dimensionnement de lalimentation du robot consiste dfinir lautonomie souhaite pour un fonctionnement normal, et accessoirement repartir la capacit sur plusieurs sources indpendantes .Lnergie ncessaire est calcule partir de la consommation de tous les lments du robot. Le calcul est simple, il suffit de multiplier le courant total consomm par lautonomie souhaite. Lalimentation peut tre sous forme de batteries ou daccumulateurs en tenant compte du poids final du robot, sa puissance et son autonomie. Le problme avec les robots est le manque de place. Le choix de batterie dpend des caractristiques du robot. [3]

19

20

. 1. Introduction :
La circulation d'un courant lectrique dans un bobinage entrane l'apparition d'un champ magntique, comme le dtaill la figure ci-dessous dans le cas du solnode, et donc la prsence de ples Nord et Sud; c'est sur ce principe de base que repose le fonctionnement de tout les moteurs lectrique.

Figure. .1:circulation du courant dans une bobine

. 2. Dfinition :
Un moteur pas pas est une machine tournante dont le rotor se dplace dun angle lmentaire chaque fois que son circuit de commande effectue une commutation de courant dans un ou plusieurs de son enroulement, Il sagit donc dun actionneur de positionnement. Les moteurs pas pas sont diffrents par rapport aux moteurs classiques. Au lieu de leur fournir une tension continue, on peut alimenter des bobines dans une squence prcise. Grce ce principe, on peut dterminer langle exact de rotation de laxe, de plus, en laissant une ou plusieurs bobines alimentaires, on obtient un maintien : le moteur est fig. Chaque impulsion envoye par le circuit de commande au module de puissance se traduit par la rotation d'un pas du moteur. L'angle de rotation minimal entre deux modifications des impulsions lectriques s'appelle un pas. On caractrise un moteur par le nombre de pas par tour (c'est dire pour 360). Les valeurs courantes sont 48, 100 ou 200 pas par tour. Les impulsions lectriques sont du type tout ou rien c'est dire passage de courant ou pas de passage de courant. Exemple: Moteur 400pas=0.9 Moteur 200pas=1.8 Moteur 100pas=3.6 Moteur 48pas=7.5 Moteur 24pas=15

. 3. Diffrent types de moteur pas pas :


En peut classer les moteurs pas pas en 3 catgories: - Moteur aimant permanent; - Moteur rluctance variable; - Moteur hybride. . 3.1 Moteur aimant permanent : Il se compose de deux parties : 1. Le rotor qui est la partie mobile, comporte un nombre pair aimant permanent magntique dans le sens radial. 2. Le stator qui est la partie fixe, comporte dencoches comportant 1,2, 3,4 enroulements Electriques.

21

. Figure. .2:Moteur aimant permanent Caractristiques principales : - Faibles rsolution : nombre de pas/tour peu important. - Couple dutilisation plus lev par rapport au moteur reluctance variable. - Prsentation dun couple rsiduel lorsque le moteur est hors tension. . 3.2. Moteur reluctance variable : -Le stator prsente un certain nombre de dents ayant un bobinage. Le -Le rotor (en matriau magntique) possde un nombre diffrent de dents, mais sans bobinage. Le - Le rotor se positionne pour que la rluctance du circuit magntique soit minimum. - 12 pas par tour ou 30 par pas. - Des squences pour un tour com complet.

Figure. .3: Moteur reluctance variable Caractristiques principales : - Les frquences de fonctionnement peuvent tre leves. - Bonne rsolution. - Construction simple mais dlicate. Couple dvelopp. - Absence de couple rsiduel avec le moteur hors tension.

. 3.3 Moteur hybride : Cest un moteur reluctance polarise.il superpose le principe de fonctionnement des moteurs aimant permanent et reluctance variable et combine leurs avantages. Le rotor est constitu de deux disques dents dcals mcaniquement entre ces deux disques et insr un aimant permanent. Le stator et le rotor ont un nombre de dents diffrents. Quand on alimente une paire de bobines, Le rotor place les dents nord et sud de telle faon que le flux traversant le rotor soit maximal.

22

Figure. .4:Exemple de rotor de Exemple Moteur hybride Caractristiques principales : - Hors tension, le rotor est maintenu en position. - Bonne prcision de la position du rotor. - Grande vitesse de rotation. [10 10]

Figure. .5:Moteurs hybride Moteurs

. 4. Le mode de contrle :
. 4.1. Le mode unipolaire : La commande unipolaire nutilise en effet quune bobine par phase. Elle se fait entre une extrmit et le point milieu de bobinage. Cela permet nanmoins de simplifier llectronique de pilotage vu que lon travaille dans environnement numrique.

Figure. .6 : Mode unipolaire . 4.2. Le mode bipolaire : Elle permet daugmenter le couple de moteur, par sa position ses enroulements. r Les enroulements au stator nont pas de point milieu, chaque borne de chaque enroulement est alimente successivement par une polarit positive puis ngative en inversant les polarits des enroulements statique. On inverse les ples nord et sud de stator. [10]

Figure. .7 : Mode bipolaire

. 5. Caractristiques couple et vitesse : ristiques


. 5. 1-Couple d'arrt ou couple de maintient : Couple Cest le couple maximum de rotation avec lequel on peut solliciter l'arbre d'un moteur pas pas excit statiquement, sans qu'il ne se produise de modification de son angle de rotation.

23

. 5. 2-Plage de dmarrage : Cest la plage dans laquelle un moteur pas pas peut tre actionn en synchronisation avec la Frquence de travail sans rampe d'acclration ou de dclration. . 5. 3-Frquence limite de dmarrage : Cest une frquence maximale avec laquelle un moteur pas pas ne peut dmarrer la charge indique. . 5. 4-Plage d'acclration: Cest la plage de travail dans laquelle un moteur pas pas peut tre actionn en synchronisation avec la frquence de travail, sans qu'il ne se produise d'erreur de pas. Il faut cependant qu'il soit actionn avec une rampe d'acclration et de dclration. . 5. 5-Couple limite de travail ou dentranement : Cest un couple de rotation maximale avec lequel on peut solliciter un arbre de rotation avant qu'il ne sorte de la cadence. . 5. 6-Frquence maximale des pas : Cest une frquence maximale admise avec laquelle un moteur pas pas est actionn vide sans perte de pas. Cependant, le moteur ne peut tre dmarr ou stopp avec cette frquence sans perte de pas.

Figure. .8:Domaines de fonctionnement du moteur pas pas.

. 6. Configurations interne des bobines du moteur :


. 6.1. Les moteurs 4 fils (bipolaire) : Ce moteur agit comme sil ne possdait que 2 bobines, il est oblig dtre alimenter soit une bobine la fois, ou les deux en mme temps. A tout moment, donc le moteur a la moiti ou la totalit de ses bobines alimentes, ce qui a comme avantage de lui donner plus de force. Par contre, il est plus complexe de contrler un moteur bipolaire, au niveau de linterface de puissance.

24

. 6.2. Les moteurs 5 fils (unipolaire) : Le moteur comporte deux bobines point centrales, on relie le point central lalimentation et les autres bobines linterface de puissance. . 6.3. Les moteurs 6 fils : Avec le moteur 6 fils, on a le choix dune commande bipolaire, ou dune commande unipolaire. Dans le premier cas, on ignore simplement les connexions centrales, et dans le second cas, on relie les deux points centraux au (+) de lalimentation. . 6.4. Les moteurs 8 fils : Avec ce moteur, on a aussi le choix dune commande bipolaire, ou unipolaire. Dans le premier cas, on ignore les 4 fils centraux, et dans le second cas, on reliant les quatre fils centraux ensemble. [10]

. 7. Commande des moteurs pas pas:


Le rle de llectronique associe un moteur pas pas est dassurer les commutations ncessaires pour obtenir un dplacement dun nombre de pas donn ou une rotation vitesse fixe. Trois dispositifs sont ncessaires. Le principe de commande du moteur pas pas est en boucle ouverte (Voir la figure. II.9) . 7.1. Units de pilotage : Elle gnre 2 signaux numriques .Une premire sortie donne un bit qui permet de dfinir le sens de rotation. Une seconde sortie dlivre les impulsions. Un nombre N dimpulsions correspond un dplacement de N pas .Une rptition priodique des impulsions avec une frquence correspondante une rotation continue une vitesse angulaire ; Cette fonction est souvent ralise par un circuit programmable (PC, microcontrleur). . 7.2. Le squenceur : Il dirige les impulsions vers les diffrentes phases du moteur. Suivant le moteur utilise (Nombre de phase) et le mode de fonctionnement choisis (pas entier, demi pas).Ce circuit dlivre sur ses sorties des signaux logiques dfinissant les commutations raliser pour chaque phase suivant les squences prcises, il sagit dun circuit logique cbl (bascules,). Cette fonction peut galement tre remplie par un circuit programmable. . 7.3. Les commutateurs de puissance ou linterface de puissance : Il permet dalimenter correctement les phases du moteur en fonction des informations reues Du squenceur, il doit donc tre en mesure de fournir le courant ncessaire aux enroulements du moteur, il sagit dune fonction analogique de puissance qui sera raliser partir dun composant intgr ou discret : (Transistor bipolaire, Montage Darlington). Chaque phase possde une voie spare dans le commutateur. [11]

25

Vcc
Unit de Pilotage Microcontrleur & PC

Interface De Puissance

Moteur

Figure. .9:Synoptique de la commande dun moteur pas pas (Boucle ouverte)

. 8. Le mode de squence :
Les modes de squence se distinguent par leur fonctionnement interne, leur squence gnre, et par la faon dont on les commande. . 8.1. Pas entier : . 8.1.1. Monophas: Cette squence permet normalement dalimenter une bobine la fois, en plaant des positions de dtente. [10]

B D
Unipolaire
2

A C

A 0 1 0 0

B 0 0 0 1

C 0 0 1 0

D 1 0 0 0

Clock

A B C D 1000 0010

ABCD =

0001

0100

Tableau.III. 1

1. Fonctionnement en mode monophas

26

. 8.1.2. Biphas : Cette fonction permettra au moteur de faire un pas complet o les positions dquilibre sont mi michemin entre les positions de la squence la plus simple. [10]

B 0 1 1 0 1 0 0 1

C 0 0 1 1

D 1 1 0 0

clock A B

C D ABCD=0101 1001 1010 0110

Tableau.III.2 2 . 8.2. Demi pas :

2. Fonctionnement en mode biphas

Dans ce cas, on combine les deux squences prcdentes pour placer le rotor successivement une position de dtente, une position intermdiaire, et nouveau une position de dtente. Ce mode permettra de multiplier par deux le nombre de pas. Lavantage de ce mode demi-pas quil ne souffre pas de problme de rsonances, mme sil tourne pas trs vite, on ne tombe jamais sur un point de rsonance o le couple sannule. [10]
1 2 3 4 5 6 7 8

A 0 0 1 1 1 B 1 0 0 0 0 C 0 0 0 0 1 D 1 1 1 0 0

0 0 0 0 1 1 1 1 0 0 0 0

Clock A B

C D

ABCD= 0101

0001

1001

1000

1010

0010

0110

0100

Tableau.III.3 3

3. Fonctionnement en mode demi pa pas

27

. 9. Commande de moteur pas pas par des circuits intgrs spcialiss :


Les deux dispositifs pour la commande du moteur pas pas qui sont le squenceur et linterface de puissance avec le dveloppement scientifique sont intgrs tout les deux dans un seul circuit qui renferme 4 tages de commande (Position, direction, amplification et vitesse). Et ne reste alors qu dlivrer les impulsions pour le nombre de pas et un bit pour le sens de rotation par le moyen de deux lignes de donnes du port dun microcontrleur par exemple, pour faire tourner le moteur de plus, ces circuits intgres protgent trs bien lunit de pilotage dun retour de courant. [11] On a comme exemple de ces circuits intgrs : Le (MC3479C). Le (L297) et (l298) qui fonctionnent ensemble. Le (L293). Le (SAA1027). (SAA1042). Le (SL7024M).

.10 Le critre de choix dun moteur pas pas :


Le choix se fait comme suivant: -Le mode de commande, soit bipolaire ou unipolaire. -Le nombre de pas par tour. -La frquence de travail. -La puissance du moteur.

.11.Conclusion :
Dans ce chapitre nous avons prsent les trois grandes familles de moteur pas pas et les caractristiques de chacun ; ces moteurs sont simple raliser et prsentent une faible inertie, ce qui nous permet davoir une acclration importante. Les moteurs pas pas sont des transducteurs lectromcaniques qui assurent simultanment deux fonctions : -La conversion dnergie lectrique en nergie mcanique. -La conversion dinformation lectrique digitale en action mcanique.

28

29

Introduction :
Notre robot mobile est un ensemble de mcanique associe llectronique. La mcanique consiste construire une base roulante qui pourra accueillir llectronique qui permettra la commande de la base. Dans ce chapitre consiste prsenter la partie matrielle de robot, et expliquer les diffrentes tapes de la conception et la ralisation de notre robot mobile.

.1 .La structure mcanique :


.1.1.Le chssis : Le chssis est une base sur laquelle sont disposs les lments de notre robot mobile, il doit tre solide, lger et dobtenir une forme adapte pour notre application. La forme que nous avons choisie est circulaire pour faciliter la programmation et le dplacement de notre robot car si notre base est en face dun obstacle cette forme lui permet de pivoter sur lui-mme. .1.2.La structure : Pour notre application nous avons utilis un chssis en plexiglas ayant les dimensions suivantes :

D=25cm

1.5cm

8cm
2.5cm

Figure. .1: Dimension et forme du chssis .1.3.Les roues : Notre base est quipe de deux roues motrices et une roue folle en caoutchouc. Les roues motrices possdent les caractristiques suivantes :
Diamtre extrieur =7.5cm

Diamtre intrieur =5.4cm

Figure. .2 : Roue motrice

Figure. .3: Roue folle

30

.1.4.Les moteurs : Pour notre application on a choisi des moteurs pas pas quont les caractristiques suivantes: - Les deux moteurs ont un diamtre de 4 cm et une profondeur de 2.5 cm. - Rsistance interne de 115 . - Une tension dalimentation de 12 volts 36 volts. - Un courant nominal de 0.25 A. - 48 pas par tour. - 6 fils : deux pour lalimentation (rouge), le jaune et lorange pour la premire bobine, le noir et le marron pour la deuxime bobine. . - Le moteur est du type pas pas unipolaire - La gamme de frquence pour laquelle le moteur tourne de faon continue 100 Hz 15 Hz.

Figure. .4: Nos moteurs pas pas utiliss .1.4.1.Calcul la vitesse de notre robot : La vitesse du robot est proportionnelle au diamtre des roues utilises, nous avons un pas qui correspond 10 ms, donc 48 pas (un tour) correspondent 480 ms. La vitesse du robot est alors dtermine de la faon suivante : 1 tour = *d =3.14*7.5=23.55 cm Avec d : le diamtre de la roue. Nous avons un pas qui correspond une distance de 0.4906 cm dans une priode de 1/f. Donc la vitesse = 0.4906*f cm/s. .1.4.2.Le poids de notre robot : Le poids est un facteur important pour notre application car il joue le rle dun couple rsistant pour les deux moteurs. Plus le poids est grande plus la vitesse est lente. Le poids total est 1700gr.

.2.La structure lectronique :


Pour raliser nimporte quelle carte lectronique, il faut dabord tudier ses composants et son environnement logiciel quon veut employer pour grer cette carte. Dans cette partie on dcrit les trois cartes ralis : -Carte mre. -Carte de puissance. -Carte dalimentation.

31

Le schma suivant prsente la synoptique de notre robot mobile :

Carte dalimentation

Batteries

Carte de carte mre (Commande)

Carte de puissance

Tension de batterie Tension de 5v Tension de puissance (12v) Communication avec PC


Figure. .5: Synoptique de notre ralisation .2.1.La carte mre (de commande) : Notre carte de commande est base sur un microcontrleur PIC16F877 qui est le cur de notre carte et un circuit intgr MAX232 qui permet la communication srie. Cette carte permet de commander nos deux moteurs, et aussi la communication srie entre le PC et le robot. .2.1.1.Prsentation des PIC : Les PIC 16F877 est un microcontrleur de type Mide_range, ils possdent un jeu dinstructions rduit qui caractrise les circuits RISC (Reduced Instruction Set component). Les circuits RISC sont caractriss par leur rapidit dexcution. Le 16F877-04 veut dire : 16 : cest un PIC de la famille Mid-Range. F : pour indiquer que la mmoire est de type flash. 877 : identification du PIC. 4 : frquence dhorloge que le PIC peut supporter.

32

.2-1.2.Brochage du PIC 16F877 : Comme pour tout circuit intgr, chacune de ses broches a une ou plusieurs fonctions qui sont rsumes par un sigle mnmotechniques. La figure. .2.1.1 prsente le brochage du PIC 16F877 qui dispose de 40 broches montes sur un botier DIL.

Figure. .6: Brochage du PIC 16F877 .2.1.3.Description du PIC 16F877-04 : Le PIC quon a utilis, est le 16F877-04 qui fait partie de la famille MID_RANG (mots 14bits), possde les caractristiques suivantes : Une unit arithmtique et logique (ALU). Une horloge de 4Mhz. Une mmoire programme de type EEPROM flash. Une mmoire RAM de donnes de 368 octets. Une mmoire EEPROM de 256 octets. 5 Ports dentres/sorties : Port A : 6 pins. Port B : 8 pins. Port C : 8 pins. Port D : 8 pins. Port E : 3 pins. 3 Timers avec leur prscalre TMR0, TMR1, TMR2. Deux modules de comparaisons et de capture CCP1, CCP2. LE WATCHDOG. 1 Convertisseur analogique/numrique 10bits de 8 canaux. Rcepteur/Transformateur srie synchrone et asynchrone USART. SSP, Port srie synchrone.

33

.2.1.4.LHorloge : Pour fonctionner le PIC 16F877 il faut quil soit connecter avec un circuit dhorloge. Les PIC disposent dun oscillateur interne ncessitant une adaptation un circuit externe. Les pins OSC1 et OSC2 sont les entres de loscillateur. Pour cela on y trouve diffrents types dhorloges quartz ou cellule RC, quon peut classer suivant leurs gammes de frquences : LP : quartz, la plage de frquence est comprise entre 32KHz et 200KHz. XT : quartz, la frquence est comprise entre 100KHz et 4 MHz RC : oscillateur RC fonctionnant jusqu 4MHz, on note que la stabilit de frquence est plus fiable que les versions quartz. HS : Quartz fonctionnant de 4MHz jusqu 20MHz.

Il existe trois schmas diffrents de connexion des lments externes loscillateur. Figure. .2.1.3 reprsente ces trois schmas, sachant que celui de (a) est le plus utilis. Le Datasheet de chaque PIC fournit les valeurs des composants correspondants.

(a) (c) (b)

Figure. .7: Diffrents connexions loscillateur .2.1.5.Structure interne du PIC 16F877 : Larchitecture interne prsente les principaux organes qui composent le microcontrleur (Figure. .2.1.6). Le but ici nest pas dexpliquer chaque organe mais de permettre de visualiser lensemble pour mieux comprendre le fonctionnement du microcontrleur.

34

Figure. .8 : Les lments constituants 16F877 .2.1.6.Lorganisation de la mmoire : Le PIC16F877 a une mmoire programme (flash) de 8k octets, elle contient le code binaire sur 14 bits des instructions que doit excuter le microcontrleur. Le PIC16F877 contient une RAM de taille 368 octets divise en 4 banques de128 registres.Ces registres servent contrler et configurer les diffrents modules (Comme le la figure

Figure. .9 : Organisation de la mmoire

35

.2-1.7.Prsentation des modules utiliss : Les modules utiliss pour notre application sont : Le Timer1 : La frquence du signal de commande est lente donc on a besoin dun Timer de 16 bits, cest pourquoi nous avons utilis ce module dans notre application au lieu du Timer0 et du Timer2 qui est utilis pour la gnration de la commande PWM. LUSART : Pour grer la communication srie entre le PC et le PIC. .2.1.7.1.Timer 1 : Timer1 est un Timer/compteur 16bits accessible en lecture/criture par intermdiaire des registres 8bits TMR1H et TMR1L qui constituent sa partie haute et sa partie basse. Le Timer 1 permet de gnrer une interruption une fois le dbordement effectu, son prdiviseur ne permet quune division maximale de 8.

Figure. .10 : Schma interne de Timer1 Le registre de configuration T1CON : La gestion du Timer1 est gre par le registre TCON quil lactive ou le dsactive.

T1CON :
T1CKPS1, T1CKPS0 : Control du prscaler 00 : Division par 1 01 : Division par 2 10 : Division par 4 11 :Divisionpar8 T1OSCEN : Validation de loscillateur associ TMR1 1 : Oscillateur arrt 0 : Oscillateur activ T1SYNC : Synchronisation de lhorloge externe 0 : Synchronisation 1 : pas de synchronisation TMR1CS : Choix de lhorloge du Timer 0 : Horloge systme (Fosc/4) : mode Timer 1 : Horloge externe : mode compteur TMR1ON : Dmarrer /Arrte le timer 0 : Timer stopp 1 : Timer en fonctionnement

36

.2.1.7.2.LUSART : LUSART (Uiversal Synchrone Asynchrone Receiver Transmetter) est un module de communication srie. Il peut tre configur comme module de communication asynchrone full duplex ou synchrone half duplex. La communication se fait sur les deux broches RC6/TX et RC7/RX. LUSART contient deux ports :

Figure. .11: Port de transmission 1. Le port de la transmission est contrl par le registre TXSTA :

CSRC : Non utilis. TX9 et TX9D : Pour utiliser 9 bits. TXEN : Pour valider ou interdire la transmission. SYNC : 0 mode asynchrone, 1 mode synchrone. BRGH : Slectionne le mode haut dbit TRMT : Indicateur de lactivit de registre dcalage 1 Pas de dcalage, 0En activit.

Figure. .12: Port de rception. 2. Le port de la rception est contrl par le registre RCSTA :

37

SPEN : Validation du port srie (1Valid, 0Inhib). RX9 : Validation du mode 9 bits (1mode 9 bits, 0mode 8 bits). SREN : Validation de la rception dun seul octet. CREN : Validation du mode de rception continue. ADDEN : Validation du mode de rception dadresse en mode 9bits. FERR : Erreur de synchronisation. OERR : Erreur de dbordement du buffer. RXD9 : En mode 9 bits, le 9 me bits reue. Pour que la communication srie seffectue correctement lutilisation de lUSART doit se drouler suivant les tapes suivantes ; Pour la transmission : 1-Assurer que linterruption TXI nest pas valide. 2-Configurer la broche TX/RC6 en entre. 3-Configurer le registre TXSTA. 4-Initialiser le registre SPBRG pour dfinir la vitesse de transmission 5-Placer la donne transmettre dans TXREG. Pour la rception : 1-Assurer que linterruption RCI nest pas valide. 2-Configurer la broche RX/RC7 en entre. 3-Initialiser le registre SPBRG pour dfinir la vitesse de la rception. 4-Configurer le registre RCSTA. 5-Attendre le drapeau RCIF ce qui donne la fin de la rception. [1], [2], [6], [7] .2.1.8.Prsentation de la communication srie : Pour garantir la communication entre la base mobile et le PC, on a utilis la liaison srie RS232. Sur cette liaison les bits dinformations circulent lune aprs lautre sur le mme fil. Pour cette liaison les niveaux sont -12V pour 1 logique et +12V pour 0 logique. Ils sont donc totalement incompatibles avec ceux du PIC +5V pour 1 et 0V pour 0 . Lutilisation du circuit MAX232 permet dadapter les niveaux laide dun convertisseur de tension intgr qui dlivre une tension de -12V et +12V en partant dune alimentation de 5V. Le MAX 232 va convertir les niveaux bas (0V) en 12V et les niveaux hauts (5V) en -12V. [13]

Figure. .13: Brochage du MAX232 Pour le raccordement entre la sortie du MAX 232 et le PC, on utilise une fiche DB9 femelle.

Figure. .14 : Connecteur DB9 femelle

38

La communication srie ncessite trois fils au minimum, une masse pour rfrencier les signaux, un fil metteur et un fil rcepteur .Notre liaison srie est en effet full_duplex, cest dire que lon peut mettre et recevoir en mme temps. La vitesse de transmission de lmetteur doit tre identique la vitesse dacquisition du rcepteur. Ces vitesses sont exprimes en BAUDS (1 baud =1 bit/seconde) .Il existe diffrentes vitesses normalises : 9600, 4800, 2400,1200bauds. Les lignes utilises dans notre application sont reprsentes ci-dessous : PC RXD TXT GND PIC RC7 RC6 GND

Tableau.III.1 : Brochage entre le PIC et le MAX232. .2.1.9.La carte mre: la figure.III.2.1.9 reprsente la carte mre :
J2 C5
15p 1 2 3 4 5 RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD 33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30 1 2 3 4 5 6 7 8 1 CONN-SIL8 C1+ 11 12 10 9 T1IN R1OUT T2IN R2OUT 1u C1T1OUT R1IN T2OUT R2IN VS+ VSC2+ 4 C214 13 7 8 2 6 +5V CONN-SIL5

X1 J4

U1
13 14 1 12 23 34 45 56 67 18 29 3 10 OSC1/CLKIN OSC2/CLKOUT MCLR/Vpp/THV

C6
+5V 15p

J6
1 2 3 4 5

R1
10K

J5 C7
0.1u

RA0/AN0 RA1/AN1 RA2/AN2/VREFRA3/AN3/VREF+ RA4/T0CKI RA5/AN4/SS RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RE0/AN5/RD RC2/CCP1 RE1/AN6/WR RC3/SCK/SCL RE2/AN7/CS RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 PIC16F877

J7

C1
3

U2

J1
1 6 2 7 3 8 4 9 5 CONN-D9F

C3
MAX232

C2
1u

C4 1u
1u

Figure. .15: La carte mre.

39

.2.2.Circuit de puissance : Pour notre projet on a utilis les circuits intgrs L298 et L297 qui sont des composants les plus utiliss pour la commande des moteurs pas pas. Ils permettent en effet de commander nimporte quel type de moteur quil soit unipolaire ou bipolaire. La figure .2.2.1 reprsente la carte de puissance ralise :

J6
1 2 3

R 7 J4
R2 C R7 B R6 B R4 B R5 B
1 2 3 4 5 C N -S O N IL5 1 0 2 0 1 9 1 7 1 8 3 1 1 1 2 E AL VC N BE C RST EE H LF U L A /F L C /C W WC C C LO K HM OE C NR L OTO A B C D IN 1 H IN 2 H

+2 1V +V 5 GD N
C N -S O N IL3

U 2
4 6 7 9 5 8 5 7 1 0 1 2 6 1 1

9 IN V C 1 C IN 2 IN 3 IN 4 EA N EB N

4 V S OT U1 OT U2 OT U3 OT U4 GD N 8

U 1
2 3 1 3 1 4

D D D 1 2 3

D 4 J1
1 2 3 4 C N -S O N IL4

1 4 S N1 ES 1 3 S N2 ES SN YC 1

1 S NA ES 1 5 S NB ES

R 5

1 5 VE RF 1 6 OC S

D D D 5 6 7
L29 8

D 8

GD N 2

R 2 1R

C 1
10 p

L29 7

J3
1 2 3 C N -S O N IL3

+2 1V +V 5 GD N

J5
R1 C R3 B R2 B R0 B R1 B
5 4 3 2 1 C N -S O N IL5 1 0 2 0 1 9 1 7 1 8 3 1 1

1 2 E AL VC N BE C RST EE H LF U L A /F L C /C W WC C C LO K HM OE C NR L OTO A B C D IN 1 H IN 2 H

U 3
4 6 7 9 5 8 5 7 1 0 1 2 6 1 1

9 IN V C 1 C IN 2 IN 3 IN 4 EA N EB N

4 V S OT U1 OT U2 OT U3 OT U4 GD N 8

U 4
2 3 1 3 1 4

D D0 D1 D2 9 1 1 1 J2
1 2 3 4 C N -S O N IL4

1 4 S N1 ES 1 3 S N2 ES SN YC 1 L29 7

1 S NA ES 1 5 S NB ES

R 6

1 5 VE RF 1 6 OC S

D3 D4 D5 D6 1 1 1 1
L29 8

GD N 2

RR 4 3

C 2

Figure. .16 : La carte de puissance

40

Les valeurs des composants : R4=R3=R1=R2=1. R5=R6=240K. R7= 47K. Rv =10K (Rsistance variable). C1=C2=10nF. J1, J2 connecteurs vers les moteurs. J3, J5 connecteurs dalimentation. J4, J5 Les entres du L297. 2 circuits L298. 2 circuits L297. .2.2.1.Circuit L297 : Le circuit L297 est un contrleur de moteur pas pas, il fonctionne avec un circuit de puissance double pont. Il lui suffit de lui fournir les signaux dhorloge (CLOCK : pour avance des pas), de direction et de mode afin de piloter le moteur pas--pas. Le L297 gnre alors la squence de commande de ltage de puissance. [10]
Vs A INH1 B C INH2 D

HALF/FULL RESET Direction CW/CW D C Q Traslateur Sortie logique

Enable Control

U1
CLOCK
NAND

S R

S R

Sync HOME + + Oscillateur

GND

Sens1 Vref Sens2

Osc

Figure. .17: Structure interne du circuit L297. Le circuit L297 possde deux tages principaux : Un translateur (squenceur) qui gnre les diffrentes squences de commande. Un double hacheur PWM (Pulse With Modulation) qui rgule le courant traversant les bobinages du moteur.

Le translateur gnre trois squences diffrentes. Ces diffrentes squences sont dtermines par le niveau logique appliqu sur lentre HALF/FULL : La commande en mode monophas : une seule phase alimente. La commande en mode biphas : Deux phases alimentes. La commande en demi-pas : Alternativement une phase puis deux phases alimentes.

41

Le L297 gnre deux signaux dinhibition (INH1 et INH2) dans les modes monophases et demi pas. Ces signaux qui sont appliqus directement aux entres de validation du L298, permettent dacclrer la dcroissance du courant dans les bobinages du moteur lorsque ceux-ci ne sont plus aliments. Lorsque le L297 est utilises pour la commande dun moteur unipolaire, les hacheurs agissent sur ces lignes. Une entre CONTROL dtermine le moment ou le hacheur devra agir sur les sorties A, B, C, D ou les entres INH1 et INH2. Le L297 contient un oscillateur interne qui commande les hacheurs. Lorsque le courant traversant lun des bobinages du moteur atteint la tension qui est fixe par les rsistances connecte aux entres SENS1 SENS2, le comparateur correspondant interrompt lalimentation du moteur jusqu la prochaine impulsion de loscillateur. .2.2.2.Circuit L298 : Le circuit intgr L298 est le circuit complmentaire du L297. Il permet la simplification extrme de la construction dune carte de commande pour moteur pas--pas. Le circuit L298 est un double pont de commande de puissance, il permet lutilisation dune tension dalimentation leve. Il peu tre utilis aussi pour la commande de deux moteurs courant continu. Le schma interne du L298 contient deux ponts de 4 transistors de puissances commandes par les portes logiques, ainsi que la connexion des rsistances de mesure du courant consomme par la charge relie aux metteurs de chaque paire de transistors. [10]

Figure. .18: Structure interne du circuit L298

42

.2.3.La carte dalimentation : Cette carte permet dalimenter toutes les interfaces partir de la tension de la batterie : Le schma du circuit que nous avons ralis :
J2
1 2 TBLOCK-M2

R1
0.22

Q1
BD244

U1
7812 1 VI GND VO 3 1 2 3

R2
3

J1

C4
22u

C1
2200u

U1

CONN-SIL3

R3
0.22

Q2
BD244

U2
7805 1 VI GND VO 3

R4
3

U2
C2
2200u

22u

U3
7805 1 VI GND VO 3 1 2

C3

J4 C6
22u

22u

U4
7805 1 VI GND VO 3

C5

U3

TBLOCK-M2

22u

C7

C8
22u

U4
1 2

J3

TBLOCK-M2

Figure. .19: La carte dalimentation Cette alimentation contient : R1=R2=0.22 . R3=R2=3 . C1=C2=2200F. C3=C4=C5=C6=C7=C8=22F. Q1 et Q2 sont deux transistors de type BD244. 3 rgulateurs de type 7805. 1 rgulateurs de type 7812. Notre alimentation peut fournir : 2 tensions de 5V courant faible U3 et U4 dpasse pas 500 mA. 1 tension de 5V courant lev U2 jusqu 4A. 1 tension de 12V courant lev U1 jusqu 4A. Pour gnrer les tensions U1 et U2 avec un courant lev nous avons utilis les rgulateurs 7812 et 7805 quips de transistors BD244. Les deux transistors BD244 sont monts dune manire permettent amplifier le courant. Ces derniers nous permettent datteindre un courant de 4A. Si le courant consomm travers R2 et R4 dpasse 0.3A la tension de la base de Q1 ou Q2 atteint 0.6V ce quil entrane la commutation du ballaste (il devient passant). La sortie U3 de 5 v avec un courant faible est utilise pour lalimentation de la carte de commande, le PIC et le MAX232 La sortie U3 de 5 v avec un courant lev est utilise pour lalimentation de la carte de puissance, le L298 et le L297.

43

.2.4.Le brochage entre les diffrents composants: Les deux tableaux ci-dessous prsentent les connexions utilises pour notre application : PIC 16F877 RB0 RB1 RB2 RB3 RC1 RB4 RB5 RB6 RB7 RC2 L297 L297
CW/CCW CLOCK HALF/FULL RESET ENABLE CW/CCW CLOCK HALF/FULL RESET ENABLE

L298

Moteur

A B C D INH1 INH2 Sens1 Sens2 A B C D INH1 INH2 Sens1 Sens2

Input1 Input 2 Input3 Input4 Moteur 1 Enable 1 Enable2 Current sensing A Current sensing B Input1 Input 2 Input3 Input4 Moteur 2 Enable 1 Enable2 Current sensing A Current sensing B

Tableau .III.2 : Brochage entre Le PIC et le L297

Tableau .III.3 : Brochage entre le L297 et le L298

.2.5.Conclusion : Dans ce chapitre nous avons prsent la partie matrielle est constitu en deux tapes : La premire consiste construire une structure mcanique qui compos dune plate forme, les roues, et les moteurs pas pas. Pour la deuxime partie nous avons ralis la carte de commande pour commander notre robot. matrielle qui ralise notre robot. Cette partie

44

45

Dans le chapitre prcdent nous avons dcrit toutes les tapes concernant la ralisation de la base mobile .Dans le chapitre prsent nous prsentons la partie logicielle ralise dans notre travail. Partie logiciel :

IV.1.La programmation du microcontrleur PIC 16F877 :


IV.1.1.Le compilateur MIKRO C : La programmation des microcontrleurs PICs peut se faire par plusieurs langages informatiques tels que lassembleur et le langage C qui sont les plus rpondus dans les applications base des PICs. Dans notre projet nous avons opt pour le compilateur de MIKRO C qui est un compilateur en langage C (langage volu) et qui permet dintgrer certaines routines en assembleur. Ceci nous permet ainsi dcrire les routines dinterruptions en assembleur afin de garantir un temps de traitement rapide qui nous garanti une commande en temps rel du robot.

Figure. IV.1: mikroC. IV.1.2.Le logiciel de programmation du PIC WINPIC : WINPIC est un logiciel qui permet de transfrer les programmes convertis en code hexadcimal vers la mmoire flash du microcontrleur via le programmateur.

46

Figure. IV. 2: Win Pic. IV.1.3.Lditeur de schma PROTEUS : Proteus est une suite de deux logiciels, Isis et Ares, Isis permet le dessin des schmas lectroniques, la simulation en temps rel de faon dynamique et Ares permet de transformer les schmas en PCB (Trac du circuit imprim). Proteus est un outil convivial facile prendre en main. Il reconnat et simule beaucoup de composants ainsi que de nombreux afficheurs, moteurs,

A B C

+5V +12V

+12V D 12 10 20 19 17 18 3 11 15 16 ENABLE VCC RESET HALF/FULL CW/CCW CLOCK HOME CONTROL VREF OSC SENS1 SENS2 SYNC A B C D INH1 INH2

U3
4 6 7 9 5 8 14 13 1 5 7 10 12 6 11 1 15

9 IN1 VCC IN2 IN3 IN4 ENA ENB SENSA SENSB

4 VS OUT1 OUT2 OUT3 OUT4 GND 8

U2
2 3 13 14 +88.8

C1 U1
15p 13 14 1 2 3 4 5 6 7 8 9 10 OSC1/CLKIN OSC2/CLKOUT MCLR/Vpp/THV RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD 33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30

C2
15p +5V

R2
10k

RA0/AN0 RA1/AN1 RA2/AN2/VREFRA3/AN3/VREF+ RA4/T0CKI RA5/AN4/SS RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RE0/AN5/RD RC2/CCP1 RE1/AN6/WR RC3/SCK/SCL RE2/AN7/CS RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 PIC16F877

GND 2

L298

L297

+5V

+12V +12V

C3
0.1u

12 10 20 19 17 18 ENABLE VCC RESET HALF/FULL CW/CCW CLOCK HOME CONTROL VREF OSC SENS1 SENS2 A B C D INH1 INH2

U4
4 6 7 9 5 8 14 13 1 L297 5 7 10 12 6 11 1 15

9 IN1 VCC IN2 IN3 IN4 ENA ENB SENSA SENSB

4 VS OUT1 OUT2 OUT3 OUT4 GND 8

U5
2 3 13 14 +88.8

P1
1 6 2 7 3 8 4 9 DCD DSR RXD RTS TXD CTS DTR RI

3 11 15 16

GND 2

SYNC

L298

ERROR COMPIM

Figure. IV. 3: Le schma de simulation de notre programme final.

47

IV.1.4.Le programme du robot : Le programme que nous avons implment dans notre robot se divise en deux parties : Un programme principal qui permet linitialisation des entres sorties du micro contrleur et des variables utilises dans le programme. Un sous programme de traitement des interruptions qui permet de grer les interruptions de lUSART et du Timer1 utilises dans notre programme. IV.1.4.1.Le programme principale : On peut prsenter notre programme principal par lorganigramme suivant :

Programme principale

Configuration des Ports E/S Charger les vitesses Configuration USART Configuration Timer1 Valider les interruptions

Figure. IV. 4: Lorganigramme du programme principal. Pour minimiser le temps de transmission et de traitement on a choisi dutiliser 16 valeurs de vitesses possibles pour le robot. Ceci nous permet ainsi de rduire linformation de la vitesse transmise du PC vers le robot de 16 bits seulement 4 bits qui indiquent lindice de la vitesse choisie. IV.1.4.2.Le sous programme de traitement des interruptions : Ce programme va traiter deux interruptions : Linterruption provoque par lUSART pour grer la communication entre le robot et le PC. Cest linterruption la plus prioritaire. Linterruption provoque par TMR1 pour grer la commande des deux moteurs. On peut reprsenter le droulement de ce programme par lorganigramme suivant :

48

Interruption

NON

Un octet reue

OUI

NON

Dbordement du Timer1

OUI

Linterruption provoque par lUSART

Linterruption provoquer par Timer1

Traitement dinterruption

Traitement dinterruption

Fin de traitement dinterruption

Fin de traitement dinterruption Retour vers le programme principal (main)

Figure. IV. 5: Lorganigramme de sous programme de traitement des interruptions. IV.1.4.2.1.Traitement dinterruption provoque par lUSART : Afin doptimiser la communication entre le PC et le robot on a essay de rduire au maximum le protocole de communication utilise en utilisant gnralement 1 octet pour reprsenter une donne. La trame envoye du pc au robot peut tre classe en 2 types de commande : -Trame indique une vitesse -Trame indique une commande que le robot doit excuter.

cmd_recu :

B7

B6

B5

B4

B3

B2

B1

B0

49

Linterruption provoque par lUSART

Remettre le drapeau 0 PIR1.RCIF=0

cmd_recu= Donne reu

NON

cmd_recue.F7=0

OUI

La donne reue est une vitesse

La donne reue est une Commande

Figure. IV. 6: Lorganigramme de sous programme de traitement dinterruption provoqu par lUSART

Le teste du 8me bit de loctet reue permet le choix entre la vitesse et la commande cest--dire : Si B7=1 La donne est une vitesse. Sinon B7=0 La donne est une commande.

IV.1.4.2.2.Le cas ou la donne reue est une commande : Pour commander notre robot on a choisi deux modes de commandes : -Mode console de commande : Consiste commander directement le dplacement du robot via le PC. -Mode de commande par trajectoire : Consiste envoyer au robot les paramtres dune rectiligne, le robot doit reproduire exactement la trajectoire. Le choix du mode de la commande utilise est indiqu dans le 7 me bit (B6) de la commande envoye par PC au robot. trajectoire

50

cmd_recu

B7 B6 B5 B4 B3 B2 B1 B0

Lorganigramme suivant reprsente le programme de dtermination du mode de la commande choisie. Donne reue est une commande

NON

OUI

B6=0
Mode de commande par trajectoire Mode console de commande

Figure. IV. 7: Lorganigramme pour dterminer le mode de la commande choisie On prsente dans ce qui suit les programmes des deux modes de fonctionnement utiliss dans notre robot. IV.1.4.2.2.1 Mode console de commande: Mode console de commande consiste envoyer dabord la vitesse de chaque moteur au robot puis on envoi la commande de mise en marche. Dans la commande de mise en marche on peut soit commander les deux moteurs en mme temps soit commander uniquement un seul moteur. Les diffrentes commandes de mise en marche sont dtermines comme suit : cmd_recu = 00000001 Arrt totale (Arrter les deux moteurs). cmd_recu = 00000010 Marche (Dmarrer les deux moteurs). cmd_recu = 00000100 Marche 1 (Dmarrer le moteur1 et arrter le moteur2). cmd_recu = 00001000 Marche 2 (Dmarrer le moteur2 et arrter le moteur1). Pour la dtermination du mode de fonctionnement nous avons appliqu lorganigramme suivant :

51

Mode console de commande

NON

cmd_recu=1

OUI

NON

cmd_recu=2

OUI Marche totale

Arrt total

NON

cmd_recu=4

OUI cmd_moteur=2
Dmarrer les 2 Moteurs, activ TMR1

cmd_moteur=1 Arrter les 2 Moteurs, dsactiv TMR1

NON

cmd_recu=8

OUI

Marche 1

Arrt total

Marche 2

cmd_moteur=1 Arrter les 2 Moteurs, dsactiv TMR1

cmd_moteur=4 Arrter moteurs1, Dmarrer moteur2, dsactiv TMR1

cmd_moteur=4 Arrter moteurs2, Dmarrer moteur1, dsactiv TMR1

Fin_interr

Figure. IV. 8: Lorganigramme du mode console de commande

IV.1.4.2.2.2.Dtermination de la vitesse : Dans ce cas on va dterminer le sens de rotation et la mise en marche de chaque moteur et aussi la vitesse : cmd_recu B7 B6 B5 B4 B3 B2 B1 B0

B6 : Choix du moteur. B5 : Marche/Arrt. B4 : Sens de rotation du moteur. B3-B2-B1-B0 : Vitesse.

52

Pour notre programme nous avons appliqu lorganigramme suivant :


Vitesse

NON

OUI

B6=1

Moteur 1

Moteur 2

NON Portc.F1=1
Activation du moteur1

B5=0

OUI

NON

OUI

B5=0
Portc.F2=1 Activation du moteur2

NON

OUI

Portc.F1=0

B4=1

Larrt du moteur1

NON

OUI

Portc.F2=0

B4=1

Larrt du moteur2

Sens1 du moteur1

Sens2 du moteur1

Sens1 du moteur2

Sens2 du moteur2

Determination de la vitesse du moteur1

Determination de la vitesse du moteur2

Chargement duTimer1

Chargement du Timer1

Fin_vitesse

Figure.IV. 9: Lorganigramme pour la dtermination de la vitesse.

53

IV.1.4.2.2.3.Gestion de linterruption dclenche par le Timer1 : Le timer1 est attribu aux 2 moteurs. A chaque interruption on dtermine le moteur qui sera attribu au timer1. Lorganigramme suivant prsente lalgorithme utilis pour la dtermination la valeur qui sera charge dans le timer1.

m=3
Changement dtat de RB1et RB5

Chargement t1 Chargement t2

NON

t1 < t2
OUI

OUI

NON

t2 < t1

t2=t2-t1

t1=t1-t2
Chargement de TMR1 avec t1 Chargement de TMR1 avec t2 Chargement de TMR1 avec t1

m=3

m=2

m=1

retour_interr
Figure. IV. 10: Lorganigramme de gestion de linterruption dclenche par le Timer1 dans le mode console de commande.

54

IV.1.4.2.1.2.2. Mode de commande par trajectoire : Mode de commande par trajectoire consiste envoyer la mme vitesse au deux moteurs ainsi que le sens de rotation de chacun dans une trame de 1 octet suivi par le nombre de pas (2octets) que le robot doit effectu et par une commande de mise en marche (1 octet) . Lorganigramme suivant prsente lalgorithme utilis pour le chargement de la vitesse le compteur

Mode de commande par trajectoire

NON
compt_flag=1

OUI

NON

compt_flag=2

OUI

Comp_L=cmd_recu
Compt_flag++

Comp_H=cmd_recu

NON
cmd_recu.F7=1

OUI Compt_flag=0

retour_interr

retour_interr

Vitesse=cmd & 0x0F PORTC.F1=cmd_recu.F4 PORTC.F2=cmd_recu.F5

retour_interr

Compt_flag=1

Retour_interr

Figure.IV. 11: Lorganigramme du mode de commande par trajectoire

A la rception de la vitesse transmise par le PC, la variable compt_flag ayant t initialise par 0 sera mise 1.Aprs la rception du poids faible du compteur la variable compt_flag sera mise 2. Aprs la rception du poids fort du compteur la variable compt_flag sera remettre 0.

55

IV.1.4.2.1.2.Gestion de linterruption dclenche par le Timer1 : Un compteur de 16bits est utilis pour excuter le nombre de pas transmis par le PC. A chaque interruption ce compteur est dcrment. Lorsque le compteur atteint la valeur 0 le robot sarrte et envoie le caractre0 au PC.

Compt=Compt-1

NON

Compt=0

OUI

Inverser la pin 5 et 1 du portb

Transmettre 0 au PC

Chargement du TIMER1

Arrt totale

Retour_interr Figure. IV. 12: Lorganigramme Gestion de linterruption dclenche par le Timer1 dans le mode de commande par trajectoire.

56

IV.1.5.Linterface : Pour faciliter la commande de notre robot nous avons ralis une interface avec le logiciel Borland C++ Builder qui est un environnement de programmation visuel.

Figure IV.13: Borland C++ Builder Figure. IV.13: Borland C++ Builder. Nous avons ralis 3 interfaces : IV.1.5.1.Linterface principale : Cette interface nous permet de choisir le mode de commande soit console de commande ou commande trajectoire.

Basculer vers Console de commande

Quitter toute lapplication

Basculer vers commande trajectoire

Figure IV.14: Linterface principale

57

IV.1.5.1.1.Console de commande : La figure ci dessus reprsente linterface de console de commande


Ouvrir et fermer le port srie COM1

Afficher la vitesse
Arrter le robot

Panneau pour varier la vitesse

Fermer cette fentre et arrter le robot

Figure IV.15: Linterface de console de commande

58

IV.1.5.1.2.Commande trajectoire :

La distance Parcourue Activer les deux Panneau pour varier la vitesse Arrter les deux moteurs Commande par trajectoire
Ouvrir et fermer le port srie COM1

Varier langle de rotation

Figure IV.16 : Interface de commande trajectoire Lorganigramme suivant explique le fonctionnement de cette interface :

Lecture de langle

Angle=Pos_a -Pos_p

NON
Angle>0

OUI

Sens2 Activer le moteur2

Sens1 Activer le moteur1

Pos_p=Pos_a

Figure IV.17 : Lorganigramme de commande

59

Le principe consiste envoyer au robot les coordonnes de la trajectoire effectuer. cipe Ces coordonnes reprsentent le sens de rotation des deux moteurs et le nombre de pas effectuer pour chaque partie de la trajectoire. 1-La trajectoire est une ligne droite : La Dans nos moteurs chaque pas correspond 7.5, et avec un rayon de la roue r =3.75cm, donc chaque pas provoque un dplacement de Lavec : L = 2**r /48 = 0.4906 cm Pour dterminer le nombre de pas afin que le robot parcourue une distance X :

N=X / 0.4906 ------1

Figure IV.18: Trajectoire droite 2-La trajectoire est une rotation: La Dans cette tude on cherche le nombre de pas pour un angle de rotation du robot. Les moteurs que nous avons utiliss font 7.5 (0.13 rad) par pas (moteur 48pas). Le rayon de la roue r=3.75 cm donc le dplacement a de la roue est obtenue par la relation suivante : a= 0.13*r a=0.49cm => chaque pas la roue se dplace par 0.49cm. pas, Nous avons le rayon de notre chssis R=12.5 cm. La variable est langle de rotation du robot, donc : (rad)= a/R =0.03925 rad = 2.25 Enfin pour un pas le robot tourne avec un angle de 2.25 rne La formule gnrale pour obtenu le nombre de pas pour que le robot faire un angle, est la suivante :

N= /2.25 ------2 /2.25


N : Nombre de pas :Langle de rotation du robot en degr

Figure IV.19: Trajectoire est une drivation

60

3-Exemple dune trajectoire : A-B=L= 1m B-C=0.5m C-D=0.5m =30 =100

Figure IV.20: Exemple dune trajectoire du robot On obtenu le nombre de pas en fonction de la trajectoire parcourue par le robot. On applique la relation 1 pour le cas dune trajectoire droite : N=L (cm) / 0.4906. On applique la relation 2 pour une rotation avec un angle : N= /2.25 Pour A-B : N=100/0.4906=204 pas. Au point B le robot sarrt et attend la nouvelle commande. Le robot tourne avec un angle de 30 dans le sens ngatif : N= /2.25=30/2.25 N=13 pas Le robot fait 13 pas et il sarrt jusqu' la nouvelle commande. Pour B-C : N=50 /0.4906=102 pas Au point C le robot sarrt et attend la nouvelle commande. Le robot tourne avec un angle de 100 dans le sens positif : On applique la relation 2 : N= /2.25=100/2.25 N=44 pas Le robot fait 44 pas et il sarrt et attend la nouvelle commande. Pour C-D : N=50/0.4906=102 pas Au point D le robot sarrt.

61

Lappel de ce fichier texte permet au robot de faire cette trajectoire ; //Trajectoire A-->B VaComm1->WriteChar VaComm1->WriteChar VaComm1->WriteChar VaComm1->WriteChar //Angle VaComm1->WriteChar VaComm1->WriteChar VaComm1->WriteChar VaComm1->WriteChar //Trajectoire B-->C VaComm1->WriteChar VaComm1->WriteChar VaComm1->WriteChar VaComm1->WriteChar //Angle VaComm1->WriteChar VaComm1->WriteChar VaComm1->WriteChar VaComm1->WriteChar //Trajectoire C-->D VaComm1->WriteChar VaComm1->WriteChar VaComm1->WriteChar VaComm1->WriteChar

(vitesse1+64); (0xCC); (0x00); (0x02); (vitesse1+64+32); (0x0D); (0x00); (0x02); (vitesse1+64); (0x66); (0x00); (0x02); (vitesse1+64+16); (0x2C); (0x00); (0x02); (vitesse1+64); (0x66); (0x00); (0x02);

IV.6 .Conclusion: Dans ce chapitre nous avons prsent les diffrents algorithmes du programme implment dans le

PIC du robot, et nous avons aussi prsent les diffrents modes de commande du robot ainsi linterface qui facilitent la commande du robot.

62

Conclusion Gnrale

Notre projet de fin dtude consiste raliser un robot mobile command par PC. Pratiquement nous avons consacr notre temps aux taches suivantes : Aspect mcanique : - Etude de la robotique mobile du point de vue ralisations - Choix de la forme, des dimensions et de la matire de la base ainsi que du type de moteurs utiliser. Aspect lectronique : La ralisation des cartes lectroniques pour la commande de notre robot et la communication avec le PC. Aspect informatique : - Programmation du robot pour la commande des moteurs pas pas utiliss et pour lexcution des commandes transmises par le PC. - Ralisation dune interface graphique en C++ Builder permettant de commander le robot soit en mode de commande en mode console soit en mode de commande en mode trajet. Comme perspectives nous proposons : -Dajouter des capteurs. -Remplacer les moteurs par des moteurs plus puissants. -Limplantation de stratgies de navigation labores sur le robot mobile. -Le remplacement des cartes de commande par des cartes plus fiables. -Choisir une batterie lgre.

63

ANNEXE
1. Circuit imprim de la carte dalimentation :

Carte dalimentation (Cote composante)

Carte dalimentation (Cote cuivre)

2. Circuit imprim de la carte dinterface de puissance :

La Carte dinterface de puissance (cote composant)

64

La Carte dinterface de puissance (cote cuivre) 3. Circuit imprim de la carte de commande:

La carte de commande (Cote cuivre)

la carte de commande (Cote composant)

65

66

67

68

69

Rfrences bibliographiques

[1] : Datasheet du microcontrleur 16F87X-Microchip [2] : Bigonoff SECONDE PARTIE LA GAMME MID-RANGE PAR LETUDE DES 16F87X (16F876-16F877) [3] : Robots Mobiles Programmables (Technique avances) de Frdric Giamarchi [4] : Boudera Ismail, Dahmane Ahmed : Conception&Ralisation dun Robot Mobile Deuxime version (PFE lectronique 2005-2006) [5]: Benahmed Boumediene El Ouassini, Mazari sidi Mohamed El Khalil: Conception et Ralisation dun robot mobile autonome (MB.01) (PFE lectronique 2004-2005) [6] : Djoub Ahmed Belkacem, Belalem Amel : La commande optimal des MCC : tude et Conception de la carte de commande. (PFE Automatique 2006-2007) [7] : Mohamed Anzar, Rouabah Mohamed : Ralisation dun automate programmable Autonome (PFE Electronique industriel 2006-2007, Institut .N .S.F.P ES-SINIA). [8] : Article de Wikipdia, lencyclopdie libre. [9] : Apprendre la programmation des PIC. [10] : Moteur pas pas et PC deuxime dition de PATRIQUE OGUIC. [11] : Fellouh Sofiane, Allouani Cherif : Conception et ralisation dune plate forme lgre Mobile command par PC (PFE Electronique 2003-2004). [12] : Terrah Mohamed Amine, Hadjouni Mohamed : Ralisation dune plate forme mobile Command par PC(deuxime Parie) (PFE Electronique 2004-2005). [13] : Yahiaoui kamel, Kenniche Mohamed : Ralisation dun robot mobile Phase 3 [14] : Benkablia Ameur, Boulerial Mohamed : Commande numrique dune table traante (PFE 2007) SITES INTERNET 1 : htt://www.bigonoff.com 2 : htt://www.microchip.com 3 : htt://www.lextronic.com

70

Vous aimerez peut-être aussi