Realisation d’un robot mobile commande par PC

70
1 République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Université des Sciences et de la Technologie d’Oran MOHAMED BOUDIAF FACULTÉ DE GÉNIE ÉLECTRIQUE DÉPARTEMENT D’AUTOMATIQUE EN VUE DE L’OBTENTION DU DIPLÔME D’INGENIEUR D’ETAT EN AUTOMATIQUE Réalisé par : Mr.HAMANE BEKHADA Mr.AZROUG MOHAMED Encadreur : Mr. K.YAHIAOUI Membre du jury : Président : Mr. OMARI Examinateur : Mr. MECHE Examinateur : Mme. HOUARI E-mail :hamane.bekhada@yahoo .com Promotion 2008 ORAN 22 juin 2008 Réalisation d’un robot mobile commandé par PC (Phase I)

Transcript of Realisation d’un robot mobile commande par PC

Page 1: Realisation d’un robot mobile commande par PC

1

République Algérienne Démocratique et PopulaireMinistère de l’Enseignement Supérieur et de la Recherche Scientifique

Université des Sciences et de la Technologie d’OranMOHAMED BOUDIAF

FACULTÉ DE GÉNIE ÉLECTRIQUE

DÉPARTEMENT D’AUTOMATIQUE

EN VUE DE L’OBTENTION DU DIPLÔME

D’INGENIEUR D’ETAT EN AUTOMATIQUE

Réalisé par :

Mr.HAMANE BEKHADA

Mr.AZROUG MOHAMED

Encadreur : Mr. K.YAHIAOUI

Membre du jury :

Président : Mr. OMARI

Examinateur : Mr. MECHE

Examinateur : Mme. HOUARI

E-mail :hamane.bekhada@yahoo .com

Promotion 2008 ORAN 22 juin 2008

Réalisation d’un robot mobilecommandé par PC (Phase I)

Page 2: Realisation d’un robot mobile commande par PC

2

République Algérienne Démocratique et PopulaireMinistère de l’Enseignement Supérieur et de la Recherche Scientifique

Université des Sciences et de la Technologie d’OranMOHAMED BOUDIAF

FACULTÉ DE GÉNIE ÉLECTRIQUE

DÉPARTEMENT D’AUTOMATIQUE

PROJET DE FIN D’ETUDES

EN VUE DE L’OBTENTION DU DIPLÔME

D’INGENIEUR D’ETAT EN AUTOMATIQUE

Accord de dépôt de mémoire

Président du jury :

Monsieur. OMARI

Date : 22/06/2008

Signature : ……….

Encadreur :

Monsieur K.YAHIAOUI

Date : 22/06/2008

Signature : ……….

Page 3: Realisation d’un robot mobile commande par PC

3

Nous remercions ALLAH tout puissant de nous avoir donné les moyens et laforce d’accomplir ce modeste travail.

Nous tenons à remercier vivement Mr YAHIAOUI KAMEL notreencadreur, qui a donné un sens à notre travail grâce à ses conseils et sesorientations significatives.

Nous tenons aussi exprimer notre sincère et profonde reconnaissance a MrDahmani et a Mr Djoub et aussi a Mr Meche.

Nous exprimons notre gratitude à l’ensemble des professeurs dudépartement d’automatique qui ont contribué à notre formation, on les priede bien vouloir croire à notre gratitude en espérant que cet humble travail detrois années fera crédibilité de leurs efforts.

Nous voudrons également remercier tous nos camarades qui étaient à noscotés aux liens fraternels et amicaux qui ont germé dans notre esprit.

Nos remerciements s’adressent également à tous membres de Jury, qui ontaccepté de nous honorer de leur présence et de juger notre travail Merci.

Et à toute personne ayant contribué de près ou de loin à notre soutien moral.

HAMANE BEKHADAAZROUG MOHAMED

Page 4: Realisation d’un robot mobile commande par PC

4

Dédicace

Je dédie ce modeste travail :

A mon père, A ma mère,

A mes frères,

A toute ma famille,

Pour leur patience, leur compréhension et leur soutien

A mes cousins et mes amis les plus proches, et

A mon ami AZROUG MOHAMED avec qui j’ai partagé les peines et

les joies de ce projet fin d’étude,

HAMANE BEKHADA

Page 5: Realisation d’un robot mobile commande par PC

5

Dédicace

A mes très chers parents

A mes frères et mes sœurs,

Qui m’ont soutenu durant toutes mes études,

A toutes la famille grandes et petits,

A touts mes collègues de ma promotion,

Ainsi a mon ami HAMANE BEKHADA.

Je dédie ce mémoire à

AZROUG MOHAMED

Page 6: Realisation d’un robot mobile commande par PC

6

Sommaire

Préambule. 11

CHAPITRE I : Généralités sur la robotique mobile.

Ι.1.Introduction.Ι.2.Définition. Ι.3.La structure mécanique. Ι.3.1.Le châssis. Ι.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 d’environnements). Ι.4.1.2.les capteurs interne (capteur proprioceptif).Ι.4.2.Les interfaces de puissance des moteurs.Ι.4.3 .les centres de contrôle (le cerveau d’un robot).Ι.4.4 .L’alimentation.

1314151515161616171718181818191919

CHAPITRE II : La technologie des moteurs pas à pas

ΙΙ. 1. Introduction.ΙΙ. 2. Définition. ΙΙ. 3. Différent types de moteurs pas à pas.ΙΙ. 3.1 Moteur à aiment permanent.ΙΙ. 3.2 Moteur à reluctance variable.ΙΙ. 3.3 Moteur hybride.ΙΙ. 4. Le mode de contrôle.ΙΙ. 4.1. Le mode unipolaire.ΙΙ. 4.2..Le mode bipolaire. ΙΙ. 5. Caractéristiques couple et vitesse.ΙΙ. 5. 1.Couple d'arrêt ou couple de maintient. ΙΙ. 5. 2.Plage de démarrage.ΙΙ. 5. 3.Fréquence limite de démarrage. ΙΙ. 5. 4.Plage d'accélération.ΙΙ. 5. 5.Couple limite de travail.ΙΙ. 5. 6.Fréquence 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 séquence.ΙΙ. 8.1. Pas entier. ΙΙ. 8.1.1. Monophasé.

21212121222223232323232424242424242525252525262626

Page 7: Realisation d’un robot mobile commande par PC

7

ΙΙ. 8.1.2. Biphasé. ΙΙ. 8.2. Demi pas. ΙΙ. 9. Commande de moteur pas à pas par des circuits intégrés spécialisés.ΙΙ.10 .Le critère de choix d’un moteur pas à pas.ΙΙ.11.Conclusion.

2727282828

CHAPITRE III : La réalisation de la base mobileΙΙΙ.1.La structure mécanique. ΙΙΙ.1.1. Le châssis.ΙΙΙ.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 mère (de commande). ΙΙΙ.2.1.1.Présentation des PIC. ΙΙΙ.2.1.2.Brochage du PIC 16F877. ΙΙΙ.2.1.3.Description du PIC 16F877-04.ΙΙΙ.2.1.4.L’Horloge. ΙΙΙ.2.1.5.Structure interne du PIC 16F877.ΙΙΙ.2.1.6.L’organisation de la mémoire.ΙΙΙ.2.1.7.Présentation des modules utilisés.ΙΙΙ.2.1.7.1.Timer 1.ΙΙΙ.2.1.7.2.L’USART. ΙΙΙ.2.1.8.Présentation de la communication série. ΙΙΙ.2.1.9.La carte mère. ΙΙΙ.2.2.Circuit de puissance. ΙΙΙ.2.2.1.Circuit L297. ΙΙΙ.2.2.2.Circuit L298. ΙΙΙ.2.3.La carte d’alimentation.ΙΙΙ.2.4.Le brochage entre les différents composants. ΙΙΙ.2.4.Conclusion.

3030303031313131323233333434353636373839404142434444

CHAPITRE IV : La programmation du robotIV.1.La programmation du microcontrôleur PIC 16F877.IV.1.1.Le compilateur MIKRO C.IV.1.2.Le logiciel de programmation du PIC –WINPIC.IV.1.3.L’éditeur de schéma 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 d’interruption provoqué par l’USART.IV.1.4.2.2.Le cas ou la donnée reçue est une commande.IV.1.4.2.2.1 Mode console de commande.IV.1.4.2.2.2.Détermination de la vitesse.IV.1.4.2.2.3.Gestion de l’interruption déclenchée par le Timer1.IV.1.4.2.1.2.2. Mode de commande par trajectoire.IV.1.4.2.1.2.Gestion de l’interruption déclenchée par le Timer1.IV.1.5.L’interface.

464646474848484950515254555657

Page 8: Realisation d’un robot mobile commande par PC

8

IV.1.5.1.L’interface principale.IV.1.5.1.1.Console de commande.IV.1.5.1.2.Commande trajectoire.IV.6 .Conclusion.Conclusion générale.ANNEXE.Références bibliographiques.

57585962636470

Page 9: Realisation d’un robot mobile commande par PC

9

La liste des figures

Figure. Ι.1 : Les robots mobiles. Figure. Ι.2 : Constitution d’un 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 caméra.Figure. Ι.8 : Les différents moteurs utilisés dans la robotique. Figure. Ι.9 : Télémètres 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 d’un moteur pas à pas (Boucle ouverte).Figure. ΙΙΙ.1:Dimension et forme du châssis.Figure. ΙΙΙ.2:Roue motriceFigure. ΙΙΙ.3:Roue folle. Figure. ΙΙΙ.4: Nos moteurs pas à pas utilisés. Figure. ΙΙΙ.5: Synoptique de notre réalisation.Figure. ΙΙΙ.6: Brochage du PIC 16F877. Figure. ΙΙΙ.7 : Différents connexions à l’oscillateur.Figure. ΙΙΙ.8: Les éléments constituants 16F877.Figure. ΙΙΙ.9: Organisation de la mémoire.Figure. ΙΙΙ.10 : Schéma interne de Timer1.Figure. ΙΙΙ.11 : Port de transmission.Figure. ΙΙΙ.12: Port de réception.Figure. IΙΙ.13 : Brochage du MAX232.Figure. ΙΙΙ.14: Connecteur DB9 femelle.Figure. ΙΙΙ.15: La carte mère.Figure. ΙΙΙ.16: La carte de puissance.Figure. ΙΙΙ.17 : Structure interne du circuit L297. Figure. ΙΙΙ.18 : Structure interne du circuit L298.Figure. ΙΙΙ.19: La carte d’alimentation. Figure. IV.1: mikroC.46Figure. IV. 2: WinPic800.Figure. IV. 3: Le schéma de simulation de notre programme final.Figure. IV. 4: L’organigramme du programme principal.Figure. IV. 5: L’organigramme de sous programme de traitement des interruptions.Figure. IV. 6: L’organigramme de sous programme de traitement d’interruption provoquépar l’USART.

1314

151616171717181821222223232323242630303031323334353536373737383839404142434647474849

50

Page 10: Realisation d’un robot mobile commande par PC

10

Figure. IV. 7: L’organigramme pour déterminer le mode de la commande choisie.Figure. IV. 8: L’organigramme du mode console de commande.Figure. IV. 9: L’organigramme pour la détermination de la vitesse.Figure. IV. 10: L’organigramme de gestion de l’interruption déclenchée par le Timer1dans mode console de commande.Figure. IV. 11: L’organigramme du mode de commande par trajectoire.Figure. IV. 12: L’organigramme Gestion de l’interruption déclenchée par le Timer1 dansle mode de commande par trajectoire.Figure. IV.13: Borland C++ Builder.Figure .IV.14: L’interface principale.Figure. IV.15 : L’interface de console de commande.Figure .IV.16 : L’interface de commande trajectoire.Figure. IV.17 : L’organigramme de commande trajectoire.Figure .IV.18: Trajectoire droite.Figure. IV.19: Trajectoire est une dérivation.Figure. IV.20: Exemple d’une trajectoire du robot.

515253

5455

565757585959606061

Page 11: Realisation d’un robot mobile commande par PC

11

Préambule

Depuis le milieu des années 70, la robotique est devenue une science extrêmement populaire dans les

milieux universitaire. Alliant un grand intérêt pédagogique et industriel,

Cette nouvelle science demande beaucoup de créativité et des connaissances pluridisciplinaires

(Mécanique, Electronique numérique et analogique, électrotechnique, Programmation, Intelligence

artificielle, Temps réel, Automatique…..)

Pour être réellement autonome en environnement inconnu, un robot mobile doit pouvoir disposer de

plusieurs modes de déplacement, à savoir plusieurs solutions pour les phases de perception, décision

et d’action, et de la capacité de sélectionner le meilleur mode en fonction du contexte. Pour cela, il

peut utiliser des informations extéroceptives provenant, par exemple de caméra mais il doit surtout

tenir compte de son comportement courant en terme de locomotion, afin de changer de stratégie si

celle qu’il utilise se relève inadaptée.

Pour cela notre projet de fin d’étude consiste à réaliser un robot mobile commandé par PC (Phase).

Notre réalisation s’articule autour de trois parties :

-1- Système mécanique : configuration de la plate-forme

(Structure et disposition des éléments moteur), matériaux.

-2-Ensuite ; l’électronique de contrôle : des circuits nécessaires à la commande

des moteurs et au positionnement, des circuits de puissance et d’alimentation

-3-Enfin ; la programmation du robot.

Page 12: Realisation d’un robot mobile commande par PC

12

Page 13: Realisation d’un robot mobile commande par PC

13

Ι.1.Introduction :Les robots de la première génération n’étaient que des simples autonomes capables d’accomplir destâches répétitives dans des milieux parfaitement connus.

La deuxième génération a vu apparaître des robots équipés de capteurs leur permettant de percevoir lesmodifications de l’environnement et d’agir d’une manière simple.

Depuis, les robots se sont largement développés et généralisés .Ils sont dotés de moyens de perceptionet de décision leur permettant de comprendre et d’évoluer dans différents types d’environnement.

Certains sont même utilisés pour l’exploration de planètes lointaines (Lune, Mars).Le robot de lacinquième génération devrait être haut degré d’autonomie, il fait l’objet des recherches intensives.Si l’autonomie a longtemps constitué un but suprême, on s’est de plus en plus rendu compte, que pourplusieurs années encore, une coopération entre l’homme et la machine était inévitable ; ne serait-ce quepour des raisons de sécurité.

Le robot ROBOSTO fut l’un des premiers projets de développement d’un robot autonome àl’université USTO. Son système de locomotion est d’un type classique avec deux roues motricesindépendantes installées sur un même axe et deux roues folles pour garantir l’équilibre .Son systèmede perception était composé des capteurs à collusion ne lui permettant pas de connaître sonenvironnement. Le système informatique était déporté de la communication avec le robot. [13]

Ces robots réalisent des opérations répétitives ou dangereuses, telle que la soudure, la peinture, lemoulage… ils sont aussi capables des travaux de précision. Pratiquement, tous ces robots remplacentles ouvriers des usines et en cela rendent raison aux prévisionnistes des années 1950-1960.Aujourd’hui, seulement 1% de tous les robots sont dévolus à des taches plus valorisantes. Ilsinterviennent dans des endroits inaccessibles (fond de l’océan, pente d’un volcan, tube d’une centralenucléaire, exploitation de la planète Mars…).Pour ces taches, ils sont équipés de calculateurs qui leurdonnent plus de liberté.

D’une manière générale, on regroupe sous l’appellation robots mobiles l’ensemble des robots basemobile, par opposition notamment aux robots manipulateurs. L’usage veut néanmoins que l’on désignele plus souvent par ce terme les robots mobiles roues. Les autres robots mobiles sont en effet le plussouvent désignés par leur type de locomotion, qu’ils soient marcheurs, sous-marins ou aériens. [3]

Figure. Ι.1 : Les robots mobiles

Page 14: Realisation d’un robot mobile commande par PC

14

Ι.2.Définition de robot mobile :

Il existe diverses définitions du terme robot :1.Un robot est une machine équipée de capacités de perception, de décision et d’action qui luipermettent d’agir de manière autonome dans son environnement en fonction de la perception qu’ilpossède.2. Un robot mobile est d’abord une base mobile .A ce titre, il peut être utilisé pour le transport. Maisdés lors qu’il est doté d’un bras manipulateur ou d’une caméra, ses applications sont plus nombreuses(surveillance, détection d’incendie, etc.…).

3. Un robot mobile est un manipulateur reprogrammable multifonctionnel conçu pour déplacer desmatériaux, des outils, des pièces ou des composants spécialisés à travers une série de mouvementsprogrammés pour effectuer une tache précise.

Les déplacements représentent l’aspect le plus important d’un robot mobile autonome, car sanavigation et sa locomotion en environnement naturel, inconnu à priori, sont un problème difficile quiest encore loin d’être résolu.

Pour être réellement autonome, un robot doit ainsi être capable d’interpréter ce qu’il perçoit del‘environnement, de modéliser cet environnement si cela peut être utile .De choisir une trajectoireadaptée et d’avoir une locomotion, la plus efficace possible, quelle que soit la situation qui se présente.

Le robot mobile se décompose en trois sous-systèmes :

- La structure mécanique.- L’énergie.- La structure de commande. [3], [4], [5]

Figure. Ι.2 : Constitution d’un robot mobile autonome. [4]

Structure

Mécanique

Structure deCommande

L’énergie

Page 15: Realisation d’un robot mobile commande par PC

15

Ι.3.La structure mécanique :

Ι.3.1.Le châssis :

Pour commencer, une base classique permet de nombreuses expérimentations. Le choix d’une formecylindrique assure au robot, d’éviter les obstacles en allégeant la programmation.Le robot cylindrique détecte une collision par ses capteurs de chocs avant, son programme luicommande de pivoter à gauche jusqu’à disparition de la détection (Figure. Ι.3).Puis le robot poursuit son chemin.Le robot rectangulaire commence par reculer avant de réagir comme le premier robot(Figure. Ι.3).Son programme est donc plus compliqué. La taille finale dépend du contexte global lors de l’utilisation du robot. Un labyrinthe ne permet pas lesmêmes libertés qu’une arène de démonstration. Dans un labyrinthe ou un couloir, le robot doit tournersur place, d’où le choix d’un châssis avec deux roues différentielles placées sur un axe central .Desformes plus libres peuvent être choisies avec un plateau de démonstration (robot à pattes, à chenilles,roues à l’arrière du mobile, etc.…) .Mais il est nécessaire de prendre aussi en compte les modifications futures sur les capteurs et les cartesélectroniques. [3]

Ι.3.2.La structure :

La structure d’un robot mobile peut utiliser divers matériaux. Mais la plupart des robots sont réalisésen aluminium et en plexiglas (plastique).Ces deux matériaux étant légers et facilement disponibles.Concernant le châssis le plus courant, deux roues propulsent le mobile, les roues sont placées sur lemême axe et une ou deux roues folles équilibrent l’ensemble comme la montre(Figure. Ι.4). La roue est souvent une roue qui tourne librement ou glisse.

Tourner àGauche

Avance

Avance

Recule

Figure. Ι.3 : Gestion de navigation du robot avec une forme circulaire et une autre rectangulaire

Page 16: Realisation d’un robot mobile commande par PC

16

Figure. Ι.4 : La forme classique avec une ou deux roues folles

Les deux solutions (une ou deux roues) n’ont pas les mêmes performances. Il n’y a pas une solutionmeilleure que l’autre, cela dépendra du terrain dans un premier temps.Le châssis à trois roues, deux roues motrices et une roue folle, est plus performant sur des terrainsfaiblement accidentés et assure un contact permanent avec le sol .Le châssis à quatre roues, deuxroues motrices, nécessite quand à lui un terrain parfaitement plat.il est possible d’atténuer un peu ceproblème avec des amortisseurs sur les roues folles.Le deuxième problème est la répartition des masses des châssis .Nous savons bien que le poids d’unmobile doit se situer sur les roues motrices pour améliorer les déplacements. [3]

Ι.3.3.La locomotion :

L’analyse de la locomotion humaine ou animale a donné lieu à de très nombreux modes de locomotionpour se déplacer, les robots ont besoin des roues, des chenilles ou des pattes. [3]

Ι.3.3.1.Les roues :

C’est la largeur et la nature des pneus qui caractérisent les performances. Des pneus trop fins sont engénéral très rigides, comme les joints toriques. Cela entraîne des erreurs de symétrie qui font tournerlégèrement le robot. A l’opposé des pneus trop larges et en caoutchouc mou améliorent l’adhérence,mais augmentent la puissance nécessaire des moteurs .La bonne taille est donc compromise.Un pneu plus mou que l’autre entraîne une différence de diamètre qui introduira une erreur de symétrie.La conséquence sera immédiate sur la trajectoire du mobile qui n’ira plus droit. [3]

Figure. Ι.5 : robot mobile avec des roues Ι.3.3.2.Les pattes :

Les structures précédentes ne sont pas adaptées dans les cas d’application sur des terrains avec desgrandes différences de niveaux ou il est nécessaire de choisir les appuis.C’est le nombre de pattes qui va définir 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 dutriangle formé par les trois autres pattes ou réaliser un déplacement dynamique. Cette technique àdéplacer le centre de gravité, en bougeant la tête par exemple.

RouesFolles

Page 17: Realisation d’un robot mobile commande par PC

17

Les robots les plus spectaculaires sont humanoïdes. Mais les équations et les techniques qui permettentde programmer et construire ces créatures nécessitent des années d’études pour les laboratoires derobotique. [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é defranchissement des petites obstacles intéressantes (figure. I.7). Ces plates-formes peuvent ainsi êtreutilisé en milieu urbain, ou dans des décombres. L’utilisation de chenilles conduit cependant à unodomètre très bruité à cause du contact mal défini entre les chenilles et le sol.

Figure. Ι.7 : robot mobile avec chenille et une caméra Ι.3.4.Le choix des moteurs :

Un moteur permet de réaliser dans un premier temps un mouvement de rotation. Ce dernier estcommuniqué à l’aide de l’arbre moteur et il peut être ensuite transformé en mouvement de translation àl’aide de différentes solutions technologique comme les systèmes visse/écrou, pignon/crémaillère,bielle/manivelle…Dans un robot mobile utilisant l’énergie électrique, la puissance mécanique est fournie par des moteurs(des moteurs pas à pas, des moteurs à courant continu et des servomoteurs).Le choix d’un moteur ou d’un autre dépend des besoins.Il est nécessaire de connaître la puissanceabsorbée en charge, le couple mécanique et la vitesse nominale pour sélectionner un moteur plutôtqu’un autre.

Figure. Ι.8 : Les différents moteurs utilisés dans la robotique (Servomoteur, Moteur à courant Continu, Moteur pas à pas)

Page 18: Realisation d’un robot mobile commande par PC

Ι.4.La structure de commande ou

La réalisation des cartes électroniques est déjà unelle se double d’un encombrement réduit, car on doit minimiser au maximum leur taille.L’électronique étant une partie très sensible du robot, elle doit êtreles cartes, les capteurs, les moteurs et l’alimentation sont autant de points sensibles.

Ι.4.1.Les capteurs :

Les capteurs sont les organes sensoriels d’und’autres au contraire doivent être capable d’absorber desdirectement connectés au centre de contrôle, comme les interrupteurs.Les autres types nécessitent une petite interface d’adaptation, comme les capteurs infrarouge ou àultrasons. D’autres plus sophistiqués nécessitent une carte spéciale tel que les cameras.On a deux types de capteur :

Ι.4.1.1.les capteurs externes (capteurs d’environnements)

Ils sont des capteurs extéroceptif, délivrent des informations relative à l’envirinteractions entre le robot et son environnement

Figure. Ι.9

Ι.4.1.2.les capteurs interne (capteur proprioceptif)

Il s’agit des capteurs qui délivrent des informations sur l’état interne du robotou de vitesse des roues et les capteurs de charge de la batterie. [4]

Figure. Ι.10

18

Ι.4.La structure de commande ou électronique:

La réalisation des cartes électroniques est déjà une difficulté en soi, mais dans le cas de la robotique,elle se double d’un encombrement réduit, car on doit minimiser au maximum leur taille.L’électronique étant une partie très sensible du robot, elle doit être protégée. Toutesles cartes, les capteurs, les moteurs et l’alimentation sont autant de points sensibles.

Les capteurs sont les organes sensoriels d’un robot. Certains sont fragiles et doivent être protégés,ntraire doivent être capable d’absorber des chocs. Les plus simples peuvent être

directement connectés au centre de contrôle, comme les interrupteurs.Les autres types nécessitent une petite interface d’adaptation, comme les capteurs infrarouge ou à

autres plus sophistiqués nécessitent une carte spéciale tel que les cameras.

Ι.4.1.1.les capteurs externes (capteurs d’environnements) :

Ils sont des capteurs extéroceptif, délivrent des informations relative à l’envirinteractions entre le robot et son environnement : capteurs de distance. [4]

Figure. Ι.9 : Télémètres infrarouges Sharp

Ι.4.1.2.les capteurs interne (capteur proprioceptif) :

capteurs qui délivrent des informations sur l’état interne du robotou de vitesse des roues et les capteurs de charge de la batterie. [4]

Figure. Ι.10 : capteur de position angulaire

e difficulté en soi, mais dans le cas de la robotique,elle se double d’un encombrement réduit, car on doit minimiser au maximum leur taille.

protégée. Toutes les liaisons entreles cartes, les capteurs, les moteurs et l’alimentation sont autant de points sensibles.

sont fragiles et doivent être protégés,plus simples peuvent être

Les autres types nécessitent une petite interface d’adaptation, comme les capteurs infrarouge ou àautres plus sophistiqués nécessitent une carte spéciale tel que les cameras.

Ils sont des capteurs extéroceptif, délivrent des informations relative à l’environnement ou aux

capteurs qui délivrent des informations sur l’état interne du robot : les capteurs de position

Page 19: Realisation d’un robot mobile commande par PC

19

Ι.4.2.Les interfaces de puissance des moteurs :

On ne peut contrôler directement les moteurs qu’en passant par une interface de puissance.En connaissant ses caractéristiques, cela nous permet de choisir la meilleure interface.Un point particulièrement important est la dissipation thermique des transistors ou circuit intégré. [3]

Ι.4.3.les centres de contrôle (le cerveau d’un robot) :

Le centre de contrôle est en général une carte équipée uniquement d’un processeur ou demicrocontrôleur.Dans ce cas là, le centre de contrôle se résume au processeur ou de microcontrôleur et à sespériphériques mèmoires.Mais parfois, il est complété par les interfaces pour moteurs et capteurs.Le but étant de réaliser une carte unique qui regroupe toute l’électronique et réduit la connectique. [3]

Ι.4.4. L’alimentation :

Le dimensionnement de l’alimentation du robot consiste à définir l’autonomie souhaitée pour unfonctionnement normal, et accessoirement à repartir la capacité sur plusieurs sourcesindépendantes .L’énergie nécessaire est calculée à partir de la consommation de tous les éléments durobot.Le calcul est simple, il suffit de multiplier le courant total consommé par l’autonomie souhaitée.L’alimentation peut être sous forme de batteries ou d’accumulateurs en tenant compte du poids finaldu robot, sa puissance et son autonomie.Le problème avec les robots est le manque de place.Le choix de batterie dépend des caractéristiques du robot. [3]

Page 20: Realisation d’un robot mobile commande par PC

20

Page 21: Realisation d’un robot mobile commande par PC

21

ΙΙ. 1. Introduction :

La circulation d'un courant électrique dans un bobinage entraîne l'apparition d'un champ magnétique,comme le détaillé la figure ci-dessous dans le cas du solénoïde, et donc la présence de pôles Nord etSud; 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. Définition :

Un moteur pas à pas est une machine tournante dont le rotor se déplace d’un angle élémentaire àchaque fois que son circuit de commande effectue une commutation de courant dans un ou plusieurs deson enroulement, Il s’agit donc d’un actionneur de positionnement.Les moteurs pas à pas sont différents par rapport aux moteurs classiques. Au lieu de leur fournir unetension continue, on peut alimenter des bobines dans une séquence précise. Grâce à ce principe, onpeut déterminer l’angle exact de rotation de l’axe, de plus, en laissant une ou plusieurs bobinesalimentaires, on obtient un maintien : le moteur est figé.Chaque impulsion envoyée par le circuit de commande au module de puissance se traduit par larotation d'un pas du moteur. L'angle de rotation minimal entre deux modifications des impulsionsélectriques s'appelle un pas. On caractérise un moteur par le nombre de pas par tour (c'est à dire pour360°). 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 passagede courant.Exemple:Moteur à 400pas=0.9°Moteur à 200pas=1.8°Moteur à 100pas=3.6°Moteur à 48pas=7.5°Moteur à 24pas=15°

ΙΙ. 3. Différent types de moteur pas à pas :

En peut classer les moteurs pas à pas en 3 catégories:- Moteur à aimant permanent;- Moteur à réluctance 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 magnétique dans lesens radial.2. Le stator qui est la partie fixe, comporte d’encoches comportant 1,2, 3,4 enroulements Electriques.

Page 22: Realisation d’un robot mobile commande par PC

.Figure.

Caractéristiques principales :- Faibles résolution : nombre de pas/tour peu- Couple d’utilisation plus élevé par rapport au moteur à reluctance variable.- Présentation d’un couple résiduel lorsque le moteur est hors tension.

ΙΙ. 3.2. Moteur à reluctance variable

-Le stator présente un certain nombre de dents ayant-Le rotor (en matériau magnétique) possède un nombre différent de dents,- Le rotor se positionne pour que la réluctance du circuit magnétique soit minimum.- 12 pas par tour ou 30° par pas.- Des séquences pour un tour com

Figure.

Caractéristiques principales :- Les fréquences de fonctionnement peuvent être élevées.- Bonne résolution.- Construction simple mais délicate. Couple développé.- Absence de couple résiduel avec le moteur hors tension.

ΙΙ. 3.3 Moteur hybride :

C’est un moteur à reluctance polarisée.il superpose le principe de fonctionnement des moteurs àaimant permanent et à reluctance variable et combine leurs avantages.Le rotor est constitué de deux disques dentés décalés mécaniquement entre ces deux disques et inséréun aimant permanent. Le stator et le rotor ont un nombre de dentspaire de bobines, Le rotor place les dents nord et sud de telle façon que le flux traversant le rotor soitmaximal.

22

ΙΙ.2:Moteur à aimant permanent

:: nombre de pas/tour peu important.

Couple d’utilisation plus élevé par rapport au moteur à reluctance variable.Présentation d’un couple résiduel lorsque le moteur est hors tension.

à reluctance variable :

Le stator présente un certain nombre de dents ayant un bobinage.Le rotor (en matériau magnétique) possède un nombre différent de dents, mais sansLe rotor se positionne pour que la réluctance du circuit magnétique soit minimum.

complet.

ΙΙ.3: Moteur à reluctance variable

:Les fréquences de fonctionnement peuvent être élevées.

Construction simple mais délicate. Couple développé.Absence de couple résiduel avec le moteur hors tension.

C’est un moteur à reluctance polarisée.il superpose le principe de fonctionnement des moteurs àpermanent et à reluctance variable et combine leurs avantages.

Le rotor est constitué de deux disques dentés décalés mécaniquement entre ces deux disques et inséréstator et le rotor ont un nombre de dents différents. Quand

paire de bobines, Le rotor place les dents nord et sud de telle façon que le flux traversant le rotor soit

mais sans bobinage.Le rotor se positionne pour que la réluctance du circuit magnétique soit minimum.

C’est un moteur à reluctance polarisée.il superpose le principe de fonctionnement des moteurs à

Le rotor est constitué de deux disques dentés décalés mécaniquement entre ces deux disques et insérédifférents. Quand on alimente une

paire de bobines, Le rotor place les dents nord et sud de telle façon que le flux traversant le rotor soit

Page 23: Realisation d’un robot mobile commande par PC

Figure. ΙΙ.4:Exemple de rotor deMoteur hybride

Caractéristiques principales :- Hors tension, le rotor est maintenu en position.- Bonne précision de la position du rotor.- Grande vitesse de rotation. [10

ΙΙ. 4. Le mode de contrôle :

ΙΙ. 4.1. Le mode unipolaire :

La commande unipolaire n’utilise en effet qu’une bobine parle point milieu de bobinage. Celal’on travaille dans environnement numérique.

ΙΙ. 4.2. Le mode bipolaire :

Elle permet d’augmenter le couple de moteur, par sa position ses enroulements.Les enroulements au stator n’ont pas de point milieu, chaque borne de chaque enroulement estalimentée successivement par une polarité positive puis négative en inversant les polarités desenroulements statique. On inverse les pôles nord et sud de stator.

ΙΙ. 5. Caractéristiques couple et vitesse

ΙΙ. 5. 1-Couple d'arrêt ou couple de maintient

C’est le couple maximum de rotation avec lequel on peut solliciterstatiquement, sans qu'il ne se produise de modification de son angle de rotation.

23

Exemple de rotor de Figure. ΙΙ.5:Moteurs hybride

Hors tension, le rotor est maintenu en position.Bonne précision de la position du rotor.

10]

:

n’utilise en effet qu’une bobine par phase. Elle se fait entre une extrémité etbobinage. Cela permet néanmoins de simplifier l’électronique de pilotage vu que

l’on travaille dans environnement numérique.

Figure. ΙΙ.6 : Mode unipolaire

r le couple de moteur, par sa position ses enroulements.Les enroulements au stator n’ont pas de point milieu, chaque borne de chaque enroulement estalimentée successivement par une polarité positive puis négative en inversant les polarités des

inverse les pôles nord et sud de stator. [10]

Figure. ΙΙ.7 : Mode bipolaire

éristiques couple et vitesse :

Couple d'arrêt ou couple de maintient :

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.

Moteurs hybride

se fait entre une extrémité etpermet néanmoins de simplifier l’électronique de pilotage vu que

r le couple de moteur, par sa position ses enroulements.Les enroulements au stator n’ont pas de point milieu, chaque borne de chaque enroulement estalimentée successivement par une polarité positive puis négative en inversant les polarités des

l'arbre d'un moteur pas à pas excitéstatiquement, sans qu'il ne se produise de modification de son angle de rotation.

Page 24: Realisation d’un robot mobile commande par PC

24

ΙΙ. 5. 2-Plage de démarrage :

C’est la plage dans laquelle un moteur pas à pas peut être actionné en synchronisation avec laFréquence de travail sans rampe d'accélération ou de décélération.

ΙΙ. 5. 3-Fréquence limite de démarrage :

C’est une fréquence maximale avec laquelle un moteur pas à pas ne peut démarrer à la chargeindiquée.

ΙΙ. 5. 4-Plage d'accélération:

C’est la plage de travail dans laquelle un moteur pas à pas peut être actionné en synchronisation avecla fréquence de travail, sans qu'il ne se produise d'erreur de pas. Il faut cependant qu'il soit actionnéavec une rampe d'accélération et de décélération.

ΙΙ. 5. 5-Couple limite de travail ou d’entraînement :

C’est un couple de rotation maximale avec lequel on peut solliciter un arbre de rotation avant qu'il nesorte de la cadence.

ΙΙ. 5. 6-Fréquence maximale des pas :

C’est une fréquence maximale admise avec laquelle un moteur pas à pas est actionné à vide sans pertede pas. Cependant, le moteur ne peut être démarré ou stoppé avec cette fréquence 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 s’il ne possédait que 2 bobines, il est obligé d’être alimenter soit une bobine àla fois, ou les deux en même temps. A tout moment, donc le moteur a la moitié ou la totalité de sesbobines alimentées, ce qui a comme avantage de lui donner plus de force.Par contre, il est plus complexe de contrôler un moteur bipolaire, au niveau de l’interface de puissance.

Page 25: Realisation d’un robot mobile commande par PC

25

ΙΙ. 6.2. Les moteurs à 5 fils (unipolaire) :

Le moteur comporte deux bobines à point centrales, on relie le point central à l’alimentation et lesautres bobines à l’interface de puissance.

ΙΙ. 6.3. Les moteurs à 6 fils :

Avec le moteur à 6 fils, on a le choix d’une commande bipolaire, ou d’une commande unipolaire. Dansle premier cas, on ignore simplement les connexions centrales, et dans le second cas, on relie les deuxpoints centraux au (+) de l’alimentation.

ΙΙ. 6.4. Les moteurs à 8 fils :

Avec ce moteur, on a aussi le choix d’une commande bipolaire, ou unipolaire. Dans le premier cas, onignore les 4 fils centraux, et dans le second cas, on reliant les quatre fils centraux ensemble. [10]

ΙΙ. 7. Commande des moteurs pas à pas:

Le rôle de l’électronique associée à un moteur pas à pas est d’assurer les commutations nécessairespour obtenir un déplacement d’un nombre de pas donné ou une rotation à vitesse fixée. Troisdispositifs sont nécessaires.Le principe de commande du moteur pas à pas est en boucle ouverte (Voir la figure. II.9)

ΙΙ. 7.1. Unités de pilotage :

Elle génère 2 signaux numériques .Une première sortie donne un bit qui permet de définir le sens derotation. Une seconde sortie délivre les impulsions. Un nombre N d’impulsions correspond à undéplacement de N pas .Une répétition périodique des impulsions avec une fréquence correspondante àune rotation continue à une vitesse angulaire ; Cette fonction est souvent réalisée par un circuitprogrammable (PC, microcontrôleur).

ΙΙ. 7.2. Le séquenceur :

Il dirige les impulsions vers les différentes phases du moteur. Suivant le moteur utilise (Nombre dephase) et le mode de fonctionnement choisis (pas entier, demi pas).Ce circuit délivre sur ses sorties dessignaux logiques définissant les commutations à réaliser pour chaque phase suivant les séquencesprécises, il s’agit d’un circuit logique câblé (bascules,…).Cette fonction peut également être remplie par un circuit programmable.

ΙΙ. 7.3. Les commutateurs de puissance ou l’interface de puissance :

Il permet d’alimenter correctement les phases du moteur en fonction des informations reçuesDu séquenceur, il doit donc être en mesure de fournir le courant nécessaire aux enroulements dumoteur, il s’agit d’une fonction analogique de puissance qui sera réaliser à partir d’un composantintégré ou discret :(Transistor bipolaire, Montage Darlington).Chaque phase possède une voie séparée dans le commutateur. [11]

Page 26: Realisation d’un robot mobile commande par PC

26

Figure. ΙΙ.9:Synoptique de la commande d’un moteur pas à pas (Boucle ouverte)

ΙΙ. 8. Le mode de séquence :

Les modes de séquence se distinguent par leur fonctionnement interne, leur séquence générée, et par lafaçon dont on les commande.

ΙΙ. 8.1. Pas entier :

ΙΙ. 8.1.1. Monophasé: Cette séquence permet normalement d’alimenter une bobine à la fois, enplaçant à des positions de détente. [10]

Tableau.III. 1 1. Fonctionnement en mode monophasé

A B C D

0 0 0 1

1 0 0 0

0 0 1 0

0 1 0 0

Unité dePilotage

Microcontrôleur&PC

InterfaceDe

PuissanceMoteur

Vcc

Clock

2 4 6 8 2

A

B

C

D

1000 01000001 0010ABCD =

AB

CD

Unipolaire

Page 27: Realisation d’un robot mobile commande par PC

ΙΙ. 8.1.2. Biphasé :

Cette fonction permettra au moteur de faire un pas complet où les positions d’équilibre sont à michemin entre les positions de la séquence la plus simple. [10]

Tableau.III.2

ΙΙ. 8.2. Demi –pas :

Dans ce cas, on combine les deux séquences précédentes pour placer le rotor successivement à uneposition de détente, à une position intermédiaire, et à nouveau à une position de détente.Ce mode permettra de multiplier par deux le nombre de pas.L’avantage de ce mode à demi-pas qu’il ne souffre pas de problème de résonances, même s’il tournetrès vite, on ne tombe jamais sur un point de résonance où le couple s’annule. [10]

Tableau.III.3 3.

B C D

0 1 0 1

1 0 0 1

1 0 1 0

0 1 1 0

A 0 0 1 1 1 0 0 0

B 1 0 0 0 0 0 1 1

C 0 0 0 0 1 1 1 0

D 1 1 1 0 0 0 0 0

27

moteur de faire un pas complet où les positions d’équilibre sont à michemin entre les positions de la séquence la plus simple. [10]

2 2. Fonctionnement en mode biphasé

combine les deux séquences précédentes pour placer le rotor successivement à uneposition de détente, à une position intermédiaire, et à nouveau à une position de détente.Ce mode permettra de multiplier par deux le nombre de pas.

pas qu’il ne souffre pas de problème de résonances, même s’il tournetrès vite, on ne tombe jamais sur un point de résonance où le couple s’annule. [10]

3 3. Fonctionnement en mode demi pa

1 3 5

clock

A

B

C

D

ABCD=0101 1001 1010

1 2 3 4 5

Clock

C

D

B

A

ABCD=0101 0001 1001 1000 1010

moteur de faire un pas complet où les positions d’équilibre sont à mi-

mode biphasé

combine les deux séquences précédentes pour placer le rotor successivement à uneposition de détente, à une position intermédiaire, et à nouveau à une position de détente.

pas qu’il ne souffre pas de problème de résonances, même s’il tournetrès vite, on ne tombe jamais sur un point de résonance où le couple s’annule. [10]

Fonctionnement en mode demi pas

7 1

0110

6 7 8

0010 0110 0100

Page 28: Realisation d’un robot mobile commande par PC

28

ΙΙ. 9. Commande de moteur pas à pas par des circuits intégrés spécialisés :

Les deux dispositifs pour la commande du moteur pas à pas qui sont le séquenceur et l’interface depuissance avec le développement scientifique sont intégrés tout les deux dans un seul circuit quirenferme 4 étages de commande (Position, direction, amplification et vitesse).Et ne reste alors qu’à délivrer les impulsions pour le nombre de pas et un bit pour le sens de rotationpar le moyen de deux lignes de données du port d’un microcontrôleur par exemple, pour faire tournerle moteur de plus, ces circuits intégrées protègent très bien l’unité de pilotage d’un retour de courant.[11]

On a comme exemple de ces circuits intégrés :Le (MC3479C).Le (L297) et (l298) qui fonctionnent ensemble.Le (L293).Le (SAA1027). (SAA1042).Le (SL7024M).

ΙΙ.10 Le critère de choix d’un moteur pas à pas :

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

ΙΙ.11.Conclusion :

Dans ce chapitre nous avons présenté les trois grandes familles de moteur pas à pas et les

caractéristiques de chacun ; ces moteurs sont simple à réaliser et présentent une faible inertie, ce qui

nous permet d’avoir une accélération importante.

Les moteurs pas à pas sont des transducteurs électromécaniques qui assurent simultanément deux

fonctions :

-La conversion d’énergie électrique en énergie mécanique.

-La conversion d’information électrique digitale en action mécanique.

Page 29: Realisation d’un robot mobile commande par PC

29

Page 30: Realisation d’un robot mobile commande par PC

30

Introduction :

Notre robot mobile est un ensemble de mécanique associée à l’électronique. La mécanique consiste àconstruire une base roulante qui pourra accueillir l’électronique qui permettra la commande de la base.Dans ce chapitre consiste à présenter la partie matérielle de robot, et expliquer les différentes étapes dela conception et la réalisation de notre robot mobile.

ΙΙΙ.1 .La structure mécanique :

ΙΙΙ.1.1.Le châssis :

Le châssis est une base sur laquelle sont disposés les éléments de notre robot mobile, il doit être solide,léger et d’obtenir une forme adaptée pour notre application.La forme que nous avons choisie est circulaire pour faciliter la programmation et le déplacement denotre robot car si notre base est en face d’un obstacle cette forme lui permet de pivoter sur lui-même.

ΙΙΙ.1.2.La structure :

Pour notre application nous avons utilisé un châssis en plexiglas ayant les dimensions suivantes :

Figure. ΙΙΙ.1: Dimension et forme du châssis ΙΙΙ.1.3.Les roues :

Notre base est équipée de deux roues motrices et une roue folle en caoutchouc.Les roues motrices possèdent les caractéristiques suivantes :

Figure. ΙΙΙ.2 : Roue motrice Figure. ΙΙ .3: Roue folle

D=25cm

8cm

2.5cm

1.5cm

D=25cm

8cm

2.5cm

D=25cm

8cm

2.5cm

1.5cm

Diamètre extérieur =7.5cm

Diamètre intérieur =5.4cm

Diamètre extérieur =7.5cm

Diamètre intérieur =5.4cm

Page 31: Realisation d’un robot mobile commande par PC

31

ΙΙΙ.1.4.Les moteurs :

Pour notre application on a choisi des moteurs pas à pas qu’ont les caractéristiques suivantes:- Les deux moteurs ont un diamètre de 4 cm et une profondeur de 2.5 cm.- Résistance interne de 115 Ώ.- Une tension d’alimentation de 12 volts à 36 volts.- Un courant nominal de 0.25 A.- 48 pas par tour.- 6 fils : deux pour l’alimentation (rouge), le jaune et l’orange pour la première bobine, le noir et lemarron pour la deuxième bobine. .

- Le moteur est du type pas à pas unipolaire- La gamme de fréquence pour laquelle le moteur tourne de façon continue 100 Hz à 15 Hz.

Figure. ΙΙΙ.4: Nos moteurs pas à pas utilisés

ΙΙΙ.1.4.1.Calcul la vitesse de notre robot :

La vitesse du robot est proportionnelle au diamètre des roues utilisées, nous avons un pas quicorrespond à 10 ms, donc 48 pas (un tour) correspondent à 480 ms.La vitesse du robot est alors déterminée de la façon suivante :1 tour = *d =3.14*7.5=23.55 cmAvec d : le diamètre de la roue.Nous avons un pas qui correspond à une distance de 0.4906 cm dans une période 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 rôle d’un couple résistant pourles deux moteurs. Plus le poids est grande plus la vitesse est lente.Le poids total est 1700gr.

ΙΙΙ.2.La structure électronique :

Pour réaliser n’importe quelle carte électronique, il faut d’abord étudier ses composants et sonenvironnement logiciel qu’on veut employer pour gérer cette carte.Dans cette partie on décrit les trois cartes réalisé :

-Carte mère.-Carte de puissance.-Carte d’alimentation.

Page 32: Realisation d’un robot mobile commande par PC

32

Le schéma suivant présente la synoptique de notre robot mobile :

Tension de batterieTension de 5vTension de puissance (12v)Communication avec PC

Figure. ΙΙΙ.5: Synoptique de notre réalisation

ΙΙΙ.2.1.La carte mère (de commande) :

Notre carte de commande est basée sur un microcontrôleur PIC16F877 qui est le cœur de notre carte etun circuit intégré MAX232 qui permet à la communication série.Cette carte permet de commander nos deux moteurs, et aussi la communication série entre le PC et lerobot.

ΙΙΙ.2.1.1.Présentation des PIC :

Les PIC 16F877 est un microcontrôleur de type Mide_range, ils possèdent un jeu d’instructions réduitqui caractérise les circuits RISC (Reduced Instruction Set component). Les circuits RISC sontcaractérisés par leur rapidité d’exécution.

Le 16F877-04 veut dire :

- 16 : c’est un PIC de la famille Mid-Range.- F : pour indiquer que la mémoire est de type flash.- 877 : identification du PIC.- 4 : fréquence d’horloge que le PIC peut supporter.

Carte

d’alimentation

Batteries

Carte de

puissance

Carte de

carte mère

(Commande)

Page 33: Realisation d’un robot mobile commande par PC

33

ΙΙΙ.2-1.2.Brochage du PIC 16F877 :

Comme pour tout circuit intégré, chacune de ses broches a une ou plusieurs fonctions qui sont résuméespar un sigle mnémotechniques. La figure. ΙΙΙ.2.1.1 présente le brochage du PIC 16F877 qui dispose de 40 broches montées sur un boîtier DIL.

Figure. ΙΙΙ.6: Brochage du PIC 16F877

ΙΙΙ.2.1.3.Description du PIC 16F877-04 :

Le PIC qu’on a utilisé, est le 16F877-04 qui fait partie de la famille MID_RANG (mots à 14bits),possède les caractéristiques suivantes :

Une unité arithmétique et logique (ALU). Une horloge de 4Mhz. Une mémoire programme de type EEPROM flash. Une mémoire RAM de données de 368 octets. Une mémoire EEPROM de 256 octets. 5 Ports d’entrées/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 préscalére TMR0, TMR1, TMR2. Deux modules de comparaisons et de capture CCP1, CCP2. LE WATCHDOG. 1 Convertisseur analogique/numérique 10bits de 8 canaux. Récepteur/Transformateur série synchrone et asynchrone USART. SSP, Port série synchrone.

Page 34: Realisation d’un robot mobile commande par PC

34

ΙΙΙ.2.1.4.L’Horloge :

Pour fonctionner le PIC 16F877 il faut qu’il soit connecter avec un circuit d’horloge.Les PIC disposent d’un oscillateur interne nécessitant une adaptation à un circuit externe. Les pinsOSC1 et OSC2 sont les entrées de l’oscillateur. Pour cela on y trouve différents types d’horloges àquartz ou à cellule RC, qu’on peut classer suivant leurs gammes de fréquences :

LP : à quartz, la plage de fréquence est comprise entre 32KHz et 200KHz. XT : à quartz, la fréquence est comprise entre 100KHz et 4 MHz RC : à oscillateur RC fonctionnant jusqu’à 4MHz, on note que la stabilité de fréquence est

plus fiable que les versions à quartz. HS : à Quartz fonctionnant de 4MHz jusqu’à 20MHz.

Il existe trois schémas différents de connexion des éléments externes à l’oscillateur.

Figure. ΙΙΙ.2.1.3 représente ces trois schémas, sachant que celui de (a) est le plus utilisé. Le Datasheetde chaque PIC fournit les valeurs des composants correspondants.

Figure. ΙΙΙ.7: Différents connexions à l’oscillateur

ΙΙΙ.2.1.5.Structure interne du PIC 16F877 :

L’architecture interne présente les principaux organes qui composent le microcontrôleur

(Figure. ΙΙΙ.2.1.6). Le but ici n’est pas d’expliquer chaque organe mais de permettre de visualiser

l’ensemble pour mieux comprendre le fonctionnement du microcontrôleur.

(b)

(a)

(c)

Page 35: Realisation d’un robot mobile commande par PC

35

Figure. ΙΙΙ.8 : Les éléments constituants 16F877

ΙΙΙ.2.1.6.L’organisation de la mémoire :

Le PIC16F877 a une mémoire programmée (flash) de 8k octets, elle contient le code binaire sur14 bits des instructions que doit exécuter le microcontrôleur.

Le PIC16F877 contient une RAM de taille 368 octets divisée en 4 banques de128 registres.Cesregistres servent à contrôler et configurer les différents modules (Comme le la figure

Figure. ΙΙΙ.9 : Organisation de la mémoire

Page 36: Realisation d’un robot mobile commande par PC

36

ΙΙΙ.2-1.7.Présentation des modules utilisés :

Les modules utilisés pour notre application sont : Le Timer1 : La fréquence du signal de commande est lente donc on a besoin d’un

Timer de 16 bits, c’est pourquoi nous avons utilisé ce module dans notre application aulieu du Timer0 et du Timer2 qui est utilisé pour la génération de la commande PWM.

L’USART : Pour gérer la communication série entre le PC et le PIC.

ΙΙΙ.2.1.7.1.Timer 1 :

Timer1 est un Timer/compteur 16bits accessible en lecture/écriture par intermédiaire des registres 8bitsTMR1H et TMR1L qui constituent sa partie haute et sa partie basse.Le Timer 1 permet de générer une interruption une fois le débordement effectué, son prédiviseur nepermet qu’une division maximale de 8.

Figure. ΙΙΙ.10 : Schéma interne de Timer1

Le registre de configuration T1CON :

La gestion du Timer1 est gérée par le registre TCON qu’il l’active ou le désactive.

T1CON :

T1CKPS1, T1CKPS0 : Control du préscaler00 : Division par 101 : Division par 210 : Division par 411 :Divisionpar8T1OSCEN : Validation de l’oscillateur associé à TMR11 : Oscillateur arrêté0 : Oscillateur activéT1SYNC : Synchronisation de l’horloge externe0 : Synchronisation1 : pas de synchronisationTMR1CS : Choix de l’horloge du Timer0 : Horloge système (Fosc/4) : mode Timer1 : Horloge externe : mode compteurTMR1ON : Démarrer /Arrête le timer0 : Timer stoppé1 : Timer en fonctionnement

Page 37: Realisation d’un robot mobile commande par PC

37

ΙΙΙ.2.1.7.2.L’USART :

L’USART (Uiversal Synchrone Asynchrone Receiver Transmetter) est un module de communicationsérie. Il peut être configuré comme module de communication asynchrone full duplex ou synchronehalf duplex.La communication se fait sur les deux broches RC6/TX et RC7/RX.L’USART contient deux ports :

Figure. ΙΙΙ.11: Port de transmission

1. Le port de la transmission est contrôlé 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 : Sélectionne le mode haut débitTRMT : Indicateur de l’activité de registre à décalage

1 Pas de décalage, 0En activité.

Figure. ΙΙΙ.12: Port de réception.

2. Le port de la réception est contrôlé par le registre RCSTA :

Page 38: Realisation d’un robot mobile commande par PC

38

SPEN : Validation du port série (1Validé, 0Inhibé).RX9 : Validation du mode 9 bits (1mode 9 bits, 0mode 8 bits).SREN : Validation de la réception d’un seul octet.CREN : Validation du mode de réception continue.ADDEN : Validation du mode de réception d’adresse en mode 9bits.FERR : Erreur de synchronisation.OERR : Erreur de débordement du buffer.RXD9 : En mode 9 bits, le 9 éme bits reçue.

Pour que la communication série s’effectue correctement l’utilisation de l’USART doit se déroulersuivant les étapes suivantes ;Pour la transmission :

1-Assurer que l’interruption TXI n’est pas validée.2-Configurer la broche TX/RC6 en entrée.3-Configurer le registre TXSTA.4-Initialiser le registre SPBRG pour définir la vitesse de transmission5-Placer la donnée à transmettre dans TXREG.

Pour la réception :

1-Assurer que l’interruption RCI n’est pas validée.2-Configurer la broche RX/RC7 en entrée.3-Initialiser le registre SPBRG pour définir la vitesse de la réception.4-Configurer le registre RCSTA.5-Attendre le drapeau RCIF ce qui donne la fin de la réception. [1], [2], [6], [7]

ΙΙΙ.2.1.8.Présentation de la communication série :

Pour garantir la communication entre la base mobile et le PC, on a utilisé la liaison série RS232. Surcette liaison les bits d’informations circulent l’une après l’autre sur le même fil. Pour cette liaison lesniveaux sont -12V pour 1 logique et +12V pour 0 logique. Ils sont donc totalement incompatibles avecceux du PIC +5V pour « 1 » et 0V pour « 0 ».L’utilisation du circuit MAX232 permet d’adapter les niveaux à l’aide d’un convertisseur de tensionintégré qui délivre une tension de -12V et +12V en partant d’une 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

Page 39: Realisation d’un robot mobile commande par PC

39

La communication série nécessite trois fils au minimum, une masse pour référencier les signaux, un fil

émetteur et un fil récepteur .Notre liaison série est en effet full_duplex, c’est à dire que l’on peut

émettre et recevoir en même temps.

La vitesse de transmission de l’émetteur doit être identique à la vitesse d’acquisition du récepteur.Ces vitesses sont exprimées en BAUDS (1 baud =1 bit/seconde) .Il existe différentes vitessesnormalisées : 9600, 4800, 2400,1200…bauds.Les lignes utilisées dans notre application sont représentées ci-dessous :

PC PIC

RXD RC7

TXT RC6GND GND

Tableau.III.1 : Brochage entre le PIC et le MAX232.

ΙΙΙ.2.1.9.La carte mère: la figure.III.2.1.9 représente la carte mère :

Figure. ΙΙΙ.15: La carte mère.

RA0/AN02

RA1/AN13

RA2/AN2/VREF-4

RA4/T0CKI6

RA5/AN4/SS7

RE0/AN5/RD8

RE1/AN6/WR9

RE2/AN7/CS10

OSC1/CLKIN13

OSC2/CLKOUT14

RC1/T1OSI/CCP216

RC2/CCP117

RC3/SCK/SCL18

RD0/PSP019

RD1/PSP120

RB7/PGD40

RB6/PGC39

RB538

RB437

RB3/PGM36

RB235

RB134

RB0/INT33

RD7/PSP730

RD6/PSP629

RD5/PSP528

RD4/PSP427

RD3/PSP322

RD2/PSP221

RC7/RX/DT26

RC6/TX/CK25

RC5/SDO24

RC4/SDI/SDA23

RA3/AN3/VREF+5

RC0/T1OSO/T1CKI15

MCLR/Vpp/THV1

U1

PIC16F877

T1IN11

R1OUT12

T2IN10

R2OUT9

T1OUT14

R1IN13

T2OUT7

R2IN8

C2+

4

C2-

5

C1+

1

C1-

3

VS+2

VS-6

U2

MAX232

C1

1u

C2

1u

C3

1uC4

1u

162738495

J1

CONN-D9F

C5

15p

C6

15p

X1

12345678

J7

CONN-SIL8

12345

J6+5V

R1

10K

C7

0.1u

123456

J4

123

J5

+5V

12345

J2

CONN-SIL5

Page 40: Realisation d’un robot mobile commande par PC

40

ΙΙΙ.2.2.Circuit de puissance :

Pour notre projet on a utilisé les circuits intégrés L298 et L297 qui sont des composants les plus

utilisés pour la commande des moteurs pas à pas. Ils permettent en effet de commander n’importe quel

type de moteur qu’il soit unipolaire ou bipolaire.

La figure ΙΙΙ.2.2.1 représente la carte de puissance réalisée :

Figure. ΙΙΙ.16 : La carte de puissance

IN15

IN27

ENA6

OUT12

OUT23

ENB11

OUT313

OUT414

IN310

IN412

SENSA1

SENSB15

GND

8

VS

4

VCC

9 U1

L298

HALF/FULL19

CW/CCW17

CLOCK18

HOME3

RESET20

A4

B6

C7

D9

INH15

INH28

ENABLE10

SYNC1

CONTROL11

OSC16

VREF15

SENS114

SENS213

VCC

12

GND

2

U2

L297

HALF/FULL19

CW/CCW17

CLOCK18

HOME3

RESET20

A4

B6

C7

D9

INH15

INH28

ENABLE10

SYNC1

CONTROL11

OSC16

VREF15

SENS114

SENS213

VCC

12

GND

2

U3

L297

IN15

IN27

ENA6

OUT12

OUT23

ENB11

OUT313

OUT414

IN310

IN412

SENSA1

SENSB15

GND

8

VS

4

VCC

9 U4

L298

D1 D2 D3 D4

D5 D6 D7 D8

1234

J1

CONN-SIL4

D9 D10 D11 D12

D13 D14 D15 D16

1234

J2

CONN-SIL4

123

J3

CONN-SIL3

R1R2

R3R4

R5

C110p

R6

C2

12345

J4

CONN-SIL5

12345

J5

CONN-SIL5

123

J6

CONN-SIL3

+12V+5VGND

+12V+5VGND

RC2RB7RB6RB4RB5

RC1RB3RB2RB0RB1

R7

Page 41: Realisation d’un robot mobile commande par PC

41

Les valeurs des composants :R4=R3=R1=R2=1Ω. R5=R6=240KΩ. R7= 47KΩ. Rv =10KΩ (Résistance variable). C1=C2=10nF.J1, J2 connecteurs vers les moteurs.J3, J5 connecteurs d’alimentation.J4, J5 Les entrées du L297.2 circuits L298.2 circuits L297.

ΙΙΙ.2.2.1.Circuit L297 : Le circuit L297 est un contrôleur de moteur pas à pas, il fonctionne avec un

circuit de puissance à double pont. Il lui suffit de lui fournir les signaux d’horloge (CLOCK : pour

avance des pas), de direction et de mode afin de piloter le moteur pas-à-pas. Le L297 génère alors la

séquence de commande de l’étage de puissance. [10]

Figure. ΙΙΙ.17: Structure interne du circuit L297.

Le circuit L297 possède deux étages principaux :

Un translateur (séquenceur) qui génère les différentes séquences de commande.

Un double hacheur PWM (Pulse With Modulation) qui régule le courant traversant les bobinages

du moteur.

Le translateur génère trois séquences différentes. Ces différentes séquences sont déterminées par le

niveau logique appliqué sur l’entrée HALF/FULL :

La commande en mode monophasé : une seule phase alimentée.

La commande en mode biphasé : Deux phases alimentées.

La commande en demi-pas : Alternativement une phase puis deux phases alimentées.

Traslateur Sortie logique

Q S

R

Q

R

S

+

-

+

-

Oscillateur

D

C

Q

Vs A INH1 B C INH2 D

Enable

Control

Sync

OscSens2Sens1 Vref

HALF/FULL

RESET

DirectionCW/CW

CLOCK

GND

HOME

U1NAND

Page 42: Realisation d’un robot mobile commande par PC

42

Le L297 génère deux signaux d’inhibition (INH1 et INH2) dans les modes monophasées et demi pas.

Ces signaux qui sont appliqués directement aux entrées de validation du L298, permettent d’accélérer

la décroissance du courant dans les bobinages du moteur lorsque ceux-ci ne sont plus alimentés.

Lorsque le L297 est utilisées pour la commande d’un moteur unipolaire, les hacheurs agissent sur ces

lignes.

Une entrée «CONTROL » détermine le moment ou le hacheur devra agir sur les sorties A, B, C, D ou

les entrées INH1 et INH2.

Le L297 contient un oscillateur interne qui commande les hacheurs. Lorsque le courant traversant l’un

des bobinages du moteur atteint la tension qui est fixée par les résistances connectée aux entrées

SENS1 SENS2, le comparateur correspondant interrompt l’alimentation du moteur jusqu’à la

prochaine impulsion de l’oscillateur.

ΙΙΙ.2.2.2.Circuit L298 :

Le circuit intégré L298 est le circuit complémentaire du L297. Il permet la simplification extrême de la

construction d’une carte de commande pour moteur pas-à-pas.

Le circuit L298 est un double pont de commande de puissance, il permet l’utilisation d’une tension

d’alimentation élevée. Il peu être utilisé aussi pour la commande de deux moteurs à courant continu.

Le schéma interne du L298 contient deux ponts de 4 transistors de puissances commandées par les

portes logiques, ainsi que la connexion des résistances de mesure du courant consommée par la charge

reliée aux émetteurs de chaque paire de transistors. [10]

Figure. ΙΙΙ.18: Structure interne du circuit L298

Page 43: Realisation d’un robot mobile commande par PC

43

ΙΙΙ.2.3.La carte d’alimentation :

Cette carte permet d’alimenter toutes les interfaces à partir de la tension de la batterie :Le schéma du circuit que nous avons réalisé :

Figure. ΙΙΙ.19: La carte d’alimentation

Cette alimentation contient : R1=R2=0.22 Ω. R3=R2=3 Ω. C1=C2=2200µF. C3=C4=C5=C6=C7=C8=22µF. Q1 et Q2 sont deux transistors de type BD244. 3 régulateurs de type 7805. 1 régulateurs de type 7812.

Notre alimentation peut fournir : 2 tensions de 5V courant faible U3 et U4 dépasse pas 500 mA. 1 tension de 5V courant élevé U2 jusqu’à 4A. 1 tension de 12V courant élevé U1 jusqu’à 4A.

Pour générer les tensions U1 et U2 avec un courant élevé nous avons utilisé les régulateurs 7812 et7805 équipés de transistors BD244. Les deux transistors BD244 sont montés d’une manière permettentà amplifier le courant. Ces derniers nous permettent d’atteindre un courant de 4A.Si le courant consommé à travers R2 et R4 dépasse 0.3A la tension de la base de Q1 ou Q2 atteint0.6V ce qu’il entraîne la commutation du ballaste (il devient passant).La sortie U3 de 5 v avec un courant faible est utilisée pour l’alimentation de la carte de commande, lePIC et le MAX232La sortie U3 de 5 v avec un courant élevé est utilisée pour l’alimentation de la carte de puissance, leL298 et le L297.

Q1BD244

VI1

VO3

GN

D2

U17812

C12200u

R1

0.22

R2

3

Q2BD244

C22200u

R3

0.22

R4

3VI

1VO

3

GN

D2

U27805

C322u

C422u

VI1

VO3

GN

D2

U37805

C522u

C622u

123

J1

CONN-SIL3

12

J2

TBLOCK-M2

VI1

VO3

GN

D2

U47805

C722u

C822u

12

J3

TBLOCK-M2

12

J4

TBLOCK-M2

U1

U2

U3

U4

Page 44: Realisation d’un robot mobile commande par PC

44

ΙΙΙ.2.4.Le brochage entre les différents composants:Les deux tableaux ci-dessous présentent les connexions utilisées pour notre application :

Tableau .III.2 : Brochage entre Tableau .III.3 : Brochage entre le L297 et le L298Le PIC et le L297

ΙΙΙ.2.5.Conclusion :

Dans ce chapitre nous avons présenté la partie matérielle qui réalise notre robot. Cette partie

matérielle est constitué en deux étapes :

La première consiste à construire une structure mécanique qui composé d’une plate forme, les roues, et

les moteurs pas à pas.

Pour la deuxième partie nous avons réalisé la carte de commande pour commander notre robot.

PIC16F877 L297

RB0 CW/CCW

RB1 CLOCK

RB2 HALF/FULL

RB3 RESET

RC1 ENABLE

RB4 CW/CCW

RB5 CLOCK

RB6 HALF/FULL

RB7 RESET

RC2 ENABLE

L297 L298 Moteur

A Input1

Moteur 1

B Input 2C Input3D Input4INH1 Enable 1INH2 Enable2Sens1 Current

sensing ASens2 Current

sensing B

A Input1

Moteur 2

B Input 2C Input3D Input4INH1 Enable 1INH2 Enable2Sens1 Current sensing

ASens2 Current

sensing B

Page 45: Realisation d’un robot mobile commande par PC

45

Page 46: Realisation d’un robot mobile commande par PC

46

Dans le chapitre précédent nous avons décrit toutes les étapes concernant la réalisation de la basemobile .Dans le chapitre présent nous présentons la partie logicielle réalisée dans notre travail.

Partie logiciel :

IV.1.La programmation du microcontrôleur PIC 16F877 :

IV.1.1.Le compilateur MIKRO C :

La programmation des microcontrôleurs PICs peut se faire par plusieurs langages informatiques telsque l’assembleur et le langage C qui sont les plus répondus dans les applications à base des PICs.

Dans notre projet nous avons opté pour le compilateur de MIKRO C qui est un compilateur en langageC (langage évolué) et qui permet d’intégrer certaines routines en assembleur. Ceci nous permet ainsid’écrire les routines d’interruptions en assembleur afin de garantir un temps de traitement rapide quinous garanti une commande en temps réel du robot.

Figure. IV.1: mikroC.

IV.1.2.Le logiciel de programmation du PIC –WINPIC :

WINPIC est un logiciel qui permet de transférer les programmes convertis en code hexadécimal vers lamémoire flash du microcontrôleur via le programmateur.

Page 47: Realisation d’un robot mobile commande par PC

47

Figure. IV. 2: Win Pic.

IV.1.3.L’éditeur de schéma PROTEUS :

Proteus est une suite de deux logiciels, Isis et Ares, Isis permet le dessin des schémas électroniques, la

simulation en temps réel de façon dynamique et Ares permet de transformer les schémas en PCB

(Tracé du circuit imprimé).

Proteus est un outil convivial facile à prendre en main. Il reconnaît et simule beaucoup de composants

ainsi que de nombreux afficheurs, moteurs,…

Figure. IV. 3: Le schéma de simulation de notre programme final.

RA0/AN02

RA1/AN13

RA2/AN2/VREF-4

RA4/T0CKI6

RA5/AN4/SS7

RE0/AN5/RD8

RE1/AN6/WR9

RE2/AN7/CS10

OSC1/CLKIN13

OSC2/CLKOUT14

RC1/T1OSI/CCP216

RC2/CCP117

RC3/SCK/SCL18

RD0/PSP019

RD1/PSP120

RB7/PGD40

RB6/PGC39

RB538

RB437

RB3/PGM36

RB235

RB134

RB0/INT33

RD7/PSP730

RD6/PSP629

RD5/PSP528

RD4/PSP427

RD3/PSP322

RD2/PSP221

RC7/RX/DT26

RC6/TX/CK25

RC5/SDO24

RC4/SDI/SDA23

RA3/AN3/VREF+5

RC0/T1OSO/T1CKI15

MCLR/Vpp/THV1

U1

PIC16F877

C1

15p

C2

15p

+5V

R210k

C30.1u

ERROR

TXD3

RXD2

CTS8

RTS7

DSR6

DTR4

DCD1

RI9

P1

COMPIM

A

B

C

D

IN15

IN27

ENA6

OUT12

OUT23

ENB11

OUT313

OUT414

IN310

IN412

SENSA1

SENSB15

GND

8

VS

4

VCC

9 U2

L298

+88.8

HALF/FULL19

CW/CCW17

CLOCK18

HOME3

RESET20

A4

B6

C7

D9

INH15

INH28

ENABLE10

SYNC1

CONTROL11

OSC16

VREF15

SENS114

SENS213

VCC

12

GND

2

U3

L297

+12V+5V

+12V

HALF/FULL19

CW/CCW17

CLOCK18

HOME3

RESET20

A4

B6

C7

D9

INH15

INH28

ENABLE10

SYNC1

CONTROL11

OSC16

VREF15

SENS114

SENS213

VCC

12

GND

2

U4

L297

IN15

IN27

ENA6

OUT12

OUT23

ENB11

OUT313

OUT414

IN310

IN412

SENSA1

SENSB15

GND

8

VS

4

VCC

9 U5

L298

+12V+5V

+88.8

+12V

Page 48: Realisation d’un robot mobile commande par PC

48

IV.1.4.Le programme du robot :

Le programme que nous avons implémenté dans notre robot se divise en deux parties :

Un programme principal qui permet l’initialisation des entrées sorties du micro

contrôleur et des variables utilisées dans le programme.

Un sous programme de traitement des interruptions qui permet de gérer les interruptions

de l’USART et du Timer1 utilisées dans notre programme.

IV.1.4.1.Le programme principale :

On peut présenter notre programme principal par l’organigramme suivant :

Figure. IV. 4: L’organigramme du programme principal.

Pour minimiser le temps de transmission et de traitement on a choisi d’utiliser 16 valeurs de vitessespossibles pour le robot. Ceci nous permet ainsi de réduire l’information de la vitesse transmise du PCvers le robot de 16 bits à seulement 4 bits qui indiquent l’indice de la vitesse choisie.

IV.1.4.2.Le sous programme de traitement des interruptions :

Ce programme va traiter deux interruptions :

L’interruption provoquée par l’USART pour gérer la communication entre le robot et le PC.

C’est l’interruption la plus prioritaire.

L’interruption provoquée par TMR1 pour gérer la commande des deux moteurs.

On peut représenter le déroulement de ce programme par l’organigramme suivant :

Configuration des Ports E/S

Configuration USART

Configuration Timer1

Valider les interruptions

Charger les vitesses

Programme principale

Page 49: Realisation d’un robot mobile commande par PC

49

Figure. IV. 5: L’organigramme de sous programme de traitement des interruptions.

IV.1.4.2.1.Traitement d’interruption provoquée par l’USART :

Afin d’optimiser la communication entre le PC et le robot on a essayé de réduire au maximum leprotocole de communication utilisée en utilisant généralement 1 octet pour représenter une donnée.La trame envoyée du pc au robot peut être classée en 2 types de commande :-Trame indique une vitesse-Trame indique une commande que le robot doit exécuter.

Un octetreçue

OUINON

Débordementdu Timer1

L’interruption provoquée parl’USART

L’interruption provoquer parTimer1

OUI

Retour vers le programmeprincipal (main)

NON

Interruption

Traitement d’interruption

Fin de traitementd’interruption

Traitementd’interruption

Fin de traitementd’interruption

B0B1B2B3B4B5B6B7cmd_recu :

Page 50: Realisation d’un robot mobile commande par PC

50

Figure. IV. 6: L’organigramme de sous programme de traitement d’interruption provoqué parl’USART

Le teste du 8éme bit de l’octet reçue permet le choix entre la vitesse et la commande c’est-à-dire :

Si B7=1 La donnée est une vitesse.

Sinon B7=0 La donnée est une commande.

IV.1.4.2.2.Le cas ou la donnée reçue est une commande :

Pour commander notre robot on a choisi deux modes de commandes :

-Mode console de commande : Consiste à commander directement le déplacement du robot via le PC.

-Mode de commande par trajectoire : Consiste à envoyer au robot les paramètres d’une trajectoire

rectiligne, le robot doit reproduire exactement la trajectoire.

Le choix du mode de la commande utilisée est indiqué dans le 7 éme bit (B6) de la commande envoyée

par PC au robot.

OUINON

cmd_recu= Donnée reçu

cmd_recue.F7=0

La donnée reçueest une

Commande

La donnée reçueest unevitesse

Remettre le drapeau à « 0 »PIR1.RCIF=0

L’interruption provoquée parl’USART

Page 51: Realisation d’un robot mobile commande par PC

51

B7 B6 B5 B4 B3 B2 B1 B0

L’organigramme suivant représente le programme de détermination du mode de la commande choisie.

Figure. IV. 7: L’organigramme pour déterminer le mode de la commande choisie

On présente dans ce qui suit les programmes des deux modes de fonctionnement utilisés dans notrerobot.

IV.1.4.2.2.1 Mode console de commande:

Mode console de commande consiste à envoyer d’abord la vitesse de chaque moteur au robot puis onenvoi la commande de mise en marche.Dans la commande de mise en marche on peut soit commander les deux moteurs en même temps soitcommander uniquement un seul moteur.

Les différentes commandes de mise en marche sont déterminées comme suit :

cmd_recu = 00000001Arrêt totale (Arrêter les deux moteurs).

cmd_recu = 00000010Marche (Démarrer les deux moteurs).

cmd_recu = 00000100Marche 1 (Démarrer le moteur1 et arrêter le moteur2).

cmd_recu = 00001000Marche 2 (Démarrer le moteur2 et arrêter le moteur1).

Pour la détermination du mode de fonctionnement nous avons appliqué l’organigramme suivant :

OUINON

Donnée reçue est une commande

B6=0

Mode console decommande

Mode de commande partrajectoire

cmd_recu

Page 52: Realisation d’un robot mobile commande par PC

52

Figure. IV. 8: L’organigramme du mode console de commande

IV.1.4.2.2.2.Détermination de la vitesse :

Dans ce cas on va déterminer le sens de rotation et la mise en marche de chaque moteur et aussi la

vitesse :

B7 B6 B5 B4 B3 B2 B1 B0

B6 : Choix du moteur.

B5 : Marche/Arrêt.

B4 : Sens de rotation du moteur.

B3-B2-B1-B0 : Vitesse.

OUI

Mode console de commande

cmd_recu=1

Arrêt total

NON

cmd_recu=2OUI

Marche totale

cmd_recu=4OUI

Marche 1

cmd_recu=8

Marche 2

NON

NON

OUINON

Arrêt total

cmd_moteur=1Arrêter les 2Moteurs,désactivé TMR1

cmd_moteur=2Démarrer les 2Moteurs, activéTMR1

cmd_moteur=4Arrêtermoteurs2,Démarrermoteur1,désactivé TMR1

cmd_moteur=4Arrêtermoteurs1,Démarrermoteur2,désactivé TMR1

cmd_moteur=1Arrêter les 2Moteurs,désactivé TMR1

Fin_interr

cmd_recu

Page 53: Realisation d’un robot mobile commande par PC

53

Pour notre programme nous avons appliqué l’organigramme suivant :

Figure.IV. 9: L’organigramme pour la détermination de la vitesse.

OUI

OUINON

OUI

Sens2 du moteur2

Portc.F2=1Activation

du moteur2

B5=0

Moteur 2

Vitesse

Portc.F2=0

L’arrêt dumoteur2

B4=1

Chargement duTimer1

Determination de la vitesse dumoteur2

Chargement du Timer1

Determination de la vitesse dumoteur1

Sens1 dumoteur1

OUI

Portc.F1=0

L’arrêt dumoteur1

B5=0

B4=1

NON

OUI

Sens2 dumoteur1

NON

NON

Moteur 1

B6=1

NON

Fin_vitesse

Portc.F1=1Activation du

moteur1

Sens1 du moteur2

Page 54: Realisation d’un robot mobile commande par PC

54

IV.1.4.2.2.3.Gestion de l’interruption déclenchée par le Timer1 :

Le timer1 est attribué aux 2 moteurs. A chaque interruption on détermine le moteur qui sera attribué au

timer1.

L’organigramme suivant présente l’algorithme utilisé pour la détermination la valeur qui sera chargée

dans le timer1.

Figure. IV. 10: L’organigramme de gestion de l’interruption déclenchée par le Timer1 dans lemode console de commande.

m=3

Changement d’étatde RB1et RB5

Chargement t1Chargement t2

t1 < t2

t2=t2-t1

OUINON

Chargement deTMR1 avec t1

m=1

t2 < t1

t1=t1-t2

OUI

Chargement deTMR1 avec t2

m=2

NON

Chargement deTMR1 avec t1

m=3

retour_interr

Page 55: Realisation d’un robot mobile commande par PC

55

IV.1.4.2.1.2.2. Mode de commande par trajectoire :

Mode de commande par trajectoire consiste à envoyer la même 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) .

L’organigramme suivant présente l’algorithme utilisé pour le chargement de la vitesse le compteur

Figure.IV. 11: L’organigramme du mode de commande par trajectoire

A la réception de la vitesse transmise par le PC, la variable compt_flag ayant été initialisée par 0 sera

mise à 1.Après la réception du poids faible du compteur la variable compt_flag sera mise à 2.

Après la réception du poids fort du compteur la variable compt_flag sera remettre à 0.

Retour_interr

retour_interr

OUI

Compt_flag++

retour_interr

compt_flag=2

NON

OUI

Comp_H=cmd_recu

Compt_flag=0

retour_interr

NON

cmd_recu.F7=1

OUI

Vitesse=cmd & 0x0FPORTC.F1=cmd_recu.F4PORTC.F2=cmd_recu.F5

Compt_flag=1

NON

Mode de commande partrajectoire

compt_flag=1

Comp_L=cmd_recu

Page 56: Realisation d’un robot mobile commande par PC

56

IV.1.4.2.1.2.Gestion de l’interruption déclenchée par le Timer1 :

Un compteur de 16bits est utilisé pour exécuter le nombre de pas transmis par le PC. A chaqueinterruption ce compteur est décrémenté. Lorsque le compteur atteint la valeur ‘0’ le robot s’arrête etenvoie le caractère’0’ au PC.

Figure. IV. 12: L’organigramme Gestion de l’interruption déclenchée par le Timer1dans le mode de commande par trajectoire.

Retour_interr

Compt=Compt-1

OUICompt=0

NON

Transmettre ‘0’ auPC

Arrêt totale

Inverser la pin 5 et 1du portb

Chargement duTIMER1

Page 57: Realisation d’un robot mobile commande par PC

57

IV.1.5.L’interface :

Pour faciliter la commande de notre robot nous avons réalisé une interface avec le logiciel BorlandC++ Builder qui est un environnement de programmation visuel.

Figure IV.13: Borland C++ BuilderFigure. IV.13: Borland C++ Builder.

Nous avons réalisé 3 interfaces :

IV.1.5.1.L’interface principale :

Cette interface nous permet de choisir le mode de commande soit console de commande ou commandetrajectoire.

Figure IV.14: L’interface principale

Basculer versConsole decommande

Basculer verscommandetrajectoire

Quittertoute

l’application

Page 58: Realisation d’un robot mobile commande par PC

58

IV.1.5.1.1.Console de commande :

La figure ci dessus représente l’interface de console de commande

Figure IV.15: L’interface de console de commande

Fermer cettefenêtre et arrêterle robot

Ouvrir et fermer le

port série COM1

Arrêter le robot

Afficher lavitesse

Panneau pourvarier lavitesse

Fermer cettefenêtre et arrêterle robot

Ouvrir et fermer le

port série COM1

Arrêter le robot

Afficher lavitesse

Panneau pourvarier lavitesse

Page 59: Realisation d’un robot mobile commande par PC

59

IV.1.5.1.2.Commande trajectoire :

Figure IV.16 : Interface de commande trajectoire

L’organigramme suivant explique le fonctionnement de cette interface :

Figure IV.17 : L’organigramme de commande

OUINON

Angle>0

Sens1Activer le moteur1

Lecture de l’angle

Angle=Pos_a -Pos_p

Sens2Activer le moteur2

Pos_p=Pos_a

Varier l’angle derotation

Panneaupour varierla vitesse

Ouvrir et fermer leport série COM1

La distanceParcourue

Arrêter les deuxmoteurs

Activer lesdeux

Commande partrajectoire

Page 60: Realisation d’un robot mobile commande par PC

Le principe consiste à envoyer au robot les coordonnées de la trajectoire à effectuer.Ces coordonnées représentent le sens de rotation des deux moteurs et le nombre de paschaque partie de la trajectoire.

1-La trajectoire est une ligne droite

Dans nos moteurs chaque pas correspond à 7.5°,pas provoque un déplacement de ‘L’avecL = 2**r /48 = 0.4906 cmPour déterminer le nombre de pas afin que le robot parcourue une distance X

N=X / 0.4906

2-La trajectoire est une rotation:

Dans cette étude on cherche le nombre de pas pour un angle de rotation du robot.Les moteurs que nous avons utilisésLe rayon de la roue r=3.75 cm donc le déplacement ‘a’ de la roue est obtenue par la relation suivantea= 0.13*r

a=0.49cm => chaque pasNous avons le rayon de notre châssis R=12.5 cm.La variable ‘ß’ est l’angle 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°La formule générale pour obtenu le nombre de pas pour que le robot faire un angle, est la suivante

N= Ω /2.25N : Nombre de pasΩ :L’angle de rotation du robot en degré

Figure

60

cipe consiste à envoyer au robot les coordonnées de la trajectoire à effectuer.Ces coordonnées représentent le sens de rotation des deux moteurs et le nombre de pas

La trajectoire est une ligne droite :

Dans nos moteurs chaque pas correspond à 7.5°, et avec un rayon de la roue r =3.75cm, donc chaquepas provoque un déplacement de ‘L’avec :

Pour déterminer le nombre de pas afin que le robot parcourue une distance X :

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

Figure IV.18: Trajectoire droite

La trajectoire est une rotation:

étude on cherche le nombre de pas pour un angle de rotation du robot.que nous avons utilisés font 7.5° (0.13 rad) par pas (moteur 48pas).

Le rayon de la roue r=3.75 cm donc le déplacement ‘a’ de la roue est obtenue par la relation suivante

chaque pas, la roue se déplace par 0.49cm.Nous avons le rayon de notre châssis R=12.5 cm.

est l’angle de rotation du robot, donc := 2.25°

rne avec un angle de 2.25°La formule générale pour obtenu le nombre de pas pour que le robot faire un angle, est la suivante

Ω /2.25° ------2

:L’angle de rotation du robot en degré

Figure IV.19: Trajectoire est une dérivation

cipe consiste à envoyer au robot les coordonnées de la trajectoire à effectuer.Ces coordonnées représentent le sens de rotation des deux moteurs et le nombre de pas à effectuer pour

et avec un rayon de la roue r =3.75cm, donc chaque

:

étude on cherche le nombre de pas pour un angle de rotation du robot.font 7.5° (0.13 rad) par pas (moteur 48pas).

Le rayon de la roue r=3.75 cm donc le déplacement ‘a’ de la roue est obtenue par la relation suivante :

La formule générale pour obtenu le nombre de pas pour que le robot faire un angle, est la suivante :

Page 61: Realisation d’un robot mobile commande par PC

61

3-Exemple d’une trajectoire :

A-B=L= 1mB-C=0.5mC-D=0.5mΩ=30°ß=100°

Figure IV.20: Exemple d’une 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 d’une 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 s’arrêt et attend la nouvelle commande.

Le robot tourne avec un angle de 30° dans le sens négatif :

N= Ω /2.25°=30°/2.25°N=13 pasLe robot fait 13 pas et il s’arrêt jusqu'à la nouvelle commande.

Pour B-C :

N=50 /0.4906=102 pasAu point C le robot s’arrêt 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 pasLe robot fait 44 pas et il s’arrêt et attend la nouvelle commande.

Pour C-D :

N=50/0.4906=102 pasAu point D le robot s’arrêt.

A B

C

ß

Page 62: Realisation d’un robot mobile commande par PC

62

L’appel de ce fichier texte permet au robot de faire cette trajectoire ;

//Trajectoire A-->BVaComm1->WriteChar (vitesse1+64);VaComm1->WriteChar (0xCC);VaComm1->WriteChar (0x00);VaComm1->WriteChar (0x02);//Angle Ω VaComm1->WriteChar (vitesse1+64+32);

VaComm1->WriteChar (0x0D);VaComm1->WriteChar (0x00);VaComm1->WriteChar (0x02);

//Trajectoire B-->CVaComm1->WriteChar (vitesse1+64);VaComm1->WriteChar (0x66);VaComm1->WriteChar (0x00);VaComm1->WriteChar (0x02);//Angle ßVaComm1->WriteChar (vitesse1+64+16);VaComm1->WriteChar (0x2C);VaComm1->WriteChar (0x00);VaComm1->WriteChar (0x02);

//Trajectoire C-->DVaComm1->WriteChar (vitesse1+64);VaComm1->WriteChar (0x66);VaComm1->WriteChar (0x00);VaComm1->WriteChar (0x02);

IV.6 .Conclusion:

Dans ce chapitre nous avons présenté les différents algorithmes du programme implémenté dans le

PIC du robot, et nous avons aussi présenté les différents modes de commande du robot ainsi l’interface

qui facilitent la commande du robot.

Page 63: Realisation d’un robot mobile commande par PC

63

Conclusion Générale

Notre projet de fin d’étude consiste à réaliser un robot mobile commandé par PC.

Pratiquement nous avons consacré notre temps aux taches suivantes :

Aspect mécanique :

- Etude de la robotique mobile du point de vue réalisations

- Choix de la forme, des dimensions et de la matière de la base ainsi que du type

de moteurs à utiliser.

Aspect électronique :

La réalisation 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 utilisés et

pour l’exécution des commandes transmises par le PC.

- Réalisation d’une 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 :

-D’ajouter des capteurs.

-Remplacer les moteurs par des moteurs plus puissants.

-L’implantation de stratégies de navigation élaborées sur le robot mobile.

-Le remplacement des cartes de commande par des cartes plus fiables.

-Choisir une batterie légère.

Page 64: Realisation d’un robot mobile commande par PC

64

ANNEXE

1. Circuit imprimé de la carte d’alimentation :

Carte d’alimentation Carte d’alimentation(Cote composante) (Cote cuivre)

2. Circuit imprimé de la carte d’interface de puissance :

La Carte d’interface de puissance (cote composant)

Page 65: Realisation d’un robot mobile commande par PC

65

La Carte d’interface de puissance (cote cuivre)

3. Circuit imprimé de la carte de commande:

La carte de commande la carte de commande(Cote cuivre) (Cote composant)

Page 66: Realisation d’un robot mobile commande par PC

66

Page 67: Realisation d’un robot mobile commande par PC

67

Page 68: Realisation d’un robot mobile commande par PC

68

Page 69: Realisation d’un robot mobile commande par PC

69

Page 70: Realisation d’un robot mobile commande par PC

70

Références bibliographiques

[1] : Datasheet du microcontrôleur 16F87X-Microchip

[2] : Bigonoff « SECONDE PARTIE LA GAMME MID-RANGE PAR L’ETUDE DES16F87X » (16F876-16F877)

[3] : Robots Mobiles Programmables (Technique avancées) de Frédéric Giamarchi

[4] : Boudera Ismail, Dahmane Ahmed : Conception&Réalisation d’un Robot MobileDeuxième version (PFE électronique 2005-2006)

[5]: Benahmed Boumediene El Ouassini, Mazari sidi Mohamed El –Khalil: Conception etRéalisation d’un robot mobile autonome (MB.01) (PFE électronique 2004-2005)

[6] : Djoub Ahmed Belkacem, Belalem Amel : La commande optimal des MCC : étude etConception de la carte de commande. (PFE Automatique 2006-2007)

[7] : Mohamed Anzar, Rouabah Mohamed : Réalisation d’un automate programmableAutonome (PFE Electronique industriel 2006-2007, Institut .N .S.F.P ES-SINIA).

[8] : Article de Wikipédia, l’encyclopédie libre.

[9] : Apprendre la programmation des PIC.

[10] : Moteur pas à pas et PC deuxième édition de PATRIQUE OGUIC.

[11] : Fellouh Sofiane, Allouani Cherif : Conception et réalisation d’une plate forme légèreMobile commandé par PC (PFE Electronique 2003-2004).

[12] : Terrah Mohamed Amine, Hadjouni Mohamed : Réalisation d’une plate forme mobileCommandé par PC(deuxième Parie) (PFE Electronique 2004-2005).

[13] : Yahiaoui kamel, Kenniche Mohamed : Réalisation d’un robot mobile Phase 3

[14] : Benkablia Ameur, Boulerial Mohamed : Commande numérique d’une table traçante (PFE 2007)

SITES INTERNET

1 : htt://www.bigonoff.com

2 : htt://www.microchip.com

3 : htt://www.lextronic.com